<?xml version="1.0" encoding="windows-1251"?>
<registry>
  <common_info>
    <file>Сборка.Библиотеки.xml</file>
    <file>Сборка.АвтоисполняемыеМакросы.xml</file>
    <file>Сборка.Генерация.xml</file>
    <file>СборкаНастроекГенерации.xml</file>
    <file>Сборка.ГиперДокументы.xml</file>
    <file>ДиагностикаСистемы.xml</file>
    <file>Сборка.Импорт.xml</file>
    <file>Сборка.СписокСохраняемыхОграничений.xml</file>
    <file>Сборка.Картинки.xml</file>
    <file>Сборка.НастройкиОграничений.xml</file>
    <file>Расходные пп.xml</file>
    <file>Утверждение ОФ.xml</file>
    <file>Распределение ОФ.xml</file>
    <file>Кредиты.xml</file>
    <file>Ссуды.xml</file>
    <file>Выписка по доходам.xml</file>
    <file>Невыясненные поступления.xml</file>
    <file>Гарантии.xml</file>
    <file>КурсоваяРазница.xml</file>
    <file>Расходные расписания.xml</file>
    <file>Обратная ЭЦП.xml</file>
    <file>УточнениеВидаПлатежа_новое.xml</file>
    <file>Администратор окружения интерфейсов.xml</file>
    <file>Справочник фильтров.xml</file>
    <file>Графический редактор схем документооборота.xml</file>
    <file>Блокировки документов.xml</file>
    <file>Генераторы.xml</file>
    <file>Редактор классификаторов.xml</file>
    <file>СборкаОбщиеМакросыИнтерфейсов.xml</file>
    <file>Сборка(02)Плановые документы_Контроль.xml</file>
    <file>Сборка(03)Казначейство_Контроль.xml</file>
    <file>Сборка(09)Доходы_Контроль.xml</file>
    <file>Сборка(17)Заявки_Контроль.xml</file>
    <file>Сборка(55)Уведомления_Контроль.xml</file>
    <file>Сборка(99)Системные_Контроль.xml</file>
    <file>Сборка.Контроль.Стандартные.xml</file>
    <file>Сборка.Контроль.События.xml</file>
    <file>Области форматирования. Базовые настройки.xml</file>
    <file>Сборка(01)Своды.xml</file>
    <file>Сборка(02)ПланРасходов.xml</file>
    <file>Сборка(03)Казначейство.xml</file>
    <file>Сборка(04)Кредиты.xml</file>
    <file>Сборка(05)Ссуды.xml</file>
    <file>Сборка(07)Финансирование.xml</file>
    <file>Сборка(08)Лимиты.xml</file>
    <file>Сборка(09)Доходы.xml</file>
    <file>Сборка(12)Бухгалтерия.xml</file>
    <file>Сборка(13)Заимствования.xml</file>
    <file>Сборка(14)Инкассовые.xml</file>
    <file>Сборка(15)ОперативныеДанные.xml</file>
    <file>Сборка(16)БюджетныеОбязательства.xml</file>
    <file>Сборка(17)Заявки.xml</file>
    <file>Сборка(19)ПланЗаимствований.xml</file>
    <file>Сборка(21)Векселя.xml</file>
    <file>Сборка(26)СвободныеПроводки.xml</file>
    <file>Сборка(27)ОргСправочно.xml</file>
    <file>Сборка(28)ОперацииСоСчетами.xml</file>
    <file>Сборка(31)Гарантии.xml</file>
    <file>Сборка(35)СетиИШтаты.xml</file>
    <file>Сборка(39)Делопроизводство.xml</file>
    <file>Сборка(44)СводныеУведомления.xml</file>
    <file>Сборка(49)ПакетыДокументовОбмена.xml</file>
    <file>Сборка(55)Уведомления.xml</file>
    <file>Сборка(99)Системные.xml</file>
    <file>Сборка.ВерсияДляОтчетов.xml</file>
    <file>Отчеты. Обмен с АС Смета.xml</file>
    <file>Отчеты.Расширения.xml</file>
    <file>Сборка.СистемныеДляОтчетов.xml</file>
    <file>СобытияДляОтчетов.xml</file>
    <file>Сборка.СтандартныеДляОтчетов.xml</file>
    <file>Сборка(01)Своды.xml</file>
    <file>Сборка(01).Ресурсы.Своды.xml</file>
    <file>Сборка(01).ЭЦП.Своды.xml</file>
    <file>Сборка(02)План расходов.xml</file>
    <file>Сборка(03)Казначейство.xml</file>
    <file>Сборка(03).НастройкиОбластей.Казначейство.xml</file>
    <file>Сборка(04)Кредиты.xml</file>
    <file>Сборка(05)Ссуды.xml</file>
    <file>Сборка(07)Финансирование.xml</file>
    <file>Сборка(07).НастройкиОбластей.Финансирование.xml</file>
    <file>Сборка(09)Доходы.xml</file>
    <file>Сборка(19)План заимствований.xml</file>
    <file>Сборка(22)План доходов.xml</file>
    <file>Сборка(26)Свободные проводки.xml</file>
    <file>Сборка(28)Операции со счетами.xml</file>
    <file>Сборка(31)Гарантии.xml</file>
    <file>Сборка(39)Делопроизводство.xml</file>
    <file>Сборка(44)Сводные уведомления.xml</file>
    <file>Сборка(55)Уведомления.xml</file>
    <file>Сборка(55.01).НастройкиОбластей.Уведомления.xml</file>
    <file>Сборка(99)Системные.xml</file>
    <file>Сборка.СистемныеДляДокументов.xml</file>
    <file>Сборка.СистемныеДляРесурсов.xml</file>
    <file>Сборка(01)Своды.xml</file>
    <file>Сборка(02)ПланРасходов.xml</file>
    <file>Сборка(03)Казначейство.xml</file>
    <file>Сборка(07)Финансирование.xml</file>
    <file>Сборка(03)Казначейство.xml</file>
    <file>Сборка(08)Лимиты.xml</file>
    <file>Сборка(09)Доходы.xml</file>
    <file>Сборка(17)Заявки.xml</file>
    <file>Сборка(36)Консолидация.xml</file>
    <file>Сборка(17)Сводные уведомления.xml</file>
    <file>Сборка(49)Пакеты документов обмена.xml</file>
    <file>Сборка(50)Разрешения.xml</file>
    <file>Сборка(55)Уведомления.xml</file>
    <file>Сборка(99)Системные.xml</file>
    <file>Сборка.Состояния.xml</file>
    <file>Сборка.МакросыНаДействие.xml</file>
    <file>Сборка.МакросыНаПереход.xml</file>
    <file>Сборка.МакросыПроверокИФильтров.xml</file>
    <file>Сборка.Состояния_управление.xml</file>
    <file>сохранение.xml</file>
    <file>Сборка.Сценарии.xml</file>
    <file>Сборка.СценарииКонфигурации_и_состав.xml</file>
    <file>Сборка.МакросыПодключенияСценариев.xml</file>
    <file>Сборка.СценарииРаскладки.xml</file>
    <file>Сборка.Экспорт.xml</file>
  </common_info>
  <version_info>
    <file>Сборка.Библиотеки.xml</file>
    <version>36.042.80</version>
    <info>&lt;p&gt;Библиотеки для ABL.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:16</buildtime>
  </version_info>
  <description>АБЛ-библиотеки</description>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="ABLTools.lib">Name=ABLTools
ParamControl=1
Unit=30202
Dispatch={B59B5FE2-A2D7-11D5-89E3-000021E0DB46}
begin
Pos=Позиция
DecodeDate=ПолучитьДату
EncodeDate=ФормироватьДату
GetIntConst=ПолучитьКонстанту
StrToFloat=СтрокаВДробное
FloatToStr=ДробноеВСтрока
IntToStr=ЦелоеВСтрока
UnFormatCLS=КлассификаторВЧисло
UnFormatUpCLS=КлассификаторВЧислоПоднять
Trim=УбратьПробелы
raiseException=ВызватьОшибку
CharToCode=КодСимвола
CodeToChar=СимволПоКоду
FileList=СписокФайлов
KeyExists=УзелСуществует
WriteStringToRegistry=ЗаписатьСтрокуВРеестр
WriteIntegerToRegistry=ЗаписатьЦелоеВРеестр
ReadStringFromRegistry=ПрочитатьСтрокуИзРеестра
ReadIntegerFromRegistry=ПрочитатьЦелоеИзРеестра
end
Lib={B59B5FE0-A2D7-11D5-89E3-000021E0DB46}
Маски=const
begin
  м_КФСР=99.99
  м_КВСР=999
  м_КВР=999
  м_КЦСР=999.99.99
  м_КЭСР=9.9.9
  м_СубКЭСР=999.99.99
  м_Направление=999
  м_ИсточникФинансирования=999
  м_ТипФинансирования=9.99
  м_Мероприятие=99.99.99
  м_ТипСредствБюджета=99.99.99
  м_ЛицСчет=999.99.999.9
  м_ПричинаОтклонения=99.99.99
  м_Операция=999.99
end
RegistryConsts={086463AE-B1E2-4A76-A002-2AEB95527236}
FileOptions={B34B4B77-BE8C-481A-8451-36E6BABAF60A}
TJoinType={BA6969A4-BD18-4919-9BC0-32106CCE9CF7}
TLastOptsX ={C5C40E65-5FD4-48C4-93C2-99D139D58E82}
TFirstOptsX={02944FD4-700A-4379-A5CF-30804E1D1F59}
TFileDialogX={B34B4B77-BE8C-481A-8451-36E6BABAF60A}</value>
    <param value="ABLTools.lib" type="3" name="version">36.042.80</param>
    <param value="ABLTools.lib" type="3" name="crc32">$BCDF0734</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="ABLVariables.lib">Name=ABLVariables
ParamControl=1
Unit=30108
Lib={461D314A-B8E7-41AE-AD3A-A1A3843A4994}
IValues={231D8231-A9E7-11D6-9C24-5254AB1A8A09}
begin
Values=Значение
CheckParam=ПараметрСуществует
end
IVariables={6BB402A0-922E-11D5-9B6E-5254AB1A8A09}
TCopyOptionsX={214FAF70-F064-4DFF-8292-CC7EB5E4A1B9}
CoClass={0DF5AAE4-0753-11D6-9BD5-5254AB1A8A09}
begin
СоздатьКоллекцию=IVariables
CreateVariables=IVariables
end</value>
    <param value="ABLVariables.lib" type="3" name="version">36.042.80</param>
    <param value="ABLVariables.lib" type="3" name="crc32">$96F0317B</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="BG.lib">Name=BG
ParamControl=1		
Unit=30109
Lib={0249133D-3B38-4454-A1A7-06AF59E04BD4}
IBG={F0FB2910-9EA3-4B3E-A59C-9E001BEB45E6}</value>
    <param value="BG.lib" type="3" name="version">36.042.80</param>
    <param value="BG.lib" type="3" name="crc32">$4DD35DA8</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="CachesManager.lib">Name=CachesManager
ParamControl=1
Unit=
Lib={3E74E293-881D-4413-AB0C-449EED59DFF3}
ICachesFactory={2AEA0095-FE66-4149-9F22-50B4E8927BEF}
ICacheManager={F6678EA5-A218-48AC-8D9F-B3C9A0E9BDA7}  
ICacheDataWrapper={375FA719-C6C0-47F5-B803-788480ABFED7}
КонтейнерДанныхКэш={375FA719-C6C0-47F5-B803-788480ABFED7}
ICacheDataWrapperClone={AF6FAE72-45DF-4DF4-9498-12F5E16847F9}
КонтейнерДанных={AF6FAE72-45DF-4DF4-9498-12F5E16847F9}
IFilterClause={30C4ADB9-A52B-4324-9606-AB93679770C1}
ICachesInformer={ED4EA292-DAD7-4F05-B078-9E44E79CC535}

CoClass={A9DC5568-E7F4-4B8B-A311-A1DC56A21F88}
begin
CreateCacheFactory=ICachesFactory
end

CoClass={EBFEEEAE-9E04-4941-A340-C4C982B9E6B4}
begin
CreateFilterClause=IFilterClause
end
        
TCachesIdentifiers={76E3C776-C92E-4082-AB43-E6D8428787A7}
TSelectionFieldsDataType={D7D2B53B-CA00-44BB-99AF-A16452B1748B}
TCacheState={4C772C66-8387-4775-83A0-FF361CB5154C}
TSelectionMemembership={064E2720-E726-4B95-BB8F-666E3A03A425}
        </value>
    <param value="CachesManager.lib" type="3" name="version">36.042.80</param>
    <param value="CachesManager.lib" type="3" name="crc32">$8ABEA0BE</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="Cells.lib">Name=CellDoc
ParamControl=1
Unit=30731

Lib={E96B9948-6D9C-11D2-BD30-0000E8D9CBDB}

ICellDocument={BF4F2D56-B560-11D3-A396-0000E8D9CBDB}

begin
CellByName=ЯчейкаПоИмени
FindCell=НайтиЯчейку
LoadFromFile=ЗагрузитьИзФайла
SaveToFile=СохранитьВФайл
Preview=ПредварительныйПросмотр
Print=Печать
Root=Корень
end

ICellObject={BF4F2D57-B560-11D3-A396-0000E8D9CBDB}

begin
DeleteCell=УдалитьЯчейку
Draw=Нарисовать
ReDraw=Перерисовать
AddCell=ДобавитьЯчейку
SelectCell=ВыбратьЯчейку
Delete=Удалить
Text=Текст
Formula=Формула
Format=Формат
Name=Имя
Tab=ПорядковыйНомер
Tag=Тег
CellCount=КоличествоЯчеек
Width=Ширина
Height=Высота
Offset=Смещение
Color=Цвет
Font=Шрифт
Cells=ЯчейкаПоИндексу
Parent=РодительскаяЯчейка
NextCell=СледующаяЯчейка
PrevCell=ПредыдущаяЯчейка
Children=ДочерняяЯчейка
HorzAlignment=ГоризонтальноеПоложение
VertAlignment=ВертикальноеПоложение
Left=ЛеваяКоордината
Right=ПраваяКоордината
Bottom=НижняяКоордината
Top=ВерхняяКоордината
Extension=Расширение
FirstCell=ПерваяЯчейка
LastCell=ПоследняяЯчейка
RootCell=Корень
IsFooter=ЯчейкаНижняя
IsHeader=ЯчейкаВерхняя
BorderStyle=СтильГраницы
BorderColor=ЦветГраницы
RecordIndex=ИндексЗаписи
AsString=КакСтрока
AsInteger=КакЦелое
AsFloat=КакДробное
AsDateTime=КакДата
Params=Параметры
Mask=Маска
EditMask=МаскаРедактирования
Title=Заголовок
RecordCount=КоличествоЗаписей
end

cell=const
begin
  CellDoc={BF4F2D58-B560-11D3-A396-0000E8D9CBDB}
  CellControl={E96B994B-6D9C-11D2-BD30-0000E8D9CBDB}
end</value>
    <param value="Cells.lib" type="3" name="version">36.042.80</param>
    <param value="Cells.lib" type="3" name="crc32">$D5A03827</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="Checker.lib">Name=Checker
ParamControl=1
Unit=30741
Dispatch={2F399322-B567-44F6-8E91-B1F990CE189A}
Lib={319B5554-4783-41F7-83F0-8CFB6D55BA7D}</value>
    <param value="Checker.lib" type="3" name="version">36.042.80</param>
    <param value="Checker.lib" type="3" name="crc32">$9B2975B4</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="Control.lib">Name=Control
ParamControl=1
Unit=30702
Dispatch={411353E9-B41B-11D6-9C25-5254AB1A8A09}
Lib={411353E6-B41B-11D6-9C25-5254AB1A8A09}
IModalReportBG={C85F3627-D780-11D6-9C36-5254AB1A8A09}
TCtrlResultX={59EFB2A1-B4E1-11D6-9C25-5254AB1A8A09}
TCtrlTypeX={BBE8A411-CBDF-11D6-9C29-5254AB1A8A09}
TShowDataResult={52F02E4C-D5F8-456D-AE96-36303FD93776}
TShowDataOptions={A92F9FB9-80E2-49DC-B951-DA749234F559}
Control=const
begin
КонтрольКартаПолей=КонтрольКартаПолей
КонтрольДанные=КонтрольДанные
КонтрольДанныеПОСостояниям=КонтрольДанныеПОСостояниям
КонтрольПараметры=КонтрольПараметры
ControlResult=ControlResult
ControlResultHint=ControlResultHint
ControlMessage=ControlMessage
ErrControlList=ErrControlList
фПроверяемыеВОбработке=IsProcessingControlData
кСкриптФильтраПроверяемых=ControlFilterScript
кОбщийФильтрПроверяемых=TotalFilter
ControlID=ControlID
кВидПроверяемыхДанных=ВидПроверяемыхДанных
кВидНабораДанных=ВидНабораДанных
кНомерДетали=НомерДетали
кНомерДеталиВОписанииПолей=НомерДеталиВОписанииПолей
кКлюч=Ключ
кКлючи=Ключи
кКлассификаторы=Классификаторы
кПоляСуммы=ПоляСуммы
кЛогСуммы=ЛогСуммы
кПоляЗаголовока=ПоляЗаголовока
кПоляЗаголовкаСостояний=ПоляЗаголовкаСостояний
кКлассификаторыСостояний=КлассификаторыСостояний
кКлючЗаголовка=КлючЗаголовка
кКлючЗаголовкаИзБазы=КлючЗаголовкаИзБазы
кСсылка=Ссылка
кСвязьСзаголовком=СвязьСзаголовком
кПолеРеестра=ПолеРеестра
кЗапрос=Запрос
кЗапросРеестра=ЗапросРеестра
кЗапросЗаголовка=ЗапросЗаголовка
кУбратьДиалогРеестра=УбратьДиалогРеестра
кПараметрыШаблона=ПараметрыШаблона
КВидДействия=ВидДействия
кСсылкаНаМодуль=СсылкаНаМодуль
кСсылкаНаФормирование=СсылкаНаФормирование
кОписаниеШаблона=ОписаниеШаблона 
кТипДокументаВКонтроле=ТипДокументаВКонтроле
кТипДокПриВызове=ТипДокПриВызове
кКодКонтроля=КодКонтроля
кКонечнаяДатаКонтроля=КонечнаяДатаКонтроля
кОгрПоИДЗаписи=ОгрПоИДЗаписи
кДопКлюч=ДопКлюч

кКлассификаторыНаОтправку=КлассификаторыНаОтправку
кПоляЗаголовкаНаОтправку=ПоляЗаголовкаНаОтправку
кПоляОгрЗаголовка=ПоляОгрЗаголовка
кПоляОгрЗаголовкаСостояний=ПоляОгрЗаголовкаСостояний
кШаблон=Шаблон
кПервыйВызов=ПервыйВызов
кТолькоЧтение=ТолькоЧтение
кТипДокПоСхеме=ТипДокПоСхеме
кНуженКонтроль=НуженКонтроль
кПолеБюджет=ПолеБюджет
кПроверкаПоРаскладке=СравнениеСРаскладкой
кВернутьРезНаИнтфСтандартно=ВернутьРезНаИнтфСтандартно
кРезультатКонтроля=РезультатКонтроля
кВнутренняяСсылка=ВнутренняяСсылка
кВнутреннийКлючЗаголовка=ВнутреннийКлючЗаголовка
кЗапретСтрокСПустойСуммой=ЗапретСтрокСПустойСуммой

ctxView=11
ctxWizard=12
ctxOther=13
cdLiner=ЛинейныйНабор
cdMasterDetail=МастерДетальНабор
cPrevCall=PrevCall
OptControlName=Имя
OptDocType=ТипДокументаДляКонтроля
OptProblemControl=КонтролиСОшибкой
OptNeedDropElimination=УдалятьПересечение
OptNeedShowControl=ПоказатьФормуОстатков
OptNeedShowControlOnTop=ПоказатьФормуОстатковПоверхВсехОкон
OptNeedSkipEmpty=НеПроверятьСПустойДеталью
OptPageName=PageName
cControlType=ControlType
кГруппироватьПроверяемые=GroupControlDataSet
кВклРежимПредКонтроляИзСС=SysStatShowResultControl

ctCaption=1
ctDetail=2
cCriterionSaveSum=_SaveSum
cCriterionSubSum=_SubSum
tcr_OffsetView=5

ctxAutoControl=256
end</value>
    <param value="Control.lib" type="3" name="version">36.042.80</param>
    <param value="Control.lib" type="3" name="crc32">$62789022</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="DataTools.lib">Name=DataTools
ParamControl=1
Unit=30141
Dispatch={8EF904B0-7508-4B8C-86B5-E2A51C3BD46F}
begin
  GetParamEx=Параметр
  SetParamEx=УстановитьПараметр
end
Lib={507F94F1-0D8B-4957-A5F4-A53ED217C7C1}
NumberType=const
begin
  ntDocument=0
  ntPacket=1
  ntReestr=2
  ntOrgRequest=6
  ntChargeRequest=7
  ntReturnRequest=8
end
LimitType=const
begin
  ltMin=0
  ltMax=1
end
DataBlock=const
begin
  dbElExch=0
  dbCredit=1
  dbLoan=2
end
СпособФормирования=const
begin
  сфЯрославльГор=30
  сфСамара=31
  сфНовыйУренгой=32
  сфКоми=33
  сфБелгород=33
  сфОренбургОбл=34
  сфЯрославльОбл=35
  сфСалехард=36
  сфКурган=37
  сфКраснодарОбл=38
  сфВологдаОбл=39
  сфКурскОбл=40
  сфСаратов=41
  сфГубкинский=42
  сфТулаГород=43
  сфТверь=44
  сфЯкутск=45
  сфСаратовГород=46
  сфКарелия=47
  сфКраснодар=48
  сфБалаково=49
  сфВоронеж=50
  сфПытьЯх=51
  сфНижневартовск=52
  сфУланУдэ=53
  сфПсков=54
  сфОктябрьский=55
  сфБиробиджан=56
  сфМужи=57
  сфАрхангельск=58
  сфХМАО=59
  сфИстра=60
  сфСургут=61
  сфУрай=62
  сфИркутскаяОбласть=63
  сфНижневартовский=64
  сфНовосибирск=65
  сфКогалым=66
  сфСорочинск=67
  сфСамараГор=68
  сфЯНАО=69
  сфУФКНачало=1000
  сфУФКБелгород_Кассовые=1001
  сфУФКБелгород_отДФкГРК=1005
  сфУФКБелгород_отГРКкПБС=1006
  сфУФКБелгород_отДФкПБС=1007
  сфУФКБелгород_ППФО=1008
  сфУФКАлтай=1101
  сфУФКАлтай_отДФкПБС=1101
  сфИмяЛСКакИмяВладельца=100
end
ИсточникПоступленияДанных=const
begin
  истФО=1
  истКазн=2
  истОБ=3
  истРаспоряжениеНаФинансирование=4
  истРеестрыКазначейства=5
  ист302=5
  истСводныеРаспоряжения=6
end
ТипИнформации=const
begin
  тиФин=0
  тиКазн=1
  тиДетализацияФинансирования=2
  тиЗаголовокФинансирования=3
  тиРоспись=4
  тиУточнение=5
  тиОрганизация=6
end
КодФормата=const
begin
  кфОбщий=0
  кфВоронежРАБИС=1
  кфВоронежВТБ=2
  кфВоронежВПБ=3
  кфВоронежСБРФ=4
  кфВоронежУФК=5
  кфВоронежУФК2005=6
  кфВоронеж1С=12
  кф1С=12
  кфВоронежФиктивный=13
  кфУФК2003=7
  кфУФК2005=8
  кфУРАЛ=9
  кфРабисНП=10
  кфУФК2006=11
  кфРАБИС=13
  кфНовосибирскРКЦ=14
  кфУФЭБС=15
  кфЗапСибКомБанк=16
  кфПытьЯх=17
  кфНовыйУренгой=18
  кфБСС=19
  кфКарелияБанк=100
  кфКарелияУФК=200
  кфБелгородГРКЦ=1
  кфБелгородАвтобанк=2
  кфБелгородСбербанк=3
  кфБелгородВТБ=4
  кфБелгородУФК=5
  кфПсковУФК=1
  кфБиробиджанУФК=1
  кфУФК2006Начало=1100
  кфУФК2006Конец=1200  
  кфУФК2009=21
  кфУФК2009Начало=2100
  кфУФК2009Конец=2199  
  кфСбербанк_dbf=30
  кфСбербанк=31
  кфПотенциалБанк=32
  кфГИСГМП=50
end
СтатусДокумента=const
begin
  сд_ВРассмотрении=0
  сд_Проведен=1
  сд_Ошибочный=3
  сд_ПомещенВОчередь=4
  сд_ОтозванИзОчереди=5
  сд_ВозвращенИзОчереди=6
  сд_ОтклоненБанком=7
  сд_Сформирован=10
  сд_Отправлен=11
  сд_ПринятКОплате=12
  сд_ОтзываетсяИзОчереди=13
  сд_ПомещенВКартотеку=14
end
СообщенияОбОшибках=const
begin
  eCancelledByUser=Действие отменено пользователем
  eBadReestr=Нельзя экспортировать отправленные, не расходные или не принятые реестры
  eBadCommonFinDoc=Нельзя экспортировать отправленные или не принятые распоряжения
  eFailExportingPayDocs=Ошибка экспорта платежных поручений: %s
  eNoDataToExport=Нет данных для экспорта
end
Идентификаторы=const
begin
  итфФинансирование={5EF70940-1335-11D3-8D70-008048FB76DB}
  итфЭлОбмен={DCD3A201-01A8-11D5-9238-4854E826BF13}
end
ТипДействияЭО=const
begin
  тдэо_Проведение=0
  тдэо_Отклонение=1
  тдэо_ОтправкаПакета=2
  тдэо_УдалениеПакета=3
end</value>
    <param value="DataTools.lib" type="3" name="version">36.042.80</param>
    <param value="DataTools.lib" type="3" name="crc32">$DDF6B09B</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="DBTools.lib">Name=DBTools
ParamControl=1
Unit=30701
Lib={677CBD23-7D0E-484D-87EF-E7C3B7CFD296}
IDBServ={E686A596-6B2C-493F-81B2-AB8977174D0F}
IBudServer={0883A57C-7912-4F95-9B5C-83021FAFABA3}</value>
    <param value="DBTools.lib" type="3" name="version">36.042.80</param>
    <param value="DBTools.lib" type="3" name="crc32">$21AE933F</param>
  </node>
  <node path="Бюджет\Ресурсы\Библиотеки">
    <value type="3" name="DctView.lib">Name=DctView
ParamControl=1
Unit=30444

Lib={91473521-8576-4E23-B6E1-F1D075DF7554}

IwkNamedItem={D3D36216-D86B-4FC8-A7E4-96FA201D33AA}
IwkNamedCollection={538B65E6-01DC-42F6-A3F8-E1557CF18320}
IwkStrings={CBC0BCBC-BCF4-40A8-A5AF-9DFDA8D83A1F}
IdctNodeItem={DA4FBA9D-1ADA-4840-B00C-E4214240EEA8}
IdctCategory={D2D2BD47-FC26-40A2-ADB9-904D63E4F87D}
IdctList={D825229D-4DA1-481C-9B37-96492EFD2F0B}
IdctFields={F3B1D52B-499F-4734-BFD3-A5889354EEE8}
IdctConstraint={62A5C4F5-0CBD-4E19-B4E3-652D146BF89E}
IdctRelation={1B112C2B-E350-438E-BDB0-DDEFB0DF5DEA}
IdctDatabase={930C8690-626F-4321-B631-D451FA9DAA7A}
IdctDetail={DFEF8D63-C1EE-4AB2-BD7C-1B67674D7652}
IdctDocument={B2BC5BF1-19B0-4892-9ECF-BD22EF99E453}
IdctTableDoc={519C1931-5F60-4C61-B967-4ECAF7CF9BCC}
IdctDictionary={1470210C-F4EF-464D-BA2E-6A29189B8DB6}
IdctParser={67A9D6A5-F673-4B07-A73E-6A25EC1454E4}

DctViewObj=const 
begin
   DictionaryView={1E924AB0-4FC1-4A35-A6B4-1AE160E61DFF}
end

</value>
    <param value="DctView.lib" type="3" name="version">36.042.80</param>
    <param value="DctView.lib" type="3" name="crc32">$D57B801E</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="DocRefer.lib">Name=DocRefer
ParamControl=1
Unit=50000
Lib={1FCC801F-C896-4979-8DD9-06583A06BE7E}
DocRefer=const
begin
  TLinkInfo={81B4F69C-8EE3-4503-AD26-F651BCFE2196}
  TLinkView={E62B356C-E0B9-4F01-B8FD-7088012D5892}
  TLinkFileView={2CE5EC00-89DE-4639-B7F4-9BC515C72297}
end
ILinkInfo={80887E03-E481-49FE-9710-0AA675AB0D05}
ILinkView={47C9E3E7-5936-48CA-9C27-A618A823FD84}
ILinkFileView={AF8EC7CB-C276-45CB-9EAD-2F3AC534C019}</value>
    <param value="DocRefer.lib" type="3" name="version">36.042.80</param>
    <param value="DocRefer.lib" type="3" name="crc32">$404FEC65</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="DocumentConditions.lib">Name=DocumentConditions
ParamControl=1
Unit=33333

Lib={2423C549-D02C-44A2-9F28-530DA785B432}

IConditionOperand={9009320B-C2D4-4D23-AAB9-E80FA9FB43DB}
IConditionValueOperand={89E6EFC1-E363-4B7A-B927-83A8CD3494BE}
IConditionFieldOperand={2F7F8518-FD78-4EE0-8449-8BDA5412A323}
IConditionOperandFieldList={176F39FE-9654-4F14-A8E4-91F511C2E0C8}
IConditionNodeOperand={B04C20C0-3612-4CFC-9C7E-4EAB4D084C80}
IConditionListOperand={9A8A93BF-AF3C-4B4A-8B58-C34C4EA0E43B}
IDocCondition={90ADF19B-2306-4B51-8275-8C6B58E13E76}
IDocExpression={27567D8F-4DA4-4558-A770-9065AC3003C9}
IConditionConstructor={8911075A-6883-447E-B5B7-C44B2DCD5441}
IAdvancedConditionConstructor={A24754EA-71E6-4C9B-9DB5-9E04C108FC5A}

TCondOperandTypeEnum={C9BFEE84-3C25-40B5-958D-2E10117C74E4}
TConditionOperationsEnum={FF2B76B6-AEBF-4061-B91A-D1E5F7856B62}
TArithmeticOperationsEnum={D7D76475-FF16-4D92-86EC-8C46223A751D}

Conditions=const
begin
ConditionConstructor={020017B9-9E80-4543-9CDD-7718E82B89E6}
AdvancedConditionConstructor={84BF4527-2447-4145-9A17-619E9B1EB839}
end</value>
    <param value="DocumentConditions.lib" type="3" name="version">36.042.80</param>
    <param value="DocumentConditions.lib" type="3" name="crc32">$167C1A5B</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value name="Documents.lib" type="3">Name=Documents
ParamControl=1
Unit=30102
Dispatch={E80B9520-73BE-4D29-B3D2-B102293A3C94}
begin
Dereference=Разыменовать
Access=УровеньДоступа
ExecQueries=СформироватьПараметрыЗапросов
WPMenuFlagValue=ЗначениеФлагаМеню
CreateFilterClause=ЗадатьФильтр
end
Lib={7904E980-BF0F-11D5-9B89-5254AB1A8A09}
Viewers=const
begin
F1ID=1
CellID=2
ExcelID=3
ChartID=4
WebSheetID=5
SSID=6
HTMLID=7
StubWordId=8
XMLID=9
CalcID=10

F1Caption=Формула Один
ExcelCaption=Excel
CellCaption=Cells
ChartCaption=Диаграмма
WebSheetCaption=WebSheet
SSCaption=Таблица
HTMLCaption=HTML
StubWordCaption=Word
XMLCaption=XML
CalcCaption=Open Office Calc
F1Viewer={E0EAED01-4DEF-11D5-9B2C-5254AB1A8A09}
ExcelViewer={E0EAED01-4DEF-11D5-9B2C-5254AB1A8A09}
CellViewer={13A74BCC-87A3-4B6F-8ED7-D454001F1CA2}
ChartViewer={C4B67783-366F-4DB1-9E90-E30AFC5652C5}
WebSheetViewer={47BBB4B5-1F2C-4C5F-B5A8-F2DFDB765931}
SSViewer={79E511C6-0198-40E4-A617-164B818FF1F3}
HTMLViewer={ECFC9039-6734-4565-931B-EFBB15DA3A30}
StubWordViewer={7899682C-95D1-4645-BCA2-3AD94A91D35E}
XMLViewer={42EA1288-979E-4DB0-B3A5-E29F975D8440}
OOCalcViewer={B0B7134D-F10F-4A94-8D68-B07DACB62EA6}
end
Params=const
begin
АлгПараметры=Параметры
АлгДанные=Данные
АлгЗаголовки=Заголовки
АлгПараметрыВывода=ПараметрыВывода
АлгРаскладка=Раскладка
АлгПараметрыШаблона=ПараметрыШаблона
АлгГлобальныеПараметры=ГлобальныеПараметры
АлгВизуализатор=Визуализатор
АлгСписокРаскладок=СписокРаскладок
ДокТаблицыВыборки=ТаблицыВыборки
ДокПоляВыборки=ПоляВыборки
ДокОграниченияВыборки=ОграниченияВыборки
кПарамСписокСтраниц=СписокСтраниц
кПарамСписокДокументов=СписокДокументов
кПарамЗапросДляОбновленияДанных=ФормироватьЗапросДляОбновленияДанных
кПарамГруппироватьНаСервере=ГруппироватьНаСервере
кПарамГиперТекст=ГиперДокументЧек
ПолеХранениеГиперТекст=ГиперТекст
ДоЗакачки=ДоЗакачки
ПослеЗакачки=ПослеЗакачки
ПослеВыводаДанных=ПослеВыводаДанных
ДоВыполнения=ДоВыполнения
ВыборОтчета=ВыборОтчета
ЗакачкаДанных=ЗакачкаДанных
кСохранитьИзменения=СохранитьИзменения
кКешироватьИзменения=КешироватьИзменения
end
TScriptActionX={1C78475A-B559-4510-93F4-ECE7EA91D9D2}
IReportPages={CFC90AE1-BCCA-11D5-9B88-5254AB1A8A09}
IReportBG={CFC90AE1-BCCA-11D5-9B88-5254AB1A8A09}
TCheckIndexX={73AC8321-F0D6-11D6-9C3F-5254AB1A8A09}

ExternalLibraries=const
begin
  CachesManager=\Библиотеки\CachesManager.lib
end</value>
    <param value="Documents.lib" type="3" name="version">36.042.80</param>
    <param value="Documents.lib" type="3" name="crc32">$3DDB2179</param>
  </node>
  <node path="Бюджет\Ресурсы\библиотеки">
    <value type="3" name="DocumentSources.lib">Name=DocumentSources
ParamControl=1
Unit=30592
Lib={0ACD7DF6-844A-4E24-ADED-625BFE9531AD}
IDocumentPersistData={DC8F12BE-B757-4042-B0DA-6B5512B86984}
IDocumentAttribute={CBB07A00-4541-4088-9E58-357D8969A0A2}
IDocumentAttributes={CA8E9296-355A-4DB0-940A-5A8266868AF1}
IDocumentContext={60FD2892-9B64-4FDB-A97F-9F18AB5E9AC6}
IBaseDocInfo={60D75EDF-0BBE-4F20-9F48-53D5A809BE27}
IDocTypeInfo={965779B3-990A-42E1-A1A1-CA47E314AE84}
IOwneredDocInfo={24EA71C9-A4EA-4478-88B3-9279A5B6CD5A}
IDocFieldInfo={290C208D-5F88-442D-9B2C-02703E1F1931}
IDocDetailInfo={613FC01B-FEEF-47CA-994D-3726941AB2BD}
IConditionOperandFieldList={176F39FE-9654-4F14-A8E4-91F511C2E0C8}
IConditionOperand={9009320B-C2D4-4D23-AAB9-E80FA9FB43DB}
IDocCondition={90ADF19B-2306-4B51-8275-8C6B58E13E76}
IDocumentSession={119E2B7B-1B84-4BD0-82E2-9F276769BA3F}
IProcessingInfo={B2CDEFA4-843B-4CDE-8B55-4E86AD78C067}
IProcessingInfoList={47B80EBF-D60A-4758-950E-D81661B4B57B}
IDocumentSource={00040DF3-523F-4405-B44B-C799278B90D7}
ISetDocTypeIdent={CA8EF7E1-F5FE-477F-BD56-3DBB9CF68A26}
IGetDocTypeIdent={0FC4EC4B-71AD-40F9-8B57-87E16DD5D6CB}
IDocumentManager={E46BE2ED-3B9D-4895-8D57-E0C2A077A8AB}
IDocumentInit={3C0EAB9D-DE61-4CE2-AC5A-96D483BC3402}
IConditionConstructor={F125312B-BA12-4544-87B0-6E23F2EE2F1C}
IConditionNodeOperand={B04C20C0-3612-4CFC-9C7E-4EAB4D084C80}
IConditionListOperand={9A8A93BF-AF3C-4B4A-8B58-C34C4EA0E43B}
IConditionValueOperand={89E6EFC1-E363-4B7A-B927-83A8CD3494BE}
IConditionFieldOperand={2F7F8518-FD78-4EE0-8449-8BDA5412A323}

TSystemDocIDsEnum={917014D4-F1F9-4A09-955E-F6EB414A9448}

DocumentSources=const
begin
  DocumentSessionGUID={F2B92FE0-44CA-4AEE-8E43-B543CB9D84A1}
  DocumentManagerGUID={38549BE3-9301-48CD-A5F4-0680CAD99F27}
  DocumentSourceGUID={7E00C2C5-A678-4E90-BB4C-9D7182290A00}
  DocumentContextGUID={448AEE29-92BB-491B-BD68-9A49DEE66E94}
   pnSes_DocumentConnection=DOCSES
  pnSes_DocMetaDataConnection=DOCMDSES
  pnSes_BaseDocInnerDataKind=BASEINNERDATAKIND;
end</value>
    <param value="DocumentSources.lib" type="3" name="version">36.042.80</param>
    <param value="DocumentSources.lib" type="3" name="crc32">$C7D62F49</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="ElArchiveTools.lib">Name=ElArchiveTools
ParamControl=1
Unit=
Lib={3617B5A7-07A8-49C6-B4B4-A990B6F43879}
IElArchive={36974BA5-C935-4D7E-9C69-556F817697FD}
IConnectionManager={A0BF1F9A-FD0F-4F52-BBDE-F86EED1080D7}
IDocTypeLimitUtils={47D927B4-3312-4820-8893-DD8369C649D1}
CoClass={5F25B7D9-69C2-4C5D-8389-8BAC6F2D7AE6}
begin
CreateElArchive=IElArchive
end
CoClass={96E0B95F-FE19-46A8-A17A-331FE0B468EE}
begin
CreateConnectionManager=IConnectionManager
end
CoClass={A7127BED-053F-44ED-A244-8249852E2F1A}
begin
CreateDocTypeLimitUtils=IDocTypeLimitUtils
end
TImportTypes={FE92E680-10CC-4F39-9C51-72A9C59CE2E0}
TEditModes={B24CDBF8-8B70-4A6D-8C9D-5F218EA0EF83}
TTemplateTypes={EF6E763B-5CFD-4034-AC28-9FFC84C9C068}
TPeriodTypes={DEA4F0EE-E714-44F5-971C-34F8668E359D}
StringConsts=const
begin
at_SPPARAM="@Sp"
at_VALUE="vl"
at_RESULT="rs"
at_CHECKSTATE="cs"
at_READONLY="ro"
at_EDITMASK="em"
at_PICKLIST="pl"
at_TAG="tg"
cnLimitParams="ПараметрыОграничений"
cnOutputParams="ПараметрыВывода"
cnGlobalParams="ГлобальныеПараметры"
pd_VisibleParams="ВидимыеПараметры"
pd_AvailableParams="ДоступныеПараметры"
pd_HiddenParams="СкрытыеПараметры"
pd_ParamsWithoutMltSelect="ПараметрыБезМультивыбора"
pd_RequiredParams="ОбязательныеПараметры"
end
</value>
    <param value="ElArchiveTools.lib" type="3" name="version">36.042.80</param>
    <param value="ElArchiveTools.lib" type="3" name="crc32">$8CF8CCA1</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="Excel2000.lib">Name=Excel9
Unit=30502
Lib={00020813-0000-0000-C000-000000000046},1,3
IApplication={000208D5-0000-0000-C000-000000000046}
IRange={00020846-0001-0000-C000-000000000046}
ISheets={000208D7-0000-0000-C000-000000000046}
IWorkbook={000208DB-0000-0000-C000-000000000046}
IFont={0002084D-0001-0000-C000-000000000046}</value>
    <param value="Excel2000.lib" type="3" name="version">36.042.80</param>
    <param value="Excel2000.lib" type="3" name="crc32">$19E9CF20</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="Excel97.lib">Name=Excel8
Unit=30501
Lib={00020813-0000-0000-C000-000000000046},1,2
IApplication={000208D5-0000-0000-C000-000000000046}
IRange={00020846-0001-0000-C000-000000000046}
ISheets={000208D7-0000-0000-C000-000000000046}
IWorkbook={000208DB-0000-0000-C000-000000000046}
IFont={0002084D-0001-0000-C000-000000000046}</value>
    <param value="Excel97.lib" type="3" name="version">36.042.80</param>
    <param value="Excel97.lib" type="3" name="crc32">$4DA5F7EE</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="F1Tools.lib">Name=f1Tools
ParamControl=1
Unit=30707
Dispatch={A2C227B9-231C-4754-88D5-44C0B596CB40}
lib={B0475000-7740-11D1-BDC3-0020AF9F8E6E},6,1
IF1Book={B0475001-7740-11D1-BDC3-0020AF9F8E6E}
IF1CellFormat={B047503D-7740-11D1-BDC3-0020AF9F8E6E}
IF1PageSetup={B047504D-7740-11D1-BDC3-0020AF9F8E6E}

F1ColWidthUnitsConstants={B047500D-7740-11D1-BDC3-0020AF9F8E6E}
F1RowHeightConstants={B047500E-7740-11D1-BDC3-0020AF9F8E6E}
F1ShowOffOnAutoConstants={B047500B-7740-11D1-BDC3-0020AF9F8E6E}
F1ShowTabsConstants={B047500F-7740-11D1-BDC3-0020AF9F8E6E}
F1ModeConstants={B0475010-7740-11D1-BDC3-0020AF9F8E6E}
F1PolyEditModeConstants={B0475013-7740-11D1-BDC3-0020AF9F8E6E}
F1ShiftTypeConstants={B0475014-7740-11D1-BDC3-0020AF9F8E6E}
F1ODBCExecuteErrorConstants={B0475015-7740-11D1-BDC3-0020AF9F8E6E}
F1CDataTypesConstants={B0475016-7740-11D1-BDC3-0020AF9F8E6E}
F1HAlignConstants={B0475017-7740-11D1-BDC3-0020AF9F8E6E} 
F1VAlignConstants={B0475018-7740-11D1-BDC3-0020AF9F8E6E}
F1ClearTypeConstants={B0475019-7740-11D1-BDC3-0020AF9F8E6E}
F1FileTypeConstants={B047501A-7740-11D1-BDC3-0020AF9F8E6E}
F1ObjTypeConstants={B047501B-7740-11D1-BDC3-0020AF9F8E6E}
F1FindReplaceConstants={B047501C-7740-11D1-BDC3-0020AF9F8E6E}
F1BeforeReplaceConstants={B047501D-7740-11D1-BDC3-0020AF9F8E6E}
F1ErrorConstants={B047501E-7740-11D1-BDC3-0020AF9F8E6E}
F1ControlCellConstants={B047501F-7740-11D1-BDC3-0020AF9F8E6E}
F1BorderConstants={B0475025-7740-11D1-BDC3-0020AF9F8E6E}
F1PasteWhatConstants={B0475033-7740-11D1-BDC3-0020AF9F8E6E}
F1PasteOpConstants={B0475034-7740-11D1-BDC3-0020AF9F8E6E}
F1BorderStyleConstants={B0475026-7740-11D1-BDC3-0020AF9F8E6E}
F1BookBorderConstants={B0475039-7740-11D1-BDC3-0020AF9F8E6E}
F1DialogPageConstants={B047500C-7740-11D1-BDC3-0020AF9F8E6E}
F1FormatTypeConstants={B0475037-7740-11D1-BDC3-0020AF9F8E6E}
F1CharSetConstants={B047503B-7740-11D1-BDC3-0020AF9F8E6E}
F1CellAttrConstants={B047503C-7740-11D1-BDC3-0020AF9F8E6E}
F1PgSetupAttrConstants={B047504A-7740-11D1-BDC3-0020AF9F8E6E}
F1PaperSizeConstants={B047504B-7740-11D1-BDC3-0020AF9F8E6E}
F1MousePointerConstants={B0475045-7740-11D1-BDC3-0020AF9F8E6E}</value>
    <param value="F1Tools.lib" type="3" name="version">36.042.80</param>
    <param value="F1Tools.lib" type="3" name="crc32">$FC53B477</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="FormRegImpl.lib">Name=FormRegImpl
ParamControl=1
Unit=30142
Lib={41952B84-4E4A-462C-B396-E287AE6B3E2D}
IFormRegions={9D418002-84F9-4A47-8D97-80BEA506F3FD}

FormRegConst=const
begin
  FormRegImpl=FormRegImpl.FormRegions
end</value>
    <param value="FormRegImpl.lib" type="3" name="version">36.042.80</param>
    <param value="FormRegImpl.lib" type="3" name="crc32">$889D2EBE</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="Generation.lib">Name=Generation
ParamControl=1
Unit=51000
Dispatch={59A23C98-D207-4CE5-94D4-BE62C94C3535}
Lib={BA2A4F5B-EDB2-461E-AF25-2DA8D0B75766}
TGenerOptions={95EA5810-DF71-4911-8AB1-37A80120147F}
Generation=const
begin
  cInnerLinks=ВнутренниеСвязи
  cOuterLinks=ВнешниеСвязи
  cParentData=РодительскиеДанные
  cParentIDField=ParentIDField
  cTemplateCLS=КодШаблона
  cReadDataPage=_ReadDataPage
  cDocumentCLS=_DocumentCLS
  cTableName=_TableName
  cDocType=ТипДокумента
end</value>
    <param value="Generation.lib" type="3" name="version">36.042.80</param>
    <param value="Generation.lib" type="3" name="crc32">$59C0D1AE</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="HandBookModal.lib">Name=Urm
ParamControl=1
Unit=31101
Lib={8C12E0B2-0819-11D5-860F-000021EEE7D4}
IDefConst={47F27FD9-4BF2-4DBB-A614-FCB6FD79D975}
IHandBookConst={BB982D56-4A43-4CDC-8FD4-8DE19301E0ED}
IHBCollectionBased={34755816-0BB6-48CB-B3CE-4D621D1EC329}
IHandBookCollection={5CBF3AD6-D573-499B-A894-FCBC068EC2D6}
IHandBook={C4BABA96-7D8A-40C4-8C55-1BED291E366A}
IClsHandBook={87DA99B2-D199-4316-8DE0-FD4491CF611D}
INalogInfo={885269AF-4B75-4CCE-B0C2-FA236131A6DA}
IHBOrganizations={9CB2FF1C-B38A-4165-B3DA-B7D30DE41A37}
IHBBanks={8783BD34-2B3E-4E77-974B-3460168CED51}
IHBOrg_Accounts={82A28538-1872-43F5-AC84-5B0E25C3B3D1}
IHBFacialAcc_Cls={EB7D2C72-1CE8-492C-8C49-A8C09A8CEC65}
IHandBookInfo={8A51ED38-FF7E-4571-A4D7-0CD6CDEE23E8}
TCodeFieldType={C7121A08-C041-4CDC-B65A-AE3EF1A62CB0}</value>
    <param value="HandBookModal.lib" type="3" name="version">36.042.80</param>
    <param value="HandBookModal.lib" type="3" name="crc32">$CE62C7CA</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="Hypertext.lib">Name=HyperText
ParamControl=1
Unit=30106
Dispatch={5C056E02-A5FC-4C19-B3B4-65777AF07847}
Lib={F3D45B81-2CF8-432F-BCEB-173CF495BC78}
IHyperForm={1CA0FEE7-2229-4CBF-B239-D1E3B85DB12E}</value>
    <param value="Hypertext.lib" type="3" name="version">36.042.80</param>
    <param value="Hypertext.lib" type="3" name="crc32">$2344F616</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="LibRu.Lib">Name=LibRu
ParamControl=1
Implementator={021C135D-07F3-11D5-9679-008048C7055B}
Lib={077F56AE-F0FA-11D4-9626-008048C7055B}
IVCLObject={077F56AF-F0FA-11D4-9626-008048C7055B}
IField={077F56B1-F0FA-11D4-9626-008048C7055B}
Поле={077F56B1-F0FA-11D4-9626-008048C7055B}
begin
  AsFloat=КакДробное
  AsInteger=КакЦелое
  AsInteger=КакФлаг
  AsString=КакСтрока
  IsNull=Пустое
  Assign=Присвоить
  FieldName=Имя
  DataSet=Данные
  Size=Размер
  DataType=Тип
  Clear=Очистить
  DataSet=Данные
  DisplayFormat=Формат
end
IAbstractDataSet={077F56B2-F0FA-11D4-9626-008048C7055B}
Данные={077F56B2-F0FA-11D4-9626-008048C7055B}
begin
  Next=Следующий
  Next=Следующая
  Edit=Редактировать
  FieldByName=ПолеПоИмени
  Post=Сохранить
  First=ВНачало
  Eof=ВКонце
  Open=Открыть
  Close=Закрыть
  DisableControls=ЗапретитьПрорисовку
  EnableControls=РазрешитьПрорисовку
  Locate=Локализовать
  FieldByName=Поле
  RecordCount=ЧислоЗаписей
  Refresh=Освежить
  Bof=ВНачале
  Delete=Удалить
  Insert=Вставить
  FieldsCount=ЧислоПолей
  GetField=поля
  Prior=Предыдущая
  Last=ВКонец
  Append=Добавить
  InsertRecord=ВставитьЗапись
  Edit=Редактировать
  Cancel=Отменить
  FieldByName=ПолеПоИмени
  Filter=Фильтр
  FindField=НайтиПоле
  State=Состояние
  UpdateStatus=СтатусЗаписи
  SQLParams=ПараметрыЗапроса
  NeedParam=НуженПараметр
end
IStaticSet={077F56B3-F0FA-11D4-9626-008048C7055B}
СтатическиеДанные={077F56B3-F0FA-11D4-9626-008048C7055B}
begin
  ApplyUpdates=СохранитьИзменения
  SQL=Запрос
  Params=Параметр
  IndexFieldNames=Индекс
  GroupData=Группировать
  Clear=Очистить
  FindKey=Искать
  PumpData=Закачать
  CancelUpdates=ОтменитьИзменения
  SetScope=УстановитьДиапазон
  CancelRange=СнятьДиапазон
  KeyFieldNames=Ключ
  FindKey=Искать
  Script=СекцияЗапроса
end
IControl={3C33E5A0-F37D-11D4-962F-008048C7055B}
ICoolGrid={077F56B6-F0FA-11D4-9626-008048C7055B}
СеткаДанных={077F56B6-F0FA-11D4-9626-008048C7055B}
begin
  DataSet=Данные
  ColumnByName=КолонкаПоИмени
  ReadOnly=ТолькоДляЧтения
  RecordImages=КартинкиКЗаписям
  HasSelection=ЕстьВыделенныеСтроки
  ColumnsCount=КоличествоКолонок
  AddAllFields=ДобавитьВсеКолонки
end
IGridColumn={077F56B7-F0FA-11D4-9626-008048C7055B}
Колонка={077F56B7-F0FA-11D4-9626-008048C7055B}
begin
  Field=Поле
  Text=Текст
  Name=Имя
end
IImageList={26880C51-F74C-11D4-963D-008048C7055B}
НаборКартинок={26880C51-F74C-11D4-963D-008048C7055B}
IDBDataSet={878A9142-0BAE-11D5-AC05-008048C7055B}
ДанныеБД={878A9142-0BAE-11D5-AC05-008048C7055B}
begin
  DataBaseName=БазаДанных
end
IQuery={878A9140-0BAE-11D5-AC05-008048C7055B}
Выборка={878A9140-0BAE-11D5-AC05-008048C7055B}
begin
  SQL=Запрос
  ExecSQL=Выполнить
end
Таблица={878A9141-0BAE-11D5-AC05-008048C7055B}
begin
  TableName=ИмяТаблицы
  IndexFieldNames=Индекс
  FindKey=Искать
end
ISQLParams={DD52C908-E068-42DB-B10A-CCA00081D5E3}
ПараметрыЗапроса={DD52C908-E068-42DB-B10A-CCA00081D5E3}
begin
  AddParam=ДобавитьПараметр
  RemoveParam=УдалитьПараметр
  CreateParam=СоздатьПараметр
  ParamByName=ПараметрПоИмени
  FindParam=НайтиПараметр
end
ISQLParam={AF79794E-0D62-4E16-94B2-6C886591F65E}
ПараметрЗапроса={AF79794E-0D62-4E16-94B2-6C886591F65E}
begin
  Name=Имя
  AsInteger=КакЦелое
  AsFloat=КакДробное
  AsString=КакСтрока
  AssignField=ПрисвоитьПоле
  Clear=Очистить
  Тип=DataType
end
IDBOQueryManager = {077F56B4-F0FA-11D4-9626-008048C7055B}
МенеджерЗапросов = {077F56B4-F0FA-11D4-9626-008048C7055B}
begin
  StartTransaction=ОткрытьТранзакцию
  Commit=ЗакрытьТранзакцию
  RollBack=ОтменитьТранзакцию
  InTransaction=ТранзакцияАктивна
  BeginUpdates=НачатьИзменения
  EndUpdates=ЗавершитьИзменения
  ProcessQueryResult=ОбработатьЗапрос
  ResetParams=СброситьПараметры
  source=Источник
  UpdateError=ОшибкаИзменения
  Params=Параметры
  ReadParams=ЧитатьПараметры
end
СтатусЗаписи=const
begin
  usUnmodified=0
  usModified=1
  usInserted=2
  usDeleted=3
  Статус_БезИзменений=0
  Статус_Изменена=1
  Статус_Добавлена=2
  Статус_Удалена=3
end
ClsType=const
begin
тк_Нет=0
тк_Год=1
тк_ИНН=30
тк_Дата=33
тк_КФСР=2
тк_КВСР=3
тк_КВР=4
тк_КЦСР=5
тк_СубКЦСР=6
тк_КЭСР=7
тк_СубКЭСР=8
тк_КД=9
тк_СубКД=10
тк_ТипДокумента=11
тк_Район=12
тк_ИсточникФинансирования=13
тк_КСШК=14
тк_Ценности=15
тк_Средства=16
тк_Справочно=17
тк_Валюта=18
тк_БухСчет=19
тк_Счет=21
тк_ГруппаИнформации=22
тк_ТипОрганизации=24
тк_Шкала=25
тк_СчетБюджета=19
тк_Госни=23
тк_ТипФинансирования=27
тк_Мероприятие=28
тк_ДокументОснование=29
тк_ТипОтчета=34
тк_ТипБюджета=35
тк_ДелопроизводствоОтдел=36
тк_Резолюция=37
тк_Корреспондент=38
тк_Гриф=39
тк_Исполнитель=40
тк_ЛицСчет=41
тк_ТипПлатежа=43
тк_Умолчания=44
тк_КассовыйСимвол=45
тк_БухПроводка=46
тк_ВидОперации=47
тк_СредстваБюджета=49
тк_ПричинаОтклонения=50
тк_Ошибка=51
тк_ИсточникВнутрФин=52
тк_ТипРеестра=53
тк_ВидСсуды=57
тк_ВидЗаимствования=58
тк_ОКДП=55
тк_ОКАТО=62
тк_ЕдиницыИзмерения=60
тк_НазначениеПлатежа=48
тк_ВидПлановогоДокумента=64
тк_КодыОшибок=51
тк_КОСГУ=68
тк_Направление=69
тк_Программа=70
тк_Операция=71
тк_Баланс=72
тк_КДБезАдм=73
тк_ИВВФ=74 
тк_ВидДоходаПрограмма=75
тк_ВидИсточника=76
тк_ФормыВвода=77
тк_Бюджет=78
тк_КодЦели=79
тк_ИсточникОбразованияСредств=80
тк_ФормыСобственности=81
тк_ОрганизационноПравовыеНормы=82
тк_ВидОрганизации=83
тк_КодЦелевыхСредств=84
тк_ВидыТрансфертов=84
тк_ВидАссигнований=85
тк_ВидИзменений=86
тк_Вариант=87
тк_ОКП=88
тк_КодСубсидии=89
тк_КодБюджАссигнования=90
тк_КодРасходногоОбязательства=91
тк_КатегорииАрхДокументов=92
тк_ТипОрганизацииСтарый=20
тк_Отдел=59
тк_ТипОбеспечения=63
тк_ПланСчетов=65
end
DataSetState=const
begin
  dsInactive=0
  dsBrowse=1
  dsEdit=2
  dsInsert=3
  dsSetKey=4
  dsCalcFields=5
  dsFilter=7
  dsNewValue=8
  dsOldValue=9
  dsCurValue=10
  dsBlockRead=11
  dsInternalCalc=12
  dsOpening=13
end
FieldType=const
begin
  ftUnknown=0
  ftString=1
  ftSmallint=2
  ftInteger=3
  ftWord=4
  ftBoolean=5
  ftFloat=6
  ftCurrency=7
  ftBCD=8
  ftDate=9
  ftTime=10
  ftDateTime=11
  ftBytes=12
  ftVarBytes=13
  ftAutoInc=14
  ftBlob=15
  ftMemo=16
  ftGraphic=17
  ftFmtMemo=18
  ftParadoxOle=19
  ftDBaseOle=20
  ftTypedBinary=21
  ftCursor=22
  ftFixedChar=23
  ftWideString=24
  ftLargeint=25
  ftADT=25
  ftArray=26
  ftReference=27
  ftDataSet=28
  ftOraBlob=29
  ftOraClob=30
  ftVariant=31
  ftInterface=32
  ftIDispatch=33
  ftGuid=34
end
SwapDataStatus=const
begin
  swPumpData=0
  swInsertData=1
  swModifyData=2
  swDeleteData=3
  swRefreshData=4
  swGroupData=5
end
МаскаБлокировок=const
begin
  блокПоДатеПринятия=1
  блокПоПользователю=2
  блокПоПринадлежностиУРМ=4
  блокПоСвязанности=8
  блокПоОтклоненности=16
  блокПоСостоянию=32
  блокПоПоследнейДатеРедактирования=64
end
EventVacancy=const
begin
  evCalcFields=0
  evDataChanged=1
  evDataScrolled=2
  evNewRecord=3
  evBeforeOperation=4
  evAfterOperation=5
  evInternalUse=6
  evFieldChange=7
end
RecordOperation=const
begin
  roCancel=0
  roOpen=1
  roClose=2
  roInsert=3
  roEdit=4
  roDelete=5
  roRange=6
  roPost=7
  roScroll=8
  roPump=9
  roApplyUpdates=10
  roCancelUpdates=11
  roUpdate=12
  roFilter=13
  roOrder=14
  roRefresh=15
  roRevert=16 
  roFetch=17
end
SetValOption=const
begin
  svoCheckEq=1
  svoNoValidate=2
  svoNoChange=4
end
ParamType=const
begin
  ptUnknown=0
  ptInput=1
  ptOutput=2
  ptInputOutput=3
  ptResult=4
end
ExternalLibraries=const
begin
  StdVcl=\Библиотеки\StdVcl.lib
end</value>
    <param value="LibRu.Lib" type="3" name="version">36.042.80</param>
    <param value="LibRu.Lib" type="3" name="crc32">$146AAA55</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="LinkInfo2.lib">Name=LinkInfo2
ParamControl=1
Unit=52000
Lib={921E9ECB-6695-4588-9CED-1EB052A0F696}
TBlockedProcessingType={58B1DEC3-90BD-41BA-A5D6-44A100FA355C}
DocRefer=const
begin
  TLinkInfo2={9E6A12A8-7430-4A61-99EA-01F9CCEAAF64}
  paramLinkType_LinkTypeID=LinkTypeID
  paramLinkType_TemplateCls=TemplateCls
  paramLinkType_ParentDocCls=ParentDocCls
  paramLinkType_ChildDocCls=ChildDocCls
  paramLinkType_UrmUse=UrmUse
  paramLinkType_LinkKind=LinkKind
  paramLinkType_Name=Name
end
ILinkInfo2={7816D7E6-8685-4C50-B6CA-822B56D55A36}</value>
    <param value="LinkInfo2.lib" type="3" name="version">36.042.80</param>
    <param value="LinkInfo2.lib" type="3" name="crc32">$E204309F</param>
  </node>
  <node path="Бюджет\Ресурсы\библиотеки">
    <value type="3" name="Log.lib">Name=Log
Unit=30902
Dispatch={A61A86C4-9207-11D5-AD34-008048C7055B}
Lib={A61A86C1-9207-11D5-AD34-008048C7055B}
</value>
    <param value="Log.lib" type="3" name="version">36.042.80</param>
    <param value="Log.lib" type="3" name="crc32">$28549699</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="ModalFormEx.lib">Name=ModalFormEx
Unit=30999

Lib={B7B49F21-F264-4599-A355-82F9089D2F63}
IModalFormX={ADC2EF4F-5706-4935-A9B1-52E3F2CA325B}
begin
end

IModalCoolBarManagerX={C7F0A9AF-FF81-4544-A776-EE2A9DA4A85F}
begin
end

ISetParams={8DF3CFC5-A64C-4083-A3EB-BDDB2FD02997}
begin
end

ModalFormEx=const
begin
  ModalFormEx={E9107D05-A5DE-4BC5-B8A4-F4246F4079DE}
  SetParams={8DF3CFC5-A64C-4083-A3EB-BDDB2FD02997}
end
</value>
    <param value="ModalFormEx.lib" type="3" name="version">36.042.80</param>
    <param value="ModalFormEx.lib" type="3" name="crc32">$49A8F214</param>
  </node>
  <node path="Бюджет\Ресурсы\библиотеки">
    <value type="3" name="MSXML.lib">Name=MSXML
ParamControl=1
Unit=30602
Lib={F5078F18-C551-11D3-89B9-0000F81FE221},3,0
IXMLDOMDocument={2933BF81-7B36-11D2-B20E-00C04F983E60}
IXMLDOMDocument2={2933BF95-7B36-11D2-B20E-00C04F983E60}
IXMLDOMNode={2933BF80-7B36-11D2-B20E-00C04F983E60}
IXMLDOMNodeList={2933BF82-7B36-11D2-B20E-00C04F983E60}
IXMLDOMElement={2933BF86-7B36-11D2-B20E-00C04F983E60}
IXMLDOMAttribute={2933BF85-7B36-11D2-B20E-00C04F983E60}
</value>
    <param value="MSXML.lib" type="3" name="version">36.042.80</param>
    <param value="MSXML.lib" type="3" name="crc32">$C2E3C9EF</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="MSXML4.lib">Name=MSXML4
ParamControl=1
Unit=30603
Lib={F5078F18-C551-11D3-89B9-0000F81FE221},4,0
IXMLDOMDocument={2933BF81-7B36-11D2-B20E-00C04F983E60}
IXMLDOMDocument2={2933BF95-7B36-11D2-B20E-00C04F983E60}
IXMLDOMNode={2933BF80-7B36-11D2-B20E-00C04F983E60}
IXMLDOMNodeList={2933BF82-7B36-11D2-B20E-00C04F983E60}
IXMLDOMElement={2933BF86-7B36-11D2-B20E-00C04F983E60}
IXMLDOMAttribute={D4D4A0FC-3B73-11D1-B2B4-00C04FB92596}
IXMLDOMSchemaCollection={373984C8-B845-449B-91E7-45AC83036ADE}
IXMLDOMSchemaCollection2={50EA08B0-DD1B-4664-9A50-C2F40F4BD79A}
IXMLDOMParseError={3EFAA426-272F-11D2-836F-0000F87A7782}</value>
    <param value="MSXML4.lib" type="3" name="version">36.042.80</param>
    <param value="MSXML4.lib" type="3" name="crc32">$FFFA03BA</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="MSXML6.lib">Name=MSXML6
ParamControl=1
Unit=30604
Lib={F5078F18-C551-11D3-89B9-0000F81FE221},6,0
IXMLDOMDocument={2933BF81-7B36-11D2-B20E-00C04F983E60}
IXMLDOMDocument2={2933BF95-7B36-11D2-B20E-00C04F983E60}
IXMLDOMNode={2933BF80-7B36-11D2-B20E-00C04F983E60}
IXMLDOMNodeList={2933BF82-7B36-11D2-B20E-00C04F983E60}
IXMLDOMElement={2933BF86-7B36-11D2-B20E-00C04F983E60}
IXMLDOMAttribute={2933BF85-7B36-11D2-B20E-00C04F983E60}
IXMLDOMSchemaCollection={373984C8-B845-449B-91E7-45AC83036ADE}
IXMLDOMSchemaCollection2={50EA08B0-DD1B-4664-9A50-C2F40F4BD79A}
IXMLDOMParseError={3EFAA426-272F-11D2-836F-0000F87A7782}
IXMLDOMParseError2={3EFAA428-272F-11D2-836F-0000F87A7782}
IXMLDOMParseErrorCollection={3EFAA429-272F-11D2-836F-0000F87A7782}</value>
    <param value="MSXML6.lib" type="3" name="version">36.042.80</param>
    <param value="MSXML6.lib" type="3" name="crc32">$8F72CAC1</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="OptionTools.lib">Name=OptionTools
ParamControl=1
Unit=30141
Dispatch={561EA827-9A73-4B66-B904-C2C0DE336DC1}
begin
  GetParam=Параметр
  SetParam=УстановитьПараметр
  GetParamPath=ПутьКПараметру
  GetParamsList=СписокПараметров
end
Lib={D716A0D1-86B2-4201-BE3A-7F6562B81F08}</value>
    <param value="OptionTools.lib" type="3" name="version">36.042.80</param>
    <param value="OptionTools.lib" type="3" name="crc32">$3412E1FB</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="output.lib">Name=output
ParamControl=1
Unit=30103
Lib={6DEF16A3-DE55-42C2-A920-18713625164B}
ОкноВывода={38448A23-8D2F-11D4-A531-0000E8D9CBDB}
begin
  Awake=Разбудить
  Clear=Очистить
  Hide=Скрыть
  Save=Сохранить
  Show=Показать
  TextOut=Вывести
end</value>
    <param value="output.lib" type="3" name="version">36.042.80</param>
    <param value="output.lib" type="3" name="crc32">$4AE25FF3</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="pather.lib">Name=Pather
ParamControl=1
Unit=30701
Lib={DA5ED0B9-D195-4FAF-8F0C-F049F7D742D1}
ICommonFunctions={E50FB565-639B-49EE-8ED1-E02EA3B5DD73}
begin
  WPMenuFlagValue=ЗначениеФлагаМеню
end
TAccessX={F32D0692-C651-11D6-9C28-5254AB1A8A09}
TEnumIdX={F32D0694-C651-11D6-9C28-5254AB1A8A09}
TEnumDynamicX={C6311883-9D26-489B-9C41-51CB58A16C7A}
TPathX={D2F71601-C734-11D6-9C29-5254AB1A8A09}
TTemplatePathX={FABCECED-F154-4BFE-B72F-47B479616FDD}
TResourceTypeX={2B6095BF-F557-4380-A731-4FA65838F07C} 
TAdvancedMenuItemsX={71A77FF3-BCB6-4409-859F-5901A1460506}</value>
    <param value="pather.lib" type="3" name="version">36.042.80</param>
    <param value="pather.lib" type="3" name="crc32">$3CB95583</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="RecordSetStore.lib">Name=RecordSetStore
Unit=40000
Lib={548ABD9A-4B76-493C-A3E7-EC8073287049}

IRecordSetStore={F04B2A8B-D0F4-4AF8-89E2-AA7DEE10AA85}

RecordSetStore=const
begin
  CLASS_RecordSetStore={A1879498-EDE0-44E6-843B-ECD98C489ED2}
end</value>
    <param value="RecordSetStore.lib" type="3" name="version">36.042.80</param>
    <param value="RecordSetStore.lib" type="3" name="crc32">$947FEF10</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="Reports.lib">Name=Reports
ParamControl=1
Unit=30101
Dispatch={B7AF37C3-3347-11D5-9B0E-5254AB1A8A09}
begin
GetMappingGroup=ВернутьПоляГруппировки
GetMappingGroupEx2=ВернутьПоляГруппировкиСУчетомЗависимостей
FixPumpMap=ВернутьПоляВыборки
CreateVariables=СоздатьКоллекцию
CreateTableInfo=СоздатьРаскладку
CreateTableInfoByDataSet=СоздатьРаскладкуПоДанным
SingleClsLimitEx=ОграничениеПоКлассификатору
CreateTemplates=СоздатьШаблон
DivRange=ПоделитьОграничения
CreateDataSetByTableInfo=СоздатьДанныеПоСпискуПолей
end
Lib={B7AF37C0-3347-11D5-9B0E-5254AB1A8A09}
IColumnInfoX={7AB22F32-3967-11D5-9B13-5254AB1A8A09}
ITableInfoX={7AB22F33-3967-11D5-9B13-5254AB1A8A09}
ITableListX={26F2CFB8-5FB4-4750-8C7A-D063D70B96AF}
IUniViewer={1EEFF203-4DDB-11D5-9B2C-5254AB1A8A09}
IDereference={0146B521-662A-11D5-9B45-5254AB1A8A09}
IFilteredDereference={BA1B492B-908D-448D-A804-29FB62029859}
IUniStyle={387849C2-407F-11D5-9B19-5254AB1A8A09}
IUniStorage={9C51E200-B0DF-4D7C-AB62-96DD30C05EAC}
IUniSheet={31E66D47-2DA1-11D5-9B0A-5254AB1A8A09}
IUniStratum={31E66D48-2DA1-11D5-9B0A-5254AB1A8A09}
IProgress={49322811-CC97-11D5-9B9B-5254AB1A8A09}
ITempParamsX={D5DAC0F1-2BA8-11D6-9BE1-5254AB1A8A09}
ITemplate={8502D1C0-AC0B-42FA-8D07-9EB065E0EA32}
ITemplates={D30FA5D0-DFEF-4D20-B1AE-FF1628E6D07B}
ILimits={16EC5736-4CEA-431F-A0BD-7769D19B0F50}
IDereferenceEx={ABC5DFE3-8248-418A-A4A0-18D5EC1BFBD0}
TChangeFieldX={669D4E71-4E19-11D6-9BF5-5254AB1A8A09}
TValueTypeX={0620B0F1-CF85-11D5-9BA4-5254AB1A8A09}
TSortTypeX={89CF35C1-4F6C-11D5-9B2E-5254AB1A8A09}
TGroupTypeX={89CF35C2-4F6C-11D5-9B2E-5254AB1A8A09}
TUpperResultX={387849C1-407F-11D5-9B19-5254AB1A8A09}
TColumnTypeX={7AB22F36-3967-11D5-9B13-5254AB1A8A09}
TTableOptionsX={EDCF9401-ADE2-11D6-9C24-5254AB1A8A09}
TEnumChangeFieldX={E111B5D6-1587-48A8-9C38-6DE2737CF7F9}
TRequiredX={29FE7C41-9271-11D6-9C1D-5254AB1A8A09}
TOptionsX={A9F6F461-1C92-11D6-9BDB-5254AB1A8A09}
TReadingX={50FF0A35-6E2F-4471-8A7D-785B50E67449}
TMemTypeX={A7DEC744-AF07-437C-997A-A8781F5F0D5E}
TBuildingX={BCFA997C-D55D-4C7B-B30B-70919AED9B18}
THAlignX={0AED7481-34B9-11D5-9B10-5254AB1A8A09}
TVAlignX={0AED7482-34B9-11D5-9B10-5254AB1A8A09}
TBorderStyleX={D75D1F94-33EC-11D5-9B0F-5254AB1A8A09}
TBorderNumberX={D75D1F92-33EC-11D5-9B0F-5254AB1A8A09}
TFontAttributesX={D75D1F91-33EC-11D5-9B0F-5254AB1A8A09}
TAutoSizeX={9C3C3061-FA35-11D5-9BD0-5254AB1A8A09}
TAggrOptionsX={205B1CC7-A5D1-471C-A18F-572582BE23F9}
TFormatFieldsX={226203C3-0569-4FCE-8337-9AB3008E3BE5}
TActionX={66990792-9808-11D6-9C1F-5254AB1A8A09}
ExternalLibraries=const
begin
  ABLVariables=\Библиотеки\ABLVariables.lib
end</value>
    <param value="Reports.lib" type="3" name="version">36.042.80</param>
    <param value="Reports.lib" type="3" name="crc32">$352CC44D</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="ReportTools.lib">Name=ReportTools
ParamControl=1
Unit=30729
Dispatch={E877E3B9-DCBA-4353-ABEE-0D42400ED3B5}
begin
Translation=ДинамическийДиалог
GetTime=ПолучитьТекущееСистемноеВремя
end
Lib={319B5554-4783-41F7-83F0-8CFB6D55BA7D}
IDataLimit={B7AF37C2-3347-11D5-9B0E-5254AB1A8A09}
begin
StartYear=НачалоГода
EndYear=КонецГода
StartMonth=НачалоМесяца
EndMonth=КонецМесяца
StartQuarter=НачалоКвартала
EndQuarter=КонецКвартала
NumberYear=НомерГода
NumberDay=НомерДня
NumberCurMonth=НомерТекМесяца
NumberPrevMonth=НомерПредМесяца
NumberCurQuarter=НомерТекКвартала
NumberPrevQuarter=НомерПредКвартала
CurDate=ТекущаяДата
BeforeCurDate=ДатаДоТекущей
AfterCurDate=ДатаПослеТекущей
StartPeriod=ДатаНачалаПериода
EndPeriod=ДатаКонцаПериода
BeforeStartPeriod=ДатаДоНачалаПериода
AfterEndPeriod=ДатаПослеКонцаПериода
end
TTranslationResultX={EB461B74-0498-43DD-A693-A23477D05D77}
DynamicPage={DDC6D4C9-59E2-4525-BB06-8D651E53D534}</value>
    <param value="ReportTools.lib" type="3" name="version">36.042.80</param>
    <param value="ReportTools.lib" type="3" name="crc32">$F6B282E6</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="RightInfo.lib">Name=RightInfo
ParamControl=1
Unit=
Lib={1A6CBC82-B20F-4859-B52A-DEE0DD10C276}
IRightInfo={6BFABF3F-350E-4C5E-8086-8F3567958DE3}
CoClass={6BFABF3F-350E-4C5E-8086-8F3567958DE3}
begin
GetRightInfo=IRightInfo
end
ObjectKind=const
begin
  xokAll=0
  xokInterface=1000000
  xokReport=2000000
  xokWorkPlace=3000000
  xokGroup=4000000
  xokUser=5000000
  xokDocState=6000000
  xokStateJump=7000000
  xokDocType=8000000
  xokOrg=9000000
  xokOrgPerson=9000010
  xokRSFO=10000000
  xokBudTree=11000000
  xokTypedForm=12000000
  xokBudget=13000000
  xokLayers=14000000
  xokLocks=15000000
  xokDocTypes=16000000
  xokDynamicHandbooks=17000000 
  xokConsts=18000000 
  xokClsTypes=19000000 
  xokGenerations=20000000
  xokControls=21000000
  xokPacketTypes=22000000
  xokScenario=23000000
  xokFacialAccCLS=24000000
  xokSign=25000000
  xokArchiveDocType=26000000
  xokPacketTypeAndFacialAcc=27000000
  xokPrintDocs=28000000
end
RightKind=const
begin
  xrkAdmin             = 00001
  xrkCanViewOther      = 00002
  xrkStateJump         = 00003
  xrkAccess            = 00004
  xrkAccessRead        = 00104
  xrkAccessWrite       = 00204
  xrkAccessWriteInsert = 10204
  xrkAccessWriteEdit   = 20204
  xrkAccessWriteDelete = 30204
  xrkChangePassword    = 00005
  xrkCreateTask        = 00006
  xrkExecuteTask       = 00007
  xrkAttachFiles       = 00008
  xrkDetachFiles       = 00009
  xrkChangeRights      = 00010
  xrkUseVisibilityByRight = 00011
  xrkRejectAttachFiles = 00012
  xrkNotify            = 00013
end
</value>
    <param value="RightInfo.lib" type="3" name="version">36.042.80</param>
    <param value="RightInfo.lib" type="3" name="crc32">$6AE9DF89</param>
  </node>
  <node path="Бюджет\Ресурсы\Библиотеки">
    <value type="3" name="ScanReader.lib">Name=ScanReader
ParamControl=1
Unit=30857
Lib={761B5858-E6E1-4536-8B7A-0C5DD0A0267A}

Params=const
begin
  ScanReader={DCA0C9F1-3A39-4B10-820A-E9C00779E2BB}
end

retn_values=const
begin
  msgCanceled=0
  msgError=1
  msgSusses=2
end

scan_types=const
begin
  stpHardware=0
  stpAPSExtention=1
end

IScanReader={A82A7F83-DA33-4719-812D-60E51F37CB86}
IScanReader2={CB556C1F-EC1C-4547-A6F4-6CBC88074862}</value>
    <param value="ScanReader.lib" type="3" name="version">36.042.80</param>
    <param value="ScanReader.lib" type="3" name="crc32">$D323CD75</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="ScriptWP.lib">Name=ScriptWP
ParamControl=1
Unit=30792
Lib={FE2B2B20-4132-49E4-B5D0-1C58200F4DB8}
IScriptWP={9B41A232-6B34-4E25-9E56-8ED50CDF18E6}</value>
    <param value="ScriptWP.lib" type="3" name="version">36.042.80</param>
    <param value="ScriptWP.lib" type="3" name="crc32">$E49812E3</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="SharedParams.lib">Name=SharedParams
ParamControl=1
Unit=30104
Lib={3D4915F9-0FFB-4035-8610-9F8D8B8F3E38}
ParamCheckState={6CFAE098-B17A-11D4-9540-008048C7055B}
ParamEditStyle={6CFAE099-B17A-11D4-9540-008048C7055B}
ISPParam={6CFAE097-B17A-11D4-9540-008048C7055B}
ISharedParams={6CFAE096-B17A-11D4-9540-008048C7055B}
IParamEvents={F07D59D1-B21C-11D4-9543-008048C7055B}</value>
    <param value="SharedParams.lib" type="3" name="version">36.042.80</param>
    <param value="SharedParams.lib" type="3" name="crc32">$255E1E6D</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="SignUtils.lib">Name=SignUtl
ParamControl=1
Unit=30801
Lib={27C4717A-BB8F-4562-A4C6-29CCBB0ABF78}
ISignUtils={E3DA1761-86F0-485B-AC2A-3A7C2037535A}
ISignUtilsEx={9ED5EDF5-D885-451F-B007-737F6A9575E3}
SignUtils=const
begin
  CoCoSignUtils={E6D467C3-EC75-403F-BC3D-753E35453EB8}
end
</value>
    <param value="SignUtils.lib" type="3" name="version">36.042.80</param>
    <param value="SignUtils.lib" type="3" name="crc32">$4C6A717F</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="Statemanage.lib">Name=StateManage
ParamControl=1
Unit=30901
Dispatch={AECE21EA-8049-4734-8E1A-B99C982BA0A1}
Lib={071DEB25-F77A-4E27-A007-441304359FC0}
StateManage=const
begin
  stControlResultFieldName=ControlResult
  stControlMessageFieldName=ControlMessage
  stFUIDFieldName=FUID
  stSenderIDFieldName=SENDERID
  stRecordIndexIDFieldName=SENDERRECORDID

  stDocStateFieldname=DOCSTATEREF
  stBeginDocStateFieldName=BEGINDOCSTATEREF
  stCryptoStateFieldname=CRYPTOSTATUS
  stIsVisedFieldName=ISVISED
  stIsChangeStateFieldName=IsChangeState
  stIsFilteredFieldName=ISFILTERED

  stVarCascadeIntfCode=КодИнтфВызвавшегоДействие
  stVarIntfCode=КодИнтерфейса
  stVarDocsCode=КодДокумента
  stVarHideChangeStatesResults=СкрытьИзмИнтерфейс
  stVarNeedHideCheckJumpResDialog=НеПоказыватьДиалогПроверок
  stVarSelfGetData=ПараметрыДействияИзменены
  stVarNotNeedAutoPrint=НеВыполнятьАвтоПечать
  stVarAction=mkp_Action
  stVarActionName=mkp_ActionName
  stVarTemplateNode=mkp_TemplateNode
  stVarSMO=mkp_SMO
  stVarNeedAll=mkp_NeedAll
  stVarDocType=mkp_DocumentType
  stVarNeedEds=mkp_NeedEds
  stVarNeedStates=mkp_NeedStates
  stVarUserName=mkp_UserName
  stVarClientId=mkp_ClientId
  stVarCheckMode=mkp_CheckMode
  stVarCheckOptions=mkp_CheckOptions
  stVarIsAdmin=mkp_IsAdmin
  stVarModalResult=mkp_ModalResult
  stVarLigthModeWork=mkp_LigthMode
  stVarData=Данные
  stVarControlData=Результат
  stVarTableInfo=Раскладка
  stVarPrintVars=ОграниченияДляПечати
  stVarPrintData=ДанныеДляПечати
  stVarTemplates=СписокРаскладок
  stVarGenerationParam=VarGenerationParam
  stVarDefineScenary=ОписаниеСценария 

  _stVarChildActionName=_ChildActionName
  _stVarChildNeedAll=_ChildNeedAll
  _stVarChildIntfCode=_ChildIntfCode
  _stVarUserParams=_UserParams
  _stVarBeginDocState=_BeginDocState
  _stVarEndDocState=_EndDocState
  _stVarChildData=_ChildData
 _stChildActionStorage=_ChildActionStorage
 _stChildDocNotChangeState=ДочернДокументовДляИзменения
 _stChildDocChangeState=ДочернДокументовИзменилоСостояние
 _stChildDocCheckOkJump=ДочернДокументовПрошлоПроверку
 _stChildDocNotCheckJump=ДочернДокументовНеПрошлоПроверку
 _stZeroCountChildDocType=ДочернДокументовОдинТипНоль
 _stZeroCountChildDoc=ДочернДокументовНоль
 _stVarChildActionInfo=ОписаниеДочернДействий
 _stCommulateChildData=НакапливатьДанныеДочернПереходов
_stVarJumpsDescription=ОписаниеПереходовДействия
 _stVarCascadeJumpMode=РежимКаскадногоПерехода
 _stVarExecTime=ВремяВыполнения

  stVarHistoryData=ИсторияПереходов
  stVarIdListReport=СписокИДДокументовОтчета
  stVarDebugMode=Отладка

  stCheckJumpRes=РезультатПроверки
  stCheckOkJump=ДокументовПрошлоПроверку
  stNotCheckJump=ДокументовНеПрошлоПроверку
  stCheckDocCountJump=ДокументовУчавствовалоВПроверке
  stDocChangeState=ДокументовИзменилоСостояние
  stDocNotChangeState=ДокументовДляИзменения
 stNotChangeState=ДокументовНеИзменилоСостояние

  stMessageZeroRecordCheck=ОшибкаНольЗаписейПроверка
  stCheckOkNoDocSucces=НеПрерыватьНольДокументовПрошлоПроверку
  stCol_DSPageNames=_DSPageNames
  stCol_DSDataSet=_DSDataSet
  stCol_DSKey=_DSKey
  stCol_DSForeign=_DSForeign
  stCol_DSSave=_DSSave
  stCol_DSIgnore=_DSIgnore
  stCol_DSFldAlias=_FieldAlias
  stCol_DSService=_DSService

  stSignCheckField=CheckFlag
  stSignInfoField=SignInfo

  stCheckCurStateDoc=CheckCurStateDoc

  stCheckChandgedRejected=CheckChangeReject
  stCheckRigth=CheckRigth
  stCheckSign=CheckSign

ДокПоле_ИД=DocField_ID
ДокПоле_ИмяНаИнтф=DocField_ITFFieldName
ДокПоле_ИмяВАлгоритмах=DocField_ReportFieldName
ДокПоле_ИмяВСостояниях=DocField_TemplateField
ДокПоле_ЭтоБюджет=DocField_IsBudget
ДокПоле_НомерДетали=DocField_DetailNumber
ДокПоле_ТипДок=DocField_DocTyperef

ОписаниеПоляПринадлежитУРМ=0
ОписаниеПоляПринадлежитБюджету=1
ОписаниеПоляПринадлежитВсем=2

end</value>
    <param value="Statemanage.lib" type="3" name="version">36.042.80</param>
    <param value="Statemanage.lib" type="3" name="crc32">$AB8937C0</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="StateTools.lib">Name=StateTools
Unit=30998
Lib={E0DEB819-92C7-4864-A807-9D71068D752E}
Dispatch={BDB3821B-474E-4D50-8D69-709505BEEF7B}
IStateTools={BDB3821B-474E-4D50-8D69-709505BEEF7B}
begin
  SetDocEndState
end

StateTools=const
begin
  StateToolsGUID={FC10DCD7-73D1-47DF-BA7F-63DBA6A2CB32}
  ProjectGUID={00000000-0000-0000-C000-000000000046}  
end</value>
    <param value="StateTools.lib" type="3" name="version">36.042.80</param>
    <param value="StateTools.lib" type="3" name="crc32">$F13146AD</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="Statics.lib">Name=Statics
ParamControl=1
Unit=30732
Lib={916D18A2-06AF-4395-9F03-10733109DF76}
IStaticSets={ADD4540A-CD76-48EF-8226-755F8F2E10E3}
begin
Params=Variables
PageImage=PageImageIndex
end
TClearOptionsX={788C6DBB-2746-4660-9419-C4678F5D692C}
TShiftX={F74BC16A-E203-49BD-95C0-C38744666E2B}
TAggregateX={67479D18-3B83-42E5-9607-3B929A29FF85}
TxDutyShow={BDD4216D-CD19-4CEF-9B20-3C6AD17E34EF}
TServiceFieldsX={F5BAEC17-44CB-4F31-BC41-09D64489B7F5}
TExpandedX={3A3D408A-FF58-4D6A-AADE-BE112E9CC282}
TDischargeX={E5B02EF8-7345-4B96-8C6E-F01C33942C1A}
TButtonsX={17FF4AEA-4970-4593-92A1-F05C7B18E56B}
TEventsX={A1558239-60D0-4F76-B5B4-A5506FFB8114}
TAggrX={AB049159-D26B-4657-8C25-96E0197A53D4}
TBuildTreeX={C8B33746-EBB1-4168-A14D-209BCF38D0E1}
Statics=const
begin
axStatics={EDE3410B-004A-4811-86CB-5029E9563488}
end</value>
    <param value="Statics.lib" type="3" name="version">36.042.80</param>
    <param value="Statics.lib" type="3" name="crc32">$07ECB679</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="StdVcl.lib">Name=StdVcl
ParamControl=1
Unit=
Lib={EE05DFE0-5549-11D0-9EA9-0020AF3D82DA}
IStrings={EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}</value>
    <param value="StdVcl.lib" type="3" name="version">36.042.80</param>
    <param value="StdVcl.lib" type="3" name="crc32">$01EC97A9</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="SysUtils.lib">Name=SysUtils
ParamControl=1
Unit=30299
Dispatch={1A5A6CA5-C333-4201-BEFC-35856017BC35}
Lib={FCE05A21-A827-4185-8853-C5F8FB8E7378}
IRegExp={DCBF7EA6-F2DD-487D-B2D7-BB1200FBE389}
TFileAttribs={0E751E45-C875-4862-A3FC-23338FEEB67D}
TFileOpenMode={98752AEC-4E79-477B-804D-1FE36B3761CE}
TSeekMode={47275201-B411-4F87-9F86-B7B934AEC28A}
PerlRegExpOptions={7432AF5C-C72E-4E9C-9C01-F32C8325F567}
CoClass={7F5DF9C9-B9C4-41AB-823F-5646F23F5703}
begin
CreateRegExp=IRegExp
end
</value>
    <param value="SysUtils.lib" type="3" name="version">36.042.80</param>
    <param value="SysUtils.lib" type="3" name="crc32">$841496B6</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="Variables.lib">Name=Variables
ParamControl=1
Unit=30105
Dispatch={4BBD3D7F-AB77-11D6-9C24-5254AB1A8A09}
begin
CheckParam=ПараметрСуществует
Values=Значение
end</value>
    <param value="Variables.lib" type="3" name="version">36.042.80</param>
    <param value="Variables.lib" type="3" name="crc32">$E7F29013</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="VBScriptRegExp.lib">Name=VBScriptRegExp
ParamControl=1
Unit=30705
Lib={3F4DACA7-160D-11D2-A8E9-00104B365C9F}
IRegExp={3F4DACA0-160D-11D2-A8E9-00104B365C9F}
IMatch={3F4DACA1-160D-11D2-A8E9-00104B365C9F}
IMatchCollection={3F4DACA2-160D-11D2-A8E9-00104B365C9F}

VBScriptRegExp=const
begin
  RegExp={3F4DACA4-160D-11D2-A8E9-00104B365C9F}
end</value>
    <param value="VBScriptRegExp.lib" type="3" name="version">36.042.80</param>
    <param value="VBScriptRegExp.lib" type="3" name="crc32">$5E542BFA</param>
  </node>
  <node path="%root%\Ресурсы\Библиотеки">
    <value type="3" name="XLS.lib">Name=XLSTransporter
ParamControl=1
Unit=30730

Lib={D66C9FEB-A55C-42E2-9DDE-56845CB4F0B9}

IXLSContainer={6F39BB13-E6C3-4087-B111-F9B0F0627C3B}
begin
OpenFile=ОткрытьФайл
SaveFile=СохранитьВФайл
CloseFile=ЗакрытьФайл
IsLoaded=ФайлЗагружен
ClearSetting=ОчиститьНастройки
GetFormat=ПолучитьФорматПоИндексу
IsEmptyRow=СтрокаПустая
InsertAndCopyRows=ВставитьСтроки
DeleteRows=УдалитьСтроки
SaveToStream=СохранитьВПоток
GetFormatDef=ПолучитьФорматПоля
AddFormat=ДобавитьФормат
AddFont=ДобавитьШрифт
CreateEmpty=СоздатьПустойФайл
AddTextFormat=ДобавитьТекстовыйФормат
AddMergedCell=ОбъединитьЯчейки
DropMergedCell=РазъединитьЯчейки
PackData=ЗапаковатьДанные
UnpackData=РаспаковатьДанные
SheetCount=КоличествоЛистов
ActiveSheet=АктивныйЛист
ActiveSheetName=НазваниеАктивногоЛиста
MaxRow=МаксимальноеКоличествоСтрок
MaxCol=МаксимальноеКоличествоСтолбцов
CellValue=СодержимоеПоля
CellFormat=ФорматПоля
IsFormula=ПолеФормула
ColByIndex=ПозицияСтолбца
ColIndex=ИндексСтолбца
ColIndexCount=КоличествоСтолбцовВСтроке
ColorPalette=ЦветИзПалитры
ColorPaletteCount=КоличествоЦветовВПалитре
FormatCount=КоличествоФорматов
ColumnWidth=ШиринаСтолбца
RowHeight=ВысотаСтроки
AutoRowHeight=СтрокаАвтоматическиИзменяемая
DefaultRowHeight=ВысотаСтрокиПоУмолчанию
DefaultColWidth=ШиринаСтолбцаПоУмолчанию
ColumnFormat=ФорматСтолбца
RowFormat=ФорматСтроки
CommentsCount=КоличествоПримечанийВСтроке
Comments=ПримечаниеПоля
ShowGridLines=ТаблицаПоказываетГридовыеЛинии
CellMergedBounds=ГраницаОбъединеннойЯчейки
TextFormat=ТекстовыйФорматПоИндексу
FontCount=КоличествоШрифтов
ColWidthInPixels=ШиринаСтолбцаВПикселях
RowHeightInPixels=ВысотаСтрокиВПикселях
FontName=НазваниеШрифта
FontSize=РазмерШрифта
FontStyle=СтильШрифта
FontUnderline=СтильПодчеркивания
end

IXLSFormat={1B97A4B0-A33D-4549-A3EC-5A7A81120223}
begin
end

IXLSPageSetup={8CE58E37-DEFA-4C17-B311-33305129FC68}
begin
end

THFlxAlignmentX={7A791109-214E-42CC-A267-A9B8F82B396C} 
TVFlxAlignmentX={BAA49868-37AE-4A26-A246-92E3F8F25ADD} 
TFlxUnderlineX={DB360DDE-B5A8-4D27-967E-C32D50321522} 
TFlxFontStyleX={0BD7BCA2-6A90-46CA-A49F-E3604BBE26B9} 
TFlxDiagonalBorderX={A0E4BB5D-F137-4A17-87F0-D0E84A6FD5DC}
TFlxBorderStyleX={8211616F-AA94-4CF8-B531-D0B9291BC9A8}
TXlsBordersX={ABAAC118-687D-44C0-AABF-253295AFDB27} 
TXlsFormatsX={729CD704-349C-4736-BA2F-E6300CD3FC3B} 
TXlsShowX={0D3C4D97-C94A-4403-80FE-BB86C323473C} 
TXlsPutX={1E6BF510-72FB-48F8-96EA-A5708D49B4B0} 

xls=const
begin
  XLSContainer={F76B0A09-4265-4534-9D72-E82C0AD98B2C}
end</value>
    <param value="XLS.lib" type="3" name="version">36.042.80</param>
    <param value="XLS.lib" type="3" name="crc32">$06A14AD1</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="XMLDataTools.lib">Name=XMLDataTools
ParamControl=1
Unit=30601
Lib={6480DDC9-773B-408C-A889-A6BE1D5E195D}
IXMLData={345F2672-6BFB-424F-970C-409E3CABA651}
begin
  FieldValue=Поле
  FindSection=НайтиСекцию
end

XMLDataConst=const
begin
  XMLDataObjectName=XMLDataTools.XMLData
end
</value>
    <param value="XMLDataTools.lib" type="3" name="version">36.042.80</param>
    <param value="XMLDataTools.lib" type="3" name="crc32">$6A71B234</param>
  </node>
  <node path="%root%\Ресурсы\библиотеки">
    <value type="3" name="XmlDsigSmev.lib">Name=XmlDsigSmev
ParamControl=1
Unit=
Dispatch={4174FD32-3083-4D9D-9635-BEFBC4A688AA}
Lib={EF4E3C6A-5800-4126-BB23-FD35FDE6D9BF}</value>
    <param value="XmlDsigSmev.lib" type="3" name="version">36.042.80</param>
    <param value="XmlDsigSmev.lib" type="3" name="crc32">$FD7B6D2C</param>
  </node>
  <node path="Бюджет">
    <value type="3" name="Library">Бюджет\Ресурсы</value>
    <param value="Library" type="3" name="version">36.042.80</param>
    <param value="Library" type="3" name="crc32">$CE2DF7FD</param>
  </node>
  <version_info>
    <file>Сборка.АвтоисполняемыеМакросы.xml</file>
    <version>36.150.00</version>
    <info>&lt;p&gt;Макросы, которые выполняются при импорте в реестр, а также инструкции по удалению узлов, параметров, строк конфигурации. Нигде не сохраняются.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:21</buildtime>
  </version_info>
  <description>Служебные АБЛ-макросы</description>
  <script type="abl" exec="after" name="ДобавитьТипПрава">включить "\библиотеки\LibRu.lib";

константы
  ТипПрава = 13;
  ИмяТипаПрава = "Оповещение"; // не имеет значения, если добавляется объект для существующего типа права
  
  // ТипОбъекта = -1  - не добавлять объект для типа права
  ТипОбъекта = 6000000; // Состояния
  
  ПолучитьТипПрава = "select id from RightKind where id = %d";
  ДобавитьТипПрава = "insert into RightKind (ID, Name) values (%d, '%s')";
  ПолучитьОбъектДляТипаПрава = "select id from DBRights where (RightKindRef = %d) and (ObjectKindRef = %d)";
  ДобавитьОбъектДляТипаПрава = "insert into DBRights (RightKindRef, ObjectKindRef) values (%d, %d)";
  
переменные
  ТипыПрав, ОбъектыДляТипаПрава: Выборка;
  
начало
  ТипыПрав := СоздатьВыборку(Формат(ПолучитьТипПрава, ТипПрава));
  попытка
    если ТипыПрав.ЧислоЗаписей = 0 тогда
      ВыполнитьЗапрос(Формат(ДобавитьТипПрава, ТипПрава, ИмяТипаПрава));   
  обязательно
    УдалитьОбъект(ТипыПрав);
  конец;
  
  если ТипОбъекта &lt;&gt; -1 тогда
  начало
    ОбъектыДляТипаПрава := СоздатьВыборку(Формат(ПолучитьОбъектДляТипаПрава, ТипПрава, ТипОбъекта));
    попытка
      если ОбъектыДляТипаПрава.ЧислоЗаписей = 0 тогда
        ВыполнитьЗапрос(Формат(ДобавитьОбъектДляТипаПрава, ТипПрава, ТипОбъекта));  
    обязательно
      УдалитьОбъект(ОбъектыДляТипаПрава);  
    конец;
  конец;
конец.
    </script>
  <script type="abl" exec="before" name="УдалениеОбъектов">
включить "\Библиотеки\LibRu.lib";
начало
  если СтроковаяКонстанта(-1, 70) = "" тогда
    СтроковаяКонстанта(-1, 70) := "TXT=1,CLL=1,XLS=1,XLSX=1,DOC=1,RTF=1,DOCX=1,PDF=1,TIF=1,TIFF=1,DJVU=1,DJV=1,JP2=1,GIF=1,ODS=1,ODT=1,BMP=2,PNG=2,JPG=2,JPEG=2,RAR=1,ZIP=1";

  если СтроковаяКонстанта(-1, 71) = "" тогда
    СтроковаяКонстанта(-1, 71) := "TXT,CLL,XLS,XLSX,DOC,RTF,DOCX,PDF,TIF,TIFF,DJVU,DJV,JP2,GIF,ODS,ODT,BMP,PNG,JPG,JPEG,RAR,ZIP"
конец;
	</script>
  <script type="abl" exec="before" name="УдалениеОбъектов">
включить "\Библиотеки\LibRu.lib";	
переменные
  Значение: Строка;
начало
  Значение := Прописные(СтроковаяКонстанта(1000, 47));
  если (Позиция("SB_PACKET", Значение) &gt; 0) и (Позиция("SB_ATTACHEDFILES", Значение) &lt;= 0) тогда
    СтроковаяКонстанта(1000, 47) :=  СтроковаяКонстанта(1000, 47) + "," + "SB_AttachedFiles"
конец;
	</script>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <delete filter="CLS=09030300" />
      <!--Форма № 17 по лс-->
    </value>
    <param value="Документы" type="3" name="version">36.150.00</param>
  </node>
  <script type="abl" exec="before" name="ИнициализацияКонстантыПластиковыхКарт">
включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

переменные
  Карты: СтатическиеДанные;
начало
  ЦелаяКонстанта(63, 1) := 0;
  если Разыменовать('ЕстьЛицензия.ПластиковыеКарты', 1) тогда
  начало
    Карты := СоздатьСтатическиеДанные;
    попытка
      Карты.СоединитьБД;
      Карты.Запрос := "[PumpData]{select count(c.id) id from Cards c}";
      Карты.Открыть;
      если Карты.ПолеПоИмени("id").КакЦелое &gt; 5 тогда
        ЦелаяКонстанта(63, 1) := 1;
    обязательно
      УдалитьОбъект(Карты);
    конец;
  конец;
конец;
	</script>
  <script type="abl" exec="after" name="ПереносДействийСистемыСостоянийДляЭО">включить "Бюджет\Ресурсы\библиотеки\LibRU.lib";
включить "Бюджет\Ресурсы\библиотеки\DataTools.lib";

константы
  Принятие = "ExchAccept";
  Отклонение = "ExchReject";
  Отправка = "ExchPacketSend";
  Удаление = "ExchPacketRem";
  
функция ПроставитьДействиеЭО(Формат: целое; ИмяДействия, ИмяПоля: строка; КодИтф: целое);
переменные
  Имя: строка;
начало
  попытка
    Имя := УбратьПробелы(Параметр(dbElExch, Формат, ИмяДействия));
    если Имя &lt;&gt; "" тогда
      ВыполнитьЗапрос("update State_Actions set " + ИмяПоля + "=1 where (name='" + Имя + "') and (DocTypeRef=" + ЦелоеВСтроку(КодИтф) + ")");
  неудача
  конец;
конец;

начало
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияПроведенияПП", Принятие, 302);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтклоненияПП", Отклонение, 302);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтправкиПП", Отправка, 302);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияУдаленияПакетаПП", Удаление, 302);
  
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияПроведенияЧека", Принятие, 304);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтправкиПакетаЗаявкиНаНаличность", Отправка, 304);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияУдаленияПакетаЗаявкиНаНаличность", Удаление, 304);  

  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияПроведенияОбъявления", Принятие, 306);

  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияПроведенияППВрайоны", Принятие, 311);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтклоненияППВРайоны", Отклонение, 311);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтправкиВРайоны", Отправка, 311);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияУдаленияПакетаППВРайоны", Удаление, 311);

  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияПроведенияПодтвПеречислНаРСРайонов", Принятие, 312);

  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияПроведенияВозвратИзРайонов", Принятие, 314);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтклоненияВозвратИзРайонов", Отклонение, 314);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтправкиВозвратИзРайонов", Отправка, 314);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияУдаленияПакетаВозвратИзРайонов", Удаление, 314);
 
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияПроведенияЗаявки", Принятие, 1701);
  
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияПроведенияРР", Принятие, 4401);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтклоненияРР", Отклонение, 4401);
  ПроставитьДействиеЭО(кфОбщий, "ИмяДействияОтправкиРР", Отправка, 4401);
      
  ПроставитьДействиеЭО(кфУФК2009, "ИмяДействияПроведенияУведомленияПоступ", Принятие, 5501);
  ПроставитьДействиеЭО(кфУФК2009, "ИмяДействияОтклоненияУведомленияПоступ", Отклонение, 5501);
  ПроставитьДействиеЭО(кфУФК2009, "Имя действия для отправки уведомления об уточнении поступлений", Отправка, 5501);
  
  ПроставитьДействиеЭО(кфУФК2009, "ИмяДействияПроведенияУведомленияВыб", Принятие, 5502);
  ПроставитьДействиеЭО(кфУФК2009, "ИмяДействияОтклоненияУведомленияВыб", Отклонение, 5502);
  ПроставитьДействиеЭО(кфУФК2009, "Имя действия для отправки уведомления об уточнении выбытий", Отправка, 5502);  
конец.
    </script>
  <script type="abl" name="Установка значений всех классификаторов констант контролируемой классификации" exec="after">
включить "Бюджет\Ресурсы\библиотеки\LibRu.Lib";
константы
  СписокКонстантПрИнд33 = "32,63,215,260,261,262,263,264,265,268,271,272,273,274,1601";
  СписокКонстантПрИнд34 = "32,63,260";
  МаппингКлсПлан        = "КВСР,КФСР,КЦСР,КВР,КЭСР,СубКЭСР,ТипСредств,Мероприятие,Направление,Регион,ВидАссигнований,ВидПлана,КодЦелевыхСредств,"+
                          "КодБюджАссигнования,КодРасходногоОбязательства,КодСубсидии";
  // для ConstIndex 263
  МаппингКлсПланБюдж    = "КВСР,КФСР,КЦСР,КВР,КЭСР,СубКЭСР,ТипСредств,Мероприятие,Направление,Регион,ВидАссигнований,ВидПлана,КодЦелевыхСредств,"+
                          "КодБюджАссигнования,КодРасходногоОбязательства";
  // для ConstIndex 274
  МаппингКлсПланПодневныйПОФ = "КВСР,КФСР,КЦСР,КВР,КЭСР,СубКЭСР,ТипСредств,Мероприятие,Направление,Регион,ВидАссигнований,ВидПлана,КодЦелевыхСредств";
  // для ConstIndex 63, 1601
  МаппингКлсКазнЛимИБО  = "КВСР,КФСР,КЦСР,КВР,КЭСР,СубКЭСР,ТипСредств,Мероприятие,Направление,Регион,КодЦелевыхСредств,"+
                          "КодБюджАссигнования,КодРасходногоОбязательства,КодСубсидии";
  // для ConstIndex 215, 264, 265, 271
  МаппингКлсПланИсточ   = "СубКЭСР,ТипСредств,Мероприятие,Направление,Регион,ВидАссигнований,ВидПлана,"+
                          "КодБюджАссигнования,КодРасходногоОбязательства,КодСубсидии";

переменные
  ТекстМапКлс, ТекстСпКонст: Текст;
  сч1, сч2, ФлДобавл: целое;
  стр, РезСтр: строка;
  БудСервер : внешнийОбъект;

функция ОбновитьКонстанту(Инсерт,ПрогИнд,КонстИнд: целое; ЗначКонст: строка);
переменные
  Выб: Выборка;
начало
  Выб := СоздатьВыборку;
  попытка
    Выб.БазаДанных := Бюджет;
    попытка
      ОткрытьТранзакцию;
      если Инсерт тогда
        Выб.Запрос := "insert into VarCharConst (ProgIndex,ConstIndex,ConstValue) values (:ProgIndex,:ConstIndex,:ConstValueStr)"
      иначе
        Выб.Запрос := "update VarCharConst set ConstValue=:ConstValueStr where ProgIndex=:ProgIndex and ConstIndex=:ConstIndex";
      Выб.Параметр("ProgIndex").КакЦелое := ПрогИнд;
      Выб.Параметр("ConstIndex").КакЦелое := КонстИнд;
      Выб.Параметр("ConstValueStr").КакСтрока := ЗначКонст;
      Выб.Выполнить;
      ЗакрытьТранзакцию;
    неудача
      ОтменитьТранзакцию;
      ВызватьОшибку(ПоследняяОшибка);
    конец;
  обязательно
    УдалитьОбъект(Выб);
  конец;
конец;

начало
  ТекстМапКлс := СоздатьТекст;
  ТекстСпКонст := СоздатьТекст;
  попытка

    // обновим константы

    ПолучитьИнтерфейс('{0883A57C-7912-4F95-9B5C-83021FAFABA3}',БудСервер);
    Если не(БудСервер = nil) тогда БудСервер.Refresh;

    // константы 33 прогиндекса

    ТекстСпКонст.РазделенноеЗначение := СписокКонстантПрИнд33;
    от сч1 := 0 до ТекстСпКонст.Количество-1 делать
    начало
      если (ТекстСпКонст.Стр(сч1) = "263") тогда
        ТекстМапКлс.РазделенноеЗначение := МаппингКлсПланБюдж
      иначе
      если (ТекстСпКонст.Стр(сч1) = "274") тогда
        ТекстМапКлс.РазделенноеЗначение := МаппингКлсПланПодневныйПОФ
      иначе
      если (ТекстСпКонст.Стр(сч1) = "63") или (ТекстСпКонст.Стр(сч1) = "1601") тогда
        ТекстМапКлс.РазделенноеЗначение := МаппингКлсКазнЛимИБО
      иначе
      если (ТекстСпКонст.Стр(сч1) = "215") или (ТекстСпКонст.Стр(сч1) = "264") или
           (ТекстСпКонст.Стр(сч1) = "265") или (ТекстСпКонст.Стр(сч1) = "271") тогда
        ТекстМапКлс.РазделенноеЗначение := МаппингКлсПланИсточ
      иначе
        ТекстМапКлс.РазделенноеЗначение := МаппингКлсПлан;
      РезСтр := СтроковаяКонстанта(33, СтрокаВЦелое(ТекстСпКонст.Стр(сч1)));
      стр := "";
      ФлДобавл := 0;
      от сч2 := 0 до ТекстМапКлс.Количество - 1 делать
      начало
        если Позиция(ТекстМапКлс.Стр(сч2),РезСтр) &lt;= 0 тогда
        начало
          если (ТекстСпКонст.Стр(сч1) = "262") и (Строчные(ТекстМапКлс.Стр(сч2)) = "КОДСУБСИДИИ") тогда
            стр := стр + "," + ТекстМапКлс.Стр(сч2) + "=1"
          иначе
          если (Строчные(ТекстМапКлс.Стр(сч2)) = "ВИДПЛАНА") или
               (Строчные(ТекстМапКлс.Стр(сч2)) = "КОДБЮДЖАССИГНОВАНИЯ") или
               (Строчные(ТекстМапКлс.Стр(сч2)) = "КОДРАСХОДНОГООБЯЗАТЕЛЬСТВА") или
               (Строчные(ТекстМапКлс.Стр(сч2)) = "КОДСУБСИДИИ") тогда
            стр := стр + "," + ТекстМапКлс.Стр(сч2) + "=0"
          иначе
            стр := стр + "," + ТекстМапКлс.Стр(сч2) + "=1";
          ФлДобавл := 1;
        конец;
      конец;
      если ФлДобавл тогда
      начало
        если РезСтр = "" тогда
        начало
          РезСтр := Подстрока(стр,2);
          ОбновитьКонстанту(1, 33, СтрокаВЦелое(ТекстСпКонст.Стр(сч1)), РезСтр);
        конец
        иначе
          начало
            РезСтр := РезСтр + стр;
            ОбновитьКонстанту(0, 33, СтрокаВЦелое(ТекстСпКонст.Стр(сч1)), РезСтр);
          конец;
      конец;
    конец;

    // константы 34 прогиндекса

    ТекстСпКонст.РазделенноеЗначение := СписокКонстантПрИнд34;
    от сч1 := 0 до ТекстСпКонст.Количество-1 делать
    начало
      если (ТекстСпКонст.Стр(сч1) = "63") тогда
        ТекстМапКлс.РазделенноеЗначение := МаппингКлсКазнЛимИБО
      иначе
        ТекстМапКлс.РазделенноеЗначение := МаппингКлсПлан;
      РезСтр := СтроковаяКонстанта(34, СтрокаВЦелое(ТекстСпКонст.Стр(сч1)));
      стр := "";
      ФлДобавл := 0;
      от сч2 := 0 до ТекстМапКлс.Количество - 1 делать
      начало
        если Позиция(ТекстМапКлс.Стр(сч2),РезСтр) &lt;= 0 тогда
        начало
          если (Строчные(ТекстМапКлс.Стр(сч2)) = "ВИДПЛАНА") или
               (Строчные(ТекстМапКлс.Стр(сч2)) = "КОДБЮДЖАССИГНОВАНИЯ") или
               (Строчные(ТекстМапКлс.Стр(сч2)) = "КОДРАСХОДНОГООБЯЗАТЕЛЬСТВА") или
               (Строчные(ТекстМапКлс.Стр(сч2)) = "КОДСУБСИДИИ") тогда
            стр := стр + "," + ТекстМапКлс.Стр(сч2) + "=0"
          иначе
            стр := стр + "," + ТекстМапКлс.Стр(сч2) + "=1";
          ФлДобавл := 1;
        конец;
      конец;
      если ФлДобавл тогда
      начало
        если РезСтр = "" тогда
        начало
          РезСтр := Подстрока(стр,2);
          ОбновитьКонстанту(1, 34, СтрокаВЦелое(ТекстСпКонст.Стр(сч1)), РезСтр);
        конец
        иначе
          начало
            РезСтр := РезСтр + стр;
            ОбновитьКонстанту(0, 34, СтрокаВЦелое(ТекстСпКонст.Стр(сч1)), РезСтр);
          конец;
      конец;
    конец;
  обязательно
    УдалитьОбъект(ТекстМапКлс,ТекстСпКонст);
  конец;
конец.
  </script>
  <version_info>
    <file>Сборка.Генерация.xml</file>
    <version>36.042.483</version>
    <info>&lt;p&gt;Поддержка автогенерации документов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:25</buildtime>
  </version_info>
  <description>Стандартные макросы для автогенерации документов</description>
  <node path="%root%\Объекты\Обработка\Скрипты\Генерация">
    <value type="7" name="Генерация">включить "Project";
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\отчеты\ПоддержкаГенерации';
включить '\Макросы\Отчеты\ПоддержкаФормВвода';
включить '\Библиотеки\Control.lib';

Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Ф: ФормаВвода;
  ТекущееИД: целое;
начало
  если Коллекция.Значение('КодДокумента') = "" тогда
    Коллекция.Значение('КодДокумента') := GetLimitStr(ПолучитьВыбранныеДанные(0), 'ID');
  Коллекция.Значение("ПечатныйДокумент") := да;
  если ВыполнитьГенерацию(CLSID, Шаблон, Коллекция) тогда
  начало
    Ф := ПолучитьФормуВвода;
    если Ф.Заголовки.Таблица.FindField('id', nil) тогда
      ТекущееИД := Ф.Заголовки.Таблица.ПолеПоИмени("id").КакЦелое
    иначе
      ТекущееИД := -1;  
    Ф.Заголовки.Открыть;
    если ТекущееИД &lt;&gt; -1 тогда
      Ф.Заголовки.Таблица.Locate('id', ТекущееИД, 0);
  конец
  иначе
    Сообщение("Сохранение данных отменено", Сообщение_Ошибка, Кнопка_ОК);    
конец.
</value>
    <param value="Генерация" type="3" name="Export">ZIMIN\zimin\25.09.2008 14:06:44</param>
    <param value="Генерация" type="3" name="version">36.042.483</param>
    <param value="Генерация" type="3" name="crc32">$2584A636</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Генерация">
    <value type="7" name="ГенерацияДеталь">включить "Project";
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\отчеты\ПоддержкаГенерации';
включить '\Макросы\Отчеты\ПоддержкаФормВвода';
включить '\Библиотеки\Control.lib';

Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Ф: ФормаВвода;
  ТекущееИД: целое;
начало
  Ф := ПолучитьФормуВвода;
  если не Ф.Заголовки.Таблица.Active тогда
    ВызватьОшибку("Форма ввода не активна, нажмите кнопку [Выполнить]");
  если Ф.АктивнаяДетализация = -1 тогда
    Коллекция.Значение('КодДокумента') := GetLimitStr(ПолучитьВыбранныеДанные(0), 'ID')
  иначе    
    если Ф.Детализация(0).Сетка.ЕстьВыделенныеСтроки тогда
      Коллекция.Значение('КодЗаписи') := GetLimitStr(ПолучитьВыбранныеДанные(1), 'ID')    
    иначе
      Коллекция.Значение('КодЗаписи') := Ф.Детализация(ф.АктивнаяДетализация).Таблица.ПолеПоИмени("ID").КакСтрока;   

  Коллекция.Значение("ПечатныйДокумент") := да;
  если ВыполнитьГенерацию(CLSID, Шаблон, Коллекция) тогда
  начало
    Ф := ПолучитьФормуВвода;
    если Ф.Заголовки.Таблица.FindField('id', nil) тогда
      ТекущееИД := Ф.Заголовки.Таблица.ПолеПоИмени("id").КакЦелое
    иначе
      ТекущееИД := -1;  
    Ф.Заголовки.Открыть;
    если ТекущееИД &lt;&gt; -1 тогда
      Ф.Заголовки.Таблица.Locate('id', ТекущееИД, 0);
  конец
  иначе
    Сообщение("Сохранение данных отменено", Сообщение_Ошибка, Кнопка_ОК);    
конец.
</value>
    <param value="ГенерацияДеталь" type="3" name="Export">ZIMIN\zimin\02.06.2009 17:31:36</param>
    <param value="ГенерацияДеталь" type="3" name="version">36.042.483</param>
    <param value="ГенерацияДеталь" type="3" name="crc32">$455ABC4C</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Генерация">
    <value type="7" name="ГенерацияТекущегоДокумента">включить "Project";
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\отчеты\ПоддержкаГенерации';

Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Ф: ФормаВвода;
  ТекущееИД: целое;
начало
  если ВыполнитьГенерацию(CLSID, Шаблон, Коллекция) тогда
  начало
    Ф := ПолучитьФормуВвода;
    если Ф.Заголовки.Таблица.FindField('id', nil) тогда
      ТекущееИД := Ф.Заголовки.Таблица.ПолеПоИмени("id").КакЦелое
    иначе
      ТекущееИД := -1;  
    Ф.Заголовки.Открыть;
    если ТекущееИД &lt;&gt; -1 тогда
      Ф.Заголовки.Таблица.Locate('id', ТекущееИД, 0);
  конец
  иначе
    Сообщение("Сохранение данных отменено", Сообщение_Ошибка, Кнопка_ОК);    
конец.
</value>
    <param value="ГенерацияТекущегоДокумента" type="3" name="Export">ZIMIN\zimin\25.09.2008 14:06:47</param>
    <param value="ГенерацияТекущегоДокумента" type="3" name="version">36.042.483</param>
    <param value="ГенерацияТекущегоДокумента" type="3" name="crc32">$B75A4B42</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010100</V>
            <V N="Name">Формирование поквартального ПОФ по ПБС на основе БР</V>
            <V N="Template">(02.01.01) Формирование поквартального КП по ПБС на основе БР.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010200</V>
            <V N="Name">Формирование помесячного ПОФ по ПБС на основе БР</V>
            <V N="Template">(02.01.02) Формирование помесячного КП по ПБС на основе БР.tmf</V>
            <V N="Generation">ГенерацияДеталь</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010300</V>
            <V N="Name">Формирование ЛБО БР на основе БА БР</V>
            <V N="Template">(02.01.03) Формирование ЛБО БР на основе БА БР.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">9</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020100</V>
            <V N="Name">Формирование поквартального КП на основе СБР</V>
            <V N="Template">(02.02.01) Формирование поквартального КП на основе СБР.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020200</V>
            <V N="Name">Формирование БР на основе СБР</V>
            <V N="Template">(02.02.02) Формирование БР на основе СБР.tmf</V>
            <V N="Generation">ГенерацияДеталь</V>
            <V N="Options">0</V>
            <V N="OptionsPath">12</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020300</V>
            <V N="Name">Формирование ЛБО на основе БА</V>
            <V N="Template">(02.02.03) Формирование ЛБО на основе БА.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">9</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060100</V>
            <V N="Name">Формирование бюджетной росписи на основе ПОФ по ПБС</V>
            <V N="Template">(02.06.01) Формирование БР на основе КП по ПБС.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060200</V>
            <V N="Name">Формирование помесячного ПОФ по ПБС на основе поквартального ПОФ по ПБС</V>
            <V N="Template">(02.06.02) Формирование помесячного КП по ПБС на основе квартального КП по ПБС.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080100</V>
            <V N="Name">Формирование поквартального ПОФ по ПБС на основе помесячного ПОФ по ПБС</V>
            <V N="Template">(02.08.01) Формирование поквартального КП по ПБС на основе помесячного КП по ПБС.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080200</V>
            <V N="Name">Формирование бюджетной росписи на основе помесячного ПОФ по ПБС</V>
            <V N="Template">(02.08.02) Формирование БР на основе помесячного КП по ПБС.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020100</V>
            <V N="Name">Формирование разассигновки и внутренней переброски на основе п/п</V>
            <V N="Template">(03.02.01) Формирование Разассигновки и Внутренней переброски.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020200</V>
            <V N="Name">Платежное поручение АС Смета</V>
            <V N="Template">(03.02.02) Платежное поручение для АС Смета.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040100</V>
            <V N="Name">Формирование перечислений по чекам по бюджетным средствам</V>
            <V N="Template">(03.04.01) Формирование перечисления по чеку.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">5</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040300</V>
            <V N="Name">Формирование возврата по чекам</V>
            <V N="Template">(03.06.01) Формирование возврата со счетов наличности на основании объявлений.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">8</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040500</V>
            <V N="Name">Формирование перечислений по чекам для БУ, АУ</V>
            <V N="Template">(03.04.01) Формирование перечисления по чеку.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">5</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040600</V>
            <V N="Name">Формирование возврата по чекам для БУ, АУ</V>
            <V N="Template">(03.06.01) Формирование возврата со счетов наличности на основании объявлений.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">8</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040700</V>
            <V N="Name">Формирование разассигновки и внутренней переброски по чекам</V>
            <V N="Template">(03.02.01) Формирование Разассигновки и Внутренней переброски.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">3</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050200</V>
            <V N="Name">Формирование разассигновки и внутренней переброски на основе прихода от прочих</V>
            <V N="Template">(03.02.01) Формирование Разассигновки и Внутренней переброски.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">3</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060100</V>
            <V N="Name">Формирование возврата по объявлениям</V>
            <V N="Template">(03.06.01) Формирование возврата со счетов наличности на основании объявлений.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">7</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060200</V>
            <V N="Name">Формирование разассигновки и внутренней переброски на основе прихода по объявлениям</V>
            <V N="Template">(03.02.01) Формирование Разассигновки и Внутренней переброски.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">3</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060300</V>
            <V N="Name">Формирование возврата по объявлениям для БУ, АУ</V>
            <V N="Template">(03.06.01) Формирование возврата со счетов наличности на основании объявлений.tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
            <V N="OptionsPath">7</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010300</V>
            <V N="Name">Расходное расписание финоргана</V>
            <V N="Template">(44.01.03) Расходное расписание финоргана.tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010400</V>
            <V N="Name">Расходное расписание распорядителя</V>
            <V N="Template">(44.01.04) Расходное расписание распорядителя.tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010500</V>
            <V N="Name">Расходное расписание финоргана (поквартальный КП)</V>
            <V N="Template">(44.01.05) Расходное расписание финоргана (квартальный КП).tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010600</V>
            <V N="Name">Расходное расписание финоргана (помесячный КП)</V>
            <V N="Template">(44.01.06) Расходное расписание финоргана (месячный КП).tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010700</V>
            <V N="Name">Расходное расписание финоргана (на указанный месяц)</V>
            <V N="Template">(44.01.07) Расходное расписание финоргана (на указанный месяц).tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010800</V>
            <V N="Name">Расходное расписание распорядителя (на указанный месяц)</V>
            <V N="Template">(44.01.08) Расходное расписание распорядителя (на указанный месяц).tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010900</V>
            <V N="Name">Расходное расписание финоргана (на указанный квартал)</V>
            <V N="Template">(44.01.09) Расходное расписание финоргана (на указанный квартал).tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44011000</V>
            <V N="Name">Расходное расписание распорядителя (на указанный квартал)</V>
            <V N="Template">(44.01.10) Расходное расписание распорядителя (на указанный квартал).tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44011100</V>
            <V N="Name">Расходное расписание финоргана (по РР распорядителя)</V>
            <V N="Template">(44.01.11) Расходное расписание финоргана (по РР распорядителя).tmf</V>
            <V N="Generation">Генерация</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030100</V>
            <V N="Name">Казначейское уведомление</V>
            <V N="Template">(44.03.01) Казначейское уведомление.tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Генерация">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030200</V>
            <V N="Name">Расходное расписание (внутреннее)</V>
            <V N="Template">(44.03.02) Расходное расписание (внутреннее).tmf</V>
            <V N="Generation">ГенерацияТекущегоДокумента</V>
            <V N="Options">0</V>
            <V N="OptionsPath">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Генерация" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаГенерации">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\LinkInfo2.lib';
включить '\Библиотеки\Generation.lib';
включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
/$если Бюджет
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
/$иначе
включить '\Макросы\Состояния\ФункцииДляСостояний.abl';
/$конец

константы
  stVarData="Данные";
  кАктивныеПараметры = "АктивныеПараметры";
  кОшибкаСохраненияИзмененийСтр = "Ошибка сохранения изменений страницы: ";
  кОшибкаСохраненияИзменений = "Ошибка сохранения изменений: ";
  кАлиасТаблицы = "t";

функция СформироватьОграничение(Страница : ITemplate;Коллекция : IVariables): строка;
переменные
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  сч: целое;
  Параметры: IVariables;
  МаппингОграничения: строка;
  Маппинг: текст;
начало
  Результат := "";
  МаппингОграничения := "";
  Раскладка := Страница.TableInfo;
  Параметры := CreateVariables;
  Маппинг := СоздатьТекст;
  попытка
    Параметры.PumpData(Коллекция);
    Маппинг.РазделенноеЗначение := Параметры.Значение("МаппингОграничений");
    от сч := 0 до Маппинг.Количество - 1 делать
      если Параметры.ПараметрСуществует(Маппинг.ИмяПараметра(сч)) тогда
        Параметры.Значение(Маппинг.ЗначениеПараметра(Маппинг.ИмяПараметра(сч))) := 
          Параметры.Значение(Маппинг.ИмяПараметра(сч));
    от сч := 0 до Раскладка.Count - 1 делать
    начало
      Колонка := Раскладка.Columns(сч);
      если (Колонка.Params(stCol_DSSave) = истина)и(Колонка.AliasName &lt;&gt; '') тогда
        если (Параметры.Значение(Колонка.Name) &lt;&gt; '') тогда
          МаппингОграничения := МаппингОграничения + ',' + Колонка.Name + "=" + кАлиасТаблицы + "." + Колонка.AliasName;
    конец;
    МаппингОграничения := Подстрока(МаппингОграничения, 2, длина(МаппингОграничения) - 1);
    Результат := Ограничение(МаппингОграничения, Параметры);
  обязательно
    УдалитьОбъект(Параметры);
    УдалитьОбъект(Маппинг);
  конец;
конец;

функция ПолучитьДанныеПоРесурсу(РесурсныйШаблон: ITemplates;Коллекция : IVariables): СтатическиеДанные;
переменные
  сч: целое;
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  Запрос, ИмяТаблицы, СписокПолей, ПоляВыборки, МаппингПереносаПолей: строка;
  Данные: СтатическиеДанные;
  СписокПолейВыборки: текст;
  Ограничения, Парам: IVariables;
  Страница: ITemplate;
начало
  Страница := РесурсныйШаблон.Template;
  Ограничения := CreateVariables;
  Парам := CreateVariables;
  Результат := СоздатьСтатическиеДанные;
  попытка
    Ограничения.PumpData(Коллекция);
    Ограничения.PumpData(Страница.Variables);
    Раскладка := Страница.TableInfo;
    Парам.Values(АлгПараметры) := Ограничения;
    Парам.Values(АлгДанные) := Результат;
    Парам.Values(АлгПараметрыВывода) := Ограничения;
    Парам.Values(АлгРаскладка) := Раскладка;
    Парам.Values(АлгГлобальныеПараметры) := Коллекция;

    // Обработчик до закачки - ДоЗакачки 
    EventRecursive(ДоЗакачки, Парам, РесурсныйШаблон, да); 

    Данные := СоздатьСтатическиеДанные;
    ИмяТаблицы := Раскладка.Params("_TableName");
    СписокПолей := "";
    МаппингПереносаПолей := "";
    //Получаем маппинг переноса
    от сч := 0 до Раскладка.Count - 1 делать
    начало
      Колонка := Раскладка.Columns(сч);
      если (Колонка.Params(stCol_DSSave) = истина)и(Колонка.AliasName &lt;&gt; '') тогда
        МаппингПереносаПолей := МаппингПереносаПолей + "," + Колонка.Name + "=" + Колонка.AliasName;
    конец;
    МаппингПереносаПолей := Подстрока(МаппингПереносаПолей, 2, длина(МаппингПереносаПолей) - 1);

    //По раскладке получаем поля выборки
    ПоляВыборки := ВернутьПоляГруппировки(МаппингПереносаПолей, Раскладка, нет);
    
    //На основании полей выборки формируем список выбираемых полей
    СписокПолейВыборки := СоздатьТекст;
    попытка
      СписокПолейВыборки.РазделенноеЗначение := ПоляВыборки;
      от сч := 0 до СписокПолейВыборки.Количество - 1 делать
      начало
        Колонка := Раскладка.Columns(Раскладка.FindColumnByAlias(СписокПолейВыборки.Стр(сч)));
        СписокПолей := СписокПолей + ', ' + кАлиасТаблицы + '.' + Колонка.AliasName;      
      конец;
    обязательно
      УдалитьОбъект(СписокПолейВыборки);
    конец;  
    СписокПолей := Подстрока(СписокПолей, 2, длина(СписокПолей) - 1);
    Запрос := "[PumpData]{select " + СписокПолей + " from " + ИмяТаблицы + " " + 
      кАлиасТаблицы + " where (1=1)" + СформироватьОграничение(Страница, Ограничения)  + "}";
    Данные.Запрос := Запрос;
    Данные.СоединитьБД;
    ПолучитьДанные(Данные, Ограничения);

    ДобавитьПоля(Раскладка, Результат);
    Результат.Открыть;
    Результат.PumpData(Данные, МаппингПереносаПолей);
    // Обработчик после закачки - ПослеЗакачки          
    EventRecursive(ПослеЗакачки, Парам, РесурсныйШаблон, нет);     
  обязательно
    УдалитьОбъект(Ограничения);
    УдалитьОбъект(Парам);
  конец; 
конец;

функция СтраницаПоИдентификатору(Шаблон: ITemplates; ИмяСтраницы: строка): целое;
переменные
  сч,СтарыйИндекс: целое;
начало
  результат := -1;
  СтарыйИндекс := Шаблон.Index;
  попытка
    от сч := 0 до Шаблон.Count - 1 делать
    начало
      Шаблон.Index := сч;
      если Шаблон.Template.Identifier = ИмяСтраницы тогда
        результат := сч;
    конец;
  обязательно
    Шаблон.Index := СтарыйИндекс;
  конец;  
конец;

функция СохранитьИзмененияДанных(Данные: СтатическиеДанные; Раскладка: ITableInfoX);
переменные
  ВспомДанные: СтатическиеДанные;
  МаппингПереноса, ПоляЗапросаВставки, ПараметрыЗапросаВставки, 
  МаппингИзменений, КлючевоеПоле, ИмяКлючевогоПоля: строка;
  пКлючевоеПоле: поле;
  ВспомПоле: поле;
  Колонка: IColumnInfoX;
  сч: целое;
начало
  если (Раскладка.Params('_TableName') = '') тогда
    ВызватьОшибку(кОшибкаСохраненияИзменений + "Не задано имя таблицы.");

  ВспомДанные := СоздатьСтатическиеДанные;
  Данные.BeginUpdate;
  попытка
    ВспомДанные.СоединитьБД;
    ВспомДанные.AssignFields(Данные);
    ВспомДанные.Закрыть;
    
    МаппингПереноса := "";
    ПоляЗапросаВставки := "";
    ПараметрыЗапросаВставки := "";
    МаппингИзменений := "";
    КлючевоеПоле := "";
    ИмяКлючевогоПоля := "";    
    от сч := 0 до Раскладка.Count - 1 делать
    начало
      Колонка := Раскладка.Columns(сч);
      если (Колонка.AliasName &lt;&gt; "")и(ВспомДанные.НайтиПоле(Колонка.Name, ВспомПоле)) тогда
      начало
        если Колонка.Params(stCol_DSKey) &lt;&gt; 0 тогда
        начало
          если КлючевоеПоле &lt;&gt; '' тогда
            ВызватьОшибку(кОшибкаСохраненияИзменений + "В шаблоне указано несколько ключевых полей.");
          КлючевоеПоле := Колонка.AliasName;
          ИмяКлючевогоПоля := Колонка.Name;          
        конец  
        иначе
        начало  
          если (Колонка.ValueType = vtxString)или(Колонка.ValueType = vtxData) тогда
            МаппингИзменений := МаппингИзменений + "," + Колонка.AliasName + "=~" + Колонка.AliasName
          иначе  
            МаппингИзменений := МаппингИзменений + "," + Колонка.AliasName + "=@" + Колонка.AliasName;
        конец;  
        ВспомПоле.FieldName := Колонка.AliasName;
        МаппингПереноса := МаппингПереноса + "," + Колонка.Name + "=" + Колонка.AliasName;
        ПоляЗапросаВставки := ПоляЗапросаВставки + "," + Колонка.AliasName;
        если (Колонка.ValueType = vtxString)или(Колонка.ValueType = vtxData) тогда
          ПараметрыЗапросаВставки := ПараметрыЗапросаВставки + "~" + Колонка.AliasName + ","
        иначе  
          ПараметрыЗапросаВставки := ПараметрыЗапросаВставки + "@" + Колонка.AliasName + ","
      конец;
    конец;
    если КлючевоеПоле = "" тогда
      ВызватьОшибку(кОшибкаСохраненияИзменений + "Не задано ключевое поле.");
    ПоляЗапросаВставки := Подстрока(ПоляЗапросаВставки, 2, длина(ПоляЗапросаВставки) - 1);
    ПараметрыЗапросаВставки := Подстрока(ПараметрыЗапросаВставки, 1, длина(ПараметрыЗапросаВставки) - 1);
    МаппингПереноса := Подстрока(МаппингПереноса, 2, длина(МаппингПереноса) - 1);
    МаппингИзменений := Подстрока(МаппингИзменений, 2, длина(МаппингИзменений) - 1);
    ВспомДанные.Запрос := "[InsertData]{insert into " + Раскладка.Params('_TableName') + "(" + ПоляЗапросаВставки + 
      ") values (" + ПараметрыЗапросаВставки + ")}" +
      "[ModifyData]{update " + Раскладка.Params('_TableName') + " set " + МаппингИзменений + " where " + 
      КлючевоеПоле + " = @" + КлючевоеПоле + "}" + 
      "[DeleteData]{delete from " + Раскладка.Params('_TableName') + " where " + КлючевоеПоле + " = @" + КлючевоеПоле + "}";
    ВспомДанные.Открыть;
    пКлючевоеПоле := Данные.ПолеПоИмени(ИмяКлючевогоПоля);  
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      если (Данные.UpdateStatus &lt;&gt; usUnmodified)и(не пКлючевоеПоле.IsNull) тогда
      начало
        ВспомДанные.СкопироватьЗапись(нет, Данные, '', МаппингПереноса);
        ВспомДанные.UpdateStatus := Данные.UpdateStatus;
      конец;
      Данные.Следующая;
    конец;
    ВспомДанные.ApplyUpdates;
  обязательно
    Данные.EndUpdate;
    УдалитьОбъект(ВспомДанные);
  конец;
конец;

функция СохранитьИзмененияСтраницы(Визуализатор: IUniViewer; НомерСтраницы: целое);
переменные
  Данные: СтатическиеДанные;
  Страницы: ITemplates;
  Страница: ITemplate;
  Раскладка: ITableInfoX;
  Гриды: IStaticSets;
начало
  Гриды := Визуализатор.Viewer;
  Страницы := Визуализатор.Templates;
  если ((Страницы.Count - 1) &lt; НомерСтраницы) или (НомерСтраницы &lt; 0) тогда
    ВызватьОшибку(кОшибкаСохраненияИзмененийСтр + "Страницы с номером " + ЦелоеВСтроку(НомерСтраницы) + " не существует.");
  Страницы.Index := НомерСтраницы;
  Страница := Страницы.Template;
  Раскладка := Визуализатор.GetTable;
  Данные := Гриды.StaticSets(НомерСтраницы);
  СохранитьИзмененияДанных(Данные, Раскладка);
конец;

функция СохранитьДанныеГенерации(CLSID: целое; Визуализатор: IUniViewer);
переменные
  КоррекцияПоПропущенным,
  сч, ВТранзакции, Вставлено, Изменено, Удалено: целое;
  Порядок: строка;
  СписокСтраниц: текст;
  Страницы: ITemplates;
  Страница: ITemplate;
  Раскладка: ITableInfoX;
  Гриды: IStaticSets;
  Данные, ВспомДанные: СтатическиеДанные;
  Парам, Коллекция: IVariables;
  LinkInfo: ILinkInfo2;
  UpdateState: поле;  
начало
  Порядок := CalcPageOrder(Визуализатор.Templates);
  Гриды := Визуализатор.Viewer;
  СписокСтраниц := СоздатьТекст;
  Парам := CreateVariables;
  LinkInfo := CreateComObject(TLinkInfo2);
  попытка
    СоединитьИнтерфейс(LinkInfo);
    Парам.Values(АлгВизуализатор) := Визуализатор;
    Парам.Значение(cTemplateCLS) := CLSID;
    СписокСтраниц.РазделенноеЗначение := Порядок;
    Страницы := Визуализатор.Templates;
    ВТранзакции := ОткрытьТранзакцию; 
    попытка
      КоррекцияПоПропущенным := 0;
      //Сохранение данных, в порядке их генерации
      от сч := 0 до СписокСтраниц.Количество - 1 делать
      начало
        Страницы.Index := СтрокаВЦелое(СписокСтраниц.Стр(сч));
        Страница := Страницы.Template;
        Раскладка := Визуализатор.GetTable;
        если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) &lt;&gt; '') и (Раскладка.Params('_TableName') &lt;&gt; '') тогда
        начало
          Данные := Гриды.StaticSets(сч - КоррекцияПоПропущенным);
          ВспомДанные := СоздатьСтатическиеДанные;
          Данные.BeginUpdate;
          попытка
            ВспомДанные.AssignFields(Данные);
            ВспомДанные.Открыть;
            если Данные.НайтиПоле("select") тогда
            начало
              Данные.Filter := 'select &lt;&gt; 0';
              Данные.Filtered := да;
            конец;
            ВспомДанные.PumpData(Данные, "");  
            ConnectDataOuter(Парам, СтрокаВЦелое(СписокСтраниц.Стр(сч)), ВспомДанные, LinkInfo);
            Вставлено := 0;
            Изменено := 0;
            Удалено := 0;            
            если ВспомДанные.FindField('UpdateState', UpdateState) тогда
            начало
              ВспомДанные.ВНачало;
              пока не ВспомДанные.ВКонце делать
              начало
                ВспомДанные.UpdateStatus := UpdateState.КакЦелое;
                выбрать UpdateState.КакЦелое из
                  usInserted: Вставлено := Вставлено + 1;
                  usModified: Изменено := Изменено + 1;
                  usDeleted: Удалено := Удалено + 1;
                конец;                
                ВспомДанные.Следующая;
              конец;
            конец
            иначе
            начало
              ВспомДанные.ВНачало;
              пока не ВспомДанные.ВКонце делать
              начало
                ВспомДанные.UpdateStatus := usInserted;
                Вставлено := Вставлено + 1;                
                ВспомДанные.Следующая;
              конец;
            конец;
            СохранитьИзмененияДанных(ВспомДанные, Раскладка);
            //сохраним в коллекцию количество измененных в БД записей
            Страница.Variables.Значение("ДокументовСформировано") := Вставлено;
            Страница.Variables.Значение("ДокументовИзменено") := Изменено;
            Страница.Variables.Значение("ДокументовУдалено") := Удалено;                        
            Коллекция := CreateVariables;
            попытка
              Парам.Values(АлгДанные) := Данные;
              Коллекция.PumpData(Визуализатор.Templates.Template.Variables);            
              Парам.Values(АлгПараметры) := Коллекция;            
              EventRecursive("Сохранение", Парам, Визуализатор.Templates, да);
            обязательно
              УдалитьОбъект(Коллекция);
            конец;                        
          обязательно
            Данные.Filtered := нет;
            Данные.Filter := '';
            Данные.EndUpdate;
            УдалитьОбъект(ВспомДанные);
          конец;
        конец
        иначе если Раскладка.Params("PageSkipped") и (Раскладка.Params(cReadDataPage) &lt;&gt; '')тогда
          КоррекцияПоПропущенным := КоррекцияПоПропущенным + 1; 
      конец;
      если ВТранзакции тогда  
        ЗакрытьТранзакцию;
    неудача
      если ВТранзакции тогда
        ОтменитьТранзакцию;
      ВызватьОшибку(ПоследняяОшибка);
    конец;
  обязательно
    УдалитьОбъект(СписокСтраниц);
    УдалитьОбъект(Парам);
    ЗакрытьИнтерфейс(LinkInfo);
    УдалитьОбъект(LinkInfo);
  конец;  
конец;

функция ПолучитьДанныеГенерации(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
  ЕстьДанные: целое): IUniViewer;
переменные
  ШаблонОтчета, Раскладка, Базовый: ITableInfoX;
  Визуализатор: IUniViewer; 
  ТекстПараметров, НаборДанных: IVariables;
  Страницы: ITemplates;
  Страница: ITemplate;
  ЗначенияПараметров: IVariables;
  Данные, Заголовок: СтатическиеДанные;
  ИмяСтраницы, ИмяВизуализатора: строка;
  ИндексВизуализатора, Действие: целое;
  СписокСтраниц: текст;
  сч: целое;
  Порядок: строка;
  Параметры: строка;
  Гриды: IStaticSets;
начало
  ИмяСтраницы := SSCaption;
  ИмяВизуализатора := SSViewer;
  ИндексВизуализатора := SSID;
  Действие := 0;
  ModalWafer.Clear;
  Визуализатор := ModalWafer.CheckSSViewer;  
  Визуализатор.SetProject(Pather);
  Визуализатор.Template := Шаблон;
  Коллекция.Значение("Генерация") := да;
  ЕстьДанные := нет;  
                                
  //Определяем порядок расчета страниц
  Порядок := CalcPageOrder(Визуализатор.Templates);
  СписокСтраниц := СоздатьТекст;
  попытка
    СписокСтраниц.РазделенноеЗначение := Порядок;
    Страницы := Визуализатор.Templates;
    НаборДанных := Коллекция.Значение(stVarData);
    //Ограничение по правам
    /$если Бюджет 
    если ЕстьПраво("Использование видимости по правам", 20000000, CLSID) тогда
      Коллекция.Значение("ОграничВидимостьПоПравамЧек") := да;
    если не ЕстьПраво("Видимость чужих данных", 20000000, CLSID) тогда
      Коллекция.Значение("Пользователь") := ТекущийПользователь;  
    /$конец      
    //Получаем исходные данные
    от сч := 0 до СписокСтраниц.Количество - 1 делать
    начало
      Страницы.Index := СтрокаВЦелое(СписокСтраниц.Стр(сч));
      Страница := Страницы.Template;
      Визуализатор.TemplateIndex := СтрокаВЦелое(СписокСтраниц.Стр(сч));
      Базовый := Визуализатор.GetTable;
      Раскладка := LoadDynamicReport(CLSID, dcu_Generation, Страница.Identifier, Базовый);
      Раскладка.CopyTo(Базовый);
      если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) = '') тогда
      начало
        если (ШаблонОтчета = Раскладка) тогда 
          ШаблонОтчета := nil;

        Данные := nil;
        
        если НаборДанных &lt;&gt; nil тогда
          Данные := НаборДанных.Значение(СписокСтраниц.Стр(сч));
        если Данные = nil тогда
        начало
        ЗначенияПараметров := Визуализатор.GetVariables;
/$если Бюджет          
/$иначе
          если не ЗначенияПараметров.CheckParam("ЕстьВБюджете") тогда
            ЗначенияПараметров.Values("ЕстьВБюджете") := да;
          если не ЗначенияПараметров.CheckParam("Визированные") тогда
            ЗначенияПараметров.Values("Визированные") := нет;
/$конец
        
          // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
          Если ЗначенияПараметров.Значение(кАктивныеПараметры) &lt;&gt; "" тогда
            Параметры := ЗначенияПараметров.Значение(кАктивныеПараметры);        
          // Определим с учетом приоритетов, должны ли данные формироваться в режиме печатного документа. 
          // требуется при вызове генерации из сценариев, когда управляющий макрос, указанный в конфигурации не используется, 
          // но требуется перекрыть режим печатного документа по умолчанию
          Если не Коллекция.ПараметрСуществует("ПечатныйДокумент") и ЗначенияПараметров.ПараметрСуществует("ПечатныйДокумент") тогда
            Коллекция.Значение("ПечатныйДокумент") := ЗначенияПараметров.Значение("ПечатныйДокумент");
          Если не Коллекция.ПараметрСуществует("ПечатныйДокумент") и Коллекция.ПараметрСуществует("ПечатныйДокументУмолчание") тогда
              Коллекция.Значение("ПечатныйДокумент") := Коллекция.Значение("ПечатныйДокументУмолчание");         
          //Читающая страница. Закачиваем данные
          СформироватьДанные(Параметры, Визуализатор, Базовый,
                             Коллекция, ТекстПараметров, Данные, Заголовок);
        конец;                     
  
        ВывестиДанные(Визуализатор, Базовый, Базовый,
                      ТекстПараметров, Коллекция, Данные, Заголовок, нет);
        Гриды := Визуализатор.Viewer;                      
        Данные := Гриды.StaticSets(Визуализатор.TemplateIndex);
        ЕстьДанные := ЕстьДанные или (Данные.RecordCount &gt; 0);              
        если (Данные.RecordCount = 0)и(Страница.Variables.Значение('СообщениеПриПустойВыборке') &lt;&gt; '') тогда
          ВызватьОшибку(Страница.Variables.Значение('СообщениеПриПустойВыборке'));                          
      конец
    конец;
    Результат := Визуализатор;
  обязательно
    УдалитьОбъект(СписокСтраниц);
  конец;
конец;

функция СформироватьПишущиеСтраницы(
  Визуализатор: IUniViewer;
  CLSID : Целое;
  Коллекция : IVariables): целое;
переменные
  Гриды: IStaticSets;
  сч, сч1, НомерСтроки, НомерСтраницы, Флаг, НачальноеСостояние, КолонкаСостояния: целое;    
  СписокСтраниц, тКлючевыеПоля, тСохрГруппировка: текст;
  Порядок, ИмяГенератора, РодФильтр: строка;
  Страницы: ITemplates;
  Страница: ITemplate;
  Раскладка, _Раскладка, Базовый: ITableInfoX;
  Данные, РодительскиеДанные, ВспомДанные, Заголовок: СтатическиеДанные;
  Парам, ЗначенияПараметров, ПараметрыСостояний: IVariables;
  ТекстПараметров: IVariables;
  Колонка: IColumnInfoX;
  КлючевоеПоле, СостояниеДокумента: поле;
  Прогрес: IProgress;
  Матрица: IUniSheet;
  Грид: ICoolGrid;
  тГруппировка: ВНЕШНИЙОБЪЕКТ;     
начало
  Порядок := CalcPageOrder(Визуализатор.Templates);
  СписокСтраниц := СоздатьТекст;
  Страницы := Визуализатор.Templates;
  Результат := да;
  попытка
    СписокСтраниц.РазделенноеЗначение := Порядок;
    Гриды := Визуализатор.Viewer;
    от сч := 0 до СписокСтраниц.Количество - 1 делать
      если Результат тогда
      начало
        Страницы.Index := СтрокаВЦелое(СписокСтраниц.Стр(сч));
        Страница := Страницы.Template;
        Визуализатор.TemplateIndex := СтрокаВЦелое(СписокСтраниц.Стр(сч));
        Базовый := Визуализатор.GetTable;
        Раскладка := LoadDynamicReport(CLSID, dcu_Generation, Страница.Identifier, Базовый);
        Раскладка.CopyTo(Базовый);        
        если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) &lt;&gt; '') тогда
        начало
          _Раскладка := ExtendTableInfo(Визуализатор.Templates, СтрокаВЦелое(СписокСтраниц.Стр(сч)));
          
          //Если в документе используется система состояний, то показываем колонку состояний и пытаемся ее заполнить
          //начальным состоянием согласно правам 
          НачальноеСостояние := -1;
          если ((_Раскладка.Params('_DocumentCLS') ост 100) = 0)и(ТипДокИдетПоСхеме(_Раскладка.Params('_DocumentCLS') цел 100)) тогда
          начало
            КолонкаСостояния := _Раскладка.FindColumnByField('СостояниеДокумента');
            если КолонкаСостояния &lt;&gt; -1 тогда
            начало
              если _Раскладка.Columns(КолонкаСостояния).Hidden тогда
                _Раскладка.Columns(КолонкаСостояния).Hidden := нет;
              НачальноеСостояние := -2;  
            конец;
          конец;
          
          Данные := СоздатьСтатическиеДанные;
          Данные.СоединитьБД;
          // Параметры для событий и алгоритмов
          Парам := CreateVariables;
          ЗначенияПараметров := Визуализатор.GetVariables;
          ЗначенияПараметров.PumpData(Гриды.Variables(СтраницаПоИдентификатору(Страницы, Раскладка.Params(cReadDataPage))));
          // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
          Если ЗначенияПараметров.Значение("АктивныеПараметры") &lt;&gt; "" тогда
            // Ограничения с панели параметров 
            ЗначенияПараметров := ПолучитьПараметры(Визуализатор.GetVariables, ЗначенияПараметров.Значение("АктивныеПараметры"));        
          Парам.Values(АлгПараметры) := ЗначенияПараметров;
          Парам.Values(АлгДанные) := Данные;
          Парам.Values(АлгПараметрыВывода) := ТекстПараметров;
          Парам.Values(АлгРаскладка) := _Раскладка;
          Парам.Values(АлгГлобальныеПараметры) := Коллекция;
          Парам.Values(АлгВизуализатор) := Визуализатор;
          Парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
          Парам.Значение(cTemplateCLS) := CLSID;
                    
          РодительскиеДанные := СоздатьСтатическиеДанные;
          попытка
            ВспомДанные := Гриды.StaticSets(СтраницаПоИдентификатору(Страницы, Раскладка.Params(cReadDataPage)));            
            
            Грид := Гриды.CoolGrids(СтраницаПоИдентификатору(Страницы, Раскладка.Params(cReadDataPage)));            
            тГруппировка := Грид.GroupedColumns;
            тСохрГруппировка := СоздатьТекст;
            попытка
              //Снимаем группировку что бы записи не дублировались
              тСохрГруппировка.Adapter := Грид.GroupedColumns;
              тГруппировка.Clear;
              РодительскиеДанные.AssignFields(ВспомДанные);
              РодительскиеДанные.Открыть;
              ВспомДанные.Filtered := нет;
              РодительскиеДанные.PumpData(ВспомДанные, "");
              ВспомДанные.Filtered := да;
            обязательно
              от сч1 := 0 до тСохрГруппировка.Количество - 1 делать
                тГруппировка.Add(тСохрГруппировка.Стр(сч1));
              УдалитьОбъект(тСохрГруппировка);              
            конец;              
            Парам.Значение(cParentData) := РодительскиеДанные;
            // Обработчик до закачки - ДоЗакачки, в него передаем еще и родительские данные для предобработки 
            EventRecursive(ДоЗакачки, Парам, Визуализатор.Templates, да);
            
            РодФильтр := "";
            если РодительскиеДанные.НайтиПоле("RowLevel") тогда
            начало
              //Удаляем итоговые строки
              Матрица := Страница.TableArea;
              НомерСтроки := 0;
              РодительскиеДанные.ВНачало;
              пока не РодительскиеДанные.ВКонце делать
              начало
                если Матрица.RowLevel(НомерСтроки) &gt; 0 тогда
                  РодительскиеДанные.Удалить
                иначе  
                  РодительскиеДанные.Следующая;
                НомерСтроки := НомерСтроки + 1;  
              конец;
            конец;
                            
            если РодительскиеДанные.НайтиПоле("Select") тогда
            начало
              если РодФильтр &lt;&gt; '' тогда
                РодФильтр := РодФильтр + "or(Select = 0)"
              иначе
                РодФильтр := РодФильтр + "(Select = 0)";              
            конец;
              
            если РодФильтр &lt;&gt; "" тогда
            начало
              РодительскиеДанные.Фильтр := РодФильтр;
              РодительскиеДанные.Clear;
              РодительскиеДанные.Фильтр := "";
            конец;  
             
            ДобавитьПоля(_Раскладка, Данные);
            Данные.Открыть;
            
            FillChildDataSet(Парам, СтрокаВЦелое(СписокСтраниц.Стр(сч)), Данные, _Раскладка);
            
            //Генерация значений ключевых полей
            тКлючевыеПоля := СоздатьТекст;
            попытка
              //Ищем ключевые поля и сохраняем их номер в тКлючевыеПоля 
              от сч1 := 0 до Раскладка.Count - 1 делать
              начало
                Колонка := Раскладка.Columns(сч1);
                если (Колонка.Params(stCol_DSKey) &lt;&gt; 0)или(Колонка.Params("Генератор") &lt;&gt; "") тогда                
                начало
                  если не Данные.FindField(Колонка.FieldName, nil) тогда
                    ВызватьОшибку("Не задано ключевое поле.");                                
                  НомерСтроки := тКлючевыеПоля.Добавить(Данные.FieldByName(Колонка.FieldName).DefProps('Index'));
                  если Колонка.Params("Генератор") &lt;&gt; "" тогда
                    тКлючевыеПоля.стр(НомерСтроки) := тКлючевыеПоля.стр(НомерСтроки) + "=" + Колонка.Params("Генератор")
                  иначе  
                    тКлючевыеПоля.стр(НомерСтроки) := тКлючевыеПоля.стр(НомерСтроки) + "=g_shared";
                конец;   
              конец;
              если тКлючевыеПоля.Количество &gt; 0 тогда
              начало
                от сч1 := 0 до тКлючевыеПоля.Количество - 1 делать
                начало
                  КлючевоеПоле := Данные.поля(СтрокаВЦелое(тКлючевыеПоля.ИмяПараметра(сч1)));
                  ИмяГенератора := тКлючевыеПоля.ЗначениеПараметра(тКлючевыеПоля.ИмяПараметра(сч1));
                  Данные.ВНачало;
                  пока не Данные.ВКонце делать
                  начало
                    если КлючевоеПоле.Пустое тогда
                      КлючевоеПоле.КакЦелое := ГенерироватьДиап(ИмяГенератора);
                    Данные.Следующая;
                  конец;
                конец;  
              конец;
            обязательно
              УдалитьОбъект(тКлючевыеПоля);
            конец;

            если (НачальноеСостояние &lt;&gt; -1)и(Данные.НайтиПоле("СостояниеДокумента", СостояниеДокумента)) тогда
            начало
              Данные.ВНачало;
              пока не Данные.ВКонце делать
              начало
                если СостояниеДокумента.Пустое тогда
                начало
                  если НачальноеСостояние &lt; 0 тогда
                  начало
                    ПараметрыСостояний := CreateVariables;
                    попытка
                      ПараметрыСостояний.Значение(stVarUserName) := ТекущийПользователь;
                      ПараметрыСостояний.Значение(stVarIntfCode) := _Раскладка.Params('_DocumentCLS') цел 100;
                      /$если Бюджет
                      НачальноеСостояние := GetBeginState(ПараметрыСостояний);
                      /$иначе
                      НачальноеСостояние := ПолучитьНачальноеСостояниеДляДокумента(_Раскладка.Params('_DocumentCLS') цел 100);
                      /$конец
                    обязательно
                      УдалитьОбъект(ПараметрыСостояний);
                    конец;  
                    если НачальноеСостояние = -1 тогда
                      ВызватьОшибку("Нет прав на начальное состояние документа " + ФорматироватьКлассификатор(_Раскладка.Params('_DocumentCLS') цел 100, "00.00") + ".");
                  конец;
                  СостояниеДокумента.КакЦелое := НачальноеСостояние;
                конец;  
                Данные.Следующая;
              конец;
            конец;

            // Обработчик после закачки на вычисление полей (выполняется до формирования внутренних связей)          
            EventRecursive("ВычислениеПолей", Парам, Визуализатор.Templates, нет);

            Парам.Значение("Администратор") := (Access = Access_Adm);
            ConnectDataInner(Парам, СтрокаВЦелое(СписокСтраниц.Стр(сч)), Данные);
            
            // Обработчик после закачки - ПослеЗакачки          
            EventRecursive(ПослеЗакачки, Парам, Визуализатор.Templates, нет);
             
            ДополнительнаяОбработкаДанных(_Раскладка, Парам, Данные);
            ДополнительнаяОбработкаРаскладки(_Раскладка, Парам);
          обязательно
            УдалитьОбъект(РодительскиеДанные);
            УдалитьОбъект(Парам);
          конец;
        
          //Все предыдущие страницы делаем только для чтения 
          от НомерСтраницы := 0 до Гриды.PageCount - 1 делать
            Гриды.ReadOnly(НомерСтраницы) := да;
        
          ВывестиДанные(Визуализатор, Базовый, _Раскладка,
                        ТекстПараметров, Коллекция, Данные, Заголовок, нет);

          //Если страница не скрыта, то покажем ее для изменения перед сохранением или продолжением генерации
          если Страница.Options.Values('PageHidden') = нет тогда
          начало
            Прогрес := Progress;
            попытка
              Прогрес.EndProgress;
              Флаг := sdoNext + sdoCancel;
              если (Access = Access_Adm) тогда 
                Флаг := БитИли(Флаг, sdoTemplate);
              Результат := (ModalWafer.ShowData(Флаг) = sdrContinue);
            обязательно
              Прогрес.BeginProgress;
            конец;
          конец;  
        конец
      конец;
  обязательно
    УдалитьОбъект(СписокСтраниц);
  конец;
конец;

функция ПолучитьКонфигурациюПоКоду(CLSID : Целое; Имя, Шаблон, Настройки: СТРОКА);
переменные
  Поток: ВнешнийОБЪЕКТ;
  Буфер: СтатическиеДанные;
  КодРодителя: целое;
начало
  Поток := ReadEnum(ENUM_GENERATION);
  Буфер := СоздатьСтатическиеДанные;
  попытка
    Буфер.ДобавитьЦелоеПоле("CLS");
    Буфер.ДобавитьСтроковоеПоле("Template", 255);
    Буфер.ДобавитьСтроковоеПоле("Name", 255);
    Буфер.ДобавитьСтроковоеПоле("OptionsPath", 255);
    Буфер.Открыть;
    Буфер.PumpData(Поток, "");
    Буфер.IndexFieldNames := 'CLS';    
    если не Буфер.FindKey(МассивИз(CLSID)) тогда
      ВызватьОшибку("Генерация " + ФорматироватьКлассификатор(CLSID, '00.00.00.00') + ' не найдена в конфигурации.'); 
    Шаблон := TemplatePathEx(tpxGeneration) + Буфер.ПолеПоИмени("Template").КакСтрока;
    Имя := Буфер.ПолеПоИмени("Name").КакСтрока;
    Настройки := Буфер.ПолеПоИмени("OptionsPath").КакСтрока;
    если (CLSID ост 100) &lt;&gt; 0 тогда
    начало
      КодРодителя := (CLSID цел 100) * 100;
      если Буфер.FindKey(МассивИз(КодРодителя)) тогда
        если Буфер.ПолеПоИмени("OptionsPath").КакСтрока &lt;&gt; '' тогда
        начало
          если Настройки &lt;&gt; '' тогда
            Настройки := Буфер.ПолеПоИмени("OptionsPath").КакСтрока + ',' + Настройки
          иначе
            Настройки := Буфер.ПолеПоИмени("OptionsPath").КакСтрока;
        конец;  
    конец;
  обязательно
    УдалитьОбъект(Поток);
    УдалитьОбъект(Буфер);
  конец;
конец;

// Сформировать строку результата генерации по страницам отмеченным параметром 
//"ВыводитьРезультат" на шаблоне
функция ПолучитьСтрокуРезультата(Визуализатор: IUniViewer): строка;
переменные
  Страницы: ITemplates;
  Парам: IVariables;
  НомерСтраницы, сч: целое;
  СтрокаСтраницы: строка;
начало
  Результат := "";
  Страницы := Визуализатор.Templates;
  НомерСтраницы := Страницы.Index;
  попытка
    от сч := 0 до Страницы.Count - 1 делать
    начало
      Страницы.Index := сч;
      Парам := Страницы.Template.Variables;      
      если Парам.Значение("ВыводитьРезультат") = "1" тогда
      начало
        СтрокаСтраницы := "";
        если Парам.CheckParam("ДокументовСформировано") и (Парам.Значение("ДокументовСформировано") &lt;&gt; 0) тогда
          СтрокаСтраницы := "  сформировано " + Парам.Значение("ДокументовСформировано") + " документов";          
        если Парам.CheckParam("ДокументовИзменено") и (Парам.Значение("ДокументовИзменено") &lt;&gt; 0) тогда
        начало
          если СтрокаСтраницы = "" тогда
            СтрокаСтраницы := "  изменено " + Парам.Значение("ДокументовИзменено") + " документов"
          иначе            
            СтрокаСтраницы := СтрокаСтраницы + #13#10 + "  изменено " + Парам.Значение("ДокументовИзменено") + " документов";
        конец;
        если Парам.CheckParam("ДокументовУдалено") и (Парам.Значение("ДокументовУдалено") &lt;&gt; 0) тогда
        начало
          если СтрокаСтраницы = "" тогда
            СтрокаСтраницы := "  удалено " + Парам.Значение("ДокументовУдалено") + " документов"
          иначе            
            СтрокаСтраницы := СтрокаСтраницы + #13#10 + "  удалено " + Парам.Значение("ДокументовУдалено") + " документов";
        конец;
        если СтрокаСтраницы = "" тогда
          СтрокаСтраницы := "  нет изменений";
        СтрокаСтраницы := Страницы.Template.Options.Values('PageName') + ':' + #13#10 + СтрокаСтраницы + '.';
        если Результат = "" тогда
          Результат := СтрокаСтраницы
        иначе
          Результат := Результат + #13#10 + СтрокаСтраницы;          
      конец;
    конец;
  обязательно
    Страницы.Index := НомерСтраницы;
  конец;
конец;

функция ВыполнитьГенерацию(CLSID : Целое; Шаблон : СТРОКА; Коллекция : IVariables): целое;
переменные
  Визуализатор: IUniViewer; 
  ПослеПродолжить_Результат, Флаг, СохранитьДанные, ЕстьДанные, сч: целое;
  Прогрес: IProgress;
  ШаблонВр, Имя, ТекстСообщения, Настройки: строка;
  Раскладка: ITableInfoX;
начало
  Результат := нет;
  если (Коллекция = nil) тогда 
    ВозбудитьОшибку('Активация не была проведена');
  Коллекция.Значение(cTemplateCLS) := CLSID;
  Визуализатор := ПолучитьДанныеГенерации(CLSID, Шаблон, Коллекция, ЕстьДанные);
  
  если (не ЕстьДанные) тогда
  начало
    если (БитИ(Коллекция.Значение("Options"), go_ShowData) &lt;&gt; 0) тогда
    начало
      Прогрес := Progress;
      попытка
        Прогрес.EndProgress;
        ВызватьОшибку("Нет данных для генерации");
      обязательно
        Прогрес.BeginProgress;
      конец;
    конец;  
    результат := да;
  конец
  иначе
  начало  
    Флаг := sdoNext + sdoCancel;
    если (Access = Access_Adm) тогда 
      Флаг := БитИли(Флаг, sdoTemplate);
      
    ПолучитьКонфигурациюПоКоду(CLSID, Имя, ШаблонВр, Настройки);
    если Имя &lt;&gt; '' тогда
      ModalWafer.Caption := Имя
    иначе   
      ModalWafer.Caption := 'Генерация данных.';
    если БитИ(Коллекция.Значение("Options"), go_ShowData) = 0 тогда
      СохранитьДанные := да
    иначе
    начало
      Прогрес := Progress;
      попытка
        Прогрес.EndProgress;
        ПослеПродолжить_Результат := 1;
        пока ПослеПродолжить_Результат = 1 делать
        начало
          СохранитьДанные := (ModalWafer.ShowData(Флаг) = sdrContinue);
          если СохранитьДанные тогда
          начало
            ПослеПродолжить_Результат := 0;
            от сч := 0 до Визуализатор.Templates.Count - 1 делать
            начало
              Визуализатор.Templates.Index := сч;
              Раскладка := Визуализатор.GetTable;
              если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) = '') тогда
              начало
                Визуализатор.GetVariables.Значение('ПослеПродолжить_Результат') := 0;
                EventRecursive('ПослеПродолжить', Визуализатор, Визуализатор.Templates, да);
                ПослеПродолжить_Результат := ПослеПродолжить_Результат или Визуализатор.GetVariables.Значение('ПослеПродолжить_Результат');
              конец;  
            конец;
          конец
          иначе
            ПослеПродолжить_Результат := 0;  
        конец;           
      обязательно
        Прогрес.BeginProgress;
      конец;  
    конец;  
    если СохранитьДанные тогда
      СохранитьДанные := СформироватьПишущиеСтраницы(Визуализатор, CLSID, Коллекция);
    если СохранитьДанные тогда
    начало      
      СохранитьДанныеГенерации(CLSID, Визуализатор);
      ТекстСообщения := ПолучитьСтрокуРезультата(Визуализатор);
      если ТекстСообщения &lt;&gt; '' тогда
      начало
        Прогрес := Progress;
        попытка
          Прогрес.EndProgress;
          если Коллекция.Значение("ЗаголовокРезультата") &lt;&gt; '' тогда
            MsgBox(ТекстСообщения, Коллекция.Значение("ЗаголовокРезультата"))
          иначе
            Сообщение(ТекстСообщения);
        обязательно
          Прогрес.BeginProgress;
        конец;  
      конец;  
      Результат := да;
    конец;
  конец;
  если не Результат тогда
    от сч := 0 до Визуализатор.Templates.Count - 1 делать
    начало
      Визуализатор.Templates.Index := сч;
      Раскладка := Визуализатор.GetTable;
      если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) = '') тогда
        EventRecursive('ПослеОтмены', Визуализатор, Визуализатор.Templates, да);
    конец;  
конец;

функция ВыполнитьГенерациюПоКоду(CLSID: Целое; Коллекция: IVariables): Целое;
переменные
  Шаблон, Имя, Настройки: строка;
начало
  ПолучитьКонфигурациюПоКоду(CLSID, Имя, Шаблон, Настройки);
  если не Коллекция.ПараметрСуществует("Options") тогда
    //По умолчанию данные показываем
    Коллекция.Значение("Options") := go_ShowData;
  Если не Коллекция.ПараметрСуществует("OptionsPath") тогда
    Коллекция.Значение("OptionsPath") := Настройки;  
  Если не Коллекция.ПараметрСуществует("Код") тогда
    Коллекция.Значение("Код") := CLSID;  
  попытка  
    Результат := ВыполнитьГенерацию(CLSID, Шаблон, Коллекция);
  обязательно  
    Progress.EndProgress;
  конец;      
конец;

функция НеСохранятьПоле(Параметры: IVariables; ИмяПоля: Строка);
переменные
  Визуалзатор: IUniViewer;
  Шаблоны: ITemplates;
  Шаблон: ITemplate;
  Раскладка: ITableInfoX;
начало
  Визуалзатор := Параметры.Values(АлгВизуализатор);
  Шаблоны := Визуалзатор.Templates;
  Шаблон := Шаблоны.Template;
  Раскладка := Шаблон.TableInfo;
  если Раскладка.FindColumnByField(ИмяПоля) &gt;= 0 тогда
    Раскладка.Columns(Раскладка.FindColumnByField(ИмяПоля)).AliasName := '';
конец;



</value>
    <param value="ПоддержкаГенерации" type="3" name="Export">ZIMIN-NEW\zimin\29.02.2012 15:47:17</param>
    <param value="ПоддержкаГенерации" type="3" name="version">36.042.483</param>
    <param value="ПоддержкаГенерации" type="3" name="crc32">$C85BA5BA</param>
  </node>
  <version_info>
    <file>СборкаНастроекГенерации.xml</file>
    <version>36.042.483</version>
    <info>&lt;p&gt;Поддержка автогенерации документов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:25</buildtime>
  </version_info>
  <description>Стандартные макросы для автогенерации документов</description>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">1</V>
            <V N="Name">РасходныеРасписания</V>
            <V N="NameForUser">Настройки расходных расписаний</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (1)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">БухОперацияБА</V>
            <V N="DisplayLabel">Бухоперация для БА</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">171</V>
            <V N="Hint">Бухгалтерская операция для БА</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">БухОперацияБАЛБО</V>
            <V N="DisplayLabel">Бухоперация для БА, совмещенных с ЛБО</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">171</V>
            <V N="Hint">Бухгалтерская операция для БА, ЛБО</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">БухОперацияЛБО</V>
            <V N="DisplayLabel">Бухоперация для ЛБО</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">171</V>
            <V N="Hint">Бухгалтерская операция для ЛБО</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">БухОперацияПОФ</V>
            <V N="DisplayLabel">Бухоперация для ПОФ</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">171</V>
            <V N="Hint">Бухгалтерская операция для ПОФ</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">ВключатьПришедшиеСУРМ</V>
            <V N="DisplayLabel">Включать пришедшие с УРМ документы ПОФ</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">4</V>
            <V N="Hint">Включать пришедшие с УРМ документы ПОФ</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">НеФормировать2и3год</V>
            <V N="DisplayLabel">Не формировать БА, ЛБО за 2 и 3 год</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">4</V>
            <V N="Hint">Не формировать БА, ЛБО за 2 и 3 год</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">НеФормироватьБАПоЛимитам</V>
            <V N="DisplayLabel">Не формировать БА по лимитируемым обязятельствам</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">4</V>
            <V N="Hint">Не формировать БА по лимитируемым обязятельствам</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">НумерацияЗаДень</V>
            <V N="DisplayLabel">Нумерация за день</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">4</V>
            <V N="Hint">Начинать нумерацию расходных расписаний с 1 каждый день</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">ОбобщениеПБС</V>
            <V N="DisplayLabel">Обобщение ПБС</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">4</V>
            <V N="Hint">Обобщать данные БР для расходных расписаний ФО</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">ПримечаниеИзПОФ</V>
            <V N="DisplayLabel">Формирование примечания</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">3</V>
            <V N="PickList">Код цели
Примечание из ПОФ
Не выводить
(Код цели + Расшифровка кода цели) + Примечание из ПОФ
(Код цели) + Расшифровка кода цели
Задание вручную</V>
            <V N="Hint">Формирование примечания</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">СквознаяНумерацияРР</V>
            <V N="DisplayLabel">Нумерация РР без учета организации</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">4</V>
            <V N="Hint">Нумерация РР без учета организации</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">ФорматНомера</V>
            <V N="DisplayLabel">Порядковый номер в качестве номера документа</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">4</V>
            <V N="Hint">Порядковый номер в качестве номера документа</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">ФорматПримечания</V>
            <V N="DisplayLabel">Формат примечания (если задается вручную)</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">0</V>
            <V N="Hint">Формат примечания (если задается вручную)</V>
          </R>
          <R>
            <V N="CodeFormat">1</V>
            <V N="Name">ФормироватьПо03Счетам</V>
            <V N="DisplayLabel">Разрешать формировать РР по 03-м федеральным счетам</V>
            <V N="Path">СводныеУведомления</V>
            <V N="Type">4</V>
            <V N="Hint">Разрешать формировать РР по 03-м федеральным счетам</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10</V>
            <V N="Name">ЗаголовокДокумента</V>
            <V N="NameForUser">Настройка заголовка документа</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (10)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">10</V>
            <V N="Name">Заголовок</V>
            <V N="DisplayLabel">Содержание строки заголовка</V>
            <V N="Path">Отчеты</V>
            <V N="Type">0</V>
            <V N="Order">1</V>
            <V N="Hint">Содержание строки заголовка документа</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">11</V>
            <V N="Name">Формирование поступлений на счета БУ, АУ</V>
            <V N="NameForUser">Настройка формирования поступлений на счета БУ, АУ, открытые в ФО</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (11)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">БухОперацияПоступлений</V>
            <V N="DisplayLabel">Бухгалтерская операция</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">171</V>
            <V N="Hint">Номер бухгалтерской операции прихода от прочих</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ДействиеПриОтсутствииКД</V>
            <V N="DisplayLabel">Действия при отсутствии КД в 104 поле исходного п/п</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">3</V>
            <V N="Group">Обработка классификации получателя</V>
            <V N="Order">2</V>
            <V N="PickList">выдавать ошибку
зачислять на ППП00000000000000180
зачислять на 00000000000000000180
зачислять на 00000000000000000000</V>
            <V N="Hint">Действия при отсутствии КД в 104 поле исходного п/п</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ДействиеПриОтсутствииРасходнойКлс</V>
            <V N="DisplayLabel">Действия при отсутствии КР в 104 поле исходного п/п</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">3</V>
            <V N="Group">Обработка классификации получателя</V>
            <V N="Order">3</V>
            <V N="PickList">выдавать ошибку
Восстановить расход на ППП00000000000000000
Восстановить расход на 00000000000000000000</V>
            <V N="Hint">Действия при отсутствии КР в 104 поле исходного п/п</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ЗаголовокОкнаСтатистики</V>
            <V N="DisplayLabel">Заголовок окна статистики формирования</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">0</V>
            <V N="Group">Статистика формирования</V>
            <V N="Hint">Заголовок окна статистики формирования</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">МакросПостобработки</V>
            <V N="DisplayLabel">Имя макроса пост обработки исходного документа</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">0</V>
            <V N="Hint">Имя макроса пост обработки исходного документа</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">НеБратьКлсИз104Поля</V>
            <V N="DisplayLabel">Не брать классификацию из 104 поля</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Group">Обработка классификации получателя</V>
            <V N="Order">1</V>
            <V N="Hint">Флаг определяет брать ли классификацию получателя из 104 поля информации о налоговом платеже</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ПереносКодБА</V>
            <V N="DisplayLabel">Код бюджетного ассигнования</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Group">Переносить дополнительную классификацию</V>
            <V N="Hint">Код бюджетного ассигнования</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ПереносКодРО</V>
            <V N="DisplayLabel">Код расходного обязательства</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Group">Переносить дополнительную классификацию</V>
            <V N="Hint">Код расходного обязательства</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ПереносКЦС</V>
            <V N="DisplayLabel">Код целевых средств</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Group">Переносить дополнительную классификацию</V>
            <V N="Hint">Код целевых средств</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ПереносМероприятие</V>
            <V N="DisplayLabel">Мероприятие</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Group">Переносить дополнительную классификацию</V>
            <V N="Hint">Мероприятие</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ПереносНаправление</V>
            <V N="DisplayLabel">Направление</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Group">Переносить дополнительную классификацию</V>
            <V N="Hint">Направление</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ПереносСубКОСГУ</V>
            <V N="DisplayLabel">Суб КОСГУ</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Group">Переносить дополнительную классификацию</V>
            <V N="Hint">Суб КОСГУ</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ПоказыватьСтатистику</V>
            <V N="DisplayLabel">Показывать статистику формирования</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Group">Статистика формирования</V>
            <V N="Hint">Показывать статистику формирования</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">ТипФинансированияПриходаОтПрочих</V>
            <V N="DisplayLabel">Тип финансирования</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">127</V>
            <V N="Group">Обработка классификации получателя</V>
            <V N="Order">4</V>
            <V N="Hint">Тип финансирования прихода от прочих</V>
          </R>
          <R>
            <V N="CodeFormat">11</V>
            <V N="Name">УчитыватьЛСПлатДляРСПлат</V>
            <V N="DisplayLabel">При формировании р/с плательщика учитывать л/с плательщика</V>
            <V N="Path">ФормированиеПоступленийБУАУ</V>
            <V N="Type">4</V>
            <V N="Hint">При формировании р/с плательщика учитывать л/с плательщика</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">12</V>
            <V N="Name">Формирование БР по СБР</V>
            <V N="NameForUser">Настройка формирования БР на основе СБР</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (12)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">12</V>
            <V N="Name">БухОперацияБР</V>
            <V N="DisplayLabel">Бухгалтерская операция</V>
            <V N="Path">Генерация\ФормированиеБРПоСБР</V>
            <V N="Type">171</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">13</V>
            <V N="Name">ОтчетыБУАУ</V>
            <V N="NameForUser">Настройки формирования отчетности по БУ, АУ</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (13)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">13</V>
            <V N="Name">ВычислениеВозвратов</V>
            <V N="DisplayLabel">Способ отображения возвратов</V>
            <V N="Path">ОтчетыБУАУ</V>
            <V N="Type">3</V>
            <V N="PickList">0 - возврат поступлений в выплатах, возврат расхода в поступлениях
1 - возврат поступлений в поступлениях, возврат расхода в выплатах</V>
            <V N="Hint">Если =0 (по умолчанию), то возврат поступлений прибавляется к выплатам, возврат расхода прибавляется к поступлениям; если =1, то возврат поступлений вычитается из поступлений, возврат расхода вычитается из выплат</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">14</V>
            <V N="Name">Сценарии</V>
            <V N="NameForUser">Настройки сценариев</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (14)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">14</V>
            <V N="Name">НеВызыватьОшибкуПоРезультату</V>
            <V N="DisplayLabel">Не вызывать ошибку по результатам выполнения сценария</V>
            <V N="Path">Сценарии</V>
            <V N="Type">4</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">15</V>
            <V N="Name">Перенос остатков по лс БУАУ</V>
            <V N="NameForUser">Настройки переноса остатков по л\с БУ, АУ на следующий год</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (15)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">15</V>
            <V N="Name">БлокОстаткиПоОтдельнымЛс</V>
            <V N="DisplayLabel">Блокировать остатки по отдельным л\с на начало года (не рекомендуется)</V>
            <V N="Path">ПереносОстатковПоЛсБУАУ</V>
            <V N="Type">4</V>
          </R>
          <R>
            <V N="CodeFormat">15</V>
            <V N="Name">НеПроверятьОтрицательные</V>
            <V N="DisplayLabel">Не проверять отрицательные остатки</V>
            <V N="Path">ПереносОстатковПоЛсБУАУ</V>
            <V N="Type">4</V>
          </R>
          <R>
            <V N="CodeFormat">15</V>
            <V N="Name">ПереносНевыясненныхПоЛсБуАуОмс</V>
            <V N="DisplayLabel">Перенос невыясненных документов по л\с БУ, АУ, л\с ОМС</V>
            <V N="Path">ПереносОстатковПоЛсБУАУ</V>
            <V N="Type">3</V>
            <V N="PickList">анализировать и переносить в отдельный заблокированный документ
не анализировать
анализировать и не переносить</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">16</V>
            <V N="Name">ПечатныеДокументыИЛ</V>
            <V N="NameForUser">Настройки печатных документов для исполнительных листов</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (16)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">16</V>
            <V N="Name">ИспЛистТипДокумента</V>
            <V N="DisplayLabel">Тип исполнительного документа</V>
            <V N="Path">ИсполнительныеЛисты\\ПечатныеДокументыИЛ</V>
            <V N="Type">3</V>
            <V N="PickList">Казенный=0
БУ/АУ=1
Иск к казне=2</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">16</V>
            <V N="Name">ОснованиеКУведомлениюПриостановленияРасх</V>
            <V N="DisplayLabel">Основание к уведомлению о приостановлении операций по расходованию средств в связи с неисполнением требований исполнительного документа</V>
            <V N="Path">ИсполнительныеЛисты\ПечатныеДокументыИЛ</V>
            <V N="Type">0</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">16</V>
            <V N="Name">ПримечаниеКУведомлениюВозобновленииОперацииРасх</V>
            <V N="DisplayLabel">Примечание к уведомлению о возобновлении операции по расходованию средств</V>
            <V N="Path">ИсполнительныеЛисты\ПечатныеДокументыИЛ</V>
            <V N="Type">0</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">16</V>
            <V N="Name">ПримечаниеКУведомлениюОПоступленииИЛ</V>
            <V N="DisplayLabel">Примечание к уведомлению о поступлении исплиста</V>
            <V N="Path">ИсполнительныеЛисты\ПечатныеДокументыИЛ</V>
            <V N="Type">0</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">16</V>
            <V N="Name">ПричинаВозвратаКУведомлениюОВозвратеИЛ</V>
            <V N="DisplayLabel">Причина возврата к уведомлению о возврате исплиста</V>
            <V N="Path">ИсполнительныеЛисты\ПечатныеДокументыИЛ</V>
            <V N="Type">0</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">16</V>
            <V N="Name">ПричинаВозвратаКУВедомлениюОВозвратеПрил</V>
            <V N="DisplayLabel">Причина возврата к уведомлению о возвращении документов приложенных к исполнительному документу</V>
            <V N="Path">ИсполнительныеЛисты\ПечатныеДокументыИЛ</V>
            <V N="Type">0</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">16</V>
            <V N="Name">ПричинаКУведомлениюОПоступСудАктаОВозИЛ</V>
            <V N="DisplayLabel">Примечание к уведомлению о поступлении судебного акта, предусматривающего возобновление исполнения исполнительного документа</V>
            <V N="Path">ИсполнительныеЛисты\ПечатныеДокументыИЛ</V>
            <V N="Type">0</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">2</V>
            <V N="Name">ВозвратДоходов</V>
            <V N="NameForUser">Настройка генерации возврата доходов</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (2)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">БухОперацияБезНал</V>
            <V N="DisplayLabel">Бухоперация для возврата с безналичного счета</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">171</V>
            <V N="Hint">Бухгалтерская операция</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">БухОперацияДляНалички</V>
            <V N="DisplayLabel">Бухоперация для возврата со счета для выплаты наличности</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">171</V>
            <V N="Hint">Бухгалтерская операция для наличных средств</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">ВидОперацииПП</V>
            <V N="DisplayLabel">Вид операции</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">147</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">Возвращать_СоСчетаАдминистратораВ_ФК</V>
            <V N="DisplayLabel">Делать возврат со счета администратора, открытого в ФК</V>
            <V N="Path">ВозвратДоходов</V>
            <V N="Type">4</V>
            <V N="Hint">При снятом флаге возврат будет делаться со счета ФО, на который пришли средства(поведение по умолчанию), при установленном флаге возврат будет делаться с 11-значного счета администратора дохода, открытого в ФК, определяемого по л\с</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">ЗаглавныйТипДокументаОснования</V>
            <V N="DisplayLabel">Заглавный тип документа-основания</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">129</V>
            <V N="Hint">Заглавный тип документа-основания</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">КДВозврата</V>
            <V N="DisplayLabel">Разрешенные коды дохода для возврата</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">0</V>
            <V N="Hint">Разрешенные коды дохода для возврата указываются в виде 20-ти значной маски, незначимые разряды указываются заменяющим символом "_"</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">НачальноеСостояниеПП</V>
            <V N="DisplayLabel">Начальное состояние ПП</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">0</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">ОКАТОНалог</V>
            <V N="DisplayLabel">ОКАТО</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">0</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">СписокКонтролейНаСохранение</V>
            <V N="DisplayLabel">Список контролей на сохранение</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">0</V>
            <V N="Hint">Список контролей, выполняющихся над платежкой после формирования, указывается в виде ХХХХХХХХ, возможно указание нескольких контролей через запятую</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">ТипРеестраВозврата</V>
            <V N="DisplayLabel">Тип реестра возврата</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">153</V>
            <V N="Hint">Тип реестра возврата доходов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">2</V>
            <V N="Name">ФормироватьРеестр</V>
            <V N="DisplayLabel">Формировать реестр</V>
            <V N="Path">Генерация\ВозвратДоходов</V>
            <V N="Type">4</V>
            <V N="Hint">Формировать реестр для возвратов</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3</V>
            <V N="Name">РазассигновкаПереброска</V>
            <V N="NameForUser">Настройка генерации разассигновки и переброски</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (3)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">БухПроводкаНастройки</V>
            <V N="DisplayLabel">Вид учета (старый)</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">146</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Order">1</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ЗаголовокРезультата</V>
            <V N="DisplayLabel">Заголовок окна статистики формирования</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов\Статистика формирования</V>
            <V N="Order">8</V>
            <V N="Hint">Заголовок окна статистики формирования</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">НазначениеПереброски</V>
            <V N="DisplayLabel">Назначение платежа</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Переброски</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">НазначениеРазассигновки</V>
            <V N="DisplayLabel">Назначение платежа</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Разассигновки</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">НеПоказыватьДиалогРеестра</V>
            <V N="DisplayLabel">Не показывать диалог выбора реестра</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Order">6</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">НеПриниматьПереброску</V>
            <V N="DisplayLabel">Не принимать переброску</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">4</V>
            <V N="Group">Параметры для Переброски</V>
            <V N="Hint">Не проставлять дату принятия у переброски</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">НеПриниматьРазассигновку</V>
            <V N="DisplayLabel">Не принимать разассигновку</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">4</V>
            <V N="Group">Параметры для Разассигновки</V>
            <V N="Hint">Не проставлять дату принятия у разассигновки</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ОбъединятьЗаголовки</V>
            <V N="DisplayLabel">Объединять заголовки</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Order">3</V>
            <V N="Hint">Объединять заголовки документов с одинаковыми атрибутами</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ОперацияДляПереброски</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Переброски</V>
            <V N="Hint">Операция для переброски</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ОперацияДляРазассигновки</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Разассигновки</V>
            <V N="Hint">Операция для разассигновки</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ПоказыватьСтатистикуФормирования</V>
            <V N="DisplayLabel">Показывать статистику формирования</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов\Статистика формирования</V>
            <V N="Order">7</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ПостфиксНомераДляПереброски</V>
            <V N="DisplayLabel">Постфикс номера реестра</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Переброски</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ПостфиксНомераДляРазассигновки</V>
            <V N="DisplayLabel">Постфикс номера реестра</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Разассигновки</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ПринятьРеестр</V>
            <V N="DisplayLabel">Принять реестр</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Order">5</V>
            <V N="Hint">Принять реестр в который будут включены формируемые документы</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">СкриптФормированияРеестра</V>
            <V N="DisplayLabel">Скрипт формирования реестра</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Order">4</V>
            <V N="Hint">Путь к скрипту формирования реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ТипДеятельности</V>
            <V N="DisplayLabel">Тип деятельности</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">3</V>
            <V N="Group">Параметры, ограничивающие исходные документы</V>
            <V N="PickList">1 - Деятельность за счет средств бюджета=1
2 - Приносящая доход деятельность=2
3 - Средства во временном распоряжении=3
4 - Субсидии на выполнение гос.(мун.) задания=4
5 - Субсидии на иные цели=5
6 - Бюджетные инвестиции=6
7 - Средства по обязательному медицинскому страхованию=7
8 - Средства некоммерческих организаций на л\с=8
9 - Средства некоммерческих организаций на отдельных л\с=9</V>
            <V N="Hint">Тип деятельности ПП для которого надо формировать документы</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ТипОперацииНастройки</V>
            <V N="DisplayLabel">Тип операции</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">147</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Order">2</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ТипРеестраПереброски</V>
            <V N="DisplayLabel">Тип реестра</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">153</V>
            <V N="Group">Параметры для Переброски</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ТипРеестраРазассигновки</V>
            <V N="DisplayLabel">Тип реестра</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">153</V>
            <V N="Group">Параметры для Разассигновки</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">3</V>
            <V N="Name">ФормироватьПереброску</V>
            <V N="DisplayLabel">Формировать</V>
            <V N="Path">Генерация\РазассигновкаПереброска</V>
            <V N="Type">4</V>
            <V N="Group">Параметры для Переброски</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">4</V>
            <V N="Name">НастройкиИмпортов</V>
            <V N="NameForUser">Настройки импортов</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (4)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">4</V>
            <V N="Name">ЗапрашиватьЗаголовок</V>
            <V N="DisplayLabel">Запрашивать заголовок</V>
            <V N="Path">Импорт</V>
            <V N="Type">4</V>
            <V N="Hint">Запрашивать добавление детали в существующий заголовок</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">5</V>
            <V N="Name">ГенерацияПеречисления</V>
            <V N="NameForUser">Настройка генерации перечисления</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (5)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ЗаголовокРезультата</V>
            <V N="DisplayLabel">Заголовок окна статистики формирования</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов\Статистика формирования</V>
            <V N="Hint">Заголовок окна статистики формирования</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">КонечноеСостояниеПеречисление</V>
            <V N="DisplayLabel">Конечное состояние</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Перечисления</V>
            <V N="Hint">Состояние в которое будет переведен документ если используется система состояний. Должен существовать переход между начальным состоянием и указанным</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">КонечноеСостояниеПодтверждениеПеречисления</V>
            <V N="DisplayLabel">Конечное состояние</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Подтверждения перечисления</V>
            <V N="Hint">Состояние в которое будет переведен документ если используется система состояний. Должен существовать переход между начальным состоянием и указанным</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ЛСВПути</V>
            <V N="DisplayLabel">Л/с "Средства в пути"</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">141</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">НазначениеПеречисления</V>
            <V N="DisplayLabel">Назначение платежа</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">НачальноеСостояниеРеестраПеречисление</V>
            <V N="DisplayLabel">Состояние реестра при принятии</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Hint">Состояние в которое будет переведен реестр если используется система состояний. Должен существовать переход между начальным состоянием и указанным</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">НеПоказыватьДиалогРеестраПеречисление</V>
            <V N="DisplayLabel">Не показывать диалог выбора реестра</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">НеПроверятьНаправлениеОперации</V>
            <V N="DisplayLabel">Не проверять соответствие направления операции и типа классификации</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Hint">Если флаг установлен, то проверки соответствия направления операции и типа классификации не будет. По умолчанию флаг не стоит, проверка выполняется</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ОперацияПеречисления</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Перечисления</V>
            <V N="Hint">Операция для перечисления</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ОперацияПеречисленияДоход</V>
            <V N="DisplayLabel">Операция для доходной классификации</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Перечисления</V>
            <V N="Hint">Операция для перечисления по доходной классификации</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ОперацияПодтвержденияПеречисления</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Подтверждения перечисления</V>
            <V N="Hint">Операция для подтверждения перечисления</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ОперацияПодтвержденияПеречисленияДоход</V>
            <V N="DisplayLabel">Операция для доходной классификации</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Подтверждения перечисления</V>
            <V N="Hint">Операция для подтверждения перечисления по доходной классификации</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ОчередностьНастройки</V>
            <V N="DisplayLabel">Очередность</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ПоказыватьСтатистикуФормирования</V>
            <V N="DisplayLabel">Показывать статистику формирования</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов\Статистика формирования</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ПостфиксНомера</V>
            <V N="DisplayLabel">Постфикс номера реестра</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Перечисления</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ПостфиксНомераПодтверждение</V>
            <V N="DisplayLabel">Постфикс номера реестра</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Подтверждения перечисления</V>
            <V N="Hint">Если установлен тип реестра и постфикс номера, то для Подтверждения перечисления будет сформирован новый реестр</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ПринятьРеестр</V>
            <V N="DisplayLabel">Принять реестр</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Hint">Принять реестр в который будут включены формируемые документы</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">СпособФормированияПП</V>
            <V N="DisplayLabel">Способ формирования п/п</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">3</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="PickList">сводное платежное поручение
одно платежное поручение на один чек
отдельное платежное поручение для каждой записи детали чека</V>
            <V N="Hint">Способ формирования п/п: сводное п/п (=0, по умолчанию) - один заголовок для нескольких чеков; одно п/п на один чек (=1); отдельный заголовок для каждой детали чека (=2)</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ТипРеестраНастройки</V>
            <V N="DisplayLabel">Тип Реестра</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">153</V>
            <V N="Group">Параметры для Перечисления</V>
            <V N="Hint">Тип реестра, в который будут включены сформированные документы</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">5</V>
            <V N="Name">ТипРеестраПодтверждение</V>
            <V N="DisplayLabel">Тип Реестра</V>
            <V N="Path">Генерация\ГенерацияПеречисления</V>
            <V N="Type">153</V>
            <V N="Group">Параметры для Подтверждения перечисления</V>
            <V N="Hint">Если установлен тип реестра и постфикс номера, то для Подтверждения перечисления будет сформирован новый реестр</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">6</V>
            <V N="Name">Контроли</V>
            <V N="NameForUser">Настройки контролей</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (6)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">6</V>
            <V N="Name">ТипДеятельности</V>
            <V N="DisplayLabel">Тип деятельности</V>
            <V N="Path">Контроли</V>
            <V N="Type">7</V>
            <V N="Group">Параметры проверяемых документов</V>
            <V N="Order">1</V>
            <V N="PickList">1 - Деятельность за счет средств бюджета=1
2 - Приносящая доход деятельность=2
3 - Средства во временном распоряжении=3
4 - Субсидии на выполнение гос.(мун.) задания=4
5 - Субсидии на иные цели=5
6 - Бюджетные инвестиции=6
7 - Средства по обязательному медицинскому страхованию=7
8 - Средства некоммерческих организаций на л\с=8
9 - Средства некоммерческих организаций на отдельных л\с=9</V>
            <V N="Hint">Тип деятельности для фильтрации проверяемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">6</V>
            <V N="Name">ТипКлассификации</V>
            <V N="DisplayLabel">Тип классификации</V>
            <V N="Path">Контроли</V>
            <V N="Type">7</V>
            <V N="Group">Параметры проверяемых документов</V>
            <V N="Order">2</V>
            <V N="PickList">0 - расходная=0
1 - источниковая=1
2 - доходная=2</V>
            <V N="Hint">Тип классификации для фильтрации проверяемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">6</V>
            <V N="Name">ТипСредствБюдж</V>
            <V N="DisplayLabel">Тип средств бюджета</V>
            <V N="Path">Контроли</V>
            <V N="Type">149</V>
            <V N="Group">Параметры проверяемых документов</V>
            <V N="Order">3</V>
            <V N="Hint">Тип средств бюджета</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">7</V>
            <V N="Name">ГенерацияВозвратаПоОбъявлениям</V>
            <V N="NameForUser">Настройка генерации возврата по объявлениям</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (7)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ВключатьПодтверждениеВозвратаВРеестр</V>
            <V N="DisplayLabel">Включать в реестр возврата</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">4</V>
            <V N="Group">Параметры для Подтверждения возврата</V>
            <V N="Hint">Включать сформированные подтверждения возвратов в реестр возвратов (для отражения в отчетах)</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ЗаголовокРезультата</V>
            <V N="DisplayLabel">Заголовок окна статистики формирования</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов\Статистика формирования</V>
            <V N="Hint">Заголовок окна статистики формирования</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ЗаполнятьКБК</V>
            <V N="DisplayLabel">Заполнять КБК налоговой информации</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">КонечноеСостояниеВозврат</V>
            <V N="DisplayLabel">Конечное состояние</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Возврата</V>
            <V N="Hint">Состояние в которое будет переведен документ если используется система состояний. Должен существовать переход между начальным состоянием и указанным</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ЛСВПутиВозврат</V>
            <V N="DisplayLabel">Л/с "Средства в пути"</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">141</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">НачальноеСостояниеРеестраВозврат</V>
            <V N="DisplayLabel">Состояние при принятии</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">0</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">НеПоказыватьДиалогРеестраВозврат</V>
            <V N="DisplayLabel">Не показывать диалог</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">4</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">НеПроверятьНаправлениеОперации</V>
            <V N="DisplayLabel">Не проверять соответствие направления операции и типа классификации</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Hint">Если флаг установлен, то проверки соответствия направления операции и типа классификации не будет. По умолчанию флаг не стоит, проверка выполняется</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">НеФормироватьПодтверждение</V>
            <V N="DisplayLabel">Не формировать подтверждение возврата</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">4</V>
            <V N="Group">Параметры для Подтверждения возврата</V>
            <V N="Hint">Если флаг установлен, то подтверждение возврата фомироваться не будет (по умолчанию формируется)</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ОКАТОВозврат</V>
            <V N="DisplayLabel">ОКАТО</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ОперацияВозврата</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ОперацияВозвратаДоход</V>
            <V N="DisplayLabel">Операция для доходной классификации</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ОперацияПодтвержденияВозврата</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Подтверждения возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ОперацияПодтвержденияВозвратаДоход</V>
            <V N="DisplayLabel">Операция для доходной классификации</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Подтверждения возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ПеречислятьНа40101</V>
            <V N="DisplayLabel">Перечислять поступления на 40101 счет</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Hint">Если флаг установлен, то поступления по доходной классификации перечисляются на 40101 счет без создания данных в Подтверждении возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ПоказыватьСтатистикуФормирования</V>
            <V N="DisplayLabel">Показывать статистику формирования</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов\Статистика формирования</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ПостфиксНомераВозврат</V>
            <V N="DisplayLabel">Постфикс номера</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">0</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ПринятьРеестрВозврат</V>
            <V N="DisplayLabel">Принять</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">4</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">СпособФормированияПП</V>
            <V N="DisplayLabel">Способ формирования п/п</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">3</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="PickList">сводное платежное поручение
одно платежное поручение на одно объявление
отдельное платежное поручение для каждой записи детали объявления</V>
            <V N="Hint">Способ формирования п/п: сводное п/п (=0, по умолчанию) - один заголовок для нескольких объявлений; одно п/п на одно объявление (=1); отдельный заголовок для каждой записи детали объявления (=2)</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ТипРеестраНастройкиВозврат</V>
            <V N="DisplayLabel">Тип</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">153</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">7</V>
            <V N="Name">ФорматПримечания</V>
            <V N="DisplayLabel">Формат назначения платежа</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоОбъявлениям</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Hint">Формат примечания можно задать как в областях форматирования</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">8</V>
            <V N="Name">ГенерацияВозвратаПоЧекам</V>
            <V N="NameForUser">Настройка генерации возврата по чекам</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (8)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ВключатьПодтверждениеВозвратаВРеестр</V>
            <V N="DisplayLabel">Включать в реестр возврата</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">4</V>
            <V N="Group">Параметры для Подтверждения возврата</V>
            <V N="Hint">Включать сформированные подтверждения возвратов в реестр возвратов (для отражения в отчетах)</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ЗаголовокРезультата</V>
            <V N="DisplayLabel">Заголовок окна статистики формирования</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов\Статистика формирования</V>
            <V N="Hint">Заголовок окна статистики формирования</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ЗаполнятьКБК</V>
            <V N="DisplayLabel">Заполнять КБК налоговой информации</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">КонечноеСостояниеВозврат</V>
            <V N="DisplayLabel">Конечное состояние</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">0</V>
            <V N="Group">Параметры для Возврата</V>
            <V N="Hint">Состояние в которое будет переведен документ если используется система состояний. Должен существовать переход между начальным состоянием и указанным</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ЛСВПутиВозврат</V>
            <V N="DisplayLabel">Л/с "Средства в пути"</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">141</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">НачальноеСостояниеРеестраВозврат</V>
            <V N="DisplayLabel">Состояние при принятии</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">0</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">НеПоказыватьДиалогРеестраВозврат</V>
            <V N="DisplayLabel">Не показывать диалог</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">4</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">НеПроверятьНаправлениеОперации</V>
            <V N="DisplayLabel">Не проверять соответствие направления операции и типа классификации</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="Hint">Если флаг установлен, то проверки соответствия направления операции и типа классификации не будет. По умолчанию флаг не стоит, проверка выполняется</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">НеФормироватьПодтверждение</V>
            <V N="DisplayLabel">Не формировать подтверждение возврата</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">4</V>
            <V N="Group">Параметры для Подтверждения возврата</V>
            <V N="Hint">Если флаг установлен, то подтверждение возврата фомироваться не будет (по умолчанию формируется)</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ОКАТОВозврат</V>
            <V N="DisplayLabel">ОКАТО</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">0</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ОперацияВозврата</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ОперацияВозвратаДоход</V>
            <V N="DisplayLabel">Операция для доходной классификации</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ОперацияПодтвержденияВозврата</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Подтверждения возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ОперацияПодтвержденияВозвратаДоход</V>
            <V N="DisplayLabel">Операция для доходной классификации</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">171</V>
            <V N="Group">Параметры для Подтверждения возврата</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ПоказыватьСтатистикуФормирования</V>
            <V N="DisplayLabel">Показывать статистику формирования</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">4</V>
            <V N="Group">Общие параметры формируемых документов\Статистика формирования</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ПостфиксНомераВозврат</V>
            <V N="DisplayLabel">Постфикс номера</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">0</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ПринятьРеестрВозврат</V>
            <V N="DisplayLabel">Принять</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">4</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">СпособФормированияПП</V>
            <V N="DisplayLabel">Способ формирования п/п</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">3</V>
            <V N="Group">Общие параметры формируемых документов</V>
            <V N="PickList">сводное платежное поручение
одно платежное поручение на один чек
отдельное платежное поручение для каждой записи детали чека</V>
            <V N="Hint">Способ формирования п/п: сводное п/п (=0, по умолчанию) - один заголовок для нескольких чеков; одно п/п на один чек (=1); отдельный заголовок для каждой записи детали чека (=2)</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">8</V>
            <V N="Name">ТипРеестраНастройкиВозврат</V>
            <V N="DisplayLabel">Тип</V>
            <V N="Path">Генерация\ГенерацияВозвратаПоЧекам</V>
            <V N="Type">153</V>
            <V N="Group">Параметры формируемого реестра</V>
            <V N="StoredType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <node path="%root%\Объекты\Настройки">
    <value type="6" name="СписокФорматов">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>Код</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>NameForUser</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">9</V>
            <V N="Name">ГенерацияЛБОНаОсновеБА</V>
            <V N="NameForUser">Настройка генерации ЛБО на основе БА</V>
          </R>
        </RL>
      </table>
    </value>
    <value type="6" name="Параметры">
      <delete filter="CodeFormat in (9)" />
      <table key="Name;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>Примечание</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Путь к параметру</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Тип параметра</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>255</S>
            <DL>Группа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>Выпадающий список</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Hidden</N>
            <DL>Скрыт</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>255</S>
            <DL>Подсказка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>StoredType</N>
            <DL>Тип хранения</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CodeFormat">9</V>
            <V N="Name">БухОперацияЛБО</V>
            <V N="DisplayLabel">Операция для ЛБО</V>
            <V N="Path">Генерация\ГенерацияЛБОНаОсновеБА</V>
            <V N="Type">171</V>
            <V N="Hint">Значение классификатора "Операция"</V>
            <V N="StoredType">1</V>
          </R>
          <R>
            <V N="CodeFormat">9</V>
            <V N="Name">ВидОперацииПП</V>
            <V N="DisplayLabel">Вид операции</V>
            <V N="Path">Генерация\ГенерацияЛБОНаОсновеБА</V>
            <V N="Type">147</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.042.483</param>
    <param value="Параметры" type="3" name="version">36.042.483</param>
  </node>
  <version_info>
    <file>Сборка.ГиперДокументы.xml</file>
    <version>36.042.28</version>
    <info>&lt;p&gt;Поддержка гипердокументов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:26</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="ГиперДокументы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2</V>
            <V N="Template">(02.xx.xx) Бюджетная роспись (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">3</V>
            <V N="Template">(03.xx.xx) Казначейство (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">7</V>
            <V N="Template">(07.xx.xx) Финансирование (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">8</V>
            <V N="Template">(08.xx.xx) Лимиты (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">9</V>
            <V N="Template">(09.xx.xx) доходы (гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">10</V>
            <V N="Template">(10.xx.xx) Уведомления по расчетам (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">13</V>
            <V N="Template">(13.xx.xx) Заимствования (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">15</V>
            <V N="Template">(15.xx.xx) Оперативные данные (гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">16</V>
            <V N="Template">(16.xx.xx) Бюджетные обязательства.sts</V>
          </R>
          <R>
            <V N="CLS">18</V>
            <V N="Template">(18.xx.xx) Обмен с банком (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">19</V>
            <V N="Template">(02.xx.xx) Бюджетная роспись (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">21</V>
            <V N="Template">(21.xx.xx) Векселя (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">22</V>
            <V N="Template">(02.xx.xx) Бюджетная роспись (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">23</V>
            <V N="Template">(23.xx.xx) месячные отчеты (гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">25</V>
            <V N="Template">(25.xx.xx) Учет договоров (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">26</V>
            <V N="Template">(26.xx.xx)СвободныеПроводки (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">28</V>
            <V N="Template">(28.xx.xx) ОперацииСоСчетами (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">31</V>
            <V N="Template">(31.xx.xx) Гарантии (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">33</V>
            <V N="Template">(33.xx.xx) Средства из других бюджетов (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">36</V>
            <V N="Template">(36.xx.xx) Консолидация информации.sts</V>
          </R>
          <R>
            <V N="CLS">44</V>
            <V N="Template">(44.xx.xx) Сводные уведомления (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">49</V>
            <V N="Template">(49.xx.xx) Пакеты документов обмена (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">50</V>
            <V N="Template">(50.xx.xx) Учет разрешений (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">55</V>
            <V N="Template">(55.xx.xx) Уведомления (Гипер текст).sts</V>
          </R>
          <R>
            <V N="CLS">90</V>
            <V N="Template">(90.xx.xx) Реестры казначейства (Гипер текст).sts</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="ГиперДокументы" type="3" name="version">36.042.28</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="ПоказатьДокументыМодально">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\libru.lib';
ФормированиеГиперДокумент(Визуализатор: IUniViewer);
начало
  ВыполнитьСкрипт("%root%\Объекты\Отчеты\Скрипты\События\ФормированиеГиперДокумент", Визуализатор, 1);
конец;
</value>
    <param value="ПоказатьДокументыМодально" type="3" name="Export">MALINOVKIN\malinovkin\30.05.2011 18:33:16</param>
    <param value="ПоказатьДокументыМодально" type="3" name="version">36.042.28</param>
    <param value="ПоказатьДокументыМодально" type="3" name="crc32">$39329B6C</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="ПостГиперДокумент">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\Documents.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
ПостГД(Параметры: IVariables);
константы
  ПараметрыГиперТекст = '@ПараметрыГиперТекст';
  РаскладкаГиперТекст = '@РаскладкаГиперТекст';
  ПараметрыВыводаГиперТекст = '@ПараметрыВыводаГиперТекст';
переменные
  Визуализатор: IUniViewer; 
  Grids : IStaticSets;
  ПараметрыОграниченийГипер, параметрыВывода, Буф : IVariables;
  Раскладка : ITableInfoX;
  Индекс : целое;
начало
  Визуализатор := Параметры.Values(АлгВизуализатор);
  Раскладка := Параметры.Values(АлгРаскладка); 
  ПараметрыВывода := Параметры.Values(АлгПараметрыВывода); 
  Grids := Визуализатор.Viewer;
  ПараметрыОграниченийГипер := ПолучитьПараметры(Визуализатор.GetVariables, Параметры.Values(АлгПараметры));
  Индекс := Grids.PageIndex;
  если (0 &lt;= Индекс) тогда
    начало
      Буф := Ivariables(Grids.params(Индекс));
      если (Буф.ПараметрСуществует(ПараметрыГиперТекст) = нет) тогда
      если (Буф.ПараметрСуществует(РаскладкаГиперТекст) = нет) тогда
        начало
          // сохраняем параметры для дальнейшей работы
          Буф.Values(ПараметрыГиперТекст) :=  ПараметрыОграниченийГипер;
          // сохраняем раскладку с которой выполнялся отчет
          Буф.Values(РаскладкаГиперТекст) :=  Раскладка;
          // параметры вывода с которыми выполнился отчет
          Буф.Values(ПараметрыВыводаГиперТекст) :=  ПараметрыВывода;
        конец;  
      если (Индекс = 0) тогда
      начало 
        Grids.AddButton(1, 'Просмотр содержимого строки', 'ФормированиеГиперДокумент');
        Grids.AddButton(28, 'Просмотр содержимого суммы', 'ФормированиеГиперДокументПоСумме');
      конец;  
    конец;  
конец.
</value>
    <param value="ПостГиперДокумент" type="3" name="Export">ZIMIN\Zimin\23.06.2011 16:16:16</param>
    <param value="ПостГиперДокумент" type="3" name="version">36.042.28</param>
    <param value="ПостГиперДокумент" type="3" name="crc32">$C0C50A4A</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="ПредГиперДокумент">// библиотека для работы с панелью параметров для гипертекста
включить '\Библиотеки\SharedParams.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
ПредГД(Параметры: IVariables);
переменные
  // параметры для гипертекста
  ОбщиеПараметры : ISharedParams;
  ПараметрГиперТекст  : ISPParam;
начало
  // обработка для гипер текста
  попытка
    ОбщиеПараметры := SharedParams;
    ПараметрГиперТекст := ОбщиеПараметры.Param('ГиперДокумент'); 
    если (ПараметрГиперТекст.Enabled &lt;&gt; нет) и (ПараметрГиперТекст.Checked &lt;&gt; нет) тогда
      начало
        Параметры.Values('Страница') := SSCaption;
        Параметры.Values('Визуализатор') := SSViewer;
        Параметры.Values('Индекс') := SSID;
        Параметры.Values('ГиперДокумент') := да;
      конец;   
  неудача
     // если параметра вообще нет на Sp - то глушим усключение (Для УРМА)
  конец;
конец.
</value>
    <param value="ПредГиперДокумент" type="3" name="version">36.042.28</param>
    <param value="ПредГиперДокумент" type="3" name="crc32">$48CAD416</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="ФормированиеГиперДокумент">// обработчик для показа гипер документов
включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Hypertext.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';

ФормированиеГиперДокумент(Визуализатор: IUniViewer; ДляПоказаДокументовМодально: целое = нет);
переменные
  ОсновнойВизуализатор, ВизуализаторДетали : IUniViewer;
  НаборДанных  : IStaticSets;
  ДанныеОтчета,  Заголовок  : СтатическиеДанные;
  КоллекцияОграничений,ЛокКоллекцияОграничений : IVariables;
  ГиперДанные, ГиперЗаголовок : СтатическиеДанные;
  Раскладка, РаскладкаДетали : ITableInfoX;
  ФормаГиперТекста : IHyperForm;
  ПараметрыВыводаЗаголовок, ПараметрыВыводаДеталь : IVariables;
  СписокАлгоритмов, СписокРеальныхАлгоритмов : Текст;
  сч : Целое; 
  ЭтоМетаАлгоритм : Целое; // Мета алгоритм или нет
  СкриптШаблонаБаза : Строка; // скрипт базового шаблона
  СписокАлгоритмовДляЗаписи : Строка; // список алгоритмов сформировавших документ в отчете
  
функция ДобавитьГиперКолонкиВРаскладку(Раскладка : ITableInfoX; ДобавлятьКолонкиПользователя : целое) : ITableInfoX;
переменные
  Колонка, ТекущаяКолока : IColumnInfoX;
  сч : Целое;
  Группировка : Целое;
начало
   Результат := Раскладка;
   если (Раскладка.GetKeys = '')
     тогда Группировка := grpNone
     иначе Группировка := grpGroup;
      
   Раскладка.Options := БитИли(Раскладка.Options, ttoTotalLevel);
   Раскладка.Options := БитИли(Раскладка.Options, ttoResultHidden);
   //надо показывать все основные данные отчета а не скрывать их
   Раскладка.Options := БитИ(Раскладка.Options, БитНе(ttoDataHidden));
   // пробегаем все колонки и у критериев меняем тип (Что бы не было излишних промежуточных итогов)
   сч := 0;
   от Сч := 0 до Раскладка.Count - 1 
   делать начало
     ТекущаяКолока := Раскладка.Columns(сч);
     выбрать ТекущаяКолока.ColumnType из
     ctpNone : ТекущаяКолока.Hidden := да;
     ctpCriterion :
       начало
         ТекущаяКолока.ColumnType := ctpDisplay;
         ТекущаяКолока.Required := БитИли(ТекущаяКолока.Required, trxRequired);         
       конец;
     конец;  
   конец;
   // добавляем колонку с индексом алгоритма(Разыменованный индекс алгоритма)
   Если ДобавлятьКолонкиПользователя 
   тогда начало
     Колонка := Раскладка.Add; 
     Колонка.Caption := 'Блок данных';
     Колонка.Name := '_ИндексАлгоритма';
     Колонка.FieldName := 'ИндексАлгоритма';
     Колонка.Group := Группировка;
     Колонка.ColumnType := ctpDisplay;
     Колонка.ValueType := vtxInteger;
     Колонка.Width := 114;
     Колонка.Code := 'Служебные.ИмяАлгоритма';
     Колонка.Named := да;
     Колонка.Required := trxDaily + trxRequired + trxNotTotal;
     Колонка.Hidden := нет;
     Колонка.Level := 0;
     Колонка.Options:=toxFixedCol;
     Колонка.AutoSize :=asxAutoHeight; 
   конец;  
   
   Если ДобавлятьКолонкиПользователя 
   тогда начало
      // добавляем колонку с индексом алгоритма(Для дальнейшей работы - без разыменовки)
     Колонка := Раскладка.Add; 
     Колонка.Caption := 'Индекс алгоритма';
     Колонка.Name := '_БлокДанных';
     Колонка.FieldName := 'ИндексАлгоритма';
     Колонка.Group := Группировка;
     Колонка.ColumnType := ctpDisplay;
     Колонка.ValueType := vtxInteger;
     Колонка.Width := 75;
     Колонка.Required := trxDaily + trxRequired + trxNotTotal;
     Колонка.Hidden := да;
     Колонка.Level := 0;
   конец;
   
   // добавляем колонку с ProgIndex(Для дальнейшей работы - без разыменовки) 
   Колонка := Раскладка.Add; 
   Колонка.Caption := 'Индекс данных записи';
   Колонка.Name := '_ИндексыДанных';
   Колонка.FieldName := 'ИндексыДанных';
   Колонка.Group := Группировка;
   Колонка.ColumnType := ctpDisplay;
   Колонка.ValueType := vtxInteger;
   Колонка.Width := 75;
   Колонка.Required := trxDaily + trxRequired + trxNotTotal;
   Колонка.Hidden := да;
   Колонка.Level := 0;

   // добавляем колонку с ProgIndex'ом заголовка(Для дальнейшей работы - без разыменовки) 
   Колонка := Раскладка.Add; 
   Колонка.Caption := 'Индекс данных документа';
   Колонка.Name := '_ИндексыДанныхЗаголовок';
   Колонка.FieldName := 'ИндексыДанныхЗаголовок';
   Колонка.Group := Группировка;
   Колонка.ColumnType := ctpDisplay;
   Колонка.ValueType := vtxInteger;
   Колонка.Width := 75;
   Колонка.Required := trxDaily + trxRequired + trxNotTotal;
   Колонка.Hidden := да;
   Колонка.Level := 0;

   // добавляем колонку с именем интерфейса(Разыменованный индекс данных). 
   //Дополнительно анализируем индекс данных заголовка для тех случаев, когда индексы данных в заголовке и детали различны  
   Колонка := Раскладка.Add;
   Колонка.Caption := 'Интерфейс';
   Колонка.Name := '_ИмяИнтерфейса';
   Колонка.FieldName := 'ВычИмяИнтерфейса';
   Колонка.Group := Группировка;
   Колонка.ColumnType := ctpDisplay;
   Колонка.ValueType := vtxString;
   Колонка.Width := 150;
   //Колонка.Code := 'Служебные.БлокДанных';
   //Колонка.Named := да;
   Колонка.Required := trxDaily + trxRequired + trxNotTotal;
   Колонка.Hidden := нет;
   Колонка.Level := 0;
   Колонка.Options:=toxFixedCol;
   Колонка.AutoSize :=asxAutoHeight;
   Колонка.CalcField := да;
   Колонка.ValueSize := 255;
   Колонка.script := 
     "начало  
        если ИндексыДанныхЗаголовок.Пустое или (ИндексыДанныхЗаголовок.какцелое=ИндексыДанных.какцелое) тогда 
          Значение.КакСтрока:=разыменовать('Служебные.БлокДанных',ИндексыДанных.КакЦелое)
        иначе 
          Значение.КакСтрока:=разыменовать('Служебные.БлокДанных',ИндексыДанныхЗаголовок.КакЦелое)+'('+разыменовать('Служебные.БлокДанных',ИндексыДанных.КакЦелое)+')';
      конец.";
   
   // Добавления поля ID детали
   Колонка := Раскладка.Add; 
   Колонка.Caption := 'Код Записи';
   Колонка.Name := '_КодЗаписи';
   Колонка.FieldName := 'КодЗаписи';
   Колонка.Group := Группировка;
   Колонка.ColumnType := ctpDisplay;
   Колонка.ValueType := vtxInteger;
   Колонка.Width := 75;
   Колонка.Required := trxDaily + trxRequired + trxNotTotal;
   Колонка.Hidden := да;
   Колонка.Level := 0;
конец;

функция СделатьВсеКолонкиРаскладкиДляЧтения(Раскладка : ITableInfoX);
переменные
  сч : Целое;
начало
 от сч := 0 до Раскладка.Count - 1 делать
     Раскладка.Columns(сч).Options := БитИли(toxReadOnly, Раскладка.Columns(сч).Options);
конец;     

// инициализирует Визуализатор детали по индексу алгоритма
функция ИнициализироватьВизуализаторДетали(ГиперФорма : IHyperForm; Визуализатор: IUniViewer; ИндексАлг : Целое; ШаблонПоУмолчанию : Строка);
переменные
  ПутьКШаблону : Строка;
начало
  Визуализатор := ГиперФорма.DetailSSViewerByAlgIndex(ИндексАлг);
  ПутьКШаблону := ГиперФорма.GetTemplateByAlgIndex(ИндексАлг);
  // если шаблона нет, то берем тот же шаблон что и у выполненного отчета (это лучше чем ничего)
  Если (ПутьКШаблону = '')
    тогда ПутьКШаблону := ШаблонПоУмолчанию; 
  Если (ПутьКШаблону = '')
    тогда ВызватьОшибку('Не указан путь к шаблону показа гипер текста для алгоритма c индексом ' + ЦелоеВСтроку(ИндексАлг));
  Визуализатор.Template := ПутьКШаблону;
конец;

функция СформироватьРаскладкуДетали(ТекущаяРаскладкаДетали, РаскладкаОтчета : ITableInfoX; СписокИменАлгоритмов : Строка; 
  НеУдалятьКолонки : Целое; СкриптШаблона : Строка);
переменные 
  ЕстьЧтоДобавлять : Целое;
  сч : Целое;
  ТекущаяКолока, КолонкаОтчета : IColumnInfoX;
  СписокАлгоритмов : Текст;
начало
  // скрипт устанавливаем
  ТекущаяРаскладкаДетали.Script := СкриптШаблона; 
  // если речь идет о метаалгортме то не надо ничего удалять
  Если НЕ НеУдалятьКолонки
  тогда начало
    // Проверка будет ли что добавлять (если нет, то мы и удалять не будем)
    ЕстьЧтоДобавлять := нет;
    СписокАлгоритмов := СоздатьТекст;
    Попытка
      СписокАлгоритмов.разделенноеЗначение := СписокИменАлгоритмов; 
      от Сч := 0 до РаскладкаОтчета.Count - 1 
      делать начало
        КолонкаОтчета := РаскладкаОтчета.Columns(сч);
        Если (не ЕстьЧтоДобавлять) и КолонкаОтчета.IsDataRequired и ((КолонкаОтчета.ColumnType = ctpResult) или (КолонкаОтчета.ColumnType = ctpCrossResult)) и
             (КолонкаОтчета.Category &lt;&gt; '') и (СписокАлгоритмов.Поиск(КолонкаОтчета.Category) &lt;&gt; -1)
        тогда начало
          ЕстьЧтоДобавлять := да;
        конец;
      конец;
    Обязательно
      УдалитьОбъект(СписокАлгоритмов);
    конец;
    если ЕстьЧтоДобавлять тогда начало
      // 1. необходимо удалить все колонки результата из раскладки детали
      сч := 0;
      пока (Сч &lt;= ТекущаяРаскладкаДетали.Count - 1) 
      делать начало
        ТекущаяКолока := ТекущаяРаскладкаДетали.Columns(сч);
        Если (ТекущаяКолока.ColumnType = ctpResult) или (ТекущаяКолока.ColumnType = ctpCrossResult)
          тогда ТекущаяРаскладкаДетали.delete(сч)        
          иначе Сч := Сч + 1; 
      конец;
      // 2. необходимо добавить в раскладку детали все колонки результата относящиеся к данному алгоритму
      СписокАлгоритмов := СоздатьТекст;
      Попытка
        СписокАлгоритмов.разделенноеЗначение := СписокИменАлгоритмов; 
        от Сч := 0 до РаскладкаОтчета.Count - 1 
        делать начало
          КолонкаОтчета := РаскладкаОтчета.Columns(сч);
          Если КолонкаОтчета.IsDataRequired и ((КолонкаОтчета.ColumnType = ctpResult) или (КолонкаОтчета.ColumnType = ctpCrossResult)) и
               (КолонкаОтчета.Category &lt;&gt; '') и (СписокАлгоритмов.Поиск(КолонкаОтчета.Category) &lt;&gt; -1)
          тогда начало
             ТекущаяКолока := ТекущаяРаскладкаДетали.Add;
             КолонкаОтчета.CopyTo(ТекущаяКолока);
             ТекущаяКолока.Hidden := нет;
             ТекущаяКолока.Level := 0;
          конец;
        конец;
      Обязательно
        УдалитьОбъект(СписокАлгоритмов);
      конец;
    конец;
  конец;  
конец;

функция СкрытьГиперКолонки(Раскладка: ITableInfoX);
переменные
  сч: целое;
начало
  сч := 0;
  пока сч &lt; Раскладка.Count делать
    если Позиция('ГиперТекст', Раскладка.Columns(сч).Name) &lt;&gt; 0 тогда
      Раскладка.Delete(сч)      
    иначе
      сч := сч + 1;
конец;

// Комментарий
функция ФормированиеГиперДокумента(Визуализатор: IUniViewer; ИмяПоляГиперТекста: строка; ДляПоказаДокументовМодально: целое = нет);
переменные
  НетДанных: целое;
начало
   // получаем форму гипер текста
   ФормаГиперТекста := HyperTextForm;
   ФормаГиперТекста.Clear;
   НаборДанных := Визуализатор.Viewer;
   если (НаборДанных.PageIndex &lt; 0) тогда выход;
   ДанныеОтчета := НаборДанных.DataSets(НаборДанных.PageIndex);
   // получаем коллекцию ограничений
   КоллекцияОграничений := GetHyperTextParams(ДанныеОтчета.ПолеПоИмени(ИмяПоляГиперТекста));
   локКоллекцияОграничений  := создатьКоллекцию;
   Если (КоллекцияОграничений.Values('КодЗаписи') = '') или (КоллекцияОграничений.Values('КодЗаписи') = '0')
     тогда ВызватьОшибку('Для данной строки невозможно показать данные, сформировавшие ее');
   СписокАлгоритмовДляЗаписи := КоллекцияОграничений.Values('ИндексАлгоритма');  
   // берем ограничения с которыми был выполнен отчет
   КоллекцияОграничений.Pumpdata(Ivariables(НаборДанных.params(НаборДанных.PageIndex)).Values('@ПараметрыГиперТекст'));
   // вернем назад список алгоритмов (он может и подпортиться)
   КоллекцияОграничений.Values('ИндексАлгоритма') := СписокАлгоритмовДляЗаписи;  // в параметрах на панели мог быть такой же параметр
   //берем раскладку с которой будем заполнять первую страницу
   Раскладка := CreateTableInfo;
   ITableInfoX(Ivariables(НаборДанных.params(НаборДанных.PageIndex)).Values('@РаскладкаГиперТекст')).CopyTo(Раскладка); 
   // добавляем колонки в гипер документ
   Раскладка := ДобавитьГиперКолонкиВРаскладку(Раскладка, да);
   СкрытьГиперКолонки(Раскладка);
   // фильтры не нужны
   Раскладка.PreFilter := '';
   Раскладка.Filter := '';
   СкриптШаблонаБаза := Раскладка.Script;
   //формируем данные
   Если (Раскладка.Params('ИндексСтраницыШаблона') &lt;&gt; '')
     тогда Визуализатор.TemplateIndex := Раскладка.Params('ИндексСтраницыШаблона')
     иначе Визуализатор.TemplateIndex := НаборДанных.PageIndex; 
   // получаем параметры вывода
   ПараметрыВыводаЗаголовок := CreateVariables; 
   ПараметрыВыводаЗаголовок.Pumpdata(Ivariables(НаборДанных.params(НаборДанных.PageIndex)).Values('@ПараметрыВыводаГиперТекст'));
   СформироватьГиперДанные('', Визуализатор, Раскладка, КоллекцияОграничений, ГиперДанные, ГиперЗаголовок, ПараметрыВыводаЗаголовок);
   ОсновнойВизуализатор := ФормаГиперТекста.MainSSViewer;
   // делаем все колонки только для чтения
   СделатьВсеКолонкиРаскладкиДляЧтения(Раскладка);
   // выводим данные пользователю на основную страничку 
   НетДанных := не ВывестиДанные(ОсновнойВизуализатор, nil, Раскладка, ПараметрыВыводаЗаголовок, КоллекцияОграничений, ГиперДанные, Заголовок, да);
   если НетДанных тогда 
     ВызватьОшибку('Для данной строки невозможно показать данные, сформировавшие ее');
     
   // формируем данные детализации
   СписокАлгоритмов := СоздатьТекст; 
   СписокРеальныхАлгоритмов := СоздатьТекст; 
   Попытка
     // возможен случай метаАлгоритмов!!!
     СписокАлгоритмов.РазделенноеЗначение := КоллекцияОграничений.Values('ИндексАлгоритма');
     КоллекцияОграничений.Значение("ПечатныйДокумент") := да;
     
     // не накладываем ограничения по синтетическому бух счету, так как часть разрядов может автоформироваться и ограничение может отработать неверно
     КоллекцияОграничений.Delete('БухСчетДебет');
     КоллекцияОграничений.Delete('БухСчетДебетБезЭК');
     КоллекцияОграничений.Delete('БухСчетКредит');
     КоллекцияОграничений.Delete('БухСчетКредитБезЭК');
     КоллекцияОграничений.Delete('БухСинтетСчет');
     КоллекцияОграничений.Delete('БухСинтетСчетБезЭК');
         
     // Смотрим, а может это мета алгоритм
     ЭтоМетаАлгоритм := (КоллекцияОграничений.Values('ИндексРеальногоАлгоритма') &lt;&gt; '');
     Если ЭтоМетаАлгоритм
       тогда начало
         СписокРеальныхАлгоритмов.РазделенноеЗначение := КоллекцияОграничений.Values('ИндексРеальногоАлгоритма');
         // в коллекцию ограничений нужные алгоритмы пихаем (Для Мета Алгоритма это особенно важно)
         КоллекцияОграничений.Values('ИндексАлгоритма') := СписокРеальныхАлгоритмов.РазделенноеЗначение ;  
       конец  
       иначе СписокРеальныхАлгоритмов.РазделенноеЗначение := КоллекцияОграничений.Values('ИндексАлгоритма');
     
     от Сч := 0 до СписокАлгоритмов.Количество - 1 
     делать начало
       // инициализируем визуализатор
       ИнициализироватьВизуализаторДетали(ФормаГиперТекста, ВизуализаторДетали, целое(СписокРеальныхАлгоритмов.стр(сч)), Визуализатор.Template);
       // изменяем раскладку детали
       РаскладкаДетали := ВизуализаторДетали.GetTable;
       // фильтры убираем (по идее нужных колонок может и не быть)
       РаскладкаДетали.Filter := '';
       РаскладкаДетали.PreFilter := '';
       СформироватьРаскладкуДетали(РаскладкаДетали, Раскладка, разыменовать('Служебные.СписокАлгоритмов', СписокРеальныхАлгоритмов.стр(сч)), 
         ЭтоМетаАлгоритм, СкриптШаблонаБаза);
       // добавляем к оаскладке нужные колонки
       РаскладкаДетали := ДобавитьГиперКолонкиВРаскладку(РаскладкаДетали, Нет);
       //формируем ограничения. создаем локальную коллекцию, так как для каждого алгоритма могут быть добавлены свои параметры
       // с шаблона гипердокумента, уникальные для алгоритма
       локКоллекцияОграничений.AssignData(КоллекцияОграничений);
       //берем с шаблона гипердокумента дополнительные параметры
       локКоллекцияОграничений.PumpData(ВизуализаторДетали.GetVariables);
       //формируем данные 
       СформироватьГиперДанные('', ВизуализаторДетали, РаскладкаДетали, локКоллекцияОграничений, ГиперДанные, ГиперЗаголовок, nil);
       // делаем все колонки только для чтения
       СделатьВсеКолонкиРаскладкиДляЧтения(РаскладкаДетали);
       // выводим данные для каждого алгоритма отдельно                   
       ВывестиДанные(ВизуализаторДетали, nil, РаскладкаДетали, ПараметрыВыводаДеталь, локКоллекцияОграничений,
                     ГиперДанные, Заголовок, да); 
     конец; 
   обязательно
     УдалитьОбъект(СписокАлгоритмов);
   конец;
   если ДляПоказаДокументовМодально тогда
     ФормаГиперТекста.ShowAllDocuments
   иначе        
     ФормаГиперТекста.ShowModalHyperText;
   ФормаГиперТекста.Clear;
конец;

//Основной блок
НАЧАЛО
  ФормированиеГиперДокумента(Визуализатор, ПолеХранениеГиперТекст, ДляПоказаДокументовМодально);
КОНЕЦ.
</value>
    <param value="ФормированиеГиперДокумент" type="3" name="version">36.042.28</param>
    <param value="ФормированиеГиперДокумент" type="3" name="crc32">$FC0CE98B</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="ФормированиеГиперДокументПоСумме">// обработчик для показа гипер документов
включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Hypertext.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '%root%\Объекты\Отчеты\Скрипты\События\ФормированиеГиперДокумент';

ФормированиеГиперДокументПоСумме(Визуализатор: IUniViewer);
переменные
  НаборДанных  : IStaticSets;
  Грид: ICoolGrid;
  Колонка: IColumnInfoX;
  ИмяКолонки: строка;
  НомерКолонки: целое;
  Раскладка: ITableInfoX;
  
НАЧАЛО
  НаборДанных := Визуализатор.Viewer;
  если (НаборДанных.PageIndex &lt; 0) тогда 
    выход;
  Грид := НаборДанных.CoolGrids(НаборДанных.PageIndex);
  ИмяКолонки := Грид.SelectedColumn.Field.Имя;
  Раскладка := CreateTableInfo;
  ITableInfoX(Ivariables(НаборДанных.params(НаборДанных.PageIndex)).Values('@РаскладкаГиперТекст')).CopyTo(Раскладка);
  НомерКолонки := Раскладка.FindColumn(ИмяКолонки);
  если  НомерКолонки &gt;= 0 тогда
  начало
    Колонка := Раскладка.Columns(НомерКолонки);
    если (Колонка &lt;&gt; nil) и (Колонка.ColumnType = ctpResult)и(Колонка.ValueType = vtxDouble) тогда
    начало
      НомерКолонки := Раскладка.FindColumn('ГиперТекст' + ИмяКолонки);
      если НомерКолонки &lt;&gt; -1 тогда
      ФормированиеГиперДокумента(Визуализатор, 'ГиперТекст' + ИмяКолонки, нет);
    конец
    иначе
      ВызватьОшибку("Поле не является суммой результатом");
  конец  
  иначе
    ВызватьОшибку("Поле не является суммой результатом");
КОНЕЦ.
</value>
    <param value="ФормированиеГиперДокументПоСумме" type="3" name="version">36.042.28</param>
    <param value="ФормированиеГиперДокументПоСумме" type="3" name="crc32">$F4A90948</param>
  </node>
  <version_info>
    <file>ДиагностикаСистемы.xml</file>
    <version>36.000.09</version>
    <info>Тесты для интерфейса "Диагностика системы"</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:27</buildtime>
  </version_info>
  <description>Тесты для диагностики системы</description>
  <node path="%root%\Объекты\Интерфейсы\{77A9CEB2-8B67-4C70-9D5E-D5F4BD25DDE0}\Меню">
    <value type="3" name="Набор картинок">16на16</value>
    <param value="Набор картинок" type="3" name="version">36.000.09</param>
    <param value="Набор картинок" type="3" name="crc32">$65574240</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{77A9CEB2-8B67-4C70-9D5E-D5F4BD25DDE0}\Действия\ПроверкаДублированныхСчетов">
    <value type="3" name="HistoryLog">16.09.2010 18:06:17 Пользователь "SYSDBA" нажал на кнопку "Показать дублированные счета внутри одной организации"
14.10.2011 9:14:40 Пользователь "SYSDBA" нажал на кнопку "Показать дублированные счета внутри одной организации"
14.10.2011 9:22:07 Пользователь "SYSDBA" нажал на кнопку "Показать дублированные счета внутри одной организации"
14.10.2011 9:23:25 Пользователь "SYSDBA" нажал на кнопку "Показать дублированные счета"
</value>
    <value type="1" name="HistoryResult">1</value>
    <value type="3" name="HistoryResultNote">Найдены дублированные счета:
В разных организациях: 402
В одной организации: 695</value>
    <value type="2" name="HistoryTime">40830,3901035648</value>
    <value type="3" name="HistoryUser">SYSDBA</value>
    <value type="3" name="Заголовок">Проверка дублированных счетов</value>
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\Библиотеки\LibRu.Lib";

ПроверкаДублированныхСчетов(Комментарий: строка): целое;

функция НайтиДублированныеСчета(Показывать, ВОднойОрганизации: целое): целое;
переменные
  Справочник: СтатическиеДанные;
  пИд, пСчет: Поле;
  ПредИд, ЭтоНовыйСчет, Сч: целое;
  ПредСчет: строка;
начало
  Справочник := СоздатьСтатическиеДанные;
  попытка
    Справочник.ДобавитьСтроковоеПоле("INN", 20).DisplayLabel := "ИНН";
    Справочник.ДобавитьСтроковоеПоле("INN20", 20).DisplayLabel := "КПП";
    для Справочник.ДобавитьСтроковоеПоле("NAME", 1024) делать
    начало
      .DisplayLabel := "Наименование";
      .DefProps("DisplayWidth") := 50;
    конец;
    для Справочник.ДобавитьСтроковоеПоле("ACC", 20) делать
    начало
      .DisplayLabel := "Счет";;
      .DefProps("DisplayWidth") := 30;
    конец;
    Справочник.ДобавитьЦелоеПоле("ID").DisplayLabel := "Код организации";
    Справочник.ДобавитьЦелоеПоле("AccID").DisplayLabel := "Код счета";
    Справочник.СоединитьБД;
    Справочник.SQL := "[PumpData]" +
      "{select o.ID, oa1.Id AccId, o.inn, o.inn20, o.Name, oa1.Acc from Org_Accounts oa1 " +
      "left join Organizations o on (oa1.Org_Ref = o.Id) order by @Order}"; 
    если ВОднойОрганизации тогда
      Справочник.Параметр("Order") := "o.ID,oa1.Acc"
    иначе  
      Справочник.Параметр("Order") := "oa1.Acc";
    Справочник.Открыть;

    // Вычисление груп дупликатов
    Результат := 0; Сч := 0;
    пСчет := Справочник.ПолеПоИмени("ACC");
    Справочник.ВНачало;
    ПредСчет := пСчет.КакСтрока;
    Справочник.Следующая;
    пока не Справочник.ВКонце делать
    начало
      ЭтоНовыйСчет := (пСчет.КакСтрока &lt;&gt; ПредСчет);
      если ЭтоНовыйСчет тогда
      начало
        если Сч = 0 тогда
        начало
          Справочник.Предыдущая;
          Справочник.Удалить;
        конец  
        иначе 
        начало
          Результат := Результат + 1;
          если Показывать тогда
          начало
            Справочник.Insert;
            Справочник.Post;
            Справочник.Следующая;
          конец  
        конец;  
        Сч := 0;
        ПредСчет := пСчет.КакСтрока;
      конец
      иначе
        Сч := Сч + 1;
      Справочник.Следующая;
    конец;

    если Показывать тогда
    начало
      Справочник.ВНачало;
      Показать(Справочник);
    конец;
  обязательно
    УдалитьОбъект(Справочник);
  конец;
конец;

функция ПоказатьДублированныеСчета;
начало
  НайтиДублированныеСчета(да, нет);
конец;

функция ПоказатьДублированныеСчетаВОднойОрганизации;
начало
  НайтиДублированныеСчета(да, да);
конец;

переменные
  КолДублированныхСчетов, КолДублированныхСчетовВОднойОрганизации: целое;
начало
  КолДублированныхСчетов := НайтиДублированныеСчета(нет, нет);
  КолДублированныхСчетовВОднойОрганизации := НайтиДублированныеСчета(нет, да);
  если (КолДублированныхСчетов &lt;&gt; 0) или (КолДублированныхСчетовВОднойОрганизации &lt;&gt; 0) тогда
  начало
    ПроверкаДублированныхСчетов := 1;
    Комментарий := "Найдены дублированные счета:" + #13#10 +
      "В разных организациях: " + ЦелоеВСтроку(КолДублированныхСчетов) + #13#10 +
      "В одной организации: " + ЦелоеВСтроку(КолДублированныхСчетовВОднойОрганизации);
    если КолДублированныхСчетов &lt;&gt; 0 тогда 
      ПолучитьФормуВвода.ПараметрПользователя(1000) := МассивИз("ПоказатьДублированныеСчета",  "Показать дублированные счета", "", "ПоискОшибок");
    если КолДублированныхСчетовВОднойОрганизации &lt;&gt; 0 тогда 
      ПолучитьФормуВвода.ПараметрПользователя(1000) := МассивИз("ПоказатьДублированныеСчетаВОднойОрганизации",  "Показать дублированные счета внутри одной организации", "", "ПоискОшибок");
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">ALEXEEV\alexeev\14.10.2011 9:55:17</param>
    <value type="3" name="Комментарий">Выполняет поиск дублированных счетов в разных организациях и внутри одной организации</value>
    <param value="HistoryLog" type="3" name="version">36.000.09</param>
    <param value="HistoryLog" type="3" name="crc32">$07B2267D</param>
    <param value="HistoryResult" type="3" name="version">36.000.09</param>
    <param value="HistoryResultNote" type="3" name="version">36.000.09</param>
    <param value="HistoryResultNote" type="3" name="crc32">$430D7412</param>
    <param value="HistoryTime" type="3" name="version">36.000.09</param>
    <param value="HistoryTime" type="3" name="crc32">$4F52F5C8</param>
    <param value="HistoryUser" type="3" name="version">36.000.09</param>
    <param value="HistoryUser" type="3" name="crc32">$D2A60E32</param>
    <param value="Заголовок" type="3" name="version">36.000.09</param>
    <param value="Заголовок" type="3" name="crc32">$F4F3925C</param>
    <param value="Код программы" type="3" name="version">36.000.09</param>
    <param value="Код программы" type="3" name="crc32">$4D8AB438</param>
    <param value="Комментарий" type="3" name="version">36.000.09</param>
    <param value="Комментарий" type="3" name="crc32">$8193F750</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{77A9CEB2-8B67-4C70-9D5E-D5F4BD25DDE0}\Действия\ПроверкаКорректностиСкриптов">
    <value type="7" name="Код программы">включить "Project";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Output.lib";

ПроверкаКорректностиСкриптов(Комментарий: строка): целое;

константы
  СОкномВывода = Да;

переменные
  Окно: ОкноВывода;
  ЧислоОшибок: Целое;

функция ОбработатьУзел(ИмяУзла: строка; Менять: Целое): Целое;
переменные
  Узел: УзелРеестра;
  Значение: ЗначениеРеестра;
  СписокУзлов, СписокЗначений: Текст;
  инд, КоличествоИзменений: целое;
  ТекстПрограммы: строка;
начало
  Результат := 0;
  Узел := Реестр.Узел(ИмяУзла);
  СписокЗначений := СоздатьТекст;
  попытка
    СписокЗначений.Значение := Узел.СписокЗначений;
    от инд := 0 до СписокЗначений.Количество - 1 делать
    начало
      Значение := Узел.Значение(СписокЗначений.Стр(инд));
      если Значение.ТипДанных = ТипДанныхРеестра_Программа тогда
      начало
        ТекстПрограммы := Значение.КакСтрока;
        попытка
          КоличествоИзменений := AblFix(ТекстПрограммы);
        неудача
          Результат := Результат + 1;
          если СОкномВывода тогда
            Окно.Вывести(ИмяУзла + "\" + СписокЗначений.Стр(инд) + ": возникла ошибка: " + ПоследняяОшибка);
          КоличествоИзменений := 0;
        конец;
        если КоличествоИзменений &gt; 0 тогда
        начало
          если Менять тогда
            Значение.КакСтрока := ТекстПрограммы
          иначе
            Результат := Результат + 1;            
          если СОкномВывода тогда
            Окно.Вывести(ИмяУзла + "\" + СписокЗначений.Стр(инд) + ": КоличествоИзменений=" + ЦелоеВСтроку(КоличествоИзменений));
        конец; 
      конец;
    конец;
  обязательно
    УдалитьОбъект(СписокЗначений); 
  конец;
  СписокУзлов := СоздатьТекст;
  попытка
    СписокУзлов.Значение := Узел.СписокУзлов;
    от инд := 0 до СписокУзлов.Количество - 1 делать
      Результат := Результат + ОбработатьУзел(ИмяУзла + "\" + СписокУзлов.Стр(инд), Менять);
  обязательно
    УдалитьОбъект(СписокУзлов); 
  конец;
конец;

функция НайтиОшибки(Менять: Целое);
начало
  если СОкномВывода тогда
  начало
    Окно := ОкноВывода;
    Окно.Очистить;
  конец;
  ЧислоОшибок := ОбработатьУзел("%root%", Менять);
конец;

функция ПоказатьОшибки;
начало
  Окно := ОкноВывода;
  Окно.Показать;
конец;

функция ИсправитьОшибки;
начало
  НайтиОшибки(Нет);
  если ЧислоОшибок &gt; 0 тогда
    Сообщение('Изменения внесены, однако часть ошибок не удалось исправить');
конец;
  
начало
  НайтиОшибки(Нет);
  если ЧислоОшибок &gt; 0 тогда
  начало
    ПроверкаКорректностиСкриптов := 1;
    Комментарий := "Найдено " + Строка(ЧислоОшибок) + " ошибок. Нажмите кнопку 'Показать ошибки' для просмотра.";
    ПолучитьФормуВвода.ПараметрПользователя(1000) := МассивИз("ПоказатьОшибки",  "Показать ошибки", "", "ПоискОшибок");
    ПолучитьФормуВвода.ПараметрПользователя(1000) := МассивИз("ИсправитьОшибки",  "Исправить ошибки", "", "ПоискОшибок");
  конец;
конец.


</value>
    <param value="Код программы" type="3" name="Export">ALEXEEV\alexeev\12.10.2010 9:18:09</param>
    <value type="3" name="Комментарий">Проверяет корректность синтаксиса АБЛ-скриптов в соответствии с текущей версией исполняющей машины АБЛ</value>
    <param value="Код программы" type="3" name="version">36.000.09</param>
    <param value="Код программы" type="3" name="crc32">$8EB78461</param>
    <param value="Комментарий" type="3" name="version">36.000.09</param>
    <param value="Комментарий" type="3" name="crc32">$07345EA4</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{77A9CEB2-8B67-4C70-9D5E-D5F4BD25DDE0}\Действия\ПроверкаМиграции">
    <value type="3" name="HistoryLog" />
    <value type="1" name="HistoryResult">0</value>
    <value type="3" name="HistoryResultNote" />
    <value type="2" name="HistoryTime">40830,4103485301</value>
    <value type="3" name="HistoryUser">SYSDBA</value>
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\Библиотеки\LibRu.Lib";

ПроверкаМиграции(Комментарий: строка): целое;
переменные
  Выборка: Выборка;
начало
  попытка
    Выборка := СоздатьВыборку('select Count(*) from RDB$DATABASE');
  неудача
    ПроверкаМиграции := 0;
    Комментарий := "Не применимо";
    Возврат;
  конец;
  попытка
    Выборка := СоздатьВыборку('select * from RDB$TRIGGERS');
    Выборка.ВКонец;
  неудача
    ПроверкаМиграции := 1;
    Комментарий := "Вероятно БД нуждается в миграции ftp://ftp.krista.ru/budget/Tools/FB21/" + #13#10 + ПоследняяОшибка;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">ALEXEEV\alexeev\14.10.2011 9:55:23</param>
    <value type="3" name="Комментарий">Проверяет корректность метаданных для FireBird 2.1 и выше</value>
    <value type="4" name="Отладка">0</value>
    <param value="HistoryLog" type="3" name="version">36.000.09</param>
    <param value="HistoryLog" type="3" name="crc32">$00000000</param>
    <param value="HistoryResult" type="3" name="version">36.000.09</param>
    <param value="HistoryResultNote" type="3" name="version">36.000.09</param>
    <param value="HistoryResultNote" type="3" name="crc32">$00000000</param>
    <param value="HistoryTime" type="3" name="version">36.000.09</param>
    <param value="HistoryTime" type="3" name="crc32">$76F391CC</param>
    <param value="HistoryUser" type="3" name="version">36.000.09</param>
    <param value="HistoryUser" type="3" name="crc32">$D2A60E32</param>
    <param value="Код программы" type="3" name="version">36.000.09</param>
    <param value="Код программы" type="3" name="crc32">$3BF2379D</param>
    <param value="Комментарий" type="3" name="version">36.000.09</param>
    <param value="Комментарий" type="3" name="crc32">$2AE74FFD</param>
    <param value="Отладка" type="3" name="version">36.000.09</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{77A9CEB2-8B67-4C70-9D5E-D5F4BD25DDE0}\Действия\ПроверкаНеуказаннойОрганизации">
    <value type="3" name="Заголовок">Проверка неуказанной организации</value>
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\Библиотеки\LibRu.Lib";

ПроверкаНеуказаннойОрганизации(Комментарий: строка): целое;

// нажатие на кнопку "Исправить"
функция ВставитьНеуказаннуюОрганизацию;
начало
  ВыполнитьЗапрос('insert into Organizations(id, name, budgetref) values(0, "Неуказанная организация", 0)');
  // удалим кнопку, т.к. повторно ее нажимать нельзя
  ПолучитьФормуВвода.ПараметрПользователя(1001) := МассивИз("ВставитьНеуказаннуюОрганизацию");
  Сообщение("Неуказанная организация успешно добавлена");
конец;

// нажатие на кнопку "Справочник"
функция ПоказатьСправочник;
начало
  ДанныеОрганизации.СправочникОрганизаций;
конец;

переменные
  Справочник: СтатическиеДанные;
начало
  // добавляем кнопку для вызова справочника организаций
  ПолучитьФормуВвода.ПараметрПользователя(1000) := МассивИз("ПоказатьСправочник",  "Справочник", "Показать справочник организаций", "ВызватьСправочник");
  Справочник := СоздатьСтатическиеДанные;
  попытка
    Справочник.СоединитьБД;
    Справочник.SQL := "[PumpData]{select * from Organizations where ID = 0}";
    Справочник.Открыть;
    если Справочник.ЧислоЗаписей = 0 тогда
    начало
      // неуказанной организации нет - вернем ошибку и добавим кнопку для исправления
      ПроверкаНеуказаннойОрганизации := 1;
      Комментарий := "В справочнике организаций отсутствует неуказанная организация";
      ПолучитьФормуВвода.ПараметрПользователя(1000) := МассивИз("ВставитьНеуказаннуюОрганизацию",  "Исправить", "Добавляет в справочник организаций неуказанную организаци", "ПринятьДокумент");
    конец иначе
    если (Справочник.ПолеПоИмени("INN").КакДробное &lt;&gt; 0) или (УбратьПробелы(Справочник.ПолеПоИмени("INN20").КакСтрока) &lt;&gt; "" ) тогда
    начало
      // неуказанная организация есть, но имеет неверные атрибуты
      ПроверкаНеуказаннойОрганизации := 1;
      Комментарий := Формат("Неуказанная организация есть в базе данных, но она имеет неверные атрибуты: " + #13#10 +
                            "ИНН: %s" + #13#10 + "КПП: %s" + #13#10 + "Наименование: %s",
                            Справочник.ПолеПоИмени("INN").КакСтрока, Справочник.ПолеПоИмени("INN20").КакСтрока,
                            Справочник.ПолеПоИмени("NAME").КакСтрока);
    конец иначе
      ПроверкаНеуказаннойОрганизации := 0;
  обязательно
    УдалитьОбъект(Справочник);
  конец;
конец.
</value>
    <value type="3" name="Комментарий">Проверяет наличие в справочнике организаций неуказанной организации</value>
    <param value="Заголовок" type="3" name="version">36.000.09</param>
    <param value="Заголовок" type="3" name="crc32">$75FE32A3</param>
    <param value="Код программы" type="3" name="version">36.000.09</param>
    <param value="Код программы" type="3" name="crc32">$7FF19A36</param>
    <param value="Комментарий" type="3" name="version">36.000.09</param>
    <param value="Комментарий" type="3" name="crc32">$E87C020A</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{77A9CEB2-8B67-4C70-9D5E-D5F4BD25DDE0}\Действия\ПроверкаОбслуживающейОрганизации">
    <value type="3" name="Заголовок">Проверка обслуживающей организации</value>
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\Библиотеки\LibRu.Lib";

ПроверкаОбслуживающейОрганизаций(Комментарий: строка): целое;

//формирование окончания в зависимости от значения предыдущего числительного  
функция Окончание(Число: ЦЕЛОЕ; Окончание1, Окончание2, Окончание3: строка): строка;
начало
  выбрать Число ост 20 из
        1: Результат := ЦелоеВСтроку(Число) + " " + Окончание1;
    2,3,4: Результат := ЦелоеВСтроку(Число) + " " + Окончание2;
    иначе  Результат := ЦелоеВСтроку(Число) + " " + Окончание3;
  конец;   
конец;

функция ДобавитьОшибку(ссОшибки, Справочник: СтатическиеДанные; ТекстОшибки: строка): строка;
начало
  ссОшибки.Добавить;
  ссОшибки.ПолеПоИмени("ИНН").КакСтрока := Справочник.ПолеПоИмени("inn").КакСтрока;
  ссОшибки.ПолеПоИмени("КПП").КакСтрока := Справочник.ПолеПоИмени("inn20").КакСтрока;
  ссОшибки.ПолеПоИмени("Наименование").КакСтрока := Справочник.ПолеПоИмени("name").КакСтрока;
  ссОшибки.ПолеПоИмени("Счет").КакСтрока := Справочник.ПолеПоИмени("acc").КакСтрока;
  ссОшибки.ПолеПоИмени("Ошибка").КакСтрока := ТекстОшибки;
  ссОшибки.Сохранить;
конец;

функция НайтиОшибки(Показывать: целое): целое;
переменные
  ссОшибки, Справочник: СтатическиеДанные;
  пОрг, пОргСчета, пСчет: Поле;
начало
  Справочник := СоздатьСтатическиеДанные;
  ссОшибки := СоздатьСтатическиеДанные;
  попытка
    ссОшибки.ДобавитьСтроковоеПоле("ИНН", 20);
    ссОшибки.ДобавитьСтроковоеПоле("КПП", 20);
    ссОшибки.ДобавитьСтроковоеПоле("Наименование", 1024).DefProps("DisplayWidth") := 50;
    ссОшибки.ДобавитьСтроковоеПоле("Счет", 20);
    ссОшибки.ДобавитьСтроковоеПоле("Ошибка", 255).DefProps("DisplayWidth") := 50;
    ссОшибки.Открыть;
    Справочник.СоединитьБД;
    Справочник.SQL := "[PumpData]" +
      "{select o.inn, o.inn20, o.Name, oa1.Acc, oa1.service_org_ref, oa1.service_acc_ref, oa2.Org_Ref service_org_ref_from_acc " +
      "from Org_Accounts oa1 " +
      "left join Org_Accounts oa2 on (oa1.service_acc_ref = oa2.Id) " +
      "left join Organizations o on (oa1.org_ref = o.Id)}";
    Справочник.Открыть;
    Справочник.ВНачало;
    пОрг := Справочник.ПолеПоИмени("service_org_ref");
    пОргСчета := Справочник.ПолеПоИмени("service_org_ref_from_acc");
    пСчет := Справочник.ПолеПоИмени("service_acc_ref");
    Результат := 0;
    пока не Справочник.ВКонце делать
    начало
      если (не пОрг.Пустое) или (не пСчет.Пустое) тогда
      начало
        если пОрг.Пустое и (не пСчет.Пустое) тогда
        начало
          если Показывать тогда
            ДобавитьОшибку(ссОшибки, Справочник, "Поле обслуживающая организация пустое, поле счета обслуживающей организации не пустое.")
          иначе
            Результат := Результат + 1;
        конец иначе
        если (не пОрг.Пустое) и пСчет.Пустое тогда
        начало
          если Показывать тогда
            ДобавитьОшибку(ссОшибки, Справочник, "Поле обслуживающая организация не пустое, поле счета обслуживающей организации пустое.")
          иначе
            Результат := Результат + 1;
        конец иначе
        если пОргСчета.Пустое тогда
        начало
          если Показывать тогда
            ДобавитьОшибку(ссОшибки, Справочник, "Поле счета обслуживающей организации ссылается на несуществующий счет. Возможно счет удалили.")
          иначе
            Результат := Результат + 1;
        конец иначе
        если пОрг.КакЦелое &lt;&gt; пОргСчета.КакЦелое тогда
        начало
          если Показывать тогда
            ДобавитьОшибку(ссОшибки, Справочник, "Поле счета обслуживающей организации не соответствует указанной обслуживающей организации.")
          иначе
            Результат := Результат + 1;
        конец;
      конец;
      Справочник.Следующая;
    конец;
    если Показывать тогда
      Показать(ссОшибки);
  обязательно
    УдалитьОбъект(Справочник, ссОшибки);
  конец;
конец;

функция ПоказатьОшибки;
начало
  НайтиОшибки(да);
конец;

переменные
  инд: целое;
начало
  инд := НайтиОшибки(нет);
  если инд &lt;&gt; 0 тогда
  начало
    ПроверкаОбслуживающейОрганизаций := 1;
    Комментарий := "Найдено " + Окончание(инд, "ошибка", "ошибки", "ошибок") + ". Нажмите кнопку 'Показать ошибки' для просмотра.";
    ПолучитьФормуВвода.ПараметрПользователя(1000) := МассивИз("ПоказатьОшибки",  "Показать ошибки", "", "ПоискОшибок");
  конец;
конец.
</value>
    <value type="3" name="Комментарий">Проверяет корректность заполнения обслуживающей организации и счета обслуживающей организации в справочнике организаций</value>
    <param value="Заголовок" type="3" name="version">36.000.09</param>
    <param value="Заголовок" type="3" name="crc32">$9F72DB3E</param>
    <param value="Код программы" type="3" name="version">36.000.09</param>
    <param value="Код программы" type="3" name="crc32">$1C868FF5</param>
    <param value="Комментарий" type="3" name="version">36.000.09</param>
    <param value="Комментарий" type="3" name="crc32">$81FAAA37</param>
  </node>
  <version_info>
    <file>Сборка.Импорт.xml</file>
    <version>36.042.236</version>
    <info>&lt;p&gt;Поддержка импорта&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:29</buildtime>
  </version_info>
  <description>Стандартные макросы для импорта</description>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="ДляПереносаОбщий.abl">включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\LibRu.lib';
включить "\Библиотеки\Variables.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Documents.lib"; 
включить "\макросы\отчеты\поддержкаОтчетов.abl";

константы
  nl = #13#10;
  
// Функция показывает диалог, запрашивающий у пользователя логин/пароль/базу
функция ПоказатьДиалогПодключенияКБД(Коллекция: IVariables): целое;
переменные
  Узел : УзелРеестра;
  Пользователь, Пароль, База: строка;
начало
  результат := 0;
  если Коллекция.ПараметрСуществует("УзелРеестра") тогда
    Узел := Реестр.Узел(Коллекция.Значение("УзелРеестра"))
  иначе
    Узел := Реестр.Узел("Бюджет\Объекты\Отчеты\Настройки");
  Диалог.Очистить;
  если Коллекция.ПараметрСуществует("ЗаголовокДиалога") тогда
    Диалог.Заголовок := Коллекция.Значение("ЗаголовокДиалога")
  иначе
    Диалог.Заголовок := "Подключение к базе следующего года";
  Диалог.Добавить("Имя пользователя", "Пользователь", 0, Список, "", Узел.Значение("Пользователи").КакСтрока);
  Диалог.Добавить("Пароль", "Пароль", 0, 0, "");
  // задавать(менять) путь к БД можно либо администратору, либо, если путь еще не задан
  если (Прописные(ТекущийПользователь)='SYSDBA')или(Узел.Значение("Подключения").КакСтрока='') тогда
    Диалог.Добавить("База данных", "База", 0, Файлы + Список, "", Узел.Значение("Подключения").КакСтрока)
  иначе   
    Диалог.Добавить("База данных", "База", 0, Список + ТолькоЧтение, "", Узел.Значение("Подключения").КакСтрока);
  Диалог.Значение("Пользователь") := ТекущийПользователь;
  Диалог.Значение("База") := Узел.Значение("ПоследнееПодключение").КакСтрока;
  если Диалог.Выполнить тогда
  начало
    Пользователь := Диалог.Значение("Пользователь");
    Пароль := Диалог.Значение("Пароль");
    База := Диалог.Значение("База");
    // записать в реестр информацию о подключении             
    если Позиция(Пользователь,Узел.Значение("Пользователи").КакСтрока) &lt;= 0 тогда
    начало
      если Узел.Значение("Пользователи").КакСтрока &lt;&gt; '' тогда 
        Узел.Значение("Пользователи").КакСтрока := Узел.Значение("Пользователи").КакСтрока + #13;
      Узел.Значение("Пользователи").КакСтрока := Узел.Значение("Пользователи").КакСтрока + Пользователь;
    конец;
    если Позиция(База,Узел.Значение("Подключения").КакСтрока) &lt;= 0 тогда
    начало
      если Узел.Значение("Подключения").КакСтрока &lt;&gt; '' тогда 
        Узел.Значение("Подключения").КакСтрока := Узел.Значение("Подключения").КакСтрока + #13;
      Узел.Значение("Подключения").КакСтрока := Узел.Значение("Подключения").КакСтрока + База;  
    конец;                  
    Узел.Значение("ПоследнееПодключение").КакСтрока:= База;          
    Коллекция.Значение("Пользователь") := Пользователь;
    Коллекция.Значение("Пароль") := Пароль;
    Коллекция.Значение("База") := База;
    результат := 1;
  конец;
конец;

// Функция формирует строку подключения
функция СформироватьСтрокуПодключения(Коллекция: IVariables): строка;                      
переменные
  к: целое;
  Пользователь, Пароль, База, Схема, Сервер : строка;
  Часы, Минуты, Секунды : целое;
  ДатаВызова : Дробное;
начало
  результат := "";
  если (Коллекция &lt;&gt; nil) и
    Коллекция.ПараметрСуществует("Пользователь") и
    Коллекция.ПараметрСуществует("Пароль") и
    Коллекция.ПараметрСуществует("База") тогда
  начало
    Пользователь := Коллекция.Значение("Пользователь");
    Пароль := Коллекция.Значение("Пароль");
    База := Коллекция.Значение("База");
    к := позиция("\",База);
    // если это Oracle
    если (позиция("\",База) &gt; 0) и (Позиция(":", База) = 0) тогда
    начало
      Схема := Подстрока(База, к+1, Длина(База));
      Сервер := Подстрока(База, 1, к - 1);
      Результат := "SERVER NAME=" + Сервер + #13#10 + 
                   "DRIVERNAME=ORACLE" + #13#10 +
                   "SCHEMA=" + Схема;                
    конец
    иначе // IB
    начало
      Результат := "SERVER NAME=" + База + #13#10 +
                   "DRIVERNAME=INTRBASE" + #13#10 +
                   "LANGDRIVER=ancyrr";
    конец;
    // формирование уникального алиаса
    ДатаВызова := ТекущаяДата;
    ПолучитьВремя(ДатаВызова,Часы,Минуты,Секунды);
    Результат := Результат + #13#10 + 
                 "DATABASENAME=BudgetAx_" + ЦелоеВстроку(ОбычнаяДатаВРасшир(ТекущаяДата)) + "_" + 
                 ЦелоеВСтроку(Часы) + "_" + ЦелоеВСтроку(Минуты) + "_" + ЦелоеВСтроку(Секунды) + #13#10 +
                 "USER NAME=" + Пользователь; 
     если Пароль &lt;&gt; "" тогда
       Результат := Результат + #13#10 + "PASSWORD=" + Пароль;
  конец;  
конец;
 
// формирует строку подключения к базе данных, запрашивая у пользователя логин/пароль/базу
функция СформироватьАлиас: строка;
переменные
  Коллекция: IVariables;
начало
  результат := "";
  Коллекция := СоздатьКоллекцию;
  попытка
    Коллекция.Значение("УзелРеестра") := "Бюджет\Объекты\Отчеты\Настройки";
    Коллекция.Значение("ЗаголовокДиалога") := "Подключение к базе следующего года";
    если ПоказатьДиалогПодключенияКБД(Коллекция) тогда
      результат := СформироватьСтрокуПодключения(Коллекция);
  обязательно
    УдалитьОбъект(Коллекция);
  конец;    
конец;

// соединяет статиксет с алиасом, в случае ошибки ругается (старая функция, возможно не требуется)    
функция СоединитьСАлиасом(Данные: СтатическиеДанные; Алиас: Строка);
начало
  попытка
    Данные.СоединитьБД(Алиас); 
  неудача
    если ПоследняяОшибка = 'Could not find object'
      тогда ВызватьОшибку("Не найдена база данных "  + Алиас + "."#13#10"Возможно неверно заданы параметры подключения.")
      иначе ВызватьОшибку(ПоследняяОшибка); 
  конец;
конец;

// возвращает значение генератора из базы, указанной в параметре Алиас
функция Генератор(Алиас, Имя: строка; Диап : целое) : целое;
переменные
  ДляГенератора : СтатическиеДанные;
начало
  ДляГенератора := СоздатьСтатическиеДанные;
  попытка
    СоединитьСАлиасом(ДляГенератора, Алиас);
    ДляГенератора.Запрос := '[PUMPDATA] {select gen_id(' + Имя + ',' + ЦелоеВСтроку(Диап) + ') NewID from single}';
    ДляГенератора.Открыть;  
    результат := ДляГенератора.ПолеПоИмени('NewID').КакЦелое;
  обязательно  
    УдалитьОбъект(ДляГенератора)
  конец;
конец;

// получает константу из базы, указанной в параметре Алиас
функция ПолучитьКонстанту(Алиас: строка; ПрогИндекс, КонстИндекс, Тип : целое): строка;
переменные
  ДляКонстант : СтатическиеДанные;
  Таблица : строка;
начало
  ДляКонстант := СоздатьСтатическиеДанные;
  СоединитьСАлиасом(ДляКонстант, Алиас);
  если Тип = 1 тогда
    Таблица := 'intconst'
  иначе
    Таблица := 'varcharconst';
  ДляКонстант.Запрос := '[PUMPDATA] {select CONSTVALUE from ' + Таблица + ' where (PROGINDEX=@PI) and (CONSTINDEX=@CI)}';
  ДляКонстант.Параметр('PI') := ПрогИндекс;
  ДляКонстант.Параметр('CI') := КонстИндекс;
  ДляКонстант.Открыть;
  результат := ДляКонстант.ПолеПоИмени('CONSTVALUE').КакСтрока; 
конец;

// дополняет запрос секцией InsertData
функция ВставкаЗапрос(Запрос: строка): строка;
начало
  результат := '[INSERTDATA]' + nl +
               '{' + nl + Запрос + nl + '}';
конец;

// Получить по коду бюджета и значимым ключам классификаторов - незначимые ключи
// классификаторов, указанных в маппинге
функция ПолучитьИДКлс(Датасет: СтатическиеДанные; Маппинг, КодБюджета: строка);
переменные
  КлсМап : Текст;
  сч : целое;
  ИмяЗнач, ИмяНезнач, ИмяРазыменовки : строка;
  ПараметрыРазыменовки : IVariables;
  БюджетВРазыменовщике : строка;
начало
  ПараметрыРазыменовки := Интерфейс(Mapper).ЗапроситьИнтерфейс("{6BB402A0-922E-11D5-9B6E-5254AB1A8A09}");
  БюджетВРазыменовщике := ПараметрыРазыменовки.Значение("Знач_Бюджет");  
  ПараметрыРазыменовки.Значение("Знач_Бюджет") := КодБюджета;
  КлсМап := СоздатьТекст;
  КлсМап.РазделенноеЗначение := Маппинг;
  попытка
    от сч := 0 до КлсМап.Количество - 1 делать
    начало
      ИмяЗнач := КлсМап.ИмяПараметра(сч);
      ИмяНезнач := КлсМап.ЗначениеПараметра(ИмяЗнач);
      // заполняем для непустых ячеек
      если (Датасет.ПолеПоИмени(ИмяЗнач).КакСтрока &lt;&gt; "") тогда
        выбрать ИмяЗнач из
        "КВР", "КЦСР", "КодБюджАссигнования", "КодРасходногоОбязательства": // строковые классификаторы
        начало
          если ИмяЗнач = "КодБюджАссигнования" тогда
            ИмяРазыменовки := "КодБюджетногоАссигнования"
          иначе
            ИмяРазыменовки := ИмяЗнач;
          если Разыменовать(ИмяРазыменовки + '.Существует',Датасет.ПолеПоИмени(ИмяЗнач).КакСтрока) = 1 тогда
            Датасет.ПолеПоИмени(ИмяНезнач).КакЦелое := Разыменовать(ИмяРазыменовки + '.Ключ',Датасет.ПолеПоИмени(ИмяЗнач).КакСтрока)
          иначе   
            ВызватьОшибку("Значение классификатора " + ИмяЗнач + " '" + Датасет.ПолеПоИмени(ИмяЗнач).КакСтрока +
              "' для данного бюджета в справочнике не найдено");
        конец;  
        // остальные - целые                       
        иначе
          если Разыменовать(ИмяЗнач + '.Существует',Датасет.ПолеПоИмени(ИмяЗнач).КакЦелое) = 1 тогда
            Датасет.ПолеПоИмени(ИмяНезнач).КакЦелое := Разыменовать(ИмяЗнач + '.Ключ',Датасет.ПолеПоИмени(ИмяЗнач).КакЦелое)
          иначе  
            ВызватьОшибку("Значение классификатора " + ИмяЗнач + " " + ФорматироватьКлассификатор(Датасет.ПолеПоИмени(ИмяЗнач).КакЦелое,ВернутьМаскуКлассификатора(ИмяЗнач)) +
              " для данного бюджета в справочнике не найдено");
      конец;                
    конец;
  обязательно
    ПараметрыРазыменовки.Значение("Знач_Бюджет") := БюджетВРазыменовщике;    
    УдалитьОбъект(КлсМап);
  конец  
конец;

// Функция проверяет наличие кодов классификаторов в базе следующего года перед переносом данных
функция ПроверитьНаличиеКлсВСправочниках(Алиас: строка; ДанныеДляПереноса: СтатическиеДанные; Маппинг: строка; ОтсутствующиеКлс, ПолеКартинка: Поле): целое;
переменные
  СписокТаблиц: строка;
  Клс, ОтсутствующиеКлассификаторы: текст;
  сч : целое;
  Табл, Имя : Строка;
  Буф : СтатическиеДанные;
  НаборКлс, ДляКлс : IVariables;
  КлсПоле : Поле;
начало
  результат := Да;
  если Маппинг = "" тогда
    СписокТаблиц := 'Направление=DIRECTIONCLS,Регион=REGIONCLS,ТипФинансирования=FINTYPE,' +
                    'ЛицевойСчет=FacialAcc_CLS,КФСР=KFSR,КВРКлюч=KVR,КВСРКлюч=KVSR,КЦСРКлюч=KCSR,КЭСР=KESR,Мероприятие=FACT,' +
                    'ТипСредств=MEANSTYPE,СубКЭСР=KESRSUBCODE,БухОперация=BUHOPERATIONCLS,ТипДокОснования=DocBase'
  иначе
    СписокТаблиц := Маппинг;                  
  если Алиас = '' тогда
    ВызватьОшибку('Действие отменено');
  НаборКлс := CreateVariables;
  Клс := СоздатьТекст;
  ОтсутствующиеКлассификаторы := СоздатьТекст;
  попытка
    Клс.РазделенноеЗначение := СписокТаблиц;
    НаборКлс.SetCapacity(Клс.Количество);
    от сч:=0 до Клс.Количество-1 делать
    начало
      Имя := Клс.ИмяПараметра(сч);
      если ДанныеДляПереноса.FindField(Имя, nil) тогда
      начало
        Табл := Клс.ЗначениеПараметра(Имя);
        КлсПоле := ДанныеДляПереноса.ПолеПоИмени(Имя);
        Буф := СоздатьСтатическиеДанные;
        попытка
          СоединитьСАлиасом(Буф, Алиас);
        неудача
          ВызватьОшибку ('Cтрока подключения к базе данных не была корректно сформирована.' + nl + ПоследняяОшибка); 
        конец;
        Буф.Запрос := '[PUMPDATA] ' + #13#10 + '{select id from ' + Табл + '}';
        Буф.Открыть;
        Буф.Индекс := 'id';
        ДляКлс := CreateVariables;
        ДляКлс.Values('Данные') := Буф;
        ДляКлс.Values('Поле') := КлсПоле;
        НаборКлс.Values(Имя) := ДляКлс;
      конец;
    конец;
    ДанныеДляПереноса.ВНачало;   
    пока (не ДанныеДляПереноса.ВКонце) делать
    начало   
      ОтсутствующиеКлассификаторы.Значение := "";
      если ПолеКартинка &lt;&gt; nil тогда
        ПолеКартинка.КакЦелое := -1;
      от сч:=0 до НаборКлс.Count-1 делать
      начало
        ДляКлс := НаборКлс.IndexValues(сч);              
        Буф := ДляКлс.Values('Данные');
        КлсПоле := ДляКлс.Values('Поле');
        если не (КлсПоле.IsNull или Буф.FindKey(ArrayOf(КлсПоле.КакЦелое))) тогда
        начало
          если КлсПоле.Имя &lt;&gt; "БухОперация" тогда 
          начало
            результат := Нет;
            ОтсутствующиеКлассификаторы.Добавить(НаборКлс.Names(сч));
            если ПолеКартинка &lt;&gt; nil тогда
              ПолеКартинка.КакЦелое := 1;
          конец
          иначе
            КлсПоле.КакЦелое := 99999;
        конец;
        если ОтсутствующиеКлс &lt;&gt; nil тогда 
          ОтсутствующиеКлс.КакСтрока := ОтсутствующиеКлассификаторы.РазделенноеЗначение(","); 
      конец;
      если (ОтсутствующиеКлс = nil) и (ПолеКартинка = nil) и не результат тогда
        прервать;
      ДанныеДляПереноса.Следующая;
    конец;   
  обязательно
    УдалитьОбъект(НаборКлс, Клс, ОтсутствующиеКлассификаторы);
  конец;    
конец;

функция ЗапросПоИмениТаблицы(ИмяТаблицы: строка; Буф: СтатическиеДанные);
переменные 
  Запрос: Строка;
начало
  Выбрать ИмяТаблицы из
    'KCSR', 'KVR', 'KVSR', 'PAYPROMISECLS', 'SUBSIDYCLS', 'BUDALLOCATIONCLS':
               Запрос := '[PUMPDATA] ' + #13#10 + '{select Code,BudgetRef, ID from ' + ИмяТаблицы + '}';
    'INNERFINSOURCE':
               Запрос := '[PUMPDATA] ' + #13#10 + '{select FinSourceValue Code, BudgetRef, ID from ' + ИмяТаблицы + '}';
    'KD':
               Запрос := '[PUMPDATA] ' + #13#10 + '{select KDValue Code, BudgetRef, ID from ' + ИмяТаблицы + '}';                        
  конец; 
  если Запрос &lt;&gt; '' тогда
    начало
      Буф.Запрос := Запрос;
      Буф.Открыть;
      Буф.Индекс := 'Code;BudgetRef';   
    конец
  иначе
    начало
      Буф.Запрос := '[PUMPDATA] ' + #13#10 + '{select id from ' + ИмяТаблицы + '}';
      Буф.Открыть;
      Буф.Индекс := 'id';
    конец;     
конец;

функция НайтиЗапись(ИмяТаблицы: Строка; КлсПоле: Поле; Буф: СтатическиеДанные; ДанныеДляПереноса: СтатическиеДанные; ИзменятьИД: Целое): целое;
переменные
  Бюджет, Ключ: Целое;
  ИмяКод, ИмяБюджет, Код: Строка;
  
начало
  Результат := нет;
  Ключ := КлсПоле.КакЦелое;
  выбрать ИмяТаблицы из 
  'KCSR': 
        начало
          ИмяКод := 'КЦСРКлюч.Код';
          ИмяБюджет := 'КЦСРКлюч.Бюджет'       
        конец;  
  'KVR': 
        начало
          ИмяКод := 'КВРКлюч.Код';
          ИмяБюджет := 'КВРКлюч.Бюджет'       
        конец;
  'KVSR':
        начало
          ИмяКод := 'КВСРКлюч.Код';
          ИмяБюджет := 'КВСРКлюч.Бюджет'                     
        конец;
  'PAYPROMISECLS':
        начало
          ИмяКод := 'КодРасходногоОбязательстваКлюч.Код';
          ИмяБюджет := 'КодРасходногоОбязательстваКлюч.Бюджет'                  
        конец;      
  'SubsidyCLS':
        начало
          ИмяКод := 'КодСубсидииКлюч.Код';
          ИмяБюджет := 'КодСубсидииКлюч.Бюджет';  
        конец;       
  'BUDALLOCATIONCLS':
        начало
          ИмяКод := 'КодБюджетногоАссигнованияКлюч.Код';
          ИмяБюджет := 'КодБюджетногоАссигнованияКлюч.Бюджет'                     
        конец; 
  'INNERFINSOURCE':
        начало
          ИмяКод := 'ИсточникВнутр_ФинансированияКлюч.Код';
          ИмяБюджет := 'ИсточникВнутр_ФинансированияКлюч.Бюджет'                     
        конец;     
  'KD':
        начало
          ИмяКод := 'КДКлюч.Код';
          ИмяБюджет := 'КДКлюч.Бюджет'                     
        конец;                     
   конец;
  если (ИмяКод &lt;&gt; '' и ИмяБюджет &lt;&gt; '') тогда
   начало  
    Код := Разыменовать(ИмяКод, Ключ);
    Бюджет := Разыменовать(ИмяБюджет, Ключ); 
    если Буф.FindKey(ArrayOf(Код, Бюджет)) или Буф.FindKey(ArrayOf(Код, 0)) тогда
    начало
      Результат := Да;
      если ИзменятьИД тогда
        ДанныеДляПереноса.ПолеПоИмени(КлсПоле.Имя).КакЦелое := Буф.ПолеПоИмени('ID').КакЦелое;      
    конец;
  конец
  иначе 
    Результат := Буф.FindKey(ArrayOf(Ключ));                         
конец;

функция ПроверитьНаличиеКлсВСправочникахКод(Алиас: строка; ДанныеДляПереноса: СтатическиеДанные; Маппинг: строка; ОтсутствующиеКлс, ПолеКартинка: Поле; ИзменятьИД: Целое): целое;  
переменные
  СписокТаблиц: строка;
  Клс, ОтсутствующиеКлассификаторы: текст;
  сч : целое;
  Табл, Имя : Строка;
  Буф : СтатическиеДанные;
  НаборКлс, ДляКлс : IVariables;
  КлсПоле : Поле;
начало
  результат := Да;
  если Маппинг = "" тогда
    СписокТаблиц := 'Направление=DIRECTIONCLS,Регион=REGIONCLS,ТипФинансирования=FINTYPE,' +
                    'ЛицевойСчет=FacialAcc_CLS,КФСР=KFSR,КВРКлюч=KVR,КВСРКлюч=KVSR,КЦСРКлюч=KCSR,КЭСР=KESR,Мероприятие=FACT,' +
                    'ТипСредств=MEANSTYPE,СубКЭСР=KESRSUBCODE,БухОперация=BUHOPERATIONCLS,ТипДокОснования=DocBase'
  иначе
    СписокТаблиц := Маппинг;                  
  если Алиас = '' тогда
    ВызватьОшибку('Действие отменено');
  НаборКлс := CreateVariables;
  Клс := СоздатьТекст;
  ОтсутствующиеКлассификаторы := СоздатьТекст;
  попытка
    Клс.РазделенноеЗначение := СписокТаблиц;
    НаборКлс.SetCapacity(Клс.Количество);
    от сч:=0 до Клс.Количество-1 делать
    начало
      Имя := Клс.ИмяПараметра(сч);
      если ДанныеДляПереноса.FindField(Имя, nil) тогда
      начало
        Табл := Прописные(Клс.ЗначениеПараметра(Имя));
        КлсПоле := ДанныеДляПереноса.ПолеПоИмени(Имя);
        Буф := СоздатьСтатическиеДанные;
        попытка
          СоединитьСАлиасом(Буф, Алиас);
        неудача
          ВызватьОшибку ('Cтрока подключения к базе данных не была корректно сформирована.' + nl + ПоследняяОшибка); 
        конец;
          ЗапросПоИмениТаблицы(Табл, Буф);          
          ДляКлс := CreateVariables;
          ДляКлс.Values('Данные') := Буф;
          ДляКлс.Values('Поле') := КлсПоле;
          ДляКлс.Values('ИмяТаблицы') := Табл;
          НаборКлс.Values(Имя) := ДляКлс;     
      конец;
    конец;
    ДанныеДляПереноса.ВНачало;   
    пока (не ДанныеДляПереноса.ВКонце) делать
    начало   
      ОтсутствующиеКлассификаторы.Значение := "";
      если ПолеКартинка &lt;&gt; nil тогда
        ПолеКартинка.КакЦелое := -1;
      от сч:=0 до НаборКлс.Count-1 делать
      начало
        ДляКлс := НаборКлс.IndexValues(сч);              
        Буф := ДляКлс.Values('Данные');
        КлсПоле := ДляКлс.Values('Поле');
        если не (КлсПоле.IsNull или НайтиЗапись(ДляКлс.Values('ИмяТаблицы'), КлсПоле, Буф, ДанныеДляПереноса, ИзменятьИД)) тогда
        начало
          если КлсПоле.Имя &lt;&gt; "БухОперация" тогда 
          начало
            результат := Нет;
            ОтсутствующиеКлассификаторы.Добавить(НаборКлс.Names(сч));
            если ПолеКартинка &lt;&gt; nil тогда
              ПолеКартинка.КакЦелое := 1;
          конец
          иначе
            КлсПоле.КакЦелое := 99999;
        конец;
        если ОтсутствующиеКлс &lt;&gt; nil тогда 
          ОтсутствующиеКлс.КакСтрока := ОтсутствующиеКлассификаторы.РазделенноеЗначение(","); 
      конец;
      если (ОтсутствующиеКлс = nil) и (ПолеКартинка = nil) и не результат тогда
        прервать;
      ДанныеДляПереноса.Следующая;
    конец;   
  обязательно
    УдалитьОбъект(НаборКлс, Клс, ОтсутствующиеКлассификаторы);
  конец;    
конец;
</value>
    <param value="ДляПереносаОбщий.abl" type="3" name="Export">HRUSTALEV\shishkov\19.04.2013 8:54:19</param>
    <param value="ДляПереносаОбщий.abl" type="3" name="version">36.042.236</param>
    <param value="ДляПереносаОбщий.abl" type="3" name="crc32">$25F1950E</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Импорт">
    <value type="7" name="ЗатычкаДляИмпорта">включить '\Библиотеки\LibRu.lib';

начало
  Сообщение('Для импорта отчетов воспользуйтесь кнопкой "Импорт отчетов" (справа от списка выбора форм)');
конец.
</value>
    <param value="ЗатычкаДляИмпорта" type="3" name="Export">DIMAN2\dzimitchev\28.03.2006 14:36:38</param>
    <param value="ЗатычкаДляИмпорта" type="3" name="version">36.042.236</param>
    <param value="ЗатычкаДляИмпорта" type="3" name="crc32">$A2BB7ED2</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Импорт">
    <value type="7" name="Импорт">включить '\Библиотеки\Reports.lib';
включить '\Макросы\Отчеты\ИмпортЭкспорт.abl';
Импорт(Номер: целое; Шаблон: строка; Параметры: IVariables);
переменные
  События : IVariables;
начало
  События := Импорт(Шаблон, Параметры);
  ВыполнитьСобытия(События, Параметры);
  ОчиститьСтраницу;
конец;
</value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
    <param value="Импорт" type="3" name="crc32">$2138FA5A</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010100</V>
            <V N="Name">Импорт росписи из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010300</V>
            <V N="Name">Импорт плана расходов из Excel (Поселение)</V>
            <V N="Template">(02.01.03)ИмпортРасходовИсточниковПоселенияИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020100</V>
            <V N="Name">Импорт СБР из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020200</V>
            <V N="Name">Импорт СБР из Excel (Поселение)</V>
            <V N="Template">(02.01.03)ИмпортРасходовИсточниковПоселенияИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030100</V>
            <V N="Name">Импорт кассового плана</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040100</V>
            <V N="Name">Импорт сведений о субсидиях БУ, АУ из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040200</V>
            <V N="Name">Импорт сведений о субсидиях БУ, АУ из Excel (Поселение)</V>
            <V N="Template">(02.01.03)ИмпортРасходовИсточниковПоселенияИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2050100</V>
            <V N="Name">Импорт закона о бюджете из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060100</V>
            <V N="Name">Импорт ПОФ по ПБС</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070100</V>
            <V N="Name">Импорт помесячного кассового плана из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080200</V>
            <V N="Name">Импорт помесячных ПОФ по ПБС из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230100</V>
            <V N="Name">Импорт ОФ из Excel (Поселение)</V>
            <V N="Template">(03.23.01)ИмпортОФПоселенияИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010200</V>
            <V N="Name">Импорт плана источников из Excel (Поселение)</V>
            <V N="Template">(02.01.03)ИмпортРасходовИсточниковПоселенияИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010300</V>
            <V N="Name">Импорт плана источников из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020100</V>
            <V N="Name">Импорт росписи по АИФ из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030100</V>
            <V N="Name">Импорт кассового плана из Excel (Источники)</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060100</V>
            <V N="Name">Импорт ПОФ по АИФ из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010100</V>
            <V N="Name">Импорт плана доходов из Excel</V>
            <V N="Template">(02.01.04)ИмпортБюджетныхДанныхИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath">4</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010200</V>
            <V N="Name">Импорт плана доходов из Excel (Поселение)</V>
            <V N="Template">(22.01.02)ИмпортПланаДоходовПоселенияИзExcel.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">23010100</V>
            <V N="Name">Импорт месячных отчетов</V>
            <V N="Template">(23.01.01)импортмесячныхотчетов.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">36100100</V>
            <V N="Name">Импорт из XML</V>
            <V N="Template" />
            <V N="Generation">ЗатычкаДляИмпорта</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">36100200</V>
            <V N="Name">Импорт из 1c</V>
            <V N="Template">(36.10.01)Импорт всех отчетов РБС из 1С.sts</V>
            <V N="Generation">ЗатычкаДляИмпорта</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">36100300</V>
            <V N="Name">Импорт из Скиф</V>
            <V N="Template" />
            <V N="Generation">ЗатычкаДляИмпорта</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99030100</V>
            <V N="Name">Импорт справочника организаций из Excel</V>
            <V N="Template">(99.03.01)Импорт справочника организаций из Excel файла.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99030400</V>
            <V N="Name">Формирование р/с на основе информации о л/с учреждений, обслуживающихся в ФО </V>
            <V N="Template">(99.03.04)Формирование обслуживаемых в ФО РС на основании информации о ЛС.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99050100</V>
            <V N="Name">Импорт из BNKSeek.Задать путь к новым таблицам</V>
            <V N="Template">(99.05.01)ИмпортИзBNKSeek.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99050200</V>
            <V N="Name">Импорт из BNKSeek.Обновить и добавить банки</V>
            <V N="Template">(99.05.01)ИмпортИзBNKSeek.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99190100</V>
            <V N="Name">Импорт классификации</V>
            <V N="Template">(99.19.01)ИмпортКлассификацииИзXml.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Импорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99190200</V>
            <V N="Name">Назначение указанных КД, ИВВФ имеющимся администраторам</V>
            <V N="Template">(99.19.02)Назначение указанных КД,ИВВФ имеющимся администраторам.sts</V>
            <V N="Generation">Импорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Импорт">
    <value type="7" name="МножественныйИмпорт">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Отчеты\ИмпортЭкспорт.abl';
Импорт(Номер: целое; Шаблон: строка; Параметры: IVariables);
переменные
  События : IVariables;
  СписокФайлов: Текст;
  Сч, ФайлыОбр, ФайлыНеОбр : целое;
начало 
  // показываем диалог выбора файла
  Диалог.Очистить;
  Диалог.Заголовок := "Импорт данных";
  Диалог.Добавить("Файл для импорта","ФайлыИмпорта", 0, пСписокФайлов, "");
  Диалог.Значение("ФайлыИмпорта"):= '';
  Если не Диалог.Выполнить тогда ВызватьОшибку("Действие отменено пользователем"); 
  СписокФайлов := СоздатьТекст;
  СписокФайлов.РазделенноеЗначение := Диалог.Значение("ФайлыИмпорта");
  
  ФайлыОбр := 0;
  ФайлыНеОбр := 0;
  от Сч := 0 до СписокФайлов.Количество - 1 делать
  начало
    Параметры.Values("ФайлИмпорта") := СписокФайлов.Стр(Сч);
    ОткрытьТранзакцию;
    попытка
      События := Импорт(Шаблон, Параметры);
      ВыполнитьСобытия(События, Параметры);
      ЗакрытьТранзакцию;
      ФайлыОбр := ФайлыОбр + 1; 
    неудача
      ОтменитьТранзакцию;
      Сообщение("Ошибка при импорте файла: " + #13#10 + СписокФайлов.Стр(Сч) + #13#10 + ПоследняяОшибка, Сообщение_Ошибка);
      ФайлыНеОбр := ФайлыНеОбр + 1;
    конец;  
    ОчиститьСтраницу;
  конец;
  
  Сообщение("Импорт завершен." + #13#10 + "Файлов обработано: " + ЦелоеВСтроку(ФайлыОбр) + #13#10 + 
            "Файлов не обработано: " + ЦелоеВСтроку(ФайлыНеОбр));
  
конец;
</value>
    <param value="МножественныйИмпорт" type="3" name="Export">BOGOMOLOVP\bogomolov\04.04.2009 13:31:59</param>
    <param value="МножественныйИмпорт" type="3" name="version">36.042.236</param>
    <param value="МножественныйИмпорт" type="3" name="crc32">$68FEDEF6</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\УдалениеРаскладки_New</script>
  <node path="%root%\Конфигурация">
    <value type="6" name="Импорт">
      <delete filter="CLS=99030300" />
    </value>
    <param value="Импорт" type="3" name="version">36.042.236</param>
  </node>
  <delnode path="%root%\Объекты\Интерфейсы\{37BA1231-8CBA-11D3-9880-006052085325}\Выпадающие меню" />
  <delnode path="%root%\Объекты\Интерфейсы\{37BA1231-8CBA-11D3-9880-006052085325}\Действия" />
  <delnode path="%root%\Объекты\Интерфейсы\{37BA1231-8CBA-11D3-9880-006052085325}\Панели" />
  <version_info>
    <file>Сборка.СписокСохраняемыхОграничений.xml</file>
    <version>36.042.410</version>
    <info>&lt;p&gt;Настройка параметров-ограничений с панели ограничений для интерфейсов ввода, наборы картинок для абл-кнопок.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:31</buildtime>
  </version_info>
  <description>Настройки пользовательских ограничений для интерфейсов ввода</description>
  <node path="Бюджет">
    <value type="6" name="Календарь">
      <table key="Date" userfields="State">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>Date</N>
            <DL>Date</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>State</N>
            <DL>State</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Date">20080101</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080102</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080103</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080104</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080107</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080108</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080222</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20080225</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080307</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20080310</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080501</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080502</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080504</V>
            <V N="State">2</V>
          </R>
          <R>
            <V N="Date">20080508</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20080509</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080607</V>
            <V N="State">2</V>
          </R>
          <R>
            <V N="Date">20080611</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20080612</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20080613</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20081101</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20081103</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20081104</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20081231</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20090101</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090102</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090105</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090106</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090107</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090108</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090109</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090111</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20090223</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090309</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090430</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20090501</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090508</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20090511</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20090611</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20090612</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20091103</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20091104</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20091231</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20100101</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100104</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100105</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100106</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100107</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100108</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100222</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100223</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100227</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20100308</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100430</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20100503</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100510</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20100611</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20100614</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20101103</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20101104</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20101105</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20101113</V>
            <V N="State">2</V>
          </R>
          <R>
            <V N="Date">20101231</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20110101</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110102</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110103</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110104</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110105</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110106</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110107</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110110</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110222</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20110223</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110305</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20110307</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110308</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110502</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110509</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20110613</V>
            <V N="State">3</V>
          </R>
          <R>
            <V N="Date">20111103</V>
            <V N="State">1</V>
          </R>
          <R>
            <V N="Date">20111104</V>
            <V N="State">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Календарь" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки">
    <value type="3" name="Ограничения для динамических настроек">[Организация]
Организация
ВидОрганизации
ИНН
КПП
Наимен
РС
ОргСсылка
РССсылка
ОргЛС
ОргЛС11
ОрганизацияЛС
[ОрганизацияПлательщик]
ОргПлательщик
ПлатИНН
ПлатКПП
ПлатНаим
ПлатРС
ПлатОргСсылка
ПлатРССсылка
[ОрганизацияПолучатель]
ОргПолуч
ЛицСчетПолуч
ПолучИНН
ПолучКПП
ПолучНаимен
ПолучРС
ПолучОргСсылка
ПолучРССсылка
[ОргПостав]
ОргПостав
ПоставИНН
ПоставКПП
ПоставНаимен
ПоставРС
ПоставОргСсылка
ПоставРССсылка
[ОргРасп]
ОргРасп
РаспИНН
РаспКПП
РаспНаимен
РаспРС
РаспОргСсылка
РаспРССсылка
[ОргВекдат]
ОргВекдат
ВекдатИНН
ВекдатКПП
ВекдатНаимен
ВекдатОргСсылка
[БюджОрганизация]
БюджОрганизация
БюджИНН
БюджКПП
БюджНаимен
БюджРС
БюджОргСсылка
БюджРССсылка
БюджОргЛС
БюджОргЛС11
БюджОрганизацияЛС
[ОрганизацияЗак]
ОрганизацияЗак
ИННЗак
КППЗак
НаименЗак
РСЗак
РССсылкаЗак
ОргСсылкаЗак
ОргЛСЗак
ОргЛС11Зак
[ОрганизацияИсполнитель]
ОрганизацияИсполнитель
ИННИсполн
КППИсполн
НаименИсполн
РСИсполн
РССсылкаИсполн
ОргСсылкаИсполн
ОргЛСИсполн
ОргЛС11Исполн
[ТипДатыУнивер]
СрокПлатежаТип
НеОграничиватьТип
ДатаПроведенияТип
ДатаПакетаТип
ДатаРеестраТип
ДатаВводаТип
ДатаПринятияТип
ДатаПечатиТип
ДатаОтправленияТип
ДатаПриходаТип
ДатаУходаТип
ДатаОткрытияТип
ДатаЗакрытияТип
ДатаСправкиТип
ДатаПротоколаТип
ДатаИспЛистаТип
ДатаИнкассовогоТип
ДатаОтнесенияТип
ДатаИнкассовогоИОтнесенияТип
ДатаПогашенияПланТип
ДатаПролонгированияТип
ДатаПогашенияФактТип
ДатаСдачиТип
ДатаОтчетаТип
ДатаДокументаТип
ДатаПоступленияНевыясненныхТип
ДатаСписанияНевыясненныхТип
ДатаПоступленияИСписанияНевыясненныхТип
ДатаЗаявкиТип
ДатаУчетаТип
ДатаФедеральногоРеестраТип
ДатаСозданияТип
ОграничиватьТип
ДатаНачалаТип
ДатаОкончанияТип
ДатаИсполненияТип
ДатаОплатыТип
ДатаРассмотренияТип
ДатаВыдачиТип
ДатаУведомленияТип
ДатаОтзываТип
ДатаБлокировкиТип
ДатаРазблокировкиТип
ДатаВключенияВреестрТип
ДатаИсключенияИзРеестраТип
ДатаИзмененияВРеестреТип
ДатаИзмененияТип
[Характер_ЛС]
лс_ГРБС
лс_ПБС
лс_БУ_АУ
лс_ОтдельныйБУ_АУ
лс_ПоПереданнымПолномочиям
лс_Фиктивные
лс_БУ_АУ_ОтдельныйБУ_АУ
лс_ОМС
[Однонаправленные]
СтруктураБюджета=Классификаторы,ЛицСчет,Направление,КФСР,КВСР,КЦСР,КВР,КЭСР
[ИндексыБлоковБухгалтерии]
ИндексыБлоковБухгалтерии
БлокБухДоходы
БлокБухФинансирование
БлокБухСвободныеПроводки
БлокБухМесОтчетыОрг
БлокБухУведПоРасчетам
БлокБухСредстваИзБюд
БлокБухКазначейство
БлокБухСсуды
БлокБухКредиты
БлокБухЗаимствования
БлокБухОперСоСчетами
БлокБухГарантии
БлокБухВекселя
БлокБухРоспись
БлокБухЛимиты
БлокБухОбязательства
БлокБухПланЗаимствования
[СостояниеДокумента]
@DocumentStates
[КодДохода]
КодДохода
КодДоходаАдм
КодДоходаВид
КодДоходаЭК
[ИстВнутрФин]
ИстВнутрФин
ИстВнутрФинАдм
ИстВнутрФинВид
ИстВнутрФинЭК
[Свободные]
РСФО
@РСФО
@Пользователь
РСКазн
КазнРС
ПринадлежностьЛС
ДебетСчет
КредитСчет
БухСчетДебет
БухСчетКредит
БухСинтетСчет
БухСинтетКорСчет
Бухпроводка
ГруппаИнформации
БухОперация
ЛицСчет
СЛицСчета
НаЛицСчет
СтруктураБюджета
КФСР
КВСР
КЦСР
КВР
КЭСР
СубКЭСР
Направление
СубКЦСР
ФинИсточник
ФинТип
Мероприятие
КСШК
МатЦенности
ОсновнСредства
Справочно
ОбобщающийКодДохода
КодДохода
СКодаДохода
НаКодДохода
СубКодДохода
ССубКодаДохода
НаСубКодДохода
ТипПлатДок
Район
СРайона
НаРайон
РайонТрансферта
РайонКонтрагента
РайонБУ
Код_формы
Слой
Валюта
ТипОрг
ТипСчета
КоррСинтетСчет
СинтетСчет
ГосНИ
ТипДокОснов
ТипОтчета
ВидБюджета
ВидПлатежа
КассСимвол
ПризнакПлат
КодОперации
ТипСредствБюдж
ИстВнутрФин
ПричинаОтклон
ВидСсуды
ВидЗаим
ВидПлана
ТипРеестра
ТипОбеспечения
Баланс
ИзБюджета
Вбюджет
ВидДеятельности
ЕдиницыИзмерения
РасширБухСчет70н
ВыводНомераСчета
ГиперДокумент
НачалоПериода
@Период
ОтобрПрикрФайлы
ВыбиратьКазначействоВДоходах
ВыбиратьДоходыВКазначействе
@ТипДатыПП
[ДатыС_ПО]
НачальнаяДата
КонечнаяДата
[УчетДоговоров]
МероприятиеДоговора
[СостояниеБлокировки]
ВключатьЗаблокированные
[Обработка]
Обработанные
ЧастичноОбработанные
Необработанные
НеФильтроватьПоЛСАдмНевыясненных
[Статус]
Сформированные
Опубликованные
Ошибка</value>
    <param value="Ограничения для динамических настроек" type="3" name="version">36.042.410</param>
    <param value="Ограничения для динамических настроек" type="3" name="crc32">$F074C8EF</param>
  </node>
  <version_info>
    <file>Сборка.Картинки.xml</file>
    <version>36.042.410</version>
    <info>&lt;p&gt;Настройка параметров-ограничений с панели ограничений для интерфейсов ввода, наборы картинок для абл-кнопок.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:31</buildtime>
  </version_info>
  <description>Картинки для интерфейсов ввода</description>
  <node path="%root%\Ресурсы\Наборы картинок\16на16">
    <value type="5" name="1">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E00E8F0F000C0A08000A0806000A8A8A800D8D8D800C8C8C800D8802800D8780000D8782000E8E8E800C8784000D0906800A0481800D068080098684800A0A0A000E0E0E000C0581000C0806000C8600000C05800008060400080402000A86028008860500088888800D8680000B0480000604040008058500068686800989898006830300060606000A04000000707070707070707070707070707070707010101E6E2ECF61919F6ECE2E60101070101EDE019FBFAFAFBFBFE19E0ED010701E6FCFAF3F3F3F3FDF9FBFEFBE0E60723E0FAE9F1F1FFFFE9F3FDFAFE19E207E1EBF1F0F0E9FCFCE9F8F3FD19FEEC07E0EAEAF0F0F801DDE9F1F8F3FAFBF607DEEAEAEAF0EE01EDE9F1F1E9F9191907DFE4E4EAF7E901EDE9F1F1F8F3F51907DFE4E4E4F4E901EDE9F0F1F1F3F5F607DEE4E4EAECE201EDE9F0F0F0F319EC071EE5E4E4EF0101E1E9EAF0F1F208E207DDDFE4E4E4E723EDE9EAEAEE19E0E60701E2E7E4E4E4E7E8E9E4EAEBECED01070101E2DFE3E4E4E4E4E5DFE0E6010107010101DD1EDEDFDFDEE0E123010101</value>
    <value type="5" name="1С">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0202FF0F0FEED9EA4343FF0000FFFFFEFEFFFFFFFFE9E9FF6D6DFF6A6AFF0202FF0202FF0202FF0202FF0202FFFFFFFF0202FF0202EED9EA3333FF0000FFFFFEFEFFE7E7FF2D2DFF7070FF7070FF7070FF7070FF7070FF7070FF7070FFFFFFFF0202FF0202EED9EA3636FF0000FFFFFEFEFF6565FF0202FA8C91988AF1988AF1988AF1988AF1988AF1988AF1FFFFFFFF0202FF0202EED9EA3636FF0000FFFFFFFFFF0202F48D981212FF0909FF2F2FFF2F2FFF2F2FFF2F2FFF2F2FFFFFFFFFFF0202FF0202EED9EA3636FF0000FFFFFFFFFF0A0AEED9EA2F2FFF8888FF8888FF8888FF8888FF8888FF8888FFFFFFFFFF0202FF0202EED9EA3636FF0000FFFFFFFFFF2121D0BEED8888FFDFDFFFFFFFFFDFDFFFDADAFFFBF1F6FFD4D4FFFFFFFF0202FF0202EED9EA3636FF0000FFFFFFFFFF1414DFC8E85151FFFFFFFFE9E9FF0505FF3B3BFFE7A2BAFF0202FF0202FF0202FF0202EED9EA3636FF0000FFFFFFFFFF0202ECB6CA0202FF5E5EFF3636FF0202FFC4B9F4F97278FF0A0AFF0A0AFF0202FF0202EED9EA3636FF0000FFFFFEFEFE3133FE31335959FF0202FF1212FFA59DF7F4CBD6FF0404FF6D6DFFFFFFEED9EAEED9EAEED9EA3636FF0000FFFFFEFEFFB3B3FF0202E8C3DADBC4E8E6D3ECEEACBEFF1616FF1616FFE7E7FFFFFFFFFFFF4646FF3D3DFF3636FF0000FFFFFEFEFFFFFFFF8888FF0202FF2B2BFF1B1BFF0202FF1B1BFFB7B7FFFFFFFFFFFFFFFFFF0D0DFF0D0DFF4D4DFF0000FFFFFEFEFFFFFFFFFFFFFF6D6DFF2727FF3636FF8282FFE3E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="2">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00E8E8E80080A0A00080A08000A8A8A800D8D8D800C8C8C80080E0800060FF600050D8600060C0600030D0680098989800E0E0E000F0F8F80000C0200060804000A0A0A00060808000A0C0A00040A020008888880068686800FFF8F800FFF8FF006060600058585800408020000707070707070707070707070707070707010101E5EAF5F91919F9F5EAE50101070101F1F519F4F4F4F4FDFE19E8F1010701E5F0F4F80202F8F8F8F4FDFAE8E50723E8F8F3020202020202F8FFFE19EA07E9F4F3F8F9F5E8E8E8FA02F8F4FEF507E8EFF3F3E901012301F00202F8FDF907E7EFEFF3EEFC2319F8F30202F8F41907E7EFEFEFF3EEF2FBF6F3F3F302F41907E7EDEDEFEFF3EEF2FBF4F3F302F4F907E6EDEDEF08F9F8EE01F5F3F3F8FAF5071EEDECEDEA01F6F601F7F3F3F819EA07E5E7ECECEBF20101E5EEF3F3F4F5E50701EAEBECECEDEAEAEEEFEFEEF0F101070101EAE7EBECECEDEDEDE7E8E5010107010101E51EE6E7E7E7E8E923010101</value>
    <value type="5" name="3">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E600E8E8E800B0B8B80080A0A00040A0C000A8A8A800D8D8D800C8C8C80060A0C000E8F0F00000E0E000A0A0A00040B8E00020C0A00000C0E00000E8FF0098989800E0E0E00000A0C00000E0FF0000A0E000C0A8A0000080A0006080800098A0A80000C8FF005878880088888800E8E0E000F0E8E8006060600010709800D8D0C800E8E0D8005858580000608000686868000707070707070707070707070707070707010101DCE2E6F61919F6E6E2DC0101070101ECE6F2F5DFDFF5F9FD19E0EC010701DCEBDFEFEFEFEFEFEFDFFDFFE0DC0723E6EDF4E9FAF5F5FEEDEFEDFD19E207E1DFEEF4FAFB0101FCF5EDEFDFFDE607E0E5EAEDE001DEDE01E2F1EFEDF9F607DEEAEAEDDEE00303F7F8F1E9EFF51907DF0BEAEAEEF1F61E011EEDF4EFF51907DF0BEAEEE9F1E20101F5E9F4EFF5F607DE0B0BE908F0F1F201F3E9F4EFF5E607DDEA0BE5DE01DDDD01DEE9EEEF19E207DCE3E40BED1E0101DDEDEAEEDFE6DC0701E2E7E40BE5E8E8E9EAEADFEBEC01070101E2E3E40B0B0B0BE5DFE6DC010107010101DCDDDEDFDFDEE0E123010101</value>
    <value type="5" name="4">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00E8E8E80098A8B00060A0C00080A0A000A8A8A800D8D8D800C8C8C80060C0FF0060E0FF00A0A0A0004890C8005878880038B0FF0098989800E0E0E00098A0A8000080FF0040B8E000B0B8B8008888880000A0FF000078FF0060606000585858001880D00068686800608080002060C0000707070707070707070707070707070707010101E4EAEDF71919F7EDEAE40101070101F2EDFEFFFCFCEFFAFB19E8F2010701E4F1FCF4F4F4F4F9F9FCFBFDE8E40723EDFCF8F0F0EEEEFCF4F9FCFB19EA07E9EEF0F0F0F0EE01EFF8F4F9EEFBED07E8F0F0EEEEEEEE01EFEFF0F4F9FAF707E7EBF0F60101010101E7F0F8F9EF1907E6EBF0E701E9F101F6EFF0F0F4EE1907E6EBEBF5F601F701EFF0F0F0F4EEF707E5EBEBEBEEF20101EFF0F0F0F4EFED071EEBEBEBF0E60101EFF0F0F0F419EA07E4E7ECEBEBF0F301EFF0F0F0EEEDE40701EAE6ECECECEEEFEFEBF0EEF1F201070101EAE7EBEBECECEBEBE6EDE4010107010101E41EE5E6E6E7E8E923010101</value>
    <value type="5" name="А_Зеленый">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF00FFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF00FFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF00FFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="Адресат">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000C0C0C000FFFFFF006661FF0042357C007E70B800000000004E414400F6CFBD00BAA09400F5E7E100CC9071008B6451008A655200D6A48A00E2AF9500E5BFAD00D2B09F00EACABA00FDE2D500F8DFD200FCE6DB00F5E0D600A2735A00C88F7000B07F6300D09776007D5A4700DEA38400CB977A00CA987B00E2AE9100C1957C00D5A88E00D6A98F00DFB19700D3A99200E6B9A000E2B69E00DDB39B00D6AD9600E9BEA700EBC1A900C6A38F00DBB6A200EFC8B200E2BFAC00FED8C400F4D1BE00DFC4B500EBD1C300FFE7DA00F5E1D600F0DDD200FFECE200F8EBE4005D3D290075523C007B584200AA7A5D00CF957300BD886900C38E6D00BF8B6B00B8856700AA7C5F00DCA07D00DAA07C00A67B6000C695770096725D00BD927800CCA18800E3B89E009D857600A28C7E00D1B7A700F8D9C700FADFCE00D5BFB100ECD6C800E6D1C40082787200E9DAD100F6E7DE00F1E9E40063432D00674731006E4D37006C4C36006F4E38007A5841009E735700A3785A0086624A00906A510083624B00946F5500A2795E009A745A008C6A520082624C00967158008666500097735B009371590083644F0098765E00C59B8000886D5A00A7856F004E413800E3C1AB00E1C5B300C8B1A200C6B1A300ECD6C700E9D7CB00FFF0E600F4E8E00061432D00684A33006C4D36006D503A00836148007D5D460094745D009C7C64009F7F68007D695A00D1BFB200E6D4C700E7D8CD00FFF3EA00FBEFE600EFE4DC00FAEFE700F1E9E30052453A00C8A88F00A6938400FFF3E900FEF3EA00FFF5ED00FAF4EF00F5E9DE00FBF3EB00F9F1E900CDC7C100FFF9F300FAF4EE00FFF8F000FFF9F200FFFAF30065583F00504B4100FFFEFC00FFFCF400786D3C00FFFEF900AFA04600E6E01F00FFFFFB00FFFFFC00FFFFFD0076AC9A00457D730000FEFB00FFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007D6A685F64597877375557381A0C0B00679B873130084956804A728183710B007F927E697939165A45667C587A9F99006D95604D2F11107B2A4E4B8A63A09D00468F629C8C130F5D1D74908D65A49A006B885CA201144F5E731B2E9661A6A500478640A1A3531C5B2091A18418516E0023523F0128221543340E94753C93890027823D0197760D3A85019E35170406002B503B01296F3344709875123E020300261942018E2C48542D4C32071F8B6C000000411E24360000000925210A0000000000000000000000000000000000000000000000000000000000000000000000</value>
    <value type="5" name="Б_Желтый">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="БОСвязь">424D360400000000000036000000280000001000000010000000010020000000000000000000C40E0000C40E00000000000000000000F0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFD1D1D1FF707070FF707070FF7C7C7CFFC9C9C9FF7C7C7CFF707070FF707070FFD1D1D1FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF848484FFC3BBBBFFD1C8C8FF838080FF707070FF838080FFD1C8C8FFC3BBBBFF848484FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF898989FFDCD7D7FF707070FFDAD1D1FFF7EEEEFFDAD1D1FF707070FFDCD7D7FF898989FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF9E9E9EFFBBBBBBFFDCDDDDFF8E8E8EFF707070FF8E8E8EFFDCDDDDFFBBBBBBFF9E9E9EFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFE0E0E0FFA3A3A3FF949494FF9B9B9BFFC9C9C9FF9B9B9BFF949494FFA3A3A3FFE0E0E0FFF0F0F0FFF0F0F0FFFF4242FFFF4242FFFF4242FFFF4242FFE27A7AFFF0F0F0FFE27A7AFFFF4242FFFF4242FFFF4242FFE27A7AFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFFF4242FFFF4242FFFF4242FFE27A7AFFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFFF4242FFFF4242FFFF4242FFFF4242FFF0F0F0FFE27A7AFFFF4242FFFF4242FFFF4242FFE27A7AFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF</value>
    <value type="5" name="БОСуществует">424D360400000000000036000000280000001000000010000000010020000000000000000000C40E0000C40E00000000000000000000F0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF145804FF0A6302FF084D02FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF3C9B32FF2BDF1AFF117C04FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF6DB963FF3DA231FF3DA231FF3DE22CFF168806FF0E8C00FF0E8D00FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF3FAA31FF52E741FF52E741FF52E741FF52E741FF52E741FF109500FFF0F0F0FFF0F0F0FFFF4242FFFF4242FFFF4242FFFF4242FFE27A7AFFF0F0F0FFE27A7AFF6EC262FF40AF30FF3FAF30FF66EB55FF1B9907FF129D00FF129C00FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FF41B430FF75EE64FF1EA008FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FF6EC75EFF43B930FF379C1DFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFFF4242FFFF4242FFFF4242FFE27A7AFFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFF4242FFFF4242FFFF4242FFFF4242FFFF4242FFF0F0F0FFE27A7AFFFF4242FFFF4242FFFF4242FFE27A7AFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF</value>
    <value type="5" name="В_Красный">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="ВДругойДокумент">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000000080000080000000808000800000008000800080800000C0C0C000C0DCC000F0CAA60004040400080808000C0C0C0011111100161616001C1C1C002222220029292900555555004D4D4D004242420039393900807CFF005050FF009300D600FFECCC00C6D6EF00D6E7E70090A9AD000000330000006600000099000000CC00003300000033330000336600003399000033CC000033FF00006600000066330000666600006699000066CC000066FF00009900000099330000996600009999000099CC000099FF0000CC000000CC330000CC660000CC990000CCCC0000CCFF0000FF660000FF990000FFCC00330000003300330033006600330099003300CC003300FF00333300003333330033336600333399003333CC003333FF00336600003366330033666600336699003366CC003366FF00339900003399330033996600339999003399CC003399FF0033CC000033CC330033CC660033CC990033CCCC0033CCFF0033FF330033FF660033FF990033FFCC0033FFFF00660000006600330066006600660099006600CC006600FF00663300006633330066336600663399006633CC006633FF00666600006666330066666600666699006666CC00669900006699330066996600669999006699CC006699FF0066CC000066CC330066CC990066CCCC0066CCFF0066FF000066FF330066FF990066FFCC00CC00FF00FF00CC009999000099339900990099009900CC009900000099333300990066009933CC009900FF00996600009966330099336600996699009966CC009933FF009999330099996600999999009999CC009999FF0099CC000099CC330066CC660099CC990099CCCC0099CCFF0099FF000099FF330099CC660099FF990099FFCC0099FFFF00CC00000099003300CC006600CC009900CC00CC0099330000CC333300CC336600CC339900CC33CC00CC33FF00CC660000CC66330099666600CC669900CC66CC009966FF00CC990000CC993300CC996600CC999900CC99CC00CC99FF00CCCC0000CCCC3300CCCC6600CCCC9900CCCCCC00CCCCFF00CCFF0000CCFF330099FF6600CCFF9900CCFFCC00CCFFFF00CC003300FF006600FF009900CC330000FF333300FF336600FF339900FF33CC00FF33FF00FF660000FF663300CC666600FF669900FF66CC00CC66FF00FF990000FF993300FF996600FF999900FF99CC00FF99FF00FFCC0000FFCC3300FFCC6600FFCC9900FFCCCC00FFCCFF00FFFF3300CCFF6600FFFF9900FFFFCC006666FF0066FF660066FFFF00FF666600FF66FF00FFFF66002100A5005F5F5F00777777008686860096969600CBCBCB00B2B2B200D7D7D700DDDDDD00E3E3E300EAEAEA00F1F1F100F8F8F800F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00070707070A0A0A0A0A0A0A0A0A07070707070707ECFFA0FFA0FFA0BC0A07070707070707ECFFFFA0FFA0FFBC0A07070707070707ECFFA0FFA0FFA0BC0A07070707070707ECFFFFA0FFA0FFBC0A0707070A0A0A0AECFFA0FFA0FFA0BC0A070707ECFFA0FFECFFFFA0FFA0BCBC0A070707ECFFFFA0ECFFFFFFA00A0A0A0A070707ECFFA0FFECFFFFFFFFECFF0A07070707ECFFFFA0ECFFFFFFFFEC0A0707070707ECFFA0FFECECECECECEC070704070707ECFFFFA0FFA0BCBC0A070704A6040707ECFFFFFFA00A0A0A0A07C7C7A6040407ECFFFFFFFFECFF0A0707070704070707ECFFFFFFFFEC0A070704040407070707ECECECECECEC07070707070707070707</value>
    <value type="5" name="Виза">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00626262002727270024242400575757000F1B25001D3E4E000F222D000101020049494900485D850060BDF4005FD3FF0052C1FA000E283A001111110037508D0063C2FF0066CFFF0055C1FF001C5D94000A0B0B004957780043A6FE0051B5FF003DA8FF000E76E10026272A00404A71000D68DA00168AFE000983FD00094BB00066FF990000990000467FAF00AEB7E4001640C1004066BA0063748F00142F630062627200008000001833650022599100EBEBF1005353F200EFEFF3004272A10000428500043A7B004A4C690000D9460000407F00002C760007397E00B3B7F8001717E800CED6ED0005408000002D760000336C001D25520000BA3C0002316F00003E7E00023E80003942EC000C0CE300365BB00000377B00002D670004113B0062627000383E6200003C7B00293BD9001012E10060607100363A6000031D4D002436A2001F26B1005B5C720057576D0033CC6600C0C0C000FC20E200E4E5EB00EDEDF30020EEE100E0F1F200000000001862E5001862E500980000003130340026C7E000F0FBF2007CC7E000F0FBF2007CC7E000F0FBF20020F2E500F3F9E80020F4E0003800000063000000000000005100000031303700D1EEF500E0EDE800FC202600EAEEED00F320EA00EA2E2E007CD1EE00F0E0ED00F2FC2000EAEEED00F320EA00EA7CD100F5F0E000E8F2FC00E8EAEE00EAF3200020E4F000E3EEEC00F4E0E900F010000067000000000000005700000032373000C0E2F200ECE0F100F2E0E100F0EEE200EDE8E500C0E2F200ECE0F100F2E0E100F0EEE200EDE8E500D0E0F100FFE3E800E0F2FC00EEE1EB00F1F2FC00F0E5E400EAF2EE00E020E000F2EEEC00F2E8F700F1EAE8001463E5001463E500040100003130380026D2E500F3F9E80020EAE000F02E2E007CDDEA00EFEEF00020EAE000F0E07C00EAF1EF00F0F2E800EEE2E000FC20F200EAF3F900E920EA004C0000005F000000000000004D00000031303900D4E0E900FB2026004D502E002E7CDD00F1EFEE00F220EA00E4F0EE0020EAE00020626D007CDDEA00EFEEF000E8F0EE00E0F2FC00EAE0E400FB20EA00EA2062007020E200EFE0EF00A80000005F000000000000004D00000031313000D4E0E900FB202600434F2E002E7CDD00F1EFEE00F220EA00E4F0EE0020EAE000206963007CDDEA00EFEEF000E8F0EE00E0F2FC00EAE0E400FB20EA00EA2069006F20E200EFE0EF005812000057000000000000004400000033333400CEF2F200EDEEEA00CDE0F100F9E5ED00EEF1F2002E2E2E00CDE0F100F0EEE800FC20EE00F2E5ED00EA2F2000E0F1FB00E5EDED00F1F2FC0020FFF000EEF1F200AC12000063000000000000005300000033333600C8F1EA00F2FC2000E020E200E5EC2000EEECEF00FEF2E500E52E2E007CC8F100E0F2FC00575757575757575757575757575757575757575757575757565757575757575757575757575757232B56575757575757575724545522232B2B2B2257575757575750515253232B2B222B2B22575757574B3E4C4D4E222B224F222B23575757574142434445464748494A222B23575757363738393A3B3C3D3E3F57222B4057572C242D2E2F30313233345757222B355724242425262728292A57575757222B5757571D1E1F202157575757575757222357571718191A1B1C57575757575757575757111213141516575757575757575757570B0C0D0E0F105757575757575757575757060708090A575757575757575757575702030405575757575757575757</value>
    <value type="5" name="Внимание">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000343535003B3B3B0029464C00344344003B4546001B5D7B001D5C7A001E5E7D0038616800434D4D005859590055696900656868006D6E6E006D7E7D00707272007778780017678700176A8B00176E91001C7294001776990019769A00167A9C0019789A00276D8F00347B9B00197CA100227EA0001580A4001C84A9001D8DB2002689AB002B97BE003298B700349EBE00458D96004A969E005C9395007B8A8A0053A0A8001BA0CA0015B0DD003CB2C80032B2D30037BFDA0019B9E4001DBDE5002BBFE4004BA3CC004EBECD0054AAD20051ACD70054ADD70056AED8005BB0D90060B3DA0063B5DB0066B6DC0069B7DC006FBBDE0026C1E6002EC6E70038CAE9003BCDE9004CC3D9005DCDD8006FC8D0006CD5DC0042CEEA0042D0EA004BD3EB004CD3EA004CD6EB0054D2E30054D8EC0059DCEC005EDDED0066D4E10060E0ED0066E1EE0068E1ED006AE4EF0073E9F00074E9F0007DEDF10084858500848F8F00949797009A9A9A00A5A5A500B5B5B50089DAE7008BDEED0094E3EF0099E6EE009DE8EF0083EBF20089EFF30098ECF2009FEFF3008DF2F30090F5F3009DF1F2009CF0F400A9E5EC00AFEDF300ADF6F60000000000C0C0C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D311A1907070707060606060606056D6D335C514D4B47453F3E3D2F2E2A126D6D345D61524F4A08022D3E3D2F29116D6D34386354524210002B3F3E3014156D6D34345E62535128244946402C136D6D6D6D343968554409043249481C176D6D6D6D34345F65260F0A254C41166D6D6D6D6D6D343A670B580D035020156D6D6D6D6D6D343460275A56004E1B6D6D6D6D6D6D6D6D343B575B590122156D6D6D6D6D6D6D6D3436690E0C431E1D6D6D6D6D6D6D6D6D6D343C6B6623186D6D6D6D6D6D6D6D6D6D34366A641F176D6D6D6D6D6D6D6D6D6D6D343735216D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D</value>
    <value type="5" name="ВнутренниеОбороты">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF848484FF0000FF0000840000840000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF0000FF0000FF00FFFF00FFFF00FF840000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF0000FF0000FF00FFFF00FFFF00FFFF00FFFF00FF840000FF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF0000FF0000FF0000FF0000FF00FFFF00FFFF00FFFF00FF840000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF0000FF0000FF00FFFF00FFFF00FFFF00FF840000840000840000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF00FFFF00FFFF00FFFF00FF840000840000840000840000840000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF840000840000840000840000840000840000840000FF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF00FFFF00FFFF00FFFF00FFFF00FF840000840000840000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF00FFFF00FFFF00FF840000840000840000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF0000FF0000840000840000848484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF</value>
    <value type="5" name="Вопрос">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00DAA3A300E4BDBD00EECECE00F2D4D600E9C7C800DAB2B300EBC3C300FCF2F400FFFFF100FFFFFC00FEEFF200BE999900F0D3D400FFF9EB00FFDDB400FFDCB300FFD8AC00FABE7F00FABC7E00FFF6DF00D3ADAE00EAC3C400FFEBCB00FCBE7F00FFE0BE00FCFBF700F7EDE900FFF1DF00F0A45700EB892400FCDEB8009B7B7C00FCF4F500FEEBD200F5A45200F9C18500FBFFFF00D8945D00E5862900FAD5B100F9E3D200E1720300E6790E00FEEED500F0DBDE00C0C0C000E4B7B700F6AC6200EC892800F3B37300DCB49C00DF750D00E56F0000F4B37000F4EEF200DB6D0400DF630000EFA961006B515200EAC7C900FFFCEE00E9872400E8801A00E67C1200E2760A00E26E0000E8832400FEF6ED00DBA68100DC620000DE630000E8893300FFFFFB0090767700EECDD100FFF3D800E4770700E3740500E2700000E16A0000E3731000FEEFDA00DCB29800D45B0000E0680000DD610000E77E2A00FFFFF5009C848700E4C1C300FFFDF500E2710300E16B0000E06A0000DE600000EDA15600F2EAEA00D0590100E2670000DF680000DD5F0000E88C3A00856B6C00D0A5A600ED924000DC5E0000DF640000E4832900D98A4900DC610000D9580000F2B47B00FFFDFE00533D3D00FFF5F800FCE6C800E1680D00DD600000DE620000E9903D00EBB17900DB620000DC640000D5560000E0742500FFF8ED00DAC1C200100B0B00C0999A00FBD2A900E16C1100D8510000E58D4500DCAD9900CC4C0000CE4C0000DB722C00FEEBD800FFF8FD00624A4A00D0A9AA00FFEBD200EEAA6C00E17D3600D76B2200DF824500EAAE7F00FFFAEF00FFF5F7008C6D6D000300000093747400F4E1E500FFFFF700FFFEF200DDC5C700392727006D5455008976790094848600826E70005E474700180F0F00D8C161003CD9610010E16100B8E96100E4EE6100C06F6200543B6200A0866200A465620098E862003CF86200F0FD6200B4046300980A6300B065630018706300549A6300247763009C0A6400C82164009C296400001F64007830640060A0640038D7230070161D0074881D00049C640028E96400C087640028AA1D0010996400E4455C0050E924004481240044405C007C6A1D00D88A240098DE230068E423000CE823006CFC2400A800D300701BD30058AADF00DC3BD30088062400AC0B2400601224002C281D004413D300F49FD2003425D2003817D200609EDF00A02ED2004C34D200F45ED2009862D2005C7ED30010FBD300ACE6D300383AD40094D4D3009C4AD4007052D400185BD4003462D400AC2AD400480DD5005828D500BC35D400E85DD5001C70D500B473D500A479D500587DD500B4EED500A08AD6001C84D70064EDD4007CE3D60018F2D600CCF7D60080FED6003402D7002C30D7005C96D600E813D800A89BD600AC4DD8002F2F2F2F2F2F06060606062F2F2F2F2F2F2F2F2F5B8EA0A1A2A11606062F2F2F2F2F2F0D9A019B9C4A019DA116062F2F2F2F8E018F909192939495969716062F2F8201838485868788898A8B8CA1062F2F7475767778797A7B7C7D7E7F80210669016A6B656C6D6E6F6565707172A2065B5C5D5E5F60616263646566670168064C4D4E4F505152535455565758595A063D3E3F404142434445464748494A4B0630013132333435363738393A3B01A1062F22232425262728292A2B2C2D2E0D2F2F170118191A1B1C1D1E1F2001212F2F2F2F0E010F10111213141501162F2F2F2F2F2F080901010A0B010C0D2F2F2F2F2F2F2F2F0203040506072F2F2F2F2F2F</value>
    <value type="5" name="ВосклицательныйЗнак">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00D6E7E700525152009C9E9C002904DE00CECFCE005A45B5006B618C00E0E0E0006080E000A0A0E0008080FF002040A0002060E0002040E00080A0C0000040E00080808000A0C0C000E0C0A000FFE8D000FFE0C80098A8B000A0A0A000F8D8C0000020A000F8D0B800A080C000C0C0C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D101A1C1D1D1D1D1D1D1D1D1D1D1D1D1D0A0F1A1D1D1D1D1D1D1D1D1D1D1D1D1D130A131D1D1D1D1D1D1D1D1D1D1D1D1D1D171D1D1D1D1D1D1D1D1D1D1D1D1D1D1D0D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1711181D1D1D1D1D1D1D1D1D1D1D1D1D0D110D1D1D1D1D1D1D1D1D1D1D1D1D130A1111141D1D1D1D1D1D1D1D1D1D1D100A0F11121D1D1D1D1D1D1D1D1D1D1D0A0C0E0F0D1D1D1D1D1D1D1D1D1D1D1D0A0C0E0E0F1D1D1D1D1D1D1D1D1D1D1D0A0B0C0A0D1D1D1D1D1D1D1D1D1D1D1D1D0A0A0A1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D</value>
    <value type="5" name="Вперед">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C0003085330048994F0047994F002D8633000B630D00488E4A00A5D2AD00C3EDD300C5F5DA00B8F0D0009FE2B70077CB8B00369641000348030065A26700E0F6EA00D6F9E600B7ECCB008AD79A00189B23007FD5970094E1AF0081D99B0040A64E00024303004B914D00CCF3DD00B8EBCD0088D79B0048B84F00BFE4BD0062C77B0079D092006CCD82002C913400002600000B660A00A8D2B000DAFAEB00B0E8C70099DFB200C9E9C900CEEBCD0055BE6B0066C67A004DB65B000A600D0030833300C4ECD300AEE7C10087D69A007DD39000F4FBF400BBE4BA004CB75D0050B95F001D882200001E000049994F00C4F5DB0072CA7B008AD08900A9DEAA00A5DCA600A2DBA300ABDDAC00F5FBF500A2DAA20042B1500025982C0000270000489B5000B5F0CD0069C56F00D0ECCD00FAFDF900F9FCF700FAFDF800FEFFFE00FEFEFE00D8F0D70055B9590020982600002800002D853400A1E3B8006ECB81004DB5580056B9600055B85F004FB459004CB65000E0F2DF00F0F9EF0033A73B0015841700001F00000B610D0078CA8D0093E1B0006DC986005FC176005BBE720036AE47006AC36C00F2FBF00071C5740033A53C002AA2300009610A00000C000034943E0084DA9E0078D091006EC983005BBF6F004FB95600EAF7E80091D3930030A1380030A7370018891C00002B00000349040043A850006FD0870063C5770053BA630049B3510066C068002EA2380030A738001F982400044704000003000002440200309539004FB85F0050B85F0044B252002CA6390030A539002BA3310018891D0003470400000700000C610E001E882400269A2D002298270016851900095F0900002A000000020000000D0000C82ED0007C34D0009BAC9C0047704900738A7100586A5700425E3E00ABCCA800E0FE2500B05ACF00A4D4D30030DBD300D4DED30090EF1E0024C11E00DC5320001CE91E007445CE00C0CC200094D420003CDD200058E42000343B2100C0121F008C642100FCD71E0030B121002CC5210000CD2100A8D52100C4DC2100CC34220060B51F0010AC22000440D50004532200A8201A0050E5D300282FD400505822004007CD00C42D2B006C472B002CA1D200D85BD5006055D400845AD40020C22600C4C52600F83E2B00DC24FE005C052B000008FE0044761F00D4982F00909E2F0018732200C476220090E42F0014F02F00841A30004801300074963000A0AD300014B0300064B33000C4B63000E02F3100C40D3100F064FE005C4AFE0038C3FE009CDAFE0070E2FE0018EBFE00FCEFFE003453FF00F861FF009487FF00A05CFF000CF4FF00540B00006C130000141C000030230000C075FF00B8A40200DC890000089F0200847FFF00647A010050790000EC7E000048EF010054B20200E0C1CA000CDECA008CE2010002020202020202020202020202020202020202020202A2A3A3A2A2A50202020202020202A295969798999AA1A2A50202020202A18B8C8D8E8F90919293A2A50202027E7F80818283841685868788A2A502A57273747576777879167A7B7CA3A502A265666768696A6B6C6D166E6F70A2025758595A5B5C5D5E5F6054166162A2024A4B4C4D4E4F5051520153541655A2023D3E3F4041424344450146164748A2023233343536202020373816393A3BA202A228291E2A2B202C2D162E2F30310202A51C121D1E1F20211622232425A1020202A51112131415161718191AA10202020202A508090A0B0C0D0E0FA102020202020202A5A203040506A20202020202</value>
    <value type="5" name="ВыделитьПравила">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600C0DCC000AABFAA00C0C0C000F0FBFF00AA9FAA00553F2A00A4A0A000AA9F7F00555F5500FF5F2A00AA5F2A00AA3F2A006F9A520000971500FFFFD400FFDFFF00FFDFD4007CF4A60098BB79004885FF000055F0004600D900A5FAC50075E0990029D6640006C9420000B42000549B3E00005400005FD270008EEEB1003BD26F000DC6460002BE2D0000A90900538E3700E3C1BE00008307001FAE370014CC4C00007F000024571600009A0800005A0000FFCCCC0000440000555F2A00000080000080000000808000800000008000800080800000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F80000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D900246DFF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00050505050505050505050505050505050A08310808080831083108310505050507130A090A090A09090A0708050505050A13061313132F2F022F0A08050505050A1213131313132F032F07310505050507110D0C0D0D0D0E0E2F2728300505050A060611121313131327282D2E1E1E1E07011617181818182728292A10282B2C0A010106011312131F2021222324252604011617181818181810191A1B1C1D1E0701010101011112111310141010101502060C0D0D0D0E01010A09101005050504010101010101010A080B0805050505020101010101010109020805050505050306010606010101070805050505050502020302020302040205050505050505</value>
    <value type="5" name="ВызватьСправочник">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00D0919100C6828200D6A19D00EDD1D100D9A09F00D5A7A600C6838300EDC9C900D1989500ECC1C000E4BEBD00E1BEBC00D6A9A800C7828100E8B6B500F4C5C500F2C0C300F0C0C100EDBBBC00E5AFAF00D4A5A300C8838300E6B3B200F0BEBF00EBB7B700E8B2B100E5AFAE00E1ABAA00DCA2A300D6989800CF8E8E00C8868400E4B0AF00E6B0B000E2A8A900DDA2A200D99C9C00D4959500CE8F8F00CB878700BE727300B86D6C00EFD1D100E1A9A800E2ABAB00DFA4A600DC9FA000D89B9B00D4989700D1919200CC8A8A00C8838400BF737400B86B6A00C6B1AF00D3AAA800CC8F8E00DDA19F00D89A9B00D6949700D3919300D28F9100D08C8E00CE8A8A00CD888900C8828200BF767700C7CCC900DFE3DC00C1817F00D2ABA800C2838100CA908C00CE8D8C00CC8B8A00CC878900C9868700CA828500C9818500C67F8000C2797900B96C6B00E9F9EE00BC7E7B00B8767400E4E8DF00CFBFB900BB7B7900C17F7F00C7838300C67F8100C57D7C00C37A7B00B96D6C00B8757300B6676800A67E7C00BA939000E6F1E700E4EBE100BF918E00C2858300C9808000C87D7F00C67D7D00C27B7D00BA6E6D00BC7B7900B87B7900D3C5BE00D7C7C000C1838100C37D7D00C2757600BB7D7B00C1949000E2E6DD00C4999400B9757400C0C3C100BE7D7B00BB7D7A00D1BAB400E8F6EB00BA787600C28F8B00CC999700BD807E00C0C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000828282828282828081618282828282828282828282827E7C767F618282828282828282827A7B7C7D545460618282828282828274757665777879546061828282826D6E6F54707172736C45546061828262636465666768696A6B6C4554606182565758595A08435B5C5D5E5F455460614748494A4B4C4D4E4F5051525345545504393A3B3C3D3E3F404142434437454682042C0A2D2E2F303132333435363738828204090A221A232425262728292A2B82828204090A18191A1B1C1D1E1F20218282828204090A101112131415161782828282828204090A0B0C0D0E0F8282828282828282820405060708828282828282828282828282020382828282828282</value>
    <value type="5" name="Выписка">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00868686006E6E6E0000969600C0C0C0009C9B9B0069FFFF0050FDFC0035404000C5DCDC00CDFFFF00AFFFFF0098FFFF0083FFFF006AFFFF0053F3F20056CAD400292D2E004B4C4C00E4FCFC00ABEDED009DFFFF006EFFFF0057F6F5004DE9EC0058C4CF0017121200848E8E00D9FFFF00AFEBEB0088F6F60070FAFA005BF1F00000B9B9004DE3E80052F7FF005692A100050101009FBCBC00BCF6F6007DCBCB0056CFE0005DE7FF004A6A760099C3C30088EAEA007AFFFF005DF9F90048F7F70046F8FF004FF0FE0069CBF0003B4A52006E70700090BFBF0091F8F80082FFFF0068FFFF004FFFFF004BFFFF0055F6FF005FEAFF006AD2F80024292C0043585800416B6B0039676700326767002C6667002F616700325D650035596600395A6B00383F46000C090800003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505414243444546474849492505050505363738393A3B3C3D3E3F042505050505052D222E2F30313233043425050505050527282229040404042A2B2C05050505051C1D1E041F2021222324251A0505050513140415160E171804191A250505020202040A0B0C0D0E0F1004112505050505050601010101010107080425050202020303040404040404040404250505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505</value>
    <value type="1" name="Высота">16</value>
    <value type="5" name="Галочка">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600C0DCC000AABFAA00F0FBFF00AA9FAA00553F2A0066FF990000990000A4A0A00000800000AA9F7F00555F5500FFB59000FFFFD400FFDFFF00555F2A00FFDFD40033CC6600FFCCCC000000800000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F80000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00FBD9B600AB7F77001A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A131A1A1A1A1A1A1A1A1A1A1A1A1A1A090B131A1A1A1A1A1A1A1A1A1A1A1A090B0B0B081A1A1A1A1A1A1A1A1A1A090B0B080B0B081A1A1A1A1A1A1A1A090B0B1A1A080B0B081A1A1A1A1A1A1A080B1A1A1A1A080B091A1A1A1A1A1A1A1A1A1A1A1A1A1A080B091A1A1A1A1A1A1A1A1A1A1A1A1A1A080B761A1A1A1A1A1A1A1A1A1A1A1A1A1A080B771A1A1A1A1A1A1A1A1A1A1A1A1A1A080B1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A08091A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A</value>
    <value type="5" name="ГалочкаСиняя">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00E3B00000BF000000FFCC9900A34A0000C4980000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF0007070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070507070707070707070707070707070503050707070707070707070707070503030306070707070707070707070503030203030407070707070707070503030707020303040707070707070702030707070702030507070707070707070707070707070203050707070707070707070707070707020304070707070707070707070707070702030407070707070707070707070707070203070707070707070707070707070707020307070707070707070707070707070707</value>
    <value type="3" name="Группы">[Централизованные]
1
1С
2
3
4
А_Зеленый
Адресат
Б_Желтый
БОСуществует
БОСвязь
В_Красный
ВДругойДокумент
Виза
Внимание
ВнутренниеОбороты
Вопрос
ВосклицательныйЗнак
Вперед
ВыделитьПравила
ВызватьСправочник
Выписка
Галочка
ГалочкаСиняя
Дерево
Диск
Дискета
Добавить
ДокументВнимание
ДокументВперед
ДокументДобавить
ДокументНазад
ДокументОбработать
ДокументОтправить
ДокументСФлажком
ДокументУдалить
ДокументУРМВиза
ДокументУРМВиза2
Заблокировать
ЗаблокироватьДляПользователя
Заверить
ЗагрузкаДокумента
Замена
Запрос
ИзменениеДоли
ИзменитьДатуПринятия
Импорт
Импорт2
ИмпортИзУФК
ИмпортИзФайла
ИмпортИзФайла2
ИмпортИзЭксела
Индекс
Инструмент
Информация
ИсполнитьЗаявку
Календарь
Карточка
Ключ
Контроль
КонтрольРеестр
КопироватьПлатежку
Корзина
КурсоваяРазница
Мастер
Молния
Молоток
Мультивыбор
Назад
НовыйПроцент
Ноль
Норматив
Нумерация
Обновить
Остаток
Отклонение
ОтклонитьДокумент
Открыть
ОтложитьДокумент
ОтложитьНаВремя
ОтменаПереноса
Отменить
Отметка
Очистить
Ошибка
ПараметрыЗаявки
ПениФормированиеПериодов
ПеренестиНастройки
ПереносРосписи
ПересчетВалюты
Печать
ПЗКВыполнена
ПЗКОтклонить
ПЗКУдалить
ПодатьЗаявку
Поиск
ПоискЗаписи
ПоискОшибок
Пользователи
Пользователь
Портфель
Портфель_связь
Правописание
ПредварительныйКонтроль
Привязать
ПривязатьУД
Прикрепить
Принятие
ПринятьДокумент
ПринятьДокумент_Связь
Продолжить
Пронумеровать
ПросмотрДокумента
ПросмотрСвязи
ПроставитьОтдел
Проценты
ПроцентыФормированиеПериодов
РазбиениеПоКД
Разблокирование
РазблокироватьДляПользователя
РасчетПени
РасчетПроцентов
Редактировать
РедактироватьМаски
РедактироватьНастройки
Рубль
Синхронизация
СканированиеПП
Скиф
Скрепка
Согласовать
СогласоватьДокумент
Создание
СозданиеУРМ
СозданиеУРМ2
СоздатьУведомлениеМод
Солнце
СопоставитьВходящим
СортироватьПоВозрастанию
СортироватьПоУбыванию
СохранениеДокумента
Сравнение
Сравнение2
СтроковыйКонтроль
Субпериоды
Сумма
СуммаДОБ
Текст
Триколор
Удаление
УдалитьЗаписи
УдалитьИмпорт
Фильтр
Фильтрация
Флажок
Чеки
ШарЖелтый
ШарЗеленый
ШарКрасный
ШарСиний
Эксел
Экспорт
Экспорт2
ЭкспортНевыясненных
ЭЦП
ЭЦПНеверна
ЭЦПНеверна2
	</value>
    <value type="5" name="Дерево">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF006ED39B0068C685005DD7890053D37C0045B04C0051C7710068CF8D0075E1AB0084E7C00051CD79004FC977004DBD66006BBF820044B44B0060B4760064C6850078DDB0004AB36C0053CC7E0049BD5A0040963E004DBD710053CE7D004EC576004ECD80004199440045A2530043933E0048B24800489E5700439E4C0049A15B003B933900437F4100438947003C5771003C485A0044738F00C0C0C00048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00F0070000A8927F00A8927F00B4020000B0927F00AC020000C0030000800300008001000080010000800100008001000080010000C0030000E0030000F0070000E4927F00E4927F0078020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000282828282828282526262828282828282828282828282826272628282828282828282828282825262725282828282828282828282828262627252528282828282828282828282825262626282828282828282828211D1D222323242828282828282828201D1D1E1E1E1E1E1B1B28282828281C1D1D05051A0A061E1A1D1F282828281B05050A13131A161A131305052828190B17050A0A131A0A0F1A050A052828050A17170F1814140A0A0F0A130528280B1213090F0A0F14150505161305282828050509090F100F0A110F0A0528282828060C050D090E0F0F09090A05282828282806050708090A050A050B28282828282828020304050505050528282828</value>
    <value type="5" name="Диск">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000C0C0C000FFFF00FF00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080C0C0C0C0C0C0C0C0C000FFFF00FF00FFFF00FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080C0C0C0C0C0C0C0C0C0C0C0C000FFFF808080FFFF00FFFFFFC0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFF808080808080C0C0C0C0C0C0C0C0C0C0C0C0808080FFFF00C0C0C0FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF808080FFFFFFFFFFFFFFFFFFC0C0C0808080000000808080C0C0C0FFFFFFFFFFFFC0C0C0000000FFFFFFFFFFFFFFFFFF808080C0C0C0C0C0C0C0C0C0808080000000FFFFFF000000808080C0C0C0C0C0C0C0C0C0000000FFFFFFFFFFFFFFFFFF808080808080C0C0C0808080C0C0C0808080000000808080C0C0C0C0C0C0C0C0C0C0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFF808080FFFF00808080808080C0C0C0808080C0C0C0C0C0C0C0C0C0C0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80808000FF0000FF00FFFF0080808000FFFFC0C0C0C0C0C0C0C0C0C0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80808080808000FF00C0C0C000FFFFC0C0C0C0C0C0C0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080C0C0C000FFFFC0C0C0808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080808080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="Дискета">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF009036210098433900C8B1AC00D7C9C500D8C8C400D8C7C300DDD3D100DDD6D400DBD5D300A76B5F00953A2A0098433C00AB617300EBE4E700F5F6F700F6F8F800F5F6F600F9FAFA00B6817C00A84E54005839300097433D00A95F6F00E9DFE100F1F2F100CCCCCC00CFCECE00DCDCDD00FBFCFB00B47E7600A64D52005537300097433C00E8DEE000FCFDFE00F0F0F000F1F1F100F6F6F700FCFDFC00B47E7700A64D5100E9E0E100F2F3F300D0CFCF00D2D1D100DFDFDF00FCFDFB00F9FAF900E8E7E700E9E8E800EFEFEF00FDFDFC00AA5F6F00EAE5E600B5807A00AB617000BD969200C3A39A00C3A19900C3A19A00C3A29A00C4A39B00C2A49900A5635900A952580098443D00AC607000A04D54009D4B4F009E4C50009C494D0099454900984347009A4549009D484C009D474B00A5545A00AD5A600055362E00AB5D6E00AE667500BB8B8F00BE8E9100C8A1A600D0B0B600DDC9CD00BF949D008F2D400093314400A4526400AE5C6200AB5C6D00AF697600BC898900C58E8D00DFC1C100F7EFEE00D1B4B900882031008D293900A24E5E00AE5C6300AC667400CAA5A600DFC1C000F6EDED00CEAFB400892233008E2A3A0099453E00AC5D6F00AC647200DBC4C500F9F3F300CFB0B5008E2A3B00A24F5F00AF5D640055362D009A433600B15B6700B1636B00F0E2E300D7B6B90092263300972F3A00A9505C00B45D5E00583B3300572C2200593027006E615E00746B6A0073696600746C690067534E0054271D0055292000572B21005833290025232100C0C0C000200000000100080000000000400100000000000000000000000100000000000000000000FFFFFF000032FB000030F000001D8F000031F600002CDE000230EB000033FE00002FEA0000166E000031F7000032F800001D9200011B8900032DE1000033FB00002DE200000F4B000032FA000033FD000025BA0002187700032BDA000232F900002AD400000A31000130F300002BD80002156A00042BD9000231F5000027C200001156000131F3000003110002136100052AD0000330EF000230EA00012EE300000C3D0002156800042DE3000231F2000121A300031E9800032CD900032EE800042BD400042EE500052CDF00042EE6000321A50001061E000525BA00042FE500021B8500062CDA00052DE1000427C00000010700020A34000626C100052CDE0002166D00072BD300062CDB000629CD0001082600030D43000726BE000529D00002104D000829CB00072AD200072AD100020D420002092C000723B0000524B3000828C4000828C70003104F000107250004166D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F83848586878788898A8B8C8D8E8F8F797A7B7C010101017D7E7F8081828F8F6F70717273010101746D757677788F8F435D68696A6B01016C6D6E6667508F8F435D5E5F606162016364656667508F8F435152535455565758595A5B5C508F8F434445464748494A4B4C4D4E4F508F8F22393A3B3C3C3C3D3E3F404142218F8F2236370101010101010101382A218F8F2218233132333333323435292A218F8F22182B2C2D2E2E2E2D2F30292A218F8F2218232425262626252728292A218F8F1718191A1B1C1C1C1B1D1E1F20218F8F0D0E0F01101111111213011415168F8F020304050606060708090A0B0C8F8F</value>
    <value type="5" name="Добавить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000005C0000005D0000006100000065000000690000006A0000007B0000027A0200007C000000860000008700000385030001890100008A0000038B0300028D0200038E0300048C0400068F060005910500079007000D940D000F950F00149B1400159B15002BA72B002EA92E0033B133003AB13A003BB03B003BB53B003DB13D0044BA44004DBF4D0056BB560057BB570058BC58005DBE5D005EBE5E0055C455005EC95E0067C2670066CE660068C2680069C369006FD36F0078D8780080DD800088E2880090E6900099EC9900C0C0C000005A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020118C0000003D00F27CF3000500000078073D0000003D007841FB00F8108C000000000038138C00345AF3008095F700FFFFFF00F27CF300B373F300F373F30016000000160000000100000000000000977CF300D8550900E167F30078130500F967F30000000000E566F30000000000FC138C00026FAF0038000000240000000200000008000A0090AEF7000200000068006A0000ECFD005B69CD00E869CD00000000001A0200000000000068000000400F8C005C118C00E055090028020000340F8C00C069CD000C148C00345AF30070AEF700FFFFFF0052B0F300C6B1F30001000000E4118C0068128C00000000000000050000ECFD00450000001098010050118C00800010000C148C00345AF3005894F700FFFFFF00F967F30000000000E566F3006098E100B70000000100000002000000FC138C00180000000000000068128C0042000000000000004C128C00000000000000000000000000000000000C000000020000000101F30000ECFD0068000000000000000300000070001A00E05509000200000000000000E055090005000000A4128C00719AE10040010000000000000000000000000000020000000000000000000000E4138C0032884A006862FA000000000000000000D8138C0002000000800000000000000074558C00ECF5A60002000000443A5C006F726B005C4D790045325F0065765C00494E4900484544005F7265005C3233005F636F0074726F005F6164000500000000000000D60545000000000024000000010000007841FB007D37F3000593E1004001000000000000000000000000000060138C007841FB0016000000000000002593E10016000000FC138C0001000000200000001600000000000000160000004C138C00000000000C148C00BC0AE400A0FEE400FFFFFF002593E100C9884A00400100007841FB0016000000B0138C000000000034343434343434343434343434343434343434343434343434343434343434343434343434130C07050434343434343434343434340F211F1C0134343434343434343434340E22211F0334343434343434343434340A28222135343434343434341816100B1429282208350302043434341A31302F2E2B292822211F1C063434341E3231302F2E2B292822211F0934343423333231302F2E2B292822210C343434252C262C1D302F2E140A0E1215343434343434342D31302F0D3434343434343434343434273231301134343434343434343434342A3332311734343434343434343434342524201B1934343434343434343434343434343434343434343434</value>
    <value type="5" name="ДокументВнимание">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00AAAA8000A7A77D00FCFCF500C0C0C000F7F7EA00F4F4E500F3F3E200F2F2E100D3D3C200A3A37900FAFAF300F4F4EC00F1F1E700ECECDF00E8E8D900E6E6D500E5E5D400C7C7B6009F9F7500FAFAF400F5F5EE00B5B5A4005D5D35009A9A7100FBFBF600F6F6F00096966C00FCFCF700F7F7F20091916700FCFCF800F8F8F4008B8B6200FDFDFA00FAFAF60097DADE004FC6D3009CDFDF0085855D00FDFDFB00FBFBF800EDF3ED005DCCD800A6EFF4005FCDD8007D8864007F7F5700FEFEFC00FCFCF900ACE1E40074D8E300ABF5FC0074D9E3004B93860079795100FEFEFD00F5F7F30061CAD70092E9F200555555008AE7F1001CA2AC0073734B00FFFFFE00FDFDFC00B9E4E80061CDDB007CE4F10068D8E7002EB1BE006C6C4500FEFEFE00FBFCF90067C7D4006CDAE30047D3D70075B4B50040D1D3003DC7CC0001A4BC005D5D3600C5E7EB0049C1CF0042D9E00033D5DD0034D5DD000DACC10045451F0064C0CE0038CFDF002ADBE90028DAE90079EDF5001CC7D8000198AF0027270A0032320C00106C6E00067F8E000580900000839800006677000800010000000000000000000001000002000100FFFFFF00000000000000000000000000BE070000000000000000000000000000000000000000000000000000000000000000000000000000F8FF0000F01F0000E001000074542C0074542C00F00B0000E0010000F0010000F0010000F0010000F0010000F0010000F0010000F0010000F0030000F00F0000A8542C00A8542C00BC0B000051520000000000003E3F400042434400463800000000000031393100313A3B003D38000000000000DC542C00DC542C00A40B000000000000022829002B2C2D002F300000000000000204210023242500272000000000000002040D001B1C1D001F2000000000000002041200141516001819000000000000020401000C0D0E00101100000000000002040100010108000A0B00000000000002040400040405000700000000000000020202000202030000000000FFFF0000F9FF0000F03F0000E0030000C0030000E0030000F0030000F0030000F0030000F0030000F0030000F0030000F0030000F0030000F0070000F01F0000A8552C00A8552C00BC0A0000C1EBEE00E8F0EE00E0F2FC00EFF0EE00F0E0F700EEF1F2007CC0EB00F4E02D00EBEEEA00F0EEE200E07CC700ECEEF000E7E8F20020C0EB00F4E02D00E0EDE000441200003B000000000000002A00000033333100CFF0EE00E7E2EE00FCEDEE002E2E7C00EEE2E500EDF3F20020EDE000EBFEE100E920F300EEEB000030562C0030562C003C0400006F000000000000005F00000031313200C226FB00E5EBE500EDFBE500E8EAEE00EAE8200020EFE000EAF32E002E7CDD00F1EFEE00F220E200E4E5EB00EDEDFB000505050505050505050505050505050505050505050505050505050505050505050538383838636464646464656667050505380101415A5B5C5D5E5D5D5F6005050538014942535455560056575805050505380113134A4B4C4D4E4F505105050505384129322A434445004647050505050538391313133A3B3C3D3E3F050505050530312A24211E333435363705050505052829131313132B2C2D2E2F05050505052223211E1B160D2526272205050505051F20131313130E0F10081F050505050514150D0E0F10111717173805050505050B0C0E0F10111213010B190505050505030406070809090A03050505050505050502020202020202050505050505</value>
    <value type="5" name="ДокументВперед">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600DFC697008F6E5900C0C0C000E6E6E600EBE1E300B88C7200A1815F00FFB59000EADFDE00BA927F00BE9173009A6A5800AABFAA00FFDFFF00D5B6B400D3A8A4006A514400FFFFD400FFFFFA00F1D8CC006A534600AA9FAA00FEF9E600EBCFBF0069524500AA9F7F00A6CAA700008C0900DAD5B300FEFBF000F4EACF00F6EBC900E6C7AF006953470023C54E00FFF6E400F5ECD200EFE3BF00F0E3B800E4C2A6006A5448000A6A0E0011811F0061AD5C0043E57B0021D35B00FFECCF00EBDBAE00ECDDAC00E2C1A2006A5449003D9C4800B0FFD0006FEA9B004DDF7D002CD2640010C64A000DCA4500C0C69000EAD8A900EDDBA900E2C0A2003A944400A8F7C90068E2950036D46E0012C64C0007BC3A0002BA2B0000A40E00488C3100EED6AA00E9D6A400E1BC9F006A544A00137F1A003EC1510021B63A000CAF290006B9340003BC2E00009A030047802B00C6A48A00D2AD9400D3AD9300DCAF9900705C4C0000AB15003D322800006F0000EBE5ED00EAE8E500E8EAEE00EAE80D0032343900D7E5F000EE2DE100EBFBE500D7E5F000EE2DE100EBFBE500CEF2EE00F0E0E600F2FC2000EAEEED00E820F100F7E5F000EE2DE100EBFBEC00F4EEF000E0F2EE000D0A3200303D310020F6E200F2EEE20031362000E2E5F200E27CCE00EEE1F000E6E0F20020E8EA00EDEAE800F12031002DF6E200F2EDFB0020F4EE00ECE0F200EC0D0A0035313D0035362000EBE8200072756500436F6C00727C32003620E800E8205400756520006F6C6F007CCEF200E1F0E000E0F2FC00E8EAEE00EAE82000203235002DF6E200F2E0EC0020E8EB0020547200652043006C6F72000A3235003D547200652043006C6F720028333200E1E8F2007C547200652043006C6F720028333200E1E8F2007CCEF200E1F0E000E0F2FC00E8EAEE00EAE8200020333200E1E8F200FBEC2000EEF0EC00F2EEEC000A3235003DCDE000E2E0ED00FF20E800EEEDEE007CCDE000E2E0ED00FF20E800EEEDEE007CCFEE00E0E7FB00E0F2FC00EDE0E700E0EDE80020E8EA00EDEEEA000A3235003DD4EE00ECE0F20020E8EA00EDEEEA00D4EEF000E0F2FB00E8EAEE00EEEA7C00EEEAE000FBE2E000FC20F400F0ECE000FB20E800EEEDEE000D0A3200353DD200F7EDFB0020F4EE00ECE0F2007CD2EE00EDFBE500F4EEF000E0F2FB00CFEEEA00E7FBE200F2FC2000EEEBFC00EE20F200F7EDFB0020F4EE00ECE0F2000D0A3300303DCF00EDE5EB000D0A3200323DD100E0EDE400F0F2ED00FF20EF00EDE5EB0020E8ED00F2F0F300E5EDF200E20D0A0038333D00E0EDE500FC20F400E9EBEE000D0A3200343DD100E5F6E800EBFCED00FF20EF00EDE5EB0020E8ED00F2F0F300E5EDF200E20D0A0038353D00F2F0EE00E020F100F1F2EE00EDE8FF000A3238000505050505050505050505050505050505050505055105050505050505050505050505052F5D0E2F0505050505050505052F0E0E2C5B1E2C4D4D4D4D4D5C0505054E4F505152535455565758595A0505054142434445464748494A4B4C4D050505363738393A3B3C1E3D3E3F40350505052C2D2E1E2F301E1F0A323334350505050505181E251E1F262728292A2B05050505051C1D1E1F200A0A2122232405050505051806191919191919191A1B050505050502010A0A0A0A141415161705050505050A01010101011011111213050505050502010A0A0A0A0B0C0D0E0505050505055901010101010108090505050505050502035959590808040505050505</value>
    <value type="5" name="ДокументДобавить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00A7A77D00FCFCF500F9F9EF00C0C0C000F4F4E500F3F3E200F2F2E100D3D3C200A3A37900FAFAF300F4F4EC00F1F1E700ECECDF00E8E8D900E6E6D500E5E5D400C7C7B6009F9F7500FAFAF400F5F5EE00B5B5A4005D5D35009A9A7100FBFBF600F6F6F00096966C00FCFCF700F7F7F20091916700FCFCF800F8F8F4008B8B6200FDFDFA00FAFAF60085855D00FDFDFB00FBFBF800F6F6EA007F7F5700FEFEFC00FCFCF90079795100FEFEFD00FAFAF20073734B00FFFFFE00FDFDFC006464C5003131B6003232B7000B0B9E000000A7000000A6006C6C4500FEFEFE003232AB005E5EF700000098005D5D36006565B20032329700323298000A0A7900000080000000840045451F00FEFEF90027270A0032320C005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF006EC75E0043B930000CA82E003402000014A82E002C020000379C1D0041B4300075EE64001EA008006EC2620040AF30003FAF3000C0030000C0070000C00F000066EB550048A82E00F801000030072E001B9907006CA72E00129D0000ECA72E00129C000000092C003FAA310008AA2E0052E74100741A2E001095000098AA2E006DB9630004822E003DA23100F4542E003DE22C0020AB2E0016880600CCA72E000E8C00008CAB2E000E8D000028AC2E003C9B32009CAC2E002BDF1A0078932E00117C0400E8AC2E001458040088FE2B000A63020050AD2E00E400000043000000010000003200000061686900653DD1007C7CD100084D0200F0FBF20020EEE100E0F1F20020EFF000F1ECEE00240100002B000000AAAA800011000000706D7000657669007761720000000000000000000000000000000000050505050505050505050505050505050505050505050505050505050505050505054343434343434343E4E6EF05050505054301012F2C292522DEE0E205050505053C010130252AD2D4D4D6D8DADC050505370138252A26CCCECECECECED00505052E2F12121223BCBDBEC2C6C8CA050505242526201D1A1D1AB9BABB05050505052122121212121A15B2B3B805050505051E1F201A150C0D0E0F071E05050505051B1C12121212121210081B050505050518191A0C0D0E0F10110818050505050513141212120F101616161705050505050A0B0C0E0F101112010A0505050505050203040607080809020505050505050505F7F7F7F7F7F7F7050505050505</value>
    <value type="5" name="ДокументНазад">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600DFC69700DCAF9900B88C72008F6E5900A1815F00FFB59000EADFDE00BA927F00BE9173009A6A5800FFDFFF00D5B6B400D3A8A4006A514400FFFFD400FFFFFA00F1D8CC006A534600AA9FAA00E6E6E600FEF9E600EBCFBF0069524500AA9F7F00A6CAA700DAD5B300F4EACF00F6EBC900E6C7AF0069534700E3D0A900CFE3CE0095C18E00FFF9EC00FAF4E000F8EED700F5ECD200EFE3BF00F0E3B800E4C2A6006A54480000971500FFF5EB00FFF0DD00EBDBAE00ECDDAC00E2C1A2006A5449007CF4A60098BB7900EAD8A900EDDBA900E2C0A200A5FAC50075E0990029D6640006C9420000B42000549B3E00EED6AA00E9D6A400E1BC9F006A544A00005400005FD270008EEEB1003BD26F000DC6460002BE2D0000A90900538E3700C6A48A00D2AD9400D3AD9300705C4C00E3C1BE00008307001FAE370014CC4C00007F0000245716003D322800009A0800005A000000440000C0C0C0006B000000000000005A00000031383400CAEEED00E5F0F200F0EEE200F2FC2000EEF0EC00F22E2E007CCAEE00E2E5F000E8F0EE00E0F2FC00F4EEF000E0F27C00EEEDE200F0F2E800EEE2E000FC20F400F0ECE00020E2FB00E5EBE500EDEEE30020EAE000F0E00000CCD82C00CCD82C0014010000CFF0EE00F0F3F200E020E200F0E0E2007CCFF000EAF0F300E8F2FC00EEE1EB00F1F2FC00E2EFF000E2EE0000F0F2E80040000000D0E12C00F4172D009C000000CFEEE800EA20E000F1EEF600E8F0EE00E0EDED0024000000330000000000000023000000D0E0E700E5EBE800FC20E200E1F0E000EDFBE500E8EAEE00EAE82000E020EA00E4F0FB0060D92C0060D92C0048000000CFEEE800EA20E200EFE0EF00E57CC800EAE0F20020E8EA00EDEAE800E220EA00F2E0EB00E3E5000008EA8000300FD20014000000EEE3E500DC0000003B000000000000002A000000CEF2EA00FBF2FC00EFE0EB00F2F0F300C7E0E300F3E7E800FC20EF00EBE8F200F320E80020F4E000D00700003F000000000000002F00000032313200C2EDE8007CCFF000EAF0F300EAE02000EDE8E700CFF0EE00F0F3F200F2FC2000E1EBE000F2FC2000EDE8E7001CDA2C001CDA2C0064020000D2EEF700FBE52000EEF0EC00F2FB7C00EEEAE000FBE2E000FC20F200EBFCEA0020F2EE00EDFBE500F4EEF0003C00000077000000000000006400000031313300CEE1FA00E4E8ED00EDEDEE0020E8E700E1F0E000E5EDE8002E2E2E00DDEAF100EEF0F200E220EE00E8ED2000E8F1F300EEEA7C00E0E7EC00F1F2E800FC20E200E4E5EB00EDEDFB0020E8EA00EDEAE800EDE02000E4EDEE0020F0E800F3EDEA0000000000CCDA2C00CCDA2C00B4010000C2F1E500F4E0E900FB7CC200E1F0E000FC20F400E9EB2000E720F100E8F1EA0000000000FCDA2C00585858585858585858585858585858585858584E4F575858585858585858585858584E4F55563D3D3D58585858585858584E4F50512C4F5253414141415458585842434445464748494A4B4C044D585858582C38393A3B3C3D1C3E3F404158585858582C332C2C2C3428353637325858585858212C2C2D2E08082F30313258585858582122232425262728292A2B58585858581A1B1C080808081D1E1F20585858585815161717171717171718195858585858020108080808111112131458585858580801010101010D0E0E0F105858585858020108080808090A0B0C5858585858580401010101010105075858585858585802030404040505065858585858</value>
    <value type="5" name="ДокументОбработать">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00AAAA8000A7A77D00FCFCF500F9F9EF00F4F4E500F3F3E200F2F2E100D3D3C200A3A37900FAFAF300F4F4EC00ECECDF00E8E8D900E6E6D500E5E5D400C7C7B6009F9F7500FAFAF400B4B49C0073734B005D5D35009A9A7100FBFBF600F6F6F000F1F1E7005D5D360096966C00FCFCF70045451F0091916700FCFCF80080808000F5F5EE008B8B6200CCFFFF0000808000F6F6EA0000FFFF00C0C0C000FEFEF90000008000008000008000000080008000808000000000FF0000FF0000FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6002828000028000000280000282828282828252725252527002525252828282828000027240025272500012700001E1E2800250001242401012427252500291E28252701240021282100240127000C1E282525240000212821000027000C0C1E282800252400210121000127000C0C1E2828282525002121210025250C1A261E2828282828232124211414141414061E28282828281F202119220C1A0D0E071E28282828281C1D14141414141414081E28282828281718190C1A0D0E0F10081B282828282812131111110E0F1515151628282828280A0B0C0D0E0F1014010A28282828282803040506070808140328282828282828020202020202020228282828</value>
    <value type="5" name="ДокументОтправить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00E0C0B000D0C0B000D0B8B000D0B0A000D7C7BF00F4F4F400C0A8A00060483000D6C6BE00C0A89000D0C8C000D5C5BD00B0A09000D0B8A000FFF8F000F0F0F000F0E8E000F0E0D000C0B0A000FFF0F000E0D8D00090C8D00090C0D00090B8D00090B8C00080B0C00080A8C00030A0C00070E0F00090F0FF0080E8FF0060D0E0002048500070D0F00060D0F00020A0C0002038400070D8F00060D8F00040B8E00020304000F0F0E000F0E0E00030A8D0002098C0002088B0002078900030A8C000202830001020200080A0B00060B8D00060C0D00050B8D00040B0D0002098B00020708000101820003060700030587000304860002040500020203000003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00010101010101343C3C3D3E3F2A403B3B01010E090909342D353637381D393A3B01010E110E0E1C1E1D241E2429302F3301010E102B2C1B1F1E2D2E2F30311D3201010E0715121A1F2725272825291D2A01010E07071119231D1E1F2024251D2601010B070710181D1E1F1F201E211D220101080707071718181819191A1B1B1C01011407070707151213160E0901010101010507070707071112130E0901010101010F070707070710110E0E090101010101040707070707070E0909090101010101030707070707070B0C090D01010101010207070707070708090A010101010101020202020203040506010101010101010101010101010101010101010101</value>
    <value type="5" name="ДокументСФлажком">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000000080000080000000808000800000008000800080800000C0C0C000C0DCC000F0CAA60004040400080808000C0C0C0011111100161616001C1C1C002222220029292900555555004D4D4D004242420039393900807CFF005050FF009300D600FFECCC00C6D6EF00D6E7E70090A9AD000000330000006600000099000000CC00003300000033330000336600003399000033CC000033FF00006600000066330000666600006699000066CC000066FF00009900000099330000996600009999000099CC000099FF0000CC000000CC330000CC660000CC990000CCCC0000CCFF0000FF660000FF990000FFCC00330000003300330033006600330099003300CC003300FF00333300003333330033336600333399003333CC003333FF00336600003366330033666600336699003366CC003366FF00339900003399330033996600339999003399CC003399FF0033CC000033CC330033CC660033CC990033CCCC0033CCFF0033FF330033FF660033FF990033FFCC0033FFFF00660000006600330066006600660099006600CC006600FF00663300006633330066336600663399006633CC006633FF00666600006666330066666600666699006666CC00669900006699330066996600669999006699CC006699FF0066CC000066CC330066CC990066CCCC0066CCFF0066FF000066FF330066FF990066FFCC00CC00FF00FF00CC009999000099339900990099009900CC009900000099333300990066009933CC009900FF00996600009966330099336600996699009966CC009933FF009999330099996600999999009999CC009999FF0099CC000099CC330066CC660099CC990099CCCC0099CCFF0099FF000099FF330099CC660099FF990099FFCC0099FFFF00CC00000099003300CC006600CC009900CC00CC0099330000CC333300CC336600CC339900CC33CC00CC33FF00CC660000CC66330099666600CC669900CC66CC009966FF00CC990000CC993300CC996600CC999900CC99CC00CC99FF00CCCC0000CCCC3300CCCC6600CCCC9900CCCCCC00CCCCFF00CCFF0000CCFF330099FF6600CCFF9900CCFFCC00CCFFFF00CC003300FF006600FF009900CC330000FF333300FF336600FF339900FF33CC00FF33FF00FF660000FF663300CC666600FF669900FF66CC00CC66FF00FF990000FF993300FF996600FF999900FF99CC00FF99FF00FFCC0000FFCC3300FFCC6600FFCC9900FFCCCC00FFCCFF00FFFF3300CCFF6600FFFF9900FFFFCC006666FF0066FF660066FFFF00FF666600FF66FF00FFFF66002100A5005F5F5F00777777008686860096969600CBCBCB00B2B2B200D7D7D700DDDDDD00E3E3E300EAEAEA00F1F1F100F8F8F800F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0007F7666666666666666666660707070707F7FFF7F7F7F7F7F7F7F7660707070707F7FFFFFFF4F3F1F0BCF7660707070707F7FF0909090909F1F0F7660707070707F7FFFFFFFFF4F3F2F0F7660707070707B5FFDDDDDD090909F1F7660707070707B5FFFFFFFFFF66F3F2F7660707070707B5FFDDDDDDDD0AF4F3F7660707070707EFFFFFFFFF6C07FFF4F7660707070707BBFFDDDDDD0AF2FFF7F7660707070707BBFF1909AE4645F7666666070707070707FF19B50A1E46ECBC6607070707070707FFFF911E251EE945070707070707070707B50A1E2626251E1F1F07070707070707AEE91E471E464D251FE90707070707070A4D07076F6F07070707070707</value>
    <value type="5" name="ДокументУдалить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00AAAA8000A7A77D00FCFCF500F9F9EF00C0C0C000F4F4E500F3F3E200F2F2E100D3D3C200A3A37900FAFAF300F4F4EC00F1F1E700ECECDF00E8E8D900E6E6D500E5E5D400C7C7B6009F9F7500FAFAF400F5F5EE00B5B5A4005D5D35009A9A7100FBFBF600F6F6F00096966C00FCFCF700F7F7F20091916700FCFCF800F8F8F4008B8B6200FDFDFA00FAFAF60085855D00FDFDFB00FBFBF800F6F6EA007F7F5700FEFEFC00FCFCF90079795100FEFEFD00FAFAF20073734B00FFFFFE00FDFDFC006464C5003131B6003232B7000B0B9E000000A7000000A6006C6C4500FEFEFE003232AB005E5EF700000098005D5D36006565B20032329700323298000A0A7900000080000000840045451F00FEFEF90027270A0032320C005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00000000000CA82E000CA82E003402000014A82E002C020000C0030000C0030000C0030000C0030000C0030000C0030000C0030000C0030000C0070000C00F000048A82E0048A82E00F801000030072E00000000006CA72E0000000000ECA72E000000000000092C000000000008AA2E0000000000741A2E000000000098AA2E000000000004822E0000000000F4542E000000000020AB2E0000000000CCA72E00000000008CAB2E000000000028AC2E00000000009CAC2E000000000078932E0000000000E8AC2E000000000088FE2B000000000050AD2E00E4000000430000000100000032000000706D7000657669007761720061686900653DD100F0FBF2007C7CD100F0FBF20020EEE100E0F1F20020EFF000F1ECEE00240100002B0000000000000011000000706D700065766900776172000606060606060606060606060606060606060606060606060606060606060606060644444444444444444444440606060606440101302D2A262320454406060606063D010131262B3E3F3F40414243060606380139262B273A3B3B3B3B3B3C0606062F301313132432333334353637060606252627211E1B160D0E28250606060606222313131313130E0F072206060606061F20211B160D0E0F10081F06060606061C1D13131313131311091C0606060606191A1B0D0E0F10111209190606060606141513131310111717171806060606060B0C0D0F10111213010B060606060606030405070809090A03060606060606060602020202020202060606060606</value>
    <value type="5" name="ДокументУРМВиза">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00CAC8BE00C3AF9B00BF000000F4F6F300F6FAFA00F7FAFB00FBFCFB00E9E7E700AE9D9400745D4700ECCFC000F8EFE900F5E4DB00EFE4DB00F2E4DE00EAE5E100B5A9970077695400F2D5CA00E2AA9100CC666600EFDDD400EBD3CE00D7CAC000AE9E9200ECDDD500645A3D00EFD7CD00E9BCAA0063583B00ADB895009DC38E0091BF7300A5A36400AC8C610064513D00FFEED20086B26C007FE28C00C7F4C600ADDB9900A79E4700988F5D00ECCABD00C0A79A00806E5A00B5A67A0058AC51005FDD77009EE39100D8B56E00BCA63F006AA8280094B59500E9C7B900C0A79B00BC804500818B460042AC4E0087C15800E09444008FA4330053AC1C0075853700D9C3B600AB998B00CB7C4900DC8B44008397410069B14200C88D3900B982300066901E00737E360093836D00BC937A00DF7A3A00B88E3F00569A3A00AB7B3000CB682F00876C320098AE9B00AA754600A77634007F7B3200B46B3000AE5E3500978471009AA6A4008E734C0089704F0099AD9A0085623E00835F45009C9B9300AABBBC00000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000696969696969696969696969696969696969695E5F6061696969696969696969692655565758595A6969696969696969694D4E4F505152535469696969696969694445464748494A4B4C4C4C1A696969693A3B3C3D3E3F40414242432F6969696930313233343536371738392F69696969262728292A2B2C2D04142E2F6969696969692122232417040404142569696969696969021D1E04040404141F69696969696969021B0404161704041C6969696969696902141516171819041A69696969696969020D0E0F1011121304146969696969690205060708090A0B69040C696969696902020202020203696969046969696969696969696969696969696969</value>
    <value type="5" name="ДокументУРМВиза2">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00CAC8BE00C3AF9B000033BF00F4F6F300F6FAFA00F7FAFB00FBFCFB00E9E7E700AE9D9400745D4700C3C0EC00F8EFE900F5E4DB00EFE4DB00F2E4DE00EAE5E100B5A9970077695400CACAF200F2D5CA00E2AA91006681CC00D6D4EF00EBD3CE00D7CAC0009792AE00ECDDD500EFDDD400645A3D00EFD7CD00E9BCAA0063583B00ADB895009DC38E0091BF7300A5A36400AC8C610064513D00FFEED20086B26C007FE28C00C7F4C600ADDB9900A79E4700988F5D00ECCABD00C0A79A00806E5A00B5A67A0058AC51005FDD77009EE39100D8B56E00BCA63F006AA8280094B59500E9C7B900C0A79B00BC804500818B460042AC4E0087C15800E09444008FA4330053AC1C0075853700D9C3B600AB998B00CB7C4900DC8B44008397410069B14200C88D3900B982300066901E00737E360093836D00AE9E9200BC937A00DF7A3A00B88E3F00569A3A00AB7B3000CB682F00876C320098AE9B00AA754600A77634007F7B3200B46B3000AE5E3500978471009AA6A4008E734C0089704F0099AD9A0085623E00835F45009C9B9300AABBBC00000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF24006C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C616263646C6C6C6C6C6C6C6C6C6C2858595A5B5C5D6C6C6C6C6C6C6C6C6C50515253545556576C6C6C6C6C6C6C6C464748494A4B4C4D4E4E4E4F6C6C6C6C3C3D3E3F40414243444445316C6C6C6C32333435363738391D3A3B316C6C6C6C28292A2B2C2D2E2F041430316C6C6C6C6C6C232425261D04040414276C6C6C6C6C6C6C021F200404040414216C6C6C6C6C6C6C021C0404171D04041E6C6C6C6C6C6C6C0215161718191A041B6C6C6C6C6C6C6C020D0E0F1011121304146C6C6C6C6C6C0205060708090A0B6C040C6C6C6C6C6C020202020202036C6C6C046C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C</value>
    <value type="5" name="Заблокировать">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000099CC000066990000C4F70000C7FA0000C9FC0000CBFE0000B3E60000B9EC0000BDF00000C1F40000AEE10000A7DA00000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF00141414141414141414141414141414141414141414020202020202021414141414141414020202020D0C080202141414141414140202020D0C08090A020214141414141402020D0C08000A0B0402141414141414020D0C0809000B040502141414141414020C08090A00040506021414141414140208090A0B040506070214141414141414020202040506070202141414141414141402020202020202021414141414141414020314140202021414141414141414140203141402021414141414141414141402031414020214141414141414141414140203030202141414141414141414141414020202141414141414141414141414141414141414141414</value>
    <value type="5" name="ЗаблокироватьДляПользователя">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000074970000473A2000A5A8500206FA1002779B1002373AE00075B86003A94D10049B1FC0045ACFB00348DD10044A8F1003CA2FB0040A7FB003395F6002F8DF000C3E4F200B6E0F1008AD9F80099D4EC001E6BC3001C66BE00556A9600C14F1900B3E2F70084C0D500477889005490AA005DB0D7005E869800E26C4400FB886600DA8A6400FFFEFE00E4A18200F684610097D6F1004580970068AFCE00477A8F00ED684900FB866500E5BEA900E4A88C00E46B4B007AC9E8004A849A0075BAD9003D6C7B00E65F3E00F66B5300FA7F6000DE7F5600DC5D3F00B9725700BFBFC00097ABBC0092ABBE00BCCAD100B7F2FF00A7E8FF00A3DFF6009FD3E400A3E6FF0090E6FD004E74850092A7B700A3E7FF0059CDFE00357489002E5961005CB6D90057C6F600416B7C008EA3B3009DE3FF0047C1F80056B1D5004992AA0060D0FA004CBCF200366170008A9EAE0086D9FF003FB3EC0058A8C40049ABD50048B4E5003BA6D900345E6A00B1C1CA00728E9F005C7D8E004B6F7E003E667400355F6A0036616B003C677A00000080000080000000808000800000008000800080800000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C000202020202020202020202020202020202020202020202025D5E5F6061626364020202020202020255565758595A5B5C02020202020202024D4E4F5051525354020202020202020245464748494A4B4C021A1A1A1A1A1A023B3E3F40414243441A343536372F38393A3B3B3B3B3C3B3D1A2B2C262D2E2F1A0230310202323302022122232425261A0227280202292A020202031718191A1A021B1C1D1E1F200202031111120302020202131415160202030F10100F1106020202020202020202030D0E0B0C0F0302020202020202020203090A0B0C0C030202020202020202020304050607080402020202020202020202030303030302020202020202020202</value>
    <value type="5" name="Заверить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF002554EA002251E5002853E5003359DF003060F700416BF3006386FB00819FFF00557DFC00355EE8003151CE004871F5007498F0004580C1002D73AC00327BB400487DE0002554F1003044AF002655EB007897FC00457FC2002A84AF0050BEDD0086D7EB002F8BB100235DE400223CB3002F3A96002453E7007999FF002873A80051B8D800A4DFEE00B3F1FE0065D7F5001F78E300133BCA002F3785002D58E6006187FF002E75B00057A7CC00B0F0FE0087E7FF0071DEFE001A65DA001936B2002E337B00355CE7004074D1002976AF004FACD10074DAF9003296E7001344D10024338F002E3278003357D500304BBE001A45D2001E58CB001C69C2001A6AD8001441CC001C34A2002C3079002D3076003B58C7002D3D9D0023379C001E37A4001C36A60023338C002C2F7500262A72002852DB008EA7F1004C66CF002D3D9C002D337D002D31760041488C004D5FB50022349C001A1E6B00103DD2006786E5007595F7004772FE000039F5000929B8003B4AA8007496F5003666FB001944DA001B227A001A1D68002B54D8007B9AF600446FFD00285CFD000032DF00152591004C67CA003D6DFF001A4EF6001745E6001337BF00181C6C000931C4004E71E4003750BD001E2D8F000F32C200002ED20024308A003156DC000E3CE1000C1F8F0018227A00112BA700112084001B1D69001034BD00273185001D2171001D217000152183000A28AC001B2681000529BB0014228400182078001B1E6C001F1F6600172C9800192885001C1C66001A1E6D0018227D00C0C0C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8A8B8F8F8F8F8C8D8E8F8F8F8F8F8F8F8F7E7F80818283848586878F8F88898F8F707172737475767778797A7B7C7D8F8F8F6465666768696A6B6C6D6E6F8F8F8F8F58595A5B5C5D5E5F606162638F8F8F8F8F4E4F50515253545556578F8F8F8F8F8F8F464748494A4B4C4D8F8F8F8F8F8F8F3C3D3E3F4041424344458F8F8F8F8F8F05333435363738393A3B8F8F8F8F8F8F292A2B2C2D2E2F3031328F8F8F8F8F8F1F2021222324252627288F8F8F8F8F8F15161718191A1B1C1D1E8F8F8F8F8F8F8F0D0E0F10111213148F8F8F8F8F8F8F8F060708090A0B0C8F8F8F8F8F8F8F8F8F8F8F020304058F8F8F8F8F</value>
    <value type="5" name="ЗагрузкаДокумента">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF0001010100AAAA800084848400FFFFFE00FEFEFD007C7C7C00FAFAF300F5F5EE0077777700D6D6CD00F6F6E9005656560033333300343434005757570053535300C7C6C600C3C2C200383838005858580050505000BDB7B70022222200B4AEAE003D3D3D005A5A5A00BBADAD00B6A9A900424242005C5C5C000F0F0B00A9A97F00040404000707050055555100F5F5E600F3F3E200D3D3C200A3A37A009B9B7200F9F9F100EFEFE400E9E9DA00C7C7B60093936A00FAFAF500F3F3EB00B5B5A4005D5D350089896100FCFCF700F6F6F0007F7F5600FDFDFA00F9F9F40073734C00FCFCF800F8F8ED0063633C00FBFBF400FCFCF5003D3D1700C0C0C000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00FE010000D49A1B00D49A1B00FC010000DC9A1B00F4010000FE010000000300000007000000780000007C0000007A000000470000007F0000007F0000007F0000109B1B00109B1B00C00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0000006145640074457200FC050000170000000000000040404040404040403F3F3F3F3F3F4040404040404040403C0106373A3D3E3C404040404040404039063A3835303B39404040404040404036373835302B25364040404040404040333435302B2C263340404040404040402E2F302B313131324040404040404040292A2B2C2D012940404000222222220023242526272840404002021C0E1D1C1E1F20212121404040400216171819171A1B024040404000000002111213131214150240404040400000020D0E0E0E0E0F100240404040004000020A0B0C0C0C0B0A0240000000404040020708090909080702404040404040400204050606060504024040404040404002020303030303020240404040404040</value>
    <value type="5" name="Замена">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6000000000000CED3D6CED3D6CED3D6000000000000CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6000000000000CED3D6CED3D6CED3D6000000000000CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6000000000000CED3D6CED3D6CED3D6000000000000CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6000000000000CED3D6CED3D6000000000000000000840000840000840000840000840000840000840000840000CED3D6000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF840000CED3D6000000000000000000000000000000000000FFFFFF848284848284848284848284848284848284FFFFFF840000CED3D6000000000000CED3D6CED3D6CED3D6000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF840000CED3D6000000000000CED3D6CED3D6CED3D60000000000000000FF0000FF0000FF0000FF0000FF0000FFFFFFFF840000CED3D6000000000000CED3D6CED3D6CED3D6000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF840000CED3D6000000000000000000000000000000000000000000848284848284848284848284848284848284FFFFFF840000CED3D6000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF840000CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6840000FFFFFF848284848284848284FFFFFF840000840000840000840000CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6840000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF840000FFFFFF840000CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6840000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF840000840000CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6CED3D6840000840000840000840000840000840000840000CED3D6CED3D6CED3D6</value>
    <value type="5" name="Запрос">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080FF0000FF0000008080000000000000000000008080008080008080008080008080008080008080008080008080FF00000080800080800080800000000000000000000080800080800000FF0000FF008080008080008080008080008080FF00000080800080800080800080800080800080800080800080800000FF0000FF008080008080008080008080008080FF0000008080008080008080008080000000000000008080008080008080008080008080008080008080008080008080FF00000080800080800080800080800000000000000080800080800000FF008080008080008080008080008080008080FF00000080800080800080800080800080800080800080800080800000FF0000FF008080008080008080008080FF00000080800080800080800080800080800000000000000080800080800080800000FF0000FF008080008080FF00000080800080800080800080800080800080800000000000000080800080800080800080800000FF0000FF008080008080FF00000080800080800080800080800080800080800080800000FF0000FF0080800080800000FF0000FF008080008080008080FF00000080800080800080800080800000000000000000FF0000FF0080800080800000FF0000FF008080008080008080FF00000080800080800080800080800000000000000080800000FF0000FF0000FF0000FF008080008080008080008080FF0000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080FF0000008080008080008080000000000000000000008080008080008080008080008080008080008080008080008080008080FF0000FF0000008080000000000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080</value>
    <value type="5" name="ИзменениеДоли">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000000000FFFFFF000000FFFFFFFFFFFF919395000000000000000000000000000000919395FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000919395FFFFFF919395000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF919395000000FFFFFF000000919395FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000919395000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF919395000000919395FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD5101CD5101CD5101CD5101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD5101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD5101CD5101CD5101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD5101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD5101CD5101CD5101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD5101FFFFFFFFFFFFFFFFFFCD5101FFFFFFFFFFFFCD5101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD5101CD5101CD5101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="ИзменитьДатуПринятия">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600C0DCC000AABFAA0066FF990000990000F0FBFF00AA9FAA0000800000A4A0A000553F2A00555F5500AA9F7F0080000000FFB59000FFFFD400FF000000FFDFFF00FFDFD4000080800000FFFF0033CC660080808000FFCCCC00555F2A00000080008000800080800000C0C0C0000000FF0000FF0000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F80000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF001D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D0D0B190B0B0B0B190B190B191D1D1D1D08130D0A0D0A0D0A0A0D080B1D1D1D1D0D1307131300001802180D0B1D1D1D1D0D12131313131400000000001D1D1D1D08100F160F0F0F1415011400001D1D1D0D070609161313131415011417001D1D0806090909050F0F0F14151400001D1D06090907090905131313140000001D0609090F0F0F09090F0F130D0000111D1D0901010101010906101208110E0F1D1D02070F0F0F0F0F09060D100D0E111D1D0401010101010101090B0C0D1D0E1D1D02010101010101010A090B1D1D1D1D1D03070107070101010805091D1D1D1D1D0202030202030204021D05061D1D</value>
    <value type="5" name="Импорт">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C5AFA000E9D9CF00E7D5CA00E4CEC200E0C7B900DCBFAF00D8B6A500D4AF9C00D1A89400A9968800FDFBFA00FBF6F300F8F0EB00F4E9E20063493500C4AE9F003C5EF6001F47D700E1C9BB00C3AE9F0025409E00DDC1B200C3AD9E00C0AA9C00BBA69700B6A19300B09D8E00F1E2D900EEDAD000DABAA900FEFDFD00FDFBF900FBF8F500F9F4F100F8F1EC00F6EDE800F5EBE500C2AC9D00BEA89A00B8A49500B39F9100AE9B8C00EAD3C700D6B2A000C1AC9D00E7CDBF00D2AA9700C0AB9C00E4CFC300CFA48F00C0AA9B00C0C0C00000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF0035353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534101010101010101010101010101010310103030432141714171F1F2D3033102E01010C0D0E0F1D0F1D1E1E2C2F301027012728292A2B2B2B0F1D1D1E2C2D101801202122232425242526261D1E1F1018010211191A1B1C1B1C0F0F1D1E1F101501010101010C0D0C0D0E0E13161710110101010101010C010C0D0D12131410020101010101010101010C0C0D0E0F1002030303030405060506070708090A0B353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535</value>
    <value type="5" name="Импорт2">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9CECACBCECACBDCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9BFBCBD9C999A9C999ABFBCBDDCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9BFBCBD9592932F712F2F712F959293BFBCBDDCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9BFBCBD9592932F712FCDFDCDCDFDCD2F712F959293BFBCBDDCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9BFBCBD9592932F712FCDFDCDCDFDCDCDFDCDCDFDCD2F712F959293BFBCBDDCD8D9E3DFE0E3DFE0E3DFE0DCD8D9BFBCBD9592932F712FC1FDC0C1FDC0C1FDC0C1FDC0C1FDC0C1FDC02F712F959293BFBCBDDCD8D9E3DFE0E3DFE0CECACB9C999A2D6E2DBCF9BBBCF9BBBCF9BBBCF9BBBCF9BBBCF9BBBCF9BBBCF9BB2D6F2D9C999ACECACBE3DFE0E3DFE0CECACB2A6A29B6F3B6B6F3B6B6F3B6B6F3B6B6F3B6B6F3B6B6F3B6B6F3B6B6F3B6B6F3B62A6A29CECACBE3DFE0E3DFE0DCD8D9276526276526276526276526AFECAEAFECAEAFEDAEAFEDAE266526276526276526276526DCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C4226022A6E4A5A6E4A5A6E5A5A6E5A5226022C7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C41E5A1E9EDD9D9EDD9D9DDC9C9DDC9C1E5A1EC7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C419551A94D49494D49494D49394D4931A541AC7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C41650178ACB8A8ACB8A8BCB8A8BCB8A165017C7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C4134C1480C28180C28181C28181C281144C14C7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0CECACB114911FFFFFFFFFFFFFFFFFFFFFFFF114911CECACBE3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9114911114911114911114911114911114911DCD8D9E3DFE0E3DFE0E3DFE0E3DFE0</value>
    <value type="5" name="ИмпортИзУФК">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000000000000000FFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF000000000000000000FFFFFF000000FFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFF000000000000000000FFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080</value>
    <value type="5" name="ИмпортИзФайла">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000C5B9B400E0D1CD00E0D1CC00DCCFC900DACDCA00DACEC900D5CAC600D2D0CB00EE300E00FD8F7600FFB5A100FFB39A00FFB59A00FFB79800D1796400D8D2D000E31D0000F85F4300FE9A8300FF9D8200FF9D7E00FF9B7800D06B5400D9D1D1001D1D1D00CD170000E1391D00F27A6300F7846C00F9806700FC7A5F00CF5B4900D9D3D0003030300013131300B7140000C7220800DD5A4200E76C5400EC695000F05F4500C54D3D00D7D1CD002B2B2B009898980006060600AB130000B6170000CB3D2600D8543C00DC543A00DE482C00BB423100D5CFCC0027272700787878002525250009090900A00D0000A80E0000B8241000C5372200C93A2300C92D1200B1352600D4CBCA0024242400959595007A7A7A0055555500920802009C0A0300A7130500B21F0D00B7241000B4150100A6271B00CEC8C40036363600870C0500C9C3C1000B0B0B00C0B3AE00C2B5B200C6C2C000A0ACA500A2AEA700ADB6B100838785006B6B6B00BCC5C000B7BFBB00BFC7C300B2B9B600A7ADAB009DA2A000898E8C0074797700C2C9C600C1C8C500C8CDCB00BABFBD009499970071767400E0E2E100E2E4E300E3E4E300E4E6E500DCDFDE00B7BABA007B7F7D00989C9A00979B9900909492007478770000000000187C7B0000000000DC777A0000000000487C7B0000000000687C7B0000000000A87C7B0000000000EC7C7B00000000002C7D7B0000000000787D7B0000000000DC7D7B00000000001C7E7B0000000000D082780000000000647E7B0000000000B07E7B0000000000E87E7B00000000002C7F7B0000000000707F7B0000000000BC7F7B0000000000B8037B0000000000DC037B000000000014047B000000000054047B0094210000630000000000000052000000323532005472750020436F006F72200033322000E8F229005472750020436F006F72200033322000E8F22900CEF2EE00F0E0E600F2FC2000EAEEED00E820F10033322D00E8F2ED00EC20F400F0ECE000F42100004F000000000000003E00000032353300CDE0E700E0EDE80020E8EA00EDEEEA00CDE0E700E0EDE80020E8EA00EDEEEA00CFEEEA00E7FBE200F2FC2000E0E7E200EDE8FF00E8EAEE00402200004B000000000000003B00000032353400D4EEF000E0F2FB00E8EAEE00EEEA7C00EEF0EC00F2FB2000EAEEED00EA7CCF00EAE0E700E2E0F20020F4EE00ECE0F20020E8EA008822000053000000000000004200000032353500D2EEF700FBE52000EEF0EC00F2FB7C00EEF7ED00E520F400F0ECE000FB7CCF00EAE0E700E2E0F20020F2EE00FCEAEE00F2EEF700FBE52000EEF0EC00D82200001B000000000000000A00000033313000CFE0ED00F022000033000000000000002300000032383200D1F2E000E4E0F000EDE0FF00EFE0ED00027272727272737475020202020202026B6C6C6D6C6E6F70710202020202020265666565656768696A020202020202025D5E5F6061626364020202020202020258595A5B5C02020202020202020002020303030303555657020202020000020252525252525252530202020054000000494A4B4C4D4E4F5002023C48513C3C3C3D3E3F404142434402454647483C3C3C31323334353637380202392F3A3B3C3C262728292A2B2C2D0202022E2F3030301C1D1E1F202122230202020224250202131415161718191A02020202021B02020B0C0D0E0F1011120202020202020202030405060708090A020202020202020202020202020202020202020202020202</value>
    <value type="5" name="ИмпортИзФайла2">424D360400000000000036000000280000001000000010000000010020000000000000000000C40E0000C40E00000000000000000000F0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF747877FF909492FF979B99FF989C9AFF989C9AFF989C9AFF989C9AFF989C9AFFC0C0C0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF7B7F7DFFB7BABAFFDCDFDEFFE4E6E5FFE2E4E3FFE3E4E3FFE2E4E3FFE2E4E3FFE0E2E1FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF717674FF949997FFBABFBDFFC8CDCBFFC2C9C6FFC2C9C6FFC2C9C6FFC1C8C5FFC2C9C6FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF747977FF898E8CFF9DA2A0FFA7ADABFFB2B9B6FFBFC7C3FFB7BFBBFFBCC5C0FFF0F0F0FFF0F0F0FF000000FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF6B6B6BFF838785FFADB6B1FFA2AEA7FFA0ACA5FFF0F0F0FFF0F0F0FF000000FF000000FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFC6C2C0FFC2B5B2FFC0B3AEFFC5B9B4FFC5B9B4FFC5B9B4FFC5B9B4FFC5B9B4FF000000FF000000FF000000FF0B0B0BFF000000FFF0F0F0FFF0F0F0FFF0F0F0FFC9C3C1FF870C05FF870C05FF870C05FF870C05FF870C05FF870C05FF870C05FF090909FF090909FF090909FF363636FF555555FF090909FFF0F0F0FFF0F0F0FFCEC8C4FFA6271BFFB41501FFB72410FFB21F0DFFA71305FF9C0A03FF920802FF090909FF090909FF090909FF555555FF7A7A7AFF959595FF242424FFF0F0F0FFD4CBCAFFB13526FFC92D12FFC93A23FFC53722FFB82410FFA80E00FFA00D00FF090909FF090909FF252525FF787878FF989898FF272727FFF0F0F0FFF0F0F0FFD5CFCCFFBB4231FFDE482CFFDC543AFFD8543CFFCB3D26FFB61700FFAB1300FF060606FF060606FF060606FF989898FF2B2B2BFFF0F0F0FFF0F0F0FFF0F0F0FFD7D1CDFFC54D3DFFF05F45FFEC6950FFE76C54FFDD5A42FFC72208FFB71400FFF0F0F0FFF0F0F0FF131313FF303030FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFD9D3D0FFCF5B49FFFC7A5FFFF98067FFF7846CFFF27A63FFE1391DFFCD1700FFF0F0F0FFF0F0F0FF1D1D1DFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFD9D1D1FFD06B54FFFF9B78FFFF9D7EFFFF9D82FFFE9A83FFF85F43FFE31D00FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFD8D2D0FFD17964FFFFB798FFFFB59AFFFFB39AFFFFB5A1FFFD8F76FFEE300EFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFD2D0CBFFD5CAC6FFDACEC9FFDACDCAFFDCCFC9FFE0D1CCFFE0D1CDFFC5B9B4FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF</value>
    <value type="5" name="ИмпортИзЭксела">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF008000808080008000808080008000808080008000808080FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF808080008000808080008000808080008000808080008000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF008000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF808080008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FF000000FF00FFFF00FFFF00FF008000808080FFFFFF008000808080008000808080008000FF00FFFF00FFFF00FF000000000000FF00FFFF00FFFF00FF808080008000FFFFFF808080008000808080008000808080FF00FFFF00FF000000000000000000000000000000FF00FF008000808080FFFFFF008000808080008000808080008000FF00FF000000000000000000000000000000000000FF00FF808080008000FFFFFFFFFFFF008000808080008000FFFFFF000000000000000000000000000000000000000000FF00FF008000808080FFFFFFFFFFFFFFFFFF008000FFFFFF008000FF00FF000000000000000000000000000000000000FF00FF808080008000FFFFFFFFFFFF008000FFFFFF008000808080FF00FFFF00FF000000000000000000000000000000FF00FF008000808080FFFFFF008000FFFFFF008000808080008000FF00FFFF00FFFF00FF000000000000FF00FFFF00FFFF00FF808080008000FFFFFF808080008000808080008000808080FF00FFFF00FFFF00FFFF00FF000000FF00FFFF00FFFF00FF008000808080FFFFFF008000808080008000808080FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF808080008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF008000808080008000808080008000808080008000808080FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF808080008000808080008000808080008000808080008000</value>
    <value type="5" name="Индекс">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF005F809300B3E7EF00B7EFF80095E2F400A0C3CC004363720057C7FA00B3E6EE0097E4F400A9D3DB0092E6FE0090E5FE0084DEFE007EDAFD0078CFF1001D9CD100A9D5DD008DE3FE0081DDFE007BD9FD003249550079D1F20048BAEC001D86B3008A726000CEFFFF0071D3FB0023A0D600B39C8B00664E3B0096E6FB0083DDFB0072D6F9005EC8F4009F897900AE988A00A48C7C00A48D7D00A38B7B00A08878009E8777009B8373009A827100967F6F0087837A008B7B6E00917A6900A1887800F0D4C200F0BA97006E5543004B79FF006B523E00A087760082A5B5008080800070574400684F3B009C847400D8C5B900C8B2A400BFA89800BDA59500BAA29200B7A08E00654B380081685400846B5800876E5B008168550080675500725845006C523F00644A37006F574400000080000080000000808000800000008000800080800000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C005353535353535353535353535353535325444546474748493A4A4B4C535353533C32323D3E3F4041421E241A4353535337323232383939383333331A3A3B535331010132350707073233331A1A361F5331010101010101010132331E241A341F25262728292A2B2C2D2E2F301E241A1F53021B0C0C20212223181D16191E241F53021B1B0C0C0C0C0E1C08071D161E1F5302060606020202020707171807191A530204040502120C0C13141508021116535302020206060202020207071011075353530209040A020B0C0C0D0E0F0802535353530202020606020202020702085353535353020304050253535353535353535353535302020253535353535353</value>
    <value type="5" name="Инструмент">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000C0C0C000FFFFFF008C89E6008380CB00B7B4E4007F558600BF9CC200000000007393EE001A47D9000033FF000031FC000436FF0093A9FF005665AE0093A3EE000323D2009BA7EA00001ACE007A83BD0029294600E0E0E000DEDEDE00D6D6D600D4D4D400CFCFCF00CDCDCD00CBCBCB00C8C8C800C7C7C700C4C4C400C3C3C300BCBCBC00B9B9B900B7B7B700ABABAB00A8A8A800A7A7A7009C9C9C0099999900595959005757570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014050500000000000000000000000014050606090000000000000000000014100212030900000000000000000014100D0C120409000000000000000014100D0A121109000000000000000014100D0A120F09000000000000000014100D0A120F09000000000000282828100D0A120F0900000000000028282327130B120F09000000000000282826211E240E08090000000000000028231A1D1F1925280000000000000000281628282217202800000000000000002828002728161C280000000000000000280027281815282700000000000000000000281B1B292800000000000000000000232828282700000000000000000000</value>
    <value type="5" name="Информация">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000FFFFFF000000000099FFFF00C0C0C00033FFFF0000FFFF00FFCCFF00CCCCFF0099CCFF0066CCFF0033CCFF0000CCFF00FF99FF00CC99FF009999FF006699FF003399FF000099FF00FF66FF00CC66FF009966FF006666FF003366FF000066FF00FF33FF00CC33FF009933FF006633FF003333FF000033FF00FF00FF00CC00FF009900FF006600FF003300FF000000FF00FFFFCC00CCFFCC0099FFCC0066FFCC0033FFCC0000FFCC00FFCCCC00CCCCCC0099CCCC0066CCCC0033CCCC0000CCCC00FF99CC00CC99CC009999CC006699CC003399CC000099CC00FF66CC00CC66CC009966CC006666CC003366CC000066CC00FF33CC00CC33CC009933CC006633CC003333CC000033CC00FF00CC00CC00CC009900CC006600CC003300CC000000CC00FFFF9900CCFF990099FF990066FF990033FF990000FF9900FFCC9900CCCC990099CC990066CC990033CC990000CC9900FF999900CC99990099999900669999003399990000999900FF669900CC66990099669900666699003366990000669900FF339900CC33990099339900663399003333990000339900FF009900CC00990099009900660099003300990000009900FFFF6600CCFF660099FF660066FF660033FF660000FF6600FFCC6600CCCC660099CC660066CC660033CC660000CC6600FF996600CC99660099996600669966003399660000996600FF666600CC66660099666600666666003366660000666600FF336600CC33660099336600663366003333660000336600FF006600CC00660099006600660066003300660000006600FFFF3300CCFF330099FF330066FF330033FF330000FF3300FFCC3300CCCC330099CC330066CC330033CC330000CC3300FF993300CC99330099993300669933003399330000993300FF663300CC66330099663300666633003366330000663300FF333300CC33330099333300663333003333330000333300FF003300CC00330099003300660033003300330000003300FFFF0000CCFF000099FF000066FF000033FF000000FF0000FFCC0000CCCC000099CC000066CC000033CC000000CC0000FF990000CC99000099990000669900003399000000990000FF660000CC66000099660000666600003366000000660000FF330000CC33000099330000663300003333000000330000FF000000CC0000009900000066000000330000000000EE000000DD000000BB000000AA0000008800000077000000550000004400000022000000110000EE000000DD000000BB000000AA0000008800000077000000550000004400000022000000110000EE000000DD000000BB000000AA000000880000007700000055000000440000002200000011000000EEEEEE00DDDDDD00BBBBBB00AAAAAA0088888800777777005555550044444400222222001111110000000000030303030303030303030303030303030303030303030303E5E6E6A1E5E5E50303FBFBFBFBFBFBFBCA767675F75176CB03F92A545454545454E69A562B5075E580808024F524F5242A2A3434353AE50303F900F5CECECECE4E3A3410105E030380808024F5CECEF5243A1009093A030303F900F54EC7C84E4E343434105E0303808080F500C7C700243A2C02023A030303F900F5C7C7A34E4E2A3A3A5E030303808080000000F5F5002AFB030303030303F900004EC7C14E4E2AFB030303030380808000009C9C00F52AFB030303030303F900000000000000F5FB030303030303F9F9F9F9F9F9F9F9F9FB030303030303030303030303030303030303030303</value>
    <value type="5" name="ИсполнитьЗаявку">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000C0C0C00000008000008000000080800080000000800080008080000080808000C0DCC000F0CAA600AA3F2A00FF3F2A00005F2A00555F2A00AA5F2A00FF5F2A00007F2A00557F2A00AA7F2A00FF7F2A00009F2A00559F2A00AA9F2A00FF9F2A0000BF2A0055BF2A00AABF2A00FFBF2A0000DF2A0055DF2A00AADF2A00FFDF2A0000FF2A0055FF2A00AAFF2A00FFFF2A000000550055005500AA005500FF005500001F5500551F5500AA1F5500FF1F5500003F5500553F5500AA3F5500FF3F5500005F5500555F5500AA5F5500FF5F5500007F5500557F5500AA7F5500FF7F5500009F5500559F5500AA9F5500FF9F550000BF550055BF5500AABF5500FFBF550000DF550055DF5500AADF5500FFDF550000FF550055FF5500AAFF5500FFFF550000007F0055007F00AA007F00FF007F00001F7F00551F7F00AA1F7F00FF1F7F00003F7F00553F7F00AA3F7F00FF3F7F00005F7F00555F7F00AA5F7F00FF5F7F00007F7F00557F7F00AA7F7F00FF7F7F00009F7F00559F7F00AA9F7F00FF9F7F0000BF7F0055BF7F00AABF7F00FFBF7F0000DF7F0055DF7F00AADF7F00FFDF7F0000FF7F0055FF7F00AAFF7F00FFFF7F000000AA005500AA00AA00AA00FF00AA00001FAA00551FAA00AA1FAA00FF1FAA00003FAA00553FAA00AA3FAA00FF3FAA00005FAA00555FAA00AA5FAA00FF5FAA00007FAA00557FAA00AA7FAA00FF7FAA00009FAA00559FAA00AA9FAA00FF9FAA0000BFAA0055BFAA00AABFAA00FFBFAA0000DFAA0055DFAA00AADFAA00FFDFAA0000FFAA0055FFAA00AAFFAA00FFFFAA000000D4005500D400AA00D400FF00D400001FD400551FD400AA1FD400FF1FD400003FD400553FD400AA3FD400FF3FD400005FD400555FD400AA5FD400FF5FD400007FD400557FD400AA7FD400FF7FD400009FD400559FD400AA9FD400FF9FD40000BFD40055BFD400AABFD400FFBFD40000DFD40055DFD400AADFD400FFDFD40000FFD40055FFD400AAFFD400FFFFD4005500FF00AA00FF00001FFF00551FFF00AA1FFF00FF1FFF00003FFF00553FFF00AA3FFF00FF3FFF00005FFF00555FFF00AA5FFF00FF5FFF00007FFF00557FFF00AA7FFF00FF7FFF00009FFF00559FFF00AA9FFF00FF9FFF0000BFFF0055BFFF00AABFFF00FFBFFF0000DFFF0055DFFF00AADFFF00FFDFFF0055FFFF00AAFFFF00FFCCCC00FFCCFF00FFFF3300FFFF6600FFFF9900FFFFCC00007F0000557F0000AA7F0000FF7F0000009F0000559F0000AA9F0000FF9F000000BF000055BF0000AABF0000FFBF000000DF000055DF0000AADF0000FFDF000055FF0000AAFF000000002A0055002A00AA002A00FF002A00001F2A00551F2A00AA1F2A00FF1F2A00003F2A00553F2A00F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF00000000000000FFFF0000FFFFFF000000000000000000000000000000000000005EF50DF5F5F5F50DF50DF50D0000000082AF5EF75EF75EF7F75E82F5000000005EAFF6AFAFAFD4D409D45EF5000000005ED1AFAFAFAFAFD408D4F7F50000000082B30E0F0E0E0E0A0AD45E0D000000005EF6F6B3D1AFAFAFAFAF82F50000000082FF0F0E0E0E0E0EF5AF5EF5000000005EFFFFF6FFAFD1AFAFAFF7F50000000086FF0E0F0E0E0E0A0AAF5E0D0000000082FFFFFFFFFFB3D1B3D182F50000000009F60F0E0E0E0AFFFF5E5EF50000000086FFFFFFFFFFFFFF5EF531F50000000009FFFFFFFFFFFFFFF709F5000000000008F6FFF6F6FFFFFF82F50000000000000909080909080986090000000000</value>
    <value type="5" name="Календарь">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000FFFEFE00E1E0E000FEF9F800FFFCFB00FEF7F400DC723B00E0753F00CE6B3A00E1794500E27D4B00D5774A00E3835300E4895C00DA845A00E48E6300DE8C6500F59E7100E5936A00F6A57B00E6997400F8AC8500E7A07D00E8A48200E9A78700EAAA8B00FDE7DB00FEE9DE00FFEBE000FAE6DB00FDF4EF00F9E1D200FBEAE000FDF8F500B68D7100C59D8100D5AF9600C9A78F00D8B7A100BBA59600D4BDAE00FAE0CF00FAE9DD00FDECE100FBF1EA00FBF2EC00FDFAF80063493500B28B6F00BF967900C29A7D00BE987B00CFA58700CDA38500D2A98C00C0AB9C00C8B3A400E0D8D200664D3800D0C2B500E8E7E600616155008B8B8800A3A3A100E3E3E2001F251E0000000000D0D5D1006E726F000940EB002759F4004F78F6007193FB00022BB8000535D300FFFFFF00FDFDFD00ECECEC0063636300C0C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E262E2E2E392E2E2E2E2E2E2E2E2E2E2E2625222F25242125222F25222F35322E360000312D20312C2B30291F3128272E360000330302341D2B341F29341E272E3623312F34302F34304449494834302E370000300000302D0445041D491C3A2E37000034000034032D460304491F3A2E3723312F34302F34304746454434312E370000300000300000302D04302C383937000034000034000034032D341D2C2E18181716151313110E0C0B0908060507182A1B1B1A1A19141412121212121007181716151313110F0D0D0A0A0A0707073E4A3D4A3D4A3D4A3D4A434A4D4B3C424A4001403F403B40424042404C40013E</value>
    <value type="5" name="Карточка">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000E1DDDE00FFFEFE00FCFBFB00B6B5B500FFFBFA00F8E9E200F69D7000BE968200FFF5F000FCF2ED00FFF9F600A9A7A600F8A57800ECDBD200F7AE8200E2AF9000DDB49A00EBCCB900F2D5C300F7DCCB00F8DFCF00EDD7C900FCF4EF00FBF3EE00CEC9C600FFFAF700FDF8F500F6B38800F2C4A600DBBBA600F5D9C700C2AEA000F9E2D300F8E3D500F9E8DC00FFFCFA00B7A29300B5A09100BBA69700BAA59600BCA89900BFAB9C00C4B0A100CAB7A900D1BEB000F9E8DB00FDF9F600C7B4A500CDBBAD00D2C1B300FAEFE600FBF1E9007058420079624D0060483000624A3200674F38007D7A7700999893006969680064646300FFFFFE0000000000014AA400054394001466D5004284DE000859C9000A51B5001957AC00296ED20064A0F700818B9B001B56C3002B4F9400AFB9D200EDEDF00049494A00E0E0E200D7D7D80097979800FFFFFF00F9F9F900E4E4E400DCDCDC00C5C5C500838383007B7B7B0075757500676767002A2A2A00C0C0C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B25353438373636363636363636363636240D0D11111D1D1D1D1D1D10100F0F3627094B4345404A0B2013121212121036284C4947423F41402D1D070707071036294C464745464445322014131E121D362A19544A3A484A4F1715070707071D362F233C5A035759522E33320522212C362B524D4D53553954081C1B0E0C06313630013B5850503900230A191A161618382C514E5856585552510101231A1A1834315151515151515151513D010402233531312C30302B2F2A1F292627242525255B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B</value>
    <value type="5" name="Ключ">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000380BF002996CA007DCEED008DD5EC0080CCE5006DC4E5002594C9002792C3009DE1F9004292B9000C648F0009628D002885B00077D1F200228FC2000270A8008CD7F2004699C100016191002A90BE006BC9EF00026A9E00A1E5FE001273A200016596000B70A1006ED3FA000163940099DFF7009BDFF90099DDF70089D1EA007BC9E2007BCEEB007DD6F40069CDF40054A4C50096DAF60088CCEE0067B2D3004CA2C5004DAFD70062C6ED003B99C200005884003E8EB1007CC3E00071BCDA005BAECE0058AFD2002D86AD000055800083CCE50061B3D20066B8D60000547F0076C2DC00004B7600003E68007DCAE400003E690000335D0085CDE600002D570000192E00C0C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000434343434343434142434343434343434343434343433F403F434343434343434343434343433C363D3E4343434343434343434343433B363B4343434343434343434343434339363A39434343434343434343434343353635434343434343434343434343433536383543434343434343434343434335363735434343434343434343432E2F30313233342E4343434343434343262728292A2B2C2D434343434343431D1E1F2021222324251D4343434343431718191A1A1A1A1B1C174343434343431112131443431415161143434343434343090A0B0C0D0E0F10434343434343434343030405060708434343434343434343434302020202434343434343</value>
    <value type="5" name="Контроль">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF0084848400D8E9EC00C6C6C60007070707070707070707070707070707070707070707070707070707070707070707FD000000000000000000000007070707FD010101010101010101010007070707FD010101010101010101010007070707FD0101010101FF000001010007070707FD01010101FD00000001010007070707FD010101FD0000000000010007070707FD01010100000001000001FD07070707FD010101000001010100000707070707FD010101010101010100000707070707FD010101010101010101000007070707FD01010101010101FDFDFF0000070707FD01010101010101FD01FD0700000707FD01010101010101FDFD070707070707FDFDFDFDFDFDFDFDFD0707070707</value>
    <value type="5" name="КонтрольРеестр">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF00C6C6C600D8E9EC00848484000707070707070707070707070707070707FDFFFFFFFFFFFFFFFFFFFFFFFFFF0707FDFDFDFDFDFDFDFDFDFDFDFDFDFF0707FD0101010101010101010101FDFF0707FD010001FFFFFFFFFFFFFF01FDFF0707FD0000000101010101010101FDFF0707FD00010000FFFFFFFFFFFF01FDFF0707FD0101010000010101010101FDFF0707FD010001FFFFFFFFFFFFFF01FDFF0707FD0000000101010101010101FDFF0707FD00010000FFFFFFFFFFFF01FDFF0707FD0101010000010101010101FDFF0707FD010101FFFFFFFFFF01FFFFFFFF0707FD010101010101010101FD01FF070707FD010101010101010101FDFF07070707FDFDFDFDFDFDFDFDFDFDFD07070707</value>
    <value type="5" name="КопироватьПлатежку">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00E0C0A000E0E0C000FCE7D800C0A0A000A0806000F0C8A800FFE8D000C0A08000F8D8C000F8D0B000F8D8C800F8C0A800E8B89800E8B09000E8B08800C0602000FFC0A000E0A88000E0A06000E8C0A000FFA06000A0603800A0402000F8D0B800E0E0E000E0A08000E08040006040200080402000C0806000F8C8B000070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707FBF6F6F7F7FDFDFDFD07070707070707FE01E1E1E1E4E4E8FD07070707070707FE01F3FBFBFBFBE4FD07E8FCFCFCFCFCF3010101EBF8ECE4FD07E801EBF9E2E2FA01EFF3F3FBFBE1F707E801F2F3F3F3EE01010101E3F8E1F707E8010101E3EBE101F1F1EBF3F6F6F707E401F1EEF2F3F401010101F5E6F6F407E401010101E3E601010101EFF0E60707E101E9EAEBE8E6ECECEDEEEEEA070707E101010101E8E2E5E107070707070707E101010101E4E5E60707070707070707E1E1E1E1E1E1E2070707070707070707</value>
    <value type="5" name="Корзина">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FFFFFFFFFFFFB5B5B5D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6B5B5B59C9C9CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE9C9CD6D6D6FFCECEF7FFFFF7FFFFFFEFCEF7FFFFC6D6EFFFCECEA5A5A5848484FFFFFFFFFFFFFFFFFFFFFFFF949494B5B5B5FFCECEF7F7F7CEFFFFFFCE9CFF9C31C6D6EFFF9C31CE3100CE3100B5B5B5848484FFFFFFFFFFFFFFFFFF949494CE9C9CD6D6D6FFCECEF7FFFFFFCE9CFFCE63FF9C31CE3100FF31319C9CCECE3100B5B5B5848484FFFFFFFFFFFF949494B5B5B5FFCECEF7F7F7CEFFFFFFCE9CFFFF00FFCE31FF6331C6D6EFF7FFFFCE9C9CCE3100848484633131FFFFFF949494CE9C9CD6D6D6FFCECEF7FFFFFFCE9CFFCE31FF9C31FF9C31FF6331F7FFFFC6D6EFCE9C9C848484633131FFFFFF949494B5B5B5FFCECEF7F7F7CEFFFFFFCE9CFF9C31FFEFCEF7FFFFF7FFFFCE0000CE0000CE0000848484633131FFFFFF949494CE9C9CD6D6D6FFCECEF7FFFFF7FFFFC6D6EFFFCE31C6D6EFCEFFFFC6D6EFFF0000CE0000848484633131FFFFFF949494B5B5B5FFCECEF7F7F7CEFFFFF7FFFFFFFFFFFFCE31FF9C31FF6363FF3131CE0000CE0000848484633131FFFFFF949494CE9C9CCECECEFFCECEE7E7E7E7E7E7E7E7E7DEDEDEFF9C31FF3131FF0000FFCE63CE0000848484633131FFFFFF949494A5A5A5C6D6EFCEFFFFCEFFFFCEFFFFCEFFFFCEFFFFC6D6EFC6C6C6C6C6C6CECECEB5B5B5848484633131FFFFFF949494CEFFFF7373733131316331319C63637373739C63639C9C9CD6D6D6CECECEFFCECEB5B5B5848484633131FFFFFF949494CEFFFF21212131000042424263636384848494949494ADADCE9C9C9C9C9CB5B5B5CECECE848484633131FFFFFFFFFFFF949494CEFFFF5252523131312929295A5A5A737373CE9C9CB5B5B5B5B5B5CE9C9CA5A5A5848484633131FFFFFFFFFFFFFFFFFF9494949C9C9CB5B5B59C9C9C9C9C9C9C9C9C8484849C9C9CB5B5B5B5B5B59C63639C6363FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C63639C63639C63639C63639C63639C63639C63639C6363FFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="КурсоваяРазница">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000C0C0C000D8E9EC00D3E4E700C5D5DA00C8D9DC00D4E5E800B2C6D100769FD6005191F000498EF600458AF4004E8CE6007DA0CA00C2D1D70087A8D1004D90F5004A8EF600478CF6004B8FF600448AF6003C85F5003883F5003B83EC009FB4C500D7E8EB0086A7D000488DF6006EA5F800D3E3FC00B0CDFA00327FF5002E7DF5002C7AF100A3B6C500B1C5D100478CF500458BF6004189F60075A9F800FCFDFD00EBF2FC00EEF3FB00E8EFFA003983F5002879F4002577F400347AE300C9D9DC00719BD5004289F6003F87F6003B85F500D6E5FA009FC2F80079ABF6008FB8F6003D86F4002275F3002174F2002172F0008EA6BF004589EF003C86F5003581F50094BCF800F5F7F900D1E0F70068A0F5002376F3002174F3002173F1002271EE002370EC005984C300D6E7EA00C4D4D9003984F5003682F5003280F5002F7DF500BED4F600F6F6F600F3F3F400ADC8F2002A77EF002270ED00236FEA00246EE8004377CA00D3E3E600C7D8DB00327FF300307EF5002C7CF4009BBDF200AEC8F000EEEEEF007AA5EC00246EE900246DE700256BE4004676C6003D82E600297AF4002678F4002276F30091B8F30095B9F10092B6EF005991EC00D0DAEB008AADE800256CE500256AE3002669E1006384B800759AC90084AEEF00EFEEEE00D4DDEC00B9CBE900E7E7E8004E85E4002668DF002766DD009AABBA00C1D0D6002976E9002272EF002570EB0081A8E900D2DAE800B8C8E6005A8BE2002767DD002865DB004972BF00CDDDE0009DB2C400246FE800236EE900256BE500769EE3004D82E0002767DE002766DC002864D9003668C900B3C2C700A2B5C4003572D7002768DE002865DA002863D8004971BD00C8D9DB008FA4BC005C80BD004573C3004871BF006481B5009AAAB90000000000E0A04300F43A82001E000000000000000F00000011000000DA00000000000000010101000000000001030000000000001C3D82000000000005000000443D82000000F4000000000000000000F5FFFF000000000000000000000000000000000010000100000000000000000000000000000000000000000000000000ECC0440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F00010000000100000000000000683D82000000000001000000A47740000000000000000000000000000000000000000000030000000000000051088F0001000000000000000000000000000000FFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000001010101010101010101010101010101010101019C9D9E9FA0A1A20101010101010101969772739892999A9B9501010101018B8C8D648E8F9091929394950101017F80815682838485867C8788898A010175454647767778797A7B737C7D7E01016768696A6B6C6D6E6F7071727374015B5C5D5E2D2E3A5F60616263646566014C4D4E4F504E51525354555657585901013E3F16404142434445464748494A0101313233341E35363738393A3B3C3D0101232425262728292A2B2C2D2E2F300101011A131B141C1D1E101F20212201010101060F101112131415161718010101010101010708090A0B0C0D0E0101010101010101010103040501010101010101</value>
    <value type="5" name="Мастер">424DF600000000000000760000002800000010000000100000000100040000000000800000000000000000000000100000000000000000000000000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0077777780077777777777780090777777800770090777777700B0780087777700800B07777777700078007777777700077777800777700077778800E07700077777800E0770007777777800770007777877777770007877817777770B07818778777770B077787777777778077877777777777777818778777777777778778187</value>
    <value type="5" name="Молния">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF0001B3CC004ECFDE00B1F8FF00A8F5FE00A7F5FE00B5F9FF0093E7EE0003A3BA0001AFC8009BEEF50080EAFA007EE9FA008EEEFC008FE5ED002FC0D30098EFF90072E3F40083E9F60088E2EA0003A2B90001A9C20076DDE80071E1F0007AE4F20081DBE5000297AE0014AFC5008FEBF50066DDEE0083E7F30001A6BE0001A3BB0054CCDB008AEAF4007FE5F2007EE5F2007FE5F3007EE3EF0014ADC300039EB5000296AC00028EA500018AA1005BCFDD0045C5D6005BCEDC0015A9BE0019ACC0004AD1E0004CD1E00019ABC000019CB3000198AF0026BCCF003DD8E8001AB0C4000093AA0028D1E20018B7CB000496AC0017BDD000008DA4000595AA00018AA0000081970000839A00C0C0C0000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF0044444444424444444444444444444444444444444243444444444444444444444444444444404144444444444444444444444444443D3E3F444444444444444444444444443A3B3C3A444444444444444444444444363738393644444444444444444444444431323334354444444444444444292A2B2C2D2E2F30444444444444444421222324252526272844444444444444441C1D1E1F202020202044444444444444161718191A1B4444444444444444444444101112131415444444444444444444440A0B0C0D0E0F0944444444444444444444030405060708094444444444444444440202020202020202444444444444444444444444444444444444</value>
    <value type="5" name="Молоток">424D360500000000000036040000280000001000000010000000010008000000000000010000130B0000130B00000001000000010000D6731800DE733100DE843100734A39005A5252007B63520063636300F7BD7B00527B840084848400C6C6C600FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000B0B0B0B0B0507020100030B0B0B0B0B0B0B0B0B0B0507020100030B0B0B0B0B0B0B0B0B0B0507020100030B0B0B0B0B0B0B0B0B0B0905050505090B0B0B0B0B0B0B0B0B0B0B090C0A040B0B0B0B0B0B0B0B0B0B0B0B090C0A040B0B0B0B0B0B0B0B0B0B0B0B090C0A040B0B0B0B0B0B0B0B0B0B0B0B090C0A040B0B0B0B0B0B0B0B0B0B0B0B090C0A040B0B0B0B0B0B0B0B0B0B0B0B040404040B0B0B0B0B040B04040B0B0409090909040B0B0B04040809090404090A0A0A09040404040A04060C0A0A0A0A0A0A0A0A0909090A040B080C0A0A0C0A0A0A0A0A0A0A0A090B0B060C0C09090C0C0C0C0C0C09090B0B0B0B09090B0B0909090909090B0B0B0B0B</value>
    <value type="5" name="Мультивыбор">424DF600000000000000760000002800000010000000100000000100040000000000800000000000000000000000100000000000000000000000000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF007777777777777777777700000000000777770777777777077700000000000707770777777777070700000000000707070777777777070707077707777707070707700077770707070700000777070707070070007707070707077700070700070777777007070777077777770700077707777777770777770000000000077777</value>
    <value type="5" name="Назад">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C0003085330048994F0047994F002D8633000B630D00488E4A00A5D2AD00C3EDD300C5F5DA00B8F0D0009FE2B70077CB8B00369641000348030065A26700E0F6EA00D6F9E600B7ECCB008AD79A00189B23007FD5970094E1AF0081D99B0040A64E00024303004B914D00CCF3DD00B8EBCD0088D79B0048B84F00BFE4BD0062C77B0079D092006CCD82002C913400002600000B660A00A8D2B000DAFAEB00B0E8C70099DFB200C9E9C900CEEBCD0055BE6B0066C67A004DB65B000A600D0030833300C4ECD300AEE7C10087D69A007DD39000F4FBF400BBE4BA004CB75D0050B95F001D882200001E000049994F00C4F5DB0072CA7B008AD08900A9DEAA00A5DCA600A2DBA300ABDDAC00F5FBF500A2DAA20042B1500025982C0000270000489B5000B5F0CD0069C56F00D0ECCD00FAFDF900F9FCF700FAFDF800FEFFFE00FEFEFE00D8F0D70055B9590020982600002800002D853400A1E3B8006ECB81004DB5580056B9600055B85F004FB459004CB65000E0F2DF00F0F9EF0033A73B0015841700001F00000B610D0078CA8D0093E1B0006DC986005FC176005BBE720036AE47006AC36C00F2FBF00071C5740033A53C002AA2300009610A00000C000034943E0084DA9E0078D091006EC983005BBF6F004FB95600EAF7E80091D3930030A1380030A7370018891C00002B00000349040043A850006FD0870063C5770053BA630049B3510066C068002EA2380030A738001F982400044704000003000002440200309539004FB85F0050B85F0044B252002CA6390030A539002BA3310018891D0003470400000700000C610E001E882400269A2D002298270016851900095F0900002A000000020000000D0000C82ED0007C34D0009BAC9C0047704900738A7100586A5700425E3E00ABCCA800E0FE2500B05ACF00A4D4D30030DBD300D4DED30090EF1E0024C11E00DC5320001CE91E007445CE00C0CC200094D420003CDD200058E42000343B2100C0121F008C642100FCD71E0030B121002CC5210000CD2100A8D52100C4DC2100CC34220060B51F0010AC22000440D50004532200A8201A0050E5D300282FD400505822004007CD00C42D2B006C472B002CA1D200D85BD5006055D400845AD40020C22600C4C52600F83E2B00DC24FE005C052B000008FE0044761F00D4982F00909E2F0018732200C476220090E42F0014F02F00841A30004801300074963000A0AD300014B0300064B33000C4B63000E02F3100C40D3100F064FE005C4AFE0038C3FE009CDAFE0070E2FE0018EBFE00FCEFFE003453FF00F861FF009487FF00A05CFF000CF4FF00540B00006C130000141C000030230000C075FF00B8A40200DC890000089F0200847FFF00647A010050790000EC7E000048EF010054B20200E0C1CA000CDECA008CE20100020202020202020202020202020202020202020202A5A2A2A3A3A20202020202020202A5A2A19A9998979695A20202020202A5A2939291908F8E8D8C8BA1020202A5A2888786851684838281807F7E0202A5A37C7B7A167978777675747372A502A2706F6E166D6C6B6A6968676665A202A262611654605F5E5D5C5B5A59585702A255165453015251504F4E4D4C4B4A02A248471646014544434241403F3E3D02A23B3A391638372020203635343332020231302F2E162D2C202B2A1E2928A20202A1252423221621201F1E1D121CA5020202A11A191817161514131211A50202020202A10F0E0D0C0B0A0908A50202020202020202A206050403A2A5020202</value>
    <value type="5" name="НовыйПроцент">424D3603000000000000360000002800000010000000100000000100180000000000000300000000000000000000000000000000000000808000808000808000808000808000808000808000808000FFFF00808000808000808000808000808000808000FFFF00808000FFFF00FFFF00808000808000808000808000FFFF00FFFF00808000808000808000808000FFFF00FFFF00808000808000808000FFFF00808000808000808000808000808000808000808000808000808000808000FFFF00808000808000808000808000808000808000008000808000808000808000808000808000008000008000808000808000808000808000808000808000808000808000808000008000808000808000808000008000808000808000008000808000808000808000808000808000808000808000808000808000008000808000808000008000808000808000008000808000808000808000808000808000808000808000808000808000008000808000808000008000808000808000008000808000808000808000FFFF00FFFF00FFFF00808000808000808000808000008000808000808000008000008000808000FFFF00FFFF00808000808000FFFF00FFFF00808000008000008000808000808000008000808000808000808000808000FFFF00FFFF00FFFF00808000808000808000008000808000808000008000808000808000008000808000808000808000808000808000808000808000808000808000008000808000808000008000808000808000008000808000808000808000808000808000808000808000808000808000008000808000808000008000808000808000808000008000808000808000808000808000808000808000808000808000808000008000008000808000808000808000808000808000008000808000808000808000808000808000808000FFFF00808000808000808000808000808000808000808000808000808000808000FFFF00808000808000808000FFFF00FFFF00808000808000808000808000FFFF00FFFF00808000808000808000808000FFFF00FFFF00808000FFFF00808000808000808000808000808000808000FFFF00808000808000808000808000808000808000808000FFFF</value>
    <value type="5" name="Ноль">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0800000C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0800000C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0800000C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0800000C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0800000C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0800000C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000C0C0C0C0C0C0800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="Норматив">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00000080000000FF008000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00000080000000FF008000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00000080000000FF008000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFF000000000000000000FFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF0080000000FF008000FFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="Нумерация">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080000000000000000000008080008080008080848284000000000000000000000000008080008080008080008080000000848284C6C3C6000000848284000000000000C6C3C6C6C3C6C6C3C6C6C3C6848284000000000000000000000000848284FFFFFFC6C3C6000000848284C6C3C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C3C6C6C3C6C6C3C6C6C3C6FFFFFFFFFFFFC6C3C6000000848284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C3C6000000848284FFFFFF000000000000000000000000FFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFFC6C3C6000000848284FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C3C6000000848284FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFC6C3C6000000848284FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFC6C3C6000000848284FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000000000000000000000000000FFFFFFC6C3C6000000848284FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFC6C3C6000000848284FFFFFF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFC6C3C6000000848284FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848284000000000000000000848284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848284FFFFFF848284008080848284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848284848284008080008080848284848284848284848284848284848284848284848284848284848284848284848284848284008080008080008080</value>
    <value type="5" name="Обновить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00E7D1A600E0CBAB00E6E6E600F1E2DB00CCA97F006D5B4300F0E2DD00E6CEAA00DCBA8E0080664E00FFF0F100E0B8BA00DBB7B200DEB6A9005C4E3C00ECFFEF007CD280005BC46100C3F0C900DDFBE100A3E5A600FFFFFD00FEE7D9005E4E3D00B6EABC001DAF260001A107000095000005A0090005A40C0051C25400FFFFFC00FCE2D3005D4D3C00C8F3CD0059CA6600C9F0C9007CD37F00008F0000008A000051C15200FFFFF100FBE0CC00CCF4CF00F2FFF200D8F3D3003EBA42001AA91C0007A30C0061C55F00FFF8E200F8DCC500F8FFF500F3FDEF00F7FCEC00F4FAE500F4F6E000FDF6E200F8F3D900FAF0D400F8EFCC00F1D7BA005D4E3E006BCC700011A213001CA91B0032B53500C8E7B700FFF7E800F2EDCC00BCDEA200F4E8BF00F1D3B40057C35900008B00006DC86600FFF5E000D5E2B2005BC35800ACD38B00FEE6BE00F0D2B00057C25800009A0000009C0000009B010020A81C001EAB1E0096CB7900FDE2BE00F3E0B300EDCFAE005E4E3E00FFFDED00A1DD9600CDE6B000BFE1A30054BE480067C15300D5DDA200FFE6BF00F1DFB000F2E0AE00EFCFAC005E4E3F00F8E7D500FDE3CB00FCDFC400FCDDC000FFDEC300FFDDC000F6D7B600EFD4AF00F0D4AE00F0D4AD00F3CDAF00655443008A765B007D6855007A64520079645200796552007A65530085705B00352E1F00C0C0C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007F7F7F0D0D0D0D0D0D0D0D0D0D0D0D2C7F7F7778797A7B7C7C7C7C7C7C7D7E0D7F7F026B6C6D6E6F707172737475760D7F7F025F606162636465666768696A0D7F7F02045455565758595A5B5C5D5E0D7F7F02044B4C284D4E4F50515253400D7F7F02044142434445464748494A400D7F7F0204363738393A3B3C3D3E3F400D7F7F02042D2E012F303132333435230D7F7F0204242526012728292A2B2C230D7F7F0204011A1B1C1D1E1F202122230D7F7F020401011112131415161718190D7F7F02040101010101010C0D0E0F107F7F7F020401010101010108090A0B7F7F7F7F02040404040404040506077F7F7F7F7F0202020202020202037F7F7F7F7F</value>
    <value type="5" name="Остаток">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000C0C0C00000FF0000FF0000FF0000FFC0C0C00000FF0000FF0000FFC0C0C0C0C0C0C0C0C00000FFC0C0C0C0C0C0C0C0C0C0C0C00000FFC0C0C0C0C0C00000FFC0C0C00000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FFC0C0C0C0C0C0C0C0C0C0C0C00000FFC0C0C0C0C0C00000FFC0C0C00000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FFC0C0C0C0C0C0C0C0C0C0C0C00000FFC0C0C0C0C0C00000FFC0C0C00000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FFC0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FFC0C0C00000FF0000FF0000FFC0C0C00000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000800000800000800000800000800000800000800000800000800000800000800000800000800000800000800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FF0000C0C0C0C0C0C0FF0000C0C0C0C0C0C0800000C0C0C0FF0000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FF0000C0C0C0FF0000C0C0C0C0C0C0FF0000C0C0C0C0C0C0800000C0C0C0C0C0C0FF0000FF0000FF0000FF0000FF0000C0C0C0C0C0C0FF0000C0C0C0FF0000C0C0C0C0C0C0C0C0C0800000C0C0C0C0C0C0C0C0C0FF0000C0C0C0FF0000C0C0C0C0C0C0C0C0C0FF0000FF0000C0C0C0C0C0C0C0C0C0C0C0C0800000C0C0C0C0C0C0C0C0C0FF0000C0C0C0FF0000C0C0C0C0C0C0C0C0C0FF0000FF0000C0C0C0C0C0C0C0C0C0C0C0C0800000C0C0C0C0C0C0C0C0C0FF0000C0C0C0FF0000C0C0C0C0C0C0C0C0C0FF0000C0C0C0FF0000C0C0C0C0C0C0C0C0C0800000C0C0C0C0C0C0C0C0C0FF0000C0C0C0FF0000C0C0C0C0C0C0C0C0C0FF0000C0C0C0C0C0C0FF0000C0C0C0C0C0C0800000C0C0C0C0C0C0C0C0C0FF0000FF0000FF0000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0800000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="Отклонение">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0666699333399003366000066000066333366868686FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9999CC3333990033990033CC0033CC0033CC0033CC0033CC000080000033666699FFFFFFFFFFFFFFFFFFFFFFFF6699CC3333CC0033CC0033CC0000CC0033CC0033CC0033CC0000CC0033CC0033CC0000665F5F5FFFFFFFFFFFFF99CCCC3366990033CC0033FFCCCCFFD6E7E76666FF0033FF6666CCD6E7E7C6D6EF0033CC0033CC333366A4A0A0FFFFFF6699CC0033CC0033FF0033FF9999FFF1F1F1F0FBFFF1F1F1F0FBFFEAEAEA6699FF0033CC0033CC003399333366FFFFFF3366996666FF6699FF3366FF0033FF6699FFF1F1F1F8F8F8D6E7E7807CFF0033FF0033CC0033CC0033CC292929FFFFFF3333996666FF6699FF6699FF3366FF6699FFD6E7E7F8F8F8D6E7E7807CFF0033FF0033CC0033CC0033CC333366FFFFFF6699CC3366FF6699FF6699FF99CCFFF1F1F1F1F1F1F1F1F1F1F1F1F0FBFF9999FF0033FF0033CC003399666699FFFFFFCBCBCB3366CC6699FF6699FFD6E7E7F8F8F89999FF3366FF9999FFEAEAEACCCCFF0033FF0033CC333399C0C0C0FFFFFFFFFFFF9999CC3366CC6699FF9999FF9999FF6699FF6699FF3366FF0033FF0033FF0033CC3333996699CCFFFFFFFFFFFFFFFFFFFFFFFF9999CC6666CC6666CC6699FF6699FF6699FF3366FF3366FF0033CC3366CC9999CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6D6EF9999CC6666CC3366CC3333CC3366CC6666CC9999CCC6D6EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="ОтклонитьДокумент">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000AA9FAA00AA9F7F00F0CAA600AABFAA00FDFBF800AB7F7700A4A0A000FFB59000FDF7F100553F2A00B68A6B00FBF0E600FBEDDE00DFC2B300D3BDAA00A07D73006699FF003366FF00CCCCFF00C6D6EF009999CC00E8CCB1005050FF0099CCFF003333CC00FFDFD4006666FF003333FF006666CC00F9CC9E00807CFF000033CC000000CC00F5CA9D00FFDFFF00FFCCCC00C0DCC000FCE5CD0020EFE000E8F2F00020E8E700F4E0E900E00D0A0032393D00EEF5F000EDE8F2002E2E2E00D1EEF500E0EDE800FC20EF00EBE8F200F37CD100F5F0E000E8F2FC00EFE0EB00F2F0F300E220F400E9EB0D003234300026C2E8000D0A3200363DD300E5EBE800E8F2FC00D3E2E500E8F7E800FC7CD300E5EBE800E8F2FC00E8E7EE00F0E0E600EDE8E5000A3235003DD3EC00EDFCF800F2FC7C00ECE5ED00F8E8F2007CD3EC00EDFCF800F2FC2000E7EEE100E0E6E500E8E50D0032353800CCE0F100F2E0E1000A3235003D313000250D0A0037303D00E2F2EE00E0F1F800E0E1E800EEE2E000E8E57C00E2F2EE00E0F1F800E0E1E800EEE2E000E8E57C00E0F1F200E3E8E200F2FC2000E1EBE000F2FC2000E5E4E000F2EEF00020E0E200EEECE000E8F7E500EAE80D0032383100D1E5F200E07CCF00EAE0E700F2FC2F00EFF0FF00E0F2FC00F1E5F200F30D0A0034333D00EAEEED00E80D0A0034343D0031367800367C310078313600CEF2EE00F0E0E600F2FC2000EAEEED00E820F100F0E0E700E5F0E000E8203100783136000A3234003D2633007833320033327800327CCE00EEE1F000E6E0F20020E8EA00EDEAE800F120F000E7ECE500E0ECE80033327800320D0A0034363D0034387800387C340078343800CEF2EE00F0E0E600F2FC2000EAEEED00E820F100F0E0E700E5F0E000E8203400783438000A3234003DC2FB00F0E0ED00FBE92000E0E7EC00F07CCE00EEE1F000E6E0F20020E8EA00EDEAE800F120E200E1F0E000EDFBEC0020F0E000ECE5F000ECE80D003234380026576900646F77007CD0E000ECE5F00020576900646F77007CCEF200E1F0E000E0F2FC00E1EEEB00F8E8E500E820EC00EBE5ED00EAE8E500E8EAEE00EAE80D0032343900D7E5F000EE2DE100EBFBE500D7E5F000EE2DE100EBFBE500CEF2EE00F0E0E600F2FC2000EAEEED00E820F100F7E5F000EE2DE100EBFBEC00F4EEF000E0F2EE000D0A3200303D310020F6E200F2EEE20031362000E2E5F200E27CCE00EEE1F000E6E0F20020E8EA00EDEAE800F12031002DF6E200F2EDFB0020F4EE00ECE0F200EC0D0A0035313D0035362000EBE8200072756500436F6C00727C32003620E800E8205400756520006F6C6F007CCEF200E1F0E000E0F2FC00E8EAEE00EAE82000203235002DF6E200F2E0EC0020E8EB0020547200652043006C6F72000202020202020202020202020202020202020808080808080808080808080202020203282020202020202020200802020202041C1C1C1C1C2626052620080202020204251C1C0A0A0A262726180802020202031C1D22171C1C17221F200802020202040B0A1D221F1F221F1C2008020202020307070721222321071C24080202020204070A151D1E1E1F0A1C2008020202020407151419151A141B1C18080202020203071314150A0A161715180802020202040707070707070E0F1011120202020203070A0A0A0A0A0B040C0D0D0202020204070707070707070905080202020202060707070707070703080202020202020304030404030404050202020202</value>
    <value type="5" name="Открыть">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A00FFE8D800E8D0C800A0808000B0989000D0B8B000FFE8D000A0806000D0B8A000F8E0D000E0C8B800E0C8C00090A8B000D0C8C000D8C0B000A0604000A0E0E00060D8FF00A0A0A000FFE0C80080A0C00080C0E00080E0E00060A0C000A0C0C00060C0FF0020C0E0004060800040E0FF0020C0FF0020608000F8D8C000A0C0E0002080C00020406000F8D0B80060606000F0C8A80000A0E0000080A0002080A000687070004060600040406000204040002020200008080800E8C0A00007070707070707070707070707070707070707070707070707070707070707070808F9EBEBFAFBFCF2F2F2F2DC07070708DCE4F6F6F6F6F8F8F8F8EEF207070708E5DCE6E1E9E9ECEDEDF6F1EE080707DCE6DCF0E1E1E1E9E9E9EDF6F1F20707DCE6E5DCE6E1E1E1E1E9ECE9EDEE0807DCE0E0DCE8E1E1E1E1E1E1E9E9EAEB07DCE0E0E5DCE6E6E6E6E6E6E6E1E1E7E2E2E0E0E0DCDCDCDCE4E4DCDCDCDC0808DCE0E0E0E0E1E1E1E1E1E1E108070707DCE0E0E0E0E0E1E2DCDCDC0808070707DCE0E0E0E0E0DC070707070707DFDFDF07DCDCDCDCDC0707070707070707DFDF070707070707070707D7D80707D307D707070707070707070707D3D3D4D50707</value>
    <value type="5" name="ОтложитьДокумент">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00D8C2B200D4BEAE00C0C0C000C9B3A400E2D6CD00FFFFFE00C0AB9C0063493500C2B3A700D5BFAF00FFFEFE00FEFCFB00B9A49500D4C5BA00C1B2A700D1BBAB00FFFEFD00FEFBFB00FDF9F800B7A29300644A3600CCB6A700FFFDFD00FEFBFA00FDF9F700FCF6F300FBF4EF00C8B2A300FFFDFC00FDFBF900FDF9F600FCF5F200FBF2EE00FBEFEA00F9ECE600C3AE9E00FEFEFE00FEFDFC00FDFAF800FDF8F500FCF4F100FBF2ED00FAEEE900F9EBE500F8E8DF00BEA99A00FDF7F400FCF4F000FBF1ED00FAEEE800F8EAE400F7E7DF00F6E2DA0080808000F7E5DD00F6E2D800F5DFD3002F2A2500F6E1D700F4DED300F3DACD0094929200424242001F201F002A252000F5DCD100F4D8CC00F3D5C7008A8B8A0006070600241E1B00F3D8CB00F2D5C600F1D1C20091919100202120007F7C7B00FCF3EE001D191600F2D4C500F1D0C100F0CDBC00FEFCFC0033333300A4A3A100FBF4F0008F80790018131100C1C1BF0066656500F9EAE200130F0C002F2925002A242100231F1B001E191500130F0D00100C0A009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00FF90FF00901F2600901F2600A4010000981F26009C0100007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040404040404040404040404040404040404040404040404040404040404040404375E5F6061596263040404040404040437205A5B335C385D09090909040404043754555657582459151515090404040437014C4D4E004F50525315090404040437010146470029484A4B15090404040437013F4041000D424445150904040404370101010101013B3D3E1509040404043737373737373737393A150904040404041D01011E1F20383A3A15090404040404170103030303383A1515160404040404110101010112381516161604040404040B0103030301380E0F091004040404040201010101013808090A0404040404040202020202020305060404040404</value>
    <value type="5" name="ОтложитьНаВремя">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00E8D0C800D098800088505000A8787800E0C0C000C0989800FFF8F800A0606000E8D8D000D8B0A800D8B8B800F8E0D000F8D8D000FFF8F000C0988800D0B8A800B8888800E0E8E800F8F0F00090585800F8F0E800F8E8E000D0A8A000F8E0D800D0C8C00058B07000B8A09000B8C8C80030603800A0C0C00040804800B8D0D00080C890003098500040A0580048A86000D8E0E000C0C0C000E6E0ED00E520F100F0E0E200E80D0A0030323D00E0E9F2004168610026736F00747CCE00EAF0FB00FC20F100E9F2200068612D006F6674000A3330003DD1F200E0EDE800E0204100744963006E732000726F7C00EEF1E500E8F2FC00F1F2F000EDE8F60020EE2000F0EEE300E0ECEC000D0A3300343DD000E3E8F100F0E0F600FF204F006C696E007CCFEE00E5F2E800FC20F100F0E0ED00F6F32000E5E3E800F2F0E000E8E80D0033303500CE20EF00EEE3F000ECECE5002E2E7C0020EFF000E3F0E000ECE57C00EEEAE000E0F2FC00E8EDF400F0ECE000E8FE200020EFF000E3F0E000ECE50D0033303600D2E5F100E8F0EE00E0F2FC00EAE0E4002E2E2E00D2E5F100E8F0EE00E0F2FC00F2E5EA00F9E8E900EAE0E4000D0A3300373DCE00EBE0F100FC20EF00EEF1EC00F2F0E0000A3330003DD0E000F6E2E500EAE02E002E7CCF00E8ECE500E8F2FC00FDF4F400EAF22000E0F1F600E5F2EA000D0A3300393DCF00EEE7F000F7EDEE00F2FC2E002E7CCF00E8ECE500E8F2FC00FDF4F400EAF22000F0EEE700E0F7ED00F1F2FC000A3332003DD4E000F2E8F700F1EAE00020EFF000E7F0E000EDEEF100FC7CD400EAF2E800E5F1EA00FF20EF00EEE7F000F7EDEE00F2FC7C00F1EFEE00FCE7EE00E0F2FC00F4E0EA00E8F7E500EAF3FE00EFF0EE00F0E0F700EEF1F2000D0A3300313DC100EEEAE800EEE2E000FC2052004220EA00EDE0EB0052474200E1EBEE00E8F0EE00EAE07C00E0ECEE00EEE7E800FC2052004220EA00EDE0EB000A3332003DC1EB00EAE8F000E2E0F20020EFF000E7F0E000EDEEF100FC7CC000FCF4E000E1EBEE00E8F0EE00EAE07C00E0ECEE00EEE7E800FC20C000FCF4E000EAE0ED00EB0D0A0032333D00E0F1F100E220E800EEEDEE002E2E2E00DDEAF100EEF0F200E220EC00F1F1E80020E8EA00EDEEEA00DDEAF100EEF0F200F0EEE200F2FC2000F1E52000EAEEED00E820E200ECE0F100E8E20D0033323400C8ECEF00F0F22000E0F1F100E2E02000EAEEED00EA0D0A0032353D00E0EA2000EEE2F30020E8EA00EDEAF3002E2E7C00D1EEE700E0F2FC00EDEEE200FE20E800EEEDEA0020E8E700ECE0F100E8E2E0000A3332003DEAE00020EDEE00F3FE2000E8E1EB00EEF2E500F32E2E007C7CD100E7E4E000FC20ED00E2F3FE00E1E8E100E8EEF200EAF32000E720EC00F1F1E800E020E800EEEDEE00272727272727272727271B2727272727272727272727272727242526272727272727272727270709232224251B272727272727271105121E231B2222221B22272727270C050B0D1A1E231E2020201B272727270B0C080814211E1E191922202227271C0517080808141D1E19190D1F202727120B1A08080816171717190E0D1B27270902080814160C180718190D020427270409080808140A151515151909042727050C0808080F1618151717170C0527270607020808080F140C15161707182727270B02080808080F0F11120612132727270C07020D0E0808080F02100627272727270607070208090A0B0706272727272727272702030405040627272727</value>
    <value type="5" name="ОтменаПереноса">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600C0DCC000AABFAA00C0C0C000F0FBFF00AA9FAA00553F2A00CCCCFF003366FF00C6D6EF009999CC005050FF0099CCFF003333CC00AA9F7F00555F55006666FF003333FF006666CC00807CFF000033CC000000CC00FFDFFF00FFFFD4006699FF00D7D7D700FFDFD400555F2A00A4A0A0001F3176001135CA0020358C004D4DFF001636B500183D86001F46BE00233A9900071657002135CA004346FF001A359900FFCCCC001C2CBF003B3EFF00151DFF000A12FF00272DFF00132B87002847AB0024418F00192D7900071A57001728B000040CFF000B237500081A5500000ADF00041B6300080F3F0000155300000000003B00000032353400D4EEF000E0F2FB00E8EAEE00EEEA7C00EEF0EC00F2FB2000EAEEED00EA7CCF00EAE0E700E2E0F20020F4EE00ECE0F20020E8EA007819000053000000000000004200000032353500D2EEF700FBE52000EEF0EC00F2FB7C00EEF7ED00E520F400F0ECE000FB7CCF00EAE0E700E2E0F20020F2EE00FCEAEE00F2EEF700FBE52000EEF0EC00C81900001B000000000000000A00000033313000CFE0ED00E019000033000000000000002300000032383200D1F2E000E4E0F000EDE0FF00EFE0ED00EBFC2000EDF1F200F3ECE500101A000023000000000000001100000032383300CFE0ED00EBFC2000E0E9EB00301A000033000000000000002300000032383400D1EFE500E8E0EB00EDE0FF00EFE0ED00EBFC2000EDF1F200F3ECE500601A000027000000000000001400000032383500D1F2F000EAE02000EEF1F200FFEDE800841A000023000000000000001200000032383600CEF2EA00FBF2FB0020F4E000A41A000043000000000000003300000032383700D1EBE500F3FEF900E97CD100E5E4F300F9E8E900F4E0E9007CC2FB00F0E0F20020F1EB00E4F3FE00E8E92000E41A000047000000000000003600000032383800CFF0E500FBE4F300E8E97C00F0E5E400E4F3F900E920F400E9EB7C00FBE1F000F2FC2000F0E5E400E4F3F900E920F400281B000043000000000000003100000032383900C2F1E500F4E0E900FB2E2E007CC2F10020F4E000EBFB7C00FBE1F000F2FC2000E0E9EB00E8E72000EFE8F100681B00004F000000000000003D00000032343100CDE0F100F0EEE900E02057006E646F00732E2E007CCDE000F2F0EE00F2FC2000F2E0ED00E0F0F200FBE52000EAEEED00E82057006E646F00B41B000067000000000000005600000032393100C0F1F100F6E8E000E8FF2000E0E9EB00E22E2E007CC0F100EEF6E800F6E8FF00F4E0E900EEE27C00F1F2E000EEE2E800FC20E000F1EEF600E0F6E80020F12000E0F1F800F0E5ED00FFECE800F4E0E900181C000043000000000000003000000032393000CDE0F100F0EEE900E02E2E007CC8E700E5EDE8000505050505050505050505050505050510081D080808081D081D083C3D050505071C101E101E101E1E1007393A3B0505101C061C1C1C2B2B323334353637380510181C1C1C1C1C2B2C2D2E2F2F2F303107190202020218182425262728292A0510060619181C1C1C1C1C0721222305050701020202020202021C101F200505051012160C011C0C16141C1E080505050504011A16141416141B1C101D05050505070101151617151819180708050505050206091213131401011010080505050504090A0D090E0A0F100811080505050502090A0901010B0C0C020805050505050306010606010101070805050505050502020302020302040205050505050505</value>
    <value type="5" name="Отменить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000C0C0C000F5B39300F5BB9E00F5C1A700F5C1A900F5B08E00F5AE8B00F4A88100F4A47F00F5B99D00F5C2AA00EAAA8B00F6B18F00EE926500C8704400B7653B00B4603700DD784700F5B79900E9A48100F5C09E00F5A87F00F6B29000E78C5E00C7704500BB683E00AC5D3500B56F4400A75F3900EE885600F5C0A500E7997300F39A6A00F49C7100F18C5900B4633A00B0613800A95D3500A3583100DB774500F4A58000E68E6200EC824B00F38D5B00EC9C7600924B2800C26A3E00DC764500F4A98000E5835200DF733600EA824900E28C6100C2693E00E67E4A00F4A98300E3784200D6724000C7693A00B65F3400AD5A3100954C2800C1693D00EB845000E3977000DB764500EF936600BE643800F0885400CF7E5600F0844F00D4794E00F2844F00D1744800D67443009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF0000000000147BC500147BC500E80400001C7BC500E004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010101010101010101010101010101010101010101010101010101010101010101010101010101054B050101010101010101010101010105494A05010101010101010101010101010547480501010101010101010101010101444546010101010101010101010101010542436C01010101393A3B3C3D3E0101013F404101010101323334213501010101363738010101012A2B2C2D2E6C0101012F3031010101012021222324250E016C272829010101011415161718191A1B1C1D1E1F010101010C0101150D0E0F101112130B010101010101010115060708090A0B0101010101010101010101150304050101010101010101010101010101010101010101</value>
    <value type="5" name="Отметка">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000E0CCA400C7A897007F685500C0C0C000FBFCFE00FFFFFF00FEFFFF00C8AEAC00B78E7600806A56000C0C0800FCFCFC00FFFEFF00FFFFFE00FEFFFD00FFFFFC00C5A9A500EADBB500C09981008366570016130F00FEFEFC00FEFDFC00FEFDFB00FDFDF900FFFFFD00DECCC900C19A9900C59F9C00C79C950070604D00FBFCFC00FEFEFA00FEFDFA00FDFCF900FDFAF700FDFBF300FFFFF400FDFAF000FEFDF300EED7CA0074644F00FBFBFB00FFFEFC00FDFBF700FCFAF500FFFCF200EFF2EF00B1BFF100E5E5EA00FDF9E800E9D2C20071624D00FBFAF900FDFAF600FCF9F300FBF7F000FFFFEB0096A7F2000017FF008F9DEC00FFFEDE00E7CFBE0072624E00F9F9F800FDFCF600FFFFF000FFFEED00FFFFEA00DCE2EA000E35FE00435FF500EEE9D900FAF2D500E6CDB90072634F00FDFBF400F4F4F1008696F600B6C1EF00FFFDE300566EF500193BFA00DFDFD800FDF1CC00F1E7C900E4CAB20072635000FEFBF000EFEEEC004A67F700062FFE002D4FFB000933FF00ADB5DC00FEF1C700ECE0C200EDE1BB00E3C7AD0072645100F6F4ED00FAF4E300C6C9DF003F5DF2008190E200FEEFC000EBDEBB00ECDDB400E2C6AB00F5F2E700F5EEDB00F2EAD500EFE3BE00EBDCB700E9DAB300E8D9B100EADBB000E2C5A90073645100F6F3E400F5EED300F3E9CB00EFE4C300F0E3BB00EDDFB400EADCB300EADBB100E9DAAE00EBDBAD00E2C5A800EFDDCF00ECD8C000EAD5BA00E9D2B500E8D1B300E8D0B100E7CFB000E7CEAE00E6CCAD00E7CDAB00E7C4AC00796A56008D7C630084705E00806E5C00816E5C00826E5C00816E5D00826E5D008B78630049413300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004040404040404040404040404040404042A2A2A2A2A2A2A2A2A2A2A2A9704040401838485868788898A8B8C8D8E0404040178797A7B7C7D7E7F80818277040404016E6F70121271727374757677040404016566126768696A6B126C6D6404040401595A5B5C5D5E5F6061626364040404014D4E4F505152535455565758040404014142434445464748494A4B4C0404040136223738393A3B3C3D3E3F40040404012B2C232D2E2F30313233343504040401200E2122232425262728292A040404010C06161718191A1B1C1D1E1F040404010C060D0E0F10061112131404040404010506070707070608090A0404040404010101010101010102030404040404</value>
    <value type="5" name="Очистить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00003C8F000165960001649500003688005285C900002E7E0088CCDD0087CBDD0001609100003080003F72B60000277400C0C0C000DDDCDC009494940070B4D60080C4DB00015C8D00001A630001619200116C9A004B9BBA0079B9D50091919100D9D4D4008D8D8D0068ACCE0074B8D40001588700126D9B002078A2003385AC0058A2C00074B9D1006EACCC00669DC80083C7DA0088888800D3CACA008383830060A4C60063A7C90001538200015E8F006AAEC90066A8C5005792B8004B80B0005D97C00077B9D2007ABAD5007E7E7E00CEC0C000797979005588BB00014F7E00002B550033689900508CB30069ABC70068A7C6004D80B30071B1CE006EA9CD006CA3CE006D6D6D00AA99990001010100015585005FA1C0004079A3004278A70066A6C500619DC2005E95C10075B4D1006598CB004F8DB30068ACC8004880AC004F87B3006AAAC80000416E00014B79003A719E00386F9C005F9FBF004578AB00003763005494B70034679A0000305A00001A3000002D5800002C56000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407A2E00407A2E00BC050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E1A1A3636360E0E0E0E0E0E0E0E0E0E3636362A5F603636360E0E0E0E0E0E0E0E1A363A5B5C5D360E0E0E0E0E0E0E0E0E3655565758595A360E0E0E0E0E0E0E363A4F505152533854360E0E0E0E0E36464748494A4B4C4D4E43360E0E0E363A3B3C3D3E3F4041424344430E0E0E572E2F30313233253435363738390E0E09222122232425262728292A2B2C0E0E0E0E0809311718191A1B1C1D1E0E0E0E0E0E0E0E0831370F10111213140E0E0E0E0E0E0E0E36363708090A0B0C0D0E0E0E0E0E0E0E0E0E3603040E0E0506070E0E0E0E0E0E0E0E0E0E0E0E0E0E020E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E</value>
    <value type="5" name="Ошибка">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000115BED003775F2003E78F3002E6BF0001053E3000D47C800115AED006391F600ADC1FD00B1C1FF009BAFFF0088A0FF006787FC003062EE000C44CD001056E9006E94F8009CB0FF004B6FCC001A48AC00003399001342AC002853CC003D64FF002351F1000B3AC1000F50E100396CEF007792FF006685FF001E4BBF0017419300BEC1C700D6DAE000708CC6000739AC001B48FF000E3DE10007268D000E4BDD004C72FB001947BF00335CFF000E3FBF003059AC00EFF2F9006080BF000638CC000839F800082CB600154AE200345CFF00093AAC00264A90000B3CBF001544FF000537BF00DFE6F2000134AC000235FF00062BCC001142DF001B49FF00B5B5B5000436BF000637FF000134BF000033FF000526CB000B39D7000C3CFF000234AC00AEB4C1000133BF000033BF000033AC000032FE00041FC1000930C2000435F8000134CC004767A7000032BE000031C800012BEC0004139C000725A700052CD6000031BC00002BEE000028E8000218BE0002085700061FAA00022BE2000031FC000032A9000030A600002ABA00001FD7000116C00002098A0004159F00021FCB000025E1000024E100001FD800001ACE000014C000010CAD000104860000010E00020A7300020B9600010CAA00010AA8000106A20001038D00000151003059AC000033AC000032FE00041FC1000000000000000000000000001142DF001B49FF0000339900B5B5B5006080BF000436BF000637FF000134BF003059AC00EFF2F900003399000033FF000526CB00000000000000000000000000154AE200345CFF00093AAC00264A90000B3CBF001544FF000537BF003059AC00EFF2F900DFE6F2000134AC000235FF00062BCC000000000000000000000000000E4BDD004C72FB002853CC001947BF00335CFF000E3FBF003059AC00EFF2F900FFFFFF006080BF000638CC000839F800082CB6000000000000000000000000000F50E100396CEF007792FF006685FF001E4BBF0017419300BEC1C700D6DAE000708CC6000739AC001B48FF000E3DE10007268D00000000000000000000000000000000001056E9006E94F8009CB0FF004B6FCC001A48AC00003399001342AC002853CC003D64FF002351F1000B3AC10000000000000000000000000000000000000000001056E100115AED006391F600ADC1FD00B1C1FF009BAFFF0088A0FF006787FC003062EE000C44CD0004143F0000000000000000000000000000000000000000000000000000000000115AEA00115BED003775F2003E78F3002E6BF0001053E3000D47C80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202020202020202020225252525250C02020202020202020260747576777879250C020202020202696A6B6C6D6E6F7071250C02020202606162566317646566676825020202145A464E253001315B5C5D5E5F0C0202515253540101314D4F555657580C020248494A4B01314C464D2F4E4F500C020240411742314344452F301746470C020235363738393A3B2F303C3D3E3F0C02022A2B192C2D2E2F300131323334020202141E1F202122232425262728140202020212131415161718191A1B1C020202020202090A0B0C0D0E0F1011020202020202020214030405060714020202020202020202020202020202020202020202</value>
    <value type="5" name="Параметр #1" />
    <value type="5" name="ПараметрыЗаявки">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C8B2A300CAB4A500CBB5A600C9B3A400C7B2A300C6B0A100C3AE9F00C1AC9D00BFAA9B00BDA89900BBA69700B9A49500B8A39400B7A29300FEFCFB00FBF9F700FAF4F200F7F0ED00F3EAE400644A3600C9B4A500FFA9A900FF827F00FF989300FFFFF600FFFEF400FDF7EB00FCEDDD00EEE2DA00FF837E00FFC3C400B7252500BAAAA100B8A69C00B6A29600B39D9000B1988B00FBE4D200C5AFA000FF9B9900B8303000FF8D6A00FEFAF000FDF1E400FCE7D500FADCC700EADBD10063493600C1AB9C00FFFDF300FEF4E700FCEAD900FADECA00F9D4BC00E6D1C600634A3500BDA7980096A3FF004661FF0094A1FF00FFFEF500FEF7EA00FBE2CE00F9D7BF00F8CDB200E0C7BA004360FF0095B3FF002F39AD00B9A79E00B6A29700B49D9100B2998B00B0968800F7C8AC00DBBDAD00634A360095A3FF002E3BA5008F96CD00FDF2E400FCE8D500FADCC600F9D2B800F8CAAE00F4C3A600D6B3A100FDFCFB00FAF5F200F7EFED00F4EAE600F2E5DF00DDDCD700DFD7CE00DECDC000DEC5B600DEBFAC00DBBAA600D8B5A30063493500FBF8F700F9F4F200F7F0EC00F4EBE600F1E5DF007F6754007A624F00765D4A00735946006E5542006B523E00674E3A00654B3800AE988800EFE3DD00F2E7E100EDDFD700836B5900B79B8B00D9B7A60072594600AE8B7700D0A69200CC9E8700927A69008C75630087705E007F665400755D4A006E5441006A513E00000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00008B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B7E7F808B816C828B8384718B8B8B8B73595959777B7C7D7A7B7C7D728B8B0F59595959596B6C6D6E6F707172658B0F59115A5B5C5D5E5F6061626364658B0F014F50512C5253545556935758398B0D014445461A47484955934C934D4E8B3A013B3C3D1A3E3F1D4041424293398B32011A1A1A1A1A33343536373738398B2801292A2B1A1A1A2C2D2E932F30318B02011F20211A222324369327931E158B16011718191A1A1A1A1B1C1D1D93158B0201010101010101011011121314158B0203040305060708090A0B0C0D0E0F8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B</value>
    <value type="5" name="ПениФормированиеПериодов">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="ПеренестиНастройки">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF008EA2AB009B684C0098674D008F614800B2E4EC00B6EEF80092E1F300C0C0C0006D4B3700543C2C008DA1AA008CA0A9008B9FA8008B9EA8008DA0AA00879AA4008698A3008597A2008496A100553F3000C2F7FF00BDF1FA00BBF2FA00AFF2FB00A2EBFD0092E6FE0084DEFE0077D7FD0057C7FA005D7B8D007D5A4700584336004F3829008C9FA800C0F6FF00B4EEF800A8EEF80098E8FB005CC8F7001999CF004C6F80004E3C3200889BA400BCF7FF00A9EEFA009CE8FB004799BB003E5D6D0084969F00B6F4FF009FE9FB008FE3FC007F909B00ADF2FF0096E7FE0084DFFD007B8B96009FEEFF0070CDEA0068C4E20088E1FC0077DAFB0069D0F900778792006E869300526F7E003C5A69008BE2FC007ADAFB006AD1F8005BC6F4004DBDF3001A93C6007DDBFB006ED2F9005DC7F5004CBCF0003CB3F0001B8ABA00324B590074D6FB0063CBF80050BFF4003EB4F0002FABF1001D81AB00253A45005CB7D6004FA8C7004097B9003388AA00277B9E001E789F001A2E37002A4855001B3542000F2732000F232E000E232D0010242E000F161C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090909090909090909090909090909090909090909090909090909090909090909090909414243446061626364656609090909093A3B3C3D595A5B5C5D5E5F090909090936373839525354555657580909090909323334004B4C4D4E4F505109414243442C2D002F00464748494A31093A3B3C3D2324252627003F4028292A093637383902161718191A1B1C1D1E1F0932333435020C0D0E0F101112131409092C2D2E2F020607080230310909090909232425262702020228292A09092B090902161718191A1B1C1D1E1F0920212209020C0D0E0F10111213140909091509090206070802090909090909090A0B090909020202090909090909030405090909</value>
    <value type="5" name="ПереносРосписи">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF904820C5A699FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA05020A05030C5A699FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD08060904820A04820A05020B05830C06840A05030C5A699FFFFFFB0A090604830604830604830604830604830604830D08860FFB090F09060F08850E08050D07850C07040A05830C5A699B0A090FFF8F0F0D8D0F0D8D0E0D0C0E0D0C0F0E0E0E09070FFB890FFA880FF9060F09060E08850E07850C07040B05830B0A090F4F4F4D0C0B0D0C0B0D0B8B0D0C0B0F0E0E0E09870FFC0A0FFC0A0FFB080FFA880FFA070E08050B05830CDB0A5B0A090F4F4F4F4F4F4F4F4F4FFF8F0FFF8F0FFF8F0F0A070E09870E09070D08860E09070F09870B05830704830FFFFFFB0A090F4F4F4E0C8C0E0C8C0D0C0B0E0C8C0F0E0E0F0E0E0F0E0D0F0E0E0F0D8D0E09870C07850F0D8D0604830FFFFFFC0A890F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4FFF8F0FFF8F0FFF8F0F0A070FFF0F0F0E8E0604830FFFFFFC0A8A0F4F4F4303030A0A8A0F4F4F4B0B0B0202020F4F4F4D0B0A0D0B8B0F0E0D0F0E0E0F0E0D0F0D8D0604830FFFFFFC0A8A0F4F4F4908890201820302830302830908890F4F4F4F4F4F4F4F4F4F4F4F4FFF8F0FFF8F0E0D0D0604830FFFFFFC0B0A0F4F4F4F0E8F0605850F0F0F0302820F0E8F0F4F4F4D0C0B0D0B8B0D0B0A0D0B0A0C0A890F0D8D0604830FFFFFFD0B0A0F4F4F4F4F4F4D0D0D0807070D0D0D0F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F0E0E0604830FFFFFFD0B8A0F4F4F4F4F4F4F4F4F4808080F4F4F4F4F4F4F4F4F4E0C8C0D0C0B0D0C0B0D0B8B0D0B0A0F0E0E0604830FFFFFFD0B0A0F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4604830FFFFFFC0B0A0D0B8A0D0B8A0D0B8A0D0B0A0C0B0A0C0B0A0C0B0A0C0B0A0C0A8A0C0A8A0C0A890C0A890C0A090B0A090FFFFFF</value>
    <value type="5" name="ПересчетВалюты">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00E8E0C700DED3AE00E0D6B400D3C59400BEA75D00B89F4E00B69D4C00B59B4400B59A4200BCA65B00DCD0A800E9E1C900C2AE6A00B69E4C00B59C4900B79E4D00B59B4600B4983A00B3963600B2953200C8B57800C2AD6800B69D4A00C5B17000EDE7D300DFD4B000B3942F00B2922B00B1902400C9B77C00B59C4800B59C4700C8B47600FDFDFB00F6F3EA00F8F4EB00F5F1E500B3963700B1902200B08E1F00B08E2000BBA45700B59A4300B4993F00B4973A00EEE8D400D8CB9E00C9B67900D1C18D00B3983C00B08D1A00AF8C1800AF8C1500BFAA6200B4994000B2953300F9F7F100EBE4CC00B08E1B00B08C1900AF8B1700AF8B1300AF8A1200DED2AC00B4963800B3963400B2932B00E3D9BA00F9F6EF00F6F3EB00DBCFA600AE891100AD891100AF8B1600DFD5B200B2932D00B1912800D5C69500DBCEA500F3EFE200AC881100AA871100AF8B1500B2932E00B08F2000B08D1B00D2C28E00CFBF8A00B8A05100E6DEC200AB871100A9861100A8851100B1922A00B9A15200CBB87D00E8E0C600DCD0AA00EEE8D500A7841000A6831000C2AD6900AF8B1200C6B37500E6DDC100B59B4800A5821000E3DABB00C8B47400C0AB6500A3811000A4811000C9B67A00AF8A1100A2801000AB881100E0D5B300BFA85F00B1902500B2912600C0C0C000BECC3100BFCC3000D0D96500FDFEFA00F7F9E700F9FAE900F7F8E200BAC82200B5C40F00B4C30C00B4C30D00C4D04200BECB2D00BCCA2900BCC92500F0F3CF00DDE49200D0DA6800D7DF7F00BBC92600B2C20800B1C10600B1C10300C8D34E00BCCA2A00B9C71E00FAFBEF00EDF1C600B2C20900B3C20700B2C10500B0C00200B0C00100E2E8A200BCC92300BAC81F00B8C71B00B7C61700E7ECB100FAFBED00F8F9E800E0E69B00AFBF0000AEBE0000B1C10400E3E9A800B7C61900B8C61900B6C51400DAE28800DFE69A00F6F7DE00ADBD0000ABBB0000B2C10300B7C61A00B3C30D00B3C20900D8E08000D6DE7B00C2CE3B00E9EEBA00ADBC0000AABA0000AAB90000B6C51600C3CF3C00D2DB6D00EBEFBF00E1E79F00F0F3D000A8B70000A7B60000CAD55600AFC00100CED86300EAEEB900BFCC3100A6B60000A6B50000E7ECB200D0D96300C9D45100BAC82100A3B30000A5B40000D1DA6900B0C00000A3B20000ACBC0000E5EAA900C8D34B00B5C41200B7C51300300000001B00000000000000090000006C627000657669007700000098D9E70098D9E70040000000CFF0EE00ECEEF200180000002B000000000000001B0000006C6253007475720074696F003D26CD00F1FBF900EDEDEE00880000001F000000000000000C0000006C6273007475720074696F00240100001F00000000000000090000007062700065766900770065000000000010DAE70010DAE7007A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7A7677784A5279177A7A7A7A7A7A7A7A72735D5E656C717475327A7A7A7A7A6E4A4A52536F14656C7071327A7A7A483D364068696A506B65666C4A6D7A7A603C3D3E6151626364335E6566677A7A551E56573258595A5B1F5C5D5E5F7A4C4D4D4E2829344F5051194A5253547A4142431C4443454647482940494A4B7A7A38331439053A3B173C3D3E3F401D7A7A2B2C2D2E1B2F30313233343536377A7A0520210A22232425262728292A047A7A7A17111812191A1B071C1D1E1F7A7A7A7A0D0E070F101112131415167A7A7A7A7A7A7A05060708090A0B0C7A7A7A7A7A7A7A7A7A7A0203047A7A7A7A7A7A7A</value>
    <value type="5" name="Печать">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000FFFFFF00000080000080000000808000800000008000800080800000C0C0C000C0DCC000F0CAA6004080800040400000FF80000080400000FF0040000040800080FFFF0080FF0000FFFF8000FF8080008000FF004080FF00818181000000810000810000008181008100000081008100818100000000330000006600000099000000CC00003300000033330000336600003399000033CC000033FF00006600000066330000666600006699000066CC000066FF00009900000099330000996600009999000099CC000099FF0000CC000000CC330000CC660000CC990000CCCC0000CCFF0000FF660000FF990000FFCC00330000003300330033006600330099003300CC003300FF00333300003333330033336600333399003333CC003333FF00336600003366330033666600336699003366CC003366FF00339900003399330033996600339999003399CC003399FF0033CC000033CC330033CC660033CC990033CCCC0033CCFF0033FF330033FF660033FF990033FFCC0033FFFF00660000006600330066006600660099006600CC006600FF00663300006633330066336600663399006633CC006633FF00666600006666330066666600666699006666CC00669900006699330066996600669999006699CC006699FF0066CC000066CC330066CC990066CCCC0066CCFF0066FF000066FF330066FF990066FFCC00CC00FF00FF00CC009999000099339900990099009900CC009900000099333300990066009933CC009900FF00996600009966330099336600996699009966CC009933FF009999330099996600999999009999CC009999FF0099CC000099CC330066CC660099CC990099CCCC0099CCFF0099FF000099FF330099CC660099FF990099FFCC0099FFFF00CC00000099003300CC006600CC009900CC00CC0099330000CC333300CC336600CC339900CC33CC00CC33FF00CC660000CC66330099666600CC669900CC66CC009966FF00CC990000CC993300CC996600CC999900CC99CC00CC99FF00CCCC0000CCCC3300CCCC6600CCCC9900CCCCCC00CCCCFF00CCFF0000CCFF330099FF6600CCFF9900CCFFCC00CCFFFF00CC003300FF006600FF009900CC330000FF333300FF336600FF339900FF33CC00FF33FF00FF660000FF663300CC666600FF669900FF66CC00CC66FF00FF990000FF993300FF996600FF999900FF99CC00FF99FF00FFCC0000FFCC3300FFCC6600FFCC9900FFCCCC00FFCCFF00FFFF3300CCFF6600FFFF9900FFFFCC006666FF0066FF660066FFFF00FF666600FF66FF00FFFF6600C1C1C1005F5F5F00777777008686860096969600CBCBCB00B2B2B200D7D7D700DDDDDD00E3E3E300EAEAEA00F1F1F100F8F8F800F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000000000000070707070707FFFFFF0707070707070707070707FFFF07ECECFFFF07070707070707FFFFEF07EBFFFFECEBFFFF07070707FF0707EBEBBCF7F7FFFFECEBFFFF0707ECEBEBBCBC07F792EDECFFFFEBFF07ECEBF0BCBC0707F792EDEDECECFFFF07ECF5BCBC0707F592F7EDECECEBECEBFFECF50707F5F5BCBCBCEDEDECECEBEBFFECF5F5F5F0F0F940BCBC07ECECECEBFFECF5F1F1FA2FBCBCF0EBECFF07EBEBFF07ECECF5F1F0F0ECEB0707FF07EBEB07070707ECECF5EB0707F1F2F1FF0707070707070707ECECF0F1F3F3F4F1FF070707070707070707ECF2F3F4F5F5F1FFFF0707070707070707ECF4F4F5ECEC0707070707070707070707ECECEC07070707</value>
    <value type="5" name="ПЗКВыполнена">424D360400000000000036000000280000001000000010000000010020000000000000000000C40E0000C40E00000000000000000000F0F0F0FFB3B2B2FF596571FF586570FF596672FF5A6772FF5B6872FF5A6672FF5A6672FF5A6672FF5A6672FF596570FF596570FFB6B5B4FFF0F0F0FFF0F0F0FFF0F0F0FF828588FF70B3E6FF75B5E6FF76B7EBFF78B8EBFF7ABCEEFF7ABBEEFF7ABCEDFF78BAEBFF79BBEEFF77B7E6FF70AFDFFF878787FFF0F0F0FFF0F0F0FFF0F0F0FF7F8184FF70B0DFFF3B67A1FF5698CDFF599CD1FF508EC6FF015410FF5392CAFF599BD0FF5696CDFF3966A0FF71AFDCFF808383FFF0F0F0FFF0F0F0FFF0F0F0FF7D8185FF6EB0E5FF3965A0FF3966A1FF3B68A3FF015410FF015410FF015410FF477FBBFF4075B3FF3965A0FF6EADDFFF7B7E7FFFF0F0F0FFF0F0F0FFF0F0F0FF797D84FF68ABE2FF3966A0FF5190C8FF015410FF015410FF015410FF015410FF015410FF508CC6FF3965A0FF6BACDFFF767A7DFFF0F0F0FFF0F0F0FFF0F0F0FF747B7FFF63A4DDFF3966A0FF4B83B8FF4D86BBFF015410FF015410FF015410FF4B85B9FF4A82B7FF3965A0FF68ABE1FF71777DFFF0F0F0FFF0F0F0FFF0F0F0FF727A82FF5C99D1FF3965A0FF34548BFF34548BFF015410FF015410FF015410FF34548BFF34548BFF3965A0FF62A3DAFF6B7379FFF0F0F0FFF0F0F0FFF0F0F0FF707A84FF5598D6FF4C8BCBFF4F90D0FF4F90CDFF5091CEFF5193D0FF5092CEFF5090CCFF5090CBFF508AC1FF589AD6FF66717AFFF0F0F0FFF0F0F0FFF0F0F0FF778088FF89B3D1FFA0B2AFFFA5B7B3FFA8BCBAFFABC2C4FFAEC6CAFFAEC8CBFFABC5C8FFA1C6D6FF9DCCEBFF8EC2E8FF6F787EFFF0F0F0FFF0F0F0FFF0F0F0FF878481FFE9872FFFFF852BFFFF942DFFFFA442FFFFB35CFFFFBC6CFFFFC174FFFFC171FFF7CB90FFE8EFEEFFCDDFEEFF878787FFF0F0F0FFF0F0F0FFF0F0F0FFA19E9DFFF4A052FFFF8C2BFFFFA746FFFFB764FFFFC27CFFFFCB8EFFFFD39FFFFFE4C4FFFFE5CBFFF9C290FFF6D5BBFF7C7775FFE3E3E3FFF0F0F0FFF0F0F0FFF0F0F0FF8D8884FFFFB05DFFFFB561FFFFC887FFFFE2BCFFFEEBD5FFFDEBD3FFFBCCA9FFF9C29FFFFFD7AEFFFBB274FFE4D4C5FF979595FFF0F0F0FFF0F0F0FFF0F0F0FFE8E8E8FFA08C7BFFFFCE93FFFBEBD5FFFBFEFFFFF9FFFFFFF2CDA9FFFEA958FFEE9055FFF1C6A4FFE3DDD4FF949391FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFFAFAFAFF999796FFFBFBFBFFF5F7F9FFF6F6F7FFF7F7F8FFF6F7F8FFF1BA89FFFFC887FFD0C5BFFF9D9C9AFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF9F9F9FF9F9C9AFFFEFEFEFFF7F7F7FFFDFDFDFFFAFAFAFFC1C0C0FFC8C5C2FFCFC9C6FFECEBEBFFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFBAB7B7FFBCB9B9FFBBB9B8FFBCB9B9FFB8B5B5FFBCBAB9FFFFFFFFFFF7F7F7FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FF</value>
    <value type="5" name="ПЗКОтклонить">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFF5F5F6BFBFD09295B68888B48A8AB29B9BB4C6C6CFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAEB1C35562CD4B5DF56573FF7981FF8C8DFF9291FF8383EE8080BBC7C7CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F93C21332F51C3FFF2D48FF4158FF5567FF6976FF7B81FF8888FF9695FF8282DCB4B4BCFFFFFFFFFFFFFFFFFF9D9EBD0813E90519E70825F71C39EF6772C58D92D38F94E3777DDA6F76FD7F81FF9191FF8382E3C8C8CCFFFFFFE9E9EC4141CC0203D50008DC353FD5C6C8DAFFFFFFFFFFFFFFFFFF7C84CE5364FD646EFE767BFE9394FF8080B7FAFAFA9FA0BB6364F23E3DDA2626C8DCDCE8FFFFFFFFFFFFF6F6F65E6AB62545FF344CFC495DFF5B68FF7078FF7E80F4C7C7CC8285C36B6FF3686AF28C8CB1FFFFFFFFFFFFF6F6F66166B40923FB0A2AF51C3FFF6E77BE636DD35162FF6B76FF9A9BB3838AD67881F66E74EFB9BACAFFFFFFF5F5F56D6DB7161AE7020BD7091CF7656EBCFEFEFE848BC23651FF596CFF8386B48B96DB8794FE7B83F0C3C4D4FEFEFE8283B66D6DF55E5EDD5657F16E70BCF4F4F4FFFFFF8B91BC506CFF647AFF8287B6979ED699A9FF8F9DFD9394B38C8EBA8186FD7073E67778F88585BAF7F7F7FFFFFFFFFFFF777CC3586BFE5A73FF9296B5A4A7D9B4C1FF99A8FD8794F08B99FC858EF28B92FF8687BDF5F5F5FFFFFFFFFFFFCFCFD76468E15D66EE5C6BF5BFC0CCD5D5EBB9C0F9B3BEFFA6B3FF9AA9FE95A2FB9597BBFFFFFFFFFFFFFFFFFFD4D4DB7A7BDA6E6FE96D6FF16F73C8F7F7F7FFFFFFA7A9DAD8DFFFB8C0FEB0BBFF9CA7F19A9CB2C0C0CEBEBFD29698B77F82DA8284F17A7AE77777EFB7B7C3FFFFFFFFFFFFF3F3F9A9ABDDE0E5FFC6CDFFB8C1FFB4C0FFA0ADF79AA6F69EA8FF939BF89196F38B8EF7A3A3C3FFFFFFFFFFFFFFFFFFFFFFFFF5F5FAADAEDACFD1F5DBE1FFCDD5FFC1CBFFB6C2FFB0BEFFA8B3FD959BE0AFB1C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7D7ECB1B2DCB3B5E3B3B7EAACB2E7A2A6CDB2B4C9EBEBF1FFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="ПЗКУдалить">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6569BA717FE06B6EBEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFEFFFFFFFFFFFFB9BADD7A83E66A80FF273CD9EBECF6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7677C58788D9FFFFFFFFFFFFA0A1D34D54DE2536EB0B20D9E3E3F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDCDCEE0E16C0B1B2DEFFFFFFFFFFFFE9E9F41519BF060EDB0412D87B7DC3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C34BA1822C1FFFFFFFFFFFFFFFFFFFFFFFF5A5BBA0002CF0309D8080FC1DADAECFFFFFFFFFFFFFFFFFFFFFFFF7A7CC50C21DF9C9DD2FFFFFFFFFFFFFFFFFFFFFFFFFDFDFE1E1FB00001D00106D52326B1FFFFFFFFFFFFFFFFFFA9AAD30C28E52733BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8E9F41112B50000D10103CE5A5CB9FFFFFFB1B2D90B1FD40C26DFD2D1E7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2E3F21516B50000D20101C44D4EB8070EC30514E16F70BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F5FA2D2DB00001CC0000CC0103D13639B3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2E2F23236B70207CF0103D20001C97777C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7174CA0F1ED10717E40510DE0E13BA0507C10608CC6162BEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B9BD24F58D23D57F71D3CFA0D26F01921BFEBEBF6C4C4E5191BBE2325D44A4ABBF9F9FCFFFFFFFFFFFFFFFFFF8487D0A2ABF78D9DFF6A7FFF3A55F9313BC1EFEFF7FFFFFFFFFFFFFDFDFE5B5CBF4041D1494AC4A2A2D5FFFFFFFFFFFF8788CCB6BBF5A3ACFB6973E17678C8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8C8E65555C16061CC5A5ABDADAED9DFDFEF9192D29A9DE29596D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDEDF77C7DC96162C58383CB</value>
    <value type="5" name="ПодатьЗаявку">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00C0E8FF0080A8C0008098A000D0B8B0007098A000A0E8F00090D8E00060788000C0A8A000B8E8FF0080C0E00060B8D00040586000E0E0E000A080800050687000E0D8E00080A0FF003058D000B0E8FF00FFF8FF00C8E0E000F0F8F8008098FF002048D000A0C0E00088807800A8E0FF0098D0FF00E0E0FF009098D000E0C8C00060483000A0A0A00080A08000608060006078C000F8E0D800E0B8A000C0E0E000A0D8B0004060400098A8B0007088D0002048E000E0D0C800F0C8C00060C0800080E0FF0090B8D0001038B0002048C000C0A0E000F8D0C00080C0A00040A06000404840004060800060C0E000A0A0C000A098B000D0B8A000403830000020400070D8F000706058002020200078B0D0004080A00030A8D0002088B000A0D8FF0098D8FF005098B0000707070707070707070707070707070707070707F9EFF5F5F5F5FF0707070707EEF4F8F9F5FAF0FBFBFCF50707070707E5EDF4F5C1F6C1EFEFEF08F7D6D6D6B8ECEDEEC9D1E6EFF0B8F1F2D5F3F3F3D6DEE5DFC9C9D1E6B8E7010101EBE4DCD6DDDEDFE0E0B8B8E101B9B9B9E3E4DCD6D7D8D90707B901CCCCCCCCCCCCDBDCD60707070707B901B9B9B9B9B9B9CCD5D60707070707B90101CA0101CCCCCCD5D00707070707B90101CAC3C3C6CBCCD5BD0707070707B90101BDC5C5C5C2C601C40707070707B90101BABCC0C1C2C301C4070707070707B9B9BABBBBBCBDBEBE07070707070707070707B7B7B80707070707070707070707070707070707070707</value>
    <value type="5" name="Поиск">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF008EA2AB00E7E7E700B2E4EC00B6EEF80092E1F3008DA1AA008CA0A9008B9FA8008B9EA8008DA0AA00879AA4008698A3008597A2008496A100C2F7FF00BDF1FA00BBF2FA00AFF2FB00A2EBFD0092E6FE0084DEFE0077D7FD0057C7FA005D7B8D008C9FA800C0F6FF00B4EEF800A8EEF80098E8FB0088E1FC0077DAFB0069D0F9005CC8F7001999CF004C6F8000889BA400BCF7FF00A9EEFA009CE8FB008BE2FC007ADAFB006AD1F8005BC6F400905634001A93C6003E5D6D00AA7E63008A51300084969F00B6F4FF009FE9FB008FE3FC007DDBFB006ED2F9005DC7F500B0866E00BB98840078371600324B5900C3A28F00956245007F909B00ADF2FF0096E7FE0084DFFD0074D6FB0063CBF80050BFF400B1887000B28A74007B391800253A4500A1715C00BA968100955F4200AD846E007B8B96009FEEFF0070CDEA0068C4E2005CB7D6004FA8C700B1886E00D1BAAB00C6A18B009C6140007B381A00D0B9A800D5BBAB00A971520079330F00778792006E869300526F7E003C5A69002A4855001B354200C6A89600D5BFB100BE927A009559380086442000B28B7500D4BDB000BA90770092553300955D3D00CDB4A500F7EFEB00D2AA9400925230008F593A00C5AB9A00F4EAE600DAB5A00092553100915A3C00A5735600C09E8B00AD7D6300935839007B3A1A0080401D00A2745800A27157008F5537008C523200FBF5F200E6C9B800B37E610076371600D0B7A800F9F8FA00DCB9A700F9F0EC00D8B19A00AA6F4F00773A1900F8F4F400D8B39F00D2B9AA00BB8F75009D644500793B1A00CBAB9B00B2816400986B4C008A502C007F45230081492B0095614400864B2900854D2C0073351300C0C0C000FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF009C9C9C9C9C949596979C9C9C98999A9B9C9C9C9C9C778E8F90919C9C7C9293489C9C9C9C9C7788898A8B9C85778C8D489C9C9C9C9C77818283849C77858687679C9C9C9C9C7778797A7B7C7D777E7F809C9C9C9C9C6C6D6E6F707172737475765D5E5F606162636465666768696A6B9C4E4F505152535455565758595A5B5C9C3F404142434445464748494A4B4C4D9C32333435363738393A3B3C9C3D3E9C9C25262728292A2B2C2D2E2F9C30319C9C1A1B1C1D1E1F20212223249C9C9C9C9C02101112131415161718199C9C9C9C9C020708090A0B0C0D0E0F9C9C9C9C9C9C02040506029C9C9C9C9C9C9C9C9C9C9C01020202039C9C9C9C9C9C9C9C9C9C9C</value>
    <value type="5" name="ПоискЗаписи">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C19F8A00B28971008E553600935A3B00F9F4F10075310C00B7917A009D6B4F008B4F3000864A2A00C4A59100BA967F00FBF9F800DEC3B100C391750085442100DFC4B200D0A2870086462400B9957F00AC7E63009B6649008C4F2D00945A3B0096583600A87B6300B2897000A3725700874A280084442100B9927C00F7F0EA00FDF6F000F0D5C400B57F5F00874826007B351000B28D7600FBF6F300EED2C100AD76560087472400B0897200E7D2C700CBA28B00A66C4D007E3C1700E6D9D200ECD8CD00CAA08900AC7655007C3B1800B58C7400BD9E8B00B0856C009F6B4E009153310087492900844626007C391700AE877000915431008A4B29007C3D1C007737140090573700BD9A8600FEFDFD00F5E8E100E4C8B800CD9E84007E402000AB7E6200F1E8E500EBE2DF00DDBFAF00BC896C00864A2900B6917B00FCFAFA00E3C8B800CDA38C00B9805F00EFE6E200E0C6BA00D0A99300AF75530087492700A0796100A4775A00955F3F008F5839008E5739007E3F1F0097664A009E6C4E00925B3C008A51310071300D00C0C0C000007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF0065656565656565656565656565656565656565656565656565656565656565655A5B5C5D5E5F6565654A6061626364655051525354496565654A5556575859655051525354496565654A4B4C4D4E4F655051525354496565654A4B4C4D4E4F654445464748496565654A4B4C4D4E4F653738393A3B3C3D263E393F4041424365022C012D2E2F302727313233343536656520212223242526270128292A2B6565656515161718191A1B1C1D1E1F65656565650D0E0F1011650D0E12131465656565650208090A0B650C08090A0B656565656565050607656565050607656565656565650203046565650203046565656565656565656565656565656565656565</value>
    <value type="5" name="ПоискОшибок">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00CAC8BE00C3AF9B00AF8C7100F4F6F300F6FAFA00F7FAFB00FBFCFB00E9E7E700AE9D9400745D470069543E00F8EFE900F5E4DB00EFE4DB00F2E4DE00EAE5E100B5A9970077695400513F2A00F2D5CA00E2AA9100D2AA8F00D8A99700EBD3CE00D7CAC000A1948500614F3800ECDDD500EFDDD400EABFB600C3B0A900645A3D00EFD7CD00E9BCAA00E5BAA700DFB6A600E0AEA200DCB1A400BFAB9B0063583B00BF000000C9C2BA00DEBEB000BFABA10064513D00ECCFC000C8C0B500E7D5C500ECCABD00EAC8BC00E2B5AA00C0A79A00806E5A00CBBAAD00EDD1CA00E9C7B900C0A79B00C6B3A900D9C3B600AB998B0093836D00AE9E9200000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C0046464646464646464646464646464646464646464646464646464646464646464646464646464646462A15464646464646464646464646462A2A2A1546464646464646464646462A2A2A2A154646464646363E3E3E3E2A2A2A3F2A2A15464646463B3C3C3C2A2A2A3D36462A2A2F46464637381E1E1E2A393A3646462A154646463031232332333435364646462A1546462B1E0E1E1E1E2C2D2E464646462A2F4602222324252627282946464646462A46021D1E1E1E1E1F2021464646464646460215161718191A1B1C46464646464646020D0E0F1011121314464646464646460205060708090A0B4646464646464646020202020202034646464646464646</value>
    <value type="5" name="Пользователи">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000010102000A0B0B0004101B00111111000F1B250003113B0004113B0009133C000F222D000E283A0014263200112B3C002222220024242400252525002727270026272A003F3F3F0046222E0057262600642F2F00763D39007E4122007D4629007B433400031D4D0005264B001D3E4E00002455001D25520002305F0027244F002F315600002D6700142F630000336C0002316F0018336500002C7600002D760000377B00043A7B00003C7B0007397E00053B7F00003E7E00363A6000383E620000407F00285C7400424242004949490042475A00575757005A5A5A006551400066524600745252004A4C690057576D00404A7100495778005B5C72006262620064646400606071006262700062627200C0C0C000B97C1E0094592D00A3672700AF722200AE732200AB762A00A277380086695900BC802000C6891800C98B1800CE981800D2941300D69E1600E9AA0900EEB20800F1B71000E2B03F00E3BA5F00023E80001F26B1002436A20005408000004285001C5D940037508D0022599100094BB0001A5CBA00365BB000485D85005B688300646F870063748F004272A100467FAF004066BA00293BD9000C0CE3001012E1001717E8001640C1000D60CD000D68DA002175DA003942EC000E76E1005353F2000983FD000B85FE00168AFE002A98FF0037A6FF003DA8FF0043A6FE0045B1F8005BB9F00056B4F80051B5FF0060BDF40052C1FA0055C1FF005BC2FF005BD0FF005FD3FF0063C2FF0066CFFF0084868200EEDDBF00F8E5B100AEB7E400B3B7F800F4E6C400CED6ED00EBEBF100EFEFF30001010100005CA000025CA0000758A9001F55AD000648B2000D44B8004B5C80004E6EAB00101BD0001111DF002627C2003D3DE7002020F3002020F5002424F8002727F9000251C5000C54C1003B51D4000A65D5001D7BD3000772E4000172ED00037DFA00047FFD005E5EF9007070ED003280B3004887B8007283A6006F95B9003480D4003885D0001388FE00138AFF00138BFF002E92F6002B9AFF0035A0FF003CA2FE0038A6FF004691C70045A5DB0051A9D0004EB6E60047ABFF0044ACFF0046B4FF004AB5FF0054B2FD0051BFFF0057BFFF005FBCFC005EC6FF0057CDFE005ACCFF005CD0FF0062C3FF0065C6FF0066CFFD006BD3FF006CD3FF00AAAAAD00F1DBAB00FBE5A900F2E1BE008EAAC8009595F800ABB5E000ACB9E500A6A6F800FAEBC500E8EDF300EBEFF300ECEFF100F7F7FA00000000008C92E9009697F6009090FF00AEB8E200F6E7C500F9EBC500C5D4E200D5D8E700D3D3EE00D3DEE900DDDDEE00CACCF400CFCFF800E0E6ED00EFF1F300F3F5F70000000000F3E4C800CDD9E900D7DFE800CCCCFA00E9E9E900E6E8F800FAFAFC0000000000FAFBFC000000000004020000F0B40A0066000000801D9400000000004545454545454545693F3C6945454545454545454545452F1A5B5A062145454545454545454530242B6B6D2D1D08424545453A151413252E59736C632922074345171819162031272C8D6E8F5C28241E4D4E49484726696960907591685D2A3B4553524F46356969698C6F6A67234445454B5554578A4C383D71787661454545454551568B8E58503E7C807B74114545454545396270894A5F8788835E0245454545451B77797245648186820A0445454545331F7A847F6545051C0901344545454512037D857E664540100E36454545454540920C320B454545454545454545454545370D0F4145454545454545454545454545454545454545454545454545</value>
    <value type="5" name="Пользователь">424D360500000000000036040000280000001000000010000000010008000000000000010000000000000000000000010000000000000000000000030500040B1000070F1700291B160030201A003B261F00071B2D00071B2F00101C2700101D2800051C3200233721003E3C2A0048302800066A1200116A17000073150001731600057616000078160006781700007718001C7426001A7E2D0020752200227B25003E6F3B003C6F3C002E71300033703500337635003E703B0064613F0018415E0031445400364E6C0072534200556F41004072400047724700467446004D734E004F7450005676560057775800597759005B785B004457640045576400475A6800736B6700866D6500987D730002821F0000871D000A81180000891E00009E1B0002BB1C0004BD1C000985270000882200008B2300008C2200008E23000983280001922500009525000295260000962600059E2200019C2700009D2700059128000494280004962900019E28000A9D2E0024802E0001A6210001A0240002AB250000A0280002A02A000CAD2F000EBE270012A3320010A6340011B0320020A53A0021C2390037B456003AB958006D8C7A004BC563000D4E8900215A80002A688D00105FB7002A56A6002B63BF005D72900062738F000B76EF00007AF700077FF600007CFC002079E3006180B6006297B5003380CE000481FF000C85FE001189FF00329FFF003EA8F40034A3FF003EA4FF0046A4F80042A9FF0053ADF60043B0FF0052BBFF0055C7FF0058C8FF005AD1FF0060C1FF0060C5FF0068CDFE006DCFFF0062D2FF00BEB8B6008FD69F00B4BCD400C0C0C000E2DEDC00E5DEDC00C3E9CC00CAEBD300ECECEC00F4F5F4000001020031B4510035B454004D845E005FB0770064B568005BC77300265E8D0027638700366A9300335EAA002E65BD00576984004070B2000565C4000965D3000768DD00016FDF002F6EC600337FD9000C71E8001D7FEA000079F900077DFA00027EFD00037FFD004F7FCA003285BC007CBF8A007A8FAE002A86CF003980D1000F88FF00108AFF002293FF002A96FF002598FD002C99FF00309CF300309FFF004A9ECD005A8CD20046A9DE004EB0E00040A3FC0046AEFF0046B1FF004EBBFF004DBCFF0059B7F40050B3FF0051B5FF005AB9FF0057C1FF0055CAFF0059CAFF005BD1FF0065C2FD0065C6FF0062C8FF0062D2FF0069D2FF006CD1FF0099918F00AD958D00BEB0AC0087D29900A9DFB20090A1C700BFCAD200DBD2CF00CEEDD500D6EDDB00D8ECDC00E2EFE500E4EBEE00EDEBEA00F4F2F200F4F6F40000020500B7A59F00B1C3B000B3DFBE00BFCAD200CADCDD00E1DCDA00CEE9D500DFE5DB00D5EFDB00DDF2E200E9E9E900ECEAE800EEEFF300F4F1F100F6F6F600F7F9F800FAFAF900FDFEFD0000000100DFF3E400E2E2E200EBE8E600EDEDED00F1ECEB00E0F1E400F4F4F400F3FBF600F7FCF800FCFCFC0000010100A84B0E005600000070198C0000000000878787878787872B201B2E878787878787878787871E13360D26160F288787878787872A154044180421503F111C878787871D374351540C05253C4841122F8787273A453D475D3306355B4A493E10878719564E3B528A840E895F4B4246148787871A5A595C8D88348C85534C4D392C87878729175E6D6564868B55585738878787878787636B7071686E4F1F2D8787878787872469727378766C878787878787878787086A757B807F7766878787878787878701607A7D838279678787878787878787020B747C7E816F878787878787878787238E0761622232878787878787878787873109030A3087878787878787878787878787878787878787878787</value>
    <value type="5" name="Портфель">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000C0C0C000FFFFFF0000000000BBFFFF00F1FFFF00F8FFFF0096FAFF00A9F9FE00CDFDFF00E2FCFE008FF1FB0088EDFF0081DBF1000393C2000A86AF000D80A6001D607600264D590092E4FD002D4046000199CD00068CB9001276980019688300225566007ADDFF002C4F5C002946500076D0F2005C9EB800A6E3FB00BEE9FA000A98D4001C6D9000277A9F003B95BF0069CFFF0070D1FD001497DB00338FBC0028698A001A99E50059BFFF005CB5ED0069C0F7006BB1DD007BCAF900208FD9002189CD002878AD00296D9C002B5C7D005AB9FC00A8D7F7002299EE002699F2002593E4004EB3FE0032393E002798F1002797EF002994EB002B97F2002A92E7002C8EE10046A9FD0057ADF400314B6000375166008EC5F300374A59002D99F8003092ED003CA2FF0057A5EB003099FC003399FF003498FD003497FC00359BFF003496FB003596F9003595F7003695F700389EFF003387D9003466980034587D005B94CE0033537300334D66003693F5003791F3003790F1003890F000368DE800388EEE00388DED00398EED00398CEA00327DCC004298F100377BC5003777BD003574B6005098E60037628F0068A8EC00355578007FB6F100344456004D5762003A8AE7003B88E5003B87E2003C87E2003981D3004386D9003970B1004B8BD6004B85C900375E8C00476B9400354961008FB9EB00A2BEE0003D85DF003D83DD003D84DD003D82DB003E83DC003E82DA003E81DA003E81D9003F80D7003F7FD6003F7ED4005082C600476EA300364D6A00364B6600276AC900316CC000407ED400407DD300417CD100417BD100417BCF004179CD00427ACE00447FD000477ECC00487FCC003F69A8003E66A2003A5A8700384E6D00353C4600286CDD004279CD004277CA004278CA004377C9004376C7004C79C2003C557E00374459004475C7004574C4004572C2004572C1004673C2004571C0004774C2004976C2001C5AD7002356B8004670BE00466EBC00446BB30043619D003842560033363C001952CF001A54D3001E4BB100476CB900486CB800486BB7003D5077003D4D71003B496600384051001648C400174BC800184ECC001E44A1004969B4004A69B3004A67B10042588B002B3857003A445C00133EB6001543BE00223B8000243A75004B67AF004B65AD001037AE00193895001A378F000E2EA2001033A70020316A00414246000C2697001225800008198700121D6E001E265D0003097100191C550026264000A0A0A0009797970092929200919191008E8E8E008D8D8D008B8B8B008888880085858500838383007E7E7E007B7B7B007878780076767600727272006E6E6E0069696900646464005F5F5F005D5D5D0058585800525252004D4D4D004747470045454500414141003E3E3E003A3A3A00393939003737370035353500333333000000E4EDEAE1E200000000000000000000F079281AF7F4EFEAE2000000000000E328A87F703831331AF7F2EFE9000000E3289F907F71615B4738311046F10000E328939F907F71615B4C4C4C36F70000E32890A99F907F71615B4C4C37F70000E3328FBBA99F907F70615B4C37F70000E35679A5BEB294908171605B37F80000E376BEC7D0C8C8C89A99745E3DF80000E3B3BEA7A7A7A30C0B4A9A6A99C00000E3BD7687878787191942878787C80000E378451F3545454A696370707044000000E1E88A8D74582C2E122E19249C0000000000E1B9CD0000DCDB6A99EB000000000000E3779ECDCDD2D900000000000000000000E2E07A7AC800000000000000</value>
    <value type="5" name="Портфель_связь">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF0092929200A0A0A000476B940042588B00919191004B8BD600286CDD00223B80001938950012258000979797001E4BB100C0C0C0001E265D00121D6E0037628F003F69A8007B7B7B0085858500476EA300276AC9003981D3005B94CE0069C0F7007BCAF90092E4FD007ADDFF0069CFFF00384E6D004B85C9008EC5F300BEE9FA00A8D7F70057A5EB005098E600398CEA003A8AE700375166003D5077003970B1003F7FD60057ADF400446BB3003D4D71004475C7004376C70081DBF10088EDFF003E66A200384051004A67B1004B65AD003890F0002994EB004545450034669800375E8C00CEBDB500C6AD9C00B5A58C00BDAD9C00D6CEC6003D82DB00DED6CE00296D9C00D6B5AD00F7E7D600F7EFE700FFFFF700E7CEB500AD947B00BDADA500CEB5AD00B59C8C006B4A39007B635200D6BDA500D6B5A500E7C6B5006B524200BDA59C00947B7300C6A5940063392900407DD300D6BDAD00F7DEC600FFF7E700FFE7D6008C7B6B002299EE00634A3900BDB5A500E7DED6009C846B00BDA5940052291000422910006B5A4200CEB5A500846B5A0028698A00D6BDB500F7DED600E7CEC600B59C8400AD9C9400B5ADA50069696900A59484008C736B007E7E7E008E8E8E007676760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E0E7273710C020E0E0E0E0E0E0E0E0E0E6E3A6F4D51706D71026F4D51706D0E06673D68696A6B4D6C3D68696A6B4D6D065E5F4B6061626363636460616554660654455556575846595A585B5C3D585D064A454B4C4D3C4E4F504F514D524F530642434445464748494344454647480E06393A3B3C3D3E3F40413B3C3D3E0E0E06292D34350505053212173637380E0E062C2D2E2E2E2F303123321112330E0E0628292A2A2A2A1C1C2B2A2A2A050E0E061F2021222020232425262626270E0E0E0C1415161718191A1B1A1C1D1E0E0E0E0E0E0C0D090E0E0F101112130E0E0E0E0E0E06070809090A0B0E0E0E0E0E0E0E0E0E0E02030404050E0E0E0E0E0E0E</value>
    <value type="5" name="Правописание">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000800000800000FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000800000800000800000FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000800000800000FFFFFF800000800000FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000800000800000FFFFFFFF00FFFF00FF800000800000FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000FFFFFFFF00FFFF00FFFF00FFFF00FF800000FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000FFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF800000FFFFFFFF00FFFF00FFFF00FFFF00FF000000FF00FF000000FF00FF000000000000FF00FFFF00FF000000000000FF00FF800000FFFFFFFF00FFFF00FFFF00FF000000FF00FF000000FF00FF000000FF00FF000000FF00FF000000FF00FF000000FF00FF800000FFFFFFFF00FFFF00FF000000000000000000FF00FF000000000000FF00FFFF00FF000000000000FF00FFFF00FFFF00FF800000FF00FFFF00FF000000FF00FF000000FF00FF000000FF00FFFF00FFFF00FF000000FF00FF000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF000000FF00FFFF00FF000000000000000000FF00FF000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF</value>
    <value type="5" name="ПредварительныйКонтроль">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF00D8E9EC00C6C6C6008484840007070707070707070707070C0C070707070707FFFFFFFFFFFFFF0E0C0CFFFFFF070707FEFEFEFEFEFE0E0C0CFEFEFEFF070707FE010101010E0C0C010101FEFF070707FE01FEFE0E0C0CFEFEFE01FEFF070707FFFFFFFFFEFD0101010101FEFF0707FFFEFEFEFEFFFEFEFEFEFE01FEFF07FFFEFEFEFEFEFEFF0101010101FEFF07FFFEFEFEFEFEFEFFFEFEFEFE01FEFF07FFFEFEFEFEFEFEFF0101010101FEFF07FF01FEFEFEFEFFFEFEFEFEFE01FEFF0707FF01FEFEFF01010101010101FEFF070707FFFFFFFEFEFEFE01010101FEFF070707FE0101010101010101FFFFFFFF070707FE0101010101010101FEFEFE07070707FEFEFEFEFEFEFEFEFEFEFE0707</value>
    <value type="5" name="Привязать">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00AA9FAA00AA9F7F00F0CAA600C0C0C000AABFAA00FDFBF800AB7F7700A4A0A000FFB59000FDF7F100553F2A00B68A6B00FBF0E600FFDFD400DFC2B300D3BDAA00A07D7300DED6CE00CEBDB500C6AD9C00B5A58C00BDAD9C00D6CEC600E8CCB100D6B5AD00F7E7D600F7EFE700FFFFF700E7CEB500AD947B00BDADA500C6BDBD00CEB5AD00B59C8C006B4A39007B635200D6BDA500D6B5A500E7C6B5006B524200BDA59C00947B7300C6A5940063392900D6BDAD00F7DEC600FFF7E700FFE7D6008C7B6B00634A3900BDB5A500E7DED6009C846B00BDA5940052291000422910006B5A4200CEB5A500846B5A00CEC6C600D6BDB500F7DED600E7CEC600B59C8400AD9C9400B5ADA500A59484008C736B00F9CC9E00FCE5CD00000080000080000000808000800000008000800080800000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00C0DCC00000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFCDB4003E0000005D0000007C0000009B000000BA000000D900000005050505050505050505050505050505050505050505050505050505050505050808080808080808080805050505050502474646464646464608050505050505030F2144252945434612442529454305023D163E3F40412542163E3F40412543033435233637383939393A36373B2C3C022C1C2D052E2F1D30312F3205162F3303221C232425152627282729252A272B03131A1B1C1D1E1F201A1B1C1D1E1F210207131415161718191214151617180503070707070E0F10111205050505050502070A0A0A0B030C0D0D050505050505030707070707090408050505050505050607070707070208050505050505050502030302030304050505050505050505</value>
    <value type="5" name="ПривязатьУД">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF0080000000C0C0C000DED6CE00CEBDB500C6AD9C00B5A58C00BDAD9C00D6CEC600D6B5AD00F7E7D600F7EFE700FFFFF700E7CEB500AD947B00BDADA500C6BDBD00CEB5AD00B59C8C006B4A39007B635200D6BDA500D6B5A500E7C6B5006B524200BDA59C00947B7300C6A5940063392900D6BDAD00F7DEC600FFF7E700FFE7D6008C7B6B00634A3900BDB5A500E7DED6009C846B00BDA5940052291000422910006B5A4200CEB5A500846B5A00CEC6C600D6BDB500F7DED600E7CEC600B59C8400AD9C9400B5ADA500A59484008C736B000000800000800000008080008000800080800000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D000303030303030303030303030303030303031134151935330311341519353303032D072E2F30311532072E2F30311533032425132627282929292A26272B1C2C031C0C1D031E1F0D20211F2203071F2303120C131415061617181719151A171B03040A0B0C0D0E0F100A0B0C0D0E0F11030304050607080903040506070809030303030303030303030303030303030303030302020203030203030303020303030302030303020302020202020203030303030303030203030203030203030303030302020202030302030302030303030302030303020303020303020303030303020303030203030302030203030303030203030302030303020202030303</value>
    <value type="5" name="Прикрепить">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000CD735C00ECB29D00D08D7300F6C8B500FBD6C7008B4425008D503600BB71500073473400B0786000EABDA8007A290000AC420E00DB622600E7845300F5A07300E5CEC000BDAB9A004D4B48000000000050CFCE0045CBCC00AABBBB0077B1B300CAFEFF00D9FAFC0073EBF5007BECF50084F1F90089F2F9008CF5FC0092F5FE00A2F9FF00A1F5FB009FEDF3008ACAD000B4F7FC00BDF8FC00D1FAFD00D5F6F90039C4D4003399A50062E3F1006CE9F70069DEEB0062CFDC003770760076EBF9007EEEF90085EAF60090EFF8009BF3FC008EDBE300C7EEF20051D7EA0052D3E40028656D005ADCEF002C6B740057C9DA005FD6E70064E0F00067E3F30070E8F7003E79810080E2F1004D808700A7DAE10093B1B500136574002BB5CD0033BDD60039ADC0002C7C89004AC2D6003589970057D9ED004699A8005ECCDF00648E95000A5A6900168AA30020B0CC001B8196001C7283002FADC7003CB6CE0043C6DF004CD2EB001992AF00383E4400C0C0C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B234D3A383838382E4F165B5B5B5B5B5B5B484E56484B495354502E445B5B5B5B5B434A412C4C5649595954504F5B5B5B5B5B283B311B3D5649595951454F5B5B5B5B344721321B3D295349493A50445B5B5B5B4722211E2F2D4D56575538425B5B5B5B170505111C1A2A365857482E5B09065B080C0C051F302B2A4C365740020D0C0B0B0B0C0B23171D1A2A393740000F0D0C01070D0B5A12321D1A3E3C400A040F070203010C182420331D1B2C2E5B03025B5B0E071019261825211D2C2E5B5B5B5B5B1535271926262524213F2E5B5B5B5B5B14151528284646525246425B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B</value>
    <value type="5" name="Принятие">424D360500000000000036040000280000001000000010000000010008000000000000010000C40E0000C40E000000000000000000000098000000980000009800000098000000980000009800000098000000980000009800000098000000970000009600000095000000920000018E010001880100028002000475040007630700095409000C450C000F3A0F0010341000132D130015271500172017001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121210022222200232323002424240025252500262626002727270028282800292929002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131310032323200333333003434340035353500363636003737370038383800393939003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141410042424200434343004444440045454500464646004747470048484800494949004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151510052525200535353005454540055555500565656005757570058585800595959005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E006867650073706C007D787300958F8800A9A29A00B9B2AA00CAC2B800D9D0C500E8DED200F1E8DD00F8F0E700FBF5ED00FDF8F200FEF9F500FEFAF600FEFBF700FEFCF800FEFCF900FEFCFA00FEFCFA00FEFCFA00FEFCFA00FEFCF900FEFBF800FEFBF700FEFAF400FEF9F200FEF8F000FEF7EF00FEF7EE00FEF6ED00FEF6EC00FEF5EB00FEF5E900FEF4E900FEF4E700FEF3E600FEF2E300FEF0E000FEEFDE00FEEFDC00FEEEDB00FEEDDA00FEEDD800FEECD800FEECD700FEEBD600FEEBD500FEEAD400FEEAD300FEE9D200FEE9D000FEE8CF00FEE7CD00FEE7CC00FEE6CB00FEE4C800FEE4C700FEE3C500FEE2C400FEE1C200FEE1C000FEE0BF00FEE0BE00FEDFBC00FEDEBB00FEDDB900FEDDB800FDDCB700FDDCB600FDDBB500FDDBB400FCDBB500FBDBB600FADAB600F8D9B700F5D8B700F0D5B700E8D1B700DDCBB600CBC0B400C1BAB200B5B3B100B2B2B200B3B3B300B4B4B400B5B5B500B6B6B600B7B7B700B8B8B800B9B9B900BABABA00BBBBBB00BCBCBC00BDBDBD00BEBEBE00BFBFBF00C0C0C000C4B5C400C9A9C900CD9FCD00D295D200D58BD500DB7ADB00E263E200E850E800ED40ED00F133F100F526F500F916F900FB0CFB00FD07FD00FD04FD00FE02FE00FE01FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE01FC00FA0CE500F420C000EC3A8C00E5515F00DE653700DB712100D87A0F00D77E0700D6800200D6810100D6810000D6810000D5820000D5820000D5820000D5820000D5820000D5820000D5820000D5820000D5820000D2D2F7F7F7F7F7F7F7F7F7F7F7D2D2D2D2F78E8EA2A2A2A2A2A2A2A2A2F7D2D2D2F7888EC055555555A2A6A6A6F7D2D2D2F78589559696999C55A2A6A6F7D2D2D2F78400550055550055000000F7D2D2D2F77F8455558E9255559C9FA2F7D2D2D2F77C00555500005555989C9FF7D2D2D2F7797C55558888555596989CF7D2D2D2F76E00555500005555000000F7D2D2D2F7716E7955818485558E9396F7D2D2D2F77100005500000055898E93F7D2D2D2F77171706E55555583F7F7F7F7D2D2D2F77100000000000000F798F7D2D2D2D2F771717171706E797CF7F7D2D2D2D2D2D2F7F7F7F7F7F7F7F7F7D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2</value>
    <value type="5" name="ПринятьДокумент">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600C0DCC000AABFAA00F0FBFF00AA9FAA00553F2A0066FF990000990000A4A0A00000800000AA9F7F00555F5500FFB59000FFFFD400FFDFFF00555F2A00FFDFD40033CC6600FFCCCC000000800000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F80000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00FBD9B600AB7F77001A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1AFFFFFFFFFFFFFFFFFFFFFFFF1A1A1A1A06120E0A0E0A0E0A0A0E06FF1A1A1A1A0C1205121212FEFEFEFE0CFF1A1A1A1A0C100112121312FEFEFE0AFF1A1A1A1A060F0E0E090B130E0EFE0CFF1A1A1A1A0C0505090B0B0B0812FE06FF1A1A1A1A0601090B0B0E0B0B08FE0CFF1A1A1A1A0C090B0B0112100B0BFE0AFF1A1A1A1A04010B0E0E0E0E0E0B090CFF1A1A1A1A0601010101010F100F0B09FF1A1A1A1A02050E0E0E0E0E01010C0BFF1A1A1A1A04010101010101010C078D0B1A1A1A1A02010101010101010A02FF080B1A1A1A030501050501010106FF1A1A08091A1A0202030202030204021A1A1A1A1A</value>
    <value type="5" name="ПринятьДокумент_Связь">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000000000000000000000000FFFFFF00F0CAA600C0DCC000AABFAA00F0FBFF00AA9FAA00553F2A0066FF990000990000A4A0A00000800000AA9F7F00555F5500FFB59000FFFFD400FFDFFF00555F2A00FFDFD40033CC6600FFCCCC000000800000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F80000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00FBD9B600AB7F77001A011A0C2A282B2F011A0C2A282B2F011A310C1A12320C2A0A0C1A12320C2A2F1A2F330CFF0ABBAEAEAE0DFF0A300C2A1A0C34071A1AFE350F12FE1B1A0CFE071A30340C072A2F02300230282A0630FF1A321A123435020C2F1A123435020C1A1A01321A2F0C2F3201321A2F0C2F32011A1A0601090B0B0E0B0B08FE0CFF1A1A1A1A0C090B0B0112100B0BFE0AFF1A1A1A1A04010B0E0E0E0E0E0B090CFF1A1A1A1A0601010101010F100F0B09FF1A1A1A1A02050E0E0E0E0E01010C0BFF1A1A1A1A04010101010101010C078D0B1A1A1A1A02010101010101010A02FF080B1A1A1A030501050501010106FF1A1A08091A1A0202030202030204021A1A1A1A1A</value>
    <value type="5" name="Продолжить">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000C0C0C000F5B39300F5BB9E00F5C1A700F5C1A900F5B08E00F5AE8B00F4A88100F4A47F00F5B99D00F5C2AA00EAAA8B00F6B18F00EE926500C8704400B7653B00B4603700DD784700F5B79900E9A48100F5C09E00F5A87F00F6B29000E78C5E00C7704500BB683E00AC5D3500B56F4400A75F3900EE885600F5C0A500E7997300F39A6A00F49C7100F18C5900B4633A00B0613800A95D3500A3583100DB774500F4A58000E68E6200EC824B00F38D5B00EC9C7600924B2800C26A3E00DC764500F4A98000E5835200DF733600EA824900E28C6100C2693E00E67E4A00F4A98300E3784200D6724000C7693A00B65F3400AD5A3100954C2800C1693D00EB845000E3977000DB764500EF936600BE643800F0885400CF7E5600F0844F00D4794E00F2844F00D1744800D67443009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF0000000000147BC500147BC500E80400001C7BC500E004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010101010101010101010101010101010101010101010101010101010101010101010101054B05010101010101010101010101054A49050101010101010101010101054847050101010101010101010101014645440101010101010101010101016C43420501010101010101010101010141403F0101013E3D3C3B3A39010101013837360101010135213433320101010131302F0101016C2E2D2C2B2A010101012928276C010E252423222120010101011F1E1D1C1B1A191817161514010101010B131211100F0E0D1501010C01010101010B0A09080706150101010101010101010105040315010101010101010101010101010101010101010101010101</value>
    <value type="5" name="Пронумеровать">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00CA754C00DF825400C06F4800AB634000B86B450097573800884F3300D87F5200C0C0C000B76B4400D77E5200A05D3C00B76A4500C070490098583900844D3200D17A4F00CE774D00AB644000CE784E00B2674100C472480090533600C171480085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF000A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A19100A0A0A0A0A0A0A0A0A0A0A0A0A0A0A27180A0A0A0A0A0A0A0A0A0A0A0A0A0A15260A0A0000000000000000000A0A120D0D0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0F10110A0A0A0A0A0A0A0A0A0A0A0A0A0A0E0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A260D0A0A0000000000000000000A0A090D090A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0607080A0A0A0A0A0A0A0A0A0A0A0A0A0A050A0A0A0A0A0A0A0A0A0A0A0A0A0A03040A0A0A0000000000000000000A0A0A020A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A</value>
    <value type="5" name="ПросмотрДокумента">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000B1988B00B2998D00B39C9000B6A29800B8A59C00DDA78900DFAD9000E3B49A00E2B49A00B29A8D00B6A39800E6BEA500E6BEA600B39D9000BCA69800B9A39500C0AA9C00C9B3A500B7A69C00EAC8B200EED3C000BEA89900C7B1A200CCB6A700CBB5A60063493500EED3BF00BAA59600C5B0A000C3AE9E00CAB5A600BDB0A600F3DECD00F2DECD00AFA39900F6E8DA00FEFDFC00F6E8D900F6E9DA00FAF2E600FAF2E500FDF9EF00FDFAEF00FCFAEF00FFFFF600AEC1A60099B89C003D74430093D39A0041824C004F84580064956E004BA761004CAC640053B46C005DC0780076A58300E2E9E900E4EAEA00DFE3E300C2C8C90077DBF40083E1F6007ACDE20086D3E50050C9EF0065D2F20061C1DE0027B2E40029B6E9002EA9D60032B2DF003BBFEB005FB2CF00C1C4C5001CA3D6001D99C8001A88B3008FA4AC008CA1A900889CA500102C3A001F536D008396A0007E909A00AFB8BD0015273300172935004A6170004B6170004C616F005E7584007A8B9600405B7200415C7200455D71003C59730023354700FEFEFE00FFFFFF00C0C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065656565656565656565656565656565101A1A1A1A1A1A1A1A1A1A1A656565651C2C2827221B140C0907061A656565650F2D0504240E0A010101071A65656565162D2D2B29242215140D081A65656565112D130B2A03020101010C1A656565651E2D2D2D2D2A29262115141A656565651D2D2D2D2D2D2B4B5F22151A6565656517253A5C3C2D3D594762231A6565653212634F415A5659445B4657525865303519633B4F3F5A405B4360484D4E53333618181F204F3F5A3F61434249454C343765656565654F3F5E3F3E4342494639386565656565654F3F3F3F3E434A5D2E31656565656565654F505154555D652F2E65656565656565656565656565656565</value>
    <value type="5" name="ПросмотрСвязи">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF50504820C0C0486070FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF50504820C0C088D8F06890A8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA08068C0A080B89870B8987088605060808088D8F06890A8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC0A080FFE0C0FFE0C0FFE0C0FFE0C0D8B090886050608080604838FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB8A090E8E0C0FFFFE0F8E8D8FFFFFFF8E0D0F8D0C0D0A880887060FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA89888F8F0E8FFFFF8F8F8F8FFFFFFFFFFFFF8F0E0FFE0C0E0C0A0FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC8B8B0E8E0D8FFFFFFFFFFF8FFFFFFFFFFFFFFF0E8FFE0C8D8B090FF00FFFF00FFFF00FFC6BDBDA594847B63526B52428C736BF8F0E8F8E8D8F8F8F8FFFFFFFFFFFFF8F0E0D8B090B5ADA5FF00FFFF00FFCEC6C6B5A58CD6BDB5F7DED6E7CEC6B59C84E8E0C0FFFFE0F8E8D8FFFFFFF8E0D0E7CEC6E8E0C07B6352B5ADA5FF00FFBDB5A5E7DED6B59C8C9C846BBDA594522910C0A080FFE0C0FFE0C0FFE0C0FFE0C0D8B090D0A880C6A594846B5AFF00FFC6A594F7EFE7633929FF00FFD6BDADF7DEC6FFFFF7A08068B89870B898708C7B6BFF00FFB5A58CF7DEC6634A39FF00FFCEB5ADF7EFE7B59C8C6B4A397B6352C6AD9CD6BDA5D6B5A5E7C6B5D6B5A56B52427B6352BDA59CD6B5A5947B73FF00FFDED6CED6B5ADF7E7D6F7EFE7FFFFF7E7CEB5AD947BBDADA5D6B5ADF7E7D6F7EFE7FFFFF7E7CEB5AD947BC6BDBDFF00FFFF00FFDED6CECEBDB5C6AD9CB5A58CBDAD9CD6CEC6FF00FFDED6CECEBDB5C6AD9CB5A58CBDAD9CD6CEC6FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF</value>
    <value type="5" name="ПроставитьОтдел">424D360500000000000036040000280000001000000010000000010008000000000000010000000000000000000000010000000000000000000007497000C14F1900DC5D3F00E65F3E00D27A2E00B9725700DE7F5600E26C4400E46B4B00C0C0C000ED684900F66B5300FA7F6000DF993E00E9A54F00DA8A6400F6846100FB866500FB886600E6A17300FBC37000075B86000A5A85000473A2001C66BE00206FA1002373AE002779B100556A96001E6BC300287BE200348DD1003A94D1002F8DF0003395F6003CA2FB0044A8F10040A7FB0041A8FB0045ACFB0049B1FC00B48B8300C19D9200C19F9800C2A09900C2A39F00E4A18200E4A88C00E0B19300C5A5A000CAACA700CFB0A900D2B4AA00D5B5A900D8B7A800DBB9A900DDBBAA00DFBDAB00D8B9AE00D1BFB100E1BEAB00E5BEA900E4C1AC00E7C4AD00E8C5AF00FFD3A000FED2A600FFD7A900FED7AF00FFDCB200FEDAB700FEDAB800FFE1BB00BAFFFF00CDCBC500FEDFC000FFE5C400FEE3C800FEE4C800FFE7D100FFE8D100FFEFD100FFEDD600FFEBD900FFECDA00FFF1DF00FFF0E200FFF6E700FFF5EA00FFF9F200FFFDF700FFFDFA00FFFEFE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2A2A2A2A2A2A2A060202020202020A0A2B524D49464442020309070D0C04020A2D524E4C4844440209303E11120B020A2C570E0E0E0E0E02112F5D1013080A0A2D5955504E4C4614021D191E010A0A0A325A0E0E0E4E0E05011F222323010A0A335D0E4A0E524E4C012324262624010A345D0E0E0E550E0E012428292520010A355D5D5A59575550012828292116010A3B5D0E0E0E0E0E0E011B1C1A1718010A3B5D5D5D5D5A59574B01010101010A0A3E5D0E0E0E0E0E59573C3C3C2A0A0A0A3F5D5D5D5D5D5D5A5D2A2A2A2A0A0A0A3F5D0E0E0E0E0E5D5D2A150F0A0A0A0A415D5D5D5D5D5D5D5D2A0F0A0A0A0A0A31413F3F3E3B373535350A0A0A0A0A</value>
    <value type="5" name="Проценты">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00D7E8EB00D8E9EC00C7C7BC00AE8E5800B5986000B5976000AA8A5400BCBEB400D1E1E400BAAD9200B0915A00B5AC9600CFDFE200D6E7EA00CACEC700B4935C00E0D7C300E5E5E500DFD4C000AD8B5000B4BCBA00C8D1CD00BA985E00E3DED500E2D8C200A4844B00B7C5C800B3946100DDCDB000EBEBEB00DFD3C100DFD4C400DDCBAA0099846000AA936800DDCBAE00EAEAF200D4BD93008C795A00A5B2B400CADADD00B68E4E00E0DBD500E2E2E200BB924B00BE985500E3E3E300E2DAD100A7792F00BA975900E2DBD300A881410087909200ACBABC00CEDEE100B88F4900DCD9D600E1DDDB00AC813B00B0894800E1E0E000DCD7D200CA9A4300D9C6A900D0B17B0086715400959C9A00BFCED100D4E5E800AE843800D5D0CA00DCDCDC00B3843500BD934C00DDDDDD00DACFC200E9BF7600DADADA00DED2C200CC993F00B5905500BE9B5A00B38E4E00B8B39F00D0E0E300AE8C5100D3C2A400CFBFA600D0C2AC00DBDBDB00DFC8A200DFCBAE00D6D6D600E6C58C00E0CCAD00E1D7C900C89E5400ADAB9A00C0C0B400B78F4500DACEBE00D5C5AB00D3B37600D2D2D200DDCCB600E4CA9F00D4D4D400DACCBA00DECBAF00D3D3D300E1D0B700A8844400B1AD9C00A9833F00B7935300B38E5000C08B2C00D5C6B000E0B97200D5C7B400CEA45C00C3913C00D5D3D200D6D2D000BD944C00CDDDE000B6C4C7009EA6A20093866B00CCA96A00CA973900D1C9C000D1D1D100BE985200B4863400D8D1CA00D0D0D000C89F5500C7D6D900B9934C00D9CDBE00CECECE00C9A25C00AE7B2100D8CCBD00CACACA00CDA55D00C8984200CECDCD00D1CDCA00BC954C00D6E5E700D6E3E500D7E4E600C5C2AF00DAB77900E0CBAD009F88580094876800E5C79400C5C5C500D1C6B800D6C7B300BFBFBF00E1CEB300A5803C00C6D4D600B7C3C500B5C0C300B19A6800F6DBAD00E5DACB00D8AC5B00777D7E0089909200B5914E00EDD5AD00CDCDCD00E7D6BB00C9A157007D7C7100C5D5D7009A9B8E00967B45009A7C4000686049007A83850095A0A2007F8784008B723E00C19D5500C5A0570093763A005F6059007F898A00D3E4E700D2E2E500B4C2C5009FACAE009AA6A800A9B6B900BECDD000C2D2D400B1BFC1009DAAAC0094A0A200939FA1009BA7A900ADBBBD000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F000100000001000000000000005CE1EC000000000001000000D51CFF00000000000000000000000000000000000000000003000000000000001A048F000100000000000000000000000000000007000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002C5C62AC7C8C9CACBCCCDCECFD0D1D2467FB7B8B9BABBBCBDBEBFC0C1C2C3C4A8A9AAABACADAEAFB0B1B28FB3B4B5B6999A9B9C9D939E9FA0A1A2A3A4A5A6A70302568C8D8E8F909192939495969798027F8081828369778485868788898A8B0A727374757677697879697A7B7C7D7E6465665B4F6768696A6B6C6D6E6F7071575849595A5B5C5D5E5F605B5B6162634748494A4B4C4D4E4F50515253545556393A3B3C3D3E3F4041134243444546032B2C2D2E2F30313233303435363738031D1E1F20211F22232425262728292A0310111213131415161718191A1B1C0E03030405060708090A020B0C050D0E0F0303030303030303030303030303030303</value>
    <value type="5" name="ПроцентыФормированиеПериодов">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="РазбиениеПоКД">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00000080000000FF008000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00000080000000FF008000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00000080000000FF008000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF0080000000FF008000FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF008000FFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF</value>
    <value type="5" name="Разблокирование">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000010000000000000101010002020200030303000404040005050500060606000707070008080800090909000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111110012121200131313001414140015151500161616001717170018181800191919001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121210022222200232323002424240025252500262626002727270028282800292929002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131310032323200333333003434340035353500363636003737370038383800393939003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141410042424200434343004444440045454500464646004747470048484800494949004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151510052525200535353005454540055555500565656005757570058585800595959005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E005F5F5F00606060006161610062626200636363006464640065656500666666006767670068686800696969006A6A6A006B6B6B006C6C6C006D6D6D006E6E6E006F6F6F00707070007171710072727200737373007474740085668500A250A200C82FC800E516E500F607F600FC01FC00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE01FE00FE02FE00FE03FE00FD06FE00FB0AFE00F911FD00F51CFC00EF2CFB00E446F700D960F200CC7CEC00BF93E300B1AED700ABC2CD00B0C0C700B5BDC100BBBBBB00BCBCBC00BDBDBD00BEBEBE00BFBFBF00C0C0C000C1C1C100C2C2C200C3C3C300C4C4C400C5C5C500C6C6C600C7C7C700C8C8C800C6C0D200C4BADA00BFBBE200B8BFEA00B4C5F000B0CCF400ADD5F700ABDCF800ABE1F800ACE4F800ACE6F800AFE8F900ABE7F900A8E6F900A6E5FA00A1E3F9009EE1F9009BE0F80097E0F80095E0F70092E0F7008FE0F60089DDF40084DAF20081D7F0007DD4EE0079D2EC0076CFE90072CDE8006FCBE6006CC9E40066C6E20062C1DE005EC3E00059C1DE0055C1DE0051C0DE004BBEDC0046B9DA0043B8DA0041B6D9003DB5DA0037B4DA0033B3DA0030B2D9002BB1D80027AFD70022ACD5001BA8D10016A4CD00159FC900179BC3001597BF001897BE001895BC00929292FBEFE9ECF2EE929292929292929292FAFAE2D9DBDDE2E5EF92929292929292F9F7E1D8DDE1EBDEDAE4929292929292F7F5DCD4D7E9FCE6DCDAF49292929292F5EED2D4D4E7FFE9DCDCF49292929292F3EED4D4D4D4E9E4DBDCF49292929292F5EEE9E7E8E8E6E0D9D8F49292929292F6E4FFFEE1EEF7F9F6E3F3929292929292F5EEE4DBDFEDFBFDFAFA929292929292929292ECEEEEFCFDFAFA929292929292929292929292FCFD929292929292929292FFFF929292FCFF929292929292929292F5FB929292FBFF929292929292929292EFE5929292FCFD92929292929292929292EBE3EFF2F9929292929292929292929292ECECEF92929292929292</value>
    <value type="5" name="РазблокироватьДляПользователя">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00074970000473A2000A5A8500206FA1002779B1002373AE00075B86003A94D10049B1FC0045ACFB00348DD10044A8F1003CA2FB0040A7FB003395F6008AD9F80099D4EC005E869800477A8F002F8DF000B6E0F10068AFCE005490AA003D6C7B001E6BC3001C66BE00556A9600C14F190047788900E26C4400FB886600DA8A6400FFFEFE00E4A18200F684610045809700ED684900FB866500E5BEA900E4A88C00E46B4B0097D6F1004A849A00E65F3E00F66B5300FA7F6000DE7F5600DC5D3F00B9725700BFBFC00097ABBC0092ABBE00BCCAD100B7F2FF00A7E8FF00A3DFF6009FD3E400A3E6FF0090E6FD004E74850092A7B700A3E7FF0059CDFE00357489002E5961005CB6D90057C6F600416B7C008EA3B3009DE3FF0047C1F80056B1D5004992AA0060D0FA004CBCF200366170008A9EAE0086D9FF003FB3EC0058A8C40049ABD50048B4E5003BA6D900345E6A00B1C1CA00728E9F005C7D8E004B6F7E003E667400355F6A0036616B003C677A00C0C0C000E5EAF600FF20E800E5ED7C00F1EFF000E2E8F20020E8EC00EDE02000EAEEED00EA20E200E1E8E100E8EEF200801500001F000000000000000E00000031353300D1EEF000E8F0EE009C1500004F000000000000003C00000031353500EFEE2000ECE5ED0020EAE00020F7E800EBF37C00EEF0F200F0EEE200F2FC2000EAEEED00E820EF0020E8EC00EDE82000E0EA2000E8F1EB00E81500004B000000000000003800000031353700EFEE2000E0E7EC00F0F37C00EEF0F200F0EEE200F2FC2000EAEEED00E820EF0020F0E000ECE5F00020E8E700E1F0E000E5EDE80000000000D829ED00D829ED00E4010000242DEC00000000008823ED00000000009C59EC00000000002814EA00000000001C61E90000000000D023ED00000000007C5FEC0000000000B0C6EB0000000000A463EC0000000000A413EA00000000002014EC000000000034AEEB000000000048A8EB00000000007011EB0000000000D415EA00000000007C61EC0000000000FC24ED0000000000F812E400000000002C25ED00000000004065EB00000000006415EA00000000007425ED00000000009C04E40000000000FC65EB00000000006042EB00000000001492EB000000000088B1E90000000000BC25ED00000000007027ED0000000000B827ED0000000000F06DEB00000000002428ED00000000001CF9E900000000007028ED0000000000C028ED00000000008880E50000000000782EEC0000000000F028ED0000000000E479E300000000003429ED0000000000D016E400000000005029ED0000000000AC1AEB00000000009C29ED0000000000C82BED0000000000102CED0000000000982BEC0000000000602CED0000000000882CED00000000009881EA0000000000A82CED00000000005E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E565758595A5B5C5D5E5E5E5E5E5E5E5E4E4F5051525354555E5E5E5E5E5E5E5E464748494A4B4C4D5E5E5E5E5E5E5E5E3E3F4041424344455E1D1D1D1D1D1D5E343738393A3B3C3D1D2D2E2F302A313233343434343534361D26272428292A1D2B172C5E5E5E5E5E5E1F20212223241D17255E5E5E5E5E5E5E5E021A1B1C1D1D111E5E5E175E5E5E5E02101015025E5E1617181714195E5E020E0F0F0E10055E5E111213145E5E5E020C0D0A0B0E025E5E5E5E5E5E5E5E5E0208090A0B0B025E5E5E5E5E5E5E5E5E020304050607035E5E5E5E5E5E5E5E5E5E02020202025E5E5E5E5E5E5E5E5E5E</value>
    <value type="5" name="РасчетПени">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF0053535300EAEAEA00E5E5E50001010100575757000202020091C4910090C390008EC18E008CBF8C0089BC890087BA870085B885005E915E0081B4810003030300AADDAA00A7DAA700A3D6A3009FD29F009ACD9A0096C99600699C69008ABD8A00040404007272720045454500DBDBDB00D2D2D200181EE70042424200D8D8D80099999900CFCFCF003E3E3E00D4D4D400CBCBCB003A3A3A00D1D1D10094949400C8C8C80037373700CECECE00C6C6C60033333300CCCCCC008F8F8F00C3C3C3002F2F2F00C9C9C900C0C0C0008C8C8C0026262600C7C7C7008A8A8A00BEBEBE0017171700CDCDCD00C5C5C5000B0B0B00F923060009090900555555000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340606060606060606060634343434341B333B3C3B3C3B3C3B331F34341F1F1F1B3738393839383938371F34341F341F1B333334333433343533061F341F341F1B2F303130313031302F061F341F341F1B232C2D2C2D2C2D1F1F1F341F1F1F1F1B28292A292A292A1F281F341F3434341B252526252625261F251F341F3434341B212223222322231F211F34341F34341B1D1E1E1E1E1E1E1F1F1F34341F34341B1B1B1B1B1B1B1B1B1B0634343434341B1213141516170818190634343434341B08090A0B0C0D0E0F100634343434341B0606060606060606060634343434341B03040404040404040306343434343440404040404040404040343434343434</value>
    <value type="5" name="РасчетПроцентов">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF005555550053535300EAEAEA00E5E5E50001010100575757000202020091C4910090C390008EC18E008CBF8C0089BC890087BA870085B885005E915E0081B4810003030300AADDAA00A7DAA700A3D6A3009FD29F009ACD9A0096C99600699C69008ABD8A00040404007272720045454500DBDBDB00D2D2D200181EE70042424200D8D8D80099999900CFCFCF003E3E3E00D4D4D400CBCBCB003A3A3A00D1D1D10094949400C8C8C80037373700CECECE00C6C6C60033333300CCCCCC008F8F8F00C3C3C3002F2F2F00C9C9C900C0C0C0008C8C8C0026262600C7C7C7008A8A8A00BEBEBE0017171700CDCDCD00C5C5C5000B0B0B00F9230600090909000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000350707070707070707070735353535351C343C3D3C3D3C3D3C343F35353F3F3F1C38393A393A393A39383F35353F353F1C343435343534353634073F353F353F1C303132313231323130073F353F353F1C242D2E2D2E2D2E3F3F3F353F3F3F3F1C292A2B2A2B2A2B3F293F353F3535351C262627262726273F263F353F3535351C222324232423243F223F35353F35351C1E1F1F1F1F1F1F3F3F3F35353F35351C1C1C1C1C1C1C1C1C1C0735353535351C13141516171809191A0735353535351C090A0B0C0D0E0F10110735353535351C0707070707070707070735353535351C04050505050505050407353535353535020202020202020202353535353535</value>
    <value type="5" name="Редактировать">424DF60000000000000076000000280000001000000010000000010004000000000080000000000000000000000010000000000000000000000000000000008000000080800080000000800080008080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00800000000000888878888888888808887FFFFFFFFFF808887FFFFF00FFF8088878888883000008887FFFFFFF3BF300887FFFFFFFF3BF370878888888883B30007FFFFFFFFFF300047FFFFFFFFFF800C478888888888804FC7FFFFFFFFFF804CF7FFFFFFFFFF8084C7F0F0F0F0F0F088480F7F7F7F7F088888808080808088888</value>
    <value type="5" name="РедактироватьМаски">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080808080000000000000000000000000000000000000000000000000000000000000000000000000000000000000008080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000008080808080FFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFF000000008080808080FFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFF000000008080808080FFFFFFFF0000FF0000FF0000FF0000FF0000FFFFFFFF0000FF0000FF0000FF0000FF0000FFFFFF000000008080808080FFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFF000000008080808080FFFFFFFF0000FF0000FF0000FF0000FF0000FFFFFFFF0000FF0000FF0000FF0000FF0000FFFFFF000000008080808080FFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFF000000008080808080FFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFF000000008080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000008080808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000008080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080</value>
    <value type="5" name="РедактироватьНастройки">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF0097776C00CC979700A87B7B00AC815700D1A172007A614900E0E0E000FFA3A30061616100F2B6890057412C00A8A87B0082616100C1C1C100497A7A00E7A774001892AB00414141002082C3000C171700F3AB800001010100DD8C5D00C0C0C000000000000000000000000000000000000000000000000000FCA054009096AB00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F4A054009096AB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AC791600F433A9008448A900786458007864580054260000906643009096AB006499100000000000080000006000000000000000F8AAAB00786458000C110000000000003C9AAB000401A9004C61800000000000000000002000CC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009096AB0000000000A6072500389AAB00389AAB0028000000A8CE4100D499AB00649910000C9AAB00080000006000000090000000430000007C7D4500000000000000000000000000000000000000000000000000000000000800010090010000AE0B0500000000003466510054FDA9000000000078645800786458003C100000000000000000000078645800786458007864580078645800402500007864580078645800141000000000000000000000000000000000000000000000000000000800010090010000880B0400000000003466510034BBA90000000000089BAB00089BAB00D40F0000000000000000000000000000000000000000000000000000649AAB000F0085000B008800389BAB00389BAB00A40F0000000000001805860018058600940F00007448650067687400CA000B006C6965007457690074680300020543006C6F720009636C00746E460063650C006F6E740043686100736574000F44450041554C005F434800525345000A466F00742E43006C6F72000C636C00696E640077546500740B46006E742E00656967007402F500466F6E002E4E610065060D00532053006E732000657269000A466F00742E5300796C6500000A4B007950720076696500090E4F0064437200617465007264650008085000736974006F6E0700706F4D00696E4600726D43006E7465000C4F6E006C6F73005175650079070E006F726D006C6F73005175650079084F004372650074650700466F720043726500746509006E4B6500446F7700070B4600726D4B0079446F006E0D500078656C00506572006E636800600A54007874480069676800020D0000544C6100656C0500191919191919191919191919191919191919191919191919191919191919191919190417041919191919180C1819191919190A121704191919060C090219191919190D0A12150416060C0802191919191919190D0A1215040C0802191919191919191919030A140C08021919191919191919191919040C08020D191919060C0619191919110C080212130419060C080A191919030C0802030A100A070C07020606070C07080219190D0E080F03070619020404040A1919190B0508080904191902191904071919190307080904191919191919060419190707040406191919191919020203190405060403191919191919191919191919191919191919191919</value>
    <value type="5" name="Рубль">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFC2DCE29DC8D17FC0C975BEC67BBAC287BDC4A1C8D0C2DEE5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFCDD295BFC68EC7D083CCD489DAE290DFE883CED785C7D28ABFC9AACBD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9DC0CA8BC0CD97DFE986DBE389E4E980E3EB72E2EE67DEED69E3F176DFED7BC3CF9AC8CFFFFFFFFFFFFFFFFFFFAECAD18BC2CF98DFED75C0C900242A00181E7ED8DF76E4F069E6F55CE0F166E3F27BE2F178C3CCA8CCD2FFFFFFC0DCE790BEC990E2ED92E5EDB2E0E700171C001B1EB5EDF29BE6EE8DE7F27CE1F074E4F66AE7F67BE3F08AC0C7C4DEE49DC8D786C2CE83DEE7001E23001F220E171A08191C00191D00171B001D2300161F68CBD965E7F868DFEE81C4CDA2C9D183BBCE85C6D58FE1EC89CED16885821118150D1112939C9F99ACAFAACDD0A9E2E38EE4EA70EAF66CE3F27ECAD685BEC772BACB8FDEEB85E1EC001C22001D1B061714121B1E081418001A1B001A1960918FA5EAED85EFFA73E0EE8DE2EC71B9C162C0C677DEE76AE5EF78E7EF9ADFE200191B001920C4EBF3A5EEF291DCDE001B1D001B1F80D1D982E1EB8BE2EC69BCC46AC1C57EE3EB63E5F26BE5F18CDBE4001C23001720B3E8F28DE8ED94EBEF5D878C00151D16636C86E1EA90E0EB76C1CA9BCCD47FC6D06EE1F06FE1F29ADFF2001324001523B5E8F296E7EA9FECEF5F848C00151E0A69727EE3EC84C4CF9AC7D4C5DFE68DBBC688E0F085E5F581C5D8001425002B38A8E3EC94E4E582CECD00171D275E677EDDE784E0EB8FC0CAC2DDE7FFFFFFABC8CF90C4D087CBD8001826001B26001A22001C1F00221E00251F001F209DE9EF94E3EE82C2CDA5C7CDFFFFFFFFFFFFFFFFFFAAC4CB90BEC69BE0E991E4EC8FE5EB8AE3E785E2E188E2E287DEE094E0E688C0CB9FC6CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4CBD38ABEC591D9E189DEE682DFE882E1EB8AE3EE95DDE98AC0CBABCCD5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8E2E98ACED56EC1C95FBEC85CBBCB67BDCF8BCBDDB2DEEBFFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="Синхронизация">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFF000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000808080C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000FFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000808080C0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000C0C0C0808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000C0C0C0808080FFFFFFFFFFFFFFFFFFC0C0C0000000FFFFFFC0C0C0000000FFFFFFFFFFFFFFFFFF808080FF0000FF000000FFFF808080FFFFFFFFFFFFFFFFFFC0C0C0000000000000000000808080FFFFFFFFFFFFFFFFFFFF0000FF000000FFFFC0C0C0808080FFFFFFFFFFFFFFFFFF0000800000FF0000FF000080000000FFFFFFFF0000FF0000FF000000FFFFC0C0C000FFFF808080FFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF000000FFFFFFFFFFFF80808000FFFFC0C0C000FFFFC0C0C08080808080808080808080808080800000FF00FFFF000000000080FFFFFF000000C0C0C0FFFFFF00FFFFC0C0C000FFFFC0C0C000FFFFC0C0C000FFFFC0C0C000FFFF0000800000FF0000FF000000000000FFFFFF00FFFFC0C0C0FFFFFFFFFFFF00FFFFC0C0C000FFFFC0C0C000FFFFC0C0C00000FF00FFFF0000FF000080FFFFFF000000FFFFFFFFFFFF000000000000FFFFFFFFFFFFC0C0C000FFFFC0C0C000FFFFC0C0C00000FF0000FFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFFFFFFFF00FFFFC0C0C0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF</value>
    <value type="5" name="СканированиеПП">424DF600000000000000760000002800000010000000100000000100040000000000800000000000000000000000100000000000000000000000000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00700000000007777788888888888877778F777777778807778FA27777777880778FFFFFFFFFF878078888888888887880787FFF77E7E787807787777E7E7EE88077787777777E7E807777888000000000777778888888888077778777878888077778777778787077778777777777077778777777777077778888888880077777</value>
    <value type="5" name="Скиф">424D360400000000000036000000280000001000000010000000010020000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFF00FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F1000000000000000000FFFFFF00FFFFFF00F1F1F100996633009966330099663300996633009966330099663300996633009966330099663300F1F1F100FFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F1000000000000000000FFFFFF00FFFFFF00F1F1F100996633009966330099663300996633009966330099663300996633009966330099663300F1F1F100FFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F1000000000000000000FFFFFF00FFFFFF00F1F1F100F0CAA600F1F1F100FFFFFF00800000008000000080000000FFFFFF00F1F1F100F0CAA600F1F1F100FFFFFF000000000000000000FFFFFF00FFFFFF00F0CAA60099000000FFFFFF00FF663300FF99330000993300FF00000080000000FFFFFF0099000000F0CAA600F1F1F1000000000000000000FFFFFF00F0CAA60099000000FFFFFF00F1F1F10080800000FFFF3300FFCC33000099330080000000F1F1F100FFFFFF0099000000F0CAA6000000000000000000FFFFFF00FFFFFF00F0CAA60099000000FFFFFF0080800000FFFFFF00FFFF3300FF99330080000000FFFFFF0099000000F0CAA600F1F1F1000000000000000000FFFFFF00FFFFFF00F1F1F100F0CAA600F1F1F100FFFFFF008080000080800000FF663300FFFFFF00F1F1F100F0CAA600F1F1F100FFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF00F1F1F100FFFFFF000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F1F1F100FFFFFF00F1F1F100C0C0C000FFFFFF0086868600C0C0C00000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C00086868600C0C0C000C0C0C00000000000868686008686860086868600868686008686860086868600868686008686860086868600868686008686860086868600C0C0C000C0C0C000C0C0C000</value>
    <value type="5" name="Скрепка">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF009D8776009A84720096806E009C867500947D6B0097816F00856E5C0099837200927B690088715F007F665400947D6C008B746200816A5700785F4C008E776500846D5A007B624F007158450087705E007E655300745B48006E554200846C5A006E5441006B523E0081695600775E4B006B513E00674D39007A614E0070574400684F3B0063493500735A4700684E3B00654B38006D544000664C3900644A360069503C00694F3B00644B3700664C3800C6B1AF00D3AAA800CC8F8E00DDA19F00D89A9B00D6949700D3919300D28F9100D08C8E00CE8A8A00CD888900C8828200BF767700C7CCC900DFE3DC00C1817F00D2ABA800C2838100CA908C00CE8D8C00CC8B8A00CC878900C9868700CA828500C9818500C67F8000C2797900B96C6B00E9F9EE00BC7E7B00B8767400E4E8DF00CFBFB900BB7B7900C17F7F00C7838300C67F8100C57D7C00C37A7B00B96D6C00B8757300B6676800A67E7C00BA939000E6F1E700E4EBE100BF918E00C2858300C9808000C87D7F00C67D7D00C27B7D00BA6E6D00BC7B7900B87B7900D3C5BE00D7C7C000C1838100C37D7D00C2757600BB7D7B00C1949000E2E6DD00C4999400B9757400C0C3C100BE7D7B00BB7D7A00D1BAB400E8F6EB00BA787600C28F8B00CC999700BD807E00C0C0C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C3E90000C3E900068010000000000000000000000000000000000000000000000000000000000007878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878782C232D2778787878787878787878782A7878782B787878787878787878782778782878782978787878787878787824781E25267823787878787878787878207821782278237878787878787878781D781D781E781F7878787878787878781C7812781378147878787878787878780D780E780F781078787878787878787809780A780B780C787878787878787878787807787878087878787878787878787878050578780678787878787878787878780202030478787878787878787878787878787878787878787878</value>
    <value type="5" name="Согласовать">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00CCB6A700CBB5A600C7B2A300C5AFA000C1AC9D00BFA99A00BBA69700B8A49400E79A7100FDFFFE00FDFEFD00FEFBF800FEF7F20063493500D7845700D3BEB200D0B8AB00CBB2A500C7AC9E00E6DBD400F8C2A400DB916A00EC8F5D00C9B4A400FDFCFA00FEF9F500FEF4ED00E6D7CD0073533C00F3B79600FBC4A600FBB18800EE926100D0764700C7B2A200CAB0A200C6AA9C00C2A49400BE9D8D00E7D3C800DD784500F99D6C00BE6B41009A4F2A00BC673B00B1603600C5AFA100FDFEFC00FDFAF700FDF6F000FEF1E900FFEBE100CE9B7F00CF642F00994C2600AA826A00974E2900A7583100BA683F00FDFBF700C0A19100BC9B8A00B8958400B5907E00F7E8E000D3652F00975532009A4E2900B0502200AF6F4E00FBF2ED00FEF3EC00FEEEE500FEE9DD00FEE4D70077472B008C442100B3481400B28B7500FEF4EE00C9AEA000C7A99C00B0897600AE8571007E462800C6480C00C1815F00FCEBE100C9784E00E3BCA700E8CBBB00E8C8B700D94B0600BD592700D47C4D00B561360080583E00E8CFC300E48C6000F6B38D00D5865D00F6BFA100F9A57800D5794A00C3AD9E00E8CCBF00C26F4400F4B59300F9A97E00FD976000E0814F00C2A49100FDF7F300E8C9BA00B95D2F00BA663B008F462300BEA99A00B7948100B48D7C0092472300BCA69700FEF0E800E6D3C800E7CFC200E8C7B600B7A29300C0C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008181814E818181800F0F0F0F0F0F0F818181817A4E81817B7C7D7E5C5D7F0F81818174757076817751787954555D0F81816C6D6E6F70617172494A4B4C730F81646566676861696A3D3E3F40416B0F815E5F816061620F303132333435630F815758595A5B5C5D240B25262728294E814F505152535455190B0B1A1B1C1D564E464748494A4B4C030B11121314154D4E813C3D3E3F4041020B0B0B42430E444581303132333435020304363738393A3B81240B25262728290F812A2B2C2D2E2F81190B0B1A1B1C1D1E0A1F202122238181030B11121314150F810A161718818181020B0B0B0C0D0E0F81810A108181818102030405060708098181810A818181</value>
    <value type="5" name="СогласоватьДокумент">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600C0DCC000AABFAA00F0FBFF00AA9FAA00AB7F7700A4A0A000FF000000AA9F7F00553F2A0080000000FFFFD400FFB59000FBD9B600FFDFD400FFDFFF000000800000800000008080008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F80000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C001717171717171717171717171717171717170707070707070707070707071717171706100E080E080E08080E0607171717170A10051010100F0F0F0F0A07171717170A1101100909100F0F0F080717171717060D0E0E0C0C0E0E0E0F0A07171717170A05050505050505100F06071717171706010E0E0C0C0E0E0E0F0A07171717170A010101BC0CBC01010F08071717171704010E0E0E0E0CBC0E0D0A07171717170601090C01010CBC0D0D0807171717170205090C0C0C0CBC0107280717171717040101090909BC010A0B06071717171702010101010101010802071717171717030501050501010106071717171717170202030202030204021717171717</value>
    <value type="5" name="Создание">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF00D070300080503000D0A04000AABFAA00AA9FAA00AB7F7700AA9F7F00553F2A00FFDFFF00FFFFD400FBD9B600FFDFD4000707070707070707070707070707070707070707070707070707070707070707070707070707F9F9F9F9F9F9F9F9F9F9070707070707F8FFB625B62525B6F8F9070707070707FAFC01FFFFFEFEFE25F9070707070707F8FDB6B6B6B6B6FEFAF9070707070707FA010101010101FE25F90707F4070707F701B6B6B6B6B6FDFAF9070707F90707F801010101FCFDFD25F907070707F507F5F5B6B6B60101FAFAF90707070707070C0C01010101FAF5F8F907070707F4F4F40C0CF501012527F907F407F507F6F6F4F40CF52401F8F90707070707070707F6F4262727F72707070707070707F507F6F407F5070707070707070707F4070707070707F40707070707</value>
    <value type="5" name="СозданиеУРМ">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00D070300080503000D0A04000C0DCC000F0CAA600AABFAA00FF000000F0FBFF00AA9FAA00AB7F7700A4A0A000AA9F7F00553F2A00B1C4A50081523200FFB59000FFDFFF00FFFFD400D07132009DC38E0091BF7300A5A36400AD8D6200FFEED20086B26C007FE28C00C7F4C600ADDB9900A79E470099926000FBD9B600B5A67A0058AC51005FDD77009EE39100D8B56E00BCA63F006AA8280094B59500BC804500818B460042AC4E0087C15800E09444008FA4330053AC1C0075853700FFDFD400CB7C4900DC8B44008397410069B14200C88D3900B982300066901E00737E3600BC937A00DF7A3A00B88E3F00569A3A00AB7B3000CB682F00886D330099AD9A00AA754600A77634007F7B3200B46B3000AE5E3500978471009AA6A4008E734C0089704F0085623E00835F45009C9B9300AABBBC00A6B5B500000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F80000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFCDB40056565656414B4C4D56565656565656565656194243444546475656565656565656563A3B3C3D3E3F40410B0B0B0B0B0B56563233343536373839110C0C110A0B5656292A2B2C2D2E2F30312020200C0B56562122232425262728111111200D0B5656191A1B1C1D1E1F01010101200C0B56561456151617181111111111130D0B5656560B56560A010101011213130C0B565656561056030311111101010D0D0B5656565656560808010101010D0E0A0B5656565602020208080301010C060B560256035604040202080309010A0B5656565656565656040205060607065656565656565603560402560356565656565656565602565656565656025656565656</value>
    <value type="5" name="СозданиеУРМ2">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF005030D000403080008340D000C0DCC000F0CAA600AABFAA000033FF00F0FBFF00AA9FAA00AB7F7700A4A0A000AA9F7F00553F2A00B1C4A50042328100FFB590007779AB00FFDFFF00FFFFD4005233CF009DC38E0091BF7300A5A36400AD8D6200FFEED20086B26C007FE28C00C7F4C600ADDB9900A79E470099926000FBD9B600B5A67A0058AC51005FDD77009EE39100D8B56E00BCA63F006AA8280094B59500BC804500818B460042AC4E0087C15800E09444008FA4330053AC1C0075853700FFDFD400CB7C4900DC8B44008397410069B14200C88D3900B982300066901E00737E3600BC937A00DF7A3A00B88E3F00569A3A00AB7B3000CB682F00886D330099AD9A00AA754600A77634007F7B3200B46B3000AE5E3500978471009AA6A4008E734C0089704F0085623E00835F45009C9B9300AABBBC00A6B5B500000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F80000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF85480057575757424C4D4E575757575757575757571A4344454647485757575757575757573B3C3D3E3F4041420B0B0B0B0B0B5757333435363738393A110C0C110A0B57572A2B2C2D2E2F3031322121210C0B57572223242526272829111111210D0B57571A1B1C1D1E1F2001010101210C0B57571557161718191111111111140D0B5757571257570A010101011314140C0B575757571057030311111101010D0D0B5757575757570808010101010D0E0A0B5757575702020208080301010C060B570257035704040202080309010A0B5757575757575757040205060607065757575757575703570402570357575757575757575702575757575757025757575757</value>
    <value type="5" name="СоздатьУведомлениеМод">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000FFFFFFFDFDFDF3F3F3E9E9E9E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E8E8E8F3F3F3FDFDFDFFFFFFFFFFFFFBFBFBE8E8E8D4D4D4CCCCCCCCCCCC9BA2A8415F7B415F7B9AA1A7CCCCCCCCCCCCD2D2D2E7E7E7FBFBFBFFFFFFFFFFFF9EB1C25777934B6D8C3D5F803A5D7D3A5D7D99DDFF5599BB395B7C395B7D3C5F80486C8C5777949EB1C2FFFFFFFFFFFF87A5BA80B5CF95D4EA85C0D87AB2CB6FA5C05E97B65592B45397B954A1C456AFD35BC0E75CAACE87A5BAFFFFFFFFFFFFE7EEF3799EB891D0E79DE1F99ADEF78ED5F073C1E061B7DA5EBCE05DC4EA5FCAF261C0E4799FB9E7EEF3FFFFFFFFFFFFFFFFFFC3D6E273A1BC96DAF68CD0F27EC5E763B0D14CA3C54DACD34FB8E45BC4EF6FA1BFC4D7E3FFFFFFFFFFFFFFFFFFFFFFFFFCFDFE7CA5BF8ECCE691D5F783C9EB6BB6D64CA3C64EB1D951BEEC66BEE482ABC4FCFDFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5C4D677B1CD96DAFB87CCEE70BADB4CA4C74EB4DE56C4F368AED1ACC9DBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9DCE771A8C49CE0FE8ACFF175BDDE4CA4C74FB7E25ECBF86DADCDCEE0E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4EEF469A0BD9FE3FF8DD1F378C0E14CA4C84FB9E566D0FB3287593284316AA766FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFE629BB99FE4FE8DD1F379C0E14CA4C84FB9E56CD2FB208B282BDF1A3D9C33FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF669FBD9CDFF88DD1F379C0E14CA4C8289E5A2199312292283DE22C3EA3333EA3336EBB66FFFFFFFFFFFFFFFFFFFFFFFF7AAEC888CCE68FD3F479C0E14CA4C81E9E2E52E74152E74152E74152E74152E74140AA33FFFFFFFFFFFFFFFFFFFFFFFFB4D2E168ABCB93D7F28FD5EE75C3DE3AAC5B209E2634AA2E66EB5541B13341B13371C466FFFFFFFFFFFFFFFFFFFFFFFFFDFEFEB0D2E386C2DF62A8CC3C81A4518DACA3C7DA42B63375EE6443B633FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5195B84084A6FFFFFFFFFFFF73CB6644BA3373CB66FFFFFFFFFFFF</value>
    <value type="5" name="Солнце">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000C0C0C000002F5300002C4D0000264300002C4D00002F530000355D00003E6C00004C8400005FA500007BD600008EF9000091FE000090FE00008FFE00008EFE00008EFE00008FFE00008FFE00008FFE00008EFE00008FFE000090FE000091FE000092FE000094FE000098FE00009BFE00009BFE00009CFE00009DFE00009CFE00009CFE00009BFE000199FE000198FE000197FE000194FE000194FE000093FE000194FE000193FE000193FE000193FE000294FE000495FE000595FE000896FE000B98FE000F9AFE00129BFE00149DFE00179EFE00189FFE0018A0FE0016A0FE0012A2FE000DA4FE0009A5FE0004A7FE0002A8FE0000AAFE0000ABFE0000ABFE0000AAFE0000ACFE0000ADFE0002ADFE0008ACFE000FABFE0013AAFE0017A9FE001CA9FE0020A9FE0024AAFE0024ABFE0025AEFE0026B0FE0025B3FE0024B6FE0022B9FE001FBBFE001CBBFE0017BCFE0012BEFE000ABEFE0005BFFE0001BDFE0000BBFE0000BBFE0000BBFE0000BCFE0000BFFE0001C3FE0001C5FE0002C8FE0002CBFE0003CEFE0004CFFE0004D0FE0005D3FE0005D5FE0004D6FE0004D8FE0005DBFE0005DEFE0005E1FE0006E6FE0007E8FE0008E9FE000CEAFE000FEBFE0011EBFE0013EBFE0015EBFE0017EBFE0018EBFE001AECFE001DEDFE0021EEFF0024EDFE0027EDFE0028ECFF0028EBFE0026E9FF0024E6FE0023E4FE0022E3FE0022E2FF0022E1FE0022DFFE0022DEFE0022DDFE0023DCFE0028D9FE002DD5FE0032D0FE003ACCFF0042C9FF004BC7FE0050C6FE0053C9FE0051CEFE004BD5FE0044DEFE0042E5FE0043E8FE0045EBFE004BEEFF0050F0FE0055F2FE0059F2FE005EF5FE0061F6FE0064F7FF0069F6FE006EF8FE0071F8FE0072F9FE0076F9FE007AF8FF007DF8FE007FF8FE0080F8FE0080F3FE0080E9FE0082E3FE0083DFFE0085D9FE0086D3FE008DCCFF0096C3FF009CBBFE00A2B5FE00A5B4FE00A6B8FE00A6BFFF00A4C9FE00A2D4FE009FDDFE009EE4FE009DE8FE009CEDFE0099F2FE0096F6FE0095F9FE0095FAFE0097FBFE009AFBFE009EFCFE00A2FBFE00A9FAFE00ADF9FE00B1F7FE00B4F6FE00B8F5FE00BCF6FE00C0F5FE00C2F6FE00C5F6FE00C9F4FE00CCF2FE00D2F3FE00D6F5FE00D8F6FE00D6F3FE00D6F8FE00D7F7FF00D7F8FE00D8F9FF00D7F7FE00D7F4FE00D8F5FE00D9F7FF00DBF8FE00DFFAFE00E1FAFE00E0FCFE00DEFDFE00DCFEFE00DBFEFE00DEFEFE00E3FDFE00E7FEFE00EEFDFE00F1FDFE00F8FEFE00FDFEFE00FEFEFE00FEFEFE00FEFEFF00FEFEFF00FEFEFE00FEFEFF00FCFEFE00F4FDFE00E8FDFE00DEFCFE00DBFDFF00DCFDFF00DBFBFE00DAFBFE00D9FAFE00D9FAFE00D9FAFE00D9FAFE00D9FAFE00D9FAFE00D9FAFF00D7F9FE00D5FAFF00D4FCFE00D3FEFE00D1FEFE0000000000FFFFFF00000000000F0000000000000F00000000000000005D0000000000005D0000000000000000000F0F0F0F0F0F0000000000000000000F4B4B4B4B4B4B0F000000000F5D000F4B9090909090904B0F005D0F00000F4B90900F0F0F0F90904B0F000000000F98980F989898980F98980F000000000F989898989898989898980F000000000F989898989898989898980F000000000FEA9C9CFE9C9CFE9C9CEA0F000000000F9CEA9C9C9C9C9C9CEA9C0F00000F5D000F9CEAEAEAEAEAEA9C0F005D0F000000000F9C9C9C9C9C9C0F0000000000000000000F0F0F0F0F0F0000000000000000005D0000000000005D00000000000000000F0000000000000F00000000</value>
    <value type="5" name="СопоставитьВходящим">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00DED6CE00CEBDB500C6AD9C00B5A58C00BDAD9C00D6CEC600D6B5AD00F7E7D600F7DED600FFFFF700E7CEB500AD947B00BDADA500C6BDBD00CEB5AD00F7EFE700B59C8C006B4A39007B635200D6BDA500D6B5A500E7C6B5006B524200BDA59C00947B7300C6A59400F7DEC60063392900D6BDAD00FFF7E700FFE7D6008C7B6B00634A3900BDB5A500E7DED6009C846B00BDA5940052291000422910006B5A4200CEB5A500846B5A00CEC6C600D6BDB500E7CEC600B59C84006B6B50006E6D570086866300A6A18F00B5ADA500A59484008C736B00FBFBF000F5F5E600F3F3E200F9F9F100EFEFE400E9E9DA0093936A00FAFAF500B5B5A4005D5D350089896100FCFCF700F6F6F000F3F3EB007F7F5600FDFDFA0073734C00FEFEFD00FCFCF800F9F9F400F8F8ED0063633C00FBFBF400FCFCF500C0C0C0003D3D1700000000000000000000000000000000000000000073734C00FEFEFD00FCFCF800F9F9F400F6F6F000F3F3EB00F8F8ED0073734C0000000000000000000000000000000000000000000000000000000000000000007F7F5600FDFDFA00B5B5A400B5B5A400B5B5A400B5B5A400F5F5E6007F7F5600000000000000000000000000000000000000000000000000000000000000000089896100FCFCF700F6F6F000F3F3EB00EFEFE400E9E9DA00F3F3E20089896100000000000000000000000000000000000000000000000000000000000000000093936A00FAFAF500B5B5A400EFEFE40086866300B5B5A400B5B5A4005D5D3500000000000000000000000000000000000000000000000000000000000000000086866300F9F9F100EFEFE400E9E9DA0086866300FFFFFF0086866300000000000000000000000000C6BDBD00A59484007B6352006B5242008C736B00B5ADA5006B6B5000FBFBF000F5F5E600F3F3E20086866300A6A18F00B5ADA5000000000000000000CEC6C600B5A58C00D6BDB500F7DED600E7CEC600B59C84007B6352006B6B50006E6D570086866300A6A18F00A6A18F00B59C84007B635200B5ADA50000000000BDB5A500E7DED600B59C8C009C846B00BDA59400522910004229100042291000422910006B5A42009C846B00BDA59400CEB5A500C6A59400846B5A0000000000C6A59400F7DEC6006339290000000000D6BDAD00F7DED600FFFFF700FFF7E700FFE7D600F7DEC6008C7B6B0000000000B5A58C00F7DEC600634A390000000000CEB5AD00F7EFE700B59C8C006B4A39007B635200C6AD9C00D6BDA500D6B5A500E7C6B500D6B5A5006B5242007B635200BDA59C00D6B5A500947B730000000000DED6CE00D6B5AD00F7E7D600F7DED600FFFFF700E7CEB500AD947B00BDADA500D6B5AD00F7E7D600F7DED600FFFFF700E7CEB500AD947B00C6BDBD0000000000000000004F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F5050505050504F4F4F4F4F4F4F4F4F4C014846494D4E4C4F4F4F4F4F4F4F4F4748494A43444B474F4F4F4F4F4F4F4F45463F3F3F3F38454F4F4F4F4F4F4F4F414243443B3C39414F4F4F4F4F4F4F4F3D3E3F3B323F3F404F4F4F4F4F4F4F4F323A3B3C3201324F4F4F0F3514183634303738393233344F4F2C052D0A2E2F1430313233332F14344F2324122526272828282925262A1B2B4F1B1C1D4F1E0A0B1F201C214F051C224F10111213140415161716181419161A4F0208090A0B0C0D0E08090A0B0C0D0F4F4F0203040506074F0203040506074F</value>
    <value type="5" name="СортироватьПоВозрастанию">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00E8C0A000FFE8D800F8D0B800FFE8D000F8D8C800A0604000C0A06000A0603800C0A0800080604000E0C0A00080402000A0806000A0606000FFE0C800F8D8C000F0C8A800E0C0C0006080A0004060A00060608000C0A0A0004040A00080606000B0989000A08080006040400040202000A0A0A00060408000204080000708F7F507F5FFFE07070707070707070707F50807F9FEF607070707F80707070707FDF5FAF6F507070707E900F90707070707FAF5F5F507070707FB00FC07070707F3F507F6F5070707F6000000F9070707F3F5F2F6F7F60707F8F900F9F8070707F2F3F4F5F5F507070707000707070707070707070707070707070007070707EDECE907EAECEA07070707000707070707E6070707ECF107070707000707070707EDE6EDECEE0707070707000707070707EBE607ECEB070707070700070707070707E6E6EA07070707070700070707070707E7E8E907070707070700070707070707E5E6E50707070707070007070707070707E30707070707070700070707</value>
    <value type="5" name="СортироватьПоУбыванию">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00FFE8D800E0C0C0006080A0004060A00060608000FFE8D000C0A0A0004040A000F8D8C800A080C000FFE0C800A0A0A00020408000F0C8A800F8D8C000F8D0B800A0604000C0A06000A0603800C0A080008060400080606000B0989000E8B09000E0C0A00080402000A08060006040400040202000E8C0A000E8B89800A0808000070707070707070707070707070707070707F0F9F307F9F9F407070707F40707070707F0FE07F3F9F7070707F300FF07070707FAF0FAF9F007070707FB00FC07070707F7F007F9F3070707F3000000F607070707F0F0F407070707F5F600F6F507070707F1F2F307070707070700070707070707EFF0EF0707070707070007070707070707ED070707070707070007070707E9E7E407E4ECE407070707000707070707E2E207E6E4E107070707000707070707EBE4EBE6E2070707070700070707070707E9E4E4E40707070707000707070707E2E407E1E40707070707000707070707E2E2E1E6E7E107070707000707070707E1E2E3E4E4E407070707000707</value>
    <value type="5" name="СохранениеДокумента">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00A9A97F00A3A37A00FBFBF000F5F5E600F3F3E200D3D3C2009B9B7200F9F9F100EFEFE400E9E9DA00C7C7B60093936A00FAFAF500F3F3EB00B5B5A400C0C0C00089896100FCFCF700F6F6F0007F7F5600FDFDFA00F9F9F40073734C00FEFEFD00FCFCF800F8F8ED0063633C00AAAA8000010101003D3D1700FFFFFE00848484007C7C7C00FAFAF300F5F5EE0077777700D6D6CD00F6F6E9005656560033333300343434005757570053535300C7C6C600C3C2C200383838005858580050505000BDB7B70022222200B4AEAE003D3D3D005A5A5A00BBADAD00B6A9A900424242005C5C5C0004040400B3142000B2146C00B3146000B414D400B4144800B4142C00B3145C00B314E000B314C800B3147400B3140000000000000000A800B414E800B4140000502EB400502EB400540600000800FB0000000000000000000000000001000000010000000A0000000000000014000000010000000000000000000000000000000C00000004000000000000009C2EB4009C2EB4000C03000098EB44000829B40000000000000000000001000000000000D02EB4001000000010000000CC2EB400CC2EB400DC02000000000000000000000000000000000000E82EB400E82EB400C002000000000000542FB400485BB1007C2FB40000000000000000002000CC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000829B4000000000072122200502FB400502FB40058020000A8CE4100EC2EB40060CC0E00242FB4000800000060000000280000001F0000004CA3410000000000E8CE4100EC2EB400D43E0E00242FB400942FB400942FB40014020000000000000829B400000000000000000000000000000000000800010000000000E0A04300982FB4000400000018000000E504000000000000AB040000000000000101010000000000010F00000000000088A5B400000000000F000000D482B4000000F4000000000000000000F5FFFF00E504000000000000ED0400001600000010000100000000000000000000000000000000000000000000000000ECC0440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F00010000000100000000000000AC09B4000000000001000000A477400000000000000000000000000000000000000000000300000000000000FD0C9A0001000000000000000000000000000000FFFFFF000000000000000000000000000000000000000000000000001111111111111111003B3B3B3B000000111111111111111E1E37293837393A1E111111111111111E313233343235361E111111111111111E2C2D2E2E2D2F301E111111111111111E28292929292A2B1E111111111111111E252627272726251E111111111111111E222324242423221E1103121203031212122019191920211E11120119161A0F1B120C0C0C0C0C1E1E1112190C0C0C0C1B121111111111111111121617140F0A0512111111110000001112130C0F0A0B061211111111110000110D0E0F0A10101012111111110011001108090A0B0C0108111100000011111111030405060706111111111111111111110C0202020211111111111111111111</value>
    <value type="5" name="Сравнение">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400F0F8F800D8C0B000D0B8A800C8B0A000E8E0E000E8F0F000FFF8F80060483800E0E0D800FFFFF800B8A89800D8C8B800E0D8D000C0A89800E8B89800D8B09000B8A09000E0E8E800C0B0A800A0886800F8E8E800C8B8A800C8B8B000F8F8F000F8F0E000E0C0A00088706000D8A88800D8A89000D8A09000D0C8C000E8E0D800FFF0E800FFE0C800F8F0E800A8988800FFE0C00078584800E8E0C000FFFFE000F8E8D800F8E0D000F8D0C000D0A88000E8D8D000E0D0C800D8C8C000C0A080008860500060808000C0A8A000C0988800A0806800B898700088D8F0006890A800C8E0E00070584000C8D8D8005050480020C0C00048607000A8C0C000C0D8D800C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5D0C7C7C7C7C7C7C7C5C5C5C5C5C5C5C5D0C6DFECEDEECBC7C5C5C519FEC5C5C5D0C6CECFDCDDCBC7C5C5FBFCFDC5C5C5CA01C6E2C4EDCDF9C5FBFCF6F7C5C5C5F201CECFF3F4EFF5F0F1F6F7C5C5C5C5C3C901EDEFE4E4E4CFF0F1C7C7C7C7C7C2C6CED0E6E7E8E9EAEBDAECEDEECBC7C1C6C6E3E2C923D8E4D9E5CFDCDDCBC7C1C6C6DEDF01C9E0E1CF1EE2C4DFCBC7C1C1C1D5D6D7C9D8D9DADBCFDCDDCBC7C8C8C8C8CCD2C2D0D3C101C6D4CCCBC7C5C5C5C5C5C5C4CCCDC6CECFD0C7C7C7C5C5C5C5C5C5C5C5C1C6C6C9CACBC7C8C5C5C5C5C5C5C5C5C1C6C6C6C3C7C8C5C0C0C0C0C0C0C0C0C1C1C1C2C3C4C0C0</value>
    <value type="5" name="Сравнение2">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00D6C2B100D9C3B100D8C1B100D7C1B500DBC1B300D2BEAC00D0B9AA00CBB3A100DE797C008F242700D0444800D9C1B500FEFDFD00FEFAF900FDF8F600FCF4F100FAF1EC00644934008A232600D4BEB200FEFDFC00FEFBF900FBF4F100FBF1ED00E1D5CF00654A3600D8626500D1BAAB00FDFAF900FBF1EC00FAEDE800DBCDC600624A3400CE393D00C9B2A200FEFBFA00FDF8F500F9EEE700F8E9E200D6C6BE0066483500C3ADA100C8323600BCA99A00BBA49500D1D1F200121AC500555CDB00B9A29300F9EDE8001219C600D0CDED001318C700BBB6E200B6A09400614A3400E4DEED001219C700CDC5E1001418C500CDC4E200F9E9E200F7E5DD00D1BEB5001417C600111BC700131AC5001319C600F6E1D700CCB7AD00FAEEE700F5DCD100C7B1A600DCCDC600D6C6BD00CBB8AD00C2AB9F00634A36006448370066483700614834006549380060473700C0C0C000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00E029CA000CDE02000CDE02001C03000014DE02001403000074EDCD003009CE00307CCE00A01DCE00148ECE00E895CE00909ECE00ACA5CE004400CE00D0A8CC00648DC400944E270048D12600249F26008C922600B0F2C400009C2600A092CC00AC38CD00E893CF00785226002CB92600443526005C50CB00A885CB00B826260064982600B001D00094BED000D8A2D0008CA7CB0028D4CB00545FCB0018B3CB00BCB6CB0080D9260034D2D100805ED2007027D2005886D100E0B3CD008CB9CD00048ECB00A891CB00D8E4D1001457D3004057D2002C9FCB0000DCCC00DCDBD00090E1D000B824D1005C28D1000860D30080CC260098E826006094220074251A0078331A003C391A006C9622002C9A2200D0D526001085D30054A51E00C487D9002408CF00C82ED0007C34D00058EFCF00FCF2CF0068921E00BC012000581E20008424CC00E0FE2500B05ACF00A4D4D30030DBD300D4DED30090EF1E0024C11E00DC5320001CE91E007445CE00C0CC200094D420005555555555555555555555555555555555553839502A51225253545555555555555532334B4C414D4A4E4F555555555555552E1F483F4046494A13555555555555552D114243444546472A555555555555552B103A3D3E3F404122555555555538392425263A3B3C28292A555555555532331D163435363720212255555555552E1F15012F303118191A1B55555555552D110D01010E0F101112130B2C5555552B100203040506070809090B2C55555524252611002728292A55550A0A5555551D161E00001F2021225555230B0A5555150116170018191A1B55550A1C0B0A550D01010E0F10111213550B550A140C55020304050607080909550A0B0B0C5555</value>
    <value type="5" name="СтроковыйКонтроль">424D3603000000000000360000002800000010000000100000000100180000000000000300000000000000000000000000000000000000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000C0C0C0C0C0C0C0C0C0000000000000FFFFFF0000FF00FFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000C0C0C0000000C0C0C0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000C0C0C0C0C0C0C0C0C0000000000000FFFFFF800000FF0000FFFFFF000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFC0C0C0FFFFFF000000000000FFFFFF008080FF00FFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000C0C0C0C0C0C0C0C0C0000000000000FFFFFF00FFFF808000FFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000C0C0C0000000C0C0C0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000C0C0C0C0C0C0C0C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFF000000FFFFFF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000C0C0C0000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000C0C0C0C0C0C0C0C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</value>
    <value type="5" name="Субпериоды">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C0009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800DCC7B200F2AA6F00F5B37E00EFBB8F00DDDED500DFD6C800F3BB8E00F7BA8D00F7BA8C00F7B98B00F7B98900F7BA8A00F6BA8900F3BD9200E4D3BF00FCA25E00FDAB6D00F4AC7200DAD5CB00E2D1BF00F9BC8E00FDBD8E00FDBA8700FEB78200FEB47C00FEAF7300FEA96900FEA56100FDA05800F9A96900DFC5AC00FAA05800FC974700F1AC7200D4D5CF00DFD4C500F6B47E00FAA46200FBA25C00FBA05800FB9D5400FB994D00FB964800FB944400FB924000F5A46300D5C4B100E1C0A100DCB99800D5C6B400CAD6D600D8DEDB00DBC8B400D5BBA200D5BCA300D5BDA500D5BEA600D5BFA900D5C0AC00D5C2AF00D6C4B000D2C8BA00C3CAC800D1DFE100C9D6D800C6D5D800CDDDE000D6E7EA00D0DFE200C8D7D800C7D7D900C7D7DA00C7D8DA00C7D8DB00C7D9DB00C8D8DC00DADED800DADCD500D9E0DB00D7E6E800D8E6E700DADFD800DCDCD400DCDCD500DCDDD500DCDDD700DCDED800DCDFD900DBE1DC00D8E5E500F0B27E00F2BA8D00EDC09800DDDED600DED8CB00F0C19A00F4C29C00F4C29B00F4C19800F4C09700F4C09600F4BF9600F3BE9300E3D5C300FBA15B00FEAA6A00F5AA6F00D9D4C900E1D2BE00FABA8A00FEBB8800FEB07500FEAB6B00FEA15800FE9D5000F9A66300DFC4AA00F8A15C00FB984B00F1AE7700D4D5D000DED5C700F5B38000F8A56200F8A15E00F89F5C00F89E5800F89A5200F8974E00F8974B00F9964900F3A86A00D5C5B400DFC3A800D8BA9E00D1C6B700CAD5D700D7DFDD00D8CAB900D1BDA700D2BDA800D1BFAB00D1C0AD00D1C1AF00D1C3B2005D5D0000D1C4B400D2C5B600CFCABE00C2CAC900D1E1E300C8D8DA00C6D7DA00CDDEE100D7E8EB00D1E1E400CADADD00CADADE00CADBDE00CADBDF00C9DADF00C9DADE00CCDCDF00DDD7CA00DDD7C800DCDBD300D8E5E600D9E3E200DED9CC00DFD7C900DFD8CB00DFD8CC00DFD9CE00DEDBD100DAE2E000F6B78600F0BA8D00DBDBD200DFD6C600F3C09800F6C39D00F6C39B00F6C19800F6BF9600F6BE9300F6BD9100F6BC8E00F6BA8B00F2BD9100E1CFBB00FCA15A00F4A86B00D7D2C800E1D1BE00FABA8800FEB88300FEB17600FEAD6E00FEA76400FEA15A00FE9D5100FE994900F9A35F00DBC1A600F5A56500F79C5400EDB28400D2D6D300DED7CA00F2B78700F3A86D00F3A66A00F3A56800F3A46600F3A26300F3A16000F3A05F00F4A05D00EFAE7A00D1C6B800D2BEA900CDC8BE00C7D4D600D6E1DF00D5CCBF00CCBEAE00CCBFB000CCC1B300CCC2B500CCC3B700CCC5BA00CCC6BD00CCC7BF00C9CAC400BFC9C90002F1F20202F5F6F7F8F9FAFBFCFDFE02E1E2E302E5E6E7E8E9EAEBECEDEEEFF0D330D402D6D7D82DD9DADBDCDDDEDFE026C4C50202C8C9CACBCCCDCECFD0D1D202020202020202020202020202020202020202020202020202020202020202029A9B9C02029FA0A1A2A3A4A5A7A8A9028A8B8C028E8F909192939495969798997D7E7F028182832C2D848530868788896F707102737475767778797A7A7B747C02020202020202020202020202020202020202020202020202020202020202024445460202494A4B4C4D4E4F505152023435360238393A3B3C3D3E3F404142432425260228292A2B2C2D2E2F30313233161718021A1B1C1D1E1F1F2020212223</value>
    <value type="5" name="Сумма">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C8C2BD00B7ADA600B7AAA000B5A69E00B0A09700AA9B8F00A49488009E8C80009A867900BBB1AA00ABA49F00F4BBA000D58F6F00D1876300D17C5400CE6F4000C9643400BF5D3100D0835F009D8879008D7D7100B6ACA500FCFCFC00E0764300F0D7CA00F1D9CE00EAC4B200E2B19A00DF9D7C00E18355009D543000CDA28E00917F7100B6ABA400FEFDFD00FC976400FFA06300FF9C6100FF9D6100FFA06700FFA06500FF9F6100AC6B4A00C6A69700927E7000B1A69F00FDFBFA00FEE2CF00FFCEA800F8BD9600F2B68E00CB9C7E00CFB09900D7C7BF008E796800ADA19900FDF8F500C6BFE7009082CF00E7DEDA00C5BEE6008F81CD00DDD0C900C5BEE5008E80CC00D3C2B80089736200A99C9300FCF5F1008D80CE00412FA200E3D9D3008C7ECC00D9CAC2008B7DCB00CFBCB200846E5D00A5978D00FAF1EC00E6DDD800E3D8D200DFD3CD00DCCEC800D5C6BD00D2C0B700CBB7AC0080685700A1928700F9EDE800F8C5AC00BA856A00DCCEC600F7C5AC00BA856B00D2C0B600F7C5AB00B9846900C8B2A7007D64520099887E00F8E9E200BC8D7700B36F4F00D8C9C100BC8F7A00B3735400CEBAB100BA8C7700B1705100C4ADA20079604C0094847800F7E6DE00DBCDC600D7C9C000D4C3BB00D0BEB500CDBAAF00C9B5AA00C7B1A500C4ADA100C0A99C00775D4900907E7300F7E3D900D0BEB400F7C4AB00C6B0A400F6C4AA00B8836800BDA59700755B47008C796E00F6E0D500BA8A7500B16D4C00CCB8AE00B98B7600B1705000C3AC9F00B8887300AF6D4D00B9A092007459450088746700F4DCD000CFBDB300CCB7AE00C8B3A900C5AFA400C2AB9F00BFA89A00BBA39600B99F9100B59C8E0072574300836F6200C8B3A700C5AEA200C2AB9E00BFA79A00BBA39500B89F9100B59C8D00B3998A00725844008B766800836B5A0079614E00735A47006E544000694F3C00674C3800674C37006C513D00765E4D00C0C0C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B2B2A8A9AAABACADADAEAFAFB0B1B2B2B2B29E4D579FA0A1A2A3A4A5A6A7B2B2B2B292939495969798999A9B9C9DB2B2B2B2868788898A8B8C8D8E8F9091B2B2B2B27D7E5B627F80628182838485B2B2B2B27172737475767778797A7B7CB2B2B2B265666768696A6B6C6D6E6F70B2B2B2B2595A5B5C5D5E5F6061626364B2B2B2B24F50515253544B55564D5758B2B2B2B245464748494A484B4C484D4EB2B2B2B2393A3B3C3D3E3F4041424344B2B2B2B22F3031323233343535363738B2B2B2B2232425262728292A2B2C2D2EB2B2B2B21718191A1B1C1D1E1F202122B2B2B2B20B0C0D0E0F10111213141516B2B2B2B20203040506070708090AB2B2B2B2</value>
    <value type="5" name="СуммаДОБ">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080000000000000000000000000000000000000000000000000000000000000000000008080008080008080008080008080008080000000000000008080008080008080008080008080008080000000000000008080008080008080008080008080008080008080000000000000008080008080008080008080008080008080000000008080008080008080008080008080008080008080008080000000000000008080008080008080008080008080000000008080008080008080008080008080008080008080008080008080000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080000000000000008080008080008080008080008080000000008080008080008080008080008080008080008080000000000000008080008080008080008080008080008080000000008080008080008080008080008080008080000000000000008080008080008080008080008080008080000000000000008080008080008080008080008080000000000000000000000000000000000000000000000000000000000000000000008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080008080</value>
    <value type="5" name="Текст">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5B5B5B6ABA891918B71716E5757565151515858586363636D6D6D7B7B7B969696B4B4B4FFFFFFFFFFFFFFFFFFFFFFFFC07777CECAB6F2F4E9F2F4E9F3F5EBF4F5ECC4C5BFBBBBB69A9B98818180727272A9A9A9FFFFFFFFFFFFFFFFFFFFFFFFC07777D4CCBCF2F4E97E7E7DBDBDBBF4F6ECF7F8F1FAFBF7FDFDFCFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777D9CEC1F2F4E9F2F4E9F2F4E9F4F6ECF7F8F1FAFBF7FDFDFCFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777D8CABFF2F4E97E7E7D7E7E7D7E7E7D7E7E7DBDBDBBFFFFFFFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777D4CDBEF2F4E9F2F4E9F2F4E9F4F6ECF7F8F1FAFBF7FDFDFCFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777D1D0BEF2F4E97E7E7D7E7E7D7E7E7D7E7E7DBDBDBBFFFFFFFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777D5CDBFF2F4E9F2F4E9F2F4E9F4F6ECF7F8F1FAFBF7FDFDFCFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777D5CEBFF2F4E97E7E7D7E7E7D7E7E7DBDBDBBFAFBF7FDFDFCFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777D6CFC1F2F4E9F2F4E9F2F4E9F4F6ECF7F8F1FAFBF7FDFDFCFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777D0CDBBF2F4E9F2F4E9F2F4E9F4F6ECF7F8F1FAFBF7FDFDFCFFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC07777E2C6C4416886F2F4E9416886F4F6EC416886FAFBF7416886FFFFFF707070A6A6A6FFFFFFFFFFFFFFFFFFFFFFFFC8AEAEC17777C17777306A9091AABC6E788DD3B6B96E90A9BAB4BE5C829D7E7E7EAEAEAEFFFFFFFFFFFFFFFFFFFFFFFFC6C6C64290B24ABFD4306A90337B9A4ABFD45F79904ABFD46C6D845C829DA6A6A6BABABAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7B3BAA6B2B9A4B0B78CA5B2AFB5B8BDBDBDBFBFBFFFFFFF</value>
    <value type="5" name="Триколор">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00B9B9B900D8D8D800EFEFEF00FDFDFD00FEFEFE00F3F3F300DCDCDC00BCBCBC009F9F9F0099999900A9A9A900CACACA00E7E7E700FAFAFA00CCCCCC00F9F9F900E8E8E800CDCDCD00ADADAD00A1A1A100BDBDBD00F4F4F400DAD6D600F1EDED00FDFAFA00FEFBFB00F3EFEF00DBD7D700BCB9B900A09C9C0099959500AEAAAA00CDCACA00E9E6E600FBF7F700FFFBFB00E8494900F9606000FF6A6A00FA626200E84A4A00CC2D2D00AC12120099040400A10A0A00BE212100DD3D3D00F45A5A00FE696900FD666600F1525200FD636300FE646400F3535300DA373700BB1A1A00A10606009A010100AE101000CE2B2B00EA484800FB5F5F00FF666600F75A5A00F85B5B00FA5E5E00E9484800CD2A2A00BC1B1B00DB383800F3545400FE656500FD626200F0515100F9626600FB656900EF545900D8393D00B91C20009D060A0095000400A90F1300C92A2E00E5474B00F75E6300FB666A00F45C6000E34548006A66FB00635EF7004B47E5002E2AC900130FA9000400950009069C00201CB9003D39D8005955EF006965FB006662F9005551ED003B37D6006565FE005454F3003838DB001B1BBC000606A100000099001010AE002A2ACD004848E9005F5FFB006666FF005B5BF8004444E6002828CB006060F9004848E7002929CA000E0EA900010199000707A0001F1FBD003D3DDE005959F4006666FE006565FC005252EF003737D7001B1BB800C0C0C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000144D570064200E0000000000000000000000000000000000485D10000000000000000000000001000400000001FFFF00FF0100000000000000000000000000001C9A0E00630000000000000000000000000000000000000000000000000000000000000000000000582C4200582C420048020000000000000000000000000000000000000000000000000000080101000000000058764300640A110013010000030000000C000000180000008280000000000000010100000000000001030000C0741100D80B1100000000000F000000000C11000000F4000000000000000000F5FFFF000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000ECC04400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000304D570064200E0000000000000000000000000000000000240C11000000000000000000000001000400000001FFFF00FF01000000000000848484848484848484848484848484848484131313131313131313131313131313132020202020202020202020201313767778797A7B7C7D7E7F80818283201368696A6B6C6D6E6F70717273747520135A5B5C5D5E5F606162636465666720134C4D4E4F50515253545556575859201342404344453C3B3A464748494A4B20133435363738393A3B3C3D3E3F40412013262728292A2B2C2D2E2F30313233201318191A1B1C1D1E1F2021222324252013100E11010F1213140B1516081706138402030405060708090A0B0C0D0E0F1384848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484</value>
    <value type="5" name="Удаление">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000000000000101010002020200030303000404040005050500060606000707070008080800090909000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111110012121200131313001414140015151500161616001717170018181800191919001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121210022222200232323002424240025252500262626002727270028282800292929002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131310032323200333333003434340035353500363636003737370038383800393939003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141410042424200434343004444440045454500464646004747470048484800494949004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151510052525200535353005454540055555500565656005757570058585800595959005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E005F5F5F00606060006161610062626200636363006464640065656500666666006767670068686800696969006A6A6A006B6B6B006C6C6C006D6D6D006E6E6E006F6F6F00707070007171710072727200737373007474740075757500767676007777770078787800797979007A7A7A007B7B7B007C7C7C007D7D7D007E7E7E007F7F7F00808080008181810082828200838383008484840085858500868686008787870088888800898989008A8A8A008B8B8B008C8C8C008D8D8D008E8E8E008F8F8F00909090009191910092929200939393009494940095959500969696009797970098989800999999009A9A9A009B9B9B009C9C9C009D9D9D009E9E9E009F9F9F00A0A0A000A1A1A100A2A2A200A3A3A300A4A4A400A5A5A500A6A6A600A7A7A700A8A8A800A9A9A900AAAAAA00ABABAB00ACACAC00ADADAD00AEAEAE00AFAFAF00B0B0B000B1B1B100B2B2B200B3B3B300B4B4B400B5B5B500B6B6B600B7B7B700B8B8B800B9B9B900BABABA00BBBBBB00BCBCBC00BDBDBD00BEBEBE00BFBFBF00C0C0C000C1C1C100C2C2C200C3C3C300C4C4C400C5C5C500C6C6C600C7C7C700C8C8C800C9C9C900CACACA00CBCBCB00CCCCCC00CDCDCD00CECECE00CFCFCF00D0D0D000D1D1D100D2D2D200D3D3D300D4D4D400D5D5D500D6D6D600D7D7D700D8D8D800D9D9D900DADADA00DBDBDB00DCDCDC00DDDDDD00DEDEDE00DFDFDF00E0E0E000E1E1E100E2E2E200E3E3E300E4E4E400E5E5E500E6E6E600E7E7E700E8E8E800E9E9E900EAEAEA00EBEBEB00ECECEC00EDEDED00EEEEEE00EFEFEF00F0F0F000F1F1F100F2F2F200F3F3F300F4F4F400F5F5F500F6F6F600F7F7F700F8F8F800F9F9F900FAFAFA00FBFBFB00FCFCFC00FDFDFD00FEFEFE00FFFFFF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C47CBCC0C0C0C0C0C0C0C0C0C0C0C0C07C147CC0C0C0C0C0C0C083BCC0C0C0C0BC01277CC0C0C0C0C0C44CBCC0C0C0C0C05C012EC0C0C0C0C07C4CC0C0C0C0C0C0C05C017CC0C0C07C31BCC0C0C0C0C0C0C0D35C2853C07C319CC0C0C0C0C0C0C0C0C0D3280131352BC0C0C0C0C0C0C0C0C0C0C0BC01012FC0C0C0C0C0C0C0C0C0C0C0BC3F01333274C0C0C0C0C0C0C0C0BC9C40017CC07C3C74C0C0C0C0C0C0BC5C42017CC0C0C07C3F74C0C0C0C0A45C42417CC0C0C0C0C0BC4A40C0C0C0A442429CC0C0C0C0C0C0C0BC46C0C0C0CC7CCCC0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="УдалитьЗаписи">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000032FB000030F0000230EB000033FE00002FEA000032F800032DE1000033FB00002DE2000033FD000025BA00032BDA000232F900002AD400002BD800C0C0C000042BD9000231F5000027C2000131F3000003110002136100052AD0000330EF000230EA00012EE300000C3D0002156800042DE3000231F2000121A300032CD900032EE800042BD400042EE500011B8900052CDF00042EE6000321A50001061E000525BA00042FE500021B8500062CDA00052DE1000427C000000107000626C100052CDE0002166D00062CDB000629CD00010826000726BE000529D000072AD200072AD100020D42000723B0000524B3000828C70003104F0004166D00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00C2BAB1005B626A006B779400858EA500A2A9BB0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00111111111111111111111111111111111111115C5C11111111111111115C111111115A3E5A581111111111115C405C1111115A3A3A5A5C111111115C3C3D11111111115A34355A5C11115C37385C1111111111115A2E2F5A585C31320C11111111111111115A27285A2A2B0C5C111111111111111111212223240C5C111111111111111111115A1E1F205B581111111111111111115A18191A1B5A5B11111111111111115A1213145C15065A581111111111115B0D0E0F5C11110B105A11111111115C08090A5C111111110B0C5C111111110405065C111111111158075C1111111102035C111111111111115858111111111111111111111111111111111111</value>
    <value type="5" name="УдалитьИмпорт">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C5AFA000E9D9CF00E7D5CA00E4CEC200E0C7B900DCBFAF00D8B6A500D4AF9C00D1A89400A9968800FDFBFA00FBF6F300F8F0EB00F4E9E20063493500C4AE9F003C5EF6001F47D700E1C9BB00C3AE9F0025409E00DDC1B200C3AD9E00C0AA9C00BBA69700B6A19300B09D8E00F1E2D900EEDAD000DABAA900FEFDFD00FDFBF900FBF8F500F9F4F100F8F1EC00F6EDE800F5EBE500C2AC9D00BEA89A00B8A49500B39F9100AE9B8C00EAD3C700D6B2A000C1AC9D00E7CDBF00D2AA9700C0AB9C00E4CFC300CFA48F00C0AA9B00C0C0C00000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F000986F500048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF003535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353410101010101010105335101010101031010303043214171F53352D2D3033102E01010C0D0E0F1D1F53352D2C2F301027012728292A2B1F53352D1D1E2C2D101801202122230653352D26261D1E1F101801021119035335061C0F0F1D1E1F101501010101035335060D0E0E131617101101010101035335060C0D0D12131410020101010353350601010C0C0D0E0F1002030303035335060506070708090A0B353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535</value>
    <value type="5" name="Фильтр">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00D2B08D00DABFA300E4CFBA00E1CAB300D8BA9C00D5B59400CEA88200C79D7200C4976A00C1916100B9844E00A46C3300885A2B0065432000AD723600E2CBB500F4ECE300FDFBF900FCFAF700F9F4EF00F4EBE300EFE2D600D7B99B00C0905F008A5B2B00754D250020150A00B1753900E3CEB900FEFDFC00FCF9F700F0E5D900E5D2BE00D3B29000BC895600734C240021160A0099653000D9BDA000F2E8DE00F4ECE400D6B79800C19262007B51260091602D00EEE2D500E9D9C800D7B89900BD8A57007E53270023170B00764E2500C2946500E4CFBA00CDA780009E68310024180B0079502600C39566005D3D1D00764E2500CAA17800B175390061401E007A502600BA85500085582A00392512008457290092602D005B3C1D00060402006E4822005C3C1D0036241100C0C0C000724B24008F5E2D00AB713600BB875200C4986A00D2B08D00D9BD9F00E1CAB200E8D7C500F0E4D80030200F00482F1600603F1E00784F2500905F2D00A86F3400B67E4600C3956700CDA68000D7B89900E0C9B200EADBCB0026190C00392512004C3218005E3E1E00714B23008457290096632F00B47B4000C0906000CCA67F00D9BC9E00E5D2BE001D1309002B1C0D0039261200472F160056381B0064421F006F49230097632F00B47A4000C2946500D1AE8B00E0C9B10026190C00392512004C3218005E3E1E00714B23008457290096632F00B47B4000C0906000CCA67F00D9BC9E00E5D2BE0030200F00482F1600603F1E00784F2500905F2D00A86F3400B67E4600C3956700CDA68000D7B89900E0C9B200EADBCB003926120056381B00724B24008F5E2D00AB713600BB875200C4986A00D2B08D00D9BD9F00E1CAB200E8D7C500F0E4D80030200F00482F1600603F1E00784F2500905F2D00A86F3400B67E4600C3956700CDA68000D7B89900E0C9B200EADBCB0026190C00392512004C3218005E3E1E00714B23008457290096632F00B47B4000C0906000CCA67F00D9BC9E00E5D2BE001D1309002B1C0D0039261200472F160056381B0064421F006F49230097632F00B47A4000C2946500D1AE8B00E0C9B10026190C00392512004C3218005E3E1E00714B23008457290096632F00B47B4000C0906000CCA67F00D9BC9E00E5D2BE0030200F00482F1600603F1E00784F2500905F2D00A86F3400B67E4600C3956700CDA68000D7B89900E0C9B200EADBCB003926120056381B00724B24008F5E2D00AB713600BB875200C4986A00D2B08D00D9BD9F00E1CAB200E8D7C500F0E4D80030200F00482F1600603F1E00784F2500905F2D00A86F3400B67E4600C3956700CDA68000D7B89900E0C9B200EADBCB0026190C00392512004C3218005E3E1E00714B23008457290096632F00B47B4000C0906000CCA67F00D9BC9E00E5D2BE004D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4A4B4C494D4D4D4D4D4D4D4D4D4D4D4D464748494D4D4D4D4D4D4D4D4D4D4D4D424344454D4D4D4D4D4D4D4D4D4D4D4D3E3F40414D4D4D4D4D4D4D4D4D4D4D4D3B183C3D4D4D4D4D4D4D4D4D4D4D4D35363738393A4D4D4D4D4D4D4D4D4D2E232F30313233344D4D4D4D4D4D4D272829132A222B2C2D1C4D4D4D4D4D1D1E161F01202122232425264D4D4D10111213141516171118191A1B1C4D4D02030405060708090A0B0C0D0E0F4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D</value>
    <value type="5" name="Фильтрация">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000C0C0C00000008000008000000080800080000000800080008080000080808000C0DCC000F0CAA600AA3F2A00FF3F2A00005F2A00555F2A00AA5F2A00FF5F2A00007F2A00557F2A00AA7F2A00FF7F2A00009F2A00559F2A00AA9F2A00FF9F2A0000BF2A0055BF2A00AABF2A00FFBF2A0000DF2A0055DF2A00AADF2A00FFDF2A0000FF2A0055FF2A00AAFF2A00FFFF2A000000550055005500AA005500FF005500001F5500551F5500AA1F5500FF1F5500003F5500553F5500AA3F5500FF3F5500005F5500555F5500AA5F5500FF5F5500007F5500557F5500AA7F5500FF7F5500009F5500559F5500AA9F5500FF9F550000BF550055BF5500AABF5500FFBF550000DF550055DF5500AADF5500FFDF550000FF550055FF5500AAFF5500FFFF550000007F0055007F00AA007F00FF007F00001F7F00551F7F00AA1F7F00FF1F7F00003F7F00553F7F00AA3F7F00FF3F7F00005F7F00555F7F00AA5F7F00FF5F7F00007F7F00557F7F00AA7F7F00FF7F7F00009F7F00559F7F00AA9F7F00FF9F7F0000BF7F0055BF7F00AABF7F00FFBF7F0000DF7F0055DF7F00AADF7F00FFDF7F0000FF7F0055FF7F00AAFF7F00FFFF7F000000AA005500AA00AA00AA00FF00AA00001FAA00551FAA00AA1FAA00FF1FAA00003FAA00553FAA00AA3FAA00FF3FAA00005FAA00555FAA00AA5FAA00FF5FAA00007FAA00557FAA00AA7FAA00FF7FAA00009FAA00559FAA00AA9FAA00FF9FAA0000BFAA0055BFAA00AABFAA00FFBFAA0000DFAA0055DFAA00AADFAA00FFDFAA0000FFAA0055FFAA00AAFFAA00FFFFAA000000D4005500D400AA00D400FF00D400001FD400551FD400AA1FD400FF1FD400003FD400553FD400AA3FD400FF3FD400005FD400555FD400AA5FD400FF5FD400007FD400557FD400AA7FD400FF7FD400009FD400559FD400AA9FD400FF9FD40000BFD40055BFD400AABFD400FFBFD40000DFD40055DFD400AADFD400FFDFD40000FFD40055FFD400AAFFD400FFFFD4005500FF00AA00FF00001FFF00551FFF00AA1FFF00FF1FFF00003FFF00553FFF00AA3FFF00FF3FFF00005FFF00555FFF00AA5FFF00FF5FFF00007FFF00557FFF00AA7FFF00FF7FFF00009FFF00559FFF00AA9FFF00FF9FFF0000BFFF0055BFFF00AABFFF00FFBFFF0000DFFF0055DFFF00AADFFF00FFDFFF0055FFFF00AAFFFF00FFCCCC00FFCCFF00FFFF3300FFFF6600FFFF9900FFFFCC00007F0000557F0000AA7F0000FF7F0000009F0000559F0000AA9F0000FF9F000000BF000055BF0000AABF0000FFBF000000DF000055DF0000AADF0000FFDF000055FF0000AAFF000000002A0055002A00AA002A00FF002A00001F2A00551F2A00AA1F2A00FF1F2A00003F2A00553F2A00F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF00000000000000FFFF0000FFFFFF000000000000000000000036370E000000005EF5F5F50DF5F5F55E5B870A0000000082AFF7F7F75EF7F70837090E000000005EAFB3AFAFAFD409AF3B090AAF000000F7AFD1AFAFAFAFF637095F360AAF0000F7B30E0F0E36D437D4095F37370EAF005EFFF6AFB3AF5EAFD40987635F370A0082FF0F0E0ED4373B373637320E0E0E005EFFFFF6FFFFAFF6AFAF86360000000086FF0E0F0E0E0A0E0AAF82F50000000082FFF6FFFFFFB3D1AFFF5EF50000000009FF0F0E0E0E0AFFFF5E820D0000000086FFFFFFFFFFFFFF5EF52DF50000000009FFFFFFFFFFFFFF8209F55E0000000008D1FFF6FFFFFFFFF7F55E0000000000090908090908098609080000000000</value>
    <value type="5" name="Флажок">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000A08060006040A000F0D8C800E0D0C8002060A000FFE8D00080604000708890002040E0000020A00000208000E0B8A000806850000020E00000087000D0B8B000FFE0C8002020A000C0A0800070584000C0A0A000F8D8C000E8D0B80080402000C0988000F8D0B800C0806000F8C8B000E8C0A00007070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707FA0707070707070707070707070707FDE90707070707070707070707070707FAFB07070707070707070707070707E3F60707070707070707070707070707E9EDF1070707070707070707070707F5F6EBEBF1F107070707070707070707E9F4EBEBF0ECF10707070707070707EEEFEBEBECF0EBE7F107070707070707E9EAE7E7EBEBE7ECECED070707070707E3E40707E7E707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707</value>
    <value type="5" name="Чеки">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C00000409500003287006E78A200DCDADA00003F93006295D9003568AC00D2C7C700D8CFCF00E4DFDF00003D9000807E7D008B8989009A989800A7A5A500ACAAAA00A19F9E009290900085838200003A8D00FFFFFD00DCDCDB0000388A00FDFDFB00FBFBF80000358700FCFCF800F9F9F40000338300FBFBF500F6F6F00000307F00F9F9F100F3F3EB00002C7B00F8F8EE00F0F0E600ECBF8200ECB062005B59640000297700F6F6EB00EDEDE100E2A65A00FFE59900BA82420000267200F5F5E800EBEBDD00DCAF7400D79B5100B77B3500DDAD5B00FFE29000D2872E0000236E00F4F4E500E8E8D900E5AF4F00FFE08800FFD36200FFCF5600FFD97400C3792300001D6700F9F9E900F3F3E200D1A46C00C1854000B97D3600DDA13700FFCE5100B56A1800001055004275B9003D70B40092602E00FFC12C008B4F190072400A00000536000006470062351E00814410003E231C0075706C0063617400206C610065727C0075706C006361740073207400652073006C65630065642000617965000A496D0067654900646578004F074F00436C69006B071A0075706C0063617400496D610065466F006D617400436C69006B000000544D6500754974006D0A70004C617900724465000743610074696F00060D2600656C650065204C007965720048696E00062744006C657400206C610065727C00656C65006573200068652000656C6500746564006C617900720A4900616765006E646500021A07006E436C00636B0700706D4C0079657200656C430069636B0000095400656E750074656D00706D4C007965720072310700617074006F6E06002D0448006E7406002D000000544D6500754974006D0B70004C6179007253680077074300707469006E060E0056697300626C65004C617900720448006E74060053686F002F48690065206C007965720053686F00732F4800646573007468650073656C0063746500206C6100657207006E436C00636B0700706D4C0079657200686F77006C696300000009004D656E00497465000C706D006179650050726F0073074300707469006E0614004C617900722050006F706500746965002E2E2E0048696E0006344C007965720070726F006572740065737C00686F770020746800207365006563740064206C007965720070726F0065727400657307006E436C00636B0700706D4C0079657200726F7000436C69006B000000544D6500754974006D0A70004C617900724272000743610074696F0006012D0000095400656E750074656D00706D4C00796572006F6C6F000743610074696F00060D4C00737420006F6C6F002E2E2E0048696E00061C7C00656C65007473200068652000636F6E006C69730020636F006F7207006E436C00636B0700706D4C00737443006C6F72000202543A3A3A3A3A3A3A3A555657020202023A4D4E4E4E4E4E4E4E4F50515202020209444545454546474748494A4B020202093B3C3C3C3C3D3E3F4040404142020209323333333334353536373839020202092C2D1212122D2D2D2E2F300202020209262727272727272728292A020202020923121212121212242423090202020209202121212121212121200902020202091D12121212121212121D0902020202091A1B1B1B1B1B1B1B1B1A09020202020917181818181818181817090202020209010E0F1011121314150109020202020908090A0B0C0C0B0A09080902020202090909040506060504090909020202020202020212151512020202020202</value>
    <value type="5" name="ШарЖелтый">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFFFFFFFFFFFFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FFFF00FFFF00FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="ШарЗеленый">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF00FFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF00FFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF00FFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF0000FF0000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C000FF0000FF0000FF00C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="ШарКрасный">424D360300000000000036000000280000001000000010000000010018000000000000030000C40E0000C40E00000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FFFFFFFFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FFFFFFFFFFFFFF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FF0000FF0000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000FF0000FF0000FFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0</value>
    <value type="5" name="ШарСиний">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FFFFFFFFFFFFFF8484FF8484FF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FFFFFFFFFFFFFFFFFFFF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FFFFFFFFFFFFFF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FF8484FF8484FF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF8484FF8484FF8484FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF</value>
    <value type="1" name="Ширина">16</value>
    <value type="5" name="Эксел">424D3604000000000000360000002800000010000000100000000100200000000000000400000000000000000000000000000000000039724B0039724B0039724B00326C4600326C4600326C46002B6541002B6541002B654100255C3700255C3700255C37001D5230001D5230001D523000194C290039724B006BA67B0065A0760065A076005E9B71005E9B710057966A0057966A0048935E0048935E0048935E003C8C56003C8C5600348C4E00348C4E00194C2900407A56006BA67B00EBF3EB00E8F1E800E6F0E600E4EFE400E2EEE300DFECDF00DEEBDE00DCEADD00DCEADB00D9E8D900D8E7D800D8E7D800348C4E00194C2900407A560070AA8000EDF5ED00EBF3EB00EAF1E900E6F0E600E4EFE400E2EEE300DFECDF00DEEBDE00DCEADB00DCEADB00DAE9DA00D8E7D8003C8C56001D52300046805C0075AF8500EFF6EF00EDF5ED00EBF3EB00E9F2E900E8F1E800E4EFE40081AA8D002B512F002B512F002B512F002B512F00DAE9DA003C8C56001D5230004C8761007BB58A00F3F8F30054A459002B512F002B512F002B512F002B512F001C771D006CB6740048935E004A964C00255C3700DCEADB0048935E00255C3700548E660081BC9000F4F9F400F1F7F10054A4590062B2750054A459001C771D007BC1850048935E004A964C00255C370081AA8D00DCEADD0048935E00255C370057966A008AB79500F6FAF600F5F9F500F3F8F30054A459003187340081BC900048935E004A964C00255C37006099630060996300DFECDF0048935E00255C37005E9B710094C79C00F9FBFA00F6FAF600F5F9F5003187340094C79C005BAA640054A45900326C460003680300E6F0E600E2EEE300E1EDE10057966A002B65410065A0760094C79C00FCFDFB00F9FBFA003F9346009DD0A7006CB674005BAA64004187480054A459003187340003680300E6F0E600E4EFE40057966A002B6541006BA67B009DD0A700FCFDFC004A964C00AAD6B20072BB7B0072BB7B0048935E005682590067B06E0054A459003187340003680300E6F0E6005E9B7100326C460070AA80009DD0A700FEFEFE0067B06E0063AC680063AC6800569A5D00F6F9F600F3F8F30056825900568259005682590056825900E9F2E9005E9B7100326C460075AF8500AAD6B200FEFEFE00FDFEFD00FDFEFD00FCFDFB00F9FBFA00F8FAF800F6F9F600F4F9F400F1F7F100EFF6EF00EDF5ED00EBF3EB0065A0760039724B007BB58A00AAD6B200FFFFFF00FFFFFF00FEFFFE00FDFEFD00FCFDFB00F9FBFA00F8FAF800F6FAF600F4F9F400F1F7F100EFF6EF00EDF5ED0065A0760039724B007BB58A00AAD6B200AAD6B2009DD0A7009DD0A70094C79C0094C79C0094C79C008AB7950081BC90007BB58A0075AF850070AA800070AA80006BA67B0039724B0081BC90007BB58A0075AF850070AA80006BA67B0065A076005E9B710057966A00548E66004C8761004C87610046805C00407A5600407A560039724B0039724B00</value>
    <value type="5" name="Экспорт">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C5B9B400E0D1CD00E0D1CC00DCCFC900DACDCA00DACEC900D5CAC600D2D0CB00EE300E00FD8F7600FFB5A100FFB39A00FFB59A00FFB79800D1796400D8D2D000E31D0000F85F4300FE9A8300FF9D8200FF9D7E00FF9B7800D06B5400D9D1D1001D1D1D00CD170000E1391D00F27A6300F7846C00F9806700FC7A5F00CF5B4900D9D3D0001313130034302F00B7140000C7220800DD5A4200E76C5400EC695000F05F4500C54D3D00D7D1CD0006060600989898002B2B2B00AB130000B6170000CB3D2600D8543C00DC543A00DE482C00BB423100D5CFCC0009090900252525007878780027272700A00D0000A80E0000B8241000C5372200C93A2300C92D1200B1352600D4CBCA00555555007A7A7A009595950024242400920802009C0A0300A7130500B21F0D00B7241000B4150100A6271B00CEC8C40036363600870C0500C9C3C1000B0B0B00C0B3AE00C2B5B200C6C2C000A0ACA500A2AEA700ADB6B100838785006B6B6B00BCC5C000B7BFBB00BFC7C300B2B9B600A7ADAB009DA2A000898E8C0074797700C2C9C600C1C8C500C8CDCB00BABFBD009499970071767400E0E2E100E2E4E300E3E4E300E4E6E500DCDFDE00B7BABA007B7F7D00989C9A00979B99009094920074787700C0C0C000E5ED7C00F1EFF000E2E8F20020E8EC00EDE02000EAEEED00EA20E200E1E8E100E8EEF2007402000043000000000000003100000031353200D3E4E000E5EDE80020E4F300EBE8EA00F2EEE200D3E4E000E8F2FC00E8E4E500F2E8F700FBE52000EAEEED00B40200001F000000000000000E00000031353300D1EEF000E8F0EE00D00200003B000000000000002B00000031353400EFEE2000ECE5ED007CD1EE00F2E8F000E2E0F20020E8EA00EDEAE800EFEE2000EBF4E000080300004F000000000000003C00000031353500EFEE2000ECE5ED0020EAE00020F7E800EBF37C00EEF0F200F0EEE200F2FC2000EAEEED00E820EF0020E8EC00EDE82000E0EA2000E8F1EB005403000043000000000000003000000031353600EFEE2000E0E4F000EC7CD100F0F2E800EEE2E000FC20E800EEEDEA0020EFEE00F7E8F100F320EA00E4F0EE00940300004B000000000000003800000031353700EFEE2000E0E7EC00F0F37C00EEF0F200F0EEE200F2FC2000EAEEED00E820EF0020F0E000ECE5F00020E8E700E1F0E000E5EDE800AC19000057000000000000004400000033323200C1EBEE00E8F0EE00E0F2FC00EFF0EE00F0E0F700EEF1F2007CC0EB00F4E02D00EBEEEA00F0EEE200E07CC700ECEEF000E7E8F20020C0EB00F4E02D00E0EDE000001A00005F000000000000004F00000033323300CCE0F100E8E22000EAEEED00EA2E2E007CDDEA00EFEEF00020E22000E0F1F100E220E800EEEDEE007CDDEA00EFEEF000E8F0EE00757171717171727374757575757575756A6B6B6C6B6D6E6F7075757575757575646564646466676869757575757575755C5D5E5F6061626375757575757575755758595A5B7575757575750075757575020202020254555675757500007575755151515151515152750000005300757548494A4B4C4D4E4F75383838504438753C3D3E3F4041424375383838444546473031323334353637753838393A2E3B7525262728292A2B2C752D2D2D2E2F75751B1C1D1E1F202122757575232475757512131415161718197575751A757575750A0B0C0D0E0F101175757575757575750203040506070809757575757575757575757575757575757575757575757575</value>
    <value type="5" name="Экспорт2">424D36030000000000003600000028000000100000001000000001001800000000000003000000000000000000000000000000000000E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9CECACBC7C3C4C7C3C4C7C3C4C7C3C4CECACBDCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0CECACBA3A0A18E8B8C8E8B8C8E8B8C8E8B8CA3A0A1CECACBE3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C496683B96683B96683B96683B96683B96683BC7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C496683BF9D6B5F9D6B5F9D6B5F9D6B596683BC7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C496683BF6CFA9F6CFA9F6CFA9F6CFA996683BC7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C4936639F4C99DF4C99DF4C89EF4C99D946639C7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0C7C3C4916336F0C398F0C398F0C398F0C398916436C7C3C4E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9CECACBC7C3C4B1AEAF8E6034EBBE92EBBE92EBBE92EBBE928E6034B1AEAFC7C3C4CECACBDCD8D9E3DFE0E3DFE0CECACBA3A0A18E8B8C868485895C30E6B78AE6B78AE6B78AE6B78A895D308684858E8B8CA3A0A1CECACBE3DFE0E3DFE0CECACB86592D86592D86592D86592DE0B183E0B183E0B183E0B18386592D86592D86592D86592DCECACBE3DFE0E3DFE0DCD8D9815529DAAA7ADAAA7ADAAA7ADAAA7ADAAA7ADAAA7ADAAA7ADAAA7ADAAA7ADAAA7A815529DCD8D9E3DFE0E3DFE0E3DFE0DCD8D97D5126D3A372D3A372D3A372D3A372D3A372D3A372D3A372D3A3727D5126DCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D97A4E23DAB590CD9B6ACD9B6ACE9B6ACD9B69DAB5917A4E23DCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9774C21EBD8C6C79462C89461EBD8C6774C21DCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9754A1FFFFFFFFFFFFF754A1FDCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0DCD8D9754A1F754A1FDCD8D9E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0E3DFE0</value>
    <value type="5" name="ЭкспортНевыясненных">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000F0CAA600DFC69700DCAF9900B88C72008F6E5900A1815F00FFB7A600FF636200FF5F5F00FEAA9300FFE0BB00BA927F00BE9173009A6A5800FFB59000FF545400FFA2A200FF4E4A00D5B6B400D3A8A4006A514400FFF3C900FFEDC200FFC3A000FF775900F5ECD200FFFFD400F1D8CC006A534600AA9FAA00E6E6E600FEF9E600FED7BF00FE624C00FEF5E100EBCFBF0069524500AA9F7F00FFDCB800F4EACF00F6EBC9008C77000069534700FFD1C400EFE3BF00BDC52300AB9B000081771100D0E54300C0D321009C923D00D9EA6F00CFDF4D00BED22C00B3C61000BBCA0D00EED6AA00948B3A00CFE26800BED43600B3C61200B0BC0700B9BA0200A48E00008C613100C6A48A007F6F1300C1B83E00B6AF2100AFA90C00B2B90600B9BC03009A7C000080522B006A544A006A590A006F5700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020202020202020202020202020202020202020202020202020202480202020202020202020202020202024F2C0202020202104D4D4D312C2C2C4E312C4E02020202204444444445464748494A4B4C020202283B3B3B3B3C363D3E3F404142430202201D1D1D1D3536363738393A2C020202282104040431322C2C33342C020202022021210F122E1C2F2C302C020202020228211D291D0D1D2A2B2C2D020202020220212223240425222226270202020202030118191A1B1C1D1D1E1F020202020211010F121314091515161702020202020301090A0B0C0D0E0F10020202020202050101010101010208020202020202020304050505060607020202020202</value>
    <value type="5" name="ЭЦП">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF007ACC950068C585005BBE770054B870004FB4690047AF5E0042A954003CA54B00339E41002D9B38002897310022982900419845005E81630070D77E008BCE9400A7D6AE00B0DBB700ADD9B400A7D3AD00A3D1A800A1D0A7009BCAA00095C5980091C193008EBE8E0089BA88005897580033502F0057D15F00A4D9A700FCF9FB00FFFEFF00F6F2F500FFFCFF00F5F0F400F6F1F500FFFDFF00FDF7FB00FBF1F400FDF2F200FFF7FB00B8C8AB00213F1A0045BA5200B4E1B900F4EEF300C5C7C500CFD1D000CBCDCC00C8CACA00B7BAB900C5C7C600D1D2D000C8C9C800CBCAC600F4EAE800D5DAC50023411C0046AB5A00ACD8B200FAFAFA00ECEEED00FDFCFB00F0EFEE00FBF8F800FAF8F600E7E3E100F4EDE800F8EDE800FAEEE700FFF4F000CCD1B80021401B003FA84F00A8D4AD00EEE7E200E4D8D100E0CDC400DFCAC000DFC9BD00D8BEB200DAC1B500F4E6DF00FEEDE700CBCDB400203F190036A24500A6D3AB00FEFEFE00FBFDFC00EDE6E100E0D4CC00DFCBC200DEC8BE00DAC4B800DCC0AE00E9CBB100FFEFD800FFEAE100C9C9AE001F3F1900319E3B00A3D0A700FEFFFE00F4EEEA00EBDFD800EAD7CE00E8D3C900E8D2C200CCBBC0009D99CC00AFB4E900FBE8E500CCCAAC001D3E18002C983300A1CFA400FDFEFD00F0F0EE00EBEAEA00EAE7E500E8E6E400EDE7E100E7E4EF006289FD003D7EDF001A5BE300808AE200CFCEAC001D3D1800259729009ECDA100D5D3D400D9D4D500CEC9CB00D4CED200EFE7DA00AFB5F3003778D70069CAD60065C8ED001141D400A1A39F002E4B2200359337007FBC8400DEF0DF00E6EEE200E6ECDC00DFE3D500E4E3CE00EEF1CB00A0ADE100205FD70060B9E00052B9FF001232B40075907B0030502100587F5C0046664300425E3C00435E3C003D5A37003652200036564A0042634E0068809F002F4AC700113EAC000E30A700383984005D6E6400273120006E8CF400527BFA001128AE004B62C6001E45D30034378B004661CD001537C4000D2EBA002046D5000C2CB700283798003D55B6001620830014228B0000FFFF00C0C0C00000808000808080007EC999000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1BDBDC1BEBFC1BDC1C1C1C1C1C1C1C1C1C1B7B8B9BABBBCC1C1C1C1C1C1C1C1C1C1B1B2B3B4B5B6C1C1A2A3A4A5A6A7A8A9AAABACADAEAFB0C193949476949494A99B9C9D9E9FA0A1C185860135353535368C8D8E8F909192C1762E78797A7B7C7D7E7F8081822C84C16820016A6262626262707172737675C1595A5B5C5D5B5B5B5B5B6464656667C14C4D01C0C1C2C10135353535565758C13D2E3F01C2C3C20145464748492C4BC12E203001C1C2C101353535353A763CC11F2021C00101C0012728292A2B2C2DC11011121303161617051A1A1B1C1D1EC1C402030405060708090A0B0C0D0E0FC1</value>
    <value type="5" name="ЭЦПНеверна">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF007EC999007ACC950068C585005BBE770054B870004FB4690047AF5E0042A954003CA54B00339E41002D9B38002897310022982900419845005E81630070D77E008BCE9400A7D6AE00B0DBB700A3D1A800A1D0A70091C193008EBE8E0089BA88005897580033502F0057D15F00A4D9A700FCF9FB00FFFEFF00F6F2F500FFFCFF00F5F0F400F6F1F500FFFDFF00FDF7FB00FBF1F400FDF2F200FFF7FB00B8C8AB00213F1A0045BA5200F4EEF300B7BAB900F4EAE8002C98330023411C0046AB5A00FAFAFA00ECEEED00F0EFEE00FBF8F800FAF8F600E7E3E100CEEEEB0018A5BF00105C6900D9EBE80021401B003FA84F00A8D4AD00DCC0AE001AFAFC0014EBEF00CBCDB400203F190036A24500A6D3AB00FEFEFE00FBFDFC00EDE6E100D4FBFD00139EA2001AA0A400A5C8B4001F3F1900319E3B00FEFFFE0013EEF900172C3700282A360033CEDD001D3E18002D607A00FDFEFD00F0F0EE00EBEAEA00EAE7E500E8E6E400ECE7E10006F0FB00234F5C002A303E002ED8E9001D5238001E98AB00259729009ECDA100AFBBBB000CDCF60004ECFD00258F9C00246B7B0009E9F40006E8F4000DCBD800359337007FBC84006CBC9A0004E1FD0003EBFD000BC3D3000FC0D10003EFFD00587F5C0046664300425E3C00435E3C003D5A37003652200004D2F30001E3FF0001E4FC001269780005ECF80017849D0005D4F70003D8F70004DFF5003CA3B600336573005B6C75003B5260003E566100596871004B5E670053656F0050636A004F515900000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000093939393939393939393939393939393939393939393939393939393939393939393939393937F8586878488898A8B8C9393939393937FD281827F83397F7F8474757677787939D27B7C7D5E7E397F7F6C6D6D2F6D6D6E396F70717273393A936263012D2D2D6439D2666768696A3A932F2B565758595A5B395C5D5E5F3A60934E1D014F3F3F3F3F39D25152533A5493444546474846464649394A4B3A4C4D933D3E0197938F93369739D2413A424393312B32018F948F363738393A3B293C932B1D2C01938F93222D2D2D2D2E2F30931C1D1E97010197232425262728292A9311121314060715160A0B1718191A1B9302030405060708090A0B0C0D0E0F1093</value>
    <value type="5" name="ЭЦПНеверна2">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF007EC999007ACC950068C585005BBE770054B870004FB4690047AF5E0042A954003CA54B00339E41002D9B38002897310022982900419845005E81630070D77E008BCE9400A7D6AE00B0DBB700A3D1A800A1D0A70091C193008EBE8E0089BA88005897580033502F0057D15F00A4D9A700FCF9FB0000FFFF00FFFDFF00FDF7FB00FBF1F400FDF2F200FFEFD800B8C8AB00213F1A0045BA5200F4EEF300C0C0C00000808000B7BAB9002C98330023411C0046AB5A00FAFAFA0080808000E7E3E100F4EDE800F8EDE800FAEEE70021401B003FA84F00A8D4AD00CBCDB400203F190036A24500A6D3AB00FEFEFE00FBFDFC00EDE6E100BBBEE200096FE200265DC500D9CECF00FBEEE1009A93C1000137E6003F43B200319E3B00FEFFFE00DCC0AE001359CD000094FD000083FD00254DC300817BB6000138EA000038FF000020F600FDFEFD00F0F0EE00EBEAEA00EAE7E500E8E6E400A7A6C6000762DF000070FD00005AFD000032FF000022FE0028289E00259729009ECDA100A69DB9000544DE000048FE00359337007FBC84009790C000000EFD001E19B600587F5C0046664300425E3C00435E3C003D5A37003652200036564A0042634E000137E900001DFA000001FC00241DB8001732C6000000F3001320CC0028279E00EA2E2E00C8000000230000000000000010000000CCE0F100E8E22000EAEEED00EA2E2E00D40200004B000000000000003A000000DDEAF100EEF0F200E220EC00F1F1E80020E8EA00EDEEEA00DDEAF100EEF0F200F0EEE200F2FC2000F1E52000EAEEED00E820E200ECE0F100E8E20000BCBA6200281A1200CC000000EAE0EA00EDEEE200FE20E100E1EBE800F2E5EA0024000000270000000000000015000000C8ECEF00F0F22000E0F1F100E2E02000EAEEED00EA00EE00988C450048E04A00840000007CD1EE00E4E0F20020EDEE00F3FE2000EAEEED00F320E80020ECE000F1E8E20000FE2000D8566400D856640034000000F1E8E20014000000230000000000000013000000EAE0EA00EDEEE200FE20E800EEEDEA0064000000230000000000000013000000EAE0EA00EDEEE200FE20E800EEEDEA00E80300003300000000000000200000007CD1EE00E4E0F20020EDEE00F3FE2000EAEEED00F320E80020ECE000F1E8E20018040000270000000000000016000000CAEEEC00EDE4FB00F0E5E400EAF2E800EEE2E000E8FF0000685A6300685A6300380000007CD1EE00E4E0F20020EDEE00F3FE2000E8E1EB00EEF2E500F320E80020ECE000F1E8E20020E8EA0074040000430000000000000030000000CAEEEF00F0EEE200F2FC7C00EAEEEF00F0EEE200F2FC2000FBE4E500E5EDED00E520E200E1F3F400F020EE00ECE5ED00B40400002B000000000000001900000031373100C8EDF100F0F3EC0029292929292929292929292929292929292929292929292929292929292929292929292929292940767729294B40724B29292929292929745B715D4B7072754168696A6B6C6D6E6F705B717072727329632764641A646464654F5B5C66671A295E5F012B2B2B2B2B6061625B5C5D4B292C2752535455565758595A4F5B5C5D29471D01484949494A4B4C4D4E4F5051413A3B3C3D3E3C3C3F40414243444546293637011F292A29012B2B2B2B243839292E272F012A302A013132333424253529271D2801292A29012B2B2B2B242C2D291C1D1E1F01011F012021222324252629111213140415151606171718191A1B2902030405060708090A0B0C0D0E0F1029</value>
    <param value="1" type="3" name="version">36.042.410</param>
    <param value="1С" type="3" name="version">36.042.410</param>
    <param value="2" type="3" name="version">36.042.410</param>
    <param value="3" type="3" name="version">36.042.410</param>
    <param value="4" type="3" name="version">36.042.410</param>
    <param value="А_Зеленый" type="3" name="version">36.042.410</param>
    <param value="Адресат" type="3" name="version">36.042.410</param>
    <param value="Б_Желтый" type="3" name="version">36.042.410</param>
    <param value="БОСвязь" type="3" name="version">36.042.410</param>
    <param value="БОСуществует" type="3" name="version">36.042.410</param>
    <param value="В_Красный" type="3" name="version">36.042.410</param>
    <param value="ВДругойДокумент" type="3" name="version">36.042.410</param>
    <param value="Виза" type="3" name="version">36.042.410</param>
    <param value="Внимание" type="3" name="version">36.042.410</param>
    <param value="ВнутренниеОбороты" type="3" name="version">36.042.410</param>
    <param value="Вопрос" type="3" name="version">36.042.410</param>
    <param value="ВосклицательныйЗнак" type="3" name="version">36.042.410</param>
    <param value="Вперед" type="3" name="version">36.042.410</param>
    <param value="ВыделитьПравила" type="3" name="version">36.042.410</param>
    <param value="ВызватьСправочник" type="3" name="version">36.042.410</param>
    <param value="Выписка" type="3" name="version">36.042.410</param>
    <param value="Высота" type="3" name="version">36.042.410</param>
    <param value="Галочка" type="3" name="version">36.042.410</param>
    <param value="ГалочкаСиняя" type="3" name="version">36.042.410</param>
    <param value="Группы" type="3" name="version">36.042.410</param>
    <param value="Группы" type="3" name="crc32">$7C7073A0</param>
    <param value="Дерево" type="3" name="version">36.042.410</param>
    <param value="Диск" type="3" name="version">36.042.410</param>
    <param value="Дискета" type="3" name="version">36.042.410</param>
    <param value="Добавить" type="3" name="version">36.042.410</param>
    <param value="ДокументВнимание" type="3" name="version">36.042.410</param>
    <param value="ДокументВперед" type="3" name="version">36.042.410</param>
    <param value="ДокументДобавить" type="3" name="version">36.042.410</param>
    <param value="ДокументНазад" type="3" name="version">36.042.410</param>
    <param value="ДокументОбработать" type="3" name="version">36.042.410</param>
    <param value="ДокументОтправить" type="3" name="version">36.042.410</param>
    <param value="ДокументСФлажком" type="3" name="version">36.042.410</param>
    <param value="ДокументУдалить" type="3" name="version">36.042.410</param>
    <param value="ДокументУРМВиза" type="3" name="version">36.042.410</param>
    <param value="ДокументУРМВиза2" type="3" name="version">36.042.410</param>
    <param value="Заблокировать" type="3" name="version">36.042.410</param>
    <param value="ЗаблокироватьДляПользователя" type="3" name="version">36.042.410</param>
    <param value="Заверить" type="3" name="version">36.042.410</param>
    <param value="ЗагрузкаДокумента" type="3" name="version">36.042.410</param>
    <param value="Замена" type="3" name="version">36.042.410</param>
    <param value="Запрос" type="3" name="version">36.042.410</param>
    <param value="ИзменениеДоли" type="3" name="version">36.042.410</param>
    <param value="ИзменитьДатуПринятия" type="3" name="version">36.042.410</param>
    <param value="Импорт" type="3" name="version">36.042.410</param>
    <param value="Импорт2" type="3" name="version">36.042.410</param>
    <param value="ИмпортИзУФК" type="3" name="version">36.042.410</param>
    <param value="ИмпортИзФайла" type="3" name="version">36.042.410</param>
    <param value="ИмпортИзФайла2" type="3" name="version">36.042.410</param>
    <param value="ИмпортИзЭксела" type="3" name="version">36.042.410</param>
    <param value="Индекс" type="3" name="version">36.042.410</param>
    <param value="Инструмент" type="3" name="version">36.042.410</param>
    <param value="Информация" type="3" name="version">36.042.410</param>
    <param value="ИсполнитьЗаявку" type="3" name="version">36.042.410</param>
    <param value="Календарь" type="3" name="version">36.042.410</param>
    <param value="Карточка" type="3" name="version">36.042.410</param>
    <param value="Ключ" type="3" name="version">36.042.410</param>
    <param value="Контроль" type="3" name="version">36.042.410</param>
    <param value="КонтрольРеестр" type="3" name="version">36.042.410</param>
    <param value="КопироватьПлатежку" type="3" name="version">36.042.410</param>
    <param value="Корзина" type="3" name="version">36.042.410</param>
    <param value="КурсоваяРазница" type="3" name="version">36.042.410</param>
    <param value="Мастер" type="3" name="version">36.042.410</param>
    <param value="Молния" type="3" name="version">36.042.410</param>
    <param value="Молоток" type="3" name="version">36.042.410</param>
    <param value="Мультивыбор" type="3" name="version">36.042.410</param>
    <param value="Назад" type="3" name="version">36.042.410</param>
    <param value="НовыйПроцент" type="3" name="version">36.042.410</param>
    <param value="Ноль" type="3" name="version">36.042.410</param>
    <param value="Норматив" type="3" name="version">36.042.410</param>
    <param value="Нумерация" type="3" name="version">36.042.410</param>
    <param value="Обновить" type="3" name="version">36.042.410</param>
    <param value="Остаток" type="3" name="version">36.042.410</param>
    <param value="Отклонение" type="3" name="version">36.042.410</param>
    <param value="ОтклонитьДокумент" type="3" name="version">36.042.410</param>
    <param value="Открыть" type="3" name="version">36.042.410</param>
    <param value="ОтложитьДокумент" type="3" name="version">36.042.410</param>
    <param value="ОтложитьНаВремя" type="3" name="version">36.042.410</param>
    <param value="ОтменаПереноса" type="3" name="version">36.042.410</param>
    <param value="Отменить" type="3" name="version">36.042.410</param>
    <param value="Отметка" type="3" name="version">36.042.410</param>
    <param value="Очистить" type="3" name="version">36.042.410</param>
    <param value="Ошибка" type="3" name="version">36.042.410</param>
    <param value="Параметр #1" type="3" name="version">36.042.410</param>
    <param value="ПараметрыЗаявки" type="3" name="version">36.042.410</param>
    <param value="ПениФормированиеПериодов" type="3" name="version">36.042.410</param>
    <param value="ПеренестиНастройки" type="3" name="version">36.042.410</param>
    <param value="ПереносРосписи" type="3" name="version">36.042.410</param>
    <param value="ПересчетВалюты" type="3" name="version">36.042.410</param>
    <param value="Печать" type="3" name="version">36.042.410</param>
    <param value="ПЗКВыполнена" type="3" name="version">36.042.410</param>
    <param value="ПЗКОтклонить" type="3" name="version">36.042.410</param>
    <param value="ПЗКУдалить" type="3" name="version">36.042.410</param>
    <param value="ПодатьЗаявку" type="3" name="version">36.042.410</param>
    <param value="Поиск" type="3" name="version">36.042.410</param>
    <param value="ПоискЗаписи" type="3" name="version">36.042.410</param>
    <param value="ПоискОшибок" type="3" name="version">36.042.410</param>
    <param value="Пользователи" type="3" name="version">36.042.410</param>
    <param value="Пользователь" type="3" name="version">36.042.410</param>
    <param value="Портфель" type="3" name="version">36.042.410</param>
    <param value="Портфель_связь" type="3" name="version">36.042.410</param>
    <param value="Правописание" type="3" name="version">36.042.410</param>
    <param value="ПредварительныйКонтроль" type="3" name="version">36.042.410</param>
    <param value="Привязать" type="3" name="version">36.042.410</param>
    <param value="ПривязатьУД" type="3" name="version">36.042.410</param>
    <param value="Прикрепить" type="3" name="version">36.042.410</param>
    <param value="Принятие" type="3" name="version">36.042.410</param>
    <param value="ПринятьДокумент" type="3" name="version">36.042.410</param>
    <param value="ПринятьДокумент_Связь" type="3" name="version">36.042.410</param>
    <param value="Продолжить" type="3" name="version">36.042.410</param>
    <param value="Пронумеровать" type="3" name="version">36.042.410</param>
    <param value="ПросмотрДокумента" type="3" name="version">36.042.410</param>
    <param value="ПросмотрСвязи" type="3" name="version">36.042.410</param>
    <param value="ПроставитьОтдел" type="3" name="version">36.042.410</param>
    <param value="Проценты" type="3" name="version">36.042.410</param>
    <param value="ПроцентыФормированиеПериодов" type="3" name="version">36.042.410</param>
    <param value="РазбиениеПоКД" type="3" name="version">36.042.410</param>
    <param value="Разблокирование" type="3" name="version">36.042.410</param>
    <param value="РазблокироватьДляПользователя" type="3" name="version">36.042.410</param>
    <param value="РасчетПени" type="3" name="version">36.042.410</param>
    <param value="РасчетПроцентов" type="3" name="version">36.042.410</param>
    <param value="Редактировать" type="3" name="version">36.042.410</param>
    <param value="РедактироватьМаски" type="3" name="version">36.042.410</param>
    <param value="РедактироватьНастройки" type="3" name="version">36.042.410</param>
    <param value="Рубль" type="3" name="version">36.042.410</param>
    <param value="Синхронизация" type="3" name="version">36.042.410</param>
    <param value="СканированиеПП" type="3" name="version">36.042.410</param>
    <param value="Скиф" type="3" name="version">36.042.410</param>
    <param value="Скрепка" type="3" name="version">36.042.410</param>
    <param value="Согласовать" type="3" name="version">36.042.410</param>
    <param value="СогласоватьДокумент" type="3" name="version">36.042.410</param>
    <param value="Создание" type="3" name="version">36.042.410</param>
    <param value="СозданиеУРМ" type="3" name="version">36.042.410</param>
    <param value="СозданиеУРМ2" type="3" name="version">36.042.410</param>
    <param value="СоздатьУведомлениеМод" type="3" name="version">36.042.410</param>
    <param value="Солнце" type="3" name="version">36.042.410</param>
    <param value="СопоставитьВходящим" type="3" name="version">36.042.410</param>
    <param value="СортироватьПоВозрастанию" type="3" name="version">36.042.410</param>
    <param value="СортироватьПоУбыванию" type="3" name="version">36.042.410</param>
    <param value="СохранениеДокумента" type="3" name="version">36.042.410</param>
    <param value="Сравнение" type="3" name="version">36.042.410</param>
    <param value="Сравнение2" type="3" name="version">36.042.410</param>
    <param value="СтроковыйКонтроль" type="3" name="version">36.042.410</param>
    <param value="Субпериоды" type="3" name="version">36.042.410</param>
    <param value="Сумма" type="3" name="version">36.042.410</param>
    <param value="СуммаДОБ" type="3" name="version">36.042.410</param>
    <param value="Текст" type="3" name="version">36.042.410</param>
    <param value="Триколор" type="3" name="version">36.042.410</param>
    <param value="Удаление" type="3" name="version">36.042.410</param>
    <param value="УдалитьЗаписи" type="3" name="version">36.042.410</param>
    <param value="УдалитьИмпорт" type="3" name="version">36.042.410</param>
    <param value="Фильтр" type="3" name="version">36.042.410</param>
    <param value="Фильтрация" type="3" name="version">36.042.410</param>
    <param value="Флажок" type="3" name="version">36.042.410</param>
    <param value="Чеки" type="3" name="version">36.042.410</param>
    <param value="ШарЖелтый" type="3" name="version">36.042.410</param>
    <param value="ШарЗеленый" type="3" name="version">36.042.410</param>
    <param value="ШарКрасный" type="3" name="version">36.042.410</param>
    <param value="ШарСиний" type="3" name="version">36.042.410</param>
    <param value="Ширина" type="3" name="version">36.042.410</param>
    <param value="Эксел" type="3" name="version">36.042.410</param>
    <param value="Экспорт" type="3" name="version">36.042.410</param>
    <param value="Экспорт2" type="3" name="version">36.042.410</param>
    <param value="ЭкспортНевыясненных" type="3" name="version">36.042.410</param>
    <param value="ЭЦП" type="3" name="version">36.042.410</param>
    <param value="ЭЦПНеверна" type="3" name="version">36.042.410</param>
    <param value="ЭЦПНеверна2" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Ресурсы\Наборы картинок\ДляСтатусов">
    <value type="5" name="Внимание">424D36050000000000003604000028000000100000001000000001000800000000000001000000000000000000000001000000000000343535003B3B3B0029464C00344344003B4546001B5D7B001D5C7A001E5E7D0038616800434D4D005859590055696900656868006D6E6E006D7E7D00707272007778780017678700176A8B00176E91001C7294001776990019769A00167A9C0019789A00276D8F00347B9B00197CA100227EA0001580A4001C84A9001D8DB2002689AB002B97BE003298B700349EBE00458D96004A969E005C9395007B8A8A0053A0A8001BA0CA0015B0DD003CB2C80032B2D30037BFDA0019B9E4001DBDE5002BBFE4004BA3CC004EBECD0054AAD20051ACD70054ADD70056AED8005BB0D90060B3DA0063B5DB0066B6DC0069B7DC006FBBDE0026C1E6002EC6E70038CAE9003BCDE9004CC3D9005DCDD8006FC8D0006CD5DC0042CEEA0042D0EA004BD3EB004CD3EA004CD6EB0054D2E30054D8EC0059DCEC005EDDED0066D4E10060E0ED0066E1EE0068E1ED006AE4EF0073E9F00074E9F0007DEDF10084858500848F8F00949797009A9A9A00A5A5A500B5B5B50089DAE7008BDEED0094E3EF0099E6EE009DE8EF0083EBF20089EFF30098ECF2009FEFF3008DF2F30090F5F3009DF1F2009CF0F400A9E5EC00AFEDF300ADF6F60000000000C0C0C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D311A1907070707060606060606056D6D335C514D4B47453F3E3D2F2E2A126D6D345D61524F4A08022D3E3D2F29116D6D34386354524210002B3F3E3014156D6D34345E62535128244946402C136D6D6D6D343968554409043249481C176D6D6D6D34345F65260F0A254C41166D6D6D6D6D6D343A670B580D035020156D6D6D6D6D6D343460275A56004E1B6D6D6D6D6D6D6D6D343B575B590122156D6D6D6D6D6D6D6D3436690E0C431E1D6D6D6D6D6D6D6D6D6D343C6B6623186D6D6D6D6D6D6D6D6D6D34366A641F176D6D6D6D6D6D6D6D6D6D6D343735216D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D</value>
    <value type="5" name="Документ">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00F0CAA600C0DCC000AABFAA00F0FBFF00AA9FAA00553F2A00A4A0A000AA9F7F00555F5500FF5F2A00AA5F2A00AA3F2A00FFFFD400FFDFFF00FFDFD400555F2A00FFCCCC00C0C0C0003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00131313131313131313131313131313131313090711070707071107110711131313130610090809080908080906071313131309100510101012120212090713131313090F1010101010120312080713131313060E0C0B0C0C0C0D0D120911131313130905050E0F101010101006071313131306010B0C0C0C0C0C07100907131313130901010501100F10101008071313131304010C0B0C0C0C0D0D100911131313130601010101010E0F0E0F06071313131302050B0C0C0C0D010109090713131313040101010101010109070A071313131302010101010101010802071313131313030501050501010106071313131313130202030202030204021313131313</value>
    <value type="5" name="ДокументПринят">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF004200FF004200FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF00FF00FF004200FF004200FF00FF00FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF004200FF00FF00FF00FF00FF004200FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF004200FF00FF00FF00FF00FF004200FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF004200FF00FF00FF00FF00FF004200FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF004200FF00FF00FF00FF00FF004200FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF00FF00FF00FF00FF00FF00FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF00FF00FF00FF00FF00FF00FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004200FF004200FF004200FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00</value>
    <value type="5" name="ДокументСЯрлыком">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000D8C2B200D4BEAE00C9B3A400E2D6CD00F7E5DD00C0AB9C0063493500C2B3A700D5BFAF00B9A49500D4C5BA00C1B2A700D1BBAB00FFFEFD00B7A29300644A3600CCB6A700F5DFD300C8B2A300FFFDFC00FDFBF900FDF9F60080808000F6E2D8002F2A2500F4DED300F3DACD0094929200424242001F201F00FEFCFB002A252000F4D8CC00F3D5C7008A8B8A0006070600FDF8F500241E1B00F2D5C600F1D1C20091919100202120007F7C7B00FCF3EE001D191600F1D0C100F0CDBC00FEFCFC0033333300A4A3A100FBF4F0008F807900F9ECE60018131100C1C1BF00FAEEE800F9EAE200130F0C002F2925002A242100231F1B001E191500130F0D00100C0A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020202020202020202020202020202020202020202020202020202020202020202193D3E3F4038414202020202020202021918393A3A3B073C09090909020202021932333435363738111111090202020219012B2C2D002E2F30311109020202021901012526002728292A11090202020219011E1F200021222324110902020202190101010101011B1C1D11090202020219191919191919191A141109020202020215010116171807141411090202020202130104040404071411111202020202020F0101010110071112121202020202020B0104040401070C0D090E02020202020301010101010708090A0202020202020303030303030405060202020202</value>
    <value type="5" name="ЖелтыйЗамок">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000074970000473A2000A5A8500206FA1002779B1002373AE00075B86003A94D10049B1FC0045ACFB00348DD10044A8F1003CA2FB0040A7FB003395F6002F8DF000C3E4F200B6E0F1008AD9F80099D4EC001E6BC3001C66BE00556A9600C14F1900B3E2F70084C0D500477889005490AA005DB0D7005E869800E26C4400FB886600DA8A6400FFFEFE00E4A18200F684610097D6F1004580970068AFCE00477A8F00ED684900FB866500E5BEA900E4A88C00E46B4B007AC9E8004A849A0075BAD9003D6C7B00E65F3E00F66B5300FA7F6000DE7F5600DC5D3F00B9725700BFBFC00097ABBC0092ABBE00BCCAD100B7F2FF00A7E8FF00A3DFF6009FD3E400A3E6FF0090E6FD004E74850092A7B700A3E7FF0059CDFE00357489002E5961005CB6D90057C6F600416B7C008EA3B3009DE3FF0047C1F80056B1D5004992AA0060D0FA004CBCF200366170008A9EAE0086D9FF003FB3EC0058A8C40049ABD50048B4E5003BA6D900345E6A00B1C1CA00728E9F005C7D8E004B6F7E003E667400355F6A0036616B003C677A00000080000080000000808000800000008000800080800000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C000202020202020202020202020202020202020202020202025D5E5F6061626364020202020202020255565758595A5B5C02020202020202024D4E4F5051525354020202020202020245464748494A4B4C021A1A1A1A1A1A023B3E3F40414243441A343536372F38393A3B3B3B3B3C3B3D1A2B2C262D2E2F1A0230310202323302022122232425261A0227280202292A020202031718191A1A021B1C1D1E1F200202031111120302020202131415160202030F10100F1106020202020202020202030D0E0B0C0F0302020202020202020203090A0B0C0C030202020202020202020304050607080402020202020202020202030303030302020202020202020202</value>
    <value type="5" name="ЗеленаяСкрепка">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000397B0000397B0000397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000FF00FF00FF00FF00FF00FF00FF00FF00397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000FF00FF00397B0000397B0000FF00FF00397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000397B0000FF00FF00FF00FF00397B0000397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000397B0000FF00FF00FF00FF00397B0000397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000397B0000FF00FF00FF00FF00397B0000397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000397B0000FF00FF00FF00FF00397B0000397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000FF00FF00FF00FF00FF00FF00397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000FF00FF00FF00FF00FF00FF00397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00397B0000397B0000397B0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00</value>
    <value type="5" name="Земля">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000082BF001C8EAA0000588000FF8A2600DBAC7400AF947000D39443004EB9B90085FFFF00069EDF00B8936F00B7D264004EB97100408E640055AA1C00DC712A00C0C0C00091B6B6006CDB9100D7C2B800F5CAA9009073560038536F00398E8E00AFD8AF00B3DA8D0095B94E004BB8DC00365151008DDADA0052C6FF00F2F2F200C5FFFF001C8B8B006CDB6C001CAAAA005555710066FFFF001B6C6C00FF9146000ECAFF008DB3DA0046FFFF0026DCFF00006767002ED3FF00328E9D004D331A006F93B8002ADCDC001A4D4D002EB9FF0055C700006F8B1C006CB6DB00182F2F00388B1C0000A71C00006D9F001C6F8B001B6C1B00365136008D553100AA551C008B531C008E553900676700002062000087360000C74E000095717100513636008237150092381500924515008B381C004E95B9005673900090565600939393005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800C0E0E000A0E0E00020C0C00020A0C00020A0A000C0A08000E0A0600060C0C000C0E0800040E0800020E0600080A02000E0804000E0E0E00040A0A000A0FFFF00A0C0C00080E0A000C0E0A00080E0800060C04000A0806000E0FFFF0040608000C0E0C000A0C0600060C0E0004060600080C0E0006060800080FFFF0020808000FFA06000A0C0E0002080A00060FFFF0040E0FF006040200060A0C00080A0C00040E0E0002060600020E0C00060E000002040400040A0200000C020002080200040604000A0603800C0602000A0602000A060400060604000E0580000A08080006040400080604000A040200080E0FF006080A000A0606000A0A0A000000000000000000000000000000000000000000000000000000000000000000000DDE700D8FDFE00FBFBFF0000000000E7E0C400EDF9F200F3F3FB00D1E2000003DFE900F5CD0600F6F3F700F4F80000C5DFE300CDCDED00F0F1F200F4F2E200E0D0E900CDEDEA00EFC5E000EAEDED00E7E8D000EAEBEA00CCC5D000E4E50300C2E3D700E4E50300E1C4D700DFE0E60000C2CF00D7DFE000E1C40100D0DFDC00C2C5D70001D7C500DAC3D700D7D0DD00C8C4C400CFCFCF00D3C8C800DBD7D00000000000C6D2CE00D4C3D500D6C8D70000000000C6C6C900CACBCC00C401CE00000000000000C600C7C4C3000101C800000000000000000000000000C4C5C200FFFF0000FFFF0000800F0000000300000003000000010000000000000000000000010000800000000000000000000000E0000000F0000000FC000000121212121212121212121212121212121212121212121212121212121212121212354E28184F504D4D4D515C12121212350402199E49406363634D4D065C12120235331E43114445636347414248121202353D171111113A3E3F114142405B120235331E11404A3A3B3B111142313C3C02320A3340354A3637370A272C2D2E381F02220A2C2D401C2929220A2F302512121F02222227401729292122811D8D2B1F022121212210241C1C221D810A1D26758C252517100E1A1B115C371D810A021212120C0C140D5C160E0F1117812F02121212120C0C0D0D0E0F101103811D0B121212121212050607080809812F357312121212121212121212121D2F357312</value>
    <value type="5" name="ИсполнениеЗаявки">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000000000000000000000000000000000000000000084848400000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFFFF00FFFFFF000000000000000000000000008484840084848400FFFFFF0084848400848484008484840084848400FF00FF00FF00FF00FF00FF0000000000FFFFFF0000000000FF840000FF840000FF0000000000000084848400FF840000FF840000FF840000FF84000084848400FF00FF00FF00FF00FF00FF000000000000000000FF840000FF840000FF840000FF0000000000000084848400FF000000FF840000FF840000FF84000084848400FF00FF00FF00FF00FF00FF0084848400FF840000FF840000FF84000084848400FF000000000000000000000000000000FF840000FF840000FF84000084848400FF00FF00FF00FF00FF00FF000000000084848400FF8400008484840084848400FF000000FF000000FF000000FF840000FF840000FF840000FF84000084848400FF00FF00FF00FF00FF00FF0000000000FFFFFF0084848400FFFFFF0084848400FF000000FF000000FF840000FF840000FF840000FF00FF00FF840000FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFFFF00000000000000000084848400FF000000FF840000FF840000FF84000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFFFF00FFFFFF00FFFFFF0084848400FF840000FF840000FF840000FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFFFF0000000000000000000000000084848400FF84000000000000FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00</value>
    <value type="5" name="Конверт">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00868686006E6E6E0000969600C0C0C0009C9B9B0069FFFF0050FDFC0035404000C5DCDC00CDFFFF00AFFFFF0098FFFF0083FFFF006AFFFF0053F3F20056CAD400292D2E004B4C4C00E4FCFC00ABEDED009DFFFF006EFFFF0057F6F5004DE9EC0058C4CF0017121200848E8E00D9FFFF00AFEBEB0088F6F60070FAFA005BF1F00000B9B9004DE3E80052F7FF005692A100050101009FBCBC00BCF6F6007DCBCB0056CFE0005DE7FF004A6A760099C3C30088EAEA007AFFFF005DF9F90048F7F70046F8FF004FF0FE0069CBF0003B4A52006E70700090BFBF0091F8F80082FFFF0068FFFF004FFFFF004BFFFF0055F6FF005FEAFF006AD2F80024292C0043585800416B6B0039676700326767002C6667002F616700325D650035596600395A6B00383F46000C090800003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505414243444546474849492505050505363738393A3B3C3D3E3F042505050505052D222E2F30313233043425050505050527282229040404042A2B2C05050505051C1D1E041F2021222324251A0505050513140415160E171804191A250505020202040A0B0C0D0E0F1004112505050505050601010101010107080425050202020303040404040404040404250505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505</value>
    <value type="5" name="КопироватьПлатежку">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00E0C0A000E0E0C000FCE7D800C0A0A000A0806000F0C8A800FFE8D000C0A08000F8D8C000F8D0B000F8D8C800F8C0A800E8B89800E8B09000E8B08800C0602000FFC0A000E0A88000E0A06000E8C0A000FFA06000A0603800A0402000F8D0B800E0E0E000E0A08000E08040006040200080402000C0806000F8C8B000070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707FBF6F6F7F7FDFDFDFD07070707070707FE01E1E1E1E4E4E8FD07070707070707FE01F3FBFBFBFBE4FD07E8FCFCFCFCFCF3010101EBF8ECE4FD07E801EBF9E2E2FA01EFF3F3FBFBE1F707E801F2F3F3F3EE01010101E3F8E1F707E8010101E3EBE101F1F1EBF3F6F6F707E401F1EEF2F3F401010101F5E6F6F407E401010101E3E601010101EFF0E60707E101E9EAEBE8E6ECECEDEEEEEA070707E101010101E8E2E5E107070707070707E101010101E4E5E60707070707070707E1E1E1E1E1E1E2070707070707070707</value>
    <value type="5" name="КраснаяГалка">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF008400000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00840000000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00840000000000FF000000FF000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00840000000000FF000000FF0000FF00000000FF000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00840000000000FF000000FF0000FF0000FF00FF0000FF00000000FF000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF00000000FF0000FF0000FF00FF00FF00FF00FF00FF0000FF00000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF00000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF00000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF00000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF00000000FF000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF00000000FF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000FF0000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00</value>
    <value type="5" name="ЛистокКарандаш">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF007ACC950068C585005BBE770054B870004FB4690047AF5E0042A954003CA54B00339E41002D9B38002897310022982900419845005E81630070D77E008BCE9400A7D6AE00B0DBB700ADD9B400A7D3AD00A3D1A800A1D0A7009BCAA00095C5980091C193008EBE8E0089BA88005897580033502F0057D15F00A4D9A700FCF9FB00FFFEFF00F6F2F500FFFCFF00F5F0F400F6F1F500FFFDFF00FDF7FB00FBF1F400FDF2F200FFF7FB00B8C8AB00213F1A0045BA5200B4E1B900F4EEF300C5C7C500CFD1D000CBCDCC00C8CACA00B7BAB900C5C7C600D1D2D000C8C9C800CBCAC600F4EAE800D5DAC50023411C0046AB5A00ACD8B200FAFAFA00ECEEED00FDFCFB00F0EFEE00FBF8F800FAF8F600E7E3E100F4EDE800F8EDE800FAEEE700FFF4F000CCD1B80021401B003FA84F00A8D4AD00EEE7E200E4D8D100E0CDC400DFCAC000DFC9BD00D8BEB200DAC1B500F4E6DF00FEEDE700CBCDB400203F190036A24500A6D3AB00FEFEFE00FBFDFC00EDE6E100E0D4CC00DFCBC200DEC8BE00DAC4B800DCC0AE00E9CBB100FFEFD800FFEAE100C9C9AE001F3F1900319E3B00A3D0A700FEFFFE00F4EEEA00EBDFD800EAD7CE00E8D3C900E8D2C200CCBBC0009D99CC00AFB4E900FBE8E500CCCAAC001D3E18002C983300A1CFA400FDFEFD00F0F0EE00EBEAEA00EAE7E500E8E6E400EDE7E100E7E4EF006289FD003D7EDF001A5BE300808AE200CFCEAC001D3D1800259729009ECDA100D5D3D400D9D4D500CEC9CB00D4CED200EFE7DA00AFB5F3003778D70069CAD60065C8ED001141D400A1A39F002E4B2200359337007FBC8400DEF0DF00E6EEE200E6ECDC00DFE3D500E4E3CE00EEF1CB00A0ADE100205FD70060B9E00052B9FF001232B40075907B0030502100587F5C0046664300425E3C00435E3C003D5A37003652200036564A0042634E0068809F002F4AC700113EAC000E30A700383984005D6E6400273120006E8CF400527BFA001128AE004B62C6001E45D30034378B004661CD001537C4000D2EBA002046D5000C2CB700283798003D55B6001620830014228B0000FFFF00C0C0C00000808000808080007EC999000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1BDBDC1BEBFC1BDC1C1C1C1C1C1C1C1C1C1B7B8B9BABBBCC1C1C1C1C1C1C1C1C1C1B1B2B3B4B5B6C1C1A2A3A4A5A6A7A8A9AAABACADAEAFB0C193949476949494A99B9C9D9E9FA0A1C185860135353535368C8D8E8F909192C1762E78797A7B7C7D7E7F8081822C84C16820016A6262626262707172737675C1595A5B5C5D5B5B5B5B5B6464656667C14C4D01C0C1C2C10135353535565758C13D2E3F01C2C3C20145464748492C4BC12E203001C1C2C101353535353A763CC11F2021C00101C0012728292A2B2C2DC11011121303161617051A1A1B1C1D1EC1C402030405060708090A0B0C0D0E0FC1</value>
    <value type="5" name="Молния">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF0001B3CC004ECFDE00B1F8FF00A8F5FE00A7F5FE00B5F9FF0093E7EE0003A3BA0001AFC8009BEEF50080EAFA007EE9FA008EEEFC008FE5ED002FC0D30098EFF90072E3F40083E9F60088E2EA0003A2B90001A9C20076DDE80071E1F0007AE4F20081DBE5000297AE0014AFC5008FEBF50066DDEE0083E7F30001A6BE0001A3BB0054CCDB008AEAF4007FE5F2007EE5F2007FE5F3007EE3EF0014ADC300039EB5000296AC00028EA500018AA1005BCFDD0045C5D6005BCEDC0015A9BE0019ACC0004AD1E0004CD1E00019ABC000019CB3000198AF0026BCCF003DD8E8001AB0C4000093AA0028D1E20018B7CB000496AC0017BDD000008DA4000595AA00018AA0000081970000839A00C0C0C0000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF0044444444424444444444444444444444444444444243444444444444444444444444444444404144444444444444444444444444443D3E3F444444444444444444444444443A3B3C3A444444444444444444444444363738393644444444444444444444444431323334354444444444444444292A2B2C2D2E2F30444444444444444421222324252526272844444444444444441C1D1E1F202020202044444444444444161718191A1B4444444444444444444444101112131415444444444444444444440A0B0C0D0E0F0944444444444444444444030405060708094444444444444444440202020202020202444444444444444444444444444444444444</value>
    <value type="5" name="Монета">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000000042C6E70000848400008484000084840042C6E7000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000042C6E7000084840042C6E7000084840042C6E7000084840042C6E7000084840042C6E70000000000FF00FF00FF00FF00FF00FF00FF00FF000000000042C6E7000084840042C6E700000000000084840000000000008484000000000042C6E7000084840042C6E70000000000FF00FF00FF00FF00FF00FF000000000042C6E7000084840042C6E7000084840000FFFF0042C6E70000FFFF000084840042C6E7000084840042C6E70000000000FF00FF00FF00FF000000000042C6E70042C6E7000084840042C6E70042C6E7000000000000FFFF000000000042C6E70042C6E7000084840042C6E70042C6E70000000000FF00FF000000000042C6E700008484000084840042C6E70042C6E7000084840042C6E7000084840042C6E70042C6E700008484000084840042C6E70000000000FF00FF000000000042C6E700008484000084840042C6E70042C6E7000000000000FFFF000000000042C6E70042C6E700008484000084840042C6E70000000000FF00FF000000000042C6E700008484000084840000848400000000000084840042C6E7000084840042C6E70000848400008484000084840042C6E70000000000FF00FF000000000042C6E7000084840042C6E7000000000000FFFF0042C6E70000FFFF000000000042C6E70042C6E70042C6E7000084840042C6E70000000000FF00FF00FF00FF000000000042C6E7000084840042C6E7000000000000FFFF0042C6E70000FFFF000084840042C6E7000084840042C6E70000000000FF00FF00FF00FF00FF00FF000000000042C6E7000084840042C6E70042C6E7000084840000000000008484000000000042C6E7000084840042C6E70000000000FF00FF00FF00FF00FF00FF00FF00FF000000000042C6E70042C6E70042C6E70042C6E7000084840042C6E70042C6E70042C6E70042C6E70000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000000042C6E7000084840042C6E7000084840042C6E7000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00</value>
    <value type="5" name="НевернаяЭЦП">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF007EC999007ACC950068C585005BBE770054B870004FB4690047AF5E0042A954003CA54B00339E41002D9B38002897310022982900419845005E81630070D77E008BCE9400A7D6AE00B0DBB700A3D1A800A1D0A70091C193008EBE8E0089BA88005897580033502F0057D15F00A4D9A700FCF9FB0000FFFF00FFFDFF00FDF7FB00FBF1F400FDF2F200FFEFD800B8C8AB00213F1A0045BA5200F4EEF300C0C0C00000808000B7BAB9002C98330023411C0046AB5A00FAFAFA0080808000E7E3E100F4EDE800F8EDE800FAEEE70021401B003FA84F00A8D4AD00CBCDB400203F190036A24500A6D3AB00FEFEFE00FBFDFC00EDE6E100BBBEE200096FE200265DC500D9CECF00FBEEE1009A93C1000137E6003F43B200319E3B00FEFFFE00DCC0AE001359CD000094FD000083FD00254DC300817BB6000138EA000038FF000020F600FDFEFD00F0F0EE00EBEAEA00EAE7E500E8E6E400A7A6C6000762DF000070FD00005AFD000032FF000022FE0028289E00259729009ECDA100A69DB9000544DE000048FE00359337007FBC84009790C000000EFD001E19B600587F5C0046664300425E3C00435E3C003D5A37003652200036564A0042634E000137E900001DFA000001FC00241DB8001732C6000000F3001320CC0028279E00EA2E2E00C8000000230000000000000010000000CCE0F100E8E22000EAEEED00EA2E2E00D40200004B000000000000003A000000DDEAF100EEF0F200E220EC00F1F1E80020E8EA00EDEEEA00DDEAF100EEF0F200F0EEE200F2FC2000F1E52000EAEEED00E820E200ECE0F100E8E20000BCBA6200281A1200CC000000EAE0EA00EDEEE200FE20E100E1EBE800F2E5EA0024000000270000000000000015000000C8ECEF00F0F22000E0F1F100E2E02000EAEEED00EA00EE00988C450048E04A00840000007CD1EE00E4E0F20020EDEE00F3FE2000EAEEED00F320E80020ECE000F1E8E20000FE2000D8566400D856640034000000F1E8E20014000000230000000000000013000000EAE0EA00EDEEE200FE20E800EEEDEA0064000000230000000000000013000000EAE0EA00EDEEE200FE20E800EEEDEA00E80300003300000000000000200000007CD1EE00E4E0F20020EDEE00F3FE2000EAEEED00F320E80020ECE000F1E8E20018040000270000000000000016000000CAEEEC00EDE4FB00F0E5E400EAF2E800EEE2E000E8FF0000685A6300685A6300380000007CD1EE00E4E0F20020EDEE00F3FE2000E8E1EB00EEF2E500F320E80020ECE000F1E8E20020E8EA0074040000430000000000000030000000CAEEEF00F0EEE200F2FC7C00EAEEEF00F0EEE200F2FC2000FBE4E500E5EDED00E520E200E1F3F400F020EE00ECE5ED00B40400002B000000000000001900000031373100C8EDF100F0F3EC0029292929292929292929292929292929292929292929292929292929292929292929292929292940767729294B40724B29292929292929745B715D4B7072754168696A6B6C6D6E6F705B717072727329632764641A646464654F5B5C66671A295E5F012B2B2B2B2B6061625B5C5D4B292C2752535455565758595A4F5B5C5D29471D01484949494A4B4C4D4E4F5051413A3B3C3D3E3C3C3F40414243444546293637011F292A29012B2B2B2B243839292E272F012A302A013132333424253529271D2801292A29012B2B2B2B242C2D291C1D1E1F01011F012021222324252629111213140415151606171718191A1B2902030405060708090A0B0C0D0E0F1029</value>
    <value type="5" name="ПапкаДокумент">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00D8C2B200D4BFAE00CEB8A900C8B2A300FCFBFA00C7B1A200644A3600BBA69600D4C5BA00D4BEAF00B7A29300CFB9A900F6F2EF00D8D5D300D7C6BA0063493500C7B2A300E2E4E5008EA2AB006F615500C1AB9C00FAF7F600B2E4EC00B6EEF80092E1F3008DA2AB00BBA697008DA1AA008CA0A9008B9FA8008B9EA8008DA0AA00879AA4008698A3008597A2008496A100F3ECE800C2F7FF00BDF1FA00BBF2FA00AFF2FB00A2EBFD0092E6FE0084DEFE0077D7FD0057C7FA005D7B8D00EAE0D800EADFD7008C9FA800C0F6FF00B4EEF800A8EEF80098E8FB0088E1FC0077DAFB0069D0F9005CC8F7001999CF004C6F8000889BA400BCF7FF00A9EEFA009CE8FB008BE2FC007ADAFB006AD1F8005BC6F4004DBDF3001A93C6003E5D6D0084969F00B6F4FF009FE9FB008FE3FC007DDBFB006ED2F9005DC7F5004CBCF0003CB3F0001B8ABA00324B59007F909B00ADF2FF0096E7FE0084DFFD0074D6FB0063CBF80050BFF4003EB4F0002FABF1001D81AB00253A45007B8B96009FEEFF0070CDEA0068C4E2005CB7D6004FA8C7004097B9003388AA00277B9E001E789F001A2E3700778792006E869300526F7E003C5A69002A4855001B3542000F2732000F232E000E232D0010242E000F161C00C0C0C000656E750074656D00706D4C007965720075700700617074006F6E0600447526006C69630074652000617965000448690074062D0075706C0063617400206C610065727C0075706C006361740073207400652073006C65630065642000617965000A496D0067654900646578004F074F00436C69006B071A0075706C0063617400496D610065466F006D617400436C69006B000000544D6500754974006D0A70004C617900724465000743610074696F00060D2600656C650065204C007965720048696E00062744006C657400206C610065727C00656C65006573200068652000656C6500746564006C617900720A4900616765006E646500021A07006E436C00636B0700706D4C0079657200656C430069636B0000095400656E750074656D00706D4C007965720072310700617074006F6E06002D0448006E7406002D000000544D6500754974006D0B70004C6179007253680077074300707469006E060E0056697300626C65004C617900720448006E74060053686F002F48690065206C007965720053686F00732F4800646573007468650073656C0063746500206C6100657207006E436C00636B0700706D4C0079657200686F77006C696300000009004D656E00497465000C706D006179650050726F0073074300707469006E0614004C617900722050006F706500746965002E2E2E0048696E0006344C007965720070726F006572740065737C00686F770020746800207365006563740064206C007965720070726F00757575756A6B6C6D6E6F707172737475757575755F6061626364656667686975757575755455565758595A5B5C5D5E7575757575494A4B4C4D4E4F50515253750C1111113E3F404142434445464748750C0E3132333435363738393A3B3C3D750C170E26142728292A2B2C2D2E2F30751C06170E141D1E1F2021222324257575160606171418191A141B757575757575120606061314141415757575757575750D060606060E0F1011757575757575750B060606060C080808757575757575750206060606090A087575757575757575020606060607087575757575757575750202030304057575757575757575757575757575757575757575757575757575</value>
    <value type="5" name="ПеречеркнутыйДокумент">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000AA9FAA00AA9F7F00F0CAA600AABFAA00FDFBF800AB7F7700A4A0A000FFB59000FDF7F100553F2A00B68A6B00FBF0E600FBEDDE00DFC2B300D3BDAA00A07D73006699FF003366FF00CCCCFF00C6D6EF009999CC00E8CCB1005050FF0099CCFF003333CC00FFDFD4006666FF003333FF006666CC00F9CC9E00807CFF000033CC000000CC00F5CA9D00FFDFFF00FFCCCC00C0DCC000FCE5CD0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000202020202020202020202020202020202020808080808080808080808080202020203282020202020202020200802020202041C1C1C1C1C2626052620080202020204251C1C0A0A0A262726180802020202031C1D22171C1C17221F200802020202040B0A1D221F1F221F1C2008020202020307070721222321071C24080202020204070A151D1E1E1F0A1C2008020202020407151419151A141B1C18080202020203071314150A0A161715180802020202040707070707070E0F1011120202020203070A0A0A0A0A0B040C0D0D0202020204070707070707070905080202020202060707070707070703080202020202020304030404030404050202020202</value>
    <value type="5" name="ПеречеркнутыйКружок">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF00000084000000840000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF000000840000008400FF00FF00FF00FF000000FF000000840000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF000000FF00000084000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF00000084000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF000000FF0000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF000000840000008400FF00FF00FF00FF000000FF000000840000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF00000084000000840000008400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00</value>
    <value type="5" name="ПоданныйДокумент">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000AAAA8000A7A77D00FCFCF500F3F3E200F2F2E100D3D3C200A3A37900FAFAF300F4F4EC00E8E8D900E6E6D500E5E5D400C7C7B6009F9F7500FAFAF400B5B5A4005D5D35009A9A7100FBFBF600F6F6F000F1F1E700ECECDF0091916700FCFCF8008B8B6200FDFDFA00F5F5EE00F7F7F20085855D00FDFDFB00FFFFFE00FAFAF600A0A0A00080A0800060806000C0E0E000A0D8B0004060400098A8B0008098A0007088D00060C08000B0E8FF00A8E0FF0080E0FF0090B8D00080C0A00040A06000404840004060800060C0E000A0A0C000A098B0005D5D3600403830000020400060B8D00070D8F000808080002020200078B0D0004080A00030A8D0002088B0005098B000007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C0028009B003200BA003C00D9004600F0005500FF246D00FF488500FF6C9D00FF90B500FFB4CD003E002A005D003F007C0054009B006900BA007E00D9009300F000AA00FF24B600FF48C200FF6CCE00FF90DA00FFB4E6003E003E005D005D007C007C009B009B00BA00BA00D900D900F000F000FF24FF00FF48FF00FF6CFF00FF90FF00FFB4FF002A003E003F005D0054007C0069009B007E00BA009300D900AA00F000B624FF00C248FF00CE6CFF00DA90FF00E6B4FF0014003E001E005D0028007C0032009B003C00BA004600D9005500F0006D24FF008548FF009D6CFF00B590FF00CDB4FF00020202023F343A3A3A3A43020202020233393E3F3A40354141423A02020202022C32393A3B3C3B3434343D02020202023132332D2E2F34352A36373838380202272C282D2D2E2F2A300E0E1E1E1F020226272829292A2A2B0E1E1E1E1E1F0202232425021F0E0F0F0F0F0F0F1E1F0202020202021F211616221E1E1E1E1F0202020202021F200F0F0F0F0F0F1E190202020202021B1C161616161D1E0619020202020202191A0F0F0F0F180C061902020202020214151617180C0D0E071402020202020210110F0F0C0D12121213020202020202090A0B0C0D0E0F01090202020202020204050606070708040202020202020202020303030303030202020202</value>
    <value type="5" name="ПоданныйДокументСиняяГалка">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00AAAA8000A7A77D00FCFCF500F3F3E200F2F2E100D3D3C200A3A37900FAFAF300F4F4EC00E8E8D900E6E6D500E5E5D400C7C7B6009F9F7500FAFAF400B5B5A4005D5D35009A9A7100FBFBF600F6F6F000F1F1E700ECECDF00FFEBE50091916700FCFCF800FFE2D700FF7948008B8B6200FDFDFA00F5F5EE00F7F7F200FFD7C700FF5B1F00FBBBA40085855D00FDFDFB00FFC3AC00FF622900FCAB8F00FFFFFE00FFC1A000FF9C7900F5BA9D00FF662A00E37B6B00A0A0A00080A0800060806000DF390000FF5D2400FF8B6200FF925E00FF642D00FA511900C0E0E000A0D8B0004060400098A8B0008098A0007088D000E73B0000FF561B00FF4E0B00CC33000060C08000B0E8FF00A8E0FF0080E0FF0090B8D000D0360000CE360000F0A8850080C0A00040A06000404840004060800060C0E000A0A0C0005D5D3600403830000020400060B8D00070D8F000808080002020200078B0D0004080A00030A8D0002088B0005098B000C0C0C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005C5C5C5C574D525252525B5C5C5C5C5C4C51565752584E59595A525C5C5C5C5C424B51525354534D4D4D555C5C5C5C5C4A4B4C4344454D4E3C4F505050505C5C39423A434344453C4647484920245C5C38393A3B3B3C3C3D3E3F40412C245C5C2F30315C240D0E323334353637245C5C5C5C5C5C2429152A2B20202C2D2E5C5C5C5C5C5C24250E0E0E0E0E0E2627285C5C5C5C5C1D1E151515151F20052122235C5C5C5C191A0E0E0E0E170B05191B1C5C5C5C5C13141516170B0C0D06135C185C5C5C5C0F100E0E0B0C111111125C5C5C5C5C5C08090A0B0C0D0E01085C5C5C5C5C5C5C03040505060607035C5C5C5C5C5C5C5C5C0202020202025C5C5C5C5C</value>
    <value type="5" name="ПоданныйДокументЭЦП">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C0007EC999007ACC950068C585005BBE770054B870004FB4690047AF5E0042A9540022982900419845005E81630070D77E008BCE9400A7D6AE00B0DBB700A3D1A800A1D0A70089BA88005897580057D15F00A4D9A700FCF9FB0000FFFF00FFF7FB00B8C8AB0045BA5200F4EEF30000808000F4EAE8002C98330046AB5A00FAFAFA0080808000FFF4F0003FA84F00A8D4AD00FEEDE700CBCDB40036A24500A6D3AB00FEFEFE00FBFDFC00EDE6E100FFEAE100C9C9AE00319E3B00FEFFFE00DCC0AE00FBE8E500FDFEFD00F0F0EE00EBEAEA00EAE7E500E8E6E400EDE7E100A0A0A00080A0800060806000259729009ECDA100B7BAB900C5C7C6002E4B2200C0E0E000A0D8B0004060400098A8B0008098A0007088D00075907B003050210060C08000B0E8FF00A8E0FF0080E0FF0090B8D00036564A0080C0A00040A06000404840004060800060C0E000A0A0C00085855D0036522000403830000020400060B8D00070D8F0002020200078B0D0004080A00030A8D0002088B0005098B00000008000008000008000000080008000808000000000FF0000FF0000FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000020202025D535959595961020202020252585C5D595E545F5F605902020202024A5158595A5B5A5353532302020202025051524B4C4D53544655560D570D4102434A444B4B4C4D464E204F2014484902424344454546464740393939394849023A3B3C023D3E013F3F3F3F403F14410202020202201C343536373839391B0D0202020202301701313232323233200D0202020202292A2B2C2D2B2B2B2E2F0D020202020225260119021E020127280D0202020202211C22011E231E01241B0D02020202021C171D01021E02011F200D020202020216171819010119011A1B0D02020202020E0F10110512121314150D0202020202030405060708090A0B0C0D02</value>
    <value type="5" name="ПоданныйДокЭЦПСиняяГалка">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C0007EC999007ACC950068C585005BBE770054B870004FB4690047AF5E0042A9540022982900419845005E81630070D77E008BCE9400A7D6AE00B0DBB700A3D1A800A1D0A70089BA88005897580057D15F00A4D9A700FCF9FB0000FFFF00FFF7FB00B8C8AB0045BA5200F4EEF30000808000F4EAE8002C98330046AB5A00FAFAFA0080808000FFF4F000FFEBE5003FA84F00A8D4AD00FEEDE700CBCDB400FFE2D700FF79480036A24500A6D3AB00FEFEFE00FBFDFC00EDE6E100FFEAE100FFD7C700FF5B1F00FBBBA400319E3B00FEFFFE00DCC0AE00FFC3AC00FF622900FCAB8F00FDFEFD00FFC1A000FF9C7900EAE7E500E8E6E400F5BA9D00FF662A00E37B6B00A0A0A00080A0800060806000259729009ECDA100DF390000FF5D2400FF8B6200FF925E00FF642D00FA5119002E4B2200C0E0E000A0D8B0004060400098A8B0008098A0007088D000E73B0000FF561B00FF4E0B00CC33000075907B003050210060C08000B0E8FF00A8E0FF0080E0FF0090B8D000D0360000CE360000F0A8850080C0A00040A06000404840004060800060C0E000A0A0C00085855D0036522000403830000020400060B8D00070D8F0002020200078B0D0004080A00030A8D0002088B0005098B000CFE5F000E8ECE500EEE2E000FC20E800EEEDEA008C01000033000000000000002200000031343800CAEEEF00FF7CCA00EFE8FF00C4F3E100E8F0EE00E0F2FC00E8EAEE00BC01000043000000000000003200000031343900D0E0E700E5EBE500E8E57C00E0E7E400EBE8F20020E2FB00F0E0ED00FBE52000EAEEED00E820ED0020EAE000FC01000043000000000000003200000031353000CEE1FA00E4E8ED00EDE8E500CEE1FA00E4E8ED00F2FC2000FBE1F000EDEDFB0020E8EA00EDEAE800E220EE003C02000047000000000000003600000031353100CAEEF000E5EAF600FF20E800E5ED7C00F1EFF000E2E8F20020E8EC00EDE02000EAEEED00EA20E200E1E8E100E8EEF2008002000043000000000000003100000031353200D3E4E000E5EDE80020E4F300EBE8EA00F2EEE200D3E4E000E8F2FC00E8E4E500F2E8F700FBE52000EAEEED00C00200003B000000000000002B00000031353400EFEE2000ECE5ED007CD1EE00F2E8F000E2E0F20020E8EA00EDEAE800EFEE2000EBF4E000F80200004F000000000000003C00000031353500EFEE2000ECE5ED0020EAE00020F7E800EBF37C00EEF0F200F0EEE200F2FC2000EAEEED00E820EF0020E8EC00EDE82000E0EA2000E8F1EB004403000043000000000000003000000031353600EFEE2000E0E4F000EC7CD100F0F2E800EEE2E000FC20E800EEEDEA0020EFEE00F7E8F100F320EA00E4F0EE00840300004B000000000000003800000031353700EFEE2000E0E7EC00F0F37C000202020270666C6C6C6C740202020202656B6F706C71677272736C02020202025B646B6C6D6E6D6666662302020202026364655C5D5E66675368690D6A0D4E02505B515C5C5D5E535F60616214595A024F505152525353545556575840595A024344450246470148494A4B4C4D144E0202020202201C3B3C3D3E3F4041420D0202020202351701363737373738393A02020202022C2D2E2F302E2E2E313233340202020226270119021E020128292A2B02020202211C22011E231E01241B0D25020202021C171D01021E02011F200D020202020216171819010119011A1B0D02020202020E0F10110512121314150D0202020202030405060708090A0B0C0D02</value>
    <value type="5" name="ПоданныйПеречеркнутыйДок">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00C0C0C000AAAA8000A7A77D00FCFCF500F3F3E200F2F2E100D3D3C200A3A37900FAFAF300F4F4EC00E8E8D900E6E6D500E5E5D400C7C7B6009F9F7500FAFAF400B5B5A4005D5D35009A9A7100FBFBF6006699FF003366FF00CCCCFF00C6D6EF009999CC0091916700FCFCF8005050FF0099CCFF003333CC008B8B6200FDFDFA00F6F6F0006666FF003333FF006666CC00F7F7F20085855D00FDFDFB00807CFF000033CC000000CC00FFFFFE00A0A0A00080A0800060806000C0E0E000A0D8B0004060400098A8B0008098A0007088D00060C08000B0E8FF00A8E0FF0080E0FF0090B8D00080C0A00040A06000404840004060800060C0E000A0A0C0005D5D3600403830000020400060B8D00070D8F000808080002020200078B0D0004080A00030A8D0002088B0005098B0000000800000800000008080008000000080008000808000000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB5900002020202483E434343434C02020202023D42474843493F4A4A4B430202020202363C42434445443E3E3E4602020202023B3C3D3738393E3F344027414141410231363237373839343A0E0E0E2626270230313233333434350E262626262627022D2E2F02270E232A1A0F0F1A2A25270202020202272C22232A25252A252627020202020227280F0F292A2B290F261B0202020202202122182324242526061B02020202021B1C18171D181E171F061B020202020214151617180C0C191A1814020202020210110F0F0C0D0D121212130202020202090A0B0C0D0E0E0F010902020202020204050606070707080402020202020202020303030303030302020202</value>
    <value type="5" name="Привязать">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00AA9FAA00AA9F7F00F0CAA600C0C0C000AABFAA00FDFBF800AB7F7700A4A0A000FFB59000FDF7F100553F2A00B68A6B00FBF0E600FFDFD400DFC2B300D3BDAA00A07D7300DED6CE00CEBDB500C6AD9C00B5A58C00BDAD9C00D6CEC600E8CCB100D6B5AD00F7E7D600F7EFE700FFFFF700E7CEB500AD947B00BDADA500C6BDBD00CEB5AD00B59C8C006B4A39007B635200D6BDA500D6B5A500E7C6B5006B524200BDA59C00947B7300C6A5940063392900D6BDAD00F7DEC600FFF7E700FFE7D6008C7B6B00634A3900BDB5A500E7DED6009C846B00BDA5940052291000422910006B5A4200CEB5A500846B5A00CEC6C600D6BDB500F7DED600E7CEC600B59C8400AD9C9400B5ADA500A59484008C736B00F9CC9E00FCE5CD00000080000080000000808000800000008000800080800000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00C0DCC00000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFCDB4003E0000005D0000007C0000009B000000BA000000D900000005050505050505050505050505050505050505050505050505050505050505050808080808080808080805050505050502474646464646464608050505050505030F2144252945434612442529454305023D163E3F40412542163E3F40412543033435233637383939393A36373B2C3C022C1C2D052E2F1D30312F3205162F3303221C232425152627282729252A272B03131A1B1C1D1E1F201A1B1C1D1E1F210207131415161718191214151617180503070707070E0F10111205050505050502070A0A0A0B030C0D0D050505050505030707070707090408050505050505050607070707070208050505050505050502030302030304050505050505050505</value>
    <value type="5" name="РукаКарандаш">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF00000000800009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB4003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0000FFB62400FFC24800FFCE6C00FFDA9000FFE6B4003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550000FF6D2400FF854800FF9D6C00FFB59000FFCDB4003E0000005D0000007C0000009B000000BA000000D9000000F0000000FF242400FF484800FF6C6C00FF909000FFB4B4003E0014005D001E007C002800D8C0B000D0B8B000C0A8A000E8D0C000FFE8D800FFF8FF00FFF8F00090786000F0D8C000FFE8D000E0C8C000B0989000D0C8C00070584000F0F0E800F0E8E000A0888000A088700060483000F0D8D0006080A000F0D8C800D0B8A0006080E000F8E0D000E0D0C80060A0A0002040A000FFE0C8005048400090D8FF00E0D8D00088D0FF004060800058B0FF0008080800C0A89000A0E8F000706058004080600060585000204040002020200020C0E00060A0600080E0A0008068600078C8FF0080C0E00060B8FF0040A0A0002020180000204000705850008068500090787000E8C0A0000707070707070707070707070707070707070707070707070707070707070707D2D9D9D4FCFCFDF5CEFEFE0707070707D2D1D1D1D7EDC9C8C908E8E8FB07F007D2DAE0E0C8F1E4EFE8F9F2F9E8FAF307D2D6C8D1F5F6E8F7E5F6F8F2F9F3F307D2D6DAD1EFECE7F0E8F1F2F203F3F407EBD5C8D1E6E8ECE1E5E9EAEDC8D3EE07C9CDD5D6DAE6E4E7E8E5E9EA07070707C901C8C8C8C7E0E4D3E1E508E2070707DD01CCCDD6DAE0D1D1DAE1C8DBE20707DD01D1D1C8C8C8C7D1D1D7DBDEDB0707C8010101CDD5D6D7D8D9D407DB070707C801D1D1D1C8D1D2D3D4070707070707C701010101CCCDC9CE07070707070707C7C7C7C7C7C8C8C90707070707070707</value>
    <value type="5" name="Рукопожатие">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000000000000000000000000000FF00FF00000000000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF000000FFFFFF00000000000000000000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF000000FF000000FFFFFF000000000000FFFF00FFFFFF0000FFFF00FFFFFF000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF000000FF000000FFFFFF0000000000FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000000000FF00FF00FF00FF00FF000000FF000000FFFFFF000000000000FFFF00FFFFFF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000000000000000FF00FF00FF000000FF000000FFFFFF0000000000FFFFFF00000000000000000000000000FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF000000000000000000FF00FF00FF000000FF000000FFFFFF000000000000FFFF000000000000FFFF00000000000000000000000000000000000000000000000000FFFFFF00000000000000000000000000000000000000000000000000FFFFFF0000000000FFFFFF00000000000000000000000000FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000000000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF0084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF008400000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000000000000000000000000000FFFFFF00840000008400000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FFFFFF0084000000840000008400000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000840000008400000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000000084000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000</value>
    <value type="5" name="Связь">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00DED6CE00CEBDB500C6AD9C00B5A58C00BDAD9C00D6CEC600D6B5AD00F7E7D600F7EFE700FFFFF700E7CEB500AD947B00BDADA500C6BDBD00CEB5AD00B59C8C006B4A39007B635200D6BDA500D6B5A500E7C6B5006B524200BDA59C00947B7300C6A5940063392900D6BDAD00F7DEC600FFF7E700FFE7D6008C7B6B00634A3900BDB5A500E7DED6009C846B00BDA5940052291000422910006B5A4200CEB5A500846B5A00CEC6C600D6BDB500F7DED600E7CEC600B59C8400AD9C9400B5ADA500A59484008C736B00C0C0C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434340F3213173331340F321317333134342B052C2D2E2F1330052C2D2E2F133134222311242526272727282425291A2A341A0A1B341C1D0B1E1F1D2034051D2134100A11121304141516151713181519340208090A0B0C0D0E08090A0B0C0D0F343402030405060734020304050607343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434</value>
    <value type="5" name="Связь_БлокировкаДочерней">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00DED6CE00CEBDB500C6AD9C00B5A58C00BDAD9C00D6CEC600D6B5AD00F7E7D600D8E9EC00FFFFF700E7CEB500AD947B00BDADA500C6BDBD00CEB5AD00F7EFE700B59C8C006B4A39007B635200D6BDA500D6B5A500E7C6B5006B524200BDA59C00947B7300C6A5940063392900D6BDAD00FFF7E700FFE7D600F7DEC6008C7B6B003FB3EC008AD9F800634A3900BDB5A500E7DED6009C846B00BDA5940052291000422910006B5A420084C0D5002E596100846B5A00CEC6C600D6BDB500F7DED600E7CEC600B59C8400AD9C9400C0C0C000B5ADA500A59484008C736B00357489007AC9E800BFBFC00097ABBC0092ABBE00BCCAD100B7F2FF00A7E8FF00A3DFF6009FD3E400A3E6FF0090E6FD004E74850092A7B700A3E7FF0059CDFE005CB6D90057C6F600416B7C008EA3B3009DE3FF0047C1F80056B1D5004992AA0060D0FA004CBCF200366170008A9EAE0086D9FF0058A8C40049ABD50048B4E5003BA6D900345E6A00B1C1CA00728E9F005C7D8E004B6F7E003E667400355F6A0036616B003C677A00000080000080000000808000800000008000800080800000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB400353535353535353535353535353535353535353535353535353535353535353535353535353535355B5C5D5E5F6061623535353535353535545522565758595A35353535353535354C4D4E4F505152533535353535353535464748392D494A4B35353535353535353C3F40414243444535353535353535353B3C3C3C3C3D3C5C3535353535353535353A393535223935350F37141838363527223918380639352F053031323314340559A431300506352526122728292A2A2A2B2C2D06262E351B0A1C351D0A0B1E1F202122A420243510111213140415161716181419081A350208090A0B0C0D0E08090A0B0C0D0F3535020304050607350203040506073535</value>
    <value type="5" name="Связь_БлокировкаРодительской">424D3605000000000000360400002800000010000000100000000100080000000000000100000000000000000000000100000000000000000000FFFFFF00DED6CE00CEBDB500C6AD9C00B5A58C00BDAD9C00D6CEC600D6B5AD00F7E7D600D8E9EC00FFFFF700E7CEB500AD947B00BDADA500C6BDBD00CEB5AD00F7EFE700B59C8C006B4A39007B635200D6BDA500D6B5A500E7C6B5006B524200BDA59C00947B7300C6A5940063392900D6BDAD00FFF7E700FFE7D600F7DEC6008C7B6B003FB3EC008AD9F800634A3900BDB5A500E7DED6009C846B00BDA5940052291000422910006B5A420084C0D5002E596100846B5A00CEC6C600D6BDB500F7DED600E7CEC600B59C8400AD9C9400C0C0C000B5ADA500A59484008C736B00357489007AC9E800BFBFC00097ABBC0092ABBE00BCCAD100B7F2FF00A7E8FF00A3DFF6009FD3E400A3E6FF0090E6FD004E74850092A7B700A3E7FF0059CDFE005CB6D90057C6F600416B7C008EA3B3009DE3FF0047C1F80056B1D5004992AA0060D0FA004CBCF200366170008A9EAE0086D9FF0058A8C40049ABD50048B4E5003BA6D900345E6A00B1C1CA00728E9F005C7D8E004B6F7E003E667400355F6A0036616B003C677A00000080000080000000808000800000008000800080800000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF000009090900121212001F1F1F002C2C2C003939390045454500525252005F5F5F006C6C6C007878780085858500929292009F9F9F00ABABAB00B8B8B800C5C5C500D2D2D200DEDEDE00EBEBEB00F8F8F800F0FBFF00A4A0A000C0DCC000F0CAA60000003E0000005D0000007C0000009B000000BA000000D9000000F0002424FF004848FF006C6CFF009090FF00B4B4FF0000143E00001E5D0000287C0000329B00003CBA000046D9000055F000246DFF004885FF006C9DFF0090B5FF00B4CDFF00002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00024B6FF0048C2FF006CCEFF0090DAFF00B4E6FF00003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00024FFFF0048FFFF006CFFFF0090FFFF00B4FFFF00003E2A00005D3F00007C5400009B690000BA7E0000D9930000F0AA0024FFB60048FFC2006CFFCE0090FFDA00B4FFE600003E1400005D1E00007C2800009B320000BA3C0000D9460000F0550024FF6D0048FF85006CFF9D0090FFB500B4FFCD00003E0000005D0000007C0000009B000000BA000000D9000000F0000024FF240048FF48006CFF6C0090FF9000B4FFB400143E00001E5D0000287C0000329B00003CBA000046D9000055F000006DFF240085FF48009DFF6C00B5FF9000CDFFB4002A3E00003F5D0000547C0000699B00007EBA000093D90000AAF00000B6FF2400C2FF4800CEFF6C00DAFF9000E6FFB4003E3E00005D5D00007C7C00009B9B0000BABA0000D9D90000F0F00000FFFF2400FFFF4800FFFF6C00FFFF9000FFFFB40035353535353535353535353535353535353535353535353535353535353535356261605F5E5D5C5B35353535353535355A595857562255543535353535353535535251504F4E4D4C35353535353535354B4A492D3948474635353535353535354544434241403F3C35353535353535355C3C3D3C3C3C3C3B35353535353535353539223535393A35353535353535353535390638183922273536381814370F353506053031A45905341433323130052F352E26062D2C2B2A2A2A292827122625352420A42221201F1E0B0A1D351C0A1B351A0819141816171615041413121110350F0D0C0B0A09080E0D0C0B0A09080235350706050403023507060504030235</value>
    <value type="5" name="Факс">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000084848400FF00FF00FF00FF00FF00FF00FF00FF00000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FF00FF00FF00FF00000000000000000000FFFF0084848400848484000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000C6C6C600000000000000000000FFFF0000FFFF0000FFFF00848484008484840084848400848484000000000000000000FF00FF00FF00FF00FF00FF00FF00FF000000000000FFFF0000FFFF0000FFFF0000FFFF00FFFFFF00C6C6C60084848400848484008484840084848400848484000000000000000000FF00FF00000000008484840000FFFF0000FFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600848484008484840084848400848484008484840084848400000000008484840084848400FFFFFF00FFFFFF00C6C6C600C6C6C6000000000084848400C6C6C600C6C6C6008484840084848400848484008484840084848400000000008484840084848400FFFFFF00C6C6C6008484840000000000FFFFFF000000000084848400C6C6C600C6C6C600C6C6C6008484840084848400848484000000000084848400FFFFFF0084848400FFFFFF00C6C6C6008484840000000000FFFFFF000000000084848400C6C6C600C6C6C600C6C6C600C6C6C600848484000000000084848400FFFFFF00C6C6C60084848400FFFFFF00C6C6C6008484840000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C60084848400FF00FF0084848400FFFFFF00C6C6C6008484840084848400FFFFFF00C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF0000000000C6C6C60084848400FF00FF00FF00FF00FF00FF0084848400FFFFFF00C6C6C600C6C6C6008484840084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF008484840084848400FFFFFF00C6C6C60084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0084848400848484008484840084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0084848400FFFFFF00FFFFFF00FFFFFF008484840084848400FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00848484008484840084848400FF00FF00FF00FF00FF00FF00</value>
    <value type="5" name="ЧернаяСкрепка">424D36040000000000003600000028000000100000001000000001002000000000000004000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FF00FF00FF00FF00FF00FF00FF00FF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FF00FF000000000000000000FF00FF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000FF00FF00FF00FF000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000FF00FF00FF00FF000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000FF00FF00FF00FF000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000000000000000FF00FF00FF00FF000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FF00FF00FF00FF00FF00FF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0000000000FF00FF00FF00FF00FF00FF0000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00</value>
    <param value="Внимание" type="3" name="version">36.042.410</param>
    <param value="Документ" type="3" name="version">36.042.410</param>
    <param value="ДокументПринят" type="3" name="version">36.042.410</param>
    <param value="ДокументСЯрлыком" type="3" name="version">36.042.410</param>
    <param value="ЖелтыйЗамок" type="3" name="version">36.042.410</param>
    <param value="ЗеленаяСкрепка" type="3" name="version">36.042.410</param>
    <param value="Земля" type="3" name="version">36.042.410</param>
    <param value="ИсполнениеЗаявки" type="3" name="version">36.042.410</param>
    <param value="Конверт" type="3" name="version">36.042.410</param>
    <param value="КопироватьПлатежку" type="3" name="version">36.042.410</param>
    <param value="КраснаяГалка" type="3" name="version">36.042.410</param>
    <param value="ЛистокКарандаш" type="3" name="version">36.042.410</param>
    <param value="Молния" type="3" name="version">36.042.410</param>
    <param value="Монета" type="3" name="version">36.042.410</param>
    <param value="НевернаяЭЦП" type="3" name="version">36.042.410</param>
    <param value="ПапкаДокумент" type="3" name="version">36.042.410</param>
    <param value="ПеречеркнутыйДокумент" type="3" name="version">36.042.410</param>
    <param value="ПеречеркнутыйКружок" type="3" name="version">36.042.410</param>
    <param value="ПоданныйДокумент" type="3" name="version">36.042.410</param>
    <param value="ПоданныйДокументСиняяГалка" type="3" name="version">36.042.410</param>
    <param value="ПоданныйДокументЭЦП" type="3" name="version">36.042.410</param>
    <param value="ПоданныйДокЭЦПСиняяГалка" type="3" name="version">36.042.410</param>
    <param value="ПоданныйПеречеркнутыйДок" type="3" name="version">36.042.410</param>
    <param value="Привязать" type="3" name="version">36.042.410</param>
    <param value="РукаКарандаш" type="3" name="version">36.042.410</param>
    <param value="Рукопожатие" type="3" name="version">36.042.410</param>
    <param value="Связь" type="3" name="version">36.042.410</param>
    <param value="Связь_БлокировкаДочерней" type="3" name="version">36.042.410</param>
    <param value="Связь_БлокировкаРодительской" type="3" name="version">36.042.410</param>
    <param value="Факс" type="3" name="version">36.042.410</param>
    <param value="ЧернаяСкрепка" type="3" name="version">36.042.410</param>
  </node>
  <version_info>
    <file>Сборка.НастройкиОграничений.xml</file>
    <version>36.042.410</version>
    <info>&lt;p&gt;Настройка параметров-ограничений с панели ограничений для интерфейсов ввода, наборы картинок для абл-кнопок.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:31</buildtime>
  </version_info>
  <description>Настройки ограничений для интерфейсов ввода</description>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="101">
      <table>
        <FDL>
          <FD>
            <N>ParamTab</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>ParamTab</DL>
          </FD>
          <FD>
            <N>FieldName</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>FieldName</DL>
          </FD>
          <FD>
            <N>Required</N>
            <FDT>2</FDT>
            <CN>TWordBoolField</CN>
            <S>0</S>
            <DL>Required</DL>
          </FD>
          <FD>
            <N>DetailNumber</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>DetailNumber</DL>
          </FD>
          <FD>
            <N>Visible</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Visible</DL>
          </FD>
          <FD>
            <N>DefaultVisible</N>
            <FDT>2</FDT>
            <CN>TWordBoolField</CN>
            <S>0</S>
            <DL>DefaultVisible</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@РСФО</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">ifs.finsourcevalue%l</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kd.KDValue%l</V>
            <V N="Required">0</V>
            <V N="DetailNumber">4</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">fdd.KFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">fdd.KESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">fdd.facialacc_cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">fdd.fact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">fdc.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">fdd.directioncls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="DetailNumber">4</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="DetailNumber">4</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="DetailNumber">4</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="DetailNumber">4</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="DetailNumber">1</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="DetailNumber">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="DetailNumber">4</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС</V>
            <V N="DetailNumber">4</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">fdd.SUBKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">fdd.meanstype%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">fdd.fintype%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="101" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1201">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@МультиБюджет</V>
            <V N="FieldName">b.Budgetref%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">b.Dat</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">b.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1201" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1501">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">oo.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Год</V>
            <V N="FieldName">oo.YEARREPORT</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ГруппаИнформации</V>
            <V N="FieldName">oo.GROUPINF</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">ifs.FinSourceValue%l</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.CODE%k</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.CODE</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">TCLS.code%k</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">oo.KFSR</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.CODE%k</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">oo.KESR</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">oo.FacialAcc_Cls</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">oo.Fact</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">oo.DirectionCLS</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргРасп</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">oo.Note%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">oo.RegionCls</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспОргСсылка</V>
            <V N="FieldName">oa.Org_Ref%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">СубКЦСР</V>
            <V N="FieldName">oo.SubKCSR</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">oo.SubKESR</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">oo.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">oo.MeansType</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">oo.FINSOURCE</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">oo.FinType</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1501" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1601">
      <table key="ParamTab">
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">pc.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">pd.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОргСсылка</V>
            <V N="FieldName">o2.id%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">o2.Org_Type%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="FieldName">pc.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДогНом</V>
            <V N="FieldName">pc.Agreement_Num</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">pd.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">pd.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">pd.FacialAcc_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">facdoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">pd.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">pc.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">pd.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">pd.REGISTRNUMBER</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">pc.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">facd.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерУточняемогоБО</V>
            <V N="FieldName">pd.PARENT_PROMISE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПостав</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПоставИНН</V>
            <V N="FieldName">o1.INN%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПоставКПП</V>
            <V N="FieldName">o1.INN20%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПоставРС</V>
            <V N="FieldName">oa1.acc%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">pc.Reject_CLS</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонКонтрагента</V>
            <V N="FieldName">o1.RegionCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">pd.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДок</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">pc.DocStateRef</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">pd.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">pd.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">pd.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">facd</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1601" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1602">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">pc.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="FieldName">pc.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДогНом</V>
            <V N="FieldName">pc.Agreement_Num</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">pd.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">pd.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">pd.Facialacc_CLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">facoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">pc.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">pd.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">pd.REGISTRNUMBER</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">pc.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fac.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерУточняемогоБО</V>
            <V N="FieldName">pd.PARENT_PROMISE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">pd.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">pd.MeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1602" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1701">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">r.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">r.BuhOperationCLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОрганизации</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Год</V>
            <V N="FieldName">r.Year</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">r.InputDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">r.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЗаявкиВРассмотрении</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЗаявкиИсполнено</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЗаявкиОтклонено</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЗаявкиПринято</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЗаявкиСостояние</V>
            <V N="FieldName">r.RequestsDocState </V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИНН</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">ifs.FinSourceValue%l</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КассСимвол</V>
            <V N="FieldName">r.PaySymbolCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.CODE%k</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.CODE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">BudAllocationCls_CODE.CODE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">r.id%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kdr.KDValue%l</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">PayPromiseCls_CODE.CODE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">SUBSIDYCLS_CODE.CODE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">TransfertCls_CODE.CODE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КПП</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">r.KFSR</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.CODE%k</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">r.KESR</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">r.FacialAcc_Cls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">r.Fact</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">r.Budget%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">r.DirectionCLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомБюджОбяз</V>
            <V N="FieldName">r.Promise</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">r.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Организация</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">r.RegionCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РС</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСФО</V>
            <V N="FieldName">r.dfAccount</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Статус</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтатусНеИсполн</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтатусПолностьюИсполн</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтатусЧастичноИсполн</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКодДохода</V>
            <V N="FieldName">r.SubKD</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">r.SubKESR</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">r.DocumentBaseType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипЗаявки</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">r.DocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">r.MeansType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">r.FinSource</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">r.FinType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1701" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1805">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИстВнутрФин</V>
            <V N="FieldName">edd.IFS%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Код_Цели</V>
            <V N="FieldName">edd.AddCls%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">m.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@РСФО</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="FieldName">edd.KD</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИННПлатОбособ</V>
            <V N="FieldName">m.INNMFKB%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИННПолучОбособ</V>
            <V N="FieldName">m.INNMF%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="FieldName">edd.IFS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">edd.KD%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">m.DESTFACIALCODE%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НаимДок</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">m.ND%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЭлДок</V>
            <V N="FieldName">m.ElNum%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОбработкаЭлДок</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОгрПлатОбособ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОднаДата</V>
            <V N="FieldName">m.GetDate</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолучОбособ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">m.DepartmentCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">m.Note%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="FieldName">edd.KR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСПлатОбособ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСПолучОбособ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СодержКодЦели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">m.SU</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1805" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1807">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@@200</V>
            <V N="FieldName">ex.Error%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">pd.CreaterUser%s</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипДатыПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВозвращеннныеИзОчереди</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Врассмотрении</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">infs.FINSOURCEVALUE%l</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникДанных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kd.KDValue%l</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">ex.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fcoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">pd.BudgetRef%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="FieldName">ex.PacketNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестраЭПД</V>
            <V N="FieldName">ex.ReestrNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЭлДок</V>
            <V N="FieldName">ex.DocNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОтзываютсяИзОчереди</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОтозванныеИзОчереди</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отправлено</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Ошибка</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН2</V>
            <V N="FieldName">a_o.INN%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП2</V>
            <V N="FieldName">a_o.INN20%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС2</V>
            <V N="FieldName">a_oa.Acc%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПомещенныеВОчередь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ППВозвратДоходов</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ППКазн</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ППРайон</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ППФО</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринятыеКОплате</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Проведено</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСФО</V>
            <V N="FieldName">p_oa.ID%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Статус</V>
            <V N="FieldName">ex.Status%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сформированные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТекстОшибки</V>
            <V N="FieldName">ex.Note%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипТекстаОшибки</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1807" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1810">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИстВнутрФин</V>
            <V N="FieldName">edd.IFS%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Код_Цели</V>
            <V N="FieldName">edd.AddCls%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">ed.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">ed.DocDate</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПакетаТип</V>
            <V N="FieldName">ed.PacketDate</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="FieldName">edd.KD</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИННПлатОбособ</V>
            <V N="FieldName">ed.SourceInn%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИННПолучОбособ</V>
            <V N="FieldName">ed.DestInn%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникДанных</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="FieldName">edd.IFS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">ed.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">edd.KD%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">ed.SourceAcc%l</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НаимДок</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">edd.Promise%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">ed.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЭлДок</V>
            <V N="FieldName">ed.EldocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОбработкаЭлДок</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОгрПлатОбособ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолучОбособ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">ed.DepartmentCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПоследВерДок</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ППВведенные</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ППЗагруженные</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ППСканер</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">Note%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="FieldName">edd.KR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСПлатОбособ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСПолучОбособ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СодержКодЦели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">ed.Summa</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1810" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1812">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">cc.FacialCode%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">cc.DepartmentCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cc.CreaterUser%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">edc.clsValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">edc.clsValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cc.DocNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЭлДок</V>
            <V N="FieldName">cc.ElDocNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОбработкаЭлДок</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОднаДата</V>
            <V N="FieldName">cc.DocDate%d</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Окато</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">edc.Summa</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cc.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1812" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1901">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВыбиратьАссигнования</V>
            <V N="FieldName">Bn.BA_LBO_FLAG</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">bdat.DepartmentCls%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">Bn.RejectCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1901" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1902">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВыбиратьАссигнования</V>
            <V N="FieldName">Bn.BA_LBO_FLAG</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">Bn.RejectCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1902" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1903">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Квартал</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">Bn.RejectCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1903" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1905">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">Bn.NOTE%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">Bn.RejectCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1905" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="1906">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Квартал</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">Bn.RejectCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="1906" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="201">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВыбиратьАссигнования</V>
            <V N="FieldName">Bn.BA_LBO_FLAG</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучНаимен</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="FieldName">bdat.TransfertOrg_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="201" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="202">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВыбиратьАссигнования</V>
            <V N="FieldName">Bn.BA_LBO_FLAG</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">bdat.DepartmentCls%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="202" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="203">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Квартал</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="203" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="204">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">OwnOrg.Org_Type%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">KD.KDValue%l</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">Bn.RejectCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">bdat.ClsType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">fcc</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="204" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="205">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">ifs.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kd.KDValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">bdat.DepartmentCls%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">Bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">bdat.ClsType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="205" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="206">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Квартал</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучНаимен</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="FieldName">bdat.TransfertOrg_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="206" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="207">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kd.KDValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">Bn.ClsType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="207" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="208">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">balc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">ppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучНаимен</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="FieldName">bdat.TransfertOrg_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">bdat.ClsType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="208" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="209">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">bdat.FACIALACC_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">Bn.DocBase</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">bdat.ClsType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="209" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="210">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИсточникОбразованияСредств</V>
            <V N="FieldName">bdat.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">Bn.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">bdat.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджИНН</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджКПП</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджНаимен</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БюджОрганизация</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">Bn.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">bdat.ASSIGNMENTKIND%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">Bn.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">Bn.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВыбиратьАссигнования</V>
            <V N="FieldName">Bn.BA_LBO_FLAG</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">Bn.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">Bn.DAT</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">kvrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">kvsrdat.CODE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">bdat.KFSR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">kcsrdat.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">bdat.KESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">Bn.FACIALACCCLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">bdat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">Bn.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НаличиеРаздела</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">bdat.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеПодписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">Bn.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Подписанные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">bdat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПРИЧИНАОТКЛОН</V>
            <V N="FieldName">Bn.REJECTCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">bdat.REGIONCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">bdat.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">bdat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточники</V>
            <V N="FieldName">Bn.notifytype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">bdat.FINTYPE</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="210" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="2201">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">BN.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">BN.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидИзменений</V>
            <V N="FieldName">BN.ASSIGNMENTSOURCE</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">BN.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">BN.DateInput</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">BN.dat</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">BDat.FundsSource</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">KD.KDValue%l</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">bdat.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">BDat.FacialAcc_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">BDat.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">BN.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">BN.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">BN.DocNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">BDat.NOTE%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">BN.RejectCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">bdat.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СоставБюджета</V>
            <V N="FieldName">BN.Type</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКодДохода</V>
            <V N="FieldName">BDat.SubKD</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">BN.DocBase</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">BDat.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="2201" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="2204">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">IncN.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="FieldName">IncN.Variant</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">IncN.PlanDocType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">IncN.BuildDate</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">IncN.AcceptDate</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">incD.FundsSource</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">KD.KDValue%l</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">IncD.FacialAcc_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">IncD.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">IncN.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">IncN.Number</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">IncN.DocBaseNumber</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">IncN.NOTE%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">IncN.RejectCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Роспись</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СоставБюджета</V>
            <V N="FieldName">IncN.Type</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">Bn.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКодДохода</V>
            <V N="FieldName">IncD.SubKD</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">IncN.DocBaseType</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">IncD.MeansType</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Уведомления</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="2204" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="2601">
      <table>
        <FDL>
          <FD>
            <N>ParamTab</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>ParamTab</DL>
          </FD>
          <FD>
            <N>FieldName</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>FieldName</DL>
          </FD>
          <FD>
            <N>Required</N>
            <FDT>2</FDT>
            <CN>TWordBoolField</CN>
            <S>0</S>
            <DL>Required</DL>
          </FD>
          <FD>
            <N>DetailNumber</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>DetailNumber</DL>
          </FD>
          <FD>
            <N>Visible</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Visible</DL>
          </FD>
          <FD>
            <N>DefaultVisible</N>
            <FDT>2</FDT>
            <CN>TWordBoolField</CN>
            <S>0</S>
            <DL>DefaultVisible</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИстВнутрФин</V>
            <V N="FieldName">(ifs.finsourcevalue%l)or(ifs_cor.finsourcevalue%l)</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">b.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">b.Dat</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПроведенияТип</V>
            <V N="FieldName">b.AcceptDate</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.CODE%k</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.CODE%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЕСР</V>
            <V N="FieldName">b.kesr%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">(kd.KDValue%l)or(kd_cor.KDValue%l)</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">b.kfsr%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.CODE%k</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">b.kesr%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">b.BudgetRef%d</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НаЛицСчет</V>
            <V N="FieldName">b.FacialAcc_Cls_Corr</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">b.DocNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">b.OriginalNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатИНН</V>
            <V N="FieldName">orgPayer.OrgInn%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатОргСсылка</V>
            <V N="FieldName">b.ORIGINALPAYERREF</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="FieldName">orgAcceptor.OrgInn%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="FieldName">b.ORIGINALACCEPTORREF</V>
          </R>
          <R>
            <V N="ParamTab">СЛицСчета</V>
            <V N="FieldName">b.FacialAcc_Cls</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">b.Summa</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">(b.MeansType%d)or(b.MeansType_corr%d)</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="2601" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="2602">
      <table>
        <FDL>
          <FD>
            <N>ParamTab</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>ParamTab</DL>
          </FD>
          <FD>
            <N>FieldName</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>FieldName</DL>
          </FD>
          <FD>
            <N>Required</N>
            <FDT>2</FDT>
            <CN>TWordBoolField</CN>
            <S>0</S>
            <DL>Required</DL>
          </FD>
          <FD>
            <N>DetailNumber</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>DetailNumber</DL>
          </FD>
          <FD>
            <N>Visible</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Visible</DL>
          </FD>
          <FD>
            <N>DefaultVisible</N>
            <FDT>2</FDT>
            <CN>TWordBoolField</CN>
            <S>0</S>
            <DL>DefaultVisible</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ИстВнутрФин</V>
            <V N="FieldName">(ifs.finsourcevalue%l)or(ifs_cor.finsourcevalue%l)</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">b.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">b.Dat</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПроведенияТип</V>
            <V N="FieldName">b.AcceptDate</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.CODE%k</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.CODE%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЕСР</V>
            <V N="FieldName">b.kesr%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">(kd.KDValue%l)or(kd_cor.KDValue%l)</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">b.kfsr%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.CODE%k</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">b.kesr%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">b.BudgetRef%d</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НаЛицСчет</V>
            <V N="FieldName">b.FacialAcc_Cls_Corr</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">b.DocNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">b.OriginalNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатИНН</V>
            <V N="FieldName">orgPayer.OrgInn%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатОргСсылка</V>
            <V N="FieldName">b.ORIGINALPAYERREF</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="FieldName">orgAcceptor.OrgInn%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="FieldName">b.ORIGINALACCEPTORREF</V>
          </R>
          <R>
            <V N="ParamTab">СЛицСчета</V>
            <V N="FieldName">b.FacialAcc_Cls</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">b.Summa</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">(b.MeansType%d)or(b.MeansType_corr%d)</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="2602" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="2802">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">dfao.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">dfao.fact%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">dfao.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">dfao.RegionCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">dfao.MeansType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="2802" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="301">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">(sifs.FinSourceValue%l) or (difs.FinSourceValue%l)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.SOURCEACCOUNT%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">(SourceKVR_CODE.CODE%k) or (DestKVR_CODE.CODE%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">(SourceKVSR_CODE.CODE%d) or (DestKVSR_CODE.CODE%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">(sbalc.Code%k) or (dbalc.Code%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">(skd.KDValue%l) or (dkd.KDValue%l)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">(sppc.Code%k) or (dppc.Code%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСтрокиБО</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">(ssc.Code%k) or(dsc.Code%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">(tc1.Code%d) or (tc2.Code%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">(ffd.SourceKFSR%d) or (ffd.DestKFSR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">(SourceKCSR_CODE.CODE%k) or (DestKCSR_CODE.CODE%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">(ffd.SourceKESR%d) or (ffd.DestKESR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">(ffd.SourceFacialAcc_Cls%d) or (ffd.DestFacialAcc_Cls%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">(s_fkoa.Acc%s)or(d_fkoa.Acc%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">(ffd.SourceFact%d) or (ffd.DestFact%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">(ffd.SourceDirectionCls%d) or (ffd.DestDirectionCls%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеВошедшиеВРеестр</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">(ffd.SourcePromise%s) or (ffd.DestPromise%s)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">(sfad.FacialCodeEx%s)or(dfad.FacialCodeEx%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерМемОрдера</V>
            <V N="FieldName">ffd.MemOrderNum%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">cpt.DepartmentCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьДокументов</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">(dOwnOrg.RegionCLS%d) or (sOwnOrg.RegionCLS%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">(ffd.DestRegionCls%d) or (ffd.SourceRegionCls%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">(ffd.SourceSubKESR%d) or (ffd.DestSubKESR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">(ffd.SourceDocBase%d) or (ffd.DestDocBase%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">(ffd.SourceDocType%d) or (ffd.DestDocType%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">(ffd.SourceMeansType%d) or (ffd.DestMeansType%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">(ffd.SourceFinSource%d) or (ffd.DestFinSource%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">(ffd.SourceFinType%d) or (ffd.DestFinType%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">sfa</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ГРБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="301" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="302">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">sOwnOrg.Org_Type%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДогНом</V>
            <V N="FieldName">a.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЗаявкаНом</V>
            <V N="FieldName">cpt.BIDNUMBER</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИнформацияОНалоге</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">sifs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.SourceAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">SourceKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">SourceKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">sbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">skd.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">sppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСтрокиБО</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонтрактНом</V>
            <V N="FieldName">sor.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.SourceKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">SourceKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.SourceKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">cpt.SourceFacialAcc_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">s_cfkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.SourceFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.SourceDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеВошедшиеВРеестр</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсп</V>
            <V N="FieldName">edc.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">sfa.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="FieldName">pde.PacketNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">cpt.DepartmentCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="FieldName">doa.Org_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРССсылка</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьДокументов</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">sOwnOrg.RegionCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонКонтрагента</V>
            <V N="FieldName">o.RegionCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.SourceRegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.SourceSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.SourceDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.SourceDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.SourceMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.SourceFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.SourceFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">sfa</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="302" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="303">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">difs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">DestKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">DestKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">dbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">dppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">SCLS.code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.DestKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">DestKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.DestKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ffd.DestFacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">d_fkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.DestFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.DestDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеВошедшиеВРеестр</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">dfad.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерМемОрдера</V>
            <V N="FieldName">ffd.MemOrderNum%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьДокументов</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">dOwnOrg.RegionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.DestRegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.DestSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.DestDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.DestDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.DestMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.DestFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.DestFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="303" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="304">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">sOwnOrg.Org_Type%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДогНом</V>
            <V N="FieldName">a.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">sifs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.SourceAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">SourceKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">SourceKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">sbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">skd.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">sppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСтрокиБО</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонтрактНом</V>
            <V N="FieldName">sor.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.SourceKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">SourceKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.SourceKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">cpt.SourceFacialAcc_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">s_cfkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.SourceFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.SourceDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеВошедшиеВРеестр</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсп</V>
            <V N="FieldName">edc.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">sfa.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">cpt.DepartmentCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьДокументов</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">sOwnOrg.RegionCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.SourceSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.SourceDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.SourceDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.SourceMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.SourceFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.SourceFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">sfa</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="304" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="305">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">dOwnOrg.Org_Type</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДогНом</V>
            <V N="FieldName">da.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">difs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">ffd.DestFundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">DestKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">DestKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">dkd.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСтрокиБО</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонтрактНом</V>
            <V N="FieldName">dsor.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.DestKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">DestKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.DestKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ffd.DestFacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">d_fkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.DestFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.DestDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">ffd.DestPromise%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсп</V>
            <V N="FieldName">dedc.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">dfad.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатИНН</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатКПП</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатОргСсылка</V>
            <V N="FieldName">oa.Org_ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПлатРС</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатРССсылка</V>
            <V N="FieldName">cpt.SourceAccount%d</V>
            <V N="Required">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьДокументов</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">dOwnOrg.RegionCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонКонтрагента</V>
            <V N="FieldName">o.RegionCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.DestRegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.DestSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.DestDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.DestDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.DestMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.DestFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.DestFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">dfad</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="305" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="306">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">dOwnOrg.Org_Type%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВключатьРазблокированные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаБлокировкиТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРазблокировкиТип</V>
            <V N="FieldName">cpt.UnBlockedDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДогНом</V>
            <V N="FieldName">da.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">difs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">ffd.DestFundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">DestKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">DestKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">dbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">dkd.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">dppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСтрокиБО</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонтрактНом</V>
            <V N="FieldName">dsor.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.DestKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">DestKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.DestKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">Cpt.DestFacialAcc_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">d_cfkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.DestFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.DestDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">ffd.DestPromise%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсп</V>
            <V N="FieldName">dedc.DocNumber%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">dfa.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьДокументов</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаБлокировки</V>
            <V N="FieldName">cpt.BlockedCause%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаРазблокировки</V>
            <V N="FieldName">cpt.UnBlockedCause%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">dOwnOrg.RegionCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеБлокировки</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.DestSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.DestDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.DestDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныБлокировки</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныРазблокировки</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.DestMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.DestFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.DestFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">dfa</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="306" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="307">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">ffr.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">ffr.id%d</V>
            <V N="Required">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">ffr.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">ffr.DepartmentCls%k</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПринятыеЛимиты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">ffr.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипРеестра</V>
            <V N="FieldName">ffr.ReestrTypeEx%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="307" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="308">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">(SourceKVR_CODE.CODE%k) or (DestKVR_CODE.CODE%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">(SourceKVSR_CODE.CODE%d) or (DestKVSR_CODE.CODE%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">(dbalc.Code%k) or (sbalc.Code%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">(dkd.KDValue%l) or (skd.KDValue%l)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">(sppc.Code%k) or (dppc.Code%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСтрокиБО</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">(sc1.Code%k) or (sc2.Code%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">(ffd.SourceKFSR%d) or (ffd.DestKFSR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">(SourceKCSR_CODE.CODE%k) or (DestKCSR_CODE.CODE%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">(ffd.SourceKESR%d) or (ffd.DestKESR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">(ffd.SourceFacialAcc_Cls%d) or (ffd.DestFacialAcc_Cls%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">(s_fkoa.Acc%s) or (d_fkoa.Acc%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">(ffd.SourceFact%d) or (ffd.DestFact%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">(ffd.SourceDirectionCls%d) or (ffd.DestDirectionCls%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеВошедшиеВРеестр</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">(ffd.SourcePromise%s) or (ffd.DestPromise%s)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">(sfad.FacialCodeEx%s) or (dfad.FacialCodeEx%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерМемОрдера</V>
            <V N="FieldName">ffd.MemOrderNum%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьДокументов</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">(sOwnOrg.RegionCls%d)or(dOwnOrg.RegionCls%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">(ffd.SourceSubKESR%d) or (ffd.DestSubKESR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">(ffd.SourceDocBase%d) or (ffd.DestDocBase%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">(ffd.SourceDocType%d) or (ffd.DestDocType%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">(ffd.SourceMeansType%d) or (ffd.DestMeansType%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">(ffd.SourceFinSource%d) or (ffd.DestFinSource%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">(ffd.SourceFinType%d) or (ffd.DestFinType%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="308" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="311">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">sOwnOrg.Org_Type%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">sifs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">(cpt.DestAccount%d) or (cpt.SourceAccount%d)</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">SourceKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">SourceKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">sbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">skd.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">sppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.SourceKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">SourceKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.SourceKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ffd.SourceFacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">s_fkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.SourceFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.SourceDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">sfad.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="FieldName">pde.PacketNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">sOwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.SourceRegionCLS%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.SourceSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.SourceDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.SourceDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.SourceMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.SourceFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.SourceFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">sfad</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="311" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="312">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">dOwnOrg.Org_Type%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">difs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">DestKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">DestKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">dbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">dkd.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">dppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.DestKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">DestKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.DestKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ffd.DestFacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">d_fkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.DestFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.DestDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">dfad.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="FieldName">pde.PacketNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">dOwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.DestRegionCLS%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.DestSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.DestDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.DestDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.DestMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.DestFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.DestFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">dfad</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="312" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="314">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">sOwnOrg.Org_Type%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">sifs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">SourceKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">SourceKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">sbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">skd.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">sppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.SourceKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">SourceKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.SourceKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ffd.SourceFacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">s_fkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.SourceFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.SourceDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">sfad.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="FieldName">pde.PacketNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">sOwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.SourceRegionCls%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.SourceSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.SourceDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.SourceDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.SourceMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.SourceFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.SourceFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">sfad</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="314" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="315">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ffd.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">dOwnOrg.Org_Type%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВключатьРазблокированные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаБлокировкиТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРазблокировкиТип</V>
            <V N="FieldName">cpt.UnBlockedDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">difs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">DestKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">DestKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">dbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">dkd.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДоходаЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">dppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.DestKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">DestKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.DestKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ffd.DestFacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">d_fkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.DestFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.DestDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">dfad.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаБлокировки</V>
            <V N="FieldName">cpt.BlockedCause%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаРазблокировки</V>
            <V N="FieldName">cpt.UnBlockedCause%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">dOwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.DestRegionCLS%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеБлокировки</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.DestSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">ffd.DestDocBase%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">ffd.DestDocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныБлокировки</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныРазблокировки</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.DestMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.DestFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">ffd.DestFinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">dfad</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="315" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="317">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">cpt.DestFacialAcc_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">d_cfkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">dfa.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="317" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="318">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">(SourceKVR_CODE.CODE%k) or (DestKVR_CODE.CODE%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">(SourceKVSR_CODE.CODE%d) or (DestKVSR_CODE.CODE%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">(ffd.SourceKFSR%d) or (ffd.DestKFSR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">(SourceKCSR_CODE.CODE%k) or (DestKCSR_CODE.CODE%k)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">(ffd.SourceKESR%d) or (ffd.DestKESR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">(cpt.SourceFacialAcc_Cls%d) or (cpt.DestFacialAcc_Cls%d)</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">(s_cfkoa.Acc%s)or(d_cfkoa.Acc%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">(ffd.SourceFact%d) or (ffd.DestFact%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">(ffd.SourceDirectionCls%d) or (ffd.DestDirectionCls%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">(sfa.FacialCodeEx%s) or (dfa.FacialCodeEx%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">(ffd.SourceSubKESR%d) or (ffd.DestSubKESR%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">(ffd.SourceMeansType%d) or (ffd.DestMeansType%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="318" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="319">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ofd.BuhOperationCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРеестраТип</V>
            <V N="FieldName">ffr.ReestrDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРеестра</V>
            <V N="FieldName">ffr.ReestrNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="319" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="322">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">sifs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.SourceAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">SourceKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">SourceKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">sbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">sppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСтрокиБО</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">SCLS.code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.SourceKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">SourceKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.SourceKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">cpt.SourceFacialAcc_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">s_cfkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.SourceFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.SourceDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">ffd.SourcePromise%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">sfa.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="FieldName">doa.Org_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">sOwnOrg.RegionCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонКонтрагента</V>
            <V N="FieldName">o.RegionCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.SourceRegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.SourceSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.SourceMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="322" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="323">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">cpt.BuhOperationCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">ffd.DestAssignmentKind%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">difs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">DestKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">DestKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">dbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">dppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.DestKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">DestKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.DestKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ffd.DestFacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">d_fkoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.DestFact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.DestDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеВошедшиеВРеестр</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">dfad.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерМемОрдера</V>
            <V N="FieldName">ffd.MemOrderNum%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">dOwnOrg.RegionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.DestRegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.DestSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.DestMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">ffd.DestFinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="323" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="324">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cpt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезАрхивных</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">cpt.BuhOperationCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">ffd.DestAssignmentKind%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ВидДенежногоОбязательства</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cpt.DocumentDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">cpt.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">difs.FinSourceValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cpt.DestAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">DestKVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">DestKVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">dbalc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cpt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ffd.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">dppc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСтрокиБО</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ffd.DestKFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">DestKCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ffd.DestKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">(cpt.SourceFacialAcc_Cls%d) or (ffd.DestFacialAcc_Cls%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">(s_cfkoa.FacialCode%s)or(d_fkoa.Acc%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ffd.Destfact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cpt.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ffd.DestDirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеВошедшиеВРеестр</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cpt.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">(sfa.FacialCodeEx%s) or (dfad.FacialCodeEx%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерМемОрдера</V>
            <V N="FieldName">ffd.MemOrderNum%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">cpt.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">dOwnOrg.RegionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">ffd.DestRegionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">cpt.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.DestSubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cpt.Credit</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СуммаДеталь</V>
            <V N="FieldName">ffd.Credit</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cpt.ClsType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ffd.DestMeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммыДеталь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="324" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="4401">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">uc.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидДеятельности</V>
            <V N="FieldName">mt.ActivityKind%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">uc.InputDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПроведенияТип</V>
            <V N="FieldName">uc.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="FieldName">ud.TargetCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ud.id</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">SCLS.code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">TCLS.code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ud.KFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ud.KESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">uc.FACIALACCCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">facoa.Acc%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">uc.BUDGETREF%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеВошедшиеВРеестр</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">uc.DocNumber%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fac.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">uc.RejectCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">uc.DocStateRef%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">ffd.DestSubKESR%d</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДеятельности</V>
            <V N="FieldName">mt.ActivityType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ТипСводногоУведомления</V>
            <V N="FieldName">uc.NotifyType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ud.MeansType%d</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="4401" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="4403">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">uc.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ud.id</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ud.KFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ud.KESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">uc.FACIALACCCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">uc.BUDGETREF%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСводногоУведомления</V>
            <V N="FieldName">uc.NotifyType%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="4403" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="4901">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">dp.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипПакета</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">dp.PacketCreateDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаДокументаТип</V>
            <V N="FieldName">dp.ReportDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаСозданияТип</V>
            <V N="FieldName">dp.PacketCreateDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Доставленные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">dp.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">dp.FacialAcc_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Опубликованные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Ошибка</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">dp.Note%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">dp.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Статус</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сформированные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="4901" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="4903">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Период</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">(dp.CreaterUser%s) or (dp.PacketState = 0)</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">CRC_Ограничений</V>
            <V N="FieldName">dp.SPConstraintCRC%d</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Бюджет</V>
            <V N="FieldName">(dp.BudgetRef%d) or (dp.BudgetRef is null)</V>
            <V N="Required">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">dp.PacketCreateDate%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаДокументаТип</V>
            <V N="FieldName">dp.ReportDate%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДокДляПодп</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КатегорАрхивДок</V>
            <V N="FieldName">adt.Code%k</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КатегорАрхивДокКлюч</V>
            <V N="FieldName">dp.ArchiveDocType%d</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">dp.FacialAcc_Cls%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="FieldName">dp.ReportDate%d</V>
            <V N="Required">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">(dp.BudgetRef%d) or (dp.BudgetRef is null)</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">dp.DocNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Опубликованные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОтобрПрикрФайлы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Ошибка</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">dp.Note%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСФО</V>
            <V N="FieldName">dp.RSFO%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Статус</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сформированные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="4903" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="5000">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">ac.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидРазрешения</V>
            <V N="FieldName">ac.AllowanceType%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">ac.InputDate</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВыдачиТип</V>
            <V N="FieldName">ac.registerdate</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаНачалаТип</V>
            <V N="FieldName">ac.BeginDate</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаОкончанияТип</V>
            <V N="FieldName">ac.Enddate</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаОтзываТип</V>
            <V N="FieldName">ac.ReturnDate</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаУведомленияТип</V>
            <V N="FieldName">ac.ReturnNotifydate</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">ald.fundssource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">ald.kfsr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">ald.kesr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ald.fact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">ac.BudgetRef%d</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерГенРазрешения</V>
            <V N="FieldName">ac.NumberGeneral%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДопГенРазрешение</V>
            <V N="FieldName">ac.NumberGeneralAdd%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДопРазрешение</V>
            <V N="FieldName">ac.NumberAdd%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерРазрешения</V>
            <V N="FieldName">ac.NumberDoc%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ald.MeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ac.FacialAcc_Cls%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="5000" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="5201">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">writ_c.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">writ_c.Reject_Cls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаДокументаТип</V>
            <V N="FieldName">writ_c.IssueDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.CODE%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">writ_c.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">writ_d.KFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.CODE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">writ_d.KESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">writ_c.FacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">writ_d.Fact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">writ_c.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">writ_d.DirectionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">writ_d.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">writ_c.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">writ_d.SubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">writ_d.DocType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">writ_d.MeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">writ_d.FinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">writ_d.FinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КолвоДнейДоЗавершенияСостИЛ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КолвоДнейДоЗавершенияИЛТип</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОплатаИспЛиста</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОплатаИЛНеОплачен</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОплатаИЛЧастичноОплачен</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОплатаИЛОплачен</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргВзыскатель</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргВзыскательИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргВзыскательКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргВзыскательНаименование</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргВзыскательРС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргВзыскательСсылка</V>
            <V N="FieldName">writ_c.LevierOrg_ref%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргВзыскательРСссылка</V>
            <V N="FieldName">writ_c.LEVIERACC_REF%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">НомерИспЛист</V>
            <V N="FieldName">writ_c.DocNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипИсполнительногоЛиста</V>
            <V N="FieldName">writ_c.WritType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="5201" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="5501">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cor_c.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипУведомления</V>
            <V N="FieldName">cor_c.DocType</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">(cor_d_cls.BuhOperationCLS%d) and (cor_d_cls.progindex = 316)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВключатьРазблокированные</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВнутренниеПереброскиДоходов</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаБлокировкиТип</V>
            <V N="FieldName">cor_c.AcceptDate</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cor_c.InputDate</V>
            <V N="Required">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПроведенияТип</V>
            <V N="FieldName">cor_c.AcceptDate</V>
            <V N="Required">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРазблокировкиТип</V>
            <V N="FieldName">cor_d_cls.UnBlockedDate</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаУчетаТип</V>
            <V N="FieldName">cor_c.RecordDate</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">ifs_cls.finsourcevalue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">cor_d_cls.FundsSource</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cor_c.OriginalAcceptorAcc_Ref%D</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КлассИсходногоДокументаПоступления</V>
            <V N="FieldName">cor_c.OriginalProgindex%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cor_c.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kd_cls.KDValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">TransfertCls_CODE.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">cor_d_cls.kfsr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">cor_d_cls.kesr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">cor_d_cls.FacialAcc_Cls</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">cor_d_cls.fact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cor_c.BudgetRef%d</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">cor_d_cls.directionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cor_c.DocNumber%s</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">cor_c.OriginalNumber%s</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">cor_c.DepartmentCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатИНН</V>
            <V N="FieldName">cor_c.OriginalPayerOrgInn%s</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатКПП</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатОргСсылка</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПлатРС</V>
            <V N="FieldName">cor_c.OriginalPayerAcc%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПодтверждениеВозвратасоСчетовДляНаличности</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПодтверждениеПеречисленияНаСчетаДляНаличности</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="FieldName">cor_c.OriginalAcceptorOrgInn%s</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС</V>
            <V N="FieldName">cor_c.OriginalAcceptorAcc%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПоступлениеДоходов</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПоступлениеНевыясненных</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПриходОтПрочих</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПриходПоОбъявлениям</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаБлокировки</V>
            <V N="FieldName">cor_d_cls.BlockedCause%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаРазблокировки</V>
            <V N="FieldName">cor_d_cls.UnBlockedCause%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Разассигновка</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">cor_d_cls.RegionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспределениеОФ</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеБлокировки</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">ds.id%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">cor_d_cls.SubKesr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cor_c.Summa</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cor_d_cls.ClsType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныБлокировки</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныРазблокировки</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">cor_d_cls.MeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">УтверждениеОФ</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">УточнениеПоступлений</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">cor_d_cls.FinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">fa</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">OwnOrg.Org_Type%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="5501" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="5502">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">cor_c.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипУведомления</V>
            <V N="FieldName">cor_c.DocType</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">(cor_d_cls.BuhOperationCLS%d) and (cor_d_cls.progindex = 316)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВнутренниеПереброскиРасходов</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВнутренниеПлатежи</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВозвратДоходов</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВозвратСоСчетовДляНаличности</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВыдачаСсуды</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаБлокировкиТип</V>
            <V N="FieldName">cor_c.AcceptDate</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">cor_c.InputDate</V>
            <V N="Required">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПроведенияТип</V>
            <V N="FieldName">cor_c.AcceptDate</V>
            <V N="Required">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРазблокировкиТип</V>
            <V N="FieldName">cor_d.UnBlockedDate</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаУчетаТип</V>
            <V N="FieldName">cor_c.RecordDate</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">ifs_cls.finsourcevalue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">cor_d_cls.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">cor_c.OriginalPayerAcc_Ref%D</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КлассИсходногоДокументаВыплаты</V>
            <V N="FieldName">cor_c.OriginalProgIndex%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">cor_c.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kd_cls.KDValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">TransfertCls_CODE.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">cor_d_cls.kfsr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">cor_d_cls.kesr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">cor_d_cls.FacialAcc_Cls</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_БУ_АУ_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОМС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ОтдельныйБУ_АУ</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПБС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">лс_ПоПереданнымПолномочиям</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">cor_d_cls.fact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">cor_c.BudgetRef%d</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">cor_d_cls.directionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерБО</V>
            <V N="FieldName">cor_d_cls.Promise%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">cor_c.DocNumber%s</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">cor_c.OriginalNumber%s</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">cor_c.DepartmentCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПеречислениеНаСчетаДляНаличности</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатежныеПоручения</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатИНН</V>
            <V N="FieldName">cor_c.OriginalPayerOrgInn%s</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатКПП</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатОргСсылка</V>
          </R>
          <R>
            <V N="ParamTab">ПлатРС</V>
            <V N="FieldName">cor_c.OriginalPayerAcc%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="FieldName">cor_c.OriginalAcceptorOrgInn%s</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС</V>
            <V N="FieldName">cor_c.OriginalAcceptorAcc%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринадлежностьЛС</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаБлокировки</V>
            <V N="FieldName">cor_d_cls.BlockedCause%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаРазблокировки</V>
            <V N="FieldName">cor_d_cls.UnBlockedCause%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонБУ</V>
            <V N="FieldName">OwnOrg.RegionCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">cor_d_cls.RegionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспоряжениеНаФинансирование</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасходПоЧекам</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СводноеРаспоряжениеНаФинансирование</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеБлокировки</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">ds.id%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">cor_d_cls.SubKesr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">cor_c.Summa</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">cor_d_cls.ClsType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныБлокировки</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныРазблокировки</V>
            <V N="Required">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">cor_d_cls.MeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">УточнениеВыбытий</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">УчетКассовыхВыплат</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">cor_d_cls.FinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Характер_ЛС</V>
            <V N="FieldName">fa</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидОргВладельцаЛС</V>
            <V N="FieldName">OwnOrg.Org_Type%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="5502" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="5503">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">rep_c.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВариантРосписи</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидАссигнований</V>
            <V N="FieldName">(rep_info.ASSIGNMENTKIND%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">rep_c.InputDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">rep_c.AcceptDate</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДохТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">(IFS.finsourcevalue%l)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">(KVR_CODE.Code%K)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">(KVSR_CODE.Code%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КлассИсходногоДокументаВыплаты</V>
            <V N="FieldName">rep_d.OriginalClass%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодБюджАссигнования</V>
            <V N="FieldName">(BudAllocationCls_CODE.Code%k)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">(KD.KDValue%l)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодРасходногоОбязательства</V>
            <V N="FieldName">(PayPromiseCls_CODE.Code%k)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">(SubsidyCls_CODE.Code%k)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">(TransfertCls_CODE.Code%d) </V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">(rep_info.kfsr%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">(KCSR_CODE.Code%k)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">(rep_info.kesr%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">(rep_info.FacialAcc_Cls%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">(rep_info.fact%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">(rep_info.directionCls%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">rep_c.Reject_CLS%d</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РайонТрансферта</V>
            <V N="FieldName">(rep_info.RegionCLS%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РасхТипКлс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РеестрНомДоговора</V>
            <V N="FieldName">rep_info.ReestrNumber</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СоставБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">(rep_info.SubKesr%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДокОснов</V>
            <V N="FieldName">(rep_info.DocBase%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКлассификации</V>
            <V N="FieldName">rep_info.ClsType%d</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">(rep_info.MeansType%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">(rep_info.FINSOURCE%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинТип</V>
            <V N="FieldName">(rep_info.FinType%d)</V>
            <V N="DetailNumber">2</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="5503" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="701">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@РСФО</V>
            <V N="FieldName">fdc.DFAccount</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">fdc.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">fdc.USERNOTE%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@МультиБюджет</V>
            <V N="FieldName">fdc.BudgetRef%d</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">fdc.ANumber%s</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Операция</V>
            <V N="FieldName">fdd.BuhOperationCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@@ЛицСчет</V>
            <V N="FieldName">fdd.FACIALACC_CLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@СтруктураБюджета</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">fdd.KFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ПростойТипДаты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">fdd.kesr%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">fdd.SubKESR</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Направление</V>
            <V N="FieldName">fdd.DirectionCLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ФинИсточник</V>
            <V N="FieldName">fdd.FinSource</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ФинТип</V>
            <V N="FieldName">fdd.FinType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Мероприятие</V>
            <V N="FieldName">fdd.Fact</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипПлатДок</V>
            <V N="FieldName">fdd.DOCTYPE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Район</V>
            <V N="FieldName">fdd.REGIONCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипДокОснов</V>
            <V N="FieldName">fdd.DOCUMENTBASETYPE%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипСредствБюдж</V>
            <V N="FieldName">fdd.MeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргРасп</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспИНН </V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспРС </V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РаспОргСсылка</V>
            <V N="FieldName">orga.Org_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучОргСсылка</V>
            <V N="FieldName">orga2.Org_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРССсылка</V>
            <V N="FieldName">fdd.AcceptorAccRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">РаспРССсылка</V>
            <V N="FieldName">fdd.AccountRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">fdc.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="701" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="702">
      <table>
        <FDL>
          <FD>
            <N>ParamTab</N>
            <CN>TLongStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>ParamTab</DL>
          </FD>
          <FD>
            <N>FieldName</N>
            <CN>TLongStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>FieldName</DL>
          </FD>
          <FD>
            <N>Required</N>
            <CN>TWordBoolField</CN>
            <FDT>2</FDT>
            <S>0</S>
            <DL>Required</DL>
          </FD>
          <FD>
            <N>DetailNumber</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>DetailNumber</DL>
          </FD>
          <FD>
            <N>Visible</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Visible</DL>
          </FD>
          <FD>
            <N>DefaultVisible</N>
            <CN>TWordBoolField</CN>
            <FDT>2</FDT>
            <S>0</S>
            <DL>DefaultVisible</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ОграничВидимостьПоПравам</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">pd.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БезНомера</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВозвращеннныеИзОчереди</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Врассмотрении</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">pd.InputDate</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПроведенияТип</V>
            <V N="FieldName">pd.AcceptDate</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодВалюты</V>
            <V N="FieldName">pd.Currency</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">pd.BudgetRef%d</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">pd.Number%s</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокИсточн</V>
            <V N="FieldName">pd.SourceDocNumber%s</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерПакета</V>
            <V N="FieldName">pd_ex.PacketNumber%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргПолуч</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОтзываютсяИзОчереди</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОтозванныеИзОчереди</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отправлено</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Ошибка</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучКПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПолучРС</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПомещенныеВОчередь</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПринятыеКОплате</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Проведенные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Проведено</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСФО</V>
            <V N="FieldName">pd.PayerAttrRef</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостДокумента</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Статус</V>
            <V N="FieldName">pd_ex.Status</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">pd.Summa</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сформированные</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">pd.id</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="702" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="703">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">fdd.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@МультиБюджет</V>
            <V N="FieldName">fdd.BudgetRef%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВклДокументыФин</V>
            <V N="FieldName">fdd.ProgIndex%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Примечание</V>
            <V N="FieldName">fdd.Note%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПримечания</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">fdd.SourceDocNum%s</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Операция</V>
            <V N="FieldName">fdd.BuhOperationCLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@@ЛицСчет</V>
            <V N="FieldName">fdd.FACIALACC_CLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@СтруктураБюджета</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@КФСР</V>
            <V N="FieldName">fdd.KFSR%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@КЭСР</V>
            <V N="FieldName">fdd.KESR%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ФинТип</V>
            <V N="FieldName">fdd.FINTYPE%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Мероприятие</V>
            <V N="FieldName">fdd.Fact</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипПлатДок</V>
            <V N="FieldName">fdd.DOCTYPE%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Район</V>
            <V N="FieldName">fdd.REGIONCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипСредствБюдж</V>
            <V N="FieldName">fdd.MeansType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Организация</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргСсылка</V>
            <V N="FieldName">oa.Org_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Наимен</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">рс</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">fdd.AcceptDate</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РССсылка</V>
            <V N="FieldName">fdd.AccountRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="703" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="704">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">fdd.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@МультиБюджет</V>
            <V N="FieldName">fdd.BudgetRef%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Операция</V>
            <V N="FieldName">fdd.BuhOperationCLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="704" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="801">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">lnc.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">lfd.BuhOperationCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВидПлана</V>
            <V N="FieldName">lnc.PlanDocType%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Год</V>
            <V N="FieldName">lnc.Year%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">lnc.InputDate</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">lnc.AcceptDate</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">ifs.finsourcevalue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">lfd.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">lnc.DFAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="FieldName">mt.TARGETCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">lnc.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">lfd.KFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">lfd.KESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">lfd.FacialAcc%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">lfd.Fact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="FieldName">lnc.Month%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">lnc.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">lfd.DirectionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">lnc.Number%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">lnc.Reject_CLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">lfd.RegionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеДокумента</V>
            <V N="FieldName">lnc.DocStateRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">lfd.SubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">lfd.MeansType%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">lfd.FinSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="801" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="802">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">lfd.CreaterUser%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Год</V>
            <V N="FieldName">lfd.Year%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="FieldName">lfd.ACCEPTDATE</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">lfd.KFSR%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">lfd.KESR%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">lfd.FacialAcc</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">lfd.Fact</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="FieldName">lfd.Month</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">lfd.BudgetRef</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">lfd.DirectionCLS</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="FieldName">lfd.ACCEPTDATE</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Операция</V>
            <V N="FieldName">lfd.BuhOperationCls</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">rc.ID%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">lfd.SubKESR</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">lfd.DocTypes</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФинИсточник</V>
            <V N="FieldName">lfd.FinSource</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ФлагПринятия</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="802" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="803">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">rfc.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">lfd.BuhOperationCls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Врассмотрении</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Год</V>
            <V N="FieldName">rfc.Year%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">rfc.DFAccount%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВР</V>
            <V N="FieldName">KVR_CODE.Code%K</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">rfc.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КФСР</V>
            <V N="FieldName">lfd.KFSR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЦСР</V>
            <V N="FieldName">KCSR_CODE.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КЭСР</V>
            <V N="FieldName">lfd.KESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="FieldName">rfc.Month%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">rfc.BudgetRef%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">lfd.DirectionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">rfc.Number%s</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Обработка</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СтруктураБюджета</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКЭСР</V>
            <V N="FieldName">lfd.SubKESR%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="803" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="901">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@@ЛицСчет</V>
            <V N="FieldName">i.Facialacc_CLS</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@КодДохода</V>
            <V N="FieldName">kd.KDValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@КодДоходаАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@КодДоходаВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@КодДоходаЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@МультиБюджет</V>
            <V N="FieldName">qt.BudgetRef%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">qt.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ПростойТипДаты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">qt.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">qt.DocNumber%s</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="901" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="902">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@@НаЛицСчет</V>
            <V N="FieldName">i1.FacialAcc_CLS%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@@СЛицСчета</V>
            <V N="FieldName">i2.FacialAcc_CLS%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ГосНИ</V>
            <V N="FieldName">i1.GosNI%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@МультиБюджет</V>
            <V N="FieldName">i1.BudgetRef%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НаКодДохода</V>
            <V N="FieldName">k1.KDValue%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НаРайон</V>
            <V N="FieldName">i1.RegionCLS%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@НаСубКодДохода</V>
            <V N="FieldName">i1.SubKD%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">i2.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@СКодаДохода</V>
            <V N="FieldName">k2.KDValue%s</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@СРайона</V>
            <V N="FieldName">i2.RegionCLS%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ССубКодаДохода</V>
            <V N="FieldName">i2.SubKD%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипПлатДок</V>
            <V N="FieldName">i1.DocType%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">i2.Idate</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="FieldName">i2.IDATE</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">i2.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">(tc1.Code%d) or (tc2.Code%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">i2.DocNum%s</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Required">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Организация</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргСсылка</V>
            <V N="FieldName">i2.Org_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="902" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="903">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">q.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">ind.BuhOperationCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВключатьРазблокированные</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаБлокировкиТип</V>
            <V N="FieldName">ind.IDate</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">q.BuildDate</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">q.AcceptDate</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРазблокировкиТип</V>
            <V N="FieldName">ind.UnBlockedDate</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Дебет</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФин</V>
            <V N="FieldName">IFS.FinSourceValue%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинАдм</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинВид</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИстВнутрФинЭК</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">ind.FundsSource</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">(q.id%d) or (ind.id%d)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">k.KDValue%l</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">ind.id%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">sc.Code%k</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Кредит</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ind.FacialAcc_Cls%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">ind.Fact%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">q.BudgetRef</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">ind.DirectionCLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">(q.DocNumber%s)or(ind.Docnum%s)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Отдел</V>
            <V N="FieldName">q.DepartmentCls%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПлатИНН</V>
            <V N="FieldName">o.inn%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатКПП</V>
            <V N="FieldName">o.inn20%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатОргСсылка</V>
            <V N="FieldName">ind.org_ref</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПлатРС</V>
            <V N="FieldName">oa1.acc%l</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПокСуммВып</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаБлокировки</V>
            <V N="FieldName">ind.BlockedCause%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаОтклон</V>
            <V N="FieldName">q.RejectCLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаРазблокировки</V>
            <V N="FieldName">ind.UnBlockedCause%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСФО</V>
            <V N="FieldName">q.incaccount</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеБлокировки</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКодДохода</V>
            <V N="FieldName">ind.SUBKD</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДебета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКредита</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныБлокировки</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныРазблокировки</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">ind.MeansType%d</V>
            <V N="Required">0</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="903" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="905">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@ГосНИ</V>
            <V N="FieldName">inc.GosNI%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kd.KDValue%l</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@МультиБюджет</V>
            <V N="FieldName">inc.BudgetRef%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">inc.CREATERUSER%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ПростойТипДаты </V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@Район</V>
            <V N="FieldName">inc.RegionCLS%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@СубКодДохода</V>
            <V N="FieldName">inc.SubKD</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипПлатДок</V>
            <V N="FieldName">inc.DocType%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">@ТипСредствБюдж</V>
            <V N="FieldName">inc.MeansType</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code%d</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Организация</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргСсылка</V>
            <V N="FieldName">inc.Org_Ref%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="905" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="906">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>2</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">inc.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ВключатьРазблокированные</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаВводаТип</V>
            <V N="FieldName">inc.DocDATE</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаПринятияТип</V>
            <V N="FieldName">inc.IDATE</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаРазблокировкиТип</V>
            <V N="FieldName">ind.UnBlockedDate</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ДатаСписанияНевыясненныхТип</V>
            <V N="FieldName">ind.IDATE</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Дебет</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ИсточникОбразованияСредств</V>
            <V N="FieldName">ind.FundsSource%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">(inc.id%d) or (ind.id%d)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">(kd2.KDValue%l)or(kd1.KDValue%l)</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЗаписи</V>
            <V N="FieldName">(inc.id%d) or (ind.id%d)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">(tc1.Code%d) or (tc2.Code%d)</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Кредит</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">(inc.FacialAcc_Cls%d)or(ind.FacialAcc_Cls%d)</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">(faoa.Acc%s)or(fdoa.Acc%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">inc.BudgetRef</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НезавершенныеТип</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НеОграничиватьТип</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДок</V>
            <V N="FieldName">(inc.DocNum%s)or(ind.DocNum%s)</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерДокПрост</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">(fa.FacialCodeEx%s) or (fd.FacialCodeEx%s)</V>
            <V N="Required">1</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатИНН</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатКПП</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатОргСсылка</V>
            <V N="FieldName">oa1.Org_Ref</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПлатРС</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаБлокировки</V>
            <V N="FieldName">ind.BlockedCause%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПричинаРазблокировки</V>
            <V N="FieldName">ind.UnBlockedCause%s</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">РСФО</V>
            <V N="FieldName">inc.incaccount</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СостояниеБлокировки</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКодДохода</V>
            <V N="FieldName">(inc.SubKD%d)or(ind.SubKD%d)</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Сумма</V>
            <V N="FieldName">inc.Credit</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДатыУнивер</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДебета</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКредита</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипОгрДата</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныБлокировки</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПричиныРазблокировки</V>
            <V N="Required">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">(inc.MeansType%d)or(ind.MeansType%d)</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСуммы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="906" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="907">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">inc.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">БухОперация</V>
            <V N="FieldName">inc.BuhOperationCls</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ГосНИ</V>
            <V N="FieldName">inc.GosNI</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Дебет</V>
            <V N="FieldName">inc.debit%l</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КВСР</V>
            <V N="FieldName">KVSR_CODE.Code%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Код_Цели</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДохода</V>
            <V N="FieldName">kd.KDValue%l</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодСубсидии</V>
            <V N="FieldName">subsc.Code%k</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодЦелевыхСредств</V>
            <V N="FieldName">tc.Code</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КонечнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Кредит</V>
            <V N="FieldName">inc.Credit%l</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">inc.FacialAcc_CLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет11</V>
            <V N="FieldName">fccoa.Acc%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Мероприятие</V>
            <V N="FieldName">inc.Fact%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">МультиБюджет</V>
            <V N="FieldName">inc.BudgetRef</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Направление</V>
            <V N="FieldName">inc.DirectionCLS%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НачальнаяДата</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">НомерЛС</V>
            <V N="FieldName">fcc.FacialCodeEx%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ОргПлательщик</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатИНН</V>
            <V N="FieldName">o.inn%l</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатКПП</V>
            <V N="FieldName">o.inn20%l</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ПлатОргСсылка</V>
            <V N="FieldName">inc.org_ref</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">ПлатРС</V>
            <V N="FieldName">oa2.acc%l</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Район</V>
            <V N="FieldName">inc.RegionCLS</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Слой</V>
            <V N="FieldName">inc.AccountIndex</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">СубКодДохода</V>
            <V N="FieldName">inc.SUBKD</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">1</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипДебета</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипКредита</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипПлатДок</V>
            <V N="FieldName">inc.doctype</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ТипСредствБюдж</V>
            <V N="FieldName">inc.MeansType</V>
            <V N="Required">0</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="907" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="9915">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">@Пользователь</V>
            <V N="FieldName">ud.CreaterUser%s</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Год</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Даты</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">ud.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">Месяц</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="9915" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\Настройки\Настройки ограничений">
    <value type="6" name="9925">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ParamTab</N>
            <S>255</S>
            <DL>ParamTab</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>FieldName</N>
            <S>255</S>
            <DL>FieldName</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Required</N>
            <DL>Required</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DetailNumber</N>
            <DL>DetailNumber</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Visible</N>
            <DL>Visible</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>DefaultVisible</N>
            <DL>DefaultVisible</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>_AutoGroupData</N>
            <DL>_AutoGroupData</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>_AutoGroupDataNote</N>
            <S>1000</S>
            <DL>_AutoGroupDataNote</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ParamTab">ИНН</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КазнРС</V>
            <V N="FieldName">c.ACCOUNT%d</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Классификаторы</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">КодДокумента</V>
            <V N="FieldName">c.ID%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
          <R>
            <V N="ParamTab">КПП</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ЛицСчет</V>
            <V N="FieldName">ca.FACIALACC_CLS%d</V>
            <V N="DetailNumber">1</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">Организация</V>
            <V N="Visible">2</V>
            <V N="DefaultVisible">1</V>
          </R>
          <R>
            <V N="ParamTab">ОргСсылка</V>
            <V N="FieldName">c.ClientOrg%d</V>
            <V N="Required">1</V>
            <V N="DetailNumber">0</V>
            <V N="Visible">0</V>
            <V N="DefaultVisible">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="9925" type="3" name="version">36.042.410</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\События">
    <value type="7" name="Информация">включить "\библиотеки\LibRU.lib";
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\ReportTools.lib';
включить "project";

ИнформацияОПоляхИнтерфейса(Резерв: Объект);
переменные
  ф: ФормаВвода;
  сч : целое;
  ВспомКоллекция,Окружение : IVariables;
  Сетка: СеткаДанных;
  Данные : СтатическиеДанные;
  
 
функция СформироватьДанныеКолонок(Сетка: СеткаДанных) : IStaticSet;
переменные
  сч : целое;
  ТекущаяКолонка : IGridColumn;
  СтарыеОпции:целое;
  Editing,hidden,ClipboardCopy:целое;
начало
  Результат := СоздатьСтатическиеДанные;
  для Результат.ДобавитьСтроковоеПоле('Заголовок_колонки',50) делать
  начало
    .DefProps('DisplayWidth') := 30;
    .DisplayLabel := 'Заголовок колонки';
  конец;
  для Результат.ДобавитьСтроковоеПоле('Имя_поля',35) делать
  начало
    .DefProps('DisplayWidth') := 20;
    .DisplayLabel := 'Имя поля';
  конец;
  для Результат.ДобавитьСтроковоеПоле('Имя_колонки',35) делать
  начало
    .DefProps('DisplayWidth') := 20;
    .DisplayLabel := 'Имя колонки';
  конец;
  Результат.ДобавитьЦелоеПоле('Видимость');
  Результат.ДобавитьЦелоеПоле('Порядок');  
  Результат.ДобавитьЦелоеПоле('Неотображаемая');
  для Результат.ДобавитьЦелоеПоле('Изменяемая_с_интерфейса')делать
  начало
    .DisplayLabel := 'Изменяемая с интерфейса';
    .DefProps('DisplayWidth') := 10;
  конец;
  Результат.ДобавитьЦелоеПоле('Атрибут_ReadOnly').DisplayLabel := 'Атрибут ReadOnly';
  Результат.ДобавитьЦелоеПоле('Атрибут_Editing').DisplayLabel := 'Атрибут Editing';
  Результат.ДобавитьЦелоеПоле('ClipboardCopy').DisplayLabel := 'Копируется через Clipboard';
  Результат.ДобавитьЦелоеПоле('Стиль');
  Результат.ДобавитьЦелоеПоле('Уровень');
  для Результат.ДобавитьСтроковоеПоле('Значение',4000) делать
  начало
    .DefProps('DisplayWidth') := 30;
    .DisplayLabel := 'Значение тек. записи';
  конец;
  
  Результат.Открыть;
  если Сетка&lt;&gt;nil тогда
  от сч := 0 до Сетка.КоличествоКолонок - 1 
  делать начало
    ТекущаяКолонка := Сетка.Колонки(сч);
    если не (ТекущаяКолонка.ИмяПоля = "") тогда начало
      Результат.Append;
      Результат.ПолеПоИмени('Заголовок_колонки').КакСтрока := ТекущаяКолонка.Заголовок;
      Результат.ПолеПоИмени('Имя_колонки').КакСтрока := ТекущаяКолонка.Имя;
      Результат.ПолеПоИмени('Имя_поля').КакСтрока := ТекущаяКолонка.Field.FieldName;
      // порядок следования
      Результат.ПолеПоИмени('Порядок').КакЦелое := сч;
      //внутренняя (hidden)
      СтарыеОпции := ТекущаяКолонка.DefProps("Options");
      ТекущаяКолонка.DefProps("Options") := "-coHidden";
      hidden := не(Текущаяколонка.DefProps("Options")=СтарыеОпции);
      ТекущаяКолонка.DefProps("Options") := СтарыеОпции;
      Результат.ПолеПоИмени('Неотображаемая').КакЦелое := hidden;
      если hidden=1 тогда 
        Результат.ПолеПоИмени('Заголовок_колонки').КакСтрока := Результат.ПолеПоИмени('Заголовок_колонки').КакСтрока+ ' (НЕОТОБРАЖАЕМАЯ)'; 
      //видимость (Visible)    
      Если НЕ ТекущаяКолонка.Видима
        тогда Результат.ПолеПоИмени('Видимость').КакЦелое := 0
        иначе Результат.ПолеПоИмени('Видимость').КакЦелое := 1;
      // колонка только для чтения (ReadOnly) 
      если ТекущаяКолонка.ТолькоДляЧтения тогда
        Результат.ПолеПоИмени('Атрибут_ReadOnly').КакЦелое := 1
      иначе
        Результат.ПолеПоИмени('Атрибут_ReadOnly').КакЦелое := 0;  
      // возможность редактирования (Editing)
      СтарыеОпции := Текущаяколонка.DefProps("Options");
      Текущаяколонка.DefProps("Options") := "-coEditing";
      Editing := не(Текущаяколонка.DefProps("Options") = СтарыеОпции);
      Текущаяколонка.DefProps("Options") := СтарыеОпции;
      Результат.ПолеПоИмени('Атрибут_Editing').КакЦелое := Editing;
      // колонка копируется через Clipboard (при Copy/Paste)
      СтарыеОпции := ТекущаяКолонка.DefProps("Options");
      ТекущаяКолонка.DefProps("Options") := "-coNoPaste";
      ClipboardCopy := (ТекущаяКолонка.DefProps("Options") = СтарыеОпции);
      ТекущаяКолонка.DefProps("Options") := СтарыеОпции;
      если (ТекущаяКолонка.Поле &lt;&gt; nil) тогда
        ClipboardCopy := ClipboardCopy и не ТекущаяКолонка.Поле.DefProps("ReadOnly");
      Результат.ПолеПоИмени('ClipboardCopy').КакЦелое := ClipboardCopy;
      //стиль
      Результат.ПолеПоИмени('Стиль').КакЦелое := Текущаяколонка.DefProps("EditStyle");
      // вычисление изменяемости с интерфейса
      // для колонок с чеком 
      // даже с выключенным Editing чек можно менять, если ReadOnly=0
      если hidden или((не Editing или (ТекущаяКолонка.ТолькоДляЧтения и Текущаяколонка.DefProps("EditStyle")=0))
       и не ((не ТекущаяКолонка.ТолькоДляЧтения) и ((Текущаяколонка.DefProps("EditStyle")и 1) &lt;&gt;0))) тогда
        Результат.ПолеПоИмени('Изменяемая_с_интерфейса').КакЦелое :=0
      иначе   
        Результат.ПолеПоИмени('Изменяемая_с_интерфейса').КакЦелое := 1;
      // уровень
      Результат.ПолеПоИмени('Уровень').КакЦелое := Текущаяколонка.DefProps("Title.Level");
      попытка
        Результат.ПолеПоИмени('Значение').КакСтрока := '';
        Если ТекущаяКолонка.Grid.DataSet.Active тогда 
          Результат.ПолеПоИмени('Значение').КакСтрока := ТекущаяКолонка.Field.AsString;
      неудача
      конец;   
      Результат.Post;
    конец;
  конец;
  Результат.IndexFieldNames := 'Неотображаемая;Заголовок_Колонки';  
конец;

функция СформироватьЗначенияПолей(Сетка: СеткаДанных;  Данные : СтатическиеДанные) : СтатическиеДанные;
переменные
  Флаг: целое;
начало
  // берем либо выделенные, либо текущую запись
  Флаг := Сетка&lt;&gt; nil;
  Если Флаг тогда Флаг := Сетка.ЕстьВыделенныеСтроки;
  если флаг// в объекте Выделенные теперь находятся записи, выделенные в сетке данных заголовков 
    тогда Результат := Сетка.ПолучитьВыделенныеСтроки
    иначе начало
      // ничего не выделено, тогда занесем в выделенные текущую запись мастера
      Результат := СоздатьСтатическиеДанные; 
      Результат.ПрисвоитьПоля(Данные);
      Результат.Открыть;
      если Данные.ЧислоЗаписей&gt;0 тогда
        Результат.СкопироватьЗапись(0, Данные);
  конец;
конец;

функция ВывестиДанные(Коллекция : IVariables; ИмяПрефикс : Строка; Сетка: СеткаДанных;  Данные : СтатическиеДанные);
начало
  // в отдельном статиксете показываем информацию о колонках грида (имена колонок и полей, видимость и др.)
  Коллекция.Значение(ИмяПрефикс+ " ( Колонки)") := СформироватьДанныеКолонок(Сетка);
  если данные&lt;&gt;nil тогда
  начало 
    Если Данные.Active 
    тогда начало
      попытка
        // в отдельном статиксете показываем информацию о текущей записи соответствующего датасета
        Коллекция.Значение(ИмяПрефикс + " (Данные)") := СформироватьЗначенияПолей(Сетка, Данные);
        // показываем фильтр. В принципе информация о фильтре есть в просмотрщике данных (через "показать свойства")
        если Данные.Filter&lt;&gt;'' тогда
          Коллекция.Значение(ИмяПрефикс + " (Фильтр)") := Данные.Filter;
      неудача
      конец;
    конец; 
    если (Сетка&lt;&gt;nil) тогда
      если (Сетка.ReadOnly) тогда  
        Коллекция.Значение(ИмяПрефикс + " (грид ReadOnly)") := 'Да'; 
    если Данные.DefProps('ReadOnly') тогда
      Коллекция.Значение(ИмяПрефикс + " (данные ReadOnly)") := 'Да';
    // показываем информацию о запросах (Select,Insert,Update,Delete)
    // сначала покажем исходный запрос
    Коллекция.Значение(ИмяПрефикс + " (Запрос)") := Данные.Запрос;
    попытка
      // затем покажем подготовленные запросы, у которых выполнена подстановка параметров
      Коллекция.Значение(ИмяПрефикс + " (Подготовленный запрос  Select)") := Данные.PrepareSQL(swPumpData,0);
      // подготовленные запросы для Insert,Update,Delete следует показывать только для открытых датасетов, 
      // так как в них большинство подстановок идет с датасета
      Если Данные.Active тогда
        Коллекция.Значение(ИмяПрефикс + " (Подготовленный запрос Insert,Update,Delete)") := 
          Данные.PrepareSQL(swInsertData,0)+#13#10+
          Данные.PrepareSQL(swModifyData,0)+#13#10+
          Данные.PrepareSQL(swDeleteData,0);
    неудача
    конец;
    Коллекция.Значение("Параметры окружения") := Окружение;    
  конец;    
конец; 
  
НАЧАЛО
  ф := ПолучитьФормуВвода;
  ВспомКоллекция := CreateVariables;
  Окружение := Ф.ПеременныеОкружения;// получаем коллекцию с параметрами окружения интерфейса
  Сетка := ф.Заголовки.Сетка;
  Данные := ф.Заголовки.Таблица;
  ВывестиДанные(ВспомКоллекция, ' Заголовки', Сетка, Данные);
  если (данные.НайтиПоле('id',nil))и(данные.ЧислоЗаписей&gt;0) тогда
    ВспомКоллекция.Значение(" Заголовки. ID тек. записи ") := Данные.ПолеПоИмени("id").КакСтрока;
  // для каждой детали показываем поля и колонки
  от сч := 0 до ф.КоличествоДетализаций-1 
  делать начало
    Сетка := ф.Детализация(сч).Сетка;
    Данные:= ф.Детализация(сч).Таблица;
    ВывестиДанные(ВспомКоллекция, "Деталь" + ЦелоеВСтроку(сч+1), Сетка, Данные);
    если (данные.НайтиПоле('id',nil))и(данные.ЧислоЗаписей&gt;0) тогда
      ВспомКоллекция.Значение("Деталь" + ЦелоеВСтроку(сч+1)+". ID тек. записи ") := Данные.ПолеПоИмени("id").КакСтрока;
  конец;
  // показываем результат
  Показать(ВспомКоллекция);  
КОНЕЦ.
</value>
    <param value="Информация" type="3" name="version">36.042.410</param>
    <param value="Информация" type="3" name="crc32">$6C28FEB4</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\События">
    <value type="7" name="ИнформацияОСвязях">включить "\библиотеки\LibRU.lib";
включить "Project";

ИнформацияОСвязяхДокумента(Резерв: Объект);

переменные
  ф: ФормаВвода;
  ID, АктивнаяДетализация, КодОшибки, НомерСтраницыДокумента: целое;
  Таблица: СтатическиеДанные;
  Iblv: ВнешнийОбъект; 

функция ПолучитьКодСправочника(Детализация: целое): целое;
переменные
  Код: Целое;
начало
  Код := ПолучитьФормуВвода.ПараметрПользователя(1000);
  если (Код = тк_ВидыТрансфертов) и (Детализация = 0) тогда
  начало
    Сообщение("Для просмотра блокирующих связей перейдите в детализацию.");
    Выход;
  конец;
  Результат := СтрокаВЦелое(9800 + Код + '00');
конец;


// Функция возвращает номер страницы документа
функция ПолучитьНомерСтраницыДокумента(Детализация: целое): целое;
начало
  результат := 0;
  выбрать ПолучитьТекущийИнтерфейс.Идентификатор из
    "{88FA05A2-02A0-11D2-B26C-008048E689F8}": // Объект "Справочник классификаторов"
      результат := ПолучитьКодСправочника(Детализация); 
    "{61875F0C-17AA-44F1-80F0-B689371AFBDF}": // Объект "Справочник бюджетов"
      выбрать Детализация из
        0: результат := 987800;
      конец; 
    иначе
    начало
      результат := ПолучитьТекущийИнтерфейс.КодИнтерфейса * 100;
      если результат &lt;&gt; 0 тогда
        результат := результат + Детализация; 
      // Со всех интерфейсов ссылки идут на кэши справочников, а не на сами справочники
      выбрать результат из
        990300: результат := 960100; // стравочник организаций. Заголовки
        990301: результат := 960200; // справочник организаций. Р\счета
        990302: результат := 984100; // справочник организаций. л\счета

        991200: результат := 960400; // счета бюджета 
                992000: результат := 987100; // справочник операций
      конец;
    конец              
  конец     
конец;
  
начало
  ф := ПолучитьФормуВвода;
  КодОшибки := 0;
  Если ф.Заголовки.Таблица.Active тогда 
  начало 
    АктивнаяДетализация := ПолучитьТекущийИнтерфейс.АктивнаяДетализация;
    НомерСтраницыДокумента := ПолучитьНомерСтраницыДокумента(АктивнаяДетализация + 1);
    если НомерСтраницыДокумента &lt;&gt; 0 тогда
    начало
      если АктивнаяДетализация = -1 тогда
        Таблица := ф.Заголовки.Таблица
      иначе
        Таблица := ф.Детализация(АктивнаяДетализация).Таблица;
      если Таблица.НайтиПоле('id', nil) тогда
      начало
        если Таблица.ЧислоЗаписей&gt;0 тогда
          ID := Таблица.ПолеПоИмени("id").КакЦелое
        иначе
          КодОшибки := 2;  
      конец
      иначе
        КодОшибки := 3;
    конец
    иначе 
      КодОшибки := 3;
  конец
  иначе
    КодОшибки := 1;
  выбрать КодОшибки из
    1: Сообщение('Нажмите кнопку "Выполнить"!');
    2: Сообщение('Выберите документ!');
    3: Сообщение('Интерфейс не поддерживает показ блокирующих связей!');
    иначе 
    начало
      Iblv := CreateComObject("{7066F284-AE81-4C44-9ED5-54A8E573CBBB}");
      попытка
        СоединитьИнтерфейс(Iblv);
        Iblv.ShowBlockLinks(ID, НомерСтраницыДокумента);
      обязательно
        УдалитьОбъект(Iblv);
      конец;  
    конец;
  конец;
конец.
</value>
    <param value="ИнформацияОСвязях" type="3" name="version">36.042.410</param>
    <param value="ИнформацияОСвязях" type="3" name="crc32">$D8DC14D6</param>
  </node>
  <version_info>
    <file>Расходные пп.xml</file>
    <version>36.000.03</version>
    <info>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;ABL-макросы интерфейса "Расходные пп"&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:32</buildtime>
  </version_info>
  <description>АБЛ-макросы для перечисления на счета для наличности</description>
  <node path="%root%\Объекты\Интерфейсы\{4A94FF93-8318-11D3-A207-008048CA149C}">
    <value type="7" name="ПоддержкаПрикрепленныхФайлов.abl">включить "Project";
включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Variables.lib";
включить "\Библиотеки\LinkInfo2.lib";
включить "\Библиотеки\Reports.lib";

константы
  dcStateOrder          = 250100;
  dcAgreement           = 250200;
  dcExecDoc             = 250300;
  dcMunicipalStateOrder = 250400;
  dcPromise             = 160100;
  DataPacketDocCls      = 490200;

  ПутьКНастройкам = "Бюджет\Объекты\Интерфейсы\{4A94FF93-8318-11D3-A207-008048CA149C}\Настройки";
  // Путь к картинкам в реестре
  ПутьККартинкам = "Бюджет\Ресурсы\Наборы картинок\16на16";

функция ДобавитьКартинки;
переменные
  БуферОбменаКартинками : Буфер;
  НазванияКартинок      : Текст;
  ИндексКартинок        : целое;
  БазовыйИндексКартинок : строка;
  УзелСКартинками       : УзелРеестра;
  il                    : IImageList;
  НачальныйРазмер, сч   : целое;
начало
  БуферОбменаКартинками := СоздатьБуфер;
  НазванияКартинок := СоздатьТекст;
  попытка
    ИндексКартинок := -1;
    БазовыйИндексКартинок := "ПрикрепленныеФайлы_" + ПолучитьФормуВвода.Идентификатор;
    УзелСКартинками := Реестр.Узел(ПутьККартинкам);
    НазванияКартинок.Добавить("ПривязатьУД");
    il := ПолучитьОбъект('ILother');
    НачальныйРазмер := 0;
    от сч := 0 до НазванияКартинок.Количество - 1 делать
    начало
      УзелСКартинками.Значение(НазванияКартинок.Стр(сч)).СохранитьВБуфер(БуферОбменаКартинками);
      БуферОбменаКартинками.Позиция := НачальныйРазмер;
      НачальныйРазмер := БуферОбменаКартинками.Размер;
      если (сч = 0) тогда
        ИндексКартинок := il.AddMasked(БуферОбменаКартинками.Аdapter, 12632256)
      иначе
        il.AddMasked(БуферОбменаКартинками.Аdapter, 12632256);
    конец;
    // Заносим в глобальную коллекцию индекс первой добавленной картинки
    Values(БазовыйИндексКартинок) := ИндексКартинок;
  обязательно
    УдалитьОбъект(БуферОбменаКартинками, НазванияКартинок);
  конец;
конец;

функция ИндексКартинок: целое;
переменные
  БазовыйИндексКартинок: строка;
начало
  результат := -1;
  БазовыйИндексКартинок := "ПрикрепленныеФайлы_" + ПолучитьФормуВвода.Идентификатор;
  если CheckParam(БазовыйИндексКартинок) тогда
    результат := Values(БазовыйИндексКартинок);
конец;

функция ДобавитьПоляПФ;
переменные
  Мастер      : СтатическиеДанные;
  МастерСетка : СеткаДанных;
начало
  Мастер := ПолучитьФормуВвода.Заголовки.Таблица;
  МастерСетка := ПолучитьФормуВвода.Заголовки.Сетка;
  Мастер.Закрыть;
  Мастер.ДобавитьЦелоеПоле("_Have_Attachments");
  МастерСетка.ДобавитьКолонку("_Have_Attachments", "_Have_Attachments", "", Колонка_ИзображениеПоИндексу);
конец;

функция ПолучитьМаксимумПроставленияКартинок: целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := 5000;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение("МаксимумПроставленияКартинок").Существует тогда
    попытка
      результат := УзелСНастройками.Значение("МаксимумПроставленияКартинок").КакЦелое;
    неудача
    конец;
конец;

функция УстановитьМаксимумПроставленияКартинок(максимум: целое);
переменные
  УзелСНастройками: УзелРеестра;
начало
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  УзелСНастройками.Значение("МаксимумПроставленияКартинок").КакЦелое := максимум;
конец;

функция ПолучитьПоказыватьПрикрепленныеКДоговорам: целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := да;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДоговорам").Существует тогда
    попытка
      результат := УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДоговорам").КакЦелое;
    неудача
    конец;
конец;

функция УстановитьПоказыватьПрикрепленныеКДоговорам(флаг: целое);
переменные
  УзелСНастройками: УзелРеестра;
начало
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДоговорам").КакЦелое := флаг;
конец;

функция ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров: целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := да;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДокИсполненияДоговоров").Существует тогда
    попытка
      результат := УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДокИсполненияДоговоров").КакЦелое;
    неудача
    конец;
конец;

функция УстановитьПоказыватьПрикрепленныеКДокИсполненияДоговоров(флаг: целое);
переменные
  УзелСНастройками: УзелРеестра;
начало
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДокИсполненияДоговоров").КакЦелое := флаг;
конец;

функция ПолучитьПоказыватьПрикрепленныеКДокИсполненияПП: целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := да;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДокИсполненияПП").Существует тогда
    попытка
      результат := УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДокИсполненияПП").КакЦелое;
    неудача
    конец;
конец;

функция УстановитьПоказыватьПрикрепленныеКДокИсполненияПП(флаг: целое);
переменные
  УзелСНастройками: УзелРеестра;
начало
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  УзелСНастройками.Значение("ПоказыватьПрикрепленныеКДокИсполненияПП").КакЦелое := флаг;
конец;

функция ПолучитьПоказыватьПрикрепленныеКОбязательствам: целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := да;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение("ПоказыватьПрикрепленныеКОбязательствам").Существует тогда
    попытка
      результат := УзелСНастройками.Значение("ПоказыватьПрикрепленныеКОбязательствам").КакЦелое;
    неудача
    конец;
конец;

функция УстановитьПоказыватьПрикрепленныеКОбязательствам(флаг: целое);
переменные
  УзелСНастройками: УзелРеестра;
начало
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  УзелСНастройками.Значение("ПоказыватьПрикрепленныеКОбязательствам").КакЦелое := флаг;
конец;

функция ПолучитьПоказыватьСобственныеПрикрепления: целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := нет;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение("ПоказыватьСобственныеПрикрепления").Существует тогда
    попытка
      результат := УзелСНастройками.Значение("ПоказыватьСобственныеПрикрепления").КакЦелое;
    неудача
    конец;
конец;

функция УстановитьПоказыватьСобственныеПрикрепления(флаг: целое);
переменные
  УзелСНастройками: УзелРеестра;
начало
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  УзелСНастройками.Значение("ПоказыватьСобственныеПрикрепления").КакЦелое := флаг;
конец;

функция ПроверитьДокументыНаПрикрепленныеФайлы(ID: строка; Данные: СтатическиеДанные);
переменные
  НачалоЗапроса, КонецЗапроса: строка;
  СписокID: строка;
  ткст: Текст;
  сч, Осталось: целое;
  LinkInfo2: ILinkInfo2;
  ТипыСвязей: СтатическиеДанные;
  фильтр: IVariables;
  pltAgreement: строка;
  pltMunicipalStateOrder: строка;
  pltStateOrder: строка;
  pltExecDoc: строка;
  pltPromise: строка;
  ПромежуточныеДанные: СтатическиеДанные;
начало
  LinkInfo2 := CreateComObject(TLinkInfo2);
  попытка
    СоединитьИнтерфейс(LinkInfo2);
    попытка
      фильтр := CreateVariables;
      попытка
        фильтр.Значение("LinkKind") := 1;
        фильтр.Значение("ChildDocCls") := DataPacketDocCls;
        фильтр.Значение("ParentDocCls") := dcAgreement;
        ТипыСвязей := LinkInfo2.GetLinkTypes(фильтр);
        попытка
          pltAgreement := "";
          ТипыСвязей.ВНачало;
          пока не ТипыСвязей.ВКонце делать
          начало
            если (pltAgreement &lt;&gt; "") тогда
              pltAgreement := pltAgreement + ",";
            pltAgreement := pltAgreement + ЦелоеВСтроку(ТипыСвязей.ПолеПоИмени("ID").КакЦелое);
            ТипыСвязей.Следующая;
          конец;
          если (pltAgreement = "") тогда
            pltAgreement := "-1";
        обязательно
          УдалитьОбъект(ТипыСвязей);
        конец;
        фильтр.Значение("ParentDocCls") := dcMunicipalStateOrder;
        ТипыСвязей := LinkInfo2.GetLinkTypes(фильтр);
        попытка
          pltMunicipalStateOrder := "";
          ТипыСвязей.ВНачало;
          пока не ТипыСвязей.ВКонце делать
          начало
            если (pltMunicipalStateOrder &lt;&gt; "") тогда
              pltMunicipalStateOrder := pltMunicipalStateOrder + ",";
            pltMunicipalStateOrder := pltMunicipalStateOrder + ЦелоеВСтроку(ТипыСвязей.ПолеПоИмени("ID").КакЦелое);
            ТипыСвязей.Следующая;
          конец;
          если (pltMunicipalStateOrder = "") тогда
            pltMunicipalStateOrder := "-1";
        обязательно
          УдалитьОбъект(ТипыСвязей);
        конец;
        фильтр.Значение("ParentDocCls") := dcStateOrder;
        ТипыСвязей := LinkInfo2.GetLinkTypes(фильтр);
        попытка
          pltStateOrder := "";
          ТипыСвязей.ВНачало;
          пока не ТипыСвязей.ВКонце делать
          начало
            если (pltStateOrder &lt;&gt; "") тогда
              pltStateOrder := pltStateOrder + ",";
            pltStateOrder := pltStateOrder + ЦелоеВСтроку(ТипыСвязей.ПолеПоИмени("ID").КакЦелое);
            ТипыСвязей.Следующая;
          конец;
          если (pltStateOrder = "") тогда
            pltStateOrder := "-1";
        обязательно
          УдалитьОбъект(ТипыСвязей);
        конец;
        фильтр.Значение("ParentDocCls") := dcExecDoc;
        ТипыСвязей := LinkInfo2.GetLinkTypes(фильтр);
        попытка
          pltExecDoc := "";
          ТипыСвязей.ВНачало;
          пока не ТипыСвязей.ВКонце делать
          начало
            если (pltExecDoc &lt;&gt; "") тогда
              pltExecDoc := pltExecDoc + ",";
            pltExecDoc := pltExecDoc + ЦелоеВСтроку(ТипыСвязей.ПолеПоИмени("ID").КакЦелое);
            ТипыСвязей.Следующая;
          конец;
          если (pltExecDoc = "") тогда
            pltExecDoc := "-1";
        обязательно
          УдалитьОбъект(ТипыСвязей);
        конец;
        фильтр.Значение("ParentDocCls") := dcPromise;
        ТипыСвязей := LinkInfo2.GetLinkTypes(фильтр);
        попытка
          pltPromise := "";
          ТипыСвязей.ВНачало;
          пока не ТипыСвязей.ВКонце делать
          начало
            если (pltPromise &lt;&gt; "") тогда
              pltPromise := pltPromise + ",";
            pltPromise := pltPromise + ЦелоеВСтроку(ТипыСвязей.ПолеПоИмени("ID").КакЦелое);
            ТипыСвязей.Следующая;
          конец;
          если (pltPromise = "") тогда
            pltPromise := "-1";
        обязательно
          УдалитьОбъект(ТипыСвязей);
        конец;
      обязательно
        УдалитьОбъект(фильтр);
      конец;
    обязательно
      ЗакрытьИнтерфейс(LinkInfo2);
    конец;
  обязательно
    УдалитьОбъект(LinkInfo2);
  конец;

  //!!! Из за присоединения ExecutionDocumentsCaption возникнет размножение записей
  //!!! и поэтому в поле fnAgreementDocLinkFilesCount мы не получим точного количеста
  //!!! прикрепленных файлов,
  //!!! но в данном случае нам это барабану, поскольку по этому полю проверяется только
  //!!! факт наличия связи опеределенного типа, а она либо есть
  //!!! (AgreementDocLinkFilesCount &gt; 0), либо нет.

  // Начало запроса с выбираемыми полями
  НачалоЗапроса := '[PumpData]{select ffd.RecordIndex ID, 0';
  если ПолучитьПоказыватьПрикрепленныеКДоговорам тогда
    НачалоЗапроса := НачалоЗапроса + '+Count(lra.ID)+Count(lrs.ID)';
  если ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров или ПолучитьПоказыватьПрикрепленныеКДокИсполненияПП тогда
    НачалоЗапроса := НачалоЗапроса + '+Count(lred.ID)';
  если ПолучитьПоказыватьПрикрепленныеКОбязательствам тогда
    НачалоЗапроса := НачалоЗапроса + '+Count(lrpd.ID)';
  НачалоЗапроса := НачалоЗапроса + ' AgreementDocLinkFilesCount';

  //!!! sa.InnerNumber выбирается лишь для того чтобы обойти глюк Oracle
  если ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров тогда
    НачалоЗапроса := НачалоЗапроса + ', Max(sa.InnerNumber)';

  // JOIN обычных таблиц
  НачалоЗапроса := НачалоЗапроса + ' from FacialFinDetail ffd';
  если ПолучитьПоказыватьПрикрепленныеКДоговорам или ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров тогда
    НачалоЗапроса := НачалоЗапроса +
      ' left join PaymentSchedule spsl on ((spsl.InnerPromiseNum = ffd.SourceBudgetPromise) and (spsl.ANumber = ffd.SourcePromise))' +
      ' left join Agreements spa on ((spa.RejectCls is null) and (spa.ID = spsl.AgreementRef))' +
      ' left join Agreements sa on (sa.InnerNumber = spa.InnerNumber)' +
      ' left join Agreements sc on ((sc.RejectCls is null) and (sc.InnerNumber = sa.StateOrderRef) and ((sc.LastAdjustment = 1) or ((sc.AdjustmentNumber = 0) and (sc.Accepted = 0))))';
  если ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров или ПолучитьПоказыватьПрикрепленныеКДокИсполненияПП тогда
  начало
    НачалоЗапроса := НачалоЗапроса +
      ' left join ExecutionDocumentsCaption sedc on ((sedc.RejectCls is null) and ((1 &lt;&gt; 1)';
    если ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров тогда
      НачалоЗапроса := НачалоЗапроса + ' or (sedc.ID = spsl.ExecutionRef) or (sedc.AgreementInnerNumber = sa.InnerNumber)';
    если ПолучитьПоказыватьПрикрепленныеКДокИсполненияПП тогда
      НачалоЗапроса := НачалоЗапроса + ' or (sedc.ID = ffd.SourceExecDoc)';
    НачалоЗапроса := НачалоЗапроса + '))';
  конец;
  если ПолучитьПоказыватьПрикрепленныеКОбязательствам тогда
    НачалоЗапроса := НачалоЗапроса +
      ' left join Promise_Detail pd on (pd.RegistrNumber = ffd.SourcePromise)';

  // JOIN LinkRecords
  если ПолучитьПоказыватьПрикрепленныеКДоговорам тогда
    НачалоЗапроса := НачалоЗапроса +
      ' left join LinkRecords lra  on (lra.ParentID = sa.ID)' +
      ' left join LinkRecords lrs  on (lrs.ParentID = sc.ID)';
  если ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров или ПолучитьПоказыватьПрикрепленныеКДокИсполненияПП тогда
    НачалоЗапроса := НачалоЗапроса +
      ' left join LinkRecords lred on (lred.ParentID = sedc.ID)';
  если ПолучитьПоказыватьПрикрепленныеКОбязательствам тогда
    НачалоЗапроса := НачалоЗапроса +
      ' left join LinkRecords lrpd on (lrpd.ParentID = pd.Title_Ref)';

  // WHERE
  НачалоЗапроса := НачалоЗапроса + ' where ((1 &lt;&gt; 1)';
  если ПолучитьПоказыватьПрикрепленныеКДоговорам тогда
    НачалоЗапроса := НачалоЗапроса +
      ' or (lra.LinkTypeRef  in (' + pltAgreement + '))' +
      ' or (lra.LinkTypeRef  in (' + pltMunicipalStateOrder + '))' +
      ' or (lrs.LinkTypeRef  in (' + pltStateOrder + '))';
  если ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров или ПолучитьПоказыватьПрикрепленныеКДокИсполненияПП тогда
    НачалоЗапроса := НачалоЗапроса +
      ' or (lred.LinkTypeRef in (' + pltExecDoc + '))';
  если ПолучитьПоказыватьПрикрепленныеКОбязательствам тогда
    НачалоЗапроса := НачалоЗапроса +
      ' or (lrpd.LinkTypeRef in (' + pltPromise + '))';
  НачалоЗапроса := НачалоЗапроса + ')';

  // Конец запроса
  КонецЗапроса :=
    ' group by ffd.RecordIndex}';

  Данные.ДобавитьЦелоеПоле("ID");
  Данные.ДобавитьЦелоеПоле("AgreementDocLinkFilesCount");
  Данные.Открыть;
  ПромежуточныеДанные := СоздатьСтатическиеДанные;
  попытка
    ПромежуточныеДанные.ДобавитьЦелоеПоле("ID");
    ПромежуточныеДанные.ДобавитьЦелоеПоле("AgreementDocLinkFilesCount");
    ПромежуточныеДанные.СоединитьБД;
    ткст := СоздатьТекст;
    попытка
      ткст.РазделенноеЗначение := ID;
      СписокID := "";
      Осталось := 1000;
      от сч := 0 до ткст.Количество - 1 делать
      начало
        если (СписокID &lt;&gt; "") тогда
          СписокID := СписокID + ",";
        СписокID := СписокID + ткст.Стр(сч);
        Осталось := Осталось - 1;
        если (Осталось = 0) тогда
        начало
          ПромежуточныеДанные.Закрыть;
          ПромежуточныеДанные.Запрос :=
            НачалоЗапроса +
            " and (ffd.RecordIndex in (" + СписокID + "))" +
            КонецЗапроса;
          ПромежуточныеДанные.Открыть;
          Данные.PumpData(ПромежуточныеДанные, "");
          СписокID := "";
          Осталось := 1000;
        конец;
      конец;
      если (СписокID &lt;&gt; "") тогда
      начало
        ПромежуточныеДанные.Закрыть;
        ПромежуточныеДанные.Запрос :=
          НачалоЗапроса +
          " and (ffd.RecordIndex in (" + СписокID + "))" +
          КонецЗапроса;
        ПромежуточныеДанные.Открыть;
        Данные.PumpData(ПромежуточныеДанные, "");
      конец;
    обязательно
      УдалитьОбъект(ткст);
    конец;
  обязательно
    УдалитьОбъект(ПромежуточныеДанные);
  конец;
конец;

функция ПолучитьДокументыСПрикрепленнымиФайлами(ID: строка): строка;
переменные
  ОграничениеПоID: строка;
  СписокID: строка;
  ткст: Текст;
  сч, Осталось: целое;
  Данные: СтатическиеДанные;
  OwnID            : поле;
  AgreementSourceID: поле;
  ContractSourceID : поле;
  ExecDocSourceID  : поле;
  PromiseSourceID  : поле;
  Запрос: строка;
начало
  ОграничениеПоID := "";
  ткст := СоздатьТекст;
  попытка
    ткст.РазделенноеЗначение := ID;
    СписокID := "";
    Осталось := 100;
    от сч := 0 до ткст.Количество - 1 делать
    начало
      если (СписокID &lt;&gt; "") тогда
        СписокID := СписокID + ",";
      СписокID := СписокID + ткст.Стр(сч);
      Осталось := Осталось - 1;
      если (Осталось = 0) тогда
      начало
        если (ОграничениеПоID &lt;&gt; "") тогда
          ОграничениеПоID := ОграничениеПоID + " or ";
        ОграничениеПоID := ОграничениеПоID + "ffd.RecordIndex in (" + СписокID + ")";
        СписокID := "";
        Осталось := 100;
      конец;
    конец;
    если (СписокID &lt;&gt; "") тогда
    начало
      если (ОграничениеПоID &lt;&gt; "") тогда
        ОграничениеПоID := ОграничениеПоID + " or ";
      ОграничениеПоID := ОграничениеПоID + "ffd.RecordIndex in (" + СписокID + ")";
    конец;
  обязательно
    УдалитьОбъект(ткст);
  конец;
  если (ОграничениеПоID = "") тогда
    ОграничениеПоID := "0=1";
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;
    Запрос := '[PumpData]';

    если ПолучитьПоказыватьПрикрепленныеКДоговорам тогда
      Запрос := Запрос +
        '{select ffd.RecordIndex ID,' +
        ' sa.ID AgreementSourceID,' +
        ' sc.ID ContractSourceID,' +
        ' cast(null as Integer) ExecDocSourceID,' +
        ' cast(null as Integer) PromiseSourceID,' +
        ' cast(null as Integer) InnerNumber'
        ' from FacialFinDetail ffd' +
        ' left join PaymentSchedule spsl on ((spsl.InnerPromiseNum = ffd.SourceBudgetPromise) and (spsl.ANumber = ffd.SourcePromise))' +
        ' left join Agreements sap on ((sap.RejectCls is null) and (sap.ID = spsl.AgreementRef))' +
        ' left join Agreements sa on ((sa.RejectCls is null) and (sa.InnerNumber = sap.InnerNumber))' +  
        ' left join Agreements sc on ((sc.RejectCls is null) and (sc.InnerNumber = sa.StateOrderRef) and ((sc.LastAdjustment = 1) or ((sc.AdjustmentNumber = 0) and (sc.Accepted = 0))))' +
        ' where ('+ ОграничениеПоID +')}';

    если ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров или ПолучитьПоказыватьПрикрепленныеКДокИсполненияПП тогда
    начало
      Запрос := Запрос +
        '{select ffd.RecordIndex ID,' +
        ' cast(null as Integer) AgreementSourceID,' +
        ' cast(null as Integer) ContractSourceID,' +
        ' sedc.ID ExecDocSourceID,' +
        ' cast(null as Integer) PromiseSourceID,';
      //!!! sa.InnerNumber выбирается лишь для того чтобы обойти глюк Oracle
      если ПолучитьПоказыватьПрикрепленныеКДокИсполненияДоговоров тогда
      начало
        Запрос := Запрос +
          ' sa.InnerNumber' +
          ' from FacialFinDetail ffd' +
          ' left join PaymentSchedule spsl on ((spsl.InnerPromiseNum = ffd.SourceBudgetPromise) and (spsl.ANumber = ffd.SourcePromise))' +
          ' left join Agreements sa on ((sa.RejectCls is null) and (sa.ID = spsl.AgreementRef))' +                                              
          ' left join ExecutionDocumentsCaption sedc on ((sedc.RejectCls is null) and ((sedc.ID = spsl.ExecutionRef) or (sedc.AgreementInnerNumber = sa.InnerNumber)';
        если ПолучитьПоказыватьПрикрепленныеКДокИсполненияПП тогда
          Запрос := Запрос + ' or (sedc.ID = ffd.SourceExecDoc)))'
        иначе
          Запрос := Запрос + '))';
      конец
      иначе
        Запрос := Запрос +
          ' cast(null as Integer) InnerNumber' +
          ' from FacialFinDetail ffd' +
          ' left join ExecutionDocumentsCaption sedc on ((sedc.RejectCls is null) and (sedc.ID = ffd.SourceExecDoc))';
      Запрос := Запрос +
        ' where ('+ ОграничениеПоID +')}';
    конец;

    если ПолучитьПоказыватьПрикрепленныеКОбязательствам тогда
      Запрос := Запрос +
        '{select ffd.RecordIndex ID,' +
        ' cast(null as Integer) AgreementSourceID,' +
        ' cast(null as Integer) ContractSourceID,' +
        ' cast(null as Integer) ExecDocSourceID,' +
        ' pd.Title_Ref PromiseSourceID,' +
        ' cast(null as Integer) InnerNumber'
        ' from FacialFinDetail ffd' +
        ' left join Promise_Detail pd on (pd.RegistrNumber = ffd.SourcePromise)' +
        ' where ('+ ОграничениеПоID +')}';

    Данные.Запрос := Запрос;
    Данные.Открыть;
    результат := "";
    если (Данные.ЧислоЗаписей &gt; 0) тогда
    начало
      если ПолучитьПоказыватьСобственныеПрикрепления тогда
        OwnID := Данные.ПолеПоИмени("ID")
      иначе
        OwnID := nil;
      AgreementSourceID := Данные.ПолеПоИмени("AgreementSourceID");
      ContractSourceID := Данные.ПолеПоИмени("ContractSourceID");
      ExecDocSourceID := Данные.ПолеПоИмени("ExecDocSourceID");
      PromiseSourceID := Данные.ПолеПоИмени("PromiseSourceID");
      ткст := СоздатьТекст;
      попытка
        ткст.Сортированый := да;
        ткст.Дубликаты := нет;
        Данные.ВНачало;
        пока не Данные.ВКонце делать
        начало
          если (OwnID &lt;&gt; nil) тогда
            ткст.Добавить(ЦелоеВСтроку(OwnID.КакЦелое));
          если не AgreementSourceID.Пустое тогда
            ткст.Добавить(ЦелоеВСтроку(AgreementSourceID.КакЦелое));
          если не ContractSourceID.Пустое тогда
            ткст.Добавить(ЦелоеВСтроку(ContractSourceID.КакЦелое));
          если не ExecDocSourceID.Пустое тогда
            ткст.Добавить(ЦелоеВСтроку(ExecDocSourceID.КакЦелое));
          если не PromiseSourceID.Пустое тогда
            ткст.Добавить(ЦелоеВСтроку(PromiseSourceID.КакЦелое));
          Данные.Следующая;
        конец;
      результат := ткст.РазделенноеЗначение;
      обязательно
        УдалитьОбъект(ткст);
      конец;
    конец;
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

</value>
    <param value="ПоддержкаПрикрепленныхФайлов.abl" type="3" name="Export">GREKOVSV\grekovsv\16.05.2012 10:34:04</param>
    <param value="ПоддержкаПрикрепленныхФайлов.abl" type="3" name="version">36.000.03</param>
    <param value="ПоддержкаПрикрепленныхФайлов.abl" type="3" name="crc32">$210A0C30</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4A94FF93-8318-11D3-A207-008048CA149C}\Действия\КопироватьДокумент">
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\Библиотеки\LibRu.lib";            

константы 
  CoHidden = 7;
  
переменные
  ф: ФормаВвода;
  ДеталиЗаписи,
  Мастер, Деталь: СтатическиеДанные;
  Грид : СтатическиеДанные;
  ид : Строка;
  сч: целое;
  Скрытые, Свойства: строка;
начало
  ф := ПолучитьФормуВвода;
  если ф.АктивнаяДетализация = -1 тогда 
  начало // активна форма заголовков
    Мастер := ф.Заголовки.Таблица;
    если ф.ЕстьИзменения тогда 
      если Сообщение('Есть несохраненные данные. Сохранить?', Сообщение_Вопрос, Кнопка_Да+Кнопка_Нет) = Результат_Нет 
         тогда Выход 
         иначе ф.СохранитьИзменения; 
    если Мастер.ПолеПоИмени("ID").КакЦелое &lt;&gt; 0 тогда 
    начало 
      Грид:=ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки;
      Грид.ВНачало;        
      пока не Грид.Вконце делать   // Пока не все выделеные строки скопированы 
      Начало 
      ид:=Грид.ПолеПоИмени("ID").какСтрока;
      мастер.Локализовать("ID",ид,0);     //переходим на поле с нужной детализацией.       
      Деталь := ф.Детализация(0).Таблица; 
      ф.Детализация(0).Открыть;
      ДеталиЗаписи := СоздатьСтатическиеДанные;    
      попытка
        ДеталиЗаписи.ПрисвоитьПоля(Деталь);
        ДеталиЗаписи.Открыть;
        ДеталиЗаписи.Закачать(Деталь); 
        Грид.ПолеПоИмени("ACCEPTDATE").Очистить;
        Грид.ПолеПоИмени("REJECT_CLS").Очистить;
        Грид.ПолеПоИмени("REJECTCAUSE").Очистить;
        Грид.ПолеПоИмени("REESTR_REF").Очистить;       
        Грид.ПолеПоИмени("SENDERID").Очистить;
        Грид.ПолеПоИмени("SENDERRECORDID").Очистить;
        Мастер.СкопироватьЗапись(0,Грид,"ID");      
        Мастер.ПолеПоИмени("DOCNUMBER").Очистить;      //Чистим поля
        Мастер.ПолеПоИмени("DOCUMENTDATE").Очистить;
        Мастер.ПолеПоИмени("REESTRDATE").Очистить;
        Мастер.ПолеПоИмени("REESTRNUMBER").Очистить;
        Мастер.ПолеПоИмени("STATUS").Очистить;  //Чистим что бы не оставалась блокировка по реестру.
        Мастер.ПолеПоИмени("ACCEPTED").Очистить;
        скрытые := 'ID,RecordIndex';
        от сч := 0 до ф.Детализация(0).Сетка.ColumnsCount - 1 делать
        начало   
          Свойства := ф.Детализация(0).Сетка.Columns(сч).DefProps('Options');        
          если (Позиция(Свойства, CoHidden) &gt; 0 ) тогда
            Скрытые := скрытые + ',' +  ф.Детализация(0).Сетка.Columns(сч).ИмяПоля;
        конец;                              
        пока не ДеталиЗаписи.ВКонце делать начало
          Деталь.СкопироватьЗапись(0, ДеталиЗаписи, Скрытые);   // Копируем деталь 
          ДеталиЗаписи.Следующая;
        конец;            
      обязательно
        УдалитьОбъект(ДеталиЗаписи);     
      конец;
      ф.СохранитьИзменения; 
      Грид.Следующая;
     конец; 
    конец иначе Сообщение("Форма заголовков не активна");    
  конец иначе Сообщение("Форма заголовков не активна");    
конец.
</value>
    <param value="Код программы" type="3" name="version">36.000.03</param>
    <param value="Код программы" type="3" name="crc32">$E09C0ADE</param>
  </node>
  <version_info>
    <file>Утверждение ОФ.xml</file>
    <version>36.042.11</version>
    <info>&lt;p&gt;макросы стандартных кнопок интерфейса утверждения объемов финансирования&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:32</buildtime>
  </version_info>
  <description>АБЛ-макросы для утверждения ОФ</description>
  <node path="Бюджет\Объекты\Интерфейсы\{D8CE453A-C575-4833-83B7-7576A866D626}">
    <value type="3" name="Название">Утверждение ОФ</value>
    <param value="Название" type="3" name="version">36.042.11</param>
    <param value="Название" type="3" name="crc32">$E0203698</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{D8CE453A-C575-4833-83B7-7576A866D626}\Действия\ЗавершитьРедактирование">
    <value type="7" name="Код программы">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаФормВвода';

функция ПолучитьИДРеестра(ТипыРеестра : строка;ИдРеестра:целое;ДатаРеестра:целое;Бюджет:целое);
переменные
  Реестры : СтатическиеДанные;
  ТипыРеестров : текст;
начало
  Реестры := СоздатьСтатическиеДанные;
  попытка
    Реестры.СоединитьБД;
    Реестры.Запрос := "[PumpData] {select ffr.id, ffr.ReestrDate, ffr.ReestrNumber, ffr.ReestrTypeEx, ffr.BudgetRef from FacialFinReestr ffr " + 
      "where (ffr.REESTRTYPEEX in (@ReestrTypes))and(ffr.ReestrDate = @CurrentDate)and(ffr.BudgetRef = @Budget)}"+
      "[InsertData]{insert into FacialFinreestr(id,ReestrDate,ReestrNumber,ReestrTypeEx,BudgetRef) values(@id,@ReestrDate,@ReestrNumber,@ReestrTypeEx,@BudgetRef)}";
    Реестры.Параметр('ReestrTypes') := ТипыРеестра;
    Реестры.Параметр("CurrentDate") := ЦелоеВСтроку(ТекущийГод * 10000 + ТекущийМесяц * 100 + ТекущийДень);
    Реестры.Параметр("Budget") := Бюджет;
    Реестры.Открыть;
    
    если Реестры.RecordCount = 0 тогда
    начало
      ТипыРеестров := СоздатьТекст;
      попытка
        ТипыРеестров.РазделенноеЗначение := ТипыРеестра;
        Реестры.Insert;
        Реестры.ПолеПоИмени("id").КакЦелое := ГенерироватьЗначения("g_shared");
        Реестры.ПолеПоИмени("ReestrDate").КакДробное := ТекущийГод * 10000 + ТекущийМесяц * 100 + ТекущийДень;
        //За номер реестра берем месяц+число
        Реестры.ПолеПоИмени("ReestrNumber").КакСтрока := ФорматироватьКлассификатор(ТекущийМесяц * 100 + ТекущийДень, "0000");
        //Тип проставляем первый попавшийся
        Реестры.ПолеПоИмени("ReestrTypeEx").КакСтрока := ТипыРеестров.стр(0);
        Реестры.ПолеПоИмени("BudgetRef").КакЦелое := Бюджет;
        Реестры.Post;
        Реестры.ApplyUpdates;
      обязательно
        УдалитьОбъект(ТипыРеестров);
      конец;
    конец;
    //Берем первый попавшийся реестр
    ИдРеестра := Реестры.ПолеПоИмени("id").КакЦелое;
    ДатаРеестра := Реестры.ПолеПоИмени("ReestrDate").КакЦелое;      
  обязательно
    Удалитьобъект(Реестры);
  конец;
конец;

функция ПринятьРеестр(ИДРеестра, Принято : целое);
переменные 
  СуммаДеталей: дробное;
  СуммаЗаголовка: дробное;
  Ф: формаввода ;
  ВременныеДанные, Выделенные  : СтатическиеДанные;
начало
  Ф:=получитьФормуВвода;
  выделенные := ф.Заголовки.Таблица;
  ВременныеДанные := СоздатьСтатическиеДанные;
  ВременныеДанные.СоединитьБД;
  ВременныеДанные.Запрос := "[PumpData] {Select CREDIT from FacialFinCaption where id = "+Выделенные.ПолеПоИмени("ID").КакСтрока+"}";
  ВременныеДанные.Открыть;
  СуммаЗаголовка := ВременныеДанные.ПолеПоИмени("credit").КакДробное;
  ВременныеДанные.Очистить;
  ВременныеДанные := СоздатьСтатическиеДанные;
  ВременныеДанные.СоединитьБД;
  ВременныеДанные.Запрос := "[PumpData] {Select sum(CREDIT) Credit   from FacialFINDETAIL where recordindex = "+Выделенные.ПолеПоИмени("ID").КакСтрока+"}";
  ВременныеДанные.Открыть;
  СуммаДеталей := ВременныеДанные.ПолеПоИмени("Credit").КакДробное;
  если (мод(СуммаЗаголовка-СуммаДеталей)&lt;0.005) тогда   // Проверка равенства сумм по деталям сумме заголовка
    начало   
      ВыполнитьЗапрос("update FacialFinReestr set Accepted = " + ЦелоеВСтроку(Принято) + ", RVersion = -1 where id = " + ЦелоеВСтроку(ИДРеестра));
    конец
  иначе                                        
    ВызватьОшибку(" Сумма в заголовке не равна сумме сумм в детализациях ");
конец;

переменные                                                    
  Ф : ФормаВвода;
  Заголовок, Выделенные : СтатическиеДанные;
  ТипыРеестра,РезКонтр : строка;
  ИДРеестра,ДатаРеестра,ШарКонтроля : целое;
начало
  Ф := ПолучитьФормуВвода;
  Заголовок := Ф.Заголовки.Таблица;
  Выделенные := ПолучитьВыбранныеДанные(0);
  //Получить с интерфейса список доступных типов реестров    
  ТипыРеестра := Ф.ПараметрПользователя(1002);
  Если ТипыРеестра = "" тогда
    ВызватьОшибку("Не указан тип реестра");
  ОткрытьТранзакцию;
  попытка
    //Помещаем документы в реестр
    Выделенные.ВНачало;
    пока не Выделенные.ВКонце делать
    начало
          начало
            если Заголовок.Locate("id", МассивИз(Выделенные.ПолеПоИмени("id").КакЦелое), 0) тогда
              если не (Выделенные.ПолеПоИмени("Accepted").КакЦелое=0 и Выделенные.ПолеПоИмени("acceptDate").IsNull) тогда
                MsgBox("Повторное включение документа в принятый реестр недопустимо")
                иначе
                начало
                  // если сработала проверка по правам, то выводим ошибку и пропускаем запись. Сообщение выводится для КАЖДОЙ не прошедшей контроль записи
                  если (ПолучитьФормуВвода.БлокировкиСтолбца(ПолучитьФормуВвода.Заголовки.Сетка.ColumnByFieldName("REESTRNUMBER")) &lt;&gt; 0) тогда
                    MsgBox("Вы не имеете право включать документ в реестр, обратитесь к администратору")
                    иначе
                      начало
                        ПолучитьИДРеестра(ТипыРеестра,ИдРеестра,ДатаРеестра,Выделенные.ПолеПоИмени("BudgetRef").КакЦелое);
                        //Распринимаем реестр
                        ПринятьРеестр(ИДРеестра, 0);
                        Заголовок.Edit;
                        Заголовок.ПолеПоИмени("REESTR_REF").КакЦелое := ИДРеестра;
                        Заголовок.ПолеПоИмени("REESTRDate").КакЦелое := ДатаРеестра;
                        попытка  // если при посте происходит ошибка(например по бюджетному контролю), то просто пропускаем запись
                          Заголовок.Post;
                        неудача
                          РезКонтр:=Заголовок.ПолеПоИмени("ControlMessage").КакСтрока;  // сохраняем сообщение бюджетного контроля
                          ШарКонтроля:=Заголовок.ПолеПоИмени("ControlResult").КакЦелое;
                          Заголовок.Cancel;
                          Заголовок.ПолеПоИмени("ControlResult").КакЦелое:=ШарКонтроля;          // ставим шарик
                          Заголовок.ПолеПоИмени("ControlMessage").КакСтрока:=РезКонтр;  // возвращаем сообщение контроля
                          MsgBox(ПоследняяОшибка); 
                        конец;
                        //Опять принимаем реестр
                        ПринятьРеестр(ИДРеестра, 1);
                      конец; 
                конец;
          конец;   
      Выделенные.Следующая;
    конец;
    ф.СохранитьИзменения;
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    ВызватьОшибку(ПоследняяОшибка);
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="version">36.042.11</param>
    <param value="Код программы" type="3" name="crc32">$7C1282DC</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{D8CE453A-C575-4833-83B7-7576A866D626}\Действия\РазблокироватьДокумент">
    <value type="7" name="Код программы">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаФормВвода';
константы
БлокировкаПоПринятомуРеестру = 65536;
функция ПринятьРеестр(ИДРеестра : строка; Принято : целое);
начало
  если ИДРеестра &lt;&gt; '' тогда
    ВыполнитьЗапрос("update FacialFinReestr set Accepted = " + ЦелоеВСтроку(Принято) + ", RVersion = -1 where id in (" + ЦелоеВСтроку(ИДРеестра) + ")");
конец;

переменные
  Ф : ФормаВвода;
  Заголовок, Детализация, Выделенные : СтатическиеДанные;
  Грид : СеткаДанных;
  ИДДокументов, ИДРеестров : строка;
начало
  Ф := ПолучитьФормуВвода;
  Заголовок := Ф.Заголовки.Таблица;
  ф.Детализация.Открыть;
  Детализация:=ф.Детализация.Таблица;
  Детализация.ВНачало; 
  пока не Детализация.ВКонце делать 
  начало
    Если Детализация.ПолеПоИмени("CHILDBLOCKCOUNT").КакЦелое&gt;0 тогда ВызватьОшибку("Документ нельзя редактировать. По нему создан сводный документ");
    Детализация.Следующая;
  конец;
  Выделенные := ПолучитьВыбранныеДанные(0);
  выделенные.ВНачало;
  пока не Выделенные.ВКонце делать
  начало
    если Заголовок.Locate("id", МассивИз(Выделенные.ПолеПоИмени("id").КакЦелое), 0) тогда
      Если BitAnd(ПолучитьФормуВвода.БлокировкиСтолбца(ПолучитьФормуВвода.Заголовки.Сетка.ColumnByFieldName("REESTRNUMBER")),BitNot(БлокировкаПоПринятомуРеестру))&lt;&gt;0 тогда
        начало
          сообщение("Вы не имеете право редактировать документ, обратитесь к администратору");
          если выделенные.Фильтр='' тогда
            выделенные.Фильтр:="id &lt;&gt; "+Выделенные.ПолеПоИмени("id").КакСтрока
            иначе 
              выделенные.Фильтр:=выделенные.Фильтр+" or id &lt;&gt; "+Выделенные.ПолеПоИмени("id").КакСтрока;
          Выделенные.Filtered := да
        конец;    
    Выделенные.Следующая
  конец;
  ОткрытьТранзакцию;
  попытка
    ИДДокументов := GetLimitStr(Выделенные, "id");
    если не (ИДДокументов='') тогда
      начало
        Выделенные.Фильтр := "ACCEPTED=1";
        Выделенные.Filtered := да;
        ИДРеестров := GetLimitStr(Выделенные, "Reestr_Ref");
        Выделенные.Filtered := нет;
        Выделенные.Фильтр := "";
        //Распринимаем реестрS
        ПринятьРеестр(ИДРеестров, 0);    
        //Исключаем документы из реестра
        ВыполнитьЗапрос("update FacialFinCaption set Reestr_ref = null, RVersion = -1 where id in (" + ИДДокументов + ")");
        //Опять принимаем реестр     
        ПринятьРеестр(ИДРеестров, 1);    
        ЗакрытьТранзакцию;
      конец;
  неудача
    ОтменитьТранзакцию;
    MsgBox(ПоследняяОшибка);
  конец;
  //Обновление выделенных записей
  Грид := Ф.Заголовки.Сетка;
  Грид.BeginUpdate;
  Заголовок.BeginUpdate;
  попытка
    Выделенные.ВНачало;
    пока не Выделенные.ВКонце делать
    начало
      если Заголовок.Locate("id", МассивИз(Выделенные.ПолеПоИмени("id").КакЦелое), 0) тогда
        Заголовок.RefreshRecord(да);
      Выделенные.Следующая;
    конец;
  обязательно
    Грид.EndUpdate;
    Заголовок.EndUpdate;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="version">36.042.11</param>
    <param value="Код программы" type="3" name="crc32">$901323B5</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{D8CE453A-C575-4833-83B7-7576A866D626}\Панели\Стандартная\ЗавершитьРедактирование">
    <value type="3" name="Действие">ЗавершитьРедактирование</value>
    <value type="3" name="Картинка">Галочка</value>
    <value type="3" name="Хинт">Завершить редактирование документа</value>
    <param value="Действие" type="3" name="version">36.042.11</param>
    <param value="Действие" type="3" name="crc32">$83205B63</param>
    <param value="Картинка" type="3" name="version">36.042.11</param>
    <param value="Картинка" type="3" name="crc32">$3605C21A</param>
    <param value="Хинт" type="3" name="version">36.042.11</param>
    <param value="Хинт" type="3" name="crc32">$08501598</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{D8CE453A-C575-4833-83B7-7576A866D626}\Панели\Стандартная\РазблокировкаДокумента">
    <value type="3" name="Действие">РазблокироватьДокумент</value>
    <value type="3" name="Картинка">Редактировать</value>
    <value type="3" name="Хинт">Редактировать документ</value>
    <param value="Действие" type="3" name="version">36.042.11</param>
    <param value="Действие" type="3" name="crc32">$D45D1A0A</param>
    <param value="Картинка" type="3" name="version">36.042.11</param>
    <param value="Картинка" type="3" name="crc32">$3EA24F44</param>
    <param value="Хинт" type="3" name="version">36.042.11</param>
    <param value="Хинт" type="3" name="crc32">$78DBB291</param>
  </node>
  <version_info>
    <file>Распределение ОФ.xml</file>
    <version>36.042.10</version>
    <info>&lt;p&gt;макросы стандартных кнопок интерфейса распределения объемов финансирования&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:33</buildtime>
  </version_info>
  <description>АБЛ-макросы для распределения ОФ</description>
  <node path="Бюджет\Объекты\Интерфейсы\{1ADE4AB5-2426-40B0-B442-D5A401E1BE9E}">
    <value type="3" name="Название">Распределение ОФ</value>
    <param value="Название" type="3" name="version">36.042.10</param>
    <param value="Название" type="3" name="crc32">$89D7A019</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{1ADE4AB5-2426-40B0-B442-D5A401E1BE9E}\Действия\ЗавершитьРедактирование">
    <value type="7" name="Код программы">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаФормВвода';

функция ПолучитьИДРеестра(ТипыРеестра : строка;ИдРеестра:целое;ДатаРеестра:целое);
переменные
  Реестры : СтатическиеДанные;
  ТипыРеестров : текст;
начало
  Реестры := СоздатьСтатическиеДанные;
  попытка
    Реестры.СоединитьБД;
    Реестры.Запрос := "[PumpData] {select ffr.id, ffr.ReestrDate, ffr.ReestrNumber, ffr.ReestrTypeEx from FacialFinReestr ffr " + 
      "where (ffr.REESTRTYPEEX in (@ReestrTypes))and(ffr.ReestrDate = @CurrentDate)}"+
      "[InsertData]{insert into FacialFinreestr(id,ReestrDate,ReestrNumber,ReestrTypeEx) values(@id,@ReestrDate,@ReestrNumber,@ReestrTypeEx)}";
    Реестры.Параметр('ReestrTypes') := ТипыРеестра;
    Реестры.Параметр("CurrentDate") := ЦелоеВСтроку(ТекущийГод * 10000 + ТекущийМесяц * 100 + ТекущийДень);
    Реестры.Открыть;
    если Реестры.RecordCount = 0 тогда
    начало
      ТипыРеестров := СоздатьТекст;
      попытка
        ТипыРеестров.РазделенноеЗначение := ТипыРеестра;
        Реестры.Insert;
        Реестры.ПолеПоИмени("id").КакЦелое := ГенерироватьЗначения("g_shared");
        Реестры.ПолеПоИмени("ReestrDate").КакДробное := ТекущийГод * 10000 + ТекущийМесяц * 100 + ТекущийДень;
        //За номер реестра берем месяц+число
        Реестры.ПолеПоИмени("ReestrNumber").КакСтрока := ФорматироватьКлассификатор(ТекущийМесяц * 100 + ТекущийДень, "0000");
        //Тип проставляем первый попавшийся
        Реестры.ПолеПоИмени("ReestrTypeEx").КакСтрока := ТипыРеестров.стр(0);
        Реестры.Post;
        Реестры.ApplyUpdates;
      обязательно
        УдалитьОбъект(ТипыРеестров);
      конец;
    конец;
    //Берем первый попавшийся реестр
    ИдРеестра := Реестры.ПолеПоИмени("id").КакЦелое;
    ДатаРеестра := Реестры.ПолеПоИмени("ReestrDate").КакЦелое;      
  обязательно
    Удалитьобъект(Реестры);
  конец;
конец;

функция  ПроверкаСуммПоДетализациям;
переменные 
  СуммаДеталей: дробное;
  СуммаЗаголовка: дробное;
  Ф: формаввода ;
  ВременныеДанные, Выделенные  : СтатическиеДанные;
начало
  Ф:=получитьФормуВвода;
  выделенные := ф.Заголовки.Таблица;
  ВременныеДанные := СоздатьСтатическиеДанные;
  ВременныеДанные.СоединитьБД;
  ВременныеДанные.Запрос := "[PumpData] {Select CREDIT from FacialFinCaption where id = "+Выделенные.ПолеПоИмени("ID").КакСтрока+"}";
  ВременныеДанные.Открыть;
  СуммаЗаголовка := ВременныеДанные.ПолеПоИмени("credit").КакДробное;
  ВременныеДанные.Очистить;
  ВременныеДанные := СоздатьСтатическиеДанные;
  ВременныеДанные.СоединитьБД;
  ВременныеДанные.Запрос := "[PumpData] {Select sum(CREDIT) Credit   from FacialFINDETAIL where recordindex = "+Выделенные.ПолеПоИмени("ID").КакСтрока+"}";
  ВременныеДанные.Открыть;
  СуммаДеталей := ВременныеДанные.ПолеПоИмени("Credit").КакДробное;
  если не (мод(СуммаЗаголовка-СуммаДеталей)&lt;0.005) тогда   // Проверка равенства сумм по деталям сумме заголовка
    ВызватьОшибку(" Сумма в заголовке не равна сумме сумм в детализациях ");
конец;

функция ПринятьРеестр(ИДРеестра, Принято : целое);
начало
  ВыполнитьЗапрос("update FacialFinReestr set Accepted = " + ЦелоеВСтроку(Принято) + ", RVersion = -1 where id = " + ЦелоеВСтроку(ИДРеестра));
конец;

переменные
  Ф : ФормаВвода;
  Заголовок, Выделенные : СтатическиеДанные;
  ТипыРеестра, РезКонтр : строка;
  ИДРеестра,ДатаРеестра, ШарКонтроля : целое;
начало
  Ф := ПолучитьФормуВвода;
  Заголовок := Ф.Заголовки.Таблица;
  //Получить с интерфейса список доступных типов реестров    
  ТипыРеестра := Ф.ПараметрПользователя(1002);
  Если ТипыРеестра = "" тогда
    ВызватьОшибку("Не указан тип реестра");
  Выделенные := ПолучитьВыбранныеДанные(0);  
  ПолучитьИДРеестра(ТипыРеестра,ИдРеестра,ДатаРеестра);
  ОткрытьТранзакцию;
  попытка
    //Распринимаем реестр
    ПринятьРеестр(ИДРеестра, 0);
    //Помещаем документы в реестр
    Выделенные.ВНачало;
    пока не Выделенные.ВКонце делать
    начало
      // проверяем, а не включили ли мы ранее данную запись в реестр
      если не (Выделенные.ПолеПоИмени("Accepted").КакЦелое=0 и Выделенные.ПолеПоИмени("acceptDate").IsNull) тогда
        MsgBox("Повторное включение документа в принятый реестр недопустимо")
        иначе
        начало    
            начало
              если Заголовок.Locate("id", МассивИз(Выделенные.ПолеПоИмени("id").КакЦелое), 0) тогда
              // проверяем есть ли право включать документ в реестр у пользователя
              если (ПолучитьФормуВвода.БлокировкиСтолбца(ПолучитьФормуВвода.Заголовки.Сетка.ColumnByFieldName("REESTRNUMBER")) &lt;&gt; 0) тогда
               MsgBox("Вы не имеете право включать документ в реестр, обратитесь к администратору")
              иначе
                попытка
                  ПроверкаСуммПоДетализациям;
                  начало
                    Заголовок.Edit;
                    Заголовок.ПолеПоИмени("REESTR_REF").КакЦелое := ИДРеестра;
                    Заголовок.ПолеПоИмени("REESTRDate").КакЦелое := ДатаРеестра;
                    попытка  // если при посте происходит ошибка(например по бюджетному контролю), то просто пропускаем запись
                      Заголовок.Post;
                    неудача
                      РезКонтр:=Заголовок.ПолеПоИмени("ControlMessage").КакСтрока;  // сохраняем сообщение бюджетного контроля
                      ШарКонтроля:=Заголовок.ПолеПоИмени("ControlResult").КакЦелое;
                      Заголовок.Cancel;
                      Заголовок.ПолеПоИмени("ControlResult").КакЦелое:=ШарКонтроля;          // ставим шарик
                      Заголовок.ПолеПоИмени("ControlMessage").КакСтрока:=РезКонтр;  // возвращаем сообщение контроля
                      MsgBox(ПоследняяОшибка); 
                    конец;        
                  конец;
                неудача
                  MsgBox(ПоследняяОшибка); 
                конец;     
            конец;
        конец;
      Выделенные.Следующая;
    конец;
    //Опять принимаем реестр     
    ПринятьРеестр(ИДРеестра, 1);
    ф.СохранитьИзменения;    
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    ВызватьОшибку(ПоследняяОшибка);
  конец;  
конец.
</value>
    <param value="Код программы" type="3" name="version">36.042.10</param>
    <param value="Код программы" type="3" name="crc32">$BAEFF20F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{1ADE4AB5-2426-40B0-B442-D5A401E1BE9E}\Действия\РазблокироватьДокумент">
    <value type="7" name="Код программы">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаФормВвода';
константы
БлокировкаПоПринятомуРеестру = 65536;
функция ПринятьРеестр(ИДРеестра : строка; Принято : целое);
начало
  если ИДРеестра &lt;&gt; '' тогда
    ВыполнитьЗапрос("update FacialFinReestr set Accepted = " + ЦелоеВСтроку(Принято) + ", RVersion = -1 where id in (" + ЦелоеВСтроку(ИДРеестра) + ")");
конец;

переменные
  Ф : ФормаВвода;
  Заголовок, Детализация, Выделенные : СтатическиеДанные;
  Грид : СеткаДанных;
  ИДДокументов, ИДРеестров : строка;
начало
  Если BitAnd(ПолучитьФормуВвода.БлокировкиСтолбца(ПолучитьФормуВвода.Заголовки.Сетка.ColumnByFieldName("REESTRNUMBER")),BitNot(БлокировкаПоПринятомуРеестру))&lt;&gt;0 тогда 
    ВызватьОшибку("Вы не имеете право редактировать документ, обратитесь к администратору"); 
  Ф := ПолучитьФормуВвода;
  Заголовок := Ф.Заголовки.Таблица;
  ф.Детализация.Открыть;
  Детализация:=ф.Детализация.Таблица;
  Детализация.ВНачало; 
  пока не Детализация.ВКонце делать 
  начало
    Если Детализация.ПолеПоИмени("CHILDBLOCKCOUNT").КакЦелое&gt;0 тогда ВызватьОшибку("Документ нельзя редактировать. По нему создан сводный документ");
    Детализация.Следующая;
  конец;
  Выделенные := ПолучитьВыбранныеДанные(0);  
  ОткрытьТранзакцию;
  попытка
    ИДДокументов := GetLimitStr(Выделенные, "id");
    Выделенные.Фильтр := "ACCEPTED=1";
    Выделенные.Filtered := да;
    ИДРеестров := GetLimitStr(Выделенные, "Reestr_Ref");
    Выделенные.Filtered := нет;
    Выделенные.Фильтр := "";
    //Распринимаем реестрS
    ПринятьРеестр(ИДРеестров, 0);    
    //Исключаем документы из реестра
    ВыполнитьЗапрос("update FacialFinCaption set Reestr_ref = null, RVersion = -1 where id in (" + ИДДокументов + ")");
    //Опять принимаем реестр     
    ПринятьРеестр(ИДРеестров, 1);    
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    MsgBox(ПоследняяОшибка);
  конец;
  //Обновление выделенных записей
  Грид := Ф.Заголовки.Сетка;
  Грид.BeginUpdate;
  Заголовок.BeginUpdate;
  попытка
    Выделенные.ВНачало;
    пока не Выделенные.ВКонце делать
    начало
      если Заголовок.Locate("id", МассивИз(Выделенные.ПолеПоИмени("id").КакЦелое), 0) тогда
        Заголовок.RefreshRecord(да);
      Выделенные.Следующая;
    конец;
  обязательно
    Грид.EndUpdate;
    Заголовок.EndUpdate;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="version">36.042.10</param>
    <param value="Код программы" type="3" name="crc32">$1DA436CA</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{1ADE4AB5-2426-40B0-B442-D5A401E1BE9E}\Панели\Стандартная\ЗавершитьРедактирование">
    <value type="3" name="Действие">ЗавершитьРедактирование</value>
    <value type="3" name="Картинка">Галочка</value>
    <value type="3" name="Хинт">Завершить редактирование документа</value>
    <param value="Действие" type="3" name="version">36.042.10</param>
    <param value="Действие" type="3" name="crc32">$83205B63</param>
    <param value="Картинка" type="3" name="version">36.042.10</param>
    <param value="Картинка" type="3" name="crc32">$3605C21A</param>
    <param value="Хинт" type="3" name="version">36.042.10</param>
    <param value="Хинт" type="3" name="crc32">$08501598</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{1ADE4AB5-2426-40B0-B442-D5A401E1BE9E}\Панели\Стандартная\РазблокировкаДокумента">
    <value type="3" name="Действие">РазблокироватьДокумент</value>
    <value type="3" name="Картинка">Редактировать</value>
    <value type="3" name="Хинт">Редактировать документ</value>
    <param value="Действие" type="3" name="version">36.042.10</param>
    <param value="Действие" type="3" name="crc32">$D45D1A0A</param>
    <param value="Картинка" type="3" name="version">36.042.10</param>
    <param value="Картинка" type="3" name="crc32">$3EA24F44</param>
    <param value="Хинт" type="3" name="version">36.042.10</param>
    <param value="Хинт" type="3" name="crc32">$78DBB291</param>
  </node>
  <version_info>
    <file>Кредиты.xml</file>
    <version>34.095.RP.042</version>
    <info>Макросы по кредитам</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:34</buildtime>
  </version_info>
  <description>АБЛ-макросы для кредитов</description>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}">
    <value type="3" name="Название">Кредиты, полученные от кредитных организаций</value>
    <param value="Название" type="3" name="version">34.095.RP.042</param>
    <param value="Название" type="3" name="crc32">$794BFF1A</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\События">
    <value type="3" name="НаОперациюРасчетПроцентов">РасчетПроцентов</value>
    <value type="3" name="НаОперациюСТаблицей">НаОперациюСТаблицей</value>
    <value type="3" name="НаУстановкуПолей">КонтрольПолей</value>
    <param value="НаОперациюРасчетПроцентов" type="3" name="version">34.095.RP.042</param>
    <param value="НаОперациюРасчетПроцентов" type="3" name="crc32">$8EAF74D1</param>
    <param value="НаОперациюСТаблицей" type="3" name="version">34.095.RP.042</param>
    <param value="НаОперациюСТаблицей" type="3" name="crc32">$BAF74171</param>
    <param value="НаУстановкуПолей" type="3" name="version">34.095.RP.042</param>
    <param value="НаУстановкуПолей" type="3" name="crc32">$1FD2441B</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Панели">
    <node path="Разное">
      <value type="3" name="Набор картинок">16на16</value>
      <node path="Формирование">
        <value type="3" name="Действие">Формирование</value>
        <value type="3" name="Выпадающее меню">МенюФормирования</value>
        <value type="3" name="Картинка">Субпериоды</value>
        <value type="3" name="Стиль">Меню</value>
        <value type="3" name="Хинт">Формирование...</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$9D24FFCC</param>
        <param value="Выпадающее меню" type="3" name="version">34.095.RP.042</param>
        <param value="Выпадающее меню" type="3" name="crc32">$D2F58010</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$0B4DBB44</param>
        <param value="Стиль" type="3" name="version">34.095.RP.042</param>
        <param value="Стиль" type="3" name="crc32">$2267114F</param>
        <param value="Хинт" type="3" name="version">34.095.RP.042</param>
        <param value="Хинт" type="3" name="crc32">$D2901913</param>
      </node>
      <node path="Расчет">
        <value type="3" name="Действие">Расчет</value>
        <value type="3" name="Выпадающее меню">МенюРасчета</value>
        <value type="3" name="Картинка">Сумма</value>
        <value type="3" name="Стиль">Меню</value>
        <value type="3" name="Хинт">Расчет...</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$C4015BFE</param>
        <param value="Выпадающее меню" type="3" name="version">34.095.RP.042</param>
        <param value="Выпадающее меню" type="3" name="crc32">$A12B247E</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$D27F98FC</param>
        <param value="Стиль" type="3" name="version">34.095.RP.042</param>
        <param value="Стиль" type="3" name="crc32">$2267114F</param>
        <param value="Хинт" type="3" name="version">34.095.RP.042</param>
        <param value="Хинт" type="3" name="crc32">$7410851E</param>
      </node>
      <node path="КнопкаПоиск">
        <value type="3" name="Действие">Поиск</value>
        <value type="3" name="Картинка">Поиск</value>
        <value type="3" name="Хинт">Поиск по фрагменту названия, номера, примечания</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$B76C1383</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$B76C1383</param>
        <param value="Хинт" type="3" name="version">34.095.RP.042</param>
        <param value="Хинт" type="3" name="crc32">$534C2363</param>
      </node>
      <node path="КнопкаДобавитьПогашение">
        <value type="3" name="Действие">ДобавлениеПогашения</value>
        <value type="3" name="Картинка">Индекс</value>
        <value type="3" name="Хинт">Ежедневное погашение основной задолжности</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$DEC584BE</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$B5E0827F</param>
        <param value="Хинт" type="3" name="version">34.095.RP.042</param>
        <param value="Хинт" type="3" name="crc32">$23CCED5A</param>
      </node>
      <node path="КнопкаПеренос%">
        <value type="3" name="Действие">ФормированиеУплатыПоНачислению</value>
        <value type="3" name="Картинка">Синхронизация</value>
        <value type="3" name="Хинт">Перенести проценты на закладку "Уплата %"</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$94859DCE</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$FE807E85</param>
        <param value="Хинт" type="3" name="version">34.095.RP.042</param>
        <param value="Хинт" type="3" name="crc32">$2A336F7D</param>
      </node>
      <node path="КнопкаПересчетВалюты">
        <value type="3" name="Выпадающее меню">МенюВалюты</value>
        <value type="3" name="Действие">ПересчетВалюты</value>
        <value type="3" name="Картинка">ПересчетВалюты</value>
        <value type="3" name="Стиль">Меню</value>
        <value type="3" name="Хинт">Пересчёт валютных сумм в рублёвые</value>
        <param value="Выпадающее меню" type="3" name="version">34.095.RP.042</param>
        <param value="Выпадающее меню" type="3" name="crc32">$F8831397</param>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$C6FA0067</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$C6FA0067</param>
        <param value="Стиль" type="3" name="version">34.095.RP.042</param>
        <param value="Стиль" type="3" name="crc32">$2267114F</param>
        <param value="Хинт" type="3" name="version">34.095.RP.042</param>
        <param value="Хинт" type="3" name="crc32">$DFF461D5</param>
      </node>
      <node path="ПереносДокумента">
        <value type="3" name="Действие">ПереносДокумента</value>
        <value type="3" name="Картинка">ЭкспортНевыясненных</value>
        <value type="3" name="Хинт">Перенос документа в другой договор по этой организации</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$29924483</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$4648654B</param>
        <param value="Хинт" type="3" name="version">34.095.RP.042</param>
        <param value="Хинт" type="3" name="crc32">$AE8199A7</param>
      </node>
      <param value="Набор картинок" type="3" name="version">34.095.RP.042</param>
      <param value="Набор картинок" type="3" name="crc32">$65574240</param>
    </node>
  </node>
  <node path="Бюджет\Объекты\Настройки\Кредиты">
    <node path="Параметры">
      <value type="1" flags="1" name="Бух. операция начисления пени по осн. долгу">99999</value>
      <value type="1" flags="1" name="Бух. операция начисления пени по процентам">99999</value>
      <value type="1" flags="1" name="Бух. операция начисления процентов">99999</value>
      <value type="4" flags="1" name="Дата уплаты = Дата конца периода">0</value>
      <value type="4" flags="1" name="Закачивать пустые договора">0</value>
      <value type="4" flags="1" name="Использовать график погашения">1</value>
      <value type="4" flags="1" name="Использовать график уплаты %">0</value>
      <value type="3" flags="1" name="Коды нач. пени по начисл. процентам">113</value>
      <value type="3" flags="1" name="Коды нач. пени по основн. долгу">113</value>
      <value type="3" flags="1" name="Коды начисления процентов">112</value>
      <value type="4" flags="1" name="Контроль вида заимствования">1</value>
      <value type="1" flags="1" name="Контроль проводки в детализациях">2</value>
      <value type="4" flags="1" name="Пересчет валюты в принятых">0</value>
      <value type="4" flags="1" name="Периоды пени подробно">1</value>
      <value type="4" flags="1" name="Периоды подробно">1</value>
      <value type="4" flags="1" name="По дате учета">0</value>
      <value type="4" flags="1" name="Разрешить смену организации в заголовке">0</value>
      <value type="1" flags="1" name="Синхронизировать классификаторы с заголовком">0</value>
      <value type="4" flags="1" name="СПланом">0</value>
      <value type="4" flags="1" name="Уникальный номер для организации">1</value>
      <value type="4" flags="1" name="Уникальный номер за день">0</value>
      <value type="1" flags="1" name="Ценные бумаги">0</value>
      <param value="Бух. операция начисления пени по осн. долгу" type="3" name="version">34.095.RP.042</param>
      <param value="Бух. операция начисления пени по процентам" type="3" name="version">34.095.RP.042</param>
      <param value="Бух. операция начисления процентов" type="3" name="version">34.095.RP.042</param>
      <param value="Дата уплаты = Дата конца периода" type="3" name="version">34.095.RP.042</param>
      <param value="Закачивать пустые договора" type="3" name="version">34.095.RP.042</param>
      <param value="Использовать график погашения" type="3" name="version">34.095.RP.042</param>
      <param value="Использовать график уплаты %" type="3" name="version">34.095.RP.042</param>
      <param value="Коды нач. пени по начисл. процентам" type="3" name="version">34.095.RP.042</param>
      <param value="Коды нач. пени по начисл. процентам" type="3" name="crc32">$5C24E903</param>
      <param value="Коды нач. пени по основн. долгу" type="3" name="version">34.095.RP.042</param>
      <param value="Коды нач. пени по основн. долгу" type="3" name="crc32">$5C24E903</param>
      <param value="Коды начисления процентов" type="3" name="version">34.095.RP.042</param>
      <param value="Коды начисления процентов" type="3" name="crc32">$2B23D995</param>
      <param value="Контроль вида заимствования" type="3" name="version">34.095.RP.042</param>
      <param value="Контроль проводки в детализациях" type="3" name="version">34.095.RP.042</param>
      <param value="Пересчет валюты в принятых" type="3" name="version">34.095.RP.042</param>
      <param value="Периоды пени подробно" type="3" name="version">34.095.RP.042</param>
      <param value="Периоды подробно" type="3" name="version">34.095.RP.042</param>
      <param value="По дате учета" type="3" name="version">34.095.RP.042</param>
      <param value="Разрешить смену организации в заголовке" type="3" name="version">34.095.RP.042</param>
      <param value="Синхронизировать классификаторы с заголовком" type="3" name="version">34.095.RP.042</param>
      <param value="СПланом" type="3" name="version">34.095.RP.042</param>
      <param value="Уникальный номер для организации" type="3" name="version">34.095.RP.042</param>
      <param value="Уникальный номер за день" type="3" name="version">34.095.RP.042</param>
      <param value="Ценные бумаги" type="3" name="version">34.095.RP.042</param>
    </node>
    <node path="Смещения">
      <value type="1" flags="1" name="График погашения">0</value>
      <value type="1" flags="1" name="График уплаты %">0</value>
      <value type="1" flags="1" name="Изменение ставки пени по осн. долгу">0</value>
      <value type="1" flags="1" name="Изменение ставки пени по проц.">0</value>
      <value type="1" flags="1" name="Изменение ставки процентов">0</value>
      <value type="1" flags="1" name="Начисление пеней">0</value>
      <value type="1" flags="1" name="Начисление процентов">0</value>
      <value type="1" flags="1" name="Плановая уплата %">0</value>
      <value type="1" flags="1" name="Плановое погашение">0</value>
      <value type="1" flags="1" name="Плановое получение">0</value>
      <value type="1" flags="1" name="Погашение">1</value>
      <value type="1" flags="1" name="Получение">1</value>
      <value type="3" flags="1" name="Пояснение">Здесь указываются смещения при расчете относительно даты принятия (учета). Т.е. если в пункте "Получение"
стоит цифра 1, то во всех расчетах получение будет учитываться след. числом.</value>
      <value type="1" flags="1" name="Уплата пеней">0</value>
      <value type="1" flags="1" name="Уплата процентов">0</value>
      <param value="График погашения" type="3" name="version">34.095.RP.042</param>
      <param value="График уплаты %" type="3" name="version">34.095.RP.042</param>
      <param value="Изменение ставки пени по осн. долгу" type="3" name="version">34.095.RP.042</param>
      <param value="Изменение ставки пени по проц." type="3" name="version">34.095.RP.042</param>
      <param value="Изменение ставки процентов" type="3" name="version">34.095.RP.042</param>
      <param value="Начисление пеней" type="3" name="version">34.095.RP.042</param>
      <param value="Начисление процентов" type="3" name="version">34.095.RP.042</param>
      <param value="Плановая уплата %" type="3" name="version">34.095.RP.042</param>
      <param value="Плановое погашение" type="3" name="version">34.095.RP.042</param>
      <param value="Плановое получение" type="3" name="version">34.095.RP.042</param>
      <param value="Погашение" type="3" name="version">34.095.RP.042</param>
      <param value="Получение" type="3" name="version">34.095.RP.042</param>
      <param value="Пояснение" type="3" name="version">34.095.RP.042</param>
      <param value="Пояснение" type="3" name="crc32">$FB7B570D</param>
      <param value="Уплата пеней" type="3" name="version">34.095.RP.042</param>
      <param value="Уплата процентов" type="3" name="version">34.095.RP.042</param>
    </node>
    <node path="Курсовая разница">
      <value type="1" flags="1" name="Дебетовый счет">350100</value>
      <value type="4" flags="1" name="Использовать расчет по датам изменения курса">0</value>
      <value type="3" flags="1" name="Источник внутреннего финансирования">99999999999999999999</value>
      <value type="1" flags="1" name="Операция отражения отриц. курс. разн.">2701</value>
      <value type="1" flags="1" name="Операция отражения полож. курс. разн.">2601</value>
      <param value="Дебетовый счет" type="3" name="version">34.095.RP.042</param>
      <param value="Использовать расчет по датам изменения курса" type="3" name="version">34.095.RP.042</param>
      <param value="Источник внутреннего финансирования" type="3" name="version">34.095.RP.042</param>
      <param value="Источник внутреннего финансирования" type="3" name="crc32">$3A8D5A82</param>
      <param value="Операция отражения отриц. курс. разн." type="3" name="version">34.095.RP.042</param>
      <param value="Операция отражения полож. курс. разн." type="3" name="version">34.095.RP.042</param>
    </node>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Выпадающие меню">
    <node path="МенюФормирования">
      <node path="Периоды начисления">
        <value type="3" name="Действие">Формирование</value>
        <value type="3" name="Картинка">ПроцентыФормированиеПериодов</value>
        <value type="3" name="Хинт">Сформировать записи с периодами начисления</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$9D24FFCC</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$414D4815</param>
        <param value="Хинт" type="3" name="version">34.095.RP.042</param>
        <param value="Хинт" type="3" name="crc32">$F90B53AD</param>
      </node>
      <node path="Периоды графика погашения">
        <value type="3" name="Действие">формГрафикПогашения</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$B9F79552</param>
      </node>
    </node>
    <node path="МенюВалюты">
      <node path="Пересчёт в рубли">
        <value type="3" name="Действие">ПересчетВалюты</value>
        <value type="3" name="Картинка">ПересчетВалюты</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$C6FA0067</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$C6FA0067</param>
      </node>
      <node path="Курсовая разница">
        <value type="3" name="Действие">КурсоваяРазница</value>
        <value type="3" name="Картинка">КурсоваяРазница</value>
        <param value="Действие" type="3" name="version">34.095.RP.042</param>
        <param value="Действие" type="3" name="crc32">$2FEA1912</param>
        <param value="Картинка" type="3" name="version">34.095.RP.042</param>
        <param value="Картинка" type="3" name="crc32">$2FEA1912</param>
      </node>
    </node>
  </node>
  <node path="Бюджет\Объекты\Настройки\Кредиты\Параметры">
    <delvalue type="4" name="Заполнять график уплаты %" />
  </node>
  <node path="Бюджет\Объекты\Настройки\Кредиты\Курсовая разница">
    <delvalue name="Источник внеш. фин. для отриц. курс. разницы" />
    <delvalue name="Источник внеш. фин. для полож. курс. разницы" />
    <delvalue name="Источник внешнего финансирования" />
  </node>
  <node path="Бюджет\Объекты\Настройки\Кредиты\Параметры">
    <delvalue type="3" name="Коды начисления штрафов" />
    <delvalue type="3" name="Коды начисления пени" />
  </node>
  <node path="Бюджет\Объекты\Настройки\Кредиты\Параметры">
    <delvalue name="Коды уплаты пени" />
    <delvalue name="Коды уплаты процентов" />
    <delvalue name="Коды уплаты штрафов" />
  </node>
  <node path="Бюджет\Объекты\Настройки\Кредиты\Параметры">
    <delvalue name="Код СубКД Гарантии основной долг" />
    <delvalue name="Код СубКД Гарантии пени" />
    <delvalue name="Код СубКД Гарантии проценты" />
    <delvalue name="Код СубКД раздела Гарантии" />
  </node>
  <node path="Бюджет\Объекты\Настройки\Кредиты\Параметры">
    <delvalue name="Рассчитывать по графикам" />
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Выпадающие меню">
    <node path="МенюФормирования">
      <delnode path="Периоды начисления процентов" />
      <delnode path="Периоды начисления пени" />
    </node>
    <delnode path="МенюРасчета" />
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Панели\Разное\Расчет">
    <delvalue type="3" name="Выпадающее меню">МенюРасчета</delvalue>
    <delvalue type="3" name="Стиль">Меню</delvalue>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляКредитов.abl">// Будет включать в себя основные функции для кредитов - Формирование периодов, расчет процентов и пеней и т.д.
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелПараметровСсуды = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  УзелСмещений = "Бюджет\Объекты\Настройки\Кредиты\Смещения";
// Внутреннее изменение учета дат операций (датой операции или следующим днем)  по обслуживанию кредитов.
// Сделано для унифицирования подхода с добавлением или недобавлением дня в начале периода.
// Разделение идет по закладкам:
// 1) (проценты) погашение, получение, смена процентной ставки
// 2) (пени) погашение, получение, смена процентной ставки, уплата %, начисление %
  прПолучение = 1;
  
//  прПогашение = 0;
//  прСменаПроц = 0;

  пнУплата = 0;
  пнПогашение = 1;
//  пнПолучение = 0;
//  пнСменаПроц = 0;
//  пнНачисление = 0;

  Кредиты="{DDC51F01-193C-11D5-8DF5-000021DDD8D5}";
  Ссуды = "{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}";
  // строковые константы видов пеней и кредитов. Юзаются в функциях получитьпараметр и получитьимяпараметра
  стр_впОснДолг = "по основному долгу";
  стр_впПроц = "по начисленным процентам";
  стр_впВсе = "все";
  стр_Проц = "процент";
  стр_воУплата = "уплата";
  стр_воНачисление = "начисление";


функция Модуль : Строка;
начало
  результат := Кредиты;
конец;

функция РазобратьЗначения(СтрокаПроводок: строка): целое;
переменные
  Значение: строка;
начало
  СтрокаПроводок := УбратьПробелы(СтрокаПроводок);
  Результат := Истина;
  попытка

    Пока СтрокаПроводок &lt;&gt; "" делать
    начало
      если Позиция(",", СтрокаПроводок) = 0 тогда
      начало
        Значение := СтрокаПроводок;
        СтрокаПроводок := "";
      конец иначе
      начало
        Значение := Подстрока(СтрокаПроводок, 1, Позиция(",", СтрокаПроводок) - 1);
        СтрокаПроводок := Подстрока(СтрокаПроводок, Позиция(",", СтрокаПроводок) + 1, Длина(СтрокаПроводок) - Позиция(",", СтрокаПроводок));
      конец;
      если не ПроверитьКлассификатор(тк_БухПроводка, СтрокаВЦелое(Значение)) тогда
        ВызватьОшибку("В реестре задан неверный номер бухоперации!!!");
    конец;
  неудача
    Результат := Ложь;
  конец;
конец;

функция ПроверитьПроводки;
переменные
  СтрокаПроводок: строка;
начало
  // Начисление проц.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления процентов.");
  // Начисление пени осн.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по основному долгу.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по основному долгу.");
  // Начисление пени по процентам
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по процентам.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по процентам.");
  // Уплата процентов
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для уплаченных процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для уплаченных процентов.");
  
конец; 

////////////////////////////////////////////////////  
// функция выдает параметр - ограничение указанного вида и типа. Работает как для ссуд, так и для кредитов
// вид : начисление, уплата
// тип : процент по кредиту/ссуде, пени по основному долгу и по начисленным процентам  
функция ПолучитьПараметр(вид, тип : Строка) : строка;
переменные
  рез : целое;
  ПрогИндекс : целое;
  УзелП : Строка; 
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
    
  рез := 0;
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
  начало 
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : рез := 124;                  
        стр_впОснДолг : рез := 325;
        стр_впПроц : рез := 326;
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "325,326";
          если Модуль = Кредиты тогда
            результат := "335,336";
        конец;
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : рез := 123;                  
        стр_впОснДолг : рез := 328;
        стр_впПроц : рез := 329;                  
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "328,329";
          если Модуль = Кредиты тогда
            результат := "338,339";
        конец;
      конец;
    если рез &lt;&gt; 0 тогда
    начало
      если Модуль = Кредиты тогда 
        рез := рез + 10;
      результат := ЦелоеВСтроку(рез);
    конец;
  конец
  иначе
  начало// не было обновления системы
    если Модуль = Кредиты тогда
      УзелП := УзелПараметров;
    если Модуль = Ссуды тогда
      УзелП := УзелПараметровСсуды;
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды начисления пени").КакСтрока +","+
          Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока + "," + 
          Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;         
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока; 
      конец;       
  конец;    
конец;

// пока нигде не используется. Вместо нее надо юзать ПреобразоватьПараметр
функция ПолучитьПрогИндекс(вид, тип : Строка) : строка;
переменные
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
    
  если ЦелаяКонстанта(ПИ, 1) тогда
    результат := ПолучитьПараметр(вид, тип)
  иначе
    результат := ЦелоеВСтроку(ПИ);
конец;

//Преобразует параметр в проводку по данным реестра
// Если параметр и был проводкой (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьВПроводку(вид, пар : Строка) : Строка;
переменные
  л_пар : Строка;
  УзелП : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
  начало
    ПИ := 120;
    УзелП := УзелПараметровСсуды;
  конец;
  если Модуль = Кредиты тогда
  начало
    ПИ := 130;
    УзелП := УзелПараметров;
  конец;
  если Позиция(",", пар) &gt; 0 тогда
    л_пар := Подстрока(пар, 1, Позиция(",", пар))
  иначе
    л_пар := пар;
  если ЦелаяКонстанта(ПИ, 1) тогда
  начало
    результат := "";
    если Модуль = Ссуды тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "124" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "325" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "326" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "123" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "328" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "329" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
    если Модуль = Кредиты тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "134" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "335" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "336" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "133" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "338" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "339" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
  конец
  иначе
    результат := л_пар;
конец;
//Преобразует параметр в ПрогИндекс по данным реестра
// Если параметр и был Прогиндексом (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьПараметр(пар : Строка) : Строка;
переменные
  поз : целое;
  л_пар : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
  поз := Позиция(",", пар);
  если поз &lt;&gt; 0 тогда
    л_пар := Подстрока(пар, поз - 1)
  иначе
    л_пар := пар;
  результат := пар;  
  если не ЦелаяКонстанта(ПИ, 1) тогда
    результат := ЦелоеВСтроку(ПИ + 4);  
конец;
 
// Получает имя поля из базы для нужного параметра (проводка или прогиндекс)
функция ПолучитьИмяПараметра : строка;
переменные
  ПрогИндекс : целое;
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
   
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
    результат := "progindex"
  иначе
    результат := "buhpaymentcls"    
конец;  


// Проверяем валюту в детализациях, если не равна заголовочной  - Ложь, иначе Истина.
функция ПроверитьВалютуВДетализациях(ИД: целое): целое;
переменные
  В: Выборка;
  ВалютаСтрокой: строка;
начало
  Результат := Истина;
  ВалютаСтрокой := ЦелоеВСтроку(ПолучитьВалютуВЗаголовке(ИД));
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // Проверяем в детализациях "Получение/Погашение" 
    В.Запрос := "select id from Debt where RecordIndex = " + ЦелоеВСтроку(ИД)+
                " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    Если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;
      
    В.Закрыть;
    // Проверяем деталь "Начисление %"
    В.Запрос := "select id from LoanCreditPercents where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            

    В.Закрыть;
    // Проверяем деталь "Уплата %"
    В.Запрос := "select id from FinDocDetail where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            
    В.Закрыть;

    // Проверяем графики
    В.Запрос := "select id from LoanCreditPlan where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            
  обязательно
  конец;                              
конец;

// проверяет, имеется ли данная проводка в системе
функция ПроверитьПроводку(Проводка: целое): целое;
переменные
  В: Выборка;
начало
  Результат := Ложь;
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка 
    В.Запрос := "select Name from BuhPaymentCLS where id = :id";
    В.Параметр("id").КакЦелое := Проводка;
    В.Открыть;
    если В.ЧислоЗаписей = 1 тогда
      Результат := Истина;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

функция ПолучитьСмещение(Имя: строка): целое;
начало
  Результат := Реестр.Узел(УзелСмещений).Значение(Имя).КакЦелое;
конец;

функция СформироватьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; Параметр : Строка);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
  ТипГода: целое;
  Дата: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = 130 and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.Открыть;
  ТипГода := В.Поле("YearType").КакЦелое;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по месяцам
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      ПолучитьДату(РасширДатаВОбычную(В.Поле("periodstart").КакДробное), Г, М, Д);
      Д := ДеньДаты(В.Поле("periodstart").КакДробное);
      М := МесяцДаты(В.Поле("periodstart").КакДробное);
      Г := ГодДаты(В.Поле("periodstart").КакДробное);
      пока ((Г * 10000 + М * 100 + Д) &lt; КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("date").КакДробное := ИсправитьРасширДату(БольшаяДата(Г, М, Д));
          Субпериоды.ПолеПоИмени("note").КакСтрока := "плановое начисление";
          СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          М := М ост 12;
          Г := Г + 1;
        конец;   
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("periodstart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("Date").КакДробное := ДатаКонцаПодпериода;
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, 0);
      конец;
    конец;

  обязательно
    УдалитьОбъект(В);
  конец; 
конец;

// Запрос для вставки периодов начисления пеней
функция ЗапросДляНовыхПериодовПеней: строка;
начало
  результат := "[PumpData] {select ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, Summa, CurrencyCls, CurrencySumma"
              + " from LoanCreditPercents where (1 &lt;&gt; 1)}"
              + #13#10
              " [InsertData]{insert into LoanCreditPercents"
              + " (ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd, PayPercentDate, Note, Summa, CurrencyCls, CurrencySumma)"
              + " values (@ProgIndex, @RecordIndex, @BuhPaymentCls, @PeriodStart, @PeriodEnd, @PayPercentDate, ~Note, @Summa, @CurrencyCls, @CurrencySumma)}";
конец;

// Определяет начальную дату разбивки по периодам для заголовочной записи с данным ИД
// Пункты 2 и 3 выполняются в зависимости от флага в реестре
// 1. Проверяем, есть ли периоды по пеням, если есть то дата начала - последняя дата последнего периода
// 2. Проверяем график погашения и график уплаты %
// 3. Проверяем плановое погашение и плановую уплату  
// 4. Проверяем дату начала периодов в заголовке
// 5. Проверяем дату договора 
функция ОпределитьДатуНачалаСубпериодовПени(ИДЗаголовка: целое; Параметр : Строка): дробное;
переменные
  В: Выборка; 
  КодыПени, КодыПроцентов: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  если КодыПени = "" тогда 
    ВызватьОшибку("Не указаны коды начисления пени в реестре!");
  КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  если КодыПроцентов = "" тогда 
    ВызватьОшибку("Не указаны коды начисления процентов в реестре!");
  Результат := 0;
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  
  // вынимаем дату окончания самого последнего периода по пени
//  В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
//            + " where (ProgIndex in ("+Параметр+")) and (RecordIndex = :RI) and (BuhPaymentCLS in (" + КодыПени + "))";
  В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
            + " where ("+ПолучитьИмяПараметра+" in ("+Параметр+")) and (RecordIndex = :RI)";
  
  В.Параметр("RI").КакЦелое := ИДЗаголовка;
  В.Открыть;
  если не В.Поле("PeriodEnd").Пустое тогда
    если (В.Поле("PeriodEnd").КакДробное ост 10000) &lt;= 101 тогда
      Результат := В.Поле("PeriodEnd").КакДробное
    иначе Результат := СледующаяДата(В.Поле("PeriodEnd").КакДробное, 1, ТипГода);
    
  // Проверяем, как считают пени: по плану или по графику, если по плану - необходимо учесть и его
  если (Результат = 0) тогда
  начало
    // Вынимаем дату самого первого погашения по плану    
    // только по основному долгу
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг))) 
    и (не Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг) тогда //Параметр = "335" тогда
    начало 
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from Debt where (RecordIndex = :RI) and (ProgIndex = 132)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если В.Поле("PlanDate").КакДробное &gt; 0 тогда
        Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое погашение"), ТипГода);  
    конец;
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц))) и
    (не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг) тогда //Параметр = "336" тогда
    начало       
      // начисление
      В.Закрыть;
      В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
                  + " where "
                  + " (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ") "
                  + " and (PayPercentDate &gt; 0)"
                  + " and (AcceptDate &gt; 0)"
                  + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + "))";

      В.Открыть;
      если ((В.Поле("PayPercentDate").КакДробное &gt; 0) и (В.Поле("PayPercentDate").КакДробное &lt; Результат)) 
            или ((Результат = 0) и (В.Поле("PayPercentDate").КакДробное &gt; 0)) 
      тогда
          Результат := СледующаяДата(В.Поле("PayPercentDate").КакДробное, ПолучитьСмещение("Плановая уплата %"), ТипГода);
    конец;
  конец;
  
  // Если не было периодов
  если (Результат = 0) тогда
  начало
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг))) 
      и (Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг) тогда //Параметр = "335" тогда
    начало
      // Вынимаем дату самого первого погашения по графику
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"
                + " where (RecordIndex = :RI) and (PlanDate is not Null) and (PlanDate &gt; 0) and (ProgIndex = 137)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть; 
      если В.Поле("PlanDate").КакДробное &gt; 0 тогда
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("График погашения"), ТипГода);
    конец;
    если (Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг) тогда
    начало
      // Вынимаем первую дату графика уплаты процентов
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"
                 + " where (RecordIndex = :RI) and (PlanDate &gt; 0) and (ProgIndex = 138)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если (В.Поле("PlanDate").КакДробное &gt; 0) и ((В.Поле("PlanDate").КакДробное &lt; Результат) или (Результат = 0)) 
      тогда 
        Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("График уплаты %"), ТипГода);          
    конец;
  конец;

  // если не было выдач
  если Результат = 0 тогда
  // Вынимаем дату начала разбивки по периодам и дату ввода
  начало
    В.Закрыть;
    В.Запрос := "select DateInput, PeriodStart from LoanCredit where (ProgIndex = 130) and (id = :ID)";
    В.Параметр("ID").КакЦелое := ИДЗаголовка;
    В.Открыть;
    если В.Поле("PeriodStart").КакДробное &gt; 0 тогда
      // есть дата начала разбивки по периодам, ее и берем
      Результат := В.Поле("PeriodStart").КакДробное
    иначе
      // В противном случае берем дату создания записи в заголовке
      Результат := В.Поле("DateInput").КакДробное;  
  конец;    
  // Во избежание всяческих несуразностей
  Результат := ОбычнаяДатаВРасшир(НормализоватьДату(Результат));
конец;                                   

// Открывает и закачивает в субпериоды выборку
функция ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка: целое; НачалоПериода, КонецПериода: дробное; В: Выборка;
                                    Субпериоды: СтатическиеДанные; ИмяПоля, ИмяПоляРасчет, Примечание: строка;Смещение: целое;
                                    Параметр : Строка);
переменные
  ПолеВыборки: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  В.Параметр("RI").КакЦелое := ИДЗаголовка;
  В.Параметр("DateStart").КакЦелое := НачалоПериода;
  В.Параметр("DateEnd").КакЦелое := КонецПериода;
  В.Открыть;
  пока не В.ВКонце делать
  начало
    Субпериоды.Вставить;
    СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
    попытка
      если В.Поле("RecordDate").Пустое тогда
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода)
      иначе
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещение, ТипГода);
    неудача
      // поле "RecordDate" отсутствует
      Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода);
    конец;
    Субпериоды.Поле("Note").КакСтрока := Примечание;
    // Вставляем поля с валютами, ставками по проц. и т.д.
    попытка
      Субпериоды.Поле("Credit").КакДробное := В.Поле("Credit").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("Debit").КакДробное := В.Поле("Debit").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("Percent").КакДробное := В.Поле("Percent").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("CurrencyCredit").AsFloat := В.Поле("CurrencyCredit").AsFloat;
    неудача
    конец;

    попытка
      Субпериоды.Поле("CurrencyDebit").AsFloat := В.Поле("CurrencyDebit").AsFloat;
    неудача
    конец;
    
    Субпериоды.Сохранить;
    В.Следующая;
  конец;        
конец;

// Формирование субпериодов начисления пени 
функция ФормированиеСубпериодовПени(ИДЗаголовка, НачалоПериода, КонецПериода: целое; СПроцентами: целое; Параметр : Строка): СтатическиеДанные;
переменные
  НадоПодпериоды: целое; 
  КодыПроцентов, КодыУплПроцентов, КодыПени, кп_ОснДолг, кп_НачПроц: строка;
  В: Выборка;                                                 //     , Проводка
  Год, Месяц, День, ТипГода, СПланом: целое;
  КонецСрока: дробное;
начало
  НадоПодпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакЦелое;
  КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  КодыУплПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  кп_ОснДолг := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока; 
  кп_НачПроц := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока; 
  
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  СПланом := Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг;

//  если Позиция(",", КодыПени) = 0
//  тогда Проводка := КодыПени 
//  иначе Проводка := Подстрока(КодыПени, 1, Позиция(",", КодыПени) - 1);            
  
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  // Создаем статиксет Субпериоды
  Результат := СоздатьСтатическиеДанные;
  Результат.ДобавитьДробноеПоле("Date"); // Дата начала сл. субпериода
  Результат.CreateField("Note", 9); // Примечание
  Результат.ДобавитьЦелоеПоле("ProgIndex");
  Результат.ДобавитьДробноеПоле("Credit"); // Кредит
  Результат.ДобавитьДробноеПоле("Debit"); // Дебет
  Результат.ДобавитьДробноеПоле("Percent"); // Cтавка пени по осн. долгу
  Результат.ДобавитьДробноеПоле("CurrencyCredit");
  Результат.ДобавитьДробноеПоле("CurrencyDebit");
  Результат.Открыть;
  // Вставляем дату начала разбивки
  Результат.Вставить;
  Результат.Поле("Date").КакДробное := НачалоПериода;
  Результат.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
  Результат.Сохранить;

  если НачалоПериода &lt; КонецПериода тогда
  начало
    если НадоПодпериоды или СПроцентами тогда 
    // Если необходима подробная разбивка
    начало      
      //разделение на осн. долг и начисл. проценты
      // для осн.долга : план погашения, погашение, смена ставки пени
      если Позиция(ПолучитьПараметр(стр_воНачисление, стр_впОснДолг), Параметр) тогда //Позиция("335", ПрогИндекс) &gt; 0 тогда
      начало
        // вынимаем в субпериоды график погашения кредита
        если Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг тогда
        начало
          В.Запрос := "select PlanDate PlanDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPlan"
                  + " where (ProgIndex=137) and (RecordIndex = :RI)"
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt; :DateEnd) group by PlanDate";
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "срок погашения", ПолучитьСмещение("График погашения"), Параметр);
        конец
        иначе
        начало
          В.Запрос := "select PlanDate, sum(Debit - Credit) Credit, sum(CurrencySumma) CurrencyCredit from Debt"
                      + " where(ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd) group by PlanDate"; 
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "срок погашения", ПолучитьСмещение("Плановое погашение"), Параметр);
        конец;

        // вынимаем все даты плановых погашений за данный период
        /*
        В.Запрос := "select PlanDate, sum(Debit-Credit) Debit, sum(CurrencySumma) CurrencyDebit from Debt"
                  + " where (ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd)" 
                  + " and (AcceptDate is null) group by PlanDate";
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"PlanDate", "Debit", "плановое погашение кредита", ПолучитьСмещение("Плановое погашение"), Параметр);
        */
        // вынимаем все даты погашений за данный период
        В.Запрос := "select AcceptDate, RecordDate, sum(Debit-Credit) Debit, sum(CurrencySumma) CurrencyDebit from Debt"
                  + " where (ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate, RecordDate";
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Debit", "погашение кредита", ПолучитьСмещение("Погашение"), Параметр);

        // вынимаем субпериоды по изменению ставок пени по осн. долгу (136)
        В.Запрос := "select distinct AcceptDate AcceptDate, max(Percent) Percent from PercentJournal"
                  + " where (ProgIndex in (136)) and (RecordIndex = :RI)" 
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate";  
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Percent", "изменение ставки пени по осн. долгу", ПолучитьСмещение("Изменение ставки пени по осн. долгу"), Параметр);
      конец;
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      // для начисл. процентов : график уплаты %, уплата, смена ставки пени
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) тогда //Позиция("336", ПрогИндекс) &gt; 0 тогда
      начало   
        // вынимаем в субпериоды фактические уплаты процентов по кредиту
        В.Запрос := "select AcceptDate AcceptDate, RecordDate, sum (Credit - Debit) Debit, sum(CurrencySumma) CurrencyDebit from FinDocDetail"
                + " where (ProgIndex in (133, 337)) and (RecordIndex = :RI)"
                + " and (AcceptDate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd)"
                + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воУплата, стр_Проц) + ")) group by AcceptDate, RecordDate"; 
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "AcceptDate", "Debit", "уплата процентов", ПолучитьСмещение("Уплата процентов"), Параметр);

        // вынимаем субпериоды по плановым датам погашения процентов кредита
        если Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
        начало
          В.Запрос := "select PlanDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPlan"
                  + " where (ProgIndex = 138) and (RecordIndex = :RI)"
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd)"
                  + " group by PlanDate"; 
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "уплата процентов (план)", ПолучитьСмещение("График уплаты %"), Параметр);
        конец иначе
        начало
          В.Запрос := "select PayPercentDate PayPercentDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPercents"
                + " where (ProgIndex in (134, 334)) and (RecordIndex = :RI)"
                + " and (PayPercentDate &gt;= :DateStart) and (PayPercentDate &lt;= :DateEnd)"
                + " and AcceptDate is not null"
                + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + ")) group by PayPercentDate";
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PayPercentDate", "Credit", "уплата процентов (план)", ПолучитьСмещение("Плановая уплата %"), Параметр);
        конец;

        // вынимаем субпериоды по изменению ставок пени по процентам (139)
        В.Запрос := "select distinct AcceptDate AcceptDate, max(Percent) Percent from PercentJournal"
                  + " where (ProgIndex in (139)) and (RecordIndex = :RI)" 
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate";  
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Percent", "изменение ставки пени по процентам", ПолучитьСмещение("Изменение ставки пени по проц."),'');
      конец;
    конец;
    КонецСрока := КонецПериода;
    //если ТипГода = 1 тогда
      //КонецСрока := НормальнаяДатаВКривую(КонецСрока);
    если не СПроцентами тогда
      СформироватьПериодыПоДлине(ИДЗаголовка, Результат, НачалоПериода, КонецСрока, Параметр);
    //если ТипГода = 1 тогда
      //ОткорректироватьДатыСубпериодов(Результат);
    // Упорядочиваем субпериоды
    Результат.Индекс := "Date";
    Результат.ВНачало;
  конец;        
конец;

// Формирует периоды начисления пени
функция ФормированиеПериодовПени(ИДЗаголовка, КонецСрока: целое; НовыеПериоды: СтатическиеДанные; Параметр : Строка): целое;
переменные
  ДатаНачала, КонецПериода: дробное;
  Субпериоды: СтатическиеДанные;
  КодыПени, Проводка: строка;
  ТипГода: целое;
начало

  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  Проводка := ПреобразоватьВПроводку(стр_воНачисление, Параметр);
  если Позиция(",", Проводка) &gt; 1 тогда
    Проводка := Подстрока(Проводка, 1, Позиция(",", Проводка) - 1);
  если (не ПроверитьПроводку(СтрокаВЦелое(Проводка))) и (ЦелаяКонстанта(130, 1) &lt;&gt; 1)
  тогда ВызватьОшибку("Проводка " + Проводка + " отсутствует в системе.");            

  // Определим дату начала субпериодов по пеням
  ДатаНачала := ОпределитьДатуНачалаСубпериодовПени(ИДЗаголовка, Параметр);
  Субпериоды := ФормированиеСубпериодовПени(ИДЗаголовка, ДатаНачала, КонецСрока, Ложь, Параметр);
  Субпериоды.Индекс := "Date";
  Субпериоды.ВНачало;
  КонецПериода := Субпериоды.Поле("Date").КакДробное;
  Субпериоды.Следующая;
  пока не Субпериоды.ВКонце делать
  начало
    если КонецПериода &lt;&gt; Субпериоды.Поле("Date").КакДробное тогда
    начало
      НовыеПериоды.Вставить;
      НовыеПериоды.Поле("PeriodStart").КакДробное := КонецПериода;
      НовыеПериоды.Поле("PeriodEnd").КакДробное := ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0);
      НовыеПериоды.Поле("Note").КакСтрока := Субпериоды.Поле("Note").КакСтрока;
      НовыеПериоды.Поле("ProgIndex").КакСтрока := Субпериоды.Поле("ProgIndex").КакСтрока;      
      НовыеПериоды.Поле("BuhPaymentCLS").КакЦелое := Проводка;
      НовыеПериоды.Сохранить;
      КонецПериода := Субпериоды.Поле("Date").КакДробное;
    конец;
    Субпериоды.Следующая;
  конец;
  //если ТипГода = 1 тогда
    //КонецСрока := НормальнаяДатаВКривую(КонецСрока);
  если КонецПериода &lt;= КонецСрока тогда
  // На случай какого-нибудь извратного перекоса
  начало
    НовыеПериоды.Вставить;
    НовыеПериоды.Поле("PeriodStart").КакДробное := КонецПериода;
    НовыеПериоды.Поле("PeriodEnd").КакДробное := КонецСрока;
    НовыеПериоды.Поле("BuhPaymentCLS").КакЦелое := Проводка;
    НовыеПериоды.Поле("Note").КакСтрока := "плановое начисление";  
    НовыеПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);      
    НовыеПериоды.Сохранить;
  конец;
  Результат := Истина;
конец;


// Рассчитывает пени для записи с данным ИД
функция РасчетПени(ИД: целое; ДатаНачала, ДатаКонца, СуммаВВалюте: дробное; Параметр : Строка): дробное;
переменные
  Субпериоды: СтатическиеДанные;
  ОстатокДолг, СубсуммаДолг, Процент, НачалоСубпериода, НачалоСледСубпериода, СуммаДолг: дробное;
  Год, ДлинаСубпериода: целое;
  ПолеКредитДолг, ПолеДебетДолг: строка;
  ЭтоНацВалюта, ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИД);
  попытка
    Субпериоды := ФормированиеСубпериодовПени(ИД, 101, ДатаКонца, Истина, Параметр);
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(СубПериоды);
    ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(ИД) = КодНацВалюты);
    если ЭтоНацВалюта тогда
    начало
      ПолеКредитДолг := "Credit";
      ПолеДебетДолг := "Debit";
    конец иначе
    начало
      ПолеКредитДолг := "CurrencyCredit";
      ПолеДебетДолг := "CurrencyDebit";
    конец;
    
    ОстатокДолг := 0;
    Процент := 0;
    СубсуммаДолг := 0;
    СуммаДолг := 0;

    Субпериоды.Вставить;
    Субпериоды.Поле("Date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);
    Субпериоды.Сохранить; 
    Год := ГодДаты(ДатаНачала);
    пока Год &lt;= ГодДаты(ДатаКонца) делать
    начало
      СубПериоды.Вставить;                         
      Субпериоды.ПолеПоИмени("date").КакДробное := Год * 10000 + 101;                    
      СубПериоды.Сохранить;
      Год := Год + 1;
    конец;
    Субпериоды.Индекс := "Date";
    Субпериоды.ВНачало;
    // Вычисляем условия на дату начала периода
    пока (Субпериоды.Поле("Date").КакДробное &lt; ДатаНачала) и (не Субпериоды.ВКонце) делать
    начало
      ОстатокДолг := ОстатокДолг + Субпериоды.Поле(ПолеКредитДолг).КакДробное 
                                    - Субпериоды.Поле(ПолеДебетДолг).КакДробное;
      если не Субпериоды.Поле("Percent").Пустое тогда
        Процент := Субпериоды.Поле("Percent").КакДробное;
      Субпериоды.Следующая;  
    конец;
    
    НачалоСубпериода := ДатаНачала;
    пока (Субпериоды.Поле("Date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ПолучитьТипГода(ИД))) и (не Субпериоды.ВКонце) делать
    начало
      Год := ГодДаты(ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0));
      НачалоСледСубпериода := Субпериоды.Поле("Date").КакДробное;
      ДлинаСубпериода := ЧислоДнейВПериоде(ИД, НачалоСубпериода, НачалоСледСубпериода);
      СубсуммаДолг := ОстатокДолг * Процент * ДлинаСубпериода / (100 * ЧислоДнейВЛюбомГоду(ИД, Год));
      если СубсуммаДолг &lt; 0 тогда СубСуммаДолг := 0;
      СуммаДолг := СуммаДолг + СубсуммаДолг; // вычисляем сумму
      
      // вычисляем новые нач. условия
      ОстатокДолг := ОстатокДолг + Субпериоды.Поле(ПолеКредитДолг).КакДробное - Субпериоды.Поле(ПолеДебетДолг).КакДробное;
      если не Субпериоды.Поле("Percent").Пустое тогда
        Процент := Субпериоды.Поле("Percent").КакДробное;
      НачалоСубпериода := НачалоСледСубпериода;
      Субпериоды.Следующая;
    конец;

    Результат := СуммаДолг;
    если не ЭтоНацВалюта тогда
    начало
      СуммаВВалюте := Результат;
      Результат := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(ИД), ДатаКонца) * СуммаВВалюте;
    конец;
    Результат := ОкруглитьДоЗнака(Результат, 2);
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;
конец;    

// Выдает дату конца месяца
функция ПолучитьДатуКонцаМесяца(Дата: дробное; ТипГода: целое): дробное;
начало
  если ТипГода = 1 тогда
  // Ненормальный год (12 месяцев по 30 дней)
    Результат := (Дата цел 100) * 100 + 30
  иначе
  начало
    // Нормальный год (365 или 366 дней в году)
    Результат := (Дата цел 100) * 100 + ЧислоДнейВМесяце(Дата цел 10000, (Дата ост 10000) цел 100); 
  конец;    
конец;


// Выдает дату начала формируемых субпериодов. Это либо ДатаОкончанияПоследнегоСубпериода+1, либо это
// дата самой первой выдачи, либо это дата начала периодов, либо дата формирования документа
функция ПолучитьДатуНачалаСубпериодов(ИДЗаголовка: целое): дробное;
переменные
  В: Выборка;
  КодыПроцентов: строка;
  ТипГода: целое;
начало                
  Результат := 0;
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
    ТипГода := ПолучитьТипГода(ИДЗаголовка);
    
    // Попытаемся отыскать дату окончания последнего существующего периода
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
                + " where (RecordIndex = :MasterID) and (BuhPaymentCLS in (" + КодыПроцентов+ "))";
    В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
    В.Открыть;
    если не В.Поле("PeriodEnd").Пустое
    тогда 
      если (В.Поле("PeriodEnd").КакДробное ост 10000) &lt;= 101 // Вдруг это даты остатков
      тогда
        Результат := В.Поле("PeriodEnd").КакДробное
      иначе
        Результат := СледующаяДата(В.Поле("PeriodEnd").КакДробное, 1, ТипГода); // За ПериодЕнд уже начислено
    
    // Если не нашли периодов, попытаемся найти дату первого планового получения (если идет расчет по плану)
    если (Результат = 0) и (Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг) тогда
    начало
      В.Запрос := "select min(PlanDate) PlanDate from Debt where (RecordIndex = :MasterID) and (AcceptDate is null) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("PlanDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе 
          Результат := В.Поле("PlanDate").КакДробное;        
      конец;
    конец;             

    // Если не нашли периодов, попытаемся найти дату первого получения
    если Результат = 0 тогда
    начало
      В.Запрос := "select min(RecordDate) RecordDate from Debt where (RecordIndex = :MasterID) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("RecordDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("RecordDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе 
          Результат := В.Поле("RecordDate").КакДробное;        
      конец;
    конец;             

    // Если не нашли периодов, попытаемся найти дату первого получения
    если Результат = 0 тогда
    начало
      В.Запрос := "select min(AcceptDate) AcceptDate from Debt where (RecordIndex = :MasterID) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("AcceptDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("AcceptDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе 
          Результат := В.Поле("AcceptDate").КакДробное;        
      конец;
    конец;             
    
    если Результат = 0 тогда
    начало
      // Выбираем все плановые получения
      В.Запрос := "select min(PlanDate) PlanDate from Debt "
                 + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                 + " and (AcceptDate is null)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Открыть;
      В.ВНачало;
      если не В.Поле("PlanDate").Пустое тогда 
      начало
        если прПолучение тогда
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе       
          Результат := В.Поле("PlanDate").КакДробное;        
      конец;
    конец;
    
    // Ежели и тут ничего, тогда возьмем начало периода начисления или дату договора
    если Результат = 0 тогда
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ID = :MasterID";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("PeriodStart").Пустое 
      тогда Результат := В.Поле("PeriodStart").КакДробное
      иначе Результат := В.Поле("DateInput").КакДробное;
    конец;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Создает статиксет с субпериодами
функция СформироватьСубПериоды(ИДЗаголовка: целое; ДатаНачала, ДатаКонца: дробное; СПроцентами: целое): СтатическиеДанные;
переменные
  В: Выборка;
  М, Г, Д, НадоПодпериоды, ТипГода, СПланом: целое;
  Субпериоды: СтатическиеДанные;
  РасширДатаНачала, РасширДатаКонца: дробное;
начало
  НадоПодпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды подробно").КакФлаг;
  СПланом := Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг;
  // Получаем большие даты - они нам пригодятся
  если ДатаНачала &gt; 0 тогда РасширДатаНачала := ДатаНачала
  иначе РасширДатаНачала := ПолучитьДатуНачалаСубпериодов(ИДЗаголовка);
  РасширДатаКонца := ДатаКонца;
  попытка
    ТипГода := ПолучитьТипГода(ИДЗаголовка);
    // Создаем вспомогательную выборку
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // Создаем статиксет, в который будем класть субпериоды
    СубПериоды := СоздатьСтатическиеДанные;
    СубПериоды.ДобавитьДробноеПоле("Date");       // дата начала субпериода      
    СубПериоды.CreateField("NOTE", 9);     // комментарий , в связи с чем подразбивка на подпериоды    
    // Для расчета процентов
    СубПериоды.ДобавитьДробноеПоле("Credit");       // выданная сумма
    СубПериоды.ДобавитьДробноеПоле("Debit");        // погашенная сумма
    СубПериоды.ДобавитьДробноеПоле("Percent");      // процент по кредиту
    СубПериоды.ДобавитьДробноеПоле("CurrencyCredit");
    СубПериоды.ДобавитьДробноеПоле("CurrencyDebit");
    СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
    СубПериоды.Открыть;
    // Первый субпериод
    Субпериоды.Вставить;
    Субпериоды.Поле("Date").КакДробное := РасширДатаНачала;
    Субпериоды.Сохранить;
    если СПроцентами тогда
    // Когда ищем периоды, срок окончания мы прекрасно знаем
    начало
      Субпериоды.Вставить;
      Субпериоды.Поле("Date").КакДробное := РасширДатаКонца;
      Субпериоды.Поле("Note").КакСтрока := "плановое начисление";
      Субпериоды.Сохранить;
    конец;
    если НадоПодпериоды или СПроцентами тогда
    начало
      // Выбираем все получения
      В.Запрос := "select AcceptDate, RecordDate, Credit, Debit, CurrencySumma from Debt "
                 + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                 + " and (AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      // Так, как субпериод по выдаче формируется на след. день, то берем предыдущие числа
      если РасширДатаНачала &gt; 101 тогда
        В.Параметр("StartDate").КакДробное := ПредыдущаяДата(РасширДатаНачала, ПолучитьСмещение("Получение"), ТипГода)
      иначе
        В.Параметр("StartDate").КакДробное := 101;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      // Выкидываем в субпериоды
      пока (не В.ВКонце) делать 
      начало
        СубПериоды.Вставить;
        если В.Поле("RecordDate").Пустое тогда
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("AcceptDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("RecordDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода);
        Субпериоды.ПолеПоИмени("Note").КакСтрока := "выдача кредита";
        Субпериоды.ПолеПоИмени("Credit").КакДробное := В.ПолеПоИмени("Credit").КакДробное - В.ПолеПоИмени("Debit").КакДробное;
        Субпериоды.Поле("CurrencyCredit").КакДробное := В.Поле("CurrencySumma").КакДробное;
        СубПериоды.Сохранить;
        в.Следующая;        
      конец;
      
      // Выбираем все погашения
      В.Запрос := "select AcceptDate, RecordDate, Debit, Credit, CurrencySumma from Debt "
                 + " where (ProgIndex = 132) and (RecordIndex = :MasterID)"
                 + " and ( ((AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate) and (RecordDate is null)) or"
                 + " ((RecordDate &gt; :StartDate) and (RecordDate &lt;= :EndDate)) ) ";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Параметр("StartDate").КакДробное := РасширДатаНачала;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      // Выкидываем в субпериоды
      пока (не В.ВКонце) делать 
      начало
        СубПериоды.Вставить;
        // т.к. день погашения также облагается процентом, берем след.
        если В.ПолеПоИмени("RecordDate").КакДробное &gt; 0 
        тогда
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("RecordDate").КакДробное, ПолучитьСмещение("Погашение"), ТипГода)
        иначе
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("AcceptDate").КакДробное, ПолучитьСмещение("Погашение"), ТипГода);
        Субпериоды.ПолеПоИмени("Note").КакСтрока := "погашение кредита";
        Субпериоды.ПолеПоИмени("Debit").КакДробное := В.ПолеПоИмени("Debit").КакДробное - В.ПолеПоИмени("Credit").КакДробное;
        Субпериоды.Поле("CurrencyDebit").КакДробное := В.Поле("CurrencySumma").КакДробное;
        СубПериоды.Сохранить;
        В.Следующая;        
      конец;
   
      // Выбираем все изменения процентных ставок
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                  + " where (RecordIndex = :MasterID) and (ProgIndex=135)"
                  + " and (AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Параметр("StartDate").КакДробное := РасширДатаНачала;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      пока (не В.ВКонце) делать                 
      начало
        СубПериоды.Вставить;
        Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(В.ПолеПоИмени("acceptdate").КакДробное, ПолучитьСмещение("Изменение ставки процентов"), ТипГода);
        Субпериоды.ПолеПоИмени("note").КакСтрока := "изменение процентной ставки";
        Субпериоды.ПолеПоИмени("Percent").КакДробное := В.ПолеПоИмени("Percent").КакДробное;
        СубПериоды.Сохранить;
        В.Следующая;        
      конец;
      
      если СПланом тогда
      начало
        // Выбираем все плановые получения
        В.Запрос := "select PlanDate, Credit, Debit, CurrencySumma from Debt "
                   + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                   + " and (PlanDate &gt;= :StartDate) and (PlanDate &lt;= :EndDate)"
                   + " and (AcceptDate is null)";
        В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
        // Так, как субпериод по выдаче формируется на след. день, то берем предыдущие числа
        если РасширДатаНачала &gt; 101 тогда
          В.Параметр("StartDate").КакДробное := ПредыдущаяДата(РасширДатаНачала, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе
          В.Параметр("StartDate").КакДробное := 101;
        В.Параметр("EndDate").КакДробное := РасширДатаКонца;
        В.Открыть;
        В.ВНачало;
        // Выкидываем в субпериоды
        пока (не В.ВКонце) делать 
        начало
          СубПериоды.Вставить;
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановая выдача кредита";
          Субпериоды.ПолеПоИмени("Credit").КакДробное := В.ПолеПоИмени("Credit").КакДробное - В.ПолеПоИмени("Debit").КакДробное;
          Субпериоды.Поле("CurrencyCredit").КакДробное := В.Поле("CurrencySumma").КакДробное;
          СубПериоды.Сохранить;
          в.Следующая;        
        конец;
        
        // Выбираем все плановые погашения
        В.Запрос := "select PlanDate, RecordDate, Debit, Credit, CurrencySumma from Debt "
                   + " where (ProgIndex = 132) and (RecordIndex = :MasterID)"
                   + " and ( (PlanDate &gt;= :StartDate) and (PlanDate &lt;= :EndDate) and (AcceptDate is null) ) ";
        В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
        В.Параметр("StartDate").КакДробное := РасширДатаНачала;
        В.Параметр("EndDate").КакДробное := РасширДатаКонца;
        В.Открыть;
        В.ВНачало;
        // Выкидываем в субпериоды
        пока (не В.ВКонце) делать 
        начало
          СубПериоды.Вставить;
          // т.к. день погашения также облагается процентом, берем след.
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("PlanDate").КакДробное, ПолучитьСмещение("Плановое погашение"), ТипГода);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое погашение кредита";
          Субпериоды.ПолеПоИмени("Debit").КакДробное := В.ПолеПоИмени("Debit").КакДробное - В.ПолеПоИмени("Credit").КакДробное;
          Субпериоды.Поле("CurrencyDebit").КакДробное := В.Поле("CurrencySumma").КакДробное;
          СубПериоды.Сохранить;
          В.Следующая;        
        конец;
      конец;
    конец;// Конец детальной разбивки
    
    // Разбиваем по месяцам, если это указано в заголовке
    СформироватьПериодыПоДлине(ИДЗаголовка, Субпериоды, РасширДатаНачала, РасширДатаКонца, "334");
    //если ТипГода = 1 тогда
      //ОткорректироватьДатыСубпериодов(Субпериоды);
    // Упорядочиваем субпериоды
    Субпериоды.Индекс := "Date";
    Субпериоды.ВНачало;
    Результат := Субпериоды;
  обязательно
    УдалитьОбъект(В);
  конец;  
конец;

// Считает процент по кредиту на проставленные даты
функция РасчетПроцентов(ИДЗаголовка: целое; ДатаНачала, ДатаКонца, СуммаВВалюте: дробное): дробное;
переменные
  Субпериоды: СтатическиеДанные;
  Остаток, СубСумма, НачалоСубпериода, НачалоСледующегоСубпериода, Процент: дробное;
  Год, ДлинаСубпериода, ТипГода: целое;
  ПолеКредит, ПолеДебет: строка;
  ЭтоНацВалюта: целое;
начало
  
  Результат := 0;
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(ИДЗаголовка) = КодНацВалюты);
  ПолеКредит := "Credit";
  ПолеДебет := "Debit";
  если не ЭтоНацВалюта тогда
  начало
    ПолеКредит := "CurrencyCredit";
    ПолеДебет := "CurrencyDebit";
  конец;
  попытка
    Субпериоды := СформироватьСубпериоды(ИДЗаголовка, 0101, СледующаяДата(ДатаКонца, 1, ТипГода), Истина);
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(СубПериоды);
    СубПериоды.Вставить;                         
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;
    Год := ГодДаты(ДатаНачала);
    пока Год &lt;= ГодДаты(ДатаКонца) делать
    начало
      СубПериоды.Вставить;                         
      Субпериоды.ПолеПоИмени("date").КакДробное := Год * 10000 + 101;                    
      СубПериоды.Сохранить;
      Год := Год + 1;
    конец;
    СубПериоды.Индекс := "Date";
    Остаток := 0;
    Процент := 0;
    СубСумма := 0;
    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) и (не Субпериоды.ВКонце) делать
    начало
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное 
                                                       - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоимени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;
    
    НачалоСубпериода := ДатаНачала;                         

    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
      Год := ГодДаты(ПредыдущаяДата(Субпериоды.ПолеПоИмени("date").КакДробное, 1, 0));
      НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
      ДлинаСубПериода := ЧислоДнейВПериоде(ИДЗаголовка, НачалоСубпериода, НачалоСледующегоСубПериода);
      Субсумма :=  Остаток * ДлинаСубПериода * Процент / (ЧислоДнейВЛюбомГоду(ИДЗаголовка, Год) * 100);
      если Субсумма &lt; 0 тогда Субсумма := 0;
      Результат := Результат + СубСумма;    

      // измененные условия кредита
      Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
      если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;

      НачалоСубпериода := НачалоСледующегоСубПериода;
      СубПериоды.Следующая;
    конец;
    //Результат := ОкруглитьДоЗнака(Результат, 2);
    СуммаВВалюте := 0;
    если не ЭтоНацВалюта тогда
    начало
      СуммаВВалюте := Результат;
      Результат := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(ИДЗаголовка), ДатаКонца) * СуммаВВалюте;
    конец;
    Результат := ОкруглитьДоЗнака(Результат, 2);
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;  
конец;

//Ищет в строке указанный символ, возвращает подстроку до символа, а в остаток - подстроку после символа
функция ВыделитьПодстрокуДоСимвола(Стр, Символ, Остаток: Строка): Строка;
переменные
  Поз: целое; 
начало
  Поз := Позиция(Символ, Стр);
  если Поз &gt; 0 тогда
  начало
    Результат := Подстрока(Стр, 1, Поз - 1);
    Остаток := Подстрока(Стр, Поз + 1, Длина(Стр) - Поз);
  конец
  иначе
  начало
    //Если не нашли, то возвращаем всю строку, а остаток пустой
    Результат := Стр;
    Остаток := "";
  конец;  
конец;

// Добавление записи в график уплаты процентов 
// Может использоваться в скрипте Расчета процентов
функция ДобавитьВГрафикУплатыПроцентов(ИДЗаголовка, ИДЗаписи: целое; Дата, СуммаВВалюте, Сумма: дробное; КодВалюты: целое);
переменные
  ГрафикПроц: СтатическиеДанные;
  
начало
  ГрафикПроц := СоздатьСтатическиеДанные;
  ГрафикПроц.СоединитьБД;
  ГрафикПроц.Запрос := "[PumpData] {"
                      + " select id, PlanDate, ProgIndex, RecordIndex, Summa, CurrencyCLS, CurrencySumma from LoanCreditPlan"
                      + " where (id = @RecordId)"
                      + " and (ProgIndex = 138)"
                      + "}"  
                      + "[InsertData]{"
                      + "insert into LoanCreditPlan (id, PlanDate, ProgIndex, RecordIndex, Summa, CurrencyCLS, CurrencySumma)"
                      + "values (@id, @PlanDate, 138, @RecordIndex, @Summa, @CurrencyCLS, @CurrencySumma)"
                      + "}"
                      + "[ModifyData]{"
                      + " update LoanCreditPlan set "
                      + " PlanDate = @PlanDate,"
                      + " Summa = @Summa,"
                      + " CurrencySumma = @CurrencySumma,"
                      + " CurrencyCLS = @CurrencyCLS"
                      + " where id = @id"
                      + "}";
  попытка
    // Проверяем, есть ли похожие записизаписи
    ГрафикПроц.Параметр("RecordID") := ЦелоеВСтроку(ИДЗаписи);
    ГрафикПроц.Открыть;
    
    если ГрафикПроц.Поле("Id").Пустое тогда 
    // Вставляем новую запись
    начало
      ГрафикПроц.Вставить;     
      ГрафикПроц.Поле("id").КакЦелое := ИДЗаписи;    
      ГрафикПроц.Поле("RecordIndex").КакЦелое := ИДЗаголовка;    
    конец
    иначе
      // Изменяем старую запись
      ГрафикПроц.Редактировать;

    ГрафикПроц.Поле("Summa").КакДробное := Сумма;    
    ГрафикПроц.Поле("CurrencySumma").КакДробное := СуммаВВалюте;    
    ГрафикПроц.Поле("CurrencyCLS").КакЦелое := КодВалюты;    
    если Дата &gt; 0 тогда
      ГрафикПроц.Поле("PlanDate").КакДробное := Дата
    иначе
      ГрафикПроц.Поле("PlanDate").КакСтрока := "";      
    ГрафикПроц.Сохранить;
    ГрафикПроц.СохранитьИзменения;
  обязательно
    УдалитьОбъект(ГрафикПроц);
  конец;
конец;
</value>
    <param value="ДляКредитов.abl" type="3" name="Export">GEN\gen\09.11.2005 12:02:34</param>
    <param value="ДляКредитов.abl" type="3" name="version">34.095.RP.042</param>
    <param value="ДляКредитов.abl" type="3" name="crc32">$B556A346</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\ДобавлениеПогашения">
    <value type="3" name="Заголовок">Добавление записей погашения</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Project";
включить "Бюджет\Ресурсы\библиотеки\ABlTools.lib";
включить "Бюджет\Ресурсы\Макросы\Стандартные.abl";

переменные
  ф: ФормаВвода;           
  МастерДанные, ПогашениеДанные, СписокЗаголовков : СтатическиеДанные;
  МастерСетка : СеткаДанных;
  ДатаНачала, ДатаКонца : дробное;
  ДатаПогашения : дробное;
  Продолжать, НомерДетПогашение, РежимЗаголовков, ИДТекущей : целое;
начало
  Ф := ПолучитьФормуВвода;
  если Ф.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("В заголовках договоров нет данных.");
  РежимЗаголовков := ф.АктивнаяДетализация=-1;
  НомерДетПогашение := Ф.ПолучитьДетализациюПоИмени("Погашение"); 
  если (не РежимЗаголовков) и (ф.АктивнаяДетализация&lt;&gt;НомерДетПогашение)
  тогда ВызватьОшибку("Должна быть активной страница заголовков или 'Погашение'.");
   
  МастерДанные := ф.Заголовки.Таблица;
  МастерСетка := ф.Заголовки.Сетка;  
  ПогашениеДанные := ф.Детализация(НомерДетПогашение).Таблица;

  СписокЗаголовков := СоздатьСтатическиеДанные;
  СписокЗаголовков.ДобавитьЦелоеПоле("ID");
  СписокЗаголовков.Open;
  
  Диалог.Очистить;
   //получаем список выделенных заголовков или текущий
   если МастерСетка.ЕстьВыделенныеСтроки
   тогда начало
     СписокЗаголовков.PumpData(МастерСетка.ПолучитьВыделенныеСтроки ,"");
     Диалог.Заголовок := "Ежедневное погашение по списку договоров";
   конец  
   иначе начало
       СписокЗаголовков.Append;
       СписокЗаголовков.Поле("ID").КакЦелое := МастерДанные.Поле("ID").КакЦелое;
       СписокЗаголовков.Post;
       Диалог.Заголовок := "Ежедневное погашение по текущему договору";
   конец;

  Диалог.Добавить("С", "ДатаНачала", 0, Календарь,'99.99.9999');
  Диалог.Значение("ДатаНачала") := DateToStr(ТекущаяДата); 
  Диалог.Добавить("По", "ДатаКонца", 0, Календарь,'99.99.9999');
  Диалог.Добавить("Установить дату уплаты","УстДатуУплаты",0,Проверка+ТолькоЧтение);
  
  если Диалог.Выполнить
  тогда начало
    МастерДанные.DisableControls;
     //Дизэйблить деталь нельзя, иначе не будут копироваться поля
//    ПогашениеДанные.DisableControls;
    попытка 
      ДатаНачала := StrToDateEx(Диалог.Значение("ДатаНачала"));
      ДатаКонца := StrToDateEx(Диалог.Значение("ДатаКонца"));
      СписокЗаголовков.First;
      если РежимЗаголовков тогда МастерДанные.First;
      пока не СписокЗаголовков.EOF делать
      начало
        если РежимЗаголовков 
        тогда начало
          если не МастерДанные.Locate("ID",СписокЗаголовков.Поле("ID").КакЦелое,0)
          тогда ВызватьОшибку("Ошибка при поиске заголовка.");
          ф.Детализация(НомерДетПогашение).Открыть;
        конец; 
        если Ф.АктивнаяДетализация &gt; -1 тогда
          ИДТекущей := ПогашениеДанные.Поле("ID").КакЦелое;
        ДатаПогашения := ДатаНачала;
        ПогашениеДанные.Last;
        Продолжать := истина;
        пока (ДатаПогашения&lt;=ДатаКонца) и Продолжать делать
        начало
          ПогашениеДанные.ВНачало;           
          если ПогашениеДанные.Локализовать("PlanDate", ДатаПогашения, 0) тогда
            Продолжать := Сообщение("Плановое погашение на дату " + DateToStr(РасширДатаВОбычную(ДатаПогашения)) + " уже установлено! Продолжить?", Сообщение_Вопрос, Кнопка_Да+Кнопка_Нет) = Результат_Да
          иначе
          начало
            если Ф.АктивнаяДетализация &gt; -1 тогда
              ПогашениеДанные.Локализовать("ID", ИДТекущей, 0)
            иначе
              ПогашениеДанные.Last;               
            ПогашениеДанные.Append;
            если Диалог.Флаг("УстДатуУплаты") 
            тогда ПогашениеДанные.Поле("AcceptDate").КакДробное := ДатаПогашения
            иначе ПогашениеДанные.Поле("AcceptDate").Clear; 
            ПогашениеДанные.Поле("PlanDate").КакДробное := ДатаПогашения;
            попытка
              ПогашениеДанные.Post;
            неудача
              ПогашениеДанные.Cancel;    
              если (Позиция("должно иметь значение", ПоследняяОшибка) &lt;&gt; 0) или
                   (Позиция("должна быть заполнена", ПоследняяОшибка) &lt;&gt; 0) тогда
                ВызватьОшибку(ПоследняяОшибка + ". Для устранения ошибки заполните это поле в значениях по умолчанию")
              иначе ВызватьОшибку(ПоследняяОшибка);  
            конец;            
          конец;
          ДатаПогашения := СледующееЧисло(ДатаПогашения,1);
        конец;
        ПогашениеДанные.ApplyUpdates;
        СписокЗаголовков.Next;
      конец;//пока не СписокЗаголовков.EOF
      МастерДанные.ApplyUpdates;
    обязательно
      МастерДанные.EnableControls;
      Ф.Детализация(Ф.АктивнаяДетализация).Открыть;
//      ПогашениеДанные.EnableControls;
    конец;    
  конец;//если
конец;
</value>
    <value type="3" name="Описание">Добавление записей погашения каждый день за определенный период</value>
    <param value="Заголовок" type="3" name="version">34.095.RP.042</param>
    <param value="Заголовок" type="3" name="crc32">$EDD808E0</param>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$1937E4E0</param>
    <param value="Описание" type="3" name="version">34.095.RP.042</param>
    <param value="Описание" type="3" name="crc32">$0A23F0EB</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\КурсоваяРазница">
    <value type="3" name="Заголовок">Курсовая разница</value>
    <value type="7" name="Код программы">// Ефименков А.В., 2003г.
// Формирует на закладке "Курс. разница" записи о курсовой разнице
включить "Бюджет\Ресурсы\Макросы\ДляКурсовойРазницы.abl";
включить "Бюджет\Ресурсы\Макросы\ДляКурсовойРазницыОбщее.abl";
начало
  КурсоваяРазница(ПрогИндексКредиты);
конец.
</value>
    <param value="Заголовок" type="3" name="version">34.095.RP.042</param>
    <param value="Заголовок" type="3" name="crc32">$A162122B</param>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$34B91FD6</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\НаОперациюСТаблицей">
    <value type="7" name="Код программы">НаОперациюСТаблицей(ПередСохранением: целое; Данные, Операция: целое): целое;
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Project";

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Кредиты\Параметры"; 

функция ПроверитьДоговораЗаДень(Мастер, СС: СтатическиеДанные): целое;
начало
   если (не Мастер.Поле("DateInput").Пустое) тогда
   начало
       СС.Запрос := "[PumpData] {select ID from LoanCredit where (ProgIndex = 130) and (DateInput = @DateInputParam) " 
                       +" and (Number = '@NumberParam') and (ID &lt;&gt; @IDParam) and (BudgetRef = @Budget)}";
       СС.Параметр("DateInputParam") := Мастер.Поле("DateInput").КакСтрока;
       СС.Параметр("NumberParam") := Мастер.Поле("Number").КакСтрока;
       СС.Параметр("IDParam") := Мастер.Поле("ID").КакСтрока;
       СС.Параметр("Budget") := Мастер.Поле("BudgetRef").КакСтрока;
       СС.Открыть;
       если СС.ЧислоЗаписей &gt; 0
           тогда ВызватьОшибку("За даный день уже существует другой договор с таким же номером.");
    конец;
конец;

функция ПроверитьДоговораПоОрганизации(Мастер, СС: СтатическиеДанные): целое;
начало
 если (не Мастер.Поле("Org_Ref").Пустое) тогда
 начало
   СС.Очистить;
   СС.Закрыть;
   СС.Запрос := "[PumpData] {select ID from LoanCredit where (ProgIndex = 130) and (Org_Ref = @Org_RefParam) " 
                       +" and (Number = '@NumberParam') and (ID &lt;&gt; @IDParam) and (BudgetRef = @Budget)}";
   СС.Параметр("Org_RefParam") := Мастер.Поле("Org_Ref").КакСтрока;
   СС.Параметр("NumberParam") := Мастер.Поле("Number").КакСтрока;
   СС.Параметр("IDParam") := Мастер.Поле("id").КакСтрока;
   СС.Параметр("Budget") := Мастер.Поле("BudgetRef").КакСтрока;
   СС.Открыть;
   если СС.ЧислоЗаписей &gt; 0
       тогда ВызватьОшибку("Для данной организации уже существует другой договор с таким же номером.");
  конец;     
конец;

// пробегаем по детализациям и изменяем классификаторы так, как это заведено в заголовке
функция СинхронизироватьКлассификаторы;
переменные
  Ф: ФормаВвода;
  Заголовки: СтатическиеДанные;
  В: Выборка;
  к: целое;
начало
  Ф := ПолучитьФормуВвода;
  Заголовки := Ф.Заголовки.Таблица;
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // Изменяем в получении/погашении
    В.Запрос := "update Debt set"
                + " RegionCLS = " + Заголовки.Поле("RegionCLS").КакСтрока
                + " where"
                + " RecordIndex = " + Заголовки.Поле("ID").КакСтрока;
    В.Выполнить;
    // Изменяем в уплате %/ доп. расходах
    В.Запрос := "update FinDocDetail set"
                + " RegionCLS = " + Заголовки.Поле("RegionCLS").КакСтрока + ","
                + " Fact = " + Заголовки.Поле("Fact").КакСтрока + ","
                + " FacialAcc_CLS = " + Заголовки.Поле("FacialAcc_CLS").КакСтрока
                + " where"
                + " RecordIndex = " + Заголовки.Поле("ID").КакСтрока;
    В.Выполнить;
    Ф.Детализация(Ф.АктивнаяДетализация).Открыть;
  неудача
    ВызватьОшибку("Невозможно изменить классификаторы!");
  конец;
конец;

// Эта функция запрещает пользователю вводить виды заимствования, не сопоставленные бух счету
функция КонтрольВидаЗаимствования(Заголовки: СтатическиеДанные);
переменные
  В: Выборка;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select BuhAccount from DebtType where id = " + Заголовки.Поле("DebtType").КакСтрока;
    В.Открыть;
    если В.Поле("BuhAccount").КакЦелое = 0 тогда
      ВызватьОшибку("Значению в поле 'Вид заимствования' не соответствует бухгалтерский счет!!!");
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

функция КонтрольБухСчетаВДетализации(Заголовки, Детализация: СтатическиеДанные);
переменные
  В: Выборка;
  СчетЗаголовка: целое;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select BuhAccount from DebtType where id = " + Заголовки.Поле("DebtType").КакСтрока;
    В.Открыть;
    СчетЗаголовка := В.Поле("buhAccount").КакЦелое;
    В.Закрыть;
    если ЦелаяКонстанта(16, 6) = 0 тогда
    начало
      если Детализация.Поле("SubKD").КакСтрока = "" тогда
        ВызватьОшибку("Поле 'Субкод' должно быть заполнено.");
      В.Запрос := "select BuhAccount from SubKD where id = " + Детализация.Поле("SubKD").КакСтрока;
    конец
    иначе  
      если мод(Детализация.Поле("Credit").КакДробное) &gt; 0.005 тогда
        В.Запрос := "select Credit BuhAccount from AccountsCorr where BuhOperationID = " + ЦелоеВСтроку(Детализация.Поле("BuhPaymentCLS").КакЦелое)
      иначе  
        В.Запрос := "select Debit BuhAccount from AccountsCorr where BuhOperationID = " + ЦелоеВСтроку(Детализация.Поле("BuhPaymentCLS").КакЦелое);
    В.Открыть;
    если (В.Поле("BuhAccount").КакЦелое цел 100) &lt;&gt; (СчетЗаголовка цел 100) тогда
      если Реестр.Узел(УзелПараметров).Значение("Контроль проводки в детализациях").КакЦелое = 1 тогда
        ВызватьОшибку("Проводка в детализации не соответствует виду заимствования!!!")
      иначе
        Сообщение("Проводка в детализации не соответствует виду заимствования!!!", Сообщение_Предупреждение);
  обязательно
  конец;
конец;

функция ПроверитьНаВозможностьСменыОрганизации(Мастер: СтатическиеДанные): целое;
переменные
  В: Выборка;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select count(id) IDCount from Debt where ProgIndex in (131,132) and RecordIndex = " + Мастер.Поле("id").КакСтрока;
    В.Открыть;
    если В.Поле("IDCount").КакЦелое &gt; 0 тогда
      ВызватьОшибку("Нельзя сменить организацию, т.к. в детализации имеются записи");
    В.Закрыть;
    В.Запрос := "select count(id) IDCount from FinDocDetail where ProgIndex in (133,338,339) and RecordIndex = " + Мастер.Поле("id").КакСтрока;
    В.Открыть;
    если В.Поле("IDCount").КакЦелое &gt; 0 тогда
      ВызватьОшибку("Нельзя сменить организацию, т.к. в детализации имеются записи");
  обязательно
    УдалитьОбъект(В);
  конец;
конец;


переменные
  ф: ФормаВвода;           
  Мастер, СС: СтатическиеДанные;
  Синхронизировать: целое;
начало
  //on Caption Before Post
  если (Данные &lt; 0) и (ПередСохранением = 1) и (Операция = 7) 
  тогда начало
    Ф := ПолучитьФормуВвода;
    Мастер := Ф.Заголовки.Таблица; 
    если  (не Мастер.Поле("Number").Пустое)
    тогда начало 
      СС := СоздатьСтатическиеДанные;
      попытка
          СС.СоединитьБД;
                                          
          // Эта функция следит за вводом договоров с одинаковым номером за один день
          если Реестр.Узел(УзелПараметров).Значение("Уникальный номер за день").КакФлаг тогда
            ПроверитьДоговораЗаДень(Мастер, СС);

          // Эта функция следит за вводом договоров с одинаковым номером для данной организации
          если Реестр.Узел(УзелПараметров).Значение("Уникальный номер для организации").КакФлаг тогда
            ПроверитьДоговораПоОрганизации(Мастер, СС);

          // Эта функция производит контроль ввода вида заимствования
          если Реестр.Узел(УзелПараметров).Значение("Контроль вида заимствования").КакФлаг тогда
            КонтрольВидаЗаимствования(Мастер); 
            
          // Проверяем, имеет ли юзер права на смену организации
          если (не Реестр.Узел(УзелПараметров).Значение("Разрешить смену организации в заголовке").КакФлаг) 
            и (Мастер.Поле("Org_Ref").КакЦелое &lt;&gt; Мастер.Поле("Org_Ref").СтароеЗначениеЦелое) тогда
            ПроверитьНаВозможностьСменыОрганизации(Мастер);   
          // Синхронизируем классификаторы в детализации с заголовком
          если (Мастер.Поле("RegionCLS").СтароеЗначениеЦелое &lt;&gt; Мастер.Поле("RegionCLS").КакЦелое) или
            (Мастер.Поле("Fact").СтароеЗначениеЦелое &lt;&gt; Мастер.Поле("Fact").КакЦелое) или
            (Мастер.Поле("FacialAcc_CLS").СтароеЗначениеЦелое &lt;&gt; Мастер.Поле("FacialAcc_CLS").КакЦелое) тогда
          начало  
            Синхронизировать := Ложь;
            если Реестр.Узел(УзелПараметров).Значение("Синхронизировать классификаторы с заголовком").КакЦелое = 0 тогда
            начало
              если Сообщение("Синхронизировать классификаторы с заголовком?", Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) = Результат_Да тогда
                Синхронизировать := Истина;
            конец; 
// Если значение Всегда=2, то истина
            если Реестр.Узел(УзелПараметров).Значение("Синхронизировать классификаторы с заголовком").КакЦелое = 2 тогда
              Синхронизировать := Истина;
            если Синхронизировать тогда
              СинхронизироватьКлассификаторы;  
          конец;
      обязательно
        УдалитьОбъект(СС);
      конец;
    конец;//если    
  конец;//если
  
  если ((Данные = 0) или (Данные = 2)) и ((Ф.АктивнаяДетализация = 0) или (Ф.АктивнаяДетализация = 2))  
    и (ПередСохранением = 1) и (Операция = 7) и (Реестр.Узел(УзелПараметров).Значение("Контроль проводки в детализациях").КакЦелое &gt; 0) тогда
  начало
    Ф := ПолучитьФормуВвода;
    Мастер := Ф.Заголовки.Таблица;
    // Эта функция производит контроль бухсчетов на непротиворечивость с видом заимствования
    КонтрольБухСчетаВДетализации(Мастер, Ф.Детализация(Ф.АктивнаяДетализация).Таблица);
  конец;
конец;
</value>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$35504436</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\ПересчетВалюты">
    <value type="3" name="Заголовок">Пересчет валютных сумм в рублевые</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ПересчетВРубли.abl";
начало
  ПересчетВРубли(0);
конец.



</value>
    <param value="Заголовок" type="3" name="version">34.095.RP.042</param>
    <param value="Заголовок" type="3" name="crc32">$D70B1064</param>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$D0C0C86B</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\Поиск">
    <value type="3" name="ИсточникВнутрФин">0</value>
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";


константы
  УзелПоиска = "Бюджет\Объекты\Настройки\Ссуды\Поиск";

  НеИспользовать = "Не использовать";
  ПоПогашению = "По погашению";
  ПоВыдаче = "По получению";
  ПоВсему = "По получению и погашению";

переменные
  Ф: ФормаВвода;
  В: Выборка ;
  Мастер, Детализация: СтатическиеДанные;
  Найдено: целое;
  Фраг: строка ;
  Внутр, СубКД: целое;


  функция ПоискПоДетализации: целое;
  
  Переменные
  Запр, Запрос: строка;
  
  начало
  
    Запр := "select " +
    "  d.IFS, " +
    "  d.OFS, " +
    "  d.SubKD " +
    "from " +
    "  Debt d " +
    "where "; 

    результат := да;
    выбрать Диалог.Значение("Детал") из
      Неиспользовать: Результат :=  нет;
      ПоВыдаче:    Запрос := Запр + "(ProgIndex = 131) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")"; 
      ПоПогашению: Запрос := Запр + "(ProgIndex = 132) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")"; 
      ПоВсему:     Запрос := Запр + "(ProgIndex in (131, 132)) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")";
    конец;
    
    Если Результат = да тогда
    начало
      Результат := нет;
      В.Запрос := Запрос;
      В.Открыть;
      В.ВНачало;
      пока (не В.ВКонце) и (Результат = нет) делать
      начало
        Если ((Внутр = 0) или (В.Поле("IFS").КакЦелое   = Внутр)) и
             ((СубКД = 0) или (В.Поле("SUBKD").КакЦелое = СубКД)) тогда Результат := да
                                                                  иначе В.Следующий;
      конец;
    конец;
  конец;

начало

  // Диалог для указания лицевого счета
  Диалог.Очистить;
  Диалог.Заголовок := "Поиск";
  Диалог.Добавить("Фрагмент", "Фраг", 0,0 , "");

  Диалог.Добавить("Детализация", "Детал", 0, Список + ТолькоЧтение, "", Неиспользовать + #13#10 + Попогашению + #13#10 + Повыдаче + #13#10 + ПоВсему);
  Диалог.Значение("Детал") := НеИспользовать;

  Диалог.ДобавитьКлассификатор("Ист. внутр. финансирования",тк_ИсточникВнутрФин,0/*,,"##.#.#.#"*/) ;                
  Диалог.ДобавитьКлассификатор("СубКД",тк_СубКД,0/*,,"##.##.##"*/) ;
                  
  Диалог.Добавить("Направление", "Направление", 0, Список + ТолькоЧтение, "", "вперед" + #13#10 + "назад");
  Диалог.Значение("Направление") := "вперед";
    
  Диалог.Значение("фраг") :=              Реестр.Узел(УзелПоиска).Значение("Фрагмент").КакСтрока;    
  Диалог.Значение(тк_ИсточникВнутрФин) := Реестр.Узел(УзелПоиска).Значение("ИсточникВнутрФин").КакСтрока;    
  Диалог.Значение(тк_СубКД) :=            Реестр.Узел(УзелПоиска).Значение("СубКД").КакСтрока;    
    
  // Инициализация
  Ф := ПолучитьФормуВвода;
  В := СоздатьВыборку; 
  В.БазаДанных := Бюджет;
  
  // Определяем активную форму ввода и активную таблицу
  если Ф.АктивнаяДетализация = -1 тогда начало
    // Активные заголовки, придется открывать каждый и проверять наличие искомого значения
    Мастер := Ф.Заголовки.Таблица;

    // Выход из цикла поиска только путем нажатия кнопки "отмена" в диалоге
    пока Диалог.Выполнить делать начало
    
      Внутр :=   Диалог.Значение(тк_ИсточникВнутрФин);  
      СубКД :=   Диалог.Значение(тк_СубКД); 
      Фраг := Диалог.Значение("фраг");

      Реестр.Узел(УзелПоиска).Значение("Фрагмент").КакСтрока :=         Фраг;
      Реестр.Узел(УзелПоиска).Значение("ИсточникВнутрФин").КакСтрока := Внутр;
      Реестр.Узел(УзелПоиска).Значение("СубКД").КакСтрока :=            СубКД;      
      попытка
        Мастер.ЗапретитьПрорисовку;
        Найдено := Нет;
        если Диалог.Значение("Направление") = "вперед" 
        тогда Мастер.Следующая 
        иначе Мастер.Prior;
        пока ( ((Диалог.Значение("Направление") = "вперед") и (не Мастер.ВКонце))
               или ((Диалог.Значение("Направление") = "назад") и (не Мастер.ВНачале)) ) 
               и (не Найдено) делать 
        начало
          если ПоискПоДетализации
               или ((Фраг &lt;&gt; "") и ((Позиция(Прописные(Фраг), Прописные(Мастер.Поле("number").КакСтрока)) &gt; 0) 
               или (Позиция(Прописные(Фраг), Прописные(Мастер.Поле("note").КакСтрока)) &gt; 0)
               или (Позиция(Прописные(Фраг), Прописные(Мастер.Поле("name").КакСтрока)) &gt; 0)))
            // Если лицевой счет найден, тогда выйти из цикла
            тогда Найдено := Да
            иначе 
              если Диалог.Значение("Направление") = "вперед" 
              тогда Мастер.Следующая 
              иначе Мастер.Prior;
        конец;
        если Мастер.ВНачале или Мастер.ВКонце тогда 
          Сообщение("Достигнут конец списка") ;
      обязательно
        Мастер.РазрешитьПрорисовку;
      конец;
    конец 
  
  конец 
  
  иначе начало
    Сообщение("Для поиска выйдите в заголовки договоров") ;
    выход ;
  конец;

  // Сохранить последний использовавшийся лицевой счет
  Реестр.Узел(РабочийУзел).Значение("Фрагмент").КакСтрока :=         Фраг;
  Реестр.Узел(РабочийУзел).Значение("ИсточникВнутрФин").КакСтрока := Внутр;
  Реестр.Узел(РабочийУзел).Значение("СубКД").КакСтрока :=            СубКД;

конец.
</value>
    <param value="Код программы" type="3" name="Export">PARFENOV\parfenovmv\09.03.2006 11:11:33</param>
    <value type="3" name="СубКД">0</value>
    <value type="3" name="Фрагмент" />
    <param value="ИсточникВнутрФин" type="3" name="version">34.095.RP.042</param>
    <param value="ИсточникВнутрФин" type="3" name="crc32">$26D930AC</param>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$20C453F8</param>
    <param value="СубКД" type="3" name="version">34.095.RP.042</param>
    <param value="СубКД" type="3" name="crc32">$26D930AC</param>
    <param value="Фрагмент" type="3" name="version">34.095.RP.042</param>
    <param value="Фрагмент" type="3" name="crc32">$00000000</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\формГрафикПогашения">
    <value type="3" name="Заголовок">Периоды погашения</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Output.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\Макросы\ДляКредитов.abl";
включить "Бюджет\Ресурсы\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Project";

константы
  erCapClosed = "Нет данных по договорам";
  erFieldMustBe = "Поле '%s' должно быть %s";
  erSaveChanges = "Сохраните изменения и повторите попытку";
  erUserAbort = "Действие прервано пользователем";
  erTwoFields = "%s не может быть %s %s";
  Состояние_Просмотр = 1;
  
переменные
  Ф : ФормаВвода;                        // интерфейс ввода
  Д : ДиалогПараметров; 
  Договор, Деталь, Заголовок : СтатическиеДанные;
  ДатаНачала, Периодичность, ДатаКонца, ГодКонца, БылаОшибкаВДанных, Счетчик, рез, Процент : целое;
  ОВ : ОкноВывода;                     // Для вычисления даты конца
  СтарыйФильтр : Строка;
  КонецМесяца : целое; // Если истина, то значит день даты последний день месяца



функция ФормироватьПериодыПогашения(л_Заг, л_Дет : СтатическиеДанные; Периодичность : целое) : целое;
переменные
  Индекс, ЧислоПериодов, Дата : целое;
  г, м, д, г1, м1, д1, КодВалЗаг : целое;
  ЧислоМесяцев, СуммаНац, СуммаВал, СуммаОбщДетВал, СуммаОбщДетНац, СуммаПерВал, СуммаПерНац : дробное;
  ИмяПоляОбщейСуммы : Строка;
  ДатаПослДет, гп, мп, дп : Целое;       // Дата, её год, месяц и день последней записи детализации
начало
  результат := истина;
  // просто мочим от даты из поля ReturnStartDate
  КодВалЗаг := л_Заг.Поле("CurrencyCLS").КакЦелое; 
  СуммаНац := л_Заг.Поле("Summa").КакДробное;
  СуммаВал := л_Заг.Поле("CurrencySumma").КакДробное;  
  //Возня с суммой: если других периодов нет, то бъем сумму из заголовка*процент из диалога на столько сколько нужно частей
  // если периоды уже есть, тогда бъем (суммазаголовка-сумматоталдетали)*процент на равные части
  Дата := ДатаНачала;
// Если Дата последний день месяца, то установим КонецМесяца в истину (для месяцев в которых меьньше 31)
  если Дата=ПолучитьДатуКонцаМесяца(Дата, 0) тогда КонецМесяца := истина;
  г := ГодДаты(Дата);  
  м := МесяцДаты(Дата);  
  д := ДеньДаты(Дата);
// Если в детализации имеются записи, тогда с Божьей получим дату начала погашения
  если л_Дет.ЧислоЗаписей &lt;&gt;0 тогда
    начало
      л_Дет.Индекс := "PlanDate";
      л_Дет.Last;
      ДатаПослДет := ОбычнаяДатаВРасшир(СтрокаВДатуФ(л_Дет.Поле("PlanDate").КакЦелое, "YYYYMMDD"));
      гп := ГодДаты(ДатаПослДет);  
      мп := МесяцДаты(ДатаПослДет);  
      дп := ДеньДаты(ДатаПослДет);
      если д &lt;= дп и не КонецМесяца тогда 
      если мп + Периодичность &gt; 12 тогда//сместили
      начало
        г := г + 1;                    //дату для
        выбрать Периодичность из
          1, 3, 6 : если ((мп + периодичность) ост 12) = 0 тогда м := 1 иначе м := (мп + периодичность) ост 12;
        конец;
      конец                            //следующего погашения
      иначе
        м := мп + Периодичность;
      Дата := г*10000+м*100+д;
      если (м=2 и д=30) тогда Дата := ПолучитьДатуКонцаМесяца(Дата, 0);
      если КонецМесяца и Периодичность=1 и м1&lt;&gt;м тогда Дата := ПолучитьДатуКонцаМесяца(Дата, 0); 
  конец;
  д1 := ДеньДаты(ДатаКонца);
  г1 := ГодДаты(ДатаКонца);  
  м1 := МесяцДаты(ДатаКонца);
  
  СуммаОбщДетВал := 0;
  СуммаОбщДетНац := 0;
  л_Дет.ВНачало;
  пока не л_Дет.ВКонце делать
  начало 
    СуммаОбщДетНац := СуммаОбщДетНац + л_Дет.Поле("summa").КакДробное; 
    СуммаОбщДетВал := СуммаОбщДетВал + л_Дет.Поле("currencysumma").КакДробное; 
    л_Дет.Следующая; 
  конец;
  // шоб ноль с нолем не сравнить
  если ((СуммаОбщДетНац &gt;= СуммаНац) и (ЦелаяКонстанта(19, 4) = КодВалЗаг) и (СуммаНац &lt;&gt; 0))  или ((СуммаОбщДетВал &gt;= СуммаВал) и (ЦелаяКонстанта(19, 4) &lt;&gt; КодВалЗаг) и (СуммаВал &lt;&gt; 0)) тогда
  начало
    ОВ.Вывести("100 процентов основного долга уже расписаны в графике");
    результат := ложь;
  конец
  иначе
  начало   
    // сколько всего месяцев в указанном промежутке
    ЧислоМесяцев := (г1 - г) * 12 + (м1 - м);
    // если день конца позже дня начала - то получаем 1 неполный месяц 
    // И снизашло на меня озарение, и услышал я глас Божий. И сказал он мне:
    // Санёк, надо изменить условие и Ссуды заработают ! 
    // А если серьёзно, то для месяцов у которых число дней меньше 31 дня и стоит последний день 
    // месяца ЧислоМесяцев не надо увеличивать на 1
    если (д &lt; д1) и  не КонецМесяца
      тогда ЧислоМесяцев := ЧислоМесяцев + 1; 
    // периодичность - это длина периода в месяцах
    ЧислоПериодов := (ЧислоМесяцев цел Периодичность) + 1;// т.к. с нуля, т.е. первая дата - если ломать в трех местах, то получится четыре куска :)
    если (ЧислоМесяцев ост Периодичность) &lt;&gt; 0 тогда
      ЧислоПериодов := ЧислоПериодов + 1;                  
    //сумма каждого периода. В последнем периоде надо будет записать не такую сумму, а подогнать из-за округления 
    // Achtung !!! Achtung !!! Чтобы не получилось в последней записи отрицательной Суммы,
    // округляем в меньшую сторону !!!
    СуммаПерНац := ((СуммаНац - СуммаОбщДетНац)*(Процент / 100) / ЧислоПериодов)*10 цел 10;
    СуммаПерВал := ((СуммаВал - СуммаОбщДетВал)*(Процент / 100) / ЧислоПериодов)*10 цел 10;
    от Индекс := 1 до ЧислоПериодов - 1 делать
    начало
      л_Дет.Вставить;// начали редактировать
      л_Дет.Поле("RecordIndex").КакЦелое := л_Заг.Поле("ID").КакЦелое;
      л_Дет.Поле("CurrencyCls").КакЦелое := л_Заг.Поле("CurrencyCls").КакЦелое;
      л_Дет.Поле("PlanDate").КакЦелое := Дата;
      если ПолучитьТипГода(л_Заг.Поле("ID").КакЦелое) = 1 тогда 
        л_Дет.Поле("PlanDate").КакЦелое := НормальнаяДатаВКривую(л_Дет.Поле("PlanDate").КакЦелое);      
      л_Дет.Поле("Summa").КакДробное := СуммаПерНац; // это для каждого периода
      л_Дет.Поле("CurrencySumma").КакДробное := СуммаПерВал; // это для каждого периода
      если ЦелаяКонстанта(19, 4) = КодВалЗаг тогда
        л_Дет.Поле("Note").КакСтрока := Формат("График погашения №%d: %d проц. оставшейся суммы осн. долга %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаНац - СуммаОбщДетНац, 2))
      иначе
        л_Дет.Поле("Note").КакСтрока := Формат("График погашения №%d: %d проц. оставшейся суммы осн. долга %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаВал - СуммаОбщДетВал, 2));
      
      л_Дет.Сохранить;// закончили редактировать    
      если м + Периодичность &gt; 12 тогда//сместили
      начало
        г := г + 1;                    //дату для
        выбрать Периодичность из
          1, 3, 6 : если ((м + периодичность) ост 12) = 0 тогда м := 1 иначе м := (м + периодичность) ост 12;
        конец;
      конец                            //следующего погашения
      иначе
        м := м + Периодичность;
      если д &gt; ЧислоДнейВЛюбомМесяце(л_Заг.Поле("ID").КакЦелое,г, м) тогда
        Дата := БольшаяДата(г, м, ЧислоДнейВЛюбомМесяце(л_Заг.Поле("ID").КакЦелое,г, м))       
      иначе    
        Дата := БольшаяДата(г, м, д);    
      Если КонецМесяца и Периодичность=1 и м1&lt;&gt;м тогда Дата := ПолучитьДатуКонцаМесяца(Дата, 0);
    конец;
    // последний период с подогнанной суммой
    л_Дет.Вставить;// начали редактировать
    л_Дет.Поле("RecordIndex").КакЦелое := л_Заг.Поле("ID").КакЦелое;
    л_Дет.Поле("CurrencyCls").КакЦелое := л_Заг.Поле("CurrencyCls").КакЦелое;
    л_Дет.Поле("PlanDate").КакЦелое := ДатаКонца;
    л_Дет.Поле("Summa").КакДробное := ОкруглитьДоЗнака((СуммаНац - СуммаОбщДетНац)*(Процент / 100), 2) - (СуммаПерНац*(ЧислоПериодов-1));
    л_Дет.Поле("CurrencySumma").КакДробное := ОкруглитьДоЗнака((СуммаВал - СуммаОбщДетВал)*(Процент / 100), 2) - (СуммаПерВал*(ЧислоПериодов-1));
    
    если ЦелаяКонстанта(19, 4) = КодВалЗаг тогда
      л_Дет.Поле("Note").КакСтрока := Формат("График погашения №%d: %d проц. оставшейся суммы осн. долга %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаНац - СуммаОбщДетНац, 2))
    иначе
      л_Дет.Поле("Note").КакСтрока := Формат("График погашения №%d: %d проц. оставшейся суммы осн. долга %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаВал - СуммаОбщДетВал, 2));
    л_Дет.Сохранить;// закончили редактировать
    // конец последний период с подогнанной суммой
    попытка
      л_Дет.ApplyUpdates;
    неудача
      результат := ложь;
    конец;
  конец;// иначе сумма по графику &lt; суммы договора 
конец;

   
начало
  КонецМесяца := ложь;
  Ф := ПолучитьФормуВвода;
  ОВ := ОкноВывода;
  ОВ.Очистить;
  Заголовок := Ф.Заголовки.Таблица;
  СтарыйФильтр := Заголовок.Фильтр;
  если Ф.ЕстьИзменения или (Заголовок.State &lt;&gt; Состояние_Просмотр) тогда
    ВызватьОшибку(erSaveChanges);
  если Заголовок.ЧислоЗаписей = 0 тогда
    ВызватьОшибку(erCapClosed);
    
  если Ф.АктивнаяДетализация = -1 тогда
  начало
    если Ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда
      рез := Сообщение("Формировать периоды для выделенных договоров?", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет)
    иначе// + 100 чтобы различать результат
      рез := 100 + Сообщение("Формировать периоды по всем незакрытым договорам?", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет);
    если рез = Результат_Да тогда//выбрали "Формировать периоды для выделенных договоров?" - ДА
      Договор := Ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки;
    если рез = 100 + Результат_Да тогда//выбрали "Формировать периоды по всем незакрытым договорам?" - ДА
      Договор := Заголовок;
    если (рез = 100 + Результат_Нет) или (рез = Результат_Нет) тогда
    начало
      Договор := Заголовок;  
      Договор.Фильтр := "ID=" + Договор.Поле("ID").КакСтрока;
      Сообщение("Периоды будут сформированы для текущего договора", Сообщение_Предупреждение);
    конец;
  конец
  иначе
  начало
    Договор := Заголовок;
    Договор.Фильтр := "ID=" + Договор.Поле("ID").КакСтрока;
    Сообщение("Периоды будут сформированы для текущего договора", Сообщение_Предупреждение);
  конец;
  // перешли в начало списка договоров
  Договор.ВНачало;
  Деталь := СоздатьСтатическиеДанные;
  Деталь.СоединитьБД;
  Деталь.Запрос := Ф.ПолучитьДетализациюПоИмени("График погашения").Таблица.Запрос;
  Деталь.Параметр("MasterID") := Договор.Поле("ID").КакЦелое;
  Деталь.Открыть;
  Договор.ЗапретитьПрорисовку;
  попытка
    Процент := -1;
    ДатаНачала := -1;
    ДатаКонца := -1;
    если Договор.ЧислоЗаписей = 1 тогда
    начало
      если Договор.Поле("ReturnStartDate").Пустое тогда
      начало
        ВызватьОшибку(Формат(erFieldMustBe, "Дата начала погашения осн. долга", "заполнено"));
        БылаОшибкаВДанных := истина;
      конец;
      если Договор.Поле("ReturnPeriodLength").Пустое тогда
      начало
        ВызватьОшибку(Формат(erFieldMustBe, " Периодичность погашения осн. долга", "заполнено"));
        БылаОшибкаВДанных := истина;
      конец;
      Д := Диалог;
      Д.Очистить;
      Д.Заголовок := "Формирование периодов погашения";
      Д.Добавить("Конец периодов", "КонецПериодов", 0, Календарь, "99.99.9999");
      Д.Добавить("Периодичность погашения", "Периодичность", 0, Список+ТолькоЧтение, "", "Месяц"+#13#10+"Квартал"+#13#10+"Полгода"+#13#10+"Год");
      Д.Добавить("Процент от непогашенной суммы", "Процент", 0, 0);
      // заполнение значениями по умолчанию
// по умолчанию ДатуКонца устанавливаем в конец года      
      ГодКонца := ГодДаты(ОбычнаяДатаВРасшир(ТекущаяДата));
      ДатаКонца := ПолучитьДатуКонцаМесяца(ГодКонца * 10000 + 1201, 0);
      Д.Значение("КонецПериодов") := ДатаВСтроку(РасширДатаВОбычную(ДатаКонца));
      выбрать Договор.Поле("ReturnPeriodLength").КакЦелое из
          -1 : Д.Значение("Периодичность") := "Месяц";
          -3 : Д.Значение("Периодичность") :=  "Квартал";
          -6 : Д.Значение("Периодичность") := "Полгода";
          -12: Д.Значение("Периодичность") := "Год";
      конец; 
      Д.Значение("Процент") := 100;
      если Д.Выполнить тогда
      начало
        // проверка значений в диалоге
        попытка
          Процент := StrToInt(Д.Значение("Процент"));
        неудача
          ВызватьОшибку(Формат(erFieldMustBe, "Процент", "числовым"));
        конец;
        // заполнение дат из диалога и заголовка
        попытка
           ДатаНачала := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Договор.Поле("ReturnStartDate").КакСтрока, "YYYYMMDD")); 
           ДатаКонца := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Д.Значение("КонецПериодов"), "DD.MM.YYYY"));
        неудача
          ВызватьОшибку(Формат(erFieldMustBe, "Дата", "заполнено корректным значением"));
        конец;
        если ДатаНачала &gt; ДатаКонца тогда
          ВызватьОшибку(Формат(erTwoFields, "Дата начала", "позже", "даты конца"));
        если Деталь.ЧислоЗаписей &lt;&gt; 0 тогда
        начало
          Деталь.Индекс := "PlanDate";
          Деталь.ВКонец;
          если  ОбычнаяДатаВРасшир(СтрокаВДатуФ(Деталь.Поле("PlanDate").КакСтрока, "YYYYMMDD")) &gt; ДатаКонца тогда
            ВызватьОшибку("Попытка сформировать период погашения ещё раз. Проверьте Конец Периодов.");  
        конец;
        выбрать Д.Значение("Периодичность") из
          "Месяц" : Периодичность := 1;
          "Квартал" : Периодичность := 3;
          "Полгода" : Периодичность := 6;
          "Год" : Периодичность := 12;
        конец;        
      конец
      иначе// в диалоге нажали "отмена"
        ВызватьОшибку(erUserAbort);
    конец;
      
    // цикл хождения по договорам
    Счетчик := 1;
    // перешли в начало списка договоров
    Договор.ВНачало;
    пока не Договор.ВКонце делать
    начало  
      БылаОшибкаВДанных := ложь;
      ОВ.Вывести(Формат("[%d/%d] договор № %s от %s (%s)", Счетчик, Договор.ЧислоЗаписей, Договор.Поле("Number").КакСтрока, ДатаВСтроку(НормализоватьДату(Договор.Поле("DateInput").КакЦелое)), Договор.Поле("Note").КакСтрока));
      ОВ.Вывести("");
      если Договор.Поле("Summa").Пустое тогда
      начало
        ОВ.Вывести(Формат(erFieldMustBe, Договор.Поле("Summa").DisplayLabel, "заполнено"));
        БылаОшибкаВДанных := истина;
      конец;
      если Договор.ЧислоЗаписей &lt;&gt; 1 тогда
      начало// то есть диалога не было 
        // если диалога не было, то указанные ниже поля должны быть заполнены
        если Договор.Поле("ReturnStartDate").Пустое тогда
        начало
          ОВ.Вывести(Формат(erFieldMustBe,  "Дата начала погашения осн. долга" , "заполнено"));
          БылаОшибкаВДанных := истина;
        конец;
        если Договор.Поле("ReturnPeriodLength").Пустое тогда
        начало
          ОВ.Вывести(Формат(erFieldMustBe,  " Периодичность погашения осн. долга", " заполнено"));
          БылаОшибкаВДанных := истина;
        конец;
        // вводим значения по умолчанию
        попытка
          ДатаНачала := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Договор.Поле("ReturnStartDate").КакСтрока, "YYYYMMDD"));
          если не Договор.Поле("LongDate").Пустое тогда
            ДатаКонца := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Договор.Поле("LongDate").КакСтрока, "YYYYMMDD"))
          иначе если не Договор.Поле("DATEAMORTIZATION").Пустое тогда
            ДатаКонца := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Договор.Поле("DATEAMORTIZATION").КакСтрока, "YYYYMMDD")) 
          иначе начало
            ГодКонца := ГодДаты(ОбычнаяДатаВРасшир(ТекущаяДата));
            ДатаКонца := ПолучитьДатуКонцаМесяца(ГодКонца * 10000 + 1201, 0);
          конец;
          Процент := 100;
          Периодичность := Мод(Договор.Поле("ReturnPeriodLength").КакЦелое);// в интерфейсе лежит почему-то значение в месяцах, но с минусом
        неудача
          начало
             ОВ.Вывести(Формат(erFieldMustBe, "Дата", "заполнено корректным значением"));
             БылаОшибкаВДанных := истина;
           конец;
        конец;
        если ДатаНачала &gt; ДатаКонца тогда
        начало  
          ОВ.Вывести(Формат(erTwoFields, "Дата начала", "позже", "даты конца"));
          БылаОшибкаВДанных := истина;
        конец;
        если Деталь.ЧислоЗаписей &lt;&gt; 0 тогда
        начало
          Деталь.Индекс := "PlanDate";
          Деталь.ВКонец;
          если  ОбычнаяДатаВРасшир(СтрокаВДатуФ(Деталь.Поле("PlanDate").КакСтрока, "YYYYMMDD")) &gt; ДатаКонца тогда
          начало
            ОВ.Вывести("Попытка сформировать период погашения ещё раз. Проверьте Конец Периодов.");
            БылаОшибкаВДанных := истина;
          конец;
        конец;
      конец;
      если не БылаОшибкаВДанных тогда
      начало
        если ФормироватьПериодыПогашения(Договор, Деталь, Периодичность) тогда
          ОВ.Вывести("Периоды успешно сформированы")
        иначе
          ОВ.Вывести("Периоды не сформированы");
      конец
      иначе
        ОВ.Вывести("Периоды не сформированы");
      ОВ.Вывести("");
      Счетчик := Счетчик + 1;      
      Договор.Следующая;
      если не Договор.ВКонце тогда
      начало
        Деталь.Закрыть;
        Деталь.Параметр("MasterID") := Договор.Поле("ID").КакЦелое;
        Деталь.Открыть;
      конец;
    конец;
    если Ф.АктивнаяДетализация &lt;&gt; -1 тогда
      Ф.Детализация(Ф.АктивнаяДетализация).Открыть;
    ОВ.Показать;
  обязательно
    Договор.РазрешитьПрорисовку;
    Заголовок.Фильтр := СтарыйФильтр;
  конец;
конец.
</value>
    <param value="Заголовок" type="3" name="version">34.095.RP.042</param>
    <param value="Заголовок" type="3" name="crc32">$6471FDBD</param>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$27E83E55</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\Формирование">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ФормированиеИРасчет";
включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";

начало
  ИнтерфейсФормированиеПериодов(МодульКредиты);
конец;
</value>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$5CD93208</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\Расчет">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ФормированиеИРасчет";
включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";

начало
  ИнтерфейсРасчет(МодульКредиты);
конец;



</value>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$2803BBB6</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\РасчетПроцентов">
    <value type="3" name="Заголовок">Расчет процентов по кредитам</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";

Начислено (ИДЗаголовка: целое; ДатаНачала, ДатаКонца, СуммаВВалюте: дробное): дробное;
начало
  Начислено := РасчетПоКнопке(ИДЗаголовка, СуммаВВалюте);
конец
</value>
    <value type="3" name="Описание">Расчет процентов

Дата расчета (начисления) -  дата на которую производится расчет 
процентов за некий расчетный период. 
Дата расчета может находится как внутри этого периода, так и вне его (позже).

Период расчета (начисления) -  интервал дат (с … по …) за который производится 
расчет процентов и получается сумма начисленных процентов сразу за весь период.

Субпериод – интервал дат, когда  состояние кредита было стационарным, т.е. 
не производилось операций получения/возврата основной суммы кредита 
и процентная ставка не менялись.

Новый субпериод начинается в следующих случаях:
начался период; 
изменение остатка (выдача/погашение); 
изменение процентной ставки.

Заканчивается:
перед началом другого субпериода 
когда заканчивается период

Расчет  процентов можно классифицировать в зависимости от плана
·        Без плана (только по факту) – рассматриваются только записи с проставленными датами принятия
·        С планом (по факту и плану с учетом будущих выплат, возвратов) – даты принятия не учитываются

Формула расчета начисленных процентов за период:
S = сумма по количеству периодов (от 1 до N по i) (Ri*Di*(pi/(DY*100)))
S – сумма начисленных процентов за расчетный период
N – число субпериодов в расчетном периоде
i   – номер субпериода
Ri – непогашенный остаток в i-ом субпериоде (Выдано – Погашено)
pi  – процентная ставка в i-ом субпериоде
Di  – количество дней в субпериоде.
DY – фактическое количество дней в год</value>
    <value type="4" name="Отладка">0</value>
    <param value="Заголовок" type="3" name="version">34.095.RP.042</param>
    <param value="Заголовок" type="3" name="crc32">$EB7A8764</param>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$E4854AFF</param>
    <param value="Описание" type="3" name="version">34.095.RP.042</param>
    <param value="Описание" type="3" name="crc32">$5E1AE960</param>
    <param value="Отладка" type="3" name="version">34.095.RP.042</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DDC51F01-193C-11D5-8DF5-000021DDD8D5}\Действия\ПереносДокумента">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";
начало
  ПеренестиДокумент;
конец;
</value>
    <param value="Код программы" type="3" name="version">34.095.RP.042</param>
    <param value="Код программы" type="3" name="crc32">$C73C75A7</param>
  </node>
  <version_info>
    <file>Ссуды.xml</file>
    <version>34.063.01</version>
    <info>Ссуды. АБЛ макросы</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:35</buildtime>
  </version_info>
  <description>АБЛ-макросы для ссуд</description>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Выпадающие меню">
    <node path="МенюФормирования">
      <delnode path="Периоды графика погашения" />
      <delnode path="Периоды графика уплаты" />
      <node path="Периоды начисления">
        <value type="3" name="Действие">Формирование</value>
        <value type="3" name="Картинка">ПроцентыФормированиеПериодов</value>
        <value type="3" name="Хинт">Сформировать записи с периодами начисления</value>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$9D24FFCC</param>
        <param value="Картинка" type="3" name="version">34.063.01</param>
        <param value="Картинка" type="3" name="crc32">$414D4815</param>
        <param value="Хинт" type="3" name="version">34.063.01</param>
        <param value="Хинт" type="3" name="crc32">$F90B53AD</param>
      </node>
      <node path="Периоды графика погашения">
        <value type="3" name="Действие">формГрафикПогашения</value>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$B9F79552</param>
      </node>
      <node path="Периоды графика уплаты">
        <value type="3" name="Действие">формГрафикУплаты</value>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$D4EC1009</param>
      </node>
    </node>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляСсуд.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить '\Библиотеки\Reports.lib';
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  УзелПараметровКредиты = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелСмещений = "Бюджет\Объекты\Настройки\Ссуды\Смещения";
  Кредиты="{DDC51F01-193C-11D5-8DF5-000021DDD8D5}";
  Ссуды = "{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}";
  // строковые константы видов пеней и кредитов. Юзаются в функциях получитьпараметр и получитьимяпараметра
  стр_впОснДолг = "по основному долгу";
  стр_впПроц = "по начисленным процентам";
  стр_впВсе = "все";
  стр_Проц = "процент";
  стр_воУплата = "уплата";
  стр_воНачисление = "начисление";

// Разбирает список значений через запятую и проверяет каждую проводку на существование
// Пользуясь случаем передаю приветы: Роме Шевелуеву, который будет исправлять здесь глюки
// Дену Новожилову, который первый будет материться по телефону по поводу ошибок
// и Ане Каштановой, которая напишет про ошибки именно в тот момент, когда Рома будет выкладывать 
// исправленную версию, а Ден позвонит минимум раза 3
функция РазобратьЗначения(СтрокаПроводок: строка): целое;
переменные
  Значение: строка;
начало
  СтрокаПроводок := УбратьПробелы(СтрокаПроводок);
  Результат := Истина;
  попытка

    Пока СтрокаПроводок &lt;&gt; "" делать
    начало
      если Позиция(",", СтрокаПроводок) = 0 тогда
      начало
        Значение := СтрокаПроводок;
        СтрокаПроводок := "";
      конец иначе
      начало
        Значение := Подстрока(СтрокаПроводок, 1, Позиция(",", СтрокаПроводок) - 1);
        СтрокаПроводок := Подстрока(СтрокаПроводок, Позиция(",", СтрокаПроводок) + 1, Длина(СтрокаПроводок) - Позиция(",", СтрокаПроводок));
      конец;
      если не ПроверитьКлассификатор(тк_БухПроводка, СтрокаВЦелое(Значение)) тогда
        ВызватьОшибку("Указанная проводка не существ");
    конец;
  неудача
    Результат := Ложь;
  конец;
конец;

функция ПроверитьПроводки;
переменные
  СтрокаПроводок: строка;
начало
  // Начисление проц.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления процентов.");
  // Начисление пени осн.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по основному долгу.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по основному долгу.");
  // Начисление пени по процентам
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по процентам.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по процентам.");
  // Уплата процентов
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для уплаченных процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для уплаченных процентов.");
  
конец; 

// возвращает GUID интерфейса, на котором выполняется скрипт
функция Модуль : Строка;
//переменные
//  ф : ФормаВвода;
начало
//  ф := ПолучитьФормуВвода;
//  результат := Ф.Идентификатор;
  результат := Ссуды;
конец;

////////////////////////////////////////////////////  
// функция выдает параметр - ограничение указанного вида и типа. Работает как для ссуд, так и для кредитов
// вид : начисление, уплата
// тип : процент по кредиту/ссуде, пени по основному долгу и по начисленным процентам  
функция ПолучитьПараметр(вид, тип : Строка) : строка;
переменные
  рез : целое;
  ПрогИндекс : целое;
  УзелП : Строка; 
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
    
  рез := 0;
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
  начало 
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : рез := 124;                  
        стр_впОснДолг : рез := 325;
        стр_впПроц : рез := 326;
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "325,326";
          если Модуль = Кредиты тогда
            результат := "335,336";
        конец;
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : рез := 123;                  
        стр_впОснДолг : рез := 328;
        стр_впПроц : рез := 329;                  
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "328,329";
          если Модуль = Кредиты тогда
            результат := "338,339";
        конец;
      конец;
    если рез &lt;&gt; 0 тогда
    начало
      если Модуль = Кредиты тогда 
        рез := рез + 10;
      результат := ЦелоеВСтроку(рез);
    конец;
  конец
  иначе
  начало// не было обновления системы
    если Модуль = Кредиты тогда
      УзелП := УзелПараметровКредиты;
    если Модуль = Ссуды тогда
      УзелП := УзелПараметров;
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды начисления пени").КакСтрока +","+
          Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока + "," + 
          Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;         
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока; 
      конец;       
  конец;    
конец;

// пока нигде не используется. Вместо нее надо юзать ПреобразоватьПараметр
функция ПолучитьПрогИндекс(вид, тип : Строка) : строка;
переменные
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
    
  если ЦелаяКонстанта(ПИ, 1) тогда
    результат := ПолучитьПараметр(вид, тип)
  иначе
    результат := ЦелоеВСтроку(ПИ);
конец;

//Преобразует параметр в проводку по данным реестра
// Если параметр и был проводкой (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьВПроводку(вид, пар : Строка) : Строка;
переменные
  л_пар : Строка;
  УзелП : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
  начало
    ПИ := 120;
    УзелП := УзелПараметров;
  конец;
  если Модуль = Кредиты тогда
  начало
    ПИ := 130;
    УзелП := УзелПараметров;
  конец;
  если Позиция(",", пар) &gt; 0 тогда
    л_пар := Подстрока(пар, 1, Позиция(",", пар))
  иначе
    л_пар := пар;
  если ЦелаяКонстанта(ПИ, 1) тогда
  начало
    результат := "";
    если Модуль = Ссуды тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "124" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "325" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "326" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "123" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "328" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "329" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
    если Модуль = Кредиты тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "134" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "335" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "336" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "133" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "338" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "339" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
  конец
  иначе
    результат := л_пар;
конец;

//Преобразует параметр в ПрогИндекс по данным реестра
// Если параметр и был Прогиндексом (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьПараметр(пар : Строка) : Строка;
переменные
  поз : целое;
  л_пар : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
  поз := Позиция(",", пар);
  если поз &lt;&gt; 0 тогда
    л_пар := Подстрока(пар, поз - 1)
  иначе
    л_пар := пар;
  результат := пар;  
  если не ЦелаяКонстанта(ПИ, 1) тогда
    результат := ЦелоеВСтроку(ПИ + 4);  
конец;
 
// Получает имя поля из базы для нужного параметра (проводка или прогиндекс)
функция ПолучитьИмяПараметра : строка;
переменные
  ПрогИндекс : целое;
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
   
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
    результат := "progindex"
  иначе
    результат := "buhpaymentcls"    
конец;  

функция ПроверитьВалютуВДетализациях(МастерИД: целое): целое;
переменные
  ВалютаВЗаголовке: целое;
  В: Выборка;
начало
  Результат := Истина;
  попытка
    // Получаем валюту из заголовка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select CurrencyCLS from LoanCredit where Id = " + ЦелоеВСтроку(МастерИД);
    В.Открыть;
    ВалютаВЗаголовке := В.Поле("CurrencyCLS").КакЦелое;
    
    // Проверяем закладки "Выдача" и "Погашение"
    В.Закрыть;
    В.Запрос := "select CurrencyCLS, ProgIndex from FinDocDetail where RecordIndex = " + ЦелоеВСтроку(МастерИД)
                + " and CurrencyCLS &lt;&gt; " + ЦелоеВстроку(ВалютаВЗаголовке);
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;
    
    если Результат тогда
    начало
      // Проверим детализацию "Уплата %" 
      В.Закрыть;
      В.Запрос := "select ic.CurrencyIndex, i.ProgIndex from Incomes32 i "
                    + " left join CurrencyIncomes ic on (ic.id = i.id)" 
                    + " where i.RecordIndex = " + ЦелоеВСтроку(МастерИД)
                    + " and ic.CurrencyIndex &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;
      если В.ЧислоЗаписей &gt; 0 тогда
        Результат := Ложь;
    конец;
    
    если Результат тогда
    начало
      // проверим детализацию "Начисление %"
      В.Закрыть;
      В.Запрос := "select CurrencyCLS, ProgIndex from LoanCreditPercents where RecordIndex = " + ЦелоеВСтроку(МастерИД)
                  + " and CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;            
      если В.ЧислоЗаписей &gt; 0 тогда
        Результат := Ложь;
    конец;
    
    если Результат тогда
    // Осталось проверить только графики
    начало
      В.Закрыть;
      В.Запрос := "select CurrencyCLS, ProgIndex from LoanCreditPlan where RecordIndex = "+ ЦелоеВСтроку(МастерИД)
                  + " and CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;
      если В.ЧислоЗаписей &gt; 0 тогда
      Результат := 0;            
    конец;
  обязательно
    УдалитьОбъект(В);
  конец;                  
конец;

// Закачивает в коллекцию все смещения
функция ПолучитьСмещенияСсуды(Коллекция: IVariables);
начало
  Коллекция.Значение("Выдача") := Реестр.Узел(УзелСмещений).Значение("Выдача").КакЦелое;
  Коллекция.Значение("Погашение") := Реестр.Узел(УзелСмещений).Значение("Погашение").КакЦелое;
  Коллекция.Значение("НачислениеПроц") := Реестр.Узел(УзелСмещений).Значение("Начисление процентов").КакЦелое;
  Коллекция.Значение("НачислениеПени") := Реестр.Узел(УзелСмещений).Значение("Начисление пеней").КакЦелое;
  Коллекция.Значение("УплатаПроц") := Реестр.Узел(УзелСмещений).Значение("Уплата процентов").КакЦелое;
  Коллекция.Значение("УплатаПени") := Реестр.Узел(УзелСмещений).Значение("Уплата пеней").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПроц") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки процентов").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПени") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки пеней по осн. долгу").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПениПроц") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки пеней по проц.").КакЦелое;
  Коллекция.Значение("ПлановоеПогашение") := Реестр.Узел(УзелСмещений).Значение("График погашения").КакЦелое;
  Коллекция.Значение("ПлановаяУплатаПроцентов") := Реестр.Узел(УзелСмещений).Значение("График уплаты процентов").КакЦелое;
конец;

// Добавляет субпериоды по длине, указанной в заголовке. Если длина субпериода = -1, тогда
// разбивает по месяцам
функция ДобавитьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; Параметр : Строка);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = 120 and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.Открыть;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по периодам определенной длины (месяц, квартал, полгода, год)
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      Г := ГодДаты(В.Поле("periodstart").КакДробное);
      М := МесяцДаты(В.Поле("periodstart").КакДробное);
      Д := ДеньДаты(В.Поле("periodstart").КакДробное);
      пока (М &lt; 13) и (БольшаяДата(Г, М, Д) &lt;= КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          если ЧислоДнейВЛюбомМесяце(ИДЗаголовка, Г, М) &gt;= Д тогда 
            СубПериоды.ПолеПоИмени("date").КакДробное := БольшаяДата(Г, М, Д)
          иначе 
            СубПериоды.Поле("Date").КакДробное := БольшаяДата(Г, М, ЧислоДнейВЛюбомМесяце(ИДЗаголовка, Г, М));
          //если В.Поле("YearType").КакЦелое = 1 тогда
            // Тип года 12*30, поэтому корректируем
            //СубПериоды.ПолеПоИмени("date").КакДробное := НормальнаяДатаВКривую(СубПериоды.ПолеПоИмени("date").КакДробное);
          Субпериоды.ПолеПоИмени("note").КакСтрока := "плановое начисление";
          Субпериоды.Поле("ProgIndex").КакДробное := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          // Начинаем след. год
          Г := Г + 1;
          М := М ост 12;
        конец;
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("periodstart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("Date").КакДробное := ДатаКонцаПодпериода;
          если В.Поле("YearType").КакЦелое = 1 тогда
            // Тип года 12*30, поэтому корректируем
            СубПериоды.ПолеПоИмени("date").КакДробное := НормальнаяДатаВКривую(СубПериоды.ПолеПоИмени("date").КакДробное);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          Субпериоды.Поле("ProgIndex").КакДробное := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, В.Поле("YearType").КакЦелое);
      конец;
    конец;

  обязательно
    УдалитьОбъект(В);
  конец; 

конец;  


// Возвращает дату начала периодов пени
функция ПолучитьНачалоПериодовПени(Ключ: целое; Параметр : Строка): дробное;
переменные
  В: Выборка;
  НачалоПериода: дробное;
  Коды_Пени, Коды_Проц: строка;
  Смещения: IVariables;
  ТипГода: целое;
начало
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    // вычислить окончание последнего существующего периода
//    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
//               + " where (ProgIndex in ("+ПрогИндекс+")) and (RecordIndex = :REC) and (BuhPaymentCLS in (" + Коды_Пени + ")) ";
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
               + " where (" + ПолучитьИмяПараметра + " in ("+Параметр+")) and (RecordIndex = :REC)";
    В.Параметр("REC").КакЦелое := Ключ;
    В.Открыть;
    если В.Поле("periodend").Пустое 
    тогда 
      НачалоПериода := 0 
    иначе 
      если (В.Поле("periodend").КакДробное ост 10000) &lt;= 101
        тогда 
          НачалоПериода := В.Поле("periodend").КакДробное
        иначе 
          НачалоПериода := СледующаяДата(В.Поле("periodend").КакДробное, 1, ТипГода);

    если НачалоПериода = 0 
    тогда 
    начало
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг)) тогда//      если ПрогИндекс = "325" тогда
      начало 
        // вынуть самое раннее погашение
        В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"  
                   + " where (ProgIndex = 127) and (RecordIndex = :REC) and (PlanDate is not null) ";
        В.Параметр("REC").КакЦелое := Ключ;
        В.Открыть;
        если не В.Поле("PlanDate").Пустое 
        тогда НачалоПериода := СледующаяДата(В.Поле("PlanDate").КакДробное, Смещения.Значение("ПлановоеПогашение"), ТипГода);
      конец;
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) тогда//если ПрогИндекс = "326" тогда
      начало
        если не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
        // Используем данные с детализации "Начисление %"
        начало
//          В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
//                      + " where (ProgIndex in (124, 324)) and (RecordIndex = :REC) and (PayPercentDate is not null)"
//                      + " and (BuhPaymentCLS in (" + Коды_Проц + "))";
          В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
                      + " where (RecordIndex = :REC) and (PayPercentDate is not null)"
                      + " and ("+ПолучитьИмяПараметра+" in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + "))";
          В.Параметр("REC").КакЦелое := Ключ;
          В.Открыть;
          если ((В.Поле("PayPercentDate").КакДробное &gt; 0) и (В.Поле("PayPercentDate").КакДробное &lt; НачалоПериода)) 
                или ((НачалоПериода = 0) и (не В.Поле("PayPercentDate").Пустое)) 
          тогда
            НачалоПериода := СледующаяДата(В.Поле("PayPercentDate").КакДробное, Смещения.Значение("ПлановаяУплатаПроц"), ТипГода);
        конец иначе
        // Используем график уплаты %
        начало
          В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan where (ProgIndex = 128)"
                      + " and (RecordIndex = :REC) and (PlanDate is not null)";
          В.Параметр("REC").КакЦелое := Ключ;
          В.Открыть;
          если ((В.Поле("PlanDate").КакДробное &gt; 0) и (В.Поле("PlanDate").КакДробное &lt; НачалоПериода)) или
            ((НачалоПериода = 0) и (В.Поле("PlanDate").КакДробное &gt; 0)) 
          тогда
            НачалоПериода := СледующаяДата(В.Поле("PlanDate").КакДробное, Смещения.Значение("ПлановаяУплатаПроцентов"), ТипГода);            
        конец;
      конец;    
    конец;

    // если не было не периодов, ни выдач , взять "начало периода" или "дату ввода" из заголовка
    если НачалоПериода = 0 тогда 
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ProgIndex = 120 and id = :REC " ;
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
      тогда 
        НачалоПериода := В.ПолеПоИмени("PeriodStart").КакДробное 
      иначе 
        НачалоПериода := В.ПолеПоИмени("DATEINPUT").КакДробное;
    конец;

    Результат := ОбычнаяДатаВРасшир(НормализоватьДату(НачалоПериода));
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Выдает дату начала субпериодов процентов
функция ПолучитьНачалоСубпериодовПроценты(Ключ: целое): дробное;
переменные
  В: Выборка;
  НачалоПериода: дробное;
  Смещения: IVariables;
  Коды_Проц: строка;
  ТипГода: целое;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  // вычислить начало первого подпериода по дате окончания последнего существующего периода
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  ТипГода := ПолучитьТипГода(Ключ);
  попытка
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
               + " where (ProgIndex in (124)) and (RecordIndex = :REC) and (BuhPaymentCLS in (" + Коды_Проц + ")) ";
    В.Параметр("REC").КакЦелое := Ключ;
    В.Открыть;
    если В.Поле("periodend").Пустое 
      тогда НачалоПериода := 0 
      иначе 
        если (В.Поле("periodend").КакДробное ост 10000) &lt;= 101  // если это даты остатков (00.00 или 01.01)
        тогда 
          НачалоПериода := ОбычнаяДатаВРасшир(НормализоватьДату(в.поле("periodend").КакДробное)) // тогда период начнется с 01.01
        иначе 
          НачалоПериода := СледующаяДата(В.Поле("periodend").КакДробное,1, ТипГода);  // иначе ОБЯЗАТЕЛЬНО со следующего числа

    // если периодов не было , вынуть самую раннюю выдачу 
    если НачалоПериода = 0 
    тогда начало
      В.Запрос := "select min(RecordDate) RecordDate from FinDocDetail" 
               + " where (ProgIndex = 121) and (RecordIndex = :REC) and (RecordDate is not null)";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если не В.Поле("RecordDate").Пустое 
      тогда НачалоПериода := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещения.Значение("Выдача"), ТипГода);
    конец;


    // если периодов не было , вынуть самую раннюю выдачу 
    если НачалоПериода = 0 
    тогда начало
      В.Запрос := "select min(AcceptDate) AcceptDate from FinDocDetail" 
               + " where (ProgIndex = 121) and (RecordIndex = :REC) and (AcceptDate is not null) ";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если не В.Поле("acceptdate").Пустое 
      тогда НачалоПериода := СледующаяДата(В.Поле("acceptdate").КакДробное, Смещения.Значение("Выдача"), ТипГода);
    конец;

    // если не было ни периодов, ни выдач , взять "начало периода" или "дату ввода" из заголовка
    если НачалоПериода = 0
    тогда 
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ProgIndex = 120 and id = :REC";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
      тогда НачалоПериода := В.ПолеПоИмени("PeriodStart").КакДробное 
      иначе НачалоПериода := В.ПолеПоИмени("DATEINPUT").КакДробное;
    конец ;

    // на всяк случай подрихтуем дату начала периода , чтоб она была календарной , а не алгебраической
    Результат := ОбычнаяДатаВРасшир(НормализоватьДату(НачалоПериода));
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Открывает и закачивает в субпериоды выборку
функция ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка: целое; НачалоПериода, КонецПериода: дробное; В: Выборка;
                                    Субпериоды: СтатическиеДанные; ИмяПоля, ИмяПоляРасчет, Примечание: строка;Смещение: целое;
                                    Параметр : Строка);
переменные
  ПолеВыборки: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  В.Параметр("REC").КакСтрока := ЦелоеВСтроку(ИДЗаголовка);
  В.Параметр("DATESTART").КакСтрока := ДробноеВСтроку(ПредыдущаяДата(НачалоПериода, Смещение, ТипГода));
  В.Параметр("DATEEND").КакСтрока := ДробноеВСтроку(ПредыдущаяДата(КонецПериода, Смещение, ТипГода));
  В.Открыть;
  если ИмяПоляРасчет = "Percent" тогда
    ПолеВыборки := "Percent"
  иначе ПолеВыборки := "Total";  
  пока не В.ВКонце делать
  начало
    Субпериоды.Вставить;
    попытка
      Субпериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр); 
    неудача
      Субпериоды.Поле("ProgIndex").КакСтрока := 124;
    конец;
    попытка
      если В.Поле("RecordDate").Пустое тогда
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода)
      иначе
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещение, ТипГода);
    неудача
      // поле "RecordDate" отсутствует
      Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода);
    конец;
    попытка
      // В выборке нет такого поля
      Субпериоды.Поле(ИмяПоляРасчет).КакДробное := В.Поле(ПолеВыборки).КакДробное;
    неудача
    конец;
    Субпериоды.Поле("Note").КакСтрока := Примечание;
    попытка
      Субпериоды.Поле("CurrencyDebit").AsFloat := В.Поле("CurrencyDebit").КакДробное;
    неудача
    конец;
    попытка
      Субпериоды.Поле("CurrencyCredit").AsFloat := В.Поле("CurrencyCredit").КакДробное;
    неудача
    конец;
    Субпериоды.Сохранить;
    В.Следующая;
  конец;        
конец;

// Субпериоды
функция СформироватьСубпериодыПроценты(Ключ: целое; ДатаНачала, ДатаКонца: дробное; Подробно: целое): СтатическиеДанные;
переменные
  Смещения: IVariables;
  ТипГода, Надо_Подпериоды: целое;
  Коды_Проц, Проводка: строка;
  Субпериоды: СтатическиеДанные;
  В: Выборка;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения); // получили смешщения относ. дат
  ТипГода := ПолучитьТипГода(Ключ);
  // взять коды операций начисления процентов из параметра настройки в реестре настроек
  // чтоб учитывать только начисления процентов и не учитывать начисления пени
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды процентов подробно").КакФлаг;
  
  // вычленить из строки кодов операций начисления процентов самый первый код для подстановки в новые записи периодов
  если Позиция(",", Коды_Проц) = 0  
  тогда 
    Проводка := Коды_Проц 
  иначе 
    Проводка := Подстрока(Коды_Проц, 1 , Позиция(",", Коды_Проц) - 1) ;            
  
  В := СоздатьВыборку; 
  В.БазаДанных := Бюджет ;

  попытка   
    если ДатаНачала &lt;= ДатаКонца // Можно сформировать период на день первой выдачи
    тогда начало
       
      // ***************************** ВЫБИРАЕМ ВСЕ ДАТЫ ВЫДАЧ, ПОГАШЕНИЙ , ИЗМЕНЕНИЯ СТАВОК , **************************
      // ****************************  начиная с вычисленной даты начала периода   *************************************

      СубПериоды := СоздатьСтатическиеДанные;
      СубПериоды.ДобавитьДробноеПоле("Date");       // дата начала субпериода      
      СубПериоды.ДобавитьСтроковоеПоле("NOTE", 100).Размер := 100;     // комментарий , в связи с чем подразбивка на подпериоды    
      СубПериоды.ДобавитьДробноеПоле("Credit");
      Субпериоды.ДобавитьДробноеПоле("Debit");
      Субпериоды.ДобавитьДробноеПоле("Percent");
      Субпериоды.ДобавитьДробноеПоле("CurrencyDebit");
      Субпериоды.ДобавитьДробноеПоле("CurrencyCredit");
      СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
      СубПериоды.Открыть;
      
      // добавить саму дату начала подпериодов
      Субпериоды.Вставить;
      Субпериоды.Поле("date").КакДробное := ДатаНачала;
      Субпериоды.Сохранить;

      если Надо_Подпериоды или Подробно тогда 
      начало 
      
        // вынимаем в субпериоды выдачу ссуды
        В.Запрос := "select AcceptDate, RecordDate, (Credit - Debit) Total, CurrencySumma CurrencyCredit from FinDocDetail" 
                   + " where (ProgIndex = 121) and (RecordIndex = :REC)"
                   + " and (AcceptDate &gt; :DATESTART) and (AcceptDate&lt;=:DATEEND) ";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Credit", "выдача ссуды", Смещения.Значение("Выдача"), "");

        // внесем субпериоды по погашению кредита
        В.Запрос := "select AcceptDate, RecordDate, (Debit - Credit) Total, CurrencySumma CurrencyDebit from FinDocDetail" 
                  + " where (ProgIndex = 122) and (RecordIndex = :REC)"
                  + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Debit", "погашение ссуды", Смещения.Значение("Погашение"), "");
        
        // внесем субпериоды по изменению процентных ставок
        В.Запрос := "select AcceptDate, Percent from PercentJournal"
                   + " where (ProgIndex = 125) and (RecordIndex = :REC)"
                   + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Percent", "изменение процентной ставки", Смещения.Значение("ИзменениеСтавкиПроц"), "");
      конец;
      Результат := Субпериоды;
    конец;  
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Формирует субпериоды с суммами и процентами по пеням
функция СформироватьСубпериодыПени(Ключ: целое; НачалоПериода, КонецСрока: дробное; Подробно: целое; Параметр, ВидПеней: Строка): СтатическиеДанные;
переменные
  Субпериоды: СтатическиеДанные;
  В: Выборка;
  Смещения: IVariables;
  ТипГода, Надо_Подпериоды: целое;
  Коды_Проц, Коды_Упл_Проц, Коды_Пени, кп_ОснДолг, кп_НачПроц, Проводка: строка;
начало
  // ***************************** ВЫБИРАЕМ ВСЕ ДАТЫ ВЫДАЧ, ПОГАШЕНИЙ , ИЗМЕНЕНИЯ СТАВОК , **************************
  // ****************************  начиная с вычисленной даты начала периода   *************************************
  Смещения := CreateVariables;
  получитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакФлаг;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Коды_Упл_Проц := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  кп_ОснДолг := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока; 
  кп_НачПроц := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока; 
  // это проводка для новых записей
  если Позиция(",", Коды_Пени) = 0
  тогда Проводка := Коды_Пени 
  иначе Проводка := Подстрока(Коды_Пени, 1, Позиция(",", Коды_Пени) - 1);            

  СубПериоды := СоздатьСтатическиеДанные;
  СубПериоды.ДобавитьДробноеПоле("Date");           // дата начала субпериода
  СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
  СубПериоды.ДобавитьСтроковоеПоле("NOTE", 100).Размер := 100;
  СубПериоды.ДобавитьДробноеПоле("Credit");           
  СубПериоды.ДобавитьДробноеПоле("Debit");           
  СубПериоды.ДобавитьДробноеПоле("Percent");           
  СубПериоды.ДобавитьДробноеПоле("CurrencyCredit");
  СубПериоды.ДобавитьДробноеПоле("CurrencyDebit");
  СубПериоды.Открыть;
  
  Субпериоды.Вставить;
  Субпериоды.Поле("date").КакДробное := НачалоПериода;
  
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  если Надо_Подпериоды или Подробно тогда 
  начало
    //разделение на осн. долг и начисл. проценты
    // для осн.долга : план погашения, погашение, смена ставки пени
    если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг)) и (ВидПеней &lt;&gt; стр_впПроц) тогда//если Позиция("325", ПрогИндекс) &gt; 0 тогда
    начало      
      // внесем субпериоды по графику погашения
      В.Запрос := "select PlanDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPlan"      
                 + " where (ProgIndex=127) and (RecordIndex=:REC)"
                 + " and (PlanDate &gt; :DATESTART) and (PlanDate&lt;=:DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PlanDate", "Credit", "график погашения", Смещения.Значение("ПлановоеПогашение"), Параметр);
      // внесем субпериоды по погашению ссуды
      В.Запрос := "select AcceptDate, RecordDate, (Debit - Credit) Total, CurrencySumma CurrencyDebit from FinDocDetail" 
                 + " where (ProgIndex=122) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";

      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Debit", "погашение ссуды", Смещения.Значение("Погашение"), Параметр);
      
      // внесем субпериоды по изменению ставок пени по осн. долгу
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                 + " where (ProgIndex in (126)) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Percent", "изменение ставки пени по осн. долгу", Смещения.Значение("ИзменениеСтавкиПени"), Параметр);      
    конец;

    // для начисл. процентов : график уплаты %, уплата, смена ставки пени
    если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) и (ВидПеней &lt;&gt; стр_впОснДолг) тогда//если Позиция("326", ПрогИндекс) &gt; 0 тогда
    начало   
      если не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
      начало
        // внесем субпериоды по плановым датам уплаты процентов
        В.Запрос := "select PayPercentDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPercents"
                   + " where (RecordIndex = :REC)"
                   + " and (PayPercentDate &gt; :DATESTART) and (PayPercentDate &lt;= :DATEEND)"
                   + " and ("+ПолучитьИмяПараметра+" in (" + ПолучитьПараметр(стр_воНачисление, стр_проц) + "))";
        ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PayPercentDate", "Credit", "уплата процентов(план)", Смещения.Значение("НачислениеПроц"), Параметр);
      конец иначе
      начало
        В.Запрос := "select PlanDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPlan"
                   + " where (ProgIndex = 128) and (RecordIndex = :REC)"
                   + " and (PlanDate &gt; :DATESTART) and (PlanDate &lt;= :DATEEND)";
                   //+ " and (BuhPaymentCLS in (" + Коды_Проц + ")) ";
        ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PlanDate", "Credit", "уплата процентов(план)", Смещения.Значение("ПлановаяУплатаПроцентов"), Параметр);
      конец;
      // внесем субпериоды по факту уплаты процентов
      В.Запрос := "select i.IDate, i.RecordDate, (i.Credit - i.Debit) Total, ci.CurrencyValue CurrencyDebit from incomes32 i"
                 + " left join CurrencyIncomes ci on (ci.id = i.id)"
                 + " where (i.ProgIndex in (123)) and (i.RecordIndex = :REC) and (i.IDate &gt; :DATESTART) and (i.IDate&lt;=:DATEEND)"
                 + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воУплата, стр_проц) + ")) ";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "IDate", "Debit", "уплата процентов", Смещения.Значение("УплатаПроц"), Параметр);
      // внесем субпериоды по изменению ставок пени по проц.
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                 + " where (ProgIndex in (129)) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Percent", "изменение ставки пени по проц.", Смещения.Значение("ИзменениеСтавкиПениПроц"), Параметр);      
    конец;
    //конец разделение на осн. долг и начисл. проценты
  конец;  // подробных подпериодов по всем операциям
  Результат := Субпериоды;
конец;


//////////////////////////////////////////////////////////
// Формирование периодов начисления пеней
//////////////////////////////////////////////////////////
функция СсудыФормированиеПени(Ключ: целое; КонецСрока: целое; НовыеЗаписи: СтатическиеДанные; Параметр, ВидПеней: Строка);
переменные 
  Субпериоды, ДетальВыдача, ДетальПогашение, ДетальЖурнал, ДетальПериоды: СтатическиеДанные ;
  Д, М, Г, НачалоПериода, КонецПериода, Надо_Подпериоды: целое ;
  Коды_Пени, Коды_Проц , Коды_Упл_Проц, Проводка: строка ;
  В: Выборка ;        
  ТипГода: целое;
  Смещения: IVariables;
начало
  Смещения := CreateVariables;
  ТипГода := ПолучитьТипГода(Ключ);
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакФлаг;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Коды_Упл_Проц := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  
  Проводка := ПреобразоватьВПроводку(стр_воНачисление, Параметр);
  
  НачалоПериода := ПолучитьНачалоПериодовПени(Ключ, Параметр);
  Субпериоды := СформироватьСубпериодыПени(Ключ, НачалоПериода, КонецСрока, Ложь, Параметр, ВидПеней);

  // ************** РАЗБИРАЕМСЯ С НЕОБХОДИМОСТЬЮ РАЗБИВКИ НА ПОДПЕРИОДЫ ПО МЕСЯЦУ , ***************
  // ************** если таковое в заголовке задано                                 ***************
  ДобавитьПериодыПоДлине(Ключ, Субпериоды, НачалоПериода, КонецСрока, Параметр);
  //если ПолучитьТипГода(Ключ) = 1 тогда
  //  ОткорректироватьДатыСубпериодов(Субпериоды);
 
  // *************** Упорядочиваем субпериоды и выдаем их в периоды **************************
  попытка
    Субпериоды.Индекс := "date";
    Субпериоды.ВНачало;
    КонецПериода := Субпериоды.Поле("date").КакДробное;
    Субпериоды.Следующий;
    пока не Субпериоды.ВКонце делать 
    начало
      если (КонецПериода &lt;&gt; Субпериоды.Поле("date").КакДробное) и (КонецПериода &lt; КонецСрока)
      тогда начало
        НовыеЗаписи.Вставить;
        НовыеЗаписи.Поле("periodstart").КакДробное := КонецПериода;        
        НовыеЗаписи.Поле("periodend").КакДробное := ПредыдущаяДата(Субпериоды.Поле("date").КакДробное, 1, 0);
        НовыеЗаписи.Поле("buhpaymentcls").КакЦелое := Проводка;        
        НовыеЗаписи.Поле("note").КакСтрока := Субпериоды.Поле("note").КакСтрока;        
        НовыеЗаписи.Поле("ProgIndex").КакСтрока := Субпериоды.Поле("ProgIndex").КакСтрока;        
        НовыеЗаписи.Сохранить;
        //если Субпериоды.Поле("Date").КакДробное &lt;= КонецСрока тогда 
          КонецПериода := Субпериоды.Поле("date").КакДробное;        
      конец;
      Субпериоды.Следующий; 
    конец;
    если КонецПериода &lt;= КонецСрока тогда
    // Проверка нужна затем, если КонецПериода вдруг окажется больше, чем КонецСрока (это может случится)
    начало
      НовыеЗаписи.Вставить;
      НовыеЗаписи.Поле("periodstart").КакДробное := КонецПериода;        
      НовыеЗаписи.Поле("periodend").КакДробное := КонецСрока;
      НовыеЗаписи.Поле("buhpaymentcls").КакЦелое := Проводка;
      НовыеЗаписи.Поле("note").КакСтрока := "плановое начисление";        
      НовыеЗаписи.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);        
      НовыеЗаписи.Сохранить;
    конец;  
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;
конец;


//****************************************************************************************************
// Конструирует на странице "Начисление %" подробнейшие периоды на каждую дату выдачи или возврата ссуды
// или изменения ставки процентов  плюс  плановая разбивка от "даты начала периода" в заголовке на каждый месяц
// до заданной в интерактивном диалоге даты окончания периодов начисления  
// по одному договору , чеей ключ является входящим параметром 
//****************************************************************************************************
функция СсудыФормированиеПериодов(Ключ: целое; КонецСрока: целое; НовыеЗаписи: СтатическиеДанные);
переменные 
  Субпериоды: СтатическиеДанные;
  Д, М, Г, НачалоПериода, КонецПериода, Надо_Подпериоды: целое;
  Коды_Проц, Проводка: строка;
  В: Выборка;
  ТипГода: целое;
начало
  НачалоПериода := ПолучитьНачалоСубпериодовПроценты(Ключ);
  если НачалоПериода &lt;= КонецСрока тогда
  начало
    Субпериоды := СформироватьСубпериодыПроценты(Ключ, НачалоПериода, КонецСрока, Ложь); 
    Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
    если Позиция(",", Коды_Проц) = 0
    тогда Проводка := Коды_Проц 
    иначе Проводка := Подстрока(Коды_Проц, 1 , Позиция(",", Коды_Проц) - 1);            

    // ************** РАЗБИРАЕМСЯ С НЕОБХОДИМОСТЬЮ РАЗБИВКИ НА ПОДПЕРИОДЫ ПО МЕСЯЦУ , ***************
    // ************** если таковое в заголовке задано                                 ***************
    ДобавитьПериодыПоДлине(Ключ, Субпериоды, НачалоПериода, КонецСрока, "324");
    //если ПолучитьТипГода(Ключ) = 1 тогда
      //ОткорректироватьДатыСубпериодов(Субпериоды);
   
    // *************** Упорядочиваем субпериоды и выдаем их в периоды **************************
    попытка
      Субпериоды.Индекс := "Date";
      Субпериоды.ВНачало;
      КонецПериода := Субпериоды.Поле("Date").КакДробное;
      Субпериоды.Следующий;
      пока не Субпериоды.ВКонце делать 
      начало
        если КонецПериода &lt;&gt; Субпериоды.Поле("Date").КакДробное  // не повторять подпериоды
        тогда начало
          НовыеЗаписи.Append ;
          НовыеЗаписи.Поле("PeriodStart").КакДробное := КонецПериода;        
          НовыеЗаписи.Поле("PeriodEnd").КакДробное := ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0);
          НовыеЗаписи.Поле("BuhPaymentCLS").КакЦелое := Проводка;        
          НовыеЗаписи.Поле("Note").КакСтрока := Субпериоды.Поле("Note").КакСтрока;        
          НовыеЗаписи.Сохранить;
          КонецПериода := Субпериоды.Поле("Date").КакДробное;        
        конец;
        Субпериоды.Следующий; 
      конец;
      
      // добавить последний подпериод - на дату заданного окончания срока формирования
      если КонецПериода &lt;= КонецСрока тогда
      начало
        НовыеЗаписи.Append ;
        НовыеЗаписи.Поле("PeriodStart").КакДробное := КонецПериода;        
        НовыеЗаписи.Поле("PeriodEnd").КакДробное := КонецСрока;
        НовыеЗаписи.Поле("BuhPaymentCLS").КакЦелое := Проводка;        
        НовыеЗаписи.Поле("Note").КакСтрока := "плановое начисление";        
        НовыеЗаписи.Сохранить;
      конец;
    обязательно
      УдалитьОбъект(Субпериоды);
    конец;
  конец;
конец;



//*********************************************************************************
// Запросы для ссуд 
//*********************************************************************************

// Запрос для вставки новых периодов
функция ЗапросДляНовыхПериодов: строка;
начало
  Результат :=  " [PumpData]{select ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, CurrencyCLS, CurrencySumma"
              + " from LoanCreditPercents where (1 &lt;&gt; 1)} " 
              + #13#10
              + " [InsertData]{insert into LoanCreditPercents"
              + " (ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd, PayPercentDate, Note, CurrencyCLS, CurrencySumma)"
              + " values (@ProgIndex, @RecordIndex, @BuhPaymentCls, @PeriodStart, @PeriodEnd, @PayPercentDate, @Note, @CurrencyCLS, @CurrencySumma)}";
конец;

// Запрос для закачки периодов и изменения в них сумм
функция ЗапросДляПериодов: строка;
начало
  Результат :=  " [PumpData]{select id, ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, Summa, AcceptDate, RecordDate, CurrencySumma, CurrencyCLS"
              + " from LoanCreditPercents where (ProgIndex in (124, 324, 325, 326)) and (RecordIndex = @RecordIndex)"
              + " order by periodend, acceptdate, id} "
              + "[ModifyData]{update LoanCreditPercents set Summa = @Summa, AcceptDate = @AcceptDate, RecordDate = @RecordDate, CurrencySumma = @CurrencySumma"
              + " where (id = @id)}"
              + "[DeleteData]{delete from LoanCreditPercents where id=@id}"; 
конец;

функция ПолучитьДатуФормирования(Заголовок: СтатическиеДанные): целое;
переменные
  Год, Месяц, День: целое;
начало
  Результат := 0;
  если Заголовок.Поле("LongDate").КакДробное &gt; 0 тогда
    Результат := Заголовок.Поле("LongDate").КакДробное
  иначе
    если Заголовок.Поле("DateAmortization").КакДробное &gt; 0
    тогда Результат := Заголовок.Поле("DateAmortization").КакДробное
    иначе Результат := ПолучитьДатуКонцаМесяца(ТекущийГод * 10000 + 1231, 0);
  если Реестр.Узел(УзелПараметров).Значение("Вариант конца периодов").КакЦелое = 1 тогда
  // Конец предыдущего месяца
  начало
    Результат := ОбычнаяДатаВРасшир(ТекущаяДата);
    Год := ГодДаты(Результат);
    Месяц := МесяцДаты(Результат);
    Месяц := Месяц - 1;
    если Месяц = 0 тогда
    начало
      Месяц := 12;
      Год := Год - 1;
    конец;
    Результат := ПолучитьДатуКонцаМесяца(Год * 10000 + Месяц * 100 + 1, 0);
  конец;
  // Может в светлом будущем будет конец года    
конец;

функция ПолучитьДатуКонцаПериодов(Заголовок: СтатическиеДанные): целое;
начало
  Результат := ПолучитьДатуФормирования(Заголовок);
  если Результат = 0 тогда
    Результат := ПолучитьДатуКонцаМесяца(ТекущийГод * 10000 + 1231, 0);
конец;

// *******************************************************************************
//    Содержит функцию для расчета начисленных 
//    процентов за пользование взятым кредитом
//********************************************************************************
функция СсудыРасчетПроцентов (Ключ: целое; ДатаНачала, ДатаКонца: дробное; Сумма, СуммаВВалюте: дробное) : целое;
переменные
  Субсумма, Процент,                              // процент по кредиту
  Остаток: дробное;                     // остаток кредита
  НачалоСубпериода,                     // дата начала субпериода
  НачалоСледующегоСубПериода,           // дата конца субпериода
  ДлинаСубпериода: дробное;             // длина субпериода
  Год, Месяц, День: целое;              // дата по составляющим               
  СубПериоды: СтатическиеДанные;        // вспомогательный набор данных
  В: Выборка;
  ТипГода, ЭтоНацВалюта, ПозицияОкругления: целое;
  Смещения: IVariables;
  ПолеКредит, ПолеДебет: строка;
  СтавкаЗаДень: дробное;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(Ключ) = КодНацВалюты);
  если ЭтоНацВалюта тогда
  начало
    // При национальной валюте оперируем обычными суммами
    ПолеКредит := "Credit";
    ПолеДебет := "Debit";
  конец  
  иначе начало
    // А при буржуйской валюте - в ихних баксах
    ПолеКредит := "CurrencyCredit";
    ПолеДебет := "CurrencyDebit";
  конец;
  ТипГода := ПолучитьТипГода(Ключ);
  ПозицияОкругления := Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день до знака").КакЦелое;
  результат := Ложь;
  если ДатаНачала &gt; ДатаКонца 
  тогда ВызватьОшибку("Конец периода не может быть раньше начала периода.");
  
  попытка

    СубПериоды := СформироватьСубпериодыПроценты(Ключ, 10000000, ДатаКонца, Истина);
    
     // внесем для удобства даты начала и конца периода начисления        
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := ДатаНачала;                    
    СубПериоды.Сохранить;
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(Субпериоды);
    // отсортируем по датам начала субпериодов
    ТипГода := ПолучитьТипГода(Ключ);
    Субпериоды.Индекс := "Date";            
    // посчитаем остаток на начало периода начисления
    Остаток := 0;
    Процент := 0;
    Сумма := 0;

    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) делать
    начало
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное 
                                                       - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоимени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;

    НачалоСубпериода := ДатаНачала;
                             
    //ПолучитьДату(РасширДатаВОбычную(ДатаНачала), Год, Месяц, День);
    Год := ГодДаты(ДатаНачала);
    Месяц := МесяцДаты(ДатаНачала);
    День := ДеньДаты(ДатаНачала);
    
    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
        НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
        ДлинаСубПериода := ЧислоДнейВПериоде(Ключ, НачалоСубпериода, НачалоСледующегоСубПериода);
        СтавкаЗаДень := Процент / (ЧислоДнейВЛюбомГоду(Ключ, Год) * 100);
        если Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день").КакФлаг тогда
          // +2 написано потому, что ставка за день выражается в процентах, а мы округляем уже долю от ставки
          СтавкаЗаДень := ОкруглитьДоЗнака(СтавкаЗаДень, ПозицияОкругления + 2);
        // Округляем сумму за субпериод, дабы не получить расхождение с отчетом
        Субсумма :=  ОкруглитьДоЗнака(Остаток * ДлинаСубПериода * СтавкаЗаДень, 2);
        если Субсумма &lt; 0 тогда Субсумма := 0;
        Сумма := Сумма + субсумма ;    

        // измененные условия кредита
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;

        НачалоСубпериода := НачалоСледующегоСубПериода;
        СубПериоды.Следующая;
    конец;

    если не ЭтоНацВалюта тогда
    начало
      // Подсчитанная нами сумма есть сумма в валюте
      СуммаВВалюте := Сумма;
      Сумма := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(Ключ), ДатаКонца) * СуммаВВалюте;
    конец;
    Сумма := ОкруглитьДоЗнака(Сумма, 2); // Округляем до копеек
    результат := Истина;

  обязательно
    УдалитьОбъект(СубПериоды);     
  конец;
конец;

////////////////////////////////////////////////////////////////
// Расчет пеней
///////////////////////////////////////////////////////////////

функция СсудыРасчетПени (Ключ: целое; ДатаНачала, ДатаКонца: дробное; Сумма, ВалютнаяСумма: дробное; Параметр, ВидПеней : Строка): целое;
переменные
  СубсуммаДолг, Процент,                              // процент по кредиту
  ОстатокДолг, СуммаДолг: дробное;                     // остаток кредита
  НачалоСубпериода,                     // дата начала субпериода
  НачалоСледующегоСубПериода,           // дата конца субпериода
  ДлинаСубпериода: дробное;             // длина субпериода
  Год, Месяц, День, ТипГода: целое;              // дата по составляющим               
  СубПериоды: СтатическиеДанные;        // вспомогательный набор данных
  В: Выборка ;
  Смещения: IVariables;
  КредитДолг, ДебетДолг: строка;
  ЭтоНацВалюта, ПозицияОкругления: целое;
  СтавкаЗаДень: дробное;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  ПозицияОкругления := Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день до знака").КакЦелое;
  результат := Ложь;
  если ДатаНачала &gt; ДатаКонца 
  тогда ВызватьОшибку("Конец периода не может быть раньше начала периода.");
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(Ключ) = КодНацВалюты);
  если ЭтоНацВалюта тогда
  начало
    КредитДолг := "Credit";
    ДебетДолг := "Debit";
  конец 
  иначе начало
    КредитДолг := "CurrencyCredit";
    ДебетДолг := "CurrencyDebit";
  конец;
  попытка
  
    Субпериоды := СформироватьСубпериодыПени(Ключ, 10000000, ДатаКонца, Истина, Параметр, ВидПеней);

    // внесем для удобства даты начала и конца периода начисления        
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := ДатаНачала;                    
    СубПериоды.Сохранить;
    СубПериоды.Вставить;                         
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;

    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(Субпериоды);

    // отсортируем по датам начала субпериодов
    Субпериоды.Индекс := "Date";            
    // посчитаем остаток на начало периода начисления
    ОстатокДолг := 0;
    Процент := 0;
    СуммаДолг := 0;
    //ПоказатьДанные(Субпериоды);
    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) делать
    начало
        ОстатокДолг := ОстатокДолг + Субпериоды.ПолеПоИмени(КредитДолг).КакДробное 
                                      - Субпериоды.ПолеПоИмени(ДебетДолг).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;

    НачалоСубпериода := ДатаНачала;                         
    // ПолучитьДату(РасширДатаВОбычную(ДатаНачала), Год, Месяц, День);                // получить Год                 

    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
        Год := ГодДаты(НачалоСубпериода);
        НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
        ДлинаСубПериода := ЧислоДнейВПериоде(Ключ, НачалоСубпериода, НачалоСледующегоСубПериода);
        СтавкаЗаДень := Процент / (100 * ЧислоДнейВЛюбомГоду(Ключ, Год));
        если Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день").КакФлаг тогда
          СтавкаЗаДень := ОкруглитьДоЗнака(СтавкаЗаДень, ПозицияОкругления + 2);
        // Считаем начисленные пени 
        СубсуммаДолг := ОкруглитьДоЗнака(ОстатокДолг * ДлинаСубПериода * СтавкаЗаДень, 2);
        если СубсуммаДолг &lt; 0 тогда СубсуммаДолг := 0;    
        СуммаДолг := СуммаДолг + СубсуммаДолг;    

        // измененные условия кредита
        ОстатокДолг := ОстатокДолг + Субпериоды.ПолеПоИмени(КредитДолг).КакДробное - Субпериоды.ПолеПоИмени(ДебетДолг).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  
          Процент := субпериоды.ПолеПоИмени("percent").КакДробное;

        НачалоСубпериода := НачалоСледующегоСубПериода;
        СубПериоды.Следующая;
    конец;
    
    если ЭтоНацВалюта тогда
    начало
      Сумма := ОкруглитьДоЗнака(СуммаДолг, 2); // Округляем до копеек
      ВалютнаяСумма := 0;
    конец 
    иначе начало
      ВалютнаяСумма := СуммаДолг;
      Сумма := ОкруглитьДоЗнака(ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(Ключ), ДатаКонца) * ВалютнаяСумма, 2);
    конец;
    результат := Истина;

  обязательно
    УдалитьОбъект(СубПериоды);     
  конец;
конец;
</value>
    <param value="ДляСсуд.abl" type="3" name="Export">PARFENOV\parfenovmv\10.02.2006 16:25:04</param>
    <param value="ДляСсуд.abl" type="3" name="version">34.063.01</param>
    <param value="ДляСсуд.abl" type="3" name="crc32">$FE525BA4</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Панели">
    <node path="Обмен">
      <value type="3" name="Набор картинок">16на16</value>
      <node path="Сумма">
        <value type="3" name="Действие">Сумма</value>
        <value type="3" name="Картинка">Сумма</value>
        <value type="3" name="Хинт">СУММЫ (обороты,остатки) по договору</value>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$D27F98FC</param>
        <param value="Картинка" type="3" name="version">34.063.01</param>
        <param value="Картинка" type="3" name="crc32">$D27F98FC</param>
        <param value="Хинт" type="3" name="version">34.063.01</param>
        <param value="Хинт" type="3" name="crc32">$29361B96</param>
      </node>
      <node path="Поиск">
        <value type="3" name="Действие">Поиск</value>
        <value type="3" name="Картинка">Поиск</value>
        <value type="3" name="Хинт">Поиск по фрагменту названия, номера, примечания</value>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$B76C1383</param>
        <param value="Картинка" type="3" name="version">34.063.01</param>
        <param value="Картинка" type="3" name="crc32">$B76C1383</param>
        <param value="Хинт" type="3" name="version">34.063.01</param>
        <param value="Хинт" type="3" name="crc32">$534C2363</param>
      </node>
      <node path="ПереносДокумента">
        <value type="3" name="Действие">ПереносДокумента</value>
        <value type="3" name="Картинка">ЭкспортНевыясненных</value>
        <value type="3" name="Хинт">Перенос документа в другой договор по этой организации</value>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$29924483</param>
        <param value="Картинка" type="3" name="version">34.063.01</param>
        <param value="Картинка" type="3" name="crc32">$4648654B</param>
        <param value="Хинт" type="3" name="version">34.063.01</param>
        <param value="Хинт" type="3" name="crc32">$AE8199A7</param>
      </node>
      <param value="Набор картинок" type="3" name="version">34.063.01</param>
      <param value="Набор картинок" type="3" name="crc32">$65574240</param>
    </node>
    <node path="Контроль">
      <value type="3" name="Набор картинок">16на16</value>
      <node path="Формирование">
        <value type="3" name="Выпадающее меню">МенюФормирования</value>
        <value type="3" name="Действие">Формирование</value>
        <value type="3" name="Картинка">Субпериоды</value>
        <value type="3" name="Стиль">Меню</value>
        <value type="3" name="Хинт">Формирование...</value>
        <param value="Выпадающее меню" type="3" name="version">34.063.01</param>
        <param value="Выпадающее меню" type="3" name="crc32">$D2F58010</param>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$9D24FFCC</param>
        <param value="Картинка" type="3" name="version">34.063.01</param>
        <param value="Картинка" type="3" name="crc32">$0B4DBB44</param>
        <param value="Стиль" type="3" name="version">34.063.01</param>
        <param value="Стиль" type="3" name="crc32">$2267114F</param>
        <param value="Хинт" type="3" name="version">34.063.01</param>
        <param value="Хинт" type="3" name="crc32">$D2901913</param>
      </node>
      <node path="Расчет">
        <value type="3" name="Действие">Расчет</value>
        <value type="3" name="Картинка">Сумма</value>
        <value type="3" name="Хинт">Расчет...</value>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$C4015BFE</param>
        <param value="Картинка" type="3" name="version">34.063.01</param>
        <param value="Картинка" type="3" name="crc32">$D27F98FC</param>
        <param value="Хинт" type="3" name="version">34.063.01</param>
        <param value="Хинт" type="3" name="crc32">$7410851E</param>
      </node>
      <delnode path="КнопкаПересчетВалюты">
        <value type="3" name="Действие">ПересчетВалюты</value>
        <value type="3" name="Картинка">ПересчетВалюты</value>
        <value type="3" name="Хинт">Пересчёт валютных сумм в рублёвые</value>
        <param value="Действие" type="3" name="version">34.063.01</param>
        <param value="Действие" type="3" name="crc32">$C6FA0067</param>
        <param value="Картинка" type="3" name="version">34.063.01</param>
        <param value="Картинка" type="3" name="crc32">$C6FA0067</param>
        <param value="Хинт" type="3" name="version">34.063.01</param>
        <param value="Хинт" type="3" name="crc32">$DFF461D5</param>
      </delnode>
      <param value="Набор картинок" type="3" name="version">34.063.01</param>
      <param value="Набор картинок" type="3" name="crc32">$65574240</param>
    </node>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\События">
    <value type="3" name="НаОперациюРасчетПроцентов">РасчетПроцентов</value>
    <value type="3" name="НаОперациюСТаблицей">НаОперациюСТаблицей</value>
    <value type="3" name="НаУдаление">ОбработчикНаУдаление</value>
    <value type="3" name="НаУстановкуПолей">КонтрольПолей</value>
    <param value="НаОперациюРасчетПроцентов" type="3" name="version">34.063.01</param>
    <param value="НаОперациюРасчетПроцентов" type="3" name="crc32">$8EAF74D1</param>
    <param value="НаОперациюСТаблицей" type="3" name="version">34.063.01</param>
    <param value="НаОперациюСТаблицей" type="3" name="crc32">$BAF74171</param>
    <param value="НаУдаление" type="3" name="version">34.063.01</param>
    <param value="НаУдаление" type="3" name="crc32">$067015DA</param>
    <param value="НаУстановкуПолей" type="3" name="version">34.063.01</param>
    <param value="НаУстановкуПолей" type="3" name="crc32">$1FD2441B</param>
  </node>
  <node path="Бюджет\Объекты\Настройки\Ссуды">
    <node path="Параметры">
      <value type="1" flags="1" name="Бух. операция начисления пени по осн. долгу">99999</value>
      <value type="1" flags="1" name="Бух. операция начисления пени по процентам">99999</value>
      <value type="1" flags="1" name="Бух. операция начисления процентов">99999</value>
      <value type="3" flags="1" name="Бух. проводки списания основной суммы">000</value>
      <value type="3" flags="1" name="Бух. проводки списания пени (штрафов)">110</value>
      <value type="3" flags="1" name="Бух. проводки списания процентов">104</value>
      <value type="1" flags="1" name="Вариант конца периодов">1</value>
      <value type="4" flags="1" name="Использовать график уплаты %">1</value>
      <value type="3" flags="1" name="Коды нач. пени по начисл. процентам">104</value>
      <value type="3" flags="1" name="Коды нач. пени по основн. долгу">105</value>
      <value type="3" flags="1" name="Коды начисления процентов">102</value>
      <value type="1" flags="1" name="Контроль удаления договора">2</value>
      <value type="4" flags="1" name="Номер уникальный">1</value>
      <value type="4" flags="1" name="Округлять ставку за день">0</value>
      <value type="1" flags="1" name="Округлять ставку за день до знака">6</value>
      <value type="4" flags="1" name="Пересчет валюты в принятых">1</value>
      <value type="4" flags="1" name="Периоды пени подробно">1</value>
      <value type="4" flags="1" name="Периоды процентов подробно">1</value>
      <value type="1" flags="1" name="Синхронизировать классификаторы с заголовком">0</value>
      <value type="4" flags="1" name="По дате учета">0</value>
      <param value="Бух. операция начисления пени по осн. долгу" type="3" name="version">34.063.01</param>
      <param value="Бух. операция начисления пени по процентам" type="3" name="version">34.063.01</param>
      <param value="Бух. операция начисления процентов" type="3" name="version">34.063.01</param>
      <param value="Бух. проводки списания основной суммы" type="3" name="version">34.063.01</param>
      <param value="Бух. проводки списания основной суммы" type="3" name="crc32">$DDF4E3CF</param>
      <param value="Бух. проводки списания пени (штрафов)" type="3" name="version">34.063.01</param>
      <param value="Бух. проводки списания пени (штрафов)" type="3" name="crc32">$C52DB8B9</param>
      <param value="Бух. проводки списания процентов" type="3" name="version">34.063.01</param>
      <param value="Бух. проводки списания процентов" type="3" name="crc32">$DB5B4DE1</param>
      <param value="Вариант конца периодов" type="3" name="version">34.063.01</param>
      <param value="Использовать график уплаты %" type="3" name="version">34.063.01</param>
      <param value="Коды нач. пени по начисл. процентам" type="3" name="version">34.063.01</param>
      <param value="Коды нач. пени по начисл. процентам" type="3" name="crc32">$DB5B4DE1</param>
      <param value="Коды нач. пени по основн. долгу" type="3" name="version">34.063.01</param>
      <param value="Коды нач. пени по основн. долгу" type="3" name="crc32">$AC5C7D77</param>
      <param value="Коды начисления процентов" type="3" name="version">34.063.01</param>
      <param value="Коды начисления процентов" type="3" name="crc32">$3238E8D4</param>
      <param value="Контроль удаления договора" type="3" name="version">34.063.01</param>
      <param value="Номер уникальный" type="3" name="version">34.063.01</param>
      <param value="Округлять ставку за день" type="3" name="version">34.063.01</param>
      <param value="Округлять ставку за день до знака" type="3" name="version">34.063.01</param>
      <param value="Пересчет валюты в принятых" type="3" name="version">34.063.01</param>
      <param value="Периоды пени подробно" type="3" name="version">34.063.01</param>
      <param value="Периоды процентов подробно" type="3" name="version">34.063.01</param>
      <param value="Синхронизировать классификаторы с заголовком" type="3" name="version">34.063.01</param>
      <param value="По дате учета" type="3" name="version">34.063.01</param>
    </node>
    <node path="Смещения">
      <value type="1" flags="1" name="Выдача">1</value>
      <value type="1" flags="1" name="График погашения">0</value>
      <value type="1" flags="1" name="График уплаты процентов">0</value>
      <value type="1" flags="1" name="Изменение ставки пеней по осн. долгу">0</value>
      <value type="1" flags="1" name="Изменение ставки пеней по проц.">0</value>
      <value type="1" flags="1" name="Изменение ставки процентов">0</value>
      <value type="1" flags="1" name="Начисление пеней">0</value>
      <value type="1" flags="1" name="Начисление процентов">0</value>
      <value type="1" flags="1" name="Погашение">1</value>
      <value type="3" flags="1" name="Пояснение">Здесь указываются смещения при расчете относительно даты принятия (учета). Т.е. если в пункте "Получение"
стоит цифра 1, то во всех расчетах получение будет учитываться след. числом.</value>
      <value type="1" flags="1" name="Уплата пеней">0</value>
      <value type="1" flags="1" name="Уплата процентов">0</value>
      <param value="Выдача" type="3" name="version">34.063.01</param>
      <param value="График погашения" type="3" name="version">34.063.01</param>
      <param value="График уплаты процентов" type="3" name="version">34.063.01</param>
      <param value="Изменение ставки пеней по осн. долгу" type="3" name="version">34.063.01</param>
      <param value="Изменение ставки пеней по проц." type="3" name="version">34.063.01</param>
      <param value="Изменение ставки процентов" type="3" name="version">34.063.01</param>
      <param value="Начисление пеней" type="3" name="version">34.063.01</param>
      <param value="Начисление процентов" type="3" name="version">34.063.01</param>
      <param value="Погашение" type="3" name="version">34.063.01</param>
      <param value="Пояснение" type="3" name="version">34.063.01</param>
      <param value="Пояснение" type="3" name="crc32">$FB7B570D</param>
      <param value="Уплата пеней" type="3" name="version">34.063.01</param>
      <param value="Уплата процентов" type="3" name="version">34.063.01</param>
    </node>
  </node>
  <node path="Бюджет\Объекты\Настройки\Ссуды\Параметры">
    <delvalue name="Коды начисления пени" />
    <delvalue name="Коды начисления пени проц." />
    <delvalue name="Коды уплаты пени" />
    <delvalue name="Коды уплаты процентов" />
  </node>
  <node path="Бюджет\Объекты\Настройки\Ссуды\Параметры">
    <delvalue name="Типы финансирования бюджеты" />
    <delvalue name="Типы финансирования юр.лица" />
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Выпадающие меню">
    <node path="МенюФормирования">
      <delnode path="Периоды начисления процентов" />
      <delnode path="Периоды начисления пени" />
    </node>
    <delnode path="МенюРасчета" />
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Панели\Контроль\Расчет">
    <delvalue name="Выпадающее меню" />
    <delvalue name="Стиль" />
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\ОбработчикНаУдаление">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить 'Project';

ОбработчикНаУдаление;
константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры"; 

переменные
  ВспомСД: СтатическиеДанные;
  Ф : ФормаВвода; 
начало
  //Сообщение("Процесс пошел. Операция номер ");
  если (Реестр.Узел(УзелПараметров).Значение("Контроль удаления договора").КакЦелое &lt;&gt; 0) тогда
  начало
    Ф := ПолучитьФормуВвода;
    ВспомСД := СоздатьСтатическиеДанные;
    ВспомСД.СоединитьБД;
    ВспомСД.Запрос :=  " [PumpData] {"
                     + " select AcceptDate from FinDocDetail "
                     + " where ProgIndex in (121, 122) and RecordIndex = @RI"
                     + " }{"
                     + " select AcceptDate from LoanCreditPercents"
                     + " where ProgIndex in (124, 325, 326) and RecordIndex = @RI"
                     + " }{"
                     + " select IDate AcceptDate from Incomes32"
                     + " where ProgIndex in (123, 328, 329) and RecordIndex = @RI"
                     + " }";
    ВспомСД.Параметр("RI") := Ф.Заголовки.Таблица.Поле("id").КакСтрока;
    ВспомСД.Открыть;
    
    ВспомСД.Фильтр := "AcceptDate &gt; 0";
    если ВспомСД.ЧислоЗаписей &gt; 0 тогда
    начало
      если Реестр.Узел(УзелПараметров).Значение("Контроль удаления договора").КакЦелое = 1 тогда
        ВызватьОшибку("В детализации находятся проведенные записи. Удаление договора невозможно!!!");
      если Реестр.Узел(УзелПараметров).Значение("Контроль удаления договора").КакЦелое = 2 тогда
        если Сообщение("В детализации находятся проведенные записи. Удалить договор?", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда
          ВызватьОшибку("Действие отменено пользователем.");                
    конец;
  конец;                 
конец;
</value>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$9CA92E58</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\НаОперациюСТаблицей">
    <value type="7" name="Код программы">НаОперациюСТаблицей(ПередОперацией: целое; Данные, Операция: Целое): Целое;

включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить 'Project';

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры"; 
  УзелСохранения = "Бюджет\Объекты\Настройки\Ссуды\Сохранение"; 
  
функция АвтонумерацияРаспоряженийПоСсудам(ПередСохранением: целое; Данные, Операция: Целое): Целое;
переменные
  Ф : ФормаВвода;
  Детализация,ссГен : СтатическиеДанные;
начало
  если (ПередСохранением=1) и (Операция = 7) и (Данные = 0) и Реестр.Узел(УзелСохранения).Значение("Автонумерация").КакЦелое и (Ф.АктивнаяДетализация = 0) тогда 
    начало
      Ф := ПолучитьФормуВвода;
      Детализация := Ф.Детализация(0).Таблица;
      если  Детализация.ПолеПоИмени("SOURCEDOCNUM").Пустое и
                Детализация.ПолеПоИмени("SOURCEDOCNUM").СтароеЗначениеПустое
      тогда
        начало
          ссГен := СоздатьСтатическиеДанные;
          попытка
            попытка
              ссГен.СоединитьБД;
              ссГен.Запрос := "[PumpData] "+#13#10+
              "{select gen_id(G_FINDOC_NUMBER,1) DocNUM from SINGLE}";
              ссГен.Открыть;
              Детализация.ПолеПоИмени("SOURCEDOCNUM").КакСтрока := ссГен.ПолеПоИмени('DocNUM').КакСтрока; 
              Сообщение("Распоряжению присвоен номер : " + ссГен.ПолеПоИмени('DocNUM').КакСтрока);
            обязательно
              УдалитьОбъект(ссГен);
            конец; 
          неудача
            Сообщение("Системе не удалось пронумеровать распоряжение.")
          конец;
        конец;
    конец;
конец;


функция ПроверкаУникальностиНомера(ПередОперацией: целое; Данные, Операция: Целое): Целое;
переменные
  Ф : ФормаВвода;
  Заголовок,ссПроверка:СтатическиеДанные;
начало
  если Реестр.Узел(УзелПараметров).Значение("Номер уникальный").КакФлаг и
    (ПередОперацией=1) и (Операция = 7) и (Данные = -1) тогда 
  начало
    Ф := ПолучитьФормуВвода;
    Заголовок := Ф.Заголовки.Таблица;
    если (не Заголовок.Поле("Org_Ref").Пустое)и(не Заголовок.Поле("Number").Пустое) тогда
    начало
      ссПроверка := СоздатьСтатическиеДанные;
      попытка
        ссПроверка.СоединитьБД;
        ссПроверка.Запрос := "[PumpData]"+#13#10+
        "{select ID from LoanCredit where (ProgIndex = 120) and (Org_Ref = @Org) and (Number = '@Num') and (ID &lt;&gt;@PID) and (BudgetRef=@BudgetRef)}";
        ссПроверка.Параметр("Org") := Заголовок.Поле("Org_Ref").КакСтрока;
        ссПроверка.Параметр("Num") := Заголовок.Поле("Number").КакСтрока;
        ссПроверка.Параметр("PID") := Заголовок.Поле("ID").КакСтрока;
        ссПроверка.Параметр("BudgetRef") := Заголовок.Поле("BudgetRef").КакЦелое;
        ссПроверка.Открыть;
        если ссПроверка.ЧислоЗаписей &gt; 0 тогда
          ВызватьОшибку("Для данной организации уже существует другой договор с таким же номером.");
      обязательно
        УдалитьОбъект(ссПроверка);
      конец;
    конец;  
  конец;
конец;

// пробегаем по детализациям и изменяем классификаторы так, как это заведено в заголовке
функция СинхронизироватьКлассификаторы;
переменные
  Ф: ФормаВвода;
  Заголовки: СтатическиеДанные;
  В: Выборка;
  к: целое;
начало
  Ф := ПолучитьФормуВвода;
  Заголовки := Ф.Заголовки.Таблица;
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // Изменяем в получении/погашении
    В.Запрос := "update Incomes32 set"
                + " RegionCLS = " + Заголовки.Поле("RegionCLS").КакСтрока + ","
                + " FacialAcc_CLS = " + Заголовки.Поле("FacialAcc_CLS").КакСтрока
                + " where"
                + " RecordIndex = " + Заголовки.Поле("ID").КакСтрока;
    В.Выполнить;
    // Изменяем в уплате %/ доп. расходах
    В.Запрос := "update FinDocDetail set"
                + " RegionCLS = " + Заголовки.Поле("RegionCLS").КакСтрока + ","
                + " Fact = " + Заголовки.Поле("Fact").КакСтрока + ","
                + " FacialAcc_CLS = " + Заголовки.Поле("FacialAcc_CLS").КакСтрока
                + " where"
                + " RecordIndex = " + Заголовки.Поле("ID").КакСтрока;
    В.Выполнить;
    Ф.Детализация(Ф.АктивнаяДетализация).Открыть;
  неудача
    ВызватьОшибку("Невозможно изменить классификаторы!");
  конец;
конец;

переменные
  Ф: ФормаВвода;
  Мастер: СтатическиеДанные;
  Синхронизировать: целое;
Начало
  АвтонумерацияРаспоряженийПоСсудам(ПередОперацией, Данные, Операция);
  ПроверкаУникальностиНомера(ПередОперацией, Данные, Операция);
  если (ПередОперацией=1) и (Операция = 7) и (Данные = -1) тогда
  начало
    Ф := ПолучитьФормуВвода;
    Мастер := Ф.Заголовки.Таблица;
    // Синхронизируем классификаторы в детализации с заголовком
    если (Мастер.Поле("RegionCLS").СтароеЗначениеЦелое &lt;&gt; Мастер.Поле("RegionCLS").КакЦелое) или
      (Мастер.Поле("Fact").СтароеЗначениеЦелое &lt;&gt; Мастер.Поле("Fact").КакЦелое) или
      (Мастер.Поле("FacialAcc_CLS").СтароеЗначениеЦелое &lt;&gt; Мастер.Поле("FacialAcc_CLS").КакЦелое) тогда
    начало  
      Синхронизировать := Ложь;
      если Реестр.Узел(УзелПараметров).Значение("Синхронизировать классификаторы с заголовком").КакЦелое = 0 тогда
      начало
        если Сообщение("Синхронизировать классификаторы с заголовком?", Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) = Результат_Да тогда
          Синхронизировать := Истина;
      конец; 
// Если значение Всегда=2, то истина
      если Реестр.Узел(УзелПараметров).Значение("Синхронизировать классификаторы с заголовком").КакЦелое = 2 тогда
        Синхронизировать := Истина;
      если Синхронизировать тогда
        СинхронизироватьКлассификаторы;  
    конец;
  конец;
конец.
</value>
    <value type="4" name="Отладка">0</value>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$0F0CCDBB</param>
    <param value="Отладка" type="3" name="version">34.063.01</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ПересчетВРубли.abl">//Макрос пересчета валютных сумм
//http://linux.krista.ru/~bdocs/development/budget/tasks/Currency/ReCalcCurrency.htm
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Project";
включить "Бюджет\Ресурсы\библиотеки\OutPut.lib";
включить "Бюджет\Ресурсы\Макросы\ПараметрыИзБД.abl";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  Кредиты="{DDC51F01-193C-11D5-8DF5-000021DDD8D5}";
  Ссуды = "{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}";
переменные
  Ф: ФормаВвода;
  ссОбрабатываемые,ссД1,ссД2,ссД3,ссД4, ссД5, ссД6, ссД7, ссД8: СтатическиеДанные;
  ОВ:ОкноВывода;
  ДатаПер : целое;    

функция Модуль : Строка;
начало
  ф := ПолучитьФормуВвода;
  результат := Ф.Идентификатор;
конец;

// Выдает путь в реестре к узлу параметров в зависимости от того, откуда вызывается (из кредитов или ссуд)
функция УзелПараметров: строка;
начало
  если Модуль = Ссуды тогда
    Результат := "Бюджет\Объекты\Настройки\Ссуды\Параметры"
  иначе
    Результат := "Бюджет\Объекты\Настройки\Кредиты\Параметры";  
конец;

// Нужно для пропуска договоров, где разные валюты. В будущем этого конечно не понадобится
функция СообщениеНесоответствиеВалюты: целое;
начало
  если Ф.АктивнаяДетализация &lt; 0 тогда
    Результат := Сообщение("Для договора валюта в детализациях не соответствует валюте в заголовке. Пропустить его?", Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да
    иначе
      ВызватьОшибку("Для выбранного договора валюта в детализациях не соответствует валюте в заголовке. Расчет прерван.")
конец; 
  
функция НетДатыПринятия(Данные:СтатическиеДанные):целое;
начало
  если Модуль=Кредиты тогда
    // В кредитах есть либо AcceptDate либо PlanDate
    попытка
      результат := Данные.Поле("AcceptDate").Пустое;
    неудача
      Результат := Истина
    конец  
  иначе
  попытка
    результат := Данные.Поле("AcceptDate").Пустое;
  неудача
    попытка
      //Для ssDetail4
      результат := Данные.Поле("IDate").Пустое;
    неудача
      Результат := Истина 
    конец;  
  конец;
конец;

функция МожноПересчитывать(Данные:СтатическиеДанные):целое;
начало
  результат := ((Мод(Данные.Поле("CurrencySumma").КакДробное) &gt; 0.005) и
               НетДатыПринятия(Данные)) или (Реестр.Узел(УзелПараметров).Значение("Пересчет валюты в принятых").КакФлаг);
  результат := результат и (Данные.Поле("CurrencyCLS").КакЦелое &lt;&gt; КодНацВалюты) 
конец;

функция ПересчетОднойЗаписи(ссДанные:СтатическиеДанные;ИмяПоля:строка; ДатаПер: целое);
начало
  если МожноПересчитывать(ссДанные) тогда
  начало
    ссДанные.Редактировать;
    ссДанные.Поле(ИмяПоля).КакДробное := ОкруглитьДоЗнака(ссДанные.Поле("CURRENCYSUMMA").КакДробное*
      ПолучитьОбмКурс(ссДанные.Поле("CURRENCYCLS").КакЦелое, ДатаПер), 2);
    ссДанные.Сохранить;
  конец;
конец;      


функция ПересчетВалюты(ссДанные:СтатическиеДанные;ИмяПоля:строка; ДатаПер: целое);
начало
  ссДанные.ВНачало;
  пока не ссДанные.ВКонце делать
  начало
    ПересчетОднойЗаписи(ссДанные,ИмяПоля, ДатаПер);
    ссДанные.Следующая;
  конец;
  ссДанные.СохранитьИзменения;
конец;

функция ПолучитьИмяПоляССуммой(ИндексДетали : целое; Интерфейс : Строка):строка;
начало  
  Результат := "";
  если Интерфейс = Кредиты тогда
  выбрать ИндексДетали из
    0: результат := "Credit";
    1: результат := "Summa";
    2: Результат := "Debit";
    3: результат := "Summa";
    4: результат := "Summa";
    5: результат := "Credit";
    //6: Результат := "Credit";
    //7: результат := "credit";
    8: Результат := "Summa";
    9: результат := "credit"; 
    иначе
      ВызватьОшибку("Для данной детализации пересчет валютной суммы в рубли невозможен!");
  конец;
  если Интерфейс = Ссуды тогда// Значит это ссуды
  выбрать ИндексДетали из
    0: Результат := "Credit";
    1: Результат := "Summa";
    2: Результат := "Debit";
    3: Результат := "Summa";
    4: Результат := "Summa";
    5: Результат := "Credit";
  конец;  
конец;

функция ОбработкаДетализации;
переменные
  л_Мод : Строка;
начало
  ф.Детализация.Открыть;
  ПересчетОднойЗаписи(Ф.Заголовки.Таблица, "Summa", ДатаПер);
  л_Мод := Модуль;
  ПересчетВалюты(ссД1, ПолучитьИмяПоляССуммой(0, л_Мод), ДатаПер);
  ПересчетВалюты(ссД2, ПолучитьИмяПоляССуммой(1, л_Мод), ДатаПер);
  ПересчетВалюты(ссД3, ПолучитьИмяПоляССуммой(2, л_Мод), ДатаПер);
  ПересчетВалюты(ссД4, ПолучитьИмяПоляССуммой(3, л_Мод), ДатаПер);
  ПересчетВалюты(ссД5, ПолучитьИмяПоляССуммой(4, л_Мод), ДатаПер);
  ПересчетВалюты(ссД6, ПолучитьИмяПоляССуммой(5, л_Мод), ДатаПер);
  //ПересчетВалюты(ссД7, ПолучитьИмяПоляССуммой(6));
  если Модуль = Кредиты тогда
  начало
    ПересчетВалюты(ссД7, ПолучитьИмяПоляССуммой(8, л_Мод), ДатаПер);
    ПересчетВалюты(ссД8, ПолучитьИмяПоляССуммой(9, л_Мод), ДатаПер);
  конец;
  ф.СохранитьИзменения;     
конец;

//Кредиты=соотв. GUID
//Ссуды=  соотв. GUID
Функция ДиалДатаПер;
начало
//Диалог запрашивает дату пересчета
    Диалог.Очистить;
    Диалог.Добавить("Дата пересчета", "Дата", 0, Календарь, "00.00.0000");
    Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
    если не Диалог.Выполнить тогда выход;
    если Диалог.Значение("Дата") = "" тогда ВызватьОшибку("Дата  пересчета не может быть пустой");
    ДатаПер := StrToDateEx(Диалог.Значение("Дата"));
конец;

функция ПересчетВРубли(Приложение:целое);
начало
// Модуль := Приложение;
 попытка
  ОВ := ОкноВывода;
  ОВ.Clear;
  ф := ПолучитьФормуВвода;
  если Ф.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("В заголовках договоров нет данных.");
  //если в детализации
  если ф.АктивнаяДетализация &lt;&gt; -1 тогда
  начало
    //если не Позиция(ЦелоеВСтроку(ф.АктивнаяДетализация+Модуль),"1345") тогда
      //ВызватьОшибку("Перейдите на закладку с валютной суммой!");
    если не Ф.Детализация(Ф.АктивнаяДетализация).Таблица.FindField("CurrencySumma", nil) тогда
      ВызватьОшибку("Перейдите на закладку с валютной суммой");    
    
    если (не Ф.Детализация(Ф.АктивнаяДетализация).Таблица.FindField("CurrencySumma", nil)) тогда
      ВызватьОшибку("Перейдите на закладку с валютной суммой"); 
    
    если ф.Детализация(ф.АктивнаяДетализация).Сетка.ЕстьВыделенныеСтроки тогда
    начало
      ДиалДатаПер;
      ссОбрабатываемые := ф.Детализация(ф.АктивнаяДетализация).Сетка.ПолучитьВыделенныеСтроки;
      ссОбрабатываемые.СоединитьБД;
      ссОбрабатываемые.Запрос := ф.Детализация(ф.АктивнаяДетализация).Таблица.Запрос;
      ссОбрабатываемые.CachedUpdates := Да;
      ПересчетВалюты(ссОбрабатываемые,ПолучитьИмяПоляССуммой(ф.АктивнаяДетализация, Модуль), ДатаПер);
      Ф.Детализация(ф.АктивнаяДетализация).Открыть;
    конец
    иначе
    начало
      ссОбрабатываемые := ф.Детализация(ф.АктивнаяДетализация).Таблица;
      если ссОбрабатываемые.ЧислоЗаписей=0 тогда
        ВызватьОшибку("Нет записей для пересчета.");
      ДиалДатаПер;  
      ПересчетОднойЗаписи(ссОбрабатываемые,ПолучитьИмяПоляССуммой(ф.АктивнаяДетализация, Модуль), ДатаПер);
      Ф.СохранитьИзменения;  
    конец;      
  конец
  иначе
  начало
    если Сообщение("Произведется пересчет валюты во всех детализациях, продолжать?",
           Сообщение_Вопрос,Кнопка_Да+Кнопка_Нет) = Результат_Да тогда
    начало
      ссД1 := ф.Детализация(0).Таблица;
      ссД2 := ф.Детализация(1).Таблица;
      ссД3 := ф.Детализация(2).Таблица;
      ссД4 := ф.Детализация(3).Таблица;      
      ссД5 := Ф.Детализация(4).Таблица;
      ссД6 := Ф.Детализация(5).Таблица;
      //ссД7 := Ф.Детализация(6).Таблица;
      если Модуль = Кредиты тогда
      начало
        ссД7 := Ф.Детализация(8).Таблица;
        ссД8 := Ф.Детализация(9).Таблица;
      конец;
      
      ДиалДатаПер;
      если ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда
      начало
        ссОбрабатываемые := ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки;
        ссОбрабатываемые.ВНачало;
        пока не ссОбрабатываемые.ВКонце делать
        начало
          ф.Заголовки.Таблица.Locate("ID",ссОбрабатываемые.Поле("ID").КакЦелое,0);
          если НетДатыПринятия(ф.Заголовки.Таблица) тогда
            ОбработкаДетализации;
          ссОбрабатываемые.Следующая;   
        конец;        
      конец
      иначе
        если НетДатыПринятия(ф.Заголовки.Таблица) тогда
          ОбработкаДетализации; 
      
    конец;           
  конец;
 обязательно
  если ОВ.Count тогда ОВ.Показать;
 конец; 
конец;
</value>
    <param value="ПересчетВРубли.abl" type="3" name="version">34.063.01</param>
    <param value="ПересчетВРубли.abl" type="3" name="crc32">$04CE324F</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\Поиск">
    <value type="3" name="БухПроводка">0</value>
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";


константы
  УзелПоиска = "Бюджет\Объекты\Настройки\Ссуды\Поиск";

  НеИспользовать = "Не использовать";
  ПоПогашению = "По погашению";
  ПоВыдаче = "По выдаче";
  ПоВсему = "По выдаче и погашению";

переменные
  Ф: ФормаВвода;
  В: Выборка ;
  Мастер, Детализация: СтатическиеДанные;
  Найдено: целое;
  Фраг: строка ;
  Меропр, ТипФин, Провод: целое;


  функция ПоискПоДетализации: целое;
  
  Переменные
  Запр, Запрос: строка;
  
  начало

    Запр := "select " +
    "  fd.FinType, " +
    "  fd.Fact, " +
    "  fd.BuhPaymentCLS " +
    "from " +
    "  FinDocDetail fd " +
    "where ";

    результат := да;
    выбрать Диалог.Значение("Детал") из
      Неиспользовать: Результат :=  нет;
      ПоВыдаче:    Запрос := Запр + "(ProgIndex = 121) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")"; 
      ПоПогашению: Запрос := Запр + "(ProgIndex = 122) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")"; 
      ПоВсему:     Запрос := Запр + "(ProgIndex in (121, 122)) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")";
    конец;
    Если Результат = да тогда
    начало
      Результат := нет;
      В.Запрос := Запрос;
      В.Открыть;
      В.ВНачало;
      пока (не В.ВКонце) и (Результат = нет) делать
      начало
        Если ((Провод = 0) или (В.Поле("BuhPaymentCLS").КакЦелое = Провод)) и
             ((Меропр = 0) или (В.Поле("Fact").КакЦелое          = Меропр)) и
             ((ТипФин = 0) или (В.Поле("FinType").КакЦелое       = ТипФин)) тогда Результат := да
                                                                            иначе В.Следующий;
      конец;
    конец;
  конец;

начало

  // Диалог для указания лицевого счета
  Диалог.Очистить;
  Диалог.Заголовок := "Поиск";
  Диалог.Добавить("Фрагмент", "Фраг", 0, 0, "");

  Диалог.Добавить("Детализация", "Детал", 0, Список + ТолькоЧтение, "", Неиспользовать + #13#10 + Попогашению + #13#10 + Повыдаче + #13#10 + ПоВсему);
  Диалог.Значение("Детал") := НеИспользовать;

  Диалог.ДобавитьКлассификатор("Мероприятие",тк_мероприятие,0/*,,"##.##.##"*/) ;                
  Диалог.ДобавитьКлассификатор("Тип финансирования",тк_ТипФинансирования,0/*,,"#.##"*/) ;                
  Диалог.ДобавитьКлассификатор("Проводка",тк_БухПроводка,0/*,,"###"*/);
                  
  Диалог.Добавить("Направление", "Направление", 0, Список + ТолькоЧтение, "", "вперед" + #13#10 + "назад");
  Диалог.Значение("Направление") := "вперед";
    
  Диалог.Значение("фраг") :=               Реестр.Узел(УзелПоиска).Значение("Фрагмент").КакСтрока;
  Диалог.Значение(тк_мероприятие) :=       Реестр.Узел(УзелПоиска).Значение("Мероприятие").КакСтрока;
  Диалог.Значение(тк_ТипФинансирования) := Реестр.Узел(УзелПоиска).Значение("ТипФинансирования").КакСтрока;    
  Диалог.Значение(тк_БухПроводка) :=       Реестр.Узел(УзелПоиска).Значение("БухПроводка").КакСтрока;    
    
  // Инициализация
  Ф := ПолучитьФормуВвода;
  В := СоздатьВыборку; 
//  В.DataBase := Бюджет;
  В.БазаДанных := Бюджет;
  
  // Определяем активную форму ввода и активную таблицу
  если Ф.АктивнаяДетализация = -1 тогда начало
    // Активные заголовки, придется открывать каждый и проверять наличие искомого значения
    Мастер := Ф.Заголовки.Таблица;

    // Выход из цикла поиска только путем нажатия кнопки "отмена" в диалоге
    пока Диалог.Выполнить делать начало
    
      Меропр :=   Диалог.Значение(тк_Мероприятие);  
      ТипФин :=   Диалог.Значение(тк_ТипФинансирования); 
      Провод :=   Диалог.Значение(тк_БухПроводка);
      Фраг := Диалог.Значение("фраг");
      Реестр.Узел(УзелПоиска).Значение("Фрагмент").КакСтрока :=          Фраг;
      Реестр.Узел(УзелПоиска).Значение("Мероприятие").КакСтрока :=       Меропр;
      Реестр.Узел(УзелПоиска).Значение("ТипФинансирования").КакСтрока := ТипФин;
      Реестр.Узел(УзелПоиска).Значение("БухПроводка").КакСтрока :=       Провод;
      попытка
        Мастер.ЗапретитьПрорисовку;
        Найдено := Нет;
        если Диалог.Значение("Направление") = "вперед" 
        тогда Мастер.Следующая 
        иначе Мастер.Prior;
        пока ( ((Диалог.Значение("Направление") = "вперед") и (не Мастер.ВКонце))
               или ((Диалог.Значение("Направление") = "назад") и (не Мастер.ВНачале)) ) 
               и (не Найдено) делать 
        начало
          если ПоискПоДетализации
               или ((Фраг &lt;&gt; "") и ((Позиция(Прописные(Фраг), Прописные(Мастер.Поле("number").КакСтрока)) &gt; 0) 
               или (Позиция(Прописные(Фраг), Прописные(Мастер.Поле("note").КакСтрока)) &gt; 0)
               или (Позиция(Прописные(Фраг), Прописные(Мастер.Поле("name").КакСтрока)) &gt; 0)))
            // Если лицевой счет найден, тогда выйти из цикла
            тогда Найдено := Да
            иначе 
              если Диалог.Значение("Направление") = "вперед" 
              тогда Мастер.Следующая 
              иначе Мастер.Prior;
        конец;
        если Мастер.ВНачале или Мастер.ВКонце тогда 
          Сообщение("Достигнут конец списка") ;
      обязательно
        Мастер.РазрешитьПрорисовку;
      конец;
    конец 
  
  конец 
  
  иначе начало
    Сообщение("Для поиска выйдите в заголовки договоров") ;
    выход ;
  конец;

  // Сохранить последний использовавшийся лицевой счет
  Реестр.Узел(РабочийУзел).Значение("Фрагмент").КакСтрока :=          Фраг;
  Реестр.Узел(РабочийУзел).Значение("Мероприятие").КакСтрока :=       Меропр;
  Реестр.Узел(РабочийУзел).Значение("ТипФинансирования").КакСтрока := ТипФин;
  Реестр.Узел(РабочийУзел).Значение("БухПроводка").КакСтрока :=       Провод
конец.
</value>
    <param value="Код программы" type="3" name="Export">PARFENOV\parfenovmv\10.02.2006 16:24:33</param>
    <value type="3" name="Мероприятие">0</value>
    <value type="3" name="ТипФинансирования">0</value>
    <value type="3" name="Фрагмент" />
    <param value="БухПроводка" type="3" name="version">34.063.01</param>
    <param value="БухПроводка" type="3" name="crc32">$26D930AC</param>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$0623AF4F</param>
    <param value="Мероприятие" type="3" name="version">34.063.01</param>
    <param value="Мероприятие" type="3" name="crc32">$26D930AC</param>
    <param value="ТипФинансирования" type="3" name="version">34.063.01</param>
    <param value="ТипФинансирования" type="3" name="crc32">$26D930AC</param>
    <param value="Фрагмент" type="3" name="version">34.063.01</param>
    <param value="Фрагмент" type="3" name="crc32">$00000000</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\РасчетПроцентов">
    <value type="3" name="Заголовок">Расчет процентов по ссудам</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";

РасчетПроцентов (Ключ: целое; ДатаНачала, ДатаКонца: дробное; СПланом : целое; Сумма, СуммаВВалюте: дробное): целое;
// Сумма - для возврата результата
// СПланом : целое  (Истина/Ложь) (1/0)
//    С планом - расчет по факту и плану с учетом будущих выплат, возвратов (либо по ДатеПринятия, либо по ДатеПлана)
//    Без плана  - расчет только по факту (рассматриваются только записи с проставленными датами принятия)
    
начало
  попытка
    Сумма := РасчетПоКнопке(Ключ, СуммаВВалюте);
    РасчетПроцентов := 1;
  неудача
    РасчетПроцентов := 0;
  конец;  
конец
</value>
    <value type="3" name="Описание">Расчет процентов

Дата расчета (начисления) -  дата на которую производится расчет 
процентов за некий расчетный период. 
Дата расчета может находится как внутри этого периода, так и вне его (позже).

Период расчета (начисления) -  интервал дат (с … по …) за который производится 
расчет процентов и получается сумма начисленных процентов сразу за весь период.

Субпериод – интервал дат, когда  состояние кредита было стационарным, т.е. 
не производилось операций получения/возврата основной суммы кредита 
и процентная ставка не менялись.

Новый субпериод начинается в следующих случаях:
начался период; 
изменение остатка (выдача/погашение); 
изменение процентной ставки.

Заканчивается:
перед началом другого субпериода 
когда заканчивается период

Расчет  процентов можно классифицировать в зависимости от плана
·        Без плана (только по факту) – рассматриваются только записи с проставленными датами принятия
·        С планом (по факту и плану с учетом будущих выплат, возвратов) – даты принятия не учитываются

Формула расчета начисленных процентов за период:
S = сумма по количеству периодов (от 1 до N по i) (Ri*Di*(pi/(DY*100)))
S – сумма начисленных процентов за расчетный период
N – число субпериодов в расчетном периоде
i   – номер субпериода
Ri – непогашенный остаток в i-ом субпериоде (Выдано – Погашено)
pi  – процентная ставка в i-ом субпериоде
Di  – количество дней в субпериоде.
DY – фактическое количество дней в год</value>
    <value type="4" name="Отладка">0</value>
    <param value="Заголовок" type="3" name="version">34.063.01</param>
    <param value="Заголовок" type="3" name="crc32">$135CD7A3</param>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$6D628D10</param>
    <param value="Описание" type="3" name="version">34.063.01</param>
    <param value="Описание" type="3" name="crc32">$5E1AE960</param>
    <param value="Отладка" type="3" name="version">34.063.01</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\Сумма">
    <value type="3" name="Заголовок">Состояние карточки</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
//включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
//включить "Бюджет\Ресурсы\Макросы\ДляСсуд.abl";
включить 'project';

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  // строковые константы видов пеней и кредитов. Юзаются в функциях получитьпараметр и получитьимяпараметра
  стр_впОснДолг = "по основному долгу";
  стр_впПроц = "по начисленным процентам";
  стр_впВсе = "все";
  стр_Проц = "процент";
  стр_воУплата = "уплата";
  стр_воНачисление = "начисление";

переменные
  В: Выборка;
  Ф: ФормаВвода;
  ВВалюте: Целое;
  Дата, С, Коды_Нач_Пр, Коды_Нач_Пени, Коды_Упл_Пр, Коды_Упл_Пени: строка;
  Выдано_О, Выдано_Д, Погашено_О, Погашено_Д, Начислено_О_Пр, Начислено_Д_Пр, Начислено_О_Пени,
  Начислено_Д_Пени , Уплачено_О_Пр, Уплачено_О_Пени, Уплачено_Д_Пр, Уплачено_Д_Пени: дробное;
  НацВалюта, Валюта: целое;
  ТекстСообщения: строка;


функция ВЗаголовкеВалюта: целое;
начало
  результат := Валюта &lt;&gt; НацВалюта;
конец;



Функция РазыменоватьВалюту: строка;
переменные
  СС: СтатическиеДанные;
  
начало
  СС := СоздатьСтатическиеДанные;
  СС.СоединитьБД;
  
  СС.Запрос := 
  " [PumpData] {"
  " select Name" +
  " from CurrencyCls" +
  " where Id = " + ЦелоеВСтроку(Валюта) +
  " }";
  
  СС.Открыть;
  
  Результат := сс.Поле("Name").КакСтрока;
   
конец;



НАЧАЛО

  В := СоздатьВыборку;
  В.Базаданных := Бюджет;
  Ф := ПолучитьФормуВвода;

  НацВалюта := ЦелаяКонстанта(19, 4);
  Валюта := ф.Заголовки.Таблица.Поле("CurrencyCLS").КакЦелое;  

  // Формируем и показываем диалог
  Диалог.Очистить;
  Диалог.Заголовок := "Состояние карточки кредитного договора";
  Диалог.Добавить("На дату :", "Дата", 0, Календарь,"##.##.####");   // конечная дата
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  
  Если ВЗаголовкеВалюта тогда
  начало
    Диалог.Добавить("Выводить в рублях", "рубли", 0, Проверка+ТолькоЧтение, "");    
    Диалог.Флаг("рубли") := Ложь;
    // В данном случае ВВалюте означает выводится ли доп параметр в диалог
    ВВалюте := Истина;
  конец иначе ВВалюте := Ложь; 
  
  если не Диалог.Выполнить тогда выход;
  
  // А в данном сл-е ВВалюте означет в Нац или в НеНац валюте будут выводиться данные
  Если ВВалюте тогда ВВалюте := Диалог.Флаг("рубли") = 0 иначе ВВалюте := ложь;
  
   
  
  Дата := ЦелоеВСтроку(ОбычнаяДатаВРасшир(СтрокаВДату(Диалог.Значение("Дата"))));
  Коды_Нач_Пр := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Коды_Нач_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  Коды_Упл_Пр := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  Коды_Упл_Пени := Реестр.Узел(УзелПараметров).Значение("Коды уплаты пени").КакСтрока;

  // сначала сосчитаем по всем договорам данной организации
  // Выданные данной организации ссуды
  В.Запрос := "select sum(fdd.credit-fdd.debit) ssum, sum(fdd.CurrencySumma) csum "  
             + " from findocdetail fdd, loancredit lc "
             + " where fdd.progindex=121 and fdd.recordindex=lc.id and lc.org_ref= "
             + Ф.Заголовки.Таблица.Поле("org_ref").КакСтрока
             + " and fdd.acceptdate &lt;= " + Дата;
  Если ВВалюте тогда В.Запрос := В.Запрос + " and fdd.CurrencyCls = " + ЦелоеВСтроку(Валюта);              
  В.Открыть;
  если ВВалюте тогда Выдано_О := В.Поле("csum").КакДробное
               иначе Выдано_О := В.Поле("ssum").КакДробное;

  // Возвращенные организацией ссуды
  В.Запрос := "select sum(fdd.debit-fdd.credit) ssum, sum(fdd.CurrencySumma) csum"
             + " from findocdetail fdd, loancredit lc "
             + " where fdd.progindex=122 and fdd.recordindex=lc.id and lc.org_ref= "
             + Ф.Заголовки.Таблица.Поле("org_ref").КакСтрока
             + " and fdd.acceptdate &lt;= " + Дата;
  Если ВВалюте тогда В.Запрос := В.Запрос + " and fdd.CurrencyCls = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  если ВВалюте тогда Погашено_О := В.Поле("csum").КакДробное
               иначе Погашено_О := В.Поле("ssum").КакДробное;

  // Начисленные проценты по всем договорам организации
  В.Запрос := "select sum(lcp.summa) ssum, sum(lcp.CurrencySumma) csum " 
             + " from loancreditpercents lcp , loancredit lc "
             + " where lcp.recordindex=lc.id and lc.org_ref= "
             + Ф.Заголовки.Таблица.Поле("org_ref").КакСтрока
             + " and lcp.PERIODEND &lt;= " + Дата 
             + " and (lcp.ProgIndex in (124))";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and lcp.CurrencyCls = " + ЦелоеВСтроку(Валюта);
  В.Открыть ;
  Если ВВалюте тогда Начислено_О_Пр := В.Поле("csum").КакДробное
               иначе Начислено_О_Пр := В.Поле("ssum").КакДробное; 

  // Начисленные пени по всем договорам организации
  В.Запрос := "select sum(lcp.summa) ssum, sum(lcp.CurrencySumma) csum " 
             + " from loancreditpercents lcp , loancredit lc "
             + " where lcp.recordindex=lc.id and lc.org_ref="
             + Ф.Заголовки.Таблица.Поле("org_ref").КакСтрока
             + " and lcp.PERIODEND &lt;= " + Дата
             + " and (lcp.ProgIndex in (325,326))";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and lcp.CurrencyCls = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  если ВВалюте тогда Начислено_О_Пени := В.Поле("csum").КакДробное
               иначе Начислено_О_Пени := В.Поле("ssum").КакДробное;

  // Уплаченные проценты по всем договорам организации
  В.Запрос := "select sum(inc.credit-inc.debit) ssum, sum(incc.CURRENCYVALUE) csum " + #13#10
             + " from incomes32 inc " + #13#10
             + " left join CurrencyIncomes incc on (inc.id = incc.id) " + #13#10
             + " left join loancredit lc on (inc.recordindex=lc.id) " + #13#10
             + " where lc.org_ref= " + #13#10
             + Ф.Заголовки.Таблица.Поле("org_ref").КакСтрока + #13#10
             + " and inc.idate &lt;= "+ Дата + #13#10
             + " and (inc.ProgIndex in (123)) ";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and incc.CurrencyIndex = " + ЦелоеВСтроку(Валюта);
  В.Открыть;                                 
  если ВВалюте тогда Уплачено_О_Пр := В.Поле("csum").КакДробное
               иначе Уплачено_О_Пр := В.Поле("ssum").КакДробное;

  // Уплаченные пени по всем договорам организации
  В.Запрос := "select sum(inc.credit-inc.debit) ssum, sum(incc.CurrencyValue) csum " + #13#10
             + " from incomes32 inc " + #13#10 
             + " left join CurrencyIncomes incc on (inc.id = incc.id) " + #13#10
             + " left join loancredit lc on (inc.recordindex=lc.id) " + #13#10
             + " where (lc.org_ref= " + #13#10
             + Ф.Заголовки.Таблица.Поле("org_ref").КакСтрока + ") " + #13#10
             + " and (inc.idate &lt;= " + дата + ")" + #13#10
             + " and (inc.ProgIndex in (328,329))";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and incc.CurrencyIndex = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  Если ВВалюте тогда Уплачено_О_Пени := В.Поле("csum").КакДробное
               иначе Уплачено_О_Пени := В.Поле("ssum").КакДробное; 

  // теперь сосчитаем все по текущему договору
  // Выдано по текущему договору
  В.Запрос := "select sum(fdd.credit-fdd.debit) ssum, sum(fdd.CurrencySumma) csum " + #13#10
             + " from findocdetail fdd, loancredit lc " + #13#10
             + " where (fdd.progindex=121) and (fdd.recordindex=lc.id) " + #13#10 
             + "and (lc.id = " + Ф.Заголовки.Таблица.Поле("id").КакСтрока + ") " + #13#10
             + " and (fdd.acceptdate &lt;= " + Дата + ")"; 
  Если ВВалюте тогда В.Запрос := В.Запрос + " and fdd.CurrencyCls = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  если ВВалюте тогда Выдано_Д := В.Поле("csum").КакДробное
               иначе Выдано_Д := В.Поле("ssum").КакДробное;  

  // погашено по текущему договору
  В.Запрос := "select sum(fdd.debit-fdd.credit) ssum, sum(fdd.CurrencySumma) csum " + #13#10
             + " from findocdetail fdd, loancredit lc " + #13#10
             + " where (fdd.progindex=122) and (fdd.recordindex=lc.id) " + #13#10
             + "and (lc.id = " + Ф.Заголовки.Таблица.Поле("id").КакСтрока + ") " + #13#10
             + " and (fdd.acceptdate &lt;= " + Дата + ") ";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and fdd.CurrencyCls = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  если ВВалюте тогда Погашено_Д := В.Поле("csum").КакДробное
               иначе Погашено_Д := В.Поле("ssum").КакДробное;

  // Начислено процентов по текущему договору
  В.Запрос := "select sum(lcp.summa) ssum, sum(lcp.CurrencySumma) csum " + #13#10
             + " from loancreditpercents lcp , loancredit lc " + #13#10
             + " where (lcp.recordindex=lc.id) and " + #13#10 
             + "(lc.id = " + Ф.Заголовки.Таблица.Поле("id").КакСтрока + ") " + #13#10 
             + " and (lcp.ProgIndex in (124))";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and lcp.CurrencyCls = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  если ВВалюте тогда Начислено_Д_Пр := В.Поле("csum").КакДробное
               иначе Начислено_Д_Пр := В.Поле("ssum").КакДробное;
                
  // Уплачено процентов по текущему договору
  В.Запрос := "select sum(inc.credit-inc.debit) ssum, sum(incc.CurrencyValue) csum " + #13#10
             + " from incomes32 inc " + #13#10
             + " left join CurrencyIncomes incc on (inc.id = incc.id) " + #13#10
             + " left join loancredit lc on (inc.recordindex=lc.id) " + #13#10
             + " where (lc.id= " + #13#10
             + Ф.Заголовки.Таблица.Поле("id").КакСтрока + ") " +#13#10
             + " and (inc.ProgIndex in (123)) ";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and incc.CurrencyIndex = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  если ВВалюте тогда Уплачено_Д_Пр := В.Поле("csum").КакДробное
               иначе Уплачено_Д_Пр := В.Поле("ssum").КакДробное;  

  // Начислено пени по текущему договору
  В.Запрос := "select sum(lcp.summa) ssum, sum(lcp.CurrencySumma) csum " + #13#10
             + " from loancreditpercents lcp , loancredit lc " + #13#10
             + " where (lcp.recordindex=lc.id) and (lc.id= " + #13#10
             + Ф.Заголовки.Таблица.Поле("id").КакСтрока + ") " + #13#10
             + " and (lcp.ProgIndex in (325,326))";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and lcp.CurrencyCls = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  если ВВалюте тогда Начислено_Д_Пени := В.Поле("csum").КакДробное
               иначе Начислено_Д_Пени := В.Поле("ssum").КакДробное; 

  // Уплачено пени по текущему договору
  В.Запрос := "select sum(inc.credit-inc.debit) ssum, sum(incc.CurrencyValue) csum " + #13#10
             + " from incomes32 inc " + #13#10 
             + " left join CurrencyIncomes incc on (inc.id = incc.id) " + #13#10
             + " left join loancredit lc on (inc.recordindex=lc.id) " + #13#10
             + " where (lc.id = "
             + Ф.Заголовки.Таблица.Поле("id").КакСтрока + ") " + #13#10
             + " and (inc.ProgIndex in (328,329))";
  Если ВВалюте тогда В.Запрос := В.Запрос + " and incc.CurrencyIndex = " + ЦелоеВСтроку(Валюта);
  В.Открыть;
  если ВВалюте тогда Уплачено_Д_Пени := В.Поле("csum").КакДробное
               иначе Уплачено_Д_Пени := В.Поле("ssum").КакДробное;


  // а теперь выводи на экран
  ТекстСообщения := "Организация - заемщик :" + #13#10 
    + "ИНН : "+ Ф.Заголовки.Таблица.Поле("inn").КакСтрока + #13#10
    + "Наименование : "+ Ф.Заголовки.Таблица.Поле("name").КакСтрока + #13#10 + #13#10;
    Если ВВалюте тогда 
      ТекстСообщения := ТекстСообщения + "Валюта - " + РазыменоватьВалюту + #13#10 + #13#10;

    ТекстСообщения := ТекстСообщения 
    + "По текущему договору : " + Ф.Заголовки.Таблица.Поле("number").КакСтрока + #13#10
    + "  выдано__________ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Выдано_Д), 12, "") + #13#10
    + "  погашено________ "+ ПравоеВыравнивание(ФорматироватьДробное("0.00", Погашено_Д), 12, "") + #13#10
    + "  начислено %_____ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Начислено_Д_Пр), 12, "") + #13#10
    + "  начислено пени__ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Начислено_Д_Пени), 12, "") + #13#10
    + "  уплачено  %______ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Уплачено_Д_Пр), 12, "") + #13#10
    + "  уплачено пени___ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Уплачено_Д_Пени), 12, "") + #13#10
    + "  ОСТАТОК ДОЛГА_ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", (Выдано_Д - Погашено_Д) ), 12, "") + #13#10
    + "  ОСТАТОК  %______ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", (Начислено_Д_Пр - Уплачено_Д_Пр) ), 12, "") + #13#10
    + "  ОСТАТОК ПЕНИ___ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", (Начислено_Д_Пени - Уплачено_Д_Пени) ), 12, "") + #13#10
    + #13#10
    + "ИТОГО по организации :" + #13#10 
    + "  выдано__________ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Выдано_О), 12, "") + #13#10
    + "  погашено________ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Погашено_О), 12, "") + #13#10
    + "  начислено %_____ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Начислено_О_Пр), 12, "") + #13#10
    + "  начислено пени__ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Начислено_О_Пени), 12, "") + #13#10
    + "  уплачено  %______ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Уплачено_О_Пр), 12, "") + #13#10
    + "  уплачено пени___ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", Уплачено_О_Пени), 12, "") + #13#10
    + "  ОСТАТОК ДОЛГА_ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", (Выдано_О - Погашено_О) ), 12, "") + #13#10
    + "  ОСТАТОК  %______ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", (Начислено_О_Пр - Уплачено_О_Пр) ), 12, "") + #13#10
    + "  ОСТАТОК ПЕНИ___ " + ПравоеВыравнивание(ФорматироватьДробное("0.00", (Начислено_О_Пени - Уплачено_О_Пени) ), 12, "");
   
    
  Сообщение(ТекстСообщения);  
  
конец .
</value>
    <param value="Заголовок" type="3" name="version">34.063.01</param>
    <param value="Заголовок" type="3" name="crc32">$CB6456E5</param>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$0C70DB2D</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\формГрафикПогашения">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Output.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\Макросы\ДляСсуд.abl";
включить "Бюджет\Ресурсы\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Project";

константы
  erCapClosed = "Нет данных по договорам";
  erFieldMustBe = "Поле '%s' должно быть %s";
  erSaveChanges = "Сохраните изменения и повторите попытку";
  erUserAbort = "Действие прервано пользователем";
  erTwoFields = "%s не может быть %s %s";
  Состояние_Просмотр = 1;
  
переменные
  Ф : ФормаВвода;                        // интерфейс ввода
  Д : ДиалогПараметров; 
  Договор, Деталь, Заголовок : СтатическиеДанные;
  ДатаНачала, Периодичность, ДатаКонца, ГодКонца, БылаОшибкаВДанных, Счетчик, рез, Процент : целое;
  ОВ : ОкноВывода;                     // Для вычисления даты конца
  СтарыйФильтр : Строка;
  КонецМесяца : целое; // Если истина, то значит день даты последний день месяца


// считает валютную и рублевую сумму из детализации Получение
функция ПолучитьВыданнуюСумму(МастерИД: целое; СуммаВВалюте: дробное): дробное;
переменные
  В: Выборка;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    В.Запрос :=     " select sum(Credit) Summa, sum(CurrencySumma) CurrencySumma from FinDocDetail"
                  + " where ProgIndex = 121"
                  + " and RecordIndex = " + ЦелоеВСтроку(МастерИД);
    В.Открыть;
    СуммаВВалюте := В.Поле("CurrencySumma").КакДробное;
    Результат := В.Поле("Summa").КакДробное;              
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

функция ФормироватьПериодыПогашения(л_Заг, л_Дет : СтатическиеДанные; Периодичность : целое) : целое;
переменные
  Индекс, ЧислоПериодов, Дата : целое;
  г, м, д, г1, м1, д1, КодВалЗаг : целое;
  ЧислоМесяцев, СуммаНац, СуммаВал, СуммаОбщДетВал, СуммаОбщДетНац, СуммаПерВал, СуммаПерНац, Сумма: дробное;
  ИмяПоляОбщейСуммы : Строка;
  ДатаПослДет, гп, мп, дп : Целое;       // Дата, её год, месяц и день последней записи детализации
начало
  результат := истина;

  КодВалЗаг := л_Заг.Поле("CurrencyCLS").КакЦелое; 
  СуммаНац := л_Заг.Поле("Summa").КакДробное;
  СуммаВал := л_Заг.Поле("CurrencySumma").КакДробное;  
  //Возня с суммой: если других периодов нет, то бъем сумму из заголовка*процент из диалога на столько сколько нужно частей
  // если периоды уже есть, тогда бъем (суммазаголовка-сумматоталдетали)*процент на равные части
  Дата := ДатаНачала;
// Если Дата последний день месяца, то установим КонецМесяца в истину (для месяцев в которых меьньше 31)
  если Дата=ПолучитьДатуКонцаМесяца(Дата, 0) тогда КонецМесяца := истина;
  г := ГодДаты(Дата);  
  м := МесяцДаты(Дата);  
  д := ДеньДаты(Дата);
// Если в детализации имеются записи, тогда с Божьей получим дату начала погашения
  если л_Дет.ЧислоЗаписей &lt;&gt;0 тогда
    начало
      л_Дет.Индекс := "PlanDate";
      л_Дет.Last;
      ДатаПослДет := ОбычнаяДатаВРасшир(СтрокаВДатуФ(л_Дет.Поле("PlanDate").КакЦелое, "YYYYMMDD"));
      гп := ГодДаты(ДатаПослДет);  
      мп := МесяцДаты(ДатаПослДет);  
      дп := ДеньДаты(ДатаПослДет);
// Если при увелечении на период меняется год, то
      если мп + Периодичность &gt; 12 
      тогда начало                        //сместили
        г := гп + 1;                    //дату для следующего погашения
      конец иначе                         
        г := гп;
// Так же возможно потребуется сместить месяц начала погашения
      если д &gt; дп  и ДатаПослДет&lt;&gt;ПолучитьДатуКонцаМесяца(ДатаПослДет, 0) 
      тогда м := мп 
      иначе 
// Чтобы не было 0 месяца или месяца больше 12, выполним проверку
        выбрать Периодичность из
          1, 3, 6 : если ((мп + периодичность) ост 12) = 0 
                    тогда м := 1 
                    иначе м := (мп + периодичность) ост 12;  
        конец;                                               
      Дата := г*10000+м*100+д;
      если (м=2 и д=30) тогда Дата := ПолучитьДатуКонцаМесяца(Дата, 0);
      если КонецМесяца и Периодичность=1 и м1&lt;&gt;м тогда Дата := ПолучитьДатуКонцаМесяца(Дата, 0); 
  конец;  // конец вычисления даты начала
  д1 := ДеньДаты(ДатаКонца);
  г1 := ГодДаты(ДатаКонца);  
  м1 := МесяцДаты(ДатаКонца);
  
  СуммаОбщДетВал := 0;
  СуммаОбщДетНац := 0;
  л_Дет.ВНачало;
  пока не л_Дет.ВКонце делать
  начало 
    СуммаОбщДетНац := СуммаОбщДетНац + л_Дет.Поле("summa").КакДробное; 
    СуммаОбщДетВал := СуммаОбщДетВал + л_Дет.Поле("currencysumma").КакДробное; 
    л_Дет.Следующая; 
  конец;
  // шоб ноль с нолем не сравнить
  если ((СуммаОбщДетНац &gt;= СуммаНац) и (ЦелаяКонстанта(19, 4) = КодВалЗаг) и (СуммаНац &lt;&gt; 0)) или ((СуммаОбщДетВал &gt;= СуммаВал) и (ЦелаяКонстанта(19, 4) &lt;&gt; КодВалЗаг) и (СуммаВал &lt;&gt; 0)) тогда
  начало
    ОВ.Вывести("100 процентов основного долга уже расписаны в графике");
    результат := ложь;
  конец
  иначе
  начало   
    // сколько всего месяцев в указанном промежутке
    ЧислоМесяцев := (г1 - г) * 12 + (м1 - м);
    // если день конца позже дня начала - то получаем 1 неполный месяц 
    // И снизашло на меня озарение, и услышал я глас Божий. И сказал он мне:
    // Санёк, надо изменить условие и Ссуды заработают ! 
    // А если серьёзно, то для месяцов у которых число дней меньше 31 дня и стоит последний день 
    // месяца ЧислоМесяцев не надо увеличивать на 1
    если (д &lt; д1) и  не КонецМесяца
      тогда ЧислоМесяцев := ЧислоМесяцев + 1; 
    // периодичность - это длина периода в месяцах
    ЧислоПериодов := (ЧислоМесяцев цел Периодичность) + 1;// т.к. с нуля, т.е. первая дата - если ломать в трех местах, то получится четыре куска :)
    если (ЧислоМесяцев ост Периодичность) &lt;&gt; 0 тогда
      ЧислоПериодов := ЧислоПериодов + 1;                  
    //сумма каждого периода. В последнем периоде надо будет записать не такую сумму, а подогнать из-за округления 
    // Achtung !!! Achtung !!! Чтобы не получилось в последней записи отрицательной Суммы,
    // округляем в меньшую сторону !!!
    СуммаПерНац := ((СуммаНац - СуммаОбщДетНац)*(Процент / 100) / ЧислоПериодов)*10 цел 10;
    СуммаПерВал := ((СуммаВал - СуммаОбщДетВал)*(Процент / 100) / ЧислоПериодов)*10 цел 10;
    от Индекс := 1 до ЧислоПериодов - 1 делать
    начало
      л_Дет.Вставить;// начали редактировать
      л_Дет.Поле("RecordIndex").КакЦелое := л_Заг.Поле("ID").КакЦелое;
      л_Дет.Поле("CurrencyCls").КакЦелое := л_Заг.Поле("CurrencyCls").КакЦелое;
      л_Дет.Поле("PlanDate").КакЦелое := Дата;
      если ПолучитьТипГода(л_Заг.Поле("ID").КакЦелое) = 1 тогда 
        л_Дет.Поле("PlanDate").КакЦелое := НормальнаяДатаВКривую(л_Дет.Поле("PlanDate").КакЦелое);      
      л_Дет.Поле("Summa").КакДробное := СуммаПерНац; // это для каждого периода
      л_Дет.Поле("CurrencySumma").КакДробное := СуммаПерВал; // это для каждого периода
      если ЦелаяКонстанта(19, 4) = КодВалЗаг тогда
        л_Дет.Поле("Note").КакСтрока := Формат("График погашения №%d: %d проц. оставшейся суммы осн. долга %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаНац - СуммаОбщДетНац, 2))
      иначе
        л_Дет.Поле("Note").КакСтрока := Формат("График погашения №%d: %d проц. оставшейся суммы осн. долга %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаВал - СуммаОбщДетВал, 2));
      
      л_Дет.Сохранить;// закончили редактировать    
      если м + Периодичность &gt; 12 тогда//сместили
      начало
        г := г + 1;                    //дату для
        выбрать Периодичность из
          1, 3, 6 : если ((м + периодичность) ост 12) = 0 тогда м := 1 иначе м := (м + периодичность) ост 12;
        конец;
      конец                            //следующего погашения
      иначе
        м := м + Периодичность;
      если д &gt; ЧислоДнейВЛюбомМесяце(л_Заг.Поле("ID").КакЦелое,г, м) тогда
        Дата := БольшаяДата(г, м, ЧислоДнейВЛюбомМесяце(л_Заг.Поле("ID").КакЦелое,г, м))       
      иначе    
        Дата := БольшаяДата(г, м, д);    
      Если КонецМесяца и Периодичность=1 и м1&lt;&gt;м тогда Дата := ПолучитьДатуКонцаМесяца(Дата, 0);
    конец;
    // последний период с подогнанной суммой
    л_Дет.Вставить;// начали редактировать
    л_Дет.Поле("RecordIndex").КакЦелое := л_Заг.Поле("ID").КакЦелое;
    л_Дет.Поле("CurrencyCls").КакЦелое := л_Заг.Поле("CurrencyCls").КакЦелое;
    л_Дет.Поле("PlanDate").КакЦелое := ДатаКонца;
    л_Дет.Поле("Summa").КакДробное := ОкруглитьДоЗнака((СуммаНац - СуммаОбщДетНац)*(Процент / 100), 2) - (СуммаПерНац*(ЧислоПериодов-1));
    л_Дет.Поле("CurrencySumma").КакДробное := ОкруглитьДоЗнака((СуммаВал - СуммаОбщДетВал)*(Процент / 100), 2) - (СуммаПерВал*(ЧислоПериодов-1));
    
    если ЦелаяКонстанта(19, 4) = КодВалЗаг тогда
      л_Дет.Поле("Note").КакСтрока := Формат("График погашения №%d: %d проц. оставшейся суммы осн. долга %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаНац - СуммаОбщДетНац, 2))
    иначе
      л_Дет.Поле("Note").КакСтрока := Формат("График погашения №%d: %d проц. оставшейся суммы осн. долга %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаВал - СуммаОбщДетВал, 2));
    л_Дет.Сохранить;// закончили редактировать
    // конец последний период с подогнанной суммой
    попытка
      л_Дет.ApplyUpdates;
    неудача
      результат := ложь;
    конец;
  конец;// иначе сумма по графику &lt; суммы договора 
конец;

   
начало
  КонецМесяца := ложь;
  Ф := ПолучитьФормуВвода;
  ОВ := ОкноВывода;
  ОВ.Очистить;
  Заголовок := Ф.Заголовки.Таблица;
  СтарыйФильтр := Заголовок.Фильтр;
  если Ф.ЕстьИзменения или (Заголовок.State &lt;&gt; Состояние_Просмотр) тогда
    ВызватьОшибку(erSaveChanges);
  если Заголовок.ЧислоЗаписей = 0 тогда
    ВызватьОшибку(erCapClosed);
    
  если Ф.АктивнаяДетализация = -1 тогда
  начало
    если Ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда
      рез := Сообщение("Формировать периоды для выделенных договоров?", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет)
    иначе// + 100 чтобы различать результат
      рез := 100 + Сообщение("Формировать периоды по всем незакрытым договорам?", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет);
    если рез = Результат_Да тогда//выбрали "Формировать периоды для выделенных договоров?" - ДА
      Договор := Ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки;
    если рез = 100 + Результат_Да тогда//выбрали "Формировать периоды по всем незакрытым договорам?" - ДА
      Договор := Заголовок;
    если (рез = 100 + Результат_Нет) или (рез = Результат_Нет) тогда
    начало
      Договор := Заголовок;  
      Договор.Фильтр := "ID=" + Договор.Поле("ID").КакСтрока;
      Сообщение("Периоды будут сформированы для текущего договора", Сообщение_Предупреждение);
    конец;
  конец
  иначе
  начало
    Договор := Заголовок;
    Договор.Фильтр := "ID=" + Договор.Поле("ID").КакСтрока;
    Сообщение("Периоды будут сформированы для текущего договора", Сообщение_Предупреждение);
  конец;
  // перешли в начало списка договоров
  Договор.ВНачало;
  Деталь := СоздатьСтатическиеДанные;
  Деталь.СоединитьБД;
  Деталь.Запрос := Ф.ПолучитьДетализациюПоИмени("График погашения").Таблица.Запрос;
  Деталь.Параметр("MasterID") := Договор.Поле("ID").КакЦелое;
  Деталь.Открыть;
  Договор.ЗапретитьПрорисовку;
  попытка
    Процент := -1;
    ДатаНачала := -1;
    ДатаКонца := -1;
    если Договор.ЧислоЗаписей = 1 тогда
    начало
      если Договор.Поле("ReturnStartDate").Пустое тогда
      начало
        ВызватьОшибку(Формат(erFieldMustBe, "Дата начала погашения осн. долга", "заполнено"));
        БылаОшибкаВДанных := истина;
      конец;
      если Договор.Поле("ReturnPeriodLength").Пустое тогда
      начало
        ВызватьОшибку(Формат(erFieldMustBe, " Периодичность погашения осн. долга", "заполнено"));
        БылаОшибкаВДанных := истина;
      конец;
      Д := Диалог;
      Д.Очистить;
      Д.Заголовок := "Формирование периодов погашения";
      Д.Добавить("Конец периодов", "КонецПериодов", 0, Календарь, "99.99.9999");
      Д.Добавить("Периодичность погашения", "Периодичность", 0, Список+ТолькоЧтение, "", "Месяц"+#13#10+"Квартал"+#13#10+"Полгода"+#13#10+"Год");
      Д.Добавить("Процент от непогашенной суммы", "Процент", 0, 0);
      // заполнение значениями по умолчанию
// по умолчанию ДатуКонца устанавливаем в конец года      
      ГодКонца := ГодДаты(ОбычнаяДатаВРасшир(ТекущаяДата));
      ДатаКонца := ПолучитьДатуКонцаМесяца(ГодКонца * 10000 + 1201, 0);
      Д.Значение("КонецПериодов") := ДатаВСтроку(РасширДатаВОбычную(ДатаКонца));
      выбрать Договор.Поле("ReturnPeriodLength").КакЦелое из
          -1 : Д.Значение("Периодичность") := "Месяц";
          -3 : Д.Значение("Периодичность") :=  "Квартал";
          -6 : Д.Значение("Периодичность") := "Полгода";
          -12: Д.Значение("Периодичность") := "Год";
      конец; 
      Д.Значение("Процент") := 100;
      если Д.Выполнить тогда
      начало
        // проверка значений в диалоге
        попытка
          Процент := StrToInt(Д.Значение("Процент"));
        неудача
          ВызватьОшибку(Формат(erFieldMustBe, "Процент", "числовым"));
        конец;
        // заполнение дат из диалога и заголовка
        попытка
           ДатаНачала := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Договор.Поле("ReturnStartDate").КакСтрока, "YYYYMMDD")); 
           ДатаКонца := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Д.Значение("КонецПериодов"), "DD.MM.YYYY"));
        неудача
          ВызватьОшибку(Формат(erFieldMustBe, "Дата", "заполнено корректным значением"));
        конец;
        если ДатаНачала &gt; ДатаКонца тогда
          ВызватьОшибку(Формат(erTwoFields, "Дата начала", "позже", "даты конца"));
        если Деталь.ЧислоЗаписей &lt;&gt; 0 тогда
        начало
          Деталь.Индекс := "PlanDate";
          Деталь.ВКонец;
          если  ОбычнаяДатаВРасшир(СтрокаВДатуФ(Деталь.Поле("PlanDate").КакСтрока, "YYYYMMDD")) &gt; ДатаКонца тогда
            ВызватьОшибку("Попытка сформировать период погашения ещё раз. Проверьте Конец Периодов.");  
        конец;
        выбрать Д.Значение("Периодичность") из
          "Месяц" : Периодичность := 1;
          "Квартал" : Периодичность := 3;
          "Полгода" : Периодичность := 6;
          "Год" : Периодичность := 12;
        конец;        
      конец
      иначе// в диалоге нажали "отмена"
        ВызватьОшибку(erUserAbort);
    конец;
      
    // цикл хождения по договорам
    Счетчик := 1;
    // перешли в начало списка договоров
    Договор.ВНачало;
    пока не Договор.ВКонце делать
    начало  
      БылаОшибкаВДанных := ложь;
      ОВ.Вывести(Формат("[%d/%d] договор № %s от %s (%s)", Счетчик, Договор.ЧислоЗаписей, Договор.Поле("Number").КакСтрока, ДатаВСтроку(НормализоватьДату(Договор.Поле("DateInput").КакЦелое)), Договор.Поле("Note").КакСтрока));
      ОВ.Вывести("");
      если Договор.Поле("Summa").Пустое тогда
      начало
        ОВ.Вывести(Формат(erFieldMustBe, Договор.Поле("Summa").DisplayLabel, "заполнено"));
        БылаОшибкаВДанных := истина;
      конец;
      если Договор.ЧислоЗаписей &lt;&gt; 1 тогда
      начало// то есть диалога не было 
        // если диалога не было, то указанные ниже поля должны быть заполнены
        если Договор.Поле("ReturnStartDate").Пустое тогда
        начало
          ОВ.Вывести(Формат(erFieldMustBe,  "Дата начала погашения осн. долга" , "заполнено"));
          БылаОшибкаВДанных := истина;
        конец;
        если Договор.Поле("ReturnPeriodLength").Пустое тогда
        начало
          ОВ.Вывести(Формат(erFieldMustBe,  " Периодичность погашения осн. долга", " заполнено"));
          БылаОшибкаВДанных := истина;
        конец;
        // вводим значения по умолчанию
        попытка
          ДатаНачала := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Договор.Поле("ReturnStartDate").КакСтрока, "YYYYMMDD"));
          если не Договор.Поле("LongDate").Пустое тогда
            ДатаКонца := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Договор.Поле("LongDate").КакСтрока, "YYYYMMDD"))
          иначе если не Договор.Поле("DATEAMORTIZATION").Пустое тогда
            ДатаКонца := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Договор.Поле("DATEAMORTIZATION").КакСтрока, "YYYYMMDD")) 
          иначе начало
            ГодКонца := ГодДаты(ОбычнаяДатаВРасшир(ТекущаяДата));
            ДатаКонца := ПолучитьДатуКонцаМесяца(ГодКонца * 10000 + 1201, 0);
          конец;
          Процент := 100;
          Периодичность := Мод(Договор.Поле("ReturnPeriodLength").КакЦелое);// в интерфейсе лежит почему-то значение в месяцах, но с минусом
        неудача
          начало
             ОВ.Вывести(Формат(erFieldMustBe, "Дата", "заполнено корректным значением"));
             БылаОшибкаВДанных := истина;
           конец;
        конец;
        если ДатаНачала &gt; ДатаКонца тогда
        начало  
          ОВ.Вывести(Формат(erTwoFields, "Дата начала", "позже", "даты конца"));
          БылаОшибкаВДанных := истина;
        конец;
        если Деталь.ЧислоЗаписей &lt;&gt; 0 тогда
        начало
          Деталь.Индекс := "PlanDate";
          Деталь.ВКонец;
          если  ОбычнаяДатаВРасшир(СтрокаВДатуФ(Деталь.Поле("PlanDate").КакСтрока, "YYYYMMDD")) &gt; ДатаКонца тогда
          начало
            ОВ.Вывести("Попытка сформировать период погашения ещё раз. Проверьте Конец Периодов.");
            БылаОшибкаВДанных := истина;
          конец;
        конец;
      конец;
      если не БылаОшибкаВДанных тогда
      начало
        если ФормироватьПериодыПогашения(Договор, Деталь, Периодичность) тогда
          ОВ.Вывести("Периоды успешно сформированы")
        иначе
          ОВ.Вывести("Периоды не сформированы");
      конец
      иначе
        ОВ.Вывести("Периоды не сформированы");
      ОВ.Вывести("");
      Счетчик := Счетчик + 1;      
      Договор.Следующая;
      если не Договор.ВКонце тогда
      начало
        Деталь.Закрыть;
        Деталь.Параметр("MasterID") := Договор.Поле("ID").КакЦелое;
        Деталь.Открыть;
      конец;
    конец;
    если Ф.АктивнаяДетализация &lt;&gt; -1 тогда
      Ф.Детализация(Ф.АктивнаяДетализация).Открыть;
    ОВ.Показать;
  обязательно
    Договор.РазрешитьПрорисовку;
    Заголовок.Фильтр := СтарыйФильтр;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$7124CC34</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\формГрафикУплаты">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Output.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\Макросы\ДляСсуд.abl";
включить "Бюджет\Ресурсы\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";
включить "Project";

константы
  erCapClosed = "Нет данных по договорам";
  erFieldMustBe = "Поле '%s' должно быть %s";
  erSaveChanges = "Сохраните изменения и повторите попытку";
  erUserAbort = "Действие прервано пользователем";
  erTwoFields = "%s не может быть %s %s";
  Состояние_Просмотр = 1;
  ПрогИндексПроценты = 124;
  
переменные
  Ф : ФормаВвода;                        // интерфейс ввода
  Д : ДиалогПараметров; 
  Договор, Деталь,ссНачисление, Заголовок : СтатическиеДанные;
  ДатаНачала, Периодичность, ДатаКонца, БылаОшибкаВДанных, Счетчик, рез, Процент : целое;
  ОВ : ОкноВывода;
  СтарыйФильтр : Строка;
  Валюта:целое;
  
функция ПолучитьДатуНачалаПериода:целое;
переменные
  г,м,д: целое;
начало
  если Деталь.ЧислоЗаписей &gt; 0 тогда
  начало
    Деталь.IndexFieldNames := "PlanDate";
    Деталь.Last;
    г := ГодДаты(Деталь.Поле("PlanDate").КакЦелое);  
    м := МесяцДаты(Деталь.Поле("PlanDate").КакЦелое)+1;
    если М = 13 тогда г := г + 1; 
    д := ДеньДаты(Деталь.Поле("PlanDate").КакЦелое);    
    результат := г * 10000 + м * 100 + д;
  конец
  иначе
    результат := Договор.Поле("PayPercentStartDate").КакЦелое;
конец;

функция ПолучитьПоследнююДатуСНачисления(Заголовок: СтатическиеДанные):целое;
начало
  ссНачисление.Закрыть;
  ссНачисление.Параметр("MasterID") := Заголовок.Поле("ID").КакСтрока;
  ссНачисление.Открыть;
  если ссНачисление.ЧислоЗаписей = 0 тогда
    ВызватьОшибку(Формат('У договора №%s от %s не заполнена детализация "Начисление процентов"', Заголовок.Поле("NUMBER").какСтрока, ДатаВСтроку(РасширДатаВОбычную(Заголовок.Поле("DATEINPUT").КакСтрока))));
  
  ссНачисление.IndexFieldNames := "PeriodEnd";
  ссНачисление.Last;
  результат := ссНачисление.Поле("PeriodEnd").КакЦелое;
конец;

// Функция считает сумму начисленных процентов за период
функция ПолучитьОбщуюСуммуНачисления:дробное;
начало
  ссНачисление.ВНачало;
  Валюта := 0;
  Если ссНачисление.Поле("CurrencySUMMA").КакДробное &lt;&gt; 0 тогда Валюта := 1;
  пока не ссНачисление.ВКонце делать
  начало  
    если (ссНачисление.Поле("PeriodEnd").КакЦелое &gt;= ДатаНачала) и
         (ссНачисление.Поле("PeriodEnd").КакЦелое &lt;= ДатаКонца) и
         (ссНачисление.Поле("ProgIndex").КакЦелое = ПрогИндексПроценты) 
    тогда
      Если Валюта тогда 
        результат := результат + ссНачисление.Поле("CurrencySUMMA").КакДробное
      иначе 
        результат := результат + ссНачисление.Поле("SUMMA").КакДробное;
    ссНачисление.Следующая;
  конец;
конец;

функция ФормироватьПериодыПогашения(л_Заг, л_Дет : СтатическиеДанные) : целое;
переменные
  Индекс, ЧислоПериодов, Дата : целое;
  г, м, д, г1, м1, д1 : целое;
  ЧислоМесяцев, СуммаЗаг, СуммаОбщДет, СуммаПер, СуммаПерВалюта: дробное;
начало
  результат := истина;
  // просто мочим от даты из поля PayPercentStartDate
  СуммаЗаг := ПолучитьОбщуюСуммуНачисления;
  //Возня с суммой: если других периодов нет, то бъем сумму из заголовка*процент из диалога на столько сколько нужно частей
  // если периоды уже есть, тогда бъем (суммазаголовка-сумматоталдетали)*процент на равные части
  Дата := ДатаНачала;
  г := ГодДаты(ДатаНачала);  
  м := МесяцДаты(ДатаНачала);  
  д := ДеньДаты(ДатаНачала);
  г1 := ГодДаты(ДатаКонца);  
  м1 := МесяцДаты(ДатаКонца);
  д1 := ДеньДаты(ДатаКонца);
  
  СуммаОбщДет := 0;
  л_Дет.ВНачало;
  пока не л_Дет.ВКонце делать
  начало
    если (л_Дет.Поле("PlanDate").КакЦелое &gt;= ДатаНачала) и
         (л_Дет.Поле("PlanDate").КакЦелое &lt;= ДатаКонца) тогда начало
         Если Валюта тогда СуммаОбщДет := СуммаОбщДет + л_Дет.Поле("CurrencySumma").КакДробное
         иначе СуммаОбщДет := СуммаОбщДет + л_Дет.Поле("Summa").КакДробное; 
    конец;
    л_Дет.Следующая; 
  конец;
  
  если СуммаОбщДет &gt;= СуммаЗаг тогда
  начало
    ОВ.Вывести("График уплаты процентов уже расписан");
    результат := ложь;
  конец
  иначе
  начало   
    // сколько всего месяцев в указанном промежутке
    ЧислоМесяцев := (г1 - г) * 12 + (м1 - м);
    // если день конца позже дня начала - то получаем 1 неполный месяц 
    если д &lt; д1 тогда
      ЧислоМесяцев := ЧислоМесяцев + 1; 
    // периодичность - это длина периода в месяцах
    ЧислоПериодов := (ЧислоМесяцев цел Периодичность) + 1;// т.к. с нуля, т.е. первая дата - если ломать в трех местах, то получится четыре куска :)
    если (ЧислоМесяцев ост Периодичность) &lt;&gt; 0 тогда
      ЧислоПериодов := ЧислоПериодов + 1;                  
    //сумма каждого периода. В последнем периоде надо будет записать не такую сумму, а подогнать из-за округления 
    СуммаПер := ОкруглитьДоЗнака((СуммаЗаг - СуммаОбщДет)*(Процент / 100) / ЧислоПериодов, 2);
    СуммаПерВалюта := 0;
    если Валюта тогда СуммаПерВалюта := СуммаПер;
    от Индекс := 1 до ЧислоПериодов - 1 делать
    начало
      л_Дет.Вставить;// начали редактировать
      л_Дет.Поле("RecordIndex").КакЦелое := л_Заг.Поле("ID").КакЦелое;
      л_Дет.Поле("CurrencyCls").КакЦелое := л_Заг.Поле("CurrencyCls").КакЦелое;
      л_Дет.Поле("PlanDate").КакЦелое := Дата;
      если Валюта тогда СуммаПер := СуммаПерВалюта*ПолучитьОбмКурс(л_Дет.Поле("CURRENCYCLS").КакЦелое, Дата);
      л_Дет.Поле("Summa").КакДробное := СуммаПер;   
      л_Дет.Поле("CurrencySumma").КакДробное := СуммаПерВалюта;
      л_Дет.Поле("Note").КакСтрока := Формат("График уплаты №%d: %d проц. оставшейся суммы %f", Индекс, Процент, ОкруглитьДоЗнака(СуммаЗаг - СуммаОбщДет, 2));
      л_Дет.Сохранить;// закончили редактировать    
      если м + Периодичность &gt; 12 тогда//сместили
      начало
        г := г + 1;                    //дату для
        м := (м + периодичность) ост 12 
      конец                            //следующего погашения
      иначе
        м := м + Периодичность;         
      если д &gt; ЧислоДнейВМесяце(г, м) тогда
        Дата := ОбычнаяДатаВРасшир(ФормироватьДату(г, м, ЧислоДнейВМесяце(г, м)))       
      иначе    
        Дата := ОбычнаяДатаВРасшир(ФормироватьДату(г, м, д));    
    конец;
    // последний период с подогнанной суммой
    л_Дет.Вставить;// начали редактировать
    л_Дет.Поле("RecordIndex").КакЦелое := л_Заг.Поле("ID").КакЦелое;
    л_Дет.Поле("CurrencyCls").КакЦелое := л_Заг.Поле("CurrencyCls").КакЦелое;
    л_Дет.Поле("PlanDate").КакЦелое := ДатаКонца;
    если Валюта тогда начало
       л_Дет.Поле("CurrencySumma").КакДробное := ОкруглитьДоЗнака((СуммаЗаг - СуммаОбщДет)*(Процент / 100), 2) - (СуммаПерВалюта*(ЧислоПериодов-1));
       л_Дет.Поле("Summa").КакДробное := СуммаПерВалюта*ПолучитьОбмКурс(л_Дет.Поле("CURRENCYCLS").КакЦелое, ДатаКонца);
    конец
    иначе л_Дет.Поле("Summa").КакДробное := ОкруглитьДоЗнака((СуммаЗаг - СуммаОбщДет)*(Процент / 100), 2) - (СуммаПер*(ЧислоПериодов-1));
    л_Дет.Поле("Note").КакСтрока := Формат("График уплаты №%d: %d проц. оставшейся суммы %f", ЧислоПериодов, Процент, ОкруглитьДоЗнака(СуммаЗаг - СуммаОбщДет, 2));
    л_Дет.Сохранить;// закончили редактировать
    // конец последний период с подогнанной суммой
    
    попытка
      л_Дет.ApplyUpdates;
    неудача
      результат := ложь;
    конец;
  конец;// иначе сумма по графику &lt; суммы договора 
конец;

   
начало
  Ф := ПолучитьФормуВвода;
  ОВ := ОкноВывода;
  ОВ.Очистить;
  Заголовок := Ф.Заголовки.Таблица;
  СтарыйФильтр := Заголовок.Фильтр;
  если Ф.ЕстьИзменения или (Заголовок.State &lt;&gt; Состояние_Просмотр) тогда
    ВызватьОшибку(erSaveChanges);
  если Заголовок.ЧислоЗаписей = 0 тогда
    ВызватьОшибку(erCapClosed);
    
  если Ф.АктивнаяДетализация = -1 тогда
  начало
    если Ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда
      рез := Сообщение("Формировать периоды для выделенных договоров?", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет)
    иначе// + 100 чтобы различать результат
      рез := 100 + Сообщение("Формировать периоды по всем незакрытым договорам?", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет);
    если рез = Результат_Да тогда//выбрали "Формировать периоды для выделенных договоров?" - ДА
      Договор := Ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки;
    если рез = 100 + Результат_Да тогда//выбрали "Формировать периоды по всем незакрытым договорам?" - ДА
      Договор := Заголовок;
    если (рез = 100 + Результат_Нет) или (рез = Результат_Нет) тогда
    начало
      Договор := Заголовок;  
      Договор.Фильтр := "ID=" + Договор.Поле("ID").КакСтрока;
      Сообщение("Периоды будут сформированы для текущего договора", Сообщение_Предупреждение);
    конец;
  конец
  иначе
  начало
    Договор := Заголовок;
    Договор.Фильтр := "ID=" + Договор.Поле("ID").КакСтрока;
    Сообщение("Периоды будут сформированы для текущего договора", Сообщение_Предупреждение);
  конец;
  ссНачисление := СоздатьСтатическиеДанные;
  ссНачисление.Запрос := Ф.ПолучитьДетализациюПоИмени("Начисление %").Таблица.Запрос;
  ссНачисление.СоединитьБД;
  // перешли в начало списка договоров
  Договор.ВНачало;
  Деталь := СоздатьСтатическиеДанные;
  Деталь.СоединитьБД;
  Деталь.Запрос := Ф.ПолучитьДетализациюПоИмени("График уплаты %").Таблица.Запрос;
  Деталь.Параметр("MasterID") := Договор.Поле("ID").КакСтрока;
  Деталь.Открыть;
  Договор.ЗапретитьПрорисовку;
  попытка
    Процент := -1;
    ДатаНачала := -1;
    ДатаКонца := -1;
    если Договор.ЧислоЗаписей = 1 тогда
    начало
      если Договор.Поле("PayPercentStartDate").Пустое тогда
      начало
        ВызватьОшибку(Формат(erFieldMustBe, Договор.Поле("PayPercentStartDate").DisplayLabel, "заполнено"));
        БылаОшибкаВДанных := истина;
      конец;
      если Договор.Поле("PayPercentPeriodLength").Пустое тогда
      начало
        ВызватьОшибку(Формат(erFieldMustBe, Договор.Поле("PayPercentPeriodLength").DisplayLabel, "заполнено"));
        БылаОшибкаВДанных := истина;
      конец;
      Д := Диалог;
      Д.Очистить;
      Д.Заголовок := "Формирование периодов уплаты %";
      Д.Добавить("Дата начала уплаты", "НачалоПериодов", 0, Календарь, "99.99.9999");
      Д.Добавить("Конец периодов", "КонецПериодов", 0, Календарь, "99.99.9999");
      Д.Добавить("Периодичность уплаты", "Периодичность", 0, Список+ТолькоЧтение, "", "Месяц"+#13#10+"Квартал"+#13#10+"Полгода"+#13#10+"Год");
      Д.Добавить("Процент от неуплаченной суммы", "Процент", 0, 0);
      // заполнение значениями по умолчанию
      Д.Значение("НачалоПериодов") := ДатаВСтроку(НормализоватьДату(ПолучитьДатуНачалаПериода));
      //конец периодов - последняя дата с начисления PeriodEnd
      Д.Значение("КонецПериодов") := ДатаВСтроку(РасширДатаВОбычную(ПолучитьПоследнююДатуСНачисления(Договор)));
      Д.Значение("Периодичность") := "Месяц";
      Д.Значение("Процент") := 100;
      если Д.Выполнить тогда
      начало
        // проверка значений в диалоге
        попытка
          Процент := StrToInt(Д.Значение("Процент"));
        неудача
          ВызватьОшибку(Формат(erFieldMustBe, "Процент", "числовым"));
        конец;
        // заполнение дат из диалога
        попытка
          ДатаНачала := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Д.Значение("НачалоПериодов"), "DD.MM.YYYY")); 
          ДатаКонца := ОбычнаяДатаВРасшир(СтрокаВДатуФ(Д.Значение("КонецПериодов"), "DD.MM.YYYY"));
        неудача
          ВызватьОшибку(Формат(erFieldMustBe, "Дата", "заполнено корректным значением"));
        конец;
        если ДатаНачала &gt; ДатаКонца тогда
          ВызватьОшибку(Формат(erTwoFields, "Дата начала", "позже", "даты конца"));
        выбрать Д.Значение("Периодичность") из
          "Месяц" : Периодичность := 1;
          "Квартал" : Периодичность := 3;
          "Полгода" : Периодичность := 6;
          "Год" : Периодичность := 12;
        конец;        
      конец
      иначе// в диалоге нажали "отмена"
        ВызватьОшибку(erUserAbort);
    конец;
      
    // цикл хождения по договорам
    Счетчик := 1;
    // перешли в начало списка договоров
    Договор.ВНачало;
    пока не Договор.ВКонце делать
    начало  
      БылаОшибкаВДанных := ложь;
      ОВ.Вывести(Формат("[%d/%d] договор от %s (%s)", Счетчик, Договор.ЧислоЗаписей, ДатаВСтроку(НормализоватьДату(Договор.Поле("DateInput").КакЦелое)), Договор.Поле("Note").КакСтрока));
      ОВ.Вывести("");

      если Договор.ЧислоЗаписей &lt;&gt; 1 тогда
      начало// то есть диалога не было 
        // если диалога не было, то указанные ниже поля должны быть заполнены
        если Договор.Поле("PayPercentStartDate").Пустое тогда
        начало
          ОВ.Вывести(Формат(erFieldMustBe,Договор.Поле("PayPercentStartDate").DisplayLabel, "заполнено"));
          БылаОшибкаВДанных := истина;
        конец;
        если Договор.Поле("PayPercentPeriodLength").Пустое тогда
        начало
          ОВ.Вывести(Формат(erFieldMustBe, Договор.Поле("PayPercentPeriodLength").DisplayLabel, "заполнено"));
          БылаОшибкаВДанных := истина;
        конец;
        // вводим значения по умолчанию
        ДатаНачала := ПолучитьДатуНачалаПериода;
        ДатаКонца := ПолучитьПоследнююДатуСНачисления(Договор);
        Процент := 100;
        Периодичность := Мод(Договор.Поле("PayPercentPeriodLength").КакЦелое);
      конец;
      если не БылаОшибкаВДанных тогда
      начало
        если ФормироватьПериодыПогашения(Договор, Деталь) тогда
          ОВ.Вывести("Периоды успешно сформированы")
        иначе
          ОВ.Вывести("Периоды не сформированы");
      конец
      иначе
        ОВ.Вывести("Периоды не сформированы");
      ОВ.Вывести("");
      Счетчик := Счетчик + 1;      
      Договор.Следующая;
      если не Договор.ВКонце тогда
      начало
        Деталь.Закрыть;
        Деталь.Параметр("MasterID") := Договор.Поле("ID").КакЦелое;
        Деталь.Открыть;
      конец;
    конец;
    если Ф.АктивнаяДетализация &lt;&gt; -1 тогда
      Ф.Детализация(Ф.АктивнаяДетализация).Открыть;
  обязательно
    ОВ.Показать;
    Договор.РазрешитьПрорисовку;
    Заголовок.Фильтр := СтарыйФильтр;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">PARFENOV\parfenovmv\20.04.2006 11:42:23</param>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$251F9913</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\Формирование">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";
включить "Бюджет\Ресурсы\Макросы\ФормированиеИРасчет";

начало
  ИнтерфейсФормированиеПериодов(МодульСсуды);
конец.

</value>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$EFB8469E</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\Расчет">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";
включить "Бюджет\Ресурсы\Макросы\ФормированиеИРасчет";

начало
  ИнтерфейсРасчет(МодульСсуды);
конец.


</value>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$5B183A99</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}\Действия\ПереносДокумента">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";
начало
  ПеренестиДокумент;
конец;


</value>
    <param value="Код программы" type="3" name="version">34.063.01</param>
    <param value="Код программы" type="3" name="crc32">$5EF36FB3</param>
  </node>
  <version_info>
    <file>Выписка по доходам.xml</file>
    <version>36.005.00</version>
    <info>&lt;p&gt;Стандартный набор АБЛ макросов для интерфейса Выписка по доходам&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:36</buildtime>
  </version_info>
  <description>АБЛ-макросы выписки по доходам</description>
  <node path="Бюджет\Объекты\Интерфейсы\{DB3ACF33-98D2-11D2-938F-000021670171}\Панели\Импорт\КнопкаЭкспортНевыясненных">
    <value type="3" name="Действие">ЭкспортНевыясненных</value>
    <value type="3" name="Картинка">ЭкспортНевыясненных</value>
    <value type="3" name="Хинт">Экспорт невыясненных</value>
    <param value="Действие" type="3" name="version">36.005.00</param>
    <param value="Действие" type="3" name="crc32">$4648654B</param>
    <param value="Картинка" type="3" name="version">36.005.00</param>
    <param value="Картинка" type="3" name="crc32">$4648654B</param>
    <param value="Хинт" type="3" name="version">36.005.00</param>
    <param value="Хинт" type="3" name="crc32">$83B50EE2</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{DB3ACF33-98D2-11D2-938F-000021670171}\События">
    <value type="3" name="НаИнициализацию">Инициализация</value>
    <value type="3" name="НаОперациюСТаблицей">ДиспетчерНаОперациюСТаблицей</value>
    <param value="НаИнициализацию" type="3" name="version">36.005.00</param>
    <param value="НаИнициализацию" type="3" name="crc32">$AE937587</param>
    <param value="НаОперациюСТаблицей" type="3" name="version">36.005.00</param>
    <param value="НаОперациюСТаблицей" type="3" name="crc32">$7DFFFBA9</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{DB3ACF33-98D2-11D2-938F-000021670171}\Действия\Инициализация">
    <value type="3" name="заголовок">Добавление специального поля</value>
    <value type="7" name="Код программы">///////////////////////////////////////////////////////////////////
//Добавление при инициализации формы полей контроля и причины непрохождения контроля
// ( добавляет поля и колонки специального типа в заголовок и детализацию
//  для отображения результатов выполнения бюджетного контроля)
//Добавление полей при создании сетки для предварительного контроля
///////////////////////////////////////////////////////////////////

включить '\Библиотеки\LibRu.lib';
включить 'Project';
включить "\библиотеки\Documents.lib";
включить "\библиотеки\Control.lib";
включить "\библиотеки\Variables.lib";

функция ДобавитьСортировкуПоКол(Сетка: СеткаДанных; ИмяКолонки: СТРОКА);
переменные
  Настройка     : ВНЕШНИЙОБЪЕКТ; 
начало
  если Сетка.FindColumn(ИмяКолонки)
    тогда для Сетка.ColumnByName(ИмяКолонки) делать 
    начало
      Настройка := .DefProps("Title");
      Настройка.DefProps("Options") := БитИЛИ(Настройка.DefProps("Options"), 4);
    конец;     
конец;

переменные
  ф: ФормаВвода;
  Мастер, Деталь: СтатическиеДанные;
  МС, ДС: СеткаДанных;
  сч    :целое;
начало
  ф := ПолучитьФормуВвода;
  Мастер := ф.Заголовки.Таблица;
  МС := ф.Заголовки.Сетка;
  Мастер.Закрыть;
  Мастер.ДобавитьЦелоеПоле('Control');
  МС.ДобавитьКолонку('Control', 'Control', '', Колонка_ИзображениеПоИндексу);
  МС.КолонкаПоИмени("Control").Видима:=Да;
  
  если (не Мастер.FindField(ControlMessage, nil)) тогда
    начало
      Мастер.Закрыть;
      Мастер.ДобавитьСтроковоеПоле(ControlMessage,255);
      для МС.ДобавитьКолонку(ControlMessage, ControlMessage+ 'c', 'Результат бюджетного контроля') делать
        начало
          .Ширина := 200;
          .ТолькоДляЧтения := Да;
          .Видима := Да;
        конец;  
      ДобавитьСортировкуПоКол(мс, ControlMessage+'c');        
    конец;
    
от сч:=0 до ф.КоличествоДетализаций-1 делать
    начало
      Деталь := ф.Детализация(сч).Таблица;
      ДС := ф.Детализация(сч).Сетка;
      
      Деталь.ДобавитьЦелоеПоле('Control');
      ДС.ДобавитьКолонку('Control', 'Control', '', Колонка_ИзображениеПоИндексу);
      ДС.КолонкаПоИмени("Control").Видима:=Да;
      
      
      если (не Деталь.FindField(ControlResultHint, nil)) тогда
        начало
          Деталь.Закрыть;
          Деталь.ДобавитьСтроковоеПоле(ControlResultHint,255).DefProps('Name') := ControlResultHint + ЦелоеВСтроку(сч + 1);
        конец;   
      если (не Деталь.FindField(ControlResult, nil)) тогда
        начало
          Деталь.Закрыть;
          Деталь.ДобавитьЦелоеПоле(ControlResult).DefProps('Name') := ControlResult + ЦелоеВСтроку(сч + 1);
          для ДС.ДобавитьКолонку(ControlResult, ControlResult+ 'c' + ЦелоеВСтроку(сч + 1), '', Колонка_ИзображениеПоИндексу) делать
          начало
            .Видима := Да;
            .DefProps('HintFieldName') := ControlResultHint;
          конец;            
        конец;   
      если (не Деталь.FindField(ControlMessage, nil)) тогда
        начало
          Деталь.Закрыть;
          Деталь.ДобавитьСтроковоеПоле(ControlMessage);
          Деталь.ПолеПоИмени(ControlMessage).Размер := 255;
          Деталь.ПолеПоИмени(ControlMessage).DefProps('Name') := ControlMessage + ЦелоеВСтроку(сч + 1);      
          для ДС.ДобавитьКолонку(ControlMessage, ControlMessage+ 'c' + ЦелоеВСтроку(сч + 1), 'Результат бюджетного контроля') делать
            начало
              .Ширина := 200;
              .ТолькоДляЧтения := Да;
              .Видима:= Да;
            конец;
          ДобавитьСортировкуПоКол(ДС, ControlMessage+ 'c' + ЦелоеВСтроку(сч + 1));            
        конец;
    конец;    
 
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\05.11.2008 10:15:38</param>
    <param value="заголовок" type="3" name="version">36.005.00</param>
    <param value="заголовок" type="3" name="crc32">$44AE28E1</param>
    <param value="Код программы" type="3" name="version">36.005.00</param>
    <param value="Код программы" type="3" name="crc32">$FDB4121B</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{DB3ACF33-98D2-11D2-938F-000021670171}\Действия\ЭкспортНевыясненных">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить 'Бюджет\Ресурсы\Библиотеки\LibRu.lib';
включить "project";
переменные
  КДМаска, КДМаскаВнебюджет, фильтрНевыясненных: строка;
  Ф : ФормаВвода;
  ЧислоДокументов,ЧислоНеперенесенных,ЧислоНеперенесенныхДБ, ЧислоНеневыясненных, Кол : Целое;
  СуммаДокументов,СуммаНеперенесенных, СуммаНеНевыясненных: Дробное;
  ТаблицаДеталь, МастерТаблица : СтатическиеДанные;
  запрос, СтарыйФильтр, ст_Сообщение: строка;
  
  
функция ПолучитьВыделенныеИлиВсе(ДанныеРезультат : СтатическиеДанные; СеткаВвода : СеткаДанных; Данные : СтатическиеДанные);
начало
  если СеткаВвода.ЕстьВыделенныеСтроки  тогда 
    ДанныеРезультат := СеткаВвода.ПолучитьВыделенныеСтроки
  иначе 
  начало
    ДанныеРезультат := СоздатьСтатическиеДанные;
    ДанныеРезультат.СоединитьБД;
    ДанныеРезультат.ПрисвоитьПоля(Данные);
    ДанныеРезультат.Открыть;
    ДанныеРезультат.Группировать(Данные,"keys=id");
  конец;
конец; 

функция ПолучитьЗапросДляОбновления(мастер: СтатическиеДанные): строка;
начало
  // дополнительно очищаем ссылку на фед.реестр, иначе останется лишний фед. реестр
  // также очищаем поля блокировок, так как в невыясненных в заголовке нет причины блокировки
  результат := 'update incomes32 set
               isBlocked = null,
               Blockedcause = null,  
               progindex=41,
               FederalFundsRef = null,
               idate=';
  Если не Мастер.Поле("AcceptDate").Пустое тогда
    результат := результат + Мастер.Поле("AcceptDate").КакСтрока
  иначе
    результат := результат + Мастер.Поле("BuildDate").КакСтрока;
  результат := результат + ' where (id=%d)';  
конец;

  
начало
  Ф := ПолучитьФормуВвода;
  если Ф.АктивнаяДетализация &lt;&gt; 0 тогда 
    ВызватьОшибку ('Должна быть открыта детализация.');

  ЧислоНеневыясненных := 0;
  СуммаНеНевыясненных := 0;
  ПолучитьВыделенныеИлиВсе(ТаблицаДеталь, ф.Детализация.Сетка, ф.Детализация.Таблица);
  МастерТаблица := Ф.Заголовки.Таблица;
  если  (ТаблицаДеталь.State &lt;&gt; 1) тогда 
    ВызватьОшибку ('Необходимо сохранить изменения.');

  ЧислоНеперенесенных := 0;
  СуммаНеперенесенных := 0;
  ЧислоНеперенесенныхДБ := 0;
  ЧислоДокументов := 0;
  СуммаДокументов := 0;
  КДМаска := СтроковаяКонстанта(3,0);
  КДМаскаВнебюджет := СтроковаяКонстанта(3,11); 
  запрос := ПолучитьЗапросДляОбновления(МастерТаблица);  

  ТаблицаДеталь.DisableControls;
  // изменяем маску для того, чтобы отфильтровать
  КДМаска := ЗаменитьСтроку(КДМаска,"_","?");
  КДМаскаВнебюджет := ЗаменитьСтроку(КДМаскаВнебюджет,"_","?");
  попытка
    СтарыйФильтр := ТаблицаДеталь.Фильтр;
    Кол := ТаблицаДеталь.RecordCount;
    фильтрНевыясненных := Формат("((KDValue like '%s')", КДМаска) + ' or ' + Формат("(KDValue like '%s'))", КДМаскаВнебюджет);
    ТаблицаДеталь.Фильтр := фильтрНевыясненных;
      ЧислоНеневыясненных := Кол - ТаблицаДеталь.RecordCount;
      ТаблицаДеталь.Фильтр := 'not ' + фильтрНевыясненных;
      ТаблицаДеталь.ВНачало;
      Пока не ТаблицаДеталь.Вконце делать 
      начало 
        СуммаНеНевыясненных := СуммаНеНевыясненных + ТаблицаДеталь.Поле("Credit").КакДробное - ТаблицаДеталь.Поле("Debit").КакДробное; 
        ТаблицаДеталь.Next; 
      конец;
      ТаблицаДеталь.Фильтр := фильтрНевыясненных;
    ТаблицаДеталь.First;
    пока не (ТаблицаДеталь.ВКонце) делать
    начало
        Если (ТаблицаДеталь.ПолеПоИмени("AccountIndex").КакЦелое=0) и (ТаблицаДеталь.Поле("Debit").КакДробное=0) тогда 
        начало
          ВыполнитьЗапрос(Формат(запрос,ТаблицаДеталь.Поле("ID").AsInteger));  
          ЧислоДокументов := ЧислоДокументов + 1;
          СуммаДокументов := СуммаДокументов + ТаблицаДеталь.Поле("Credit").КакДробное;
        конец
        иначе  
        начало
          Если ТаблицаДеталь.Поле("Debit").КакДробное&lt;&gt;0 тогда 
            ЧислоНеперенесенныхДБ := ЧислоНеперенесенныхДБ+1;
          Если ТаблицаДеталь.Поле("Debit").КакДробное = 0 тогда 
            ЧислоНеперенесенных := ЧислоНеперенесенных+1;
          СуммаНеперенесенных := СуммаНеперенесенных+ТаблицаДеталь.Поле("Credit").КакДробное-ТаблицаДеталь.Поле("Debit").КакДробное;
        конец;  
      ТаблицаДеталь.Next;
    конец;
    
    если ЧислоДокументов или ЧислоНеперенесенных или ЧислоНеперенесенныхДБ тогда
    начало
      ст_Сообщение := 'Данные перенесены на интерфейс "Невыясненные поступления".' + #13#10 +
                      'Перенесенные документы: Количество ' + ЦелоеВСтроку(ЧислоДокументов) + ', Сумма ' + ДробноеВСтроку(СуммаДокументов)+#13#10+
                      'Неперенесенные документы: Количество ' + ДробноеВСтроку(ЧислоНеперенесенныхДБ + ЧислоНеневыясненных + ЧислоНеперенесенных) + ',  Сумма '+ ДробноеВСтроку(СуммаНеперенесенных + СуммаНеневыясненных);
      Сообщение(ст_Сообщение);
    конец  
    иначе 
      Сообщение('Нет невыясненных доходов.');
  обязательно
    ТаблицаДеталь.Фильтр := СтарыйФильтр;
    ТаблицаДеталь.EnableControls;
    УдалитьОбъект(ТаблицаДеталь);
  конец;
  если ЧислоДокументов &lt;&gt; 0 тогда
    Ф.Детализация(0).Открыть;  
конец;
</value>
    <param value="Код программы" type="3" name="Export">ASBERN\asbern\05.03.2009 12:18:33</param>
    <param value="Код программы" type="3" name="version">36.005.00</param>
    <param value="Код программы" type="3" name="crc32">$C3D53326</param>
  </node>
  <version_info>
    <file>Невыясненные поступления.xml</file>
    <version>36.041.00</version>
    <info>&lt;p&gt;Стандартный набор АБЛ макросов для интерфейса Невыясненные поступления&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:37</buildtime>
  </version_info>
  <description>АБЛ-макросы невыясненных поступлений</description>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Панели\ПанельВозвратВыяснение\ВыгрузитьВФайл">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">ВыгрузитьВФайл</value>
    <value type="3" name="Картинка">Экспорт</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Выгрузить в файл неуточненные невыясненные</value>
    <param value="Видимость" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="crc32">$27F6AD84</param>
    <param value="Картинка" type="3" name="version">36.041.00</param>
    <param value="Картинка" type="3" name="crc32">$62F0FDC5</param>
    <param value="Стиль" type="3" name="version">36.041.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.041.00</param>
    <param value="Хинт" type="3" name="crc32">$29DD09D0</param>
  </node>
  <script type="abl" exec="before">

включить 'Project';
включить 'Бюджет\Ресурсы\Библиотеки\LibRU.lib';
включить 'Бюджет\Ресурсы\Библиотеки\Reports.lib';
включить 'Бюджет\Ресурсы\Библиотеки\Documents.lib';

переменные  
  СтрокаЗапроса : Строка;
  
начало
  СтрокаЗапроса :="update incomes32 inc32_43 " +
                     "set inc32_43.FACT = ( " +
                                               "select inc32_41.fact from incomes32 inc32_41 " + 
                                                 "inner join incomes32 inc32_42 on (inc32_42.recordindex = inc32_41.id) " +
                                               "where inc32_43.recordindex = inc32_42.id " +
                                          ") " +
                  "where (inc32_43.progindex=43) and (inc32_43.fact=0)";
                          
  ВыполнитьЗапрос(СтрокаЗапроса);

конец;

</script>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Панели\ПанельВозвратВыяснение\Импорт">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">ИмпортИзФайла</value>
    <value type="3" name="Картинка">ИмпортИзФайла</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Импорт из файла неуточненных невыясненных поступлений</value>
    <param value="Видимость" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="crc32">$592FD2B1</param>
    <param value="Картинка" type="3" name="version">36.041.00</param>
    <param value="Картинка" type="3" name="crc32">$592FD2B1</param>
    <param value="Стиль" type="3" name="version">36.041.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.041.00</param>
    <param value="Хинт" type="3" name="crc32">$782D408E</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Панели\ПанельВозвратВыяснение\ВозвратВыяснение">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздВозвратВыяснение</value>
    <value type="3" name="Картинка">ПереносРосписи</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создание записи по возврату/выяснению</value>
    <param value="Видимость" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="crc32">$C53984BB</param>
    <param value="Картинка" type="3" name="version">36.041.00</param>
    <param value="Картинка" type="3" name="crc32">$4E6CA3B8</param>
    <param value="Стиль" type="3" name="version">36.041.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.041.00</param>
    <param value="Хинт" type="3" name="crc32">$891D4403</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Панели\ПанельВозвратВыяснение\КнопкаПроверка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">Проверка</value>
    <value type="3" name="Картинка">Контроль</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Проверка сумм детализации и заголовка</value>
    <param value="Видимость" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="crc32">$E95CBACB</param>
    <param value="Картинка" type="3" name="version">36.041.00</param>
    <param value="Картинка" type="3" name="crc32">$0C4CF2C9</param>
    <param value="Стиль" type="3" name="version">36.041.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.041.00</param>
    <param value="Хинт" type="3" name="crc32">$416E36B6</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\События">
    <value type="3" name="НаИнициализацию">Инициализация</value>
    <value type="3" name="НаСохранениеИзменений">ДиспетчерНаТаблицу</value>
    <param value="НаИнициализацию" type="3" name="version">36.041.00</param>
    <param value="НаИнициализацию" type="3" name="crc32">$AE937587</param>
    <param value="НаСохранениеИзменений" type="3" name="version">36.041.00</param>
    <param value="НаСохранениеИзменений" type="3" name="crc32">$F728C9FC</param>
  </node>
  <delnode path="Бюджет\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Панели\Контроль\КнопкаПроверка" />
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Панели\ПанельВозвратВыяснение\ВозвратВыяснение">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздВозвратВыяснение</value>
    <value type="3" name="Картинка">ПереносРосписи</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создание записи по возврату\выяснению\сторнированию</value>
    <param value="Видимость" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="version">36.041.00</param>
    <param value="Действие" type="3" name="crc32">$C53984BB</param>
    <param value="Картинка" type="3" name="version">36.041.00</param>
    <param value="Картинка" type="3" name="crc32">$4E6CA3B8</param>
    <param value="Стиль" type="3" name="version">36.041.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.041.00</param>
    <param value="Хинт" type="3" name="crc32">$5DF16DE9</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Действия\ВыгрузитьВФайл">
    <value type="7" name="Код программы">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\ABLTools.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Documents.lib";
включить "\Библиотеки\Statics.lib";
включить '\Макросы\отчеты\МодальныеОтчеты.abl';
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';
включить "project";

функция ВыполнитьМодальныйОтчет(ИмяШаблона, НадписьНаШаблоне : строка; пользовательскиеПараметры : IVariables) : статическиеДанные;
переменные
  параметры : IVariables;
  viewer : IUniViewer;
  staticSets : IStaticSets;
начало
  результат := nil;
  параметры := CreateVariables;
  параметры.Значение("ПользовательскиеПараметры") := пользовательскиеПараметры;
  параметры.Значение('АДМИН') := ПолучитьФормуВвода.ЯАдмин;
  //если не параметры.Значение('АДМИН') тогда 
  //  НАЛОЖИТЬОГРАНИЧЕНИЯПРАВА(параметры, Да);
  если не ОтчетыН(ИмяШаблона, НадписьНаШаблоне, параметры, 0) тогда
    начало
      ModalWafer.Clear;
    конец
  иначе
    начало 
      viewer := ModalWafer.CheckSSViewer;
      staticSets  := viewer.Viewer;
      результат := staticSets.StaticSets(0);
    конец;
конец;

// Замена(восстановление) разыменовки поля на его значение.
функция ВосстановлениеЗначенийПолей(Данные, Исходные: СтатическиеДанные);
начало
  Данные.IndexFieldNames := 'КодЗаписи';
  Исходные.IndexFieldNames := 'КодЗаписи';
  Данные.ВНачало;
  Исходные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    если Позиция("Поступление", Данные.ПолеПоИмени("ИндексыДанных").КакСтрока) &lt;&gt; 0 тогда
      Данные.ПолеПоИмени("ИндексыДанных").КакЦелое := 41
    иначе
      если Позиция("Выписка", Данные.ПолеПоИмени("ИндексыДанных").КакСтрока) &lt;&gt; 0 тогда
        Данные.ПолеПоИмени("ИндексыДанных").КакЦелое := 45
      иначе  
        Данные.ПолеПоИмени("ИндексыДанных").КакЦелое := Исходные.ПолеПоИмени("ИндексыДанных").КакЦелое;
    Данные.ПолеПоИмени("КодБюджета").КакЦелое := Исходные.ПолеПоИмени("КодБюджета").КакЦелое;
    Данные.Следующая;
    Исходные.Следующая;
  конец;
конец;

переменные
  БО: СтатическиеДанные;
  Коллекция: IVariables;
  Имя: строка;
  ФайлДанных: Буфер;
начало
попытка
  ФайлДанных := СоздатьБуфер;
  Имя := Реестр.Узел('Бюджет\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Настройки').Значение('ИмяФайлаЭкспорта').КакСтрока;
  если Имя = '' тогда
  начало
    Имя := "c:\2009.xml";
  конец;
  диалог.очистить ;
  Диалог.заголовок:="Файл экспорта" ;
  диалог.добавить("Имя файла", "файл", 0, файлы,"") ;  // задать файл через окно открытия файла
  диалог.Значение('Файл') := Имя;
  Если не диалог.Выполнить тогда выход;
  Имя := диалог.Значение('Файл');
  Реестр.Узел('Бюджет\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Настройки').Значение('ИмяФайлаЭкспорта').КакСтрока := Имя;   
  Коллекция := CreateVariables;
  Коллекция.Значение("ИмяФайла") := Имя;
  БО := ВыполнитьМодальныйОтчет("ЭкспортНевыясненных.sts", "ЭкспортНевыясненных",  коллекция);

  Если БО = nil тогда
    БО := Коллекция.Значение("СтатикСетДоИзменений")
  иначе
    ВосстановлениеЗначенийПолей(БО, Коллекция.Значение("СтатикСетДоИзменений"));  
  БО.СохранитьВБуфер(ФайлДанных);
  если ФайлСуществует(имя) тогда
  начало
    если Сообщение(Формат("Файл '%s' уже существует, заменить его?", Имя), Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) = Результат_Да тогда
      ФайлДанных.СохранитьВФайл(имя)
    иначе
      ВызватьОшибку('Импорт отменен!')
  конец
  иначе
    ФайлДанных.СохранитьВФайл(имя);

  Сообщение('Экспорт завершен успешно!');
неудача
  ВызватьОшибку(ПоследняяОшибка);
конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">SPACE-XP\kan\26.01.2010 16:57:31</param>
    <param value="Код программы" type="3" name="version">36.041.00</param>
    <param value="Код программы" type="3" name="crc32">$42EABF02</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Действия\ДиспетчерНаТаблицу">
    <value type="7" name="Код программы">НаСохранениеИзменений(Порядок:целое);
включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\AblTools.lib";
переменные 

  Ф: ФормаВвода;
  Заголовок, Детализация: СтатическиеДанные;
  СуммаЗ, СуммаД: Дробное;
  ИД: целое;
  Глюк: целое;
  кол_зап_дет : целое;

начало
  если (Порядок=1) или (Порядок=2)  тогда
  начало
    Детализация := СоздатьСтатическиеДанные;
    Детализация.СоединитьБД;
    Ф := ПолучитьФормуВвода;
    ИД := Ф.Заголовки.Таблица.Поле("id").КакЦелое;
    СуммаЗ := Ф.Заголовки.Таблица.Поле("Credit").КакДробное;
    Детализация := Ф.Детализация(0).Таблица;
    кол_зап_дет := Детализация.ЧислоЗаписей;
    если кол_зап_дет &gt; 0 тогда
    начало
      попытка
        если Ф.АктивнаяДетализация = -1  тогда 
        начало
          Детализация.Параметр("MasterId") :=ИД;  
          Ф.Детализация(0).Открыть;
        конец;
        Детализация.Открыть;
      неудача
      конец;
      СуммаД := 0;
      Детализация.ВНачало;
      Детализация.ЗапретитьПрорисовку;
      Пока не Детализация.ВКонце делать
      начало
        Если Детализация.UpdateStatus&lt;&gt;usDeleted  и Детализация.Поле("RejectCLS").IsNull тогда 
        начало
          СуммаД := СуммаД + мод(Детализация.Поле("Credit").КакДробное);
          СуммаД := СуммаД + Детализация.Поле("Debit").КакДробное;
        конец;
        Детализация.Next;
      конец;
      Детализация.РазрешитьПрорисовку;
      Если ((СуммаД-СуммаЗ)&gt;0.005) и (СуммаД&lt;&gt;0) тогда 
        ВызватьОшибку("Сумма детализации превышает сумму заголовка");
    конец;    
  конец;
конец;
</value>
    <param value="Код программы" type="3" name="Export">ERSHOV\ershov\15.05.2009 17:00:29</param>
    <param value="Код программы" type="3" name="version">36.041.00</param>
    <param value="Код программы" type="3" name="crc32">$F446B01E</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Действия\ИмпортИзФайла">
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\libRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Documents.lib";
включить "Бюджет\Ресурсы\Макросы\ДляЭкспорта.abl";


константы
  к_Невыясненные = 41;
  к_Выписка = 45;
  nl = #13#10;

функция ВернутьМаппингМерДок: Строка;
начало
  результат := "ЭлНомерДокумента=ELNUM,ЭЛСчетПлат=LSKL,ЭЛИННОргПлательщика=INNMFKB,ЭЛКППОргПлательщика=KPPA,"+
        "ЭЛИмяОргПлательщика=PayerName,ЭЛБИКБанкаПлательщика=MFKB,ЭЛИННОргПолучателя=INNMF,ЭЛКППОргПолучателя=KPPB,"+
        "ЭЛИмяОргПолучателя=NAMKOR,ЭЛСумма=Su,ЭЛНазначениеПлатежа=Note,ЭлНалСтатус=SSTATUS,ЭЛОКАТО=CODOKATO,ЭЛПериодНалПлатежа=NALPER,"+
        "ЭЛНомерДокНалПлатежа=NDNAL,ЭЛОснованиеНалПлатежа=NALPLAT,ЭЛДатаДокНалПлатежа=DDNAL,ЭЛТипНалПлатежа=TYPNAL,ЭЛБК=CODBCLAS,"+
        "ЭЛСчетПолуч=LSKOR,ЭЛКД=KD,ЭЛОчередность=Aprior,ЭЛКорСчетБанкаПлательщика=KRKB,ЭЛКППБанкаПлательщика=MFKBFIL,"+
        "ЭЛИмяФилиалаБанкаПлательщика=SourceFilialBankName,ЭЛИмяБанкаПлательщика=SourceBankName,ЭЛБИКБанкаПолучателя=MF,"+
        "ЭЛКорСчетБанкаПолучателя=KR,ЭЛКППБанкаПолучателя=MFFIL,ЭЛИмяФилиалаБанкаПолучателя=DestFilialBankName,"+
        "ЭЛИмяБанкаПолучателя=DestBankName,ЭЛНалоговаяИнформация=TaxNote,ЭЛЛСФКПлат=SourceFacialCode,ЭЛЛСФКПолуч=DestFacialCode,"+
        "ЭЛДатаДокумента=DD,ЭЛВидОперации=VO,ЭлНомерДокументаБанк=ND";
конец;

функция вернутьмаппингневыясненных: строка;
начало
   Результат := "КодДокумента=IdMaster,СсылкаНаДеталь=RecordIndexID,НомерДокумента=DocNum,СостояниеДокумента=DocStateRef,НомерРеестра=ReestrNumber,Дата=IDate,ДатаПринятия=IDate,ДатаСписания=DateReturn,ДатаВвода=BuildDate," +
        "Регион=RegionCls,СРегиона=RegionCls,НаРегион=RegionClsTo,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,РСКредит=AccCredit,РСДебет=AccDebit," +
        "КодДохода=KD,СКодаДохода=KD,НаКодДохода=KDTo,СубКД=SubKD,ССубКД=SubKD,НаСубКД=SubKDTo,ТипДокумента=DocType,ТипДокументаДетализация=DocTypeDet,Слой=AccountIndex,ГосНИ=GosNI," +
        "КодЦелевыхСредств=TransfertCls,СКодаЦелевыхСредств=TransfertCls,НаКодЦелевыхСредств=TransfertClsTo," +
        "БухОперация=BuhOperationCls," +
        "СчетПлат=Acc,Примечание=NOTE,Автор=CreaterUser,АвторИзменений=UpdaterUser,ИндексыДанных=ProgIndex,ИндексДанныхЗаголовок=ProgIndexTitle,ЛицевойСчет=FacialAcc_Cls,ЛицевойСчетДетализация=FacialAcc_Cls_Det,СЛицевогоСчета=FacialAcc_Cls,НаЛицевойСчет=FacialAcc_ClsTo," +
        "Организация=ORG_REF,КодВалюты=Currency,СуммаВалюта=CURSUM,ИндексАлгоритма=AlgIndex,Ндс=NDS,СуммаНДС=NDS,Назначение=NoteEx,БухПроводка=BuhPaymentCLS,ТипСредств=MeansType," +
        "ПримечаниеИзДетализации=NoteDetal,СчетПлатДетализация=AccountRefDetail,НомерДокументаДетализация=DocumentNumberDetail%s50,ПлательщикВозврат=OrgFrom,КодДоходаВозврат=CorKd,СубКДДетализация=SubKDDet," +
        "Мероприятие=Fact,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,КодОбобщеннойЗаявки=TotalRef,КДКлюч=KDID,КодЦелевыхСредствКлюч=TransfertClsID,КодБюджета=BudgetRef," +
        "ТипОперации=TypeOperationCls,ДатаДокумента=RecordDate,ОКАТО=OKATO,УточнениеОКАТО=ADDOKATO,ИВВФ=IncIFS_Ref,НомерДокументаЗаголовка=DocNumber,ДатаФедРеестра=ReestrDate,"+
        "КодФОДокумента=TitleFUID,КодУРМДокумента=TitleSenderRecordID,КодУРМЗаписи=IncSenderRecordID,КодОтправителяДокумента=TitleSenderID,КодОтправителяЗаписи=IncSenderID," +
        "ПричинаОтклонКод=RejectCLS,ПричинаОтклонТекст=RejectCause,ПризнакЗависания=DocSuspended,ЕстьВБюджете=IsInBudget,ЛокальнаяВиза=IsVised," +
        "КодФОЗаписи=IncFUID,ДоходыСуммаЗаПериод=Credit,ИнформацияОНалоге=TaxNote,ЛицСчетАдм=FacialAccCLS,ИсточникОбразованияСредств=FundsSource," +
        "СМероприятия=FactFrom,НаМероприятие=FactTo,ПримечаниеДеталь=DetailNote,Очередность=PayPriority,СрокПлатежа=PayDate,НомерПакета_=ElPacketNum";
конец;

функция ЗаполнитьПоМаппингу(ДанныеОтКуда,ДанныеКуда: СтатическиеДанные; Маппинг: Строка);
переменные
  ткст_Маппинг: текст;
  сч: целое;
начало
  ткст_Маппинг:= СоздатьТекст;
  ткст_Маппинг.РазделенноеЗначение := Маппинг;
  от сч := 0 до (ткст_Маппинг.Количество-1) делать
  начало
    Если ДанныеКуда.НайтиПоле(ткст_Маппинг.ЗначениеПараметра(ткст_Маппинг.ИмяПараметра(сч))) и ДанныеОткуда.НайтиПоле(ткст_Маппинг.ИмяПараметра(сч)) тогда 
      если не ДанныеОткуда.Поле(ткст_Маппинг.ИмяПараметра(сч)).Пустое тогда
      начало
        если Позиция("Дата", ткст_Маппинг.ИмяПараметра(сч)) = 0 тогда 
          ДанныеКуда.Поле(ткст_Маппинг.ЗначениеПараметра(ткст_Маппинг.ИмяПараметра(сч))).КакСтрока := ДанныеОткуда.Поле(ткст_Маппинг.ИмяПараметра(сч)).КакСтрока
        иначе
        начало
          попытка
            ДанныеКуда.Поле(ткст_Маппинг.ЗначениеПараметра(ткст_Маппинг.ИмяПараметра(сч))).КакСтрока := ДанныеОткуда.Поле(ткст_Маппинг.ИмяПараметра(сч)).КакСтрока;
          неудача
            ДанныеКуда.Поле(ткст_Маппинг.ЗначениеПараметра(ткст_Маппинг.ИмяПараметра(сч))).КакСтрока := СтрокаВРасширеннуюДату( ДанныеОткуда.Поле(ткст_Маппинг.ИмяПараметра(сч)).КакСтрока );
          конец;
        конец;  
      конец;  
  конец;
конец;


функция ПолучитьСтатиксетИзФайла(имяФайлаСданными: строка) : СтатическиеДанные;
переменные
  файлДанныхСтатиксета: Буфер;
начало
  результат := СоздатьСтатическиеДанные;
  файлДанныхСтатиксета := СоздатьБуфер;
  попытка
    ФайлСуществует(имяФайлаСданными);
    файлДанныхСтатиксета.ЗагрузитьИзФайла(имяФайлаСДанными);
    файлДанныхСтатиксета.Позиция := 0;
    ЗагрузитьОбъект(результат, файлДанныхСтатиксета);
  обязательно
    УдалитьОбъект(файлДанныхСтатиксета);
  конец;
конец;


функция ЗапросЗагВыписки: Строка;
начало
  результат := '[DeleteData]
{
delete from QuotesTitle
where
  ID = @ID}

[InsertData]
{
insert into QuotesTitle
  ( ID, BUDGETREF, ACCEPTDATE, BUILDDATE, INCACCOUNT, progindex, TypeOperationCls,
    ReestrDate, ReestrNumber, RejectCls, RejectCause, DocNumber, CryptoStatus, FacialAccCLS, Summa)
values
  (@ID,@BUDGETREF,@ACCEPTDATE,@BUILDDATE,@INCACCOUNT,       45 ,@TypeOperationCls,
   @ReestrDate, @ReestrNumber, @RejectCls, @RejectCause, @DocNumber, @CryptoStatus, @FacialAccCLS, @Summa)}

[ModifyData]
{
update QuotesTitle
set
 ID = @ID,
 BUDGETREF=@BUDGETREF,
 ACCEPTDATE=@ACCEPTDATE,
 BUILDDATE=@BUILDDATE,
 TypeOperationCls=@TypeOperationCls,
 INCACCOUNT=@INCACCOUNT,
 ReestrDate=@ReestrDate,
 ReestrNumber=@ReestrNumber,
 RejectCls=@RejectCls,
 RejectCause=@RejectCause,
 DocNumber=@DocNumber,
 CryptoStatus=@CryptoStatus,
 FacialAccCLS=@FacialAccCLS,
 Summa=@Summa
where
  ID = @ID}

[PUMPDATA]
{select distinct
       q.ID, q.BUDGETREF,q.BUILDDATE, q.ACCEPTDATE, q.INCACCOUNT, q.TypeOperationCls,
       q.CREATERUSER,q.CREATEDATE,q.UPDATEDATE,q.UPDATERUSER,q.PROGINDEX,
       oa.ACC DFAccountName ,oa.COMMENT DFAccountComment, q.ReestrDate, q.ReestrNumber,
       q.RejectCls, q.RejectCause, q.DocNumber, q.CryptoStatus, q.FacialAccCLS,
       q.SenderID, q.SenderRecordID, q.Summa, rc.Note

    [$Std ,

     rp.DisableDelCount,
     rp.ParentBlockCount,
     rp.ChildBlockCount,
     rp.COMMONPICTURECOUNT,
     rp.UNIQUEPICTURECOUNT ]

from
       QuotesTitle q
       left join ORG_ACCOUNTS oa on (q.INCACCOUNT=oa.ID)
       left join RemoteClient rc on (q.SenderID = rc.ID) 
[$Std left join RecordParams rp on (q.id = rp.id) ]


where
  (1&lt;&gt;1) and ((q.ProgIndex=45) or (q.ProgIndex=140))}';
конец;


функция ЗапросДетальВыписки: строка;
начало
  Результат := "[DeleteData]
{delete from Incomes32 where ID = @ID}

[InsertData]
{insert into Incomes32
  (ID, DOCNUM, DEBIT, CREDIT, DOCTYPE, ORG_REF,ACCOUNTREF, TaxNote,
   Fact, DocBase, DocDate,
   KD, SUBKD,KVSR, GOSNI, PROGINDEX, RECORDINDEX, BUDGETREF,REGIONCLS,FACIALACC_CLS,
   NOTE, NoteEx,  ElPacketNum, NDS, BUHPAYMENTCLS, MeansType,AccountIndex,
   KFSR, KESR, KVR, KCSR, SumComplete,BuhOperationCls,OKATO,ADDOKATO, IFS, CLSType,
   IsBlocked, BlockedCause, UnBlockedDate, UnBlockedCause, FundsSource, DirectionCLS, EldocRef)
values
  (@ID, ~DOCNUM, @DEBIT, @CREDIT, @DOCTYPE, @ORG_REF,@ACC_REF, @TaxNote,
   @Fact, @DocBase, @DocDate,
   @KD, @SUBKD, @KVSR, @GOSNI, 45, @RECORDINDEX, @BUDGETREF,@REGIONCLS,@FACIALACC_CLS,
   ~NOTE, ~NoteEx, ~ElPacketNum, @NDS, @BUHPAYMENTCLS, @MeansType,@AccountIndex,
   @KFSR, @KESR, @KVR, @KCSR, @SumComplete, @BuhOperationCls, @OKATO, @ADDOKATO, @IFS, @CLSType,
   @IsBlocked, @BlockedCause, @UnBlockedDate, @UnBlockedCause, @FundsSource, @DirectionCLS, @ElDocRef)}

[ModifyData]
{update Incomes32
set
  ID = @ID,
  KD = @KD,
  SUBKD = @SUBKD,
  KVSR  = @KVSR,
  TaxNote=@TaxNote,
  DEBIT = @DEBIT,
  CREDIT = @CREDIT,
  ORG_REF = @ORG_REF,
  ACCOUNTREF = @ACC_REF,
  GOSNI = @GOSNI,
  FACIALACC_CLS=@FACIALACC_CLS,
  Fact = @Fact,
  DocBase = @DocBase, 
  DocDate = @DocDate,
  REGIONCLS = @REGIONCLS,
  DOCNUM = ~DOCNUM,
  DOCTYPE = @DOCTYPE,
  RECORDINDEX = @RECORDINDEX,
  PROGINDEX = @PROGINDEX,
  BUDGETREF = @BUDGETREF,
  NOTE = ~NOTE,
  NoteEx = ~NoteEx,
  ElPacketNum = ~ElPacketNum,
  NDS = @NDS,
  BUHPAYMENTCLS = @BUHPAYMENTCLS,
  MeansType = @MeansType,
  AccountIndex=@AccountIndex,
  KFSR=@KFSR,
  KESR=@KESR,
  KVR=@KVR,
  KCSR=@KCSR,
  SumComplete=@SumComplete,
  BuhOperationCls = @BuhOperationCls,
  OKATO = @OKATO,
  ADDOKATO = @ADDOKATO,
  IFS = @IFS,
  CLSType = @CLSType,
  RejectCLS = @RejectCLS,
  IsBlocked = @IsBlocked,
  BlockedCause = @BlockedCause,
  UnBlockedDate = @UnBlockedDate,
  UnBlockedCause = @UnBlockedCause,
  FundsSource = @FundsSource,
  DirectionCLS= @DirectionCLS

where
  ID = @ID}

[PumpData]
{select
 distinct ind.id,ind.Debit,ind.Credit,ind.DocType,ind.RegionCls, ind.FundsSource, ind.DirectionCLS, ind.taxnote,
  ind.FACIALACC_CLS,fcc.FACIALCODE, ind.idate,
  ind.FACIALACC_CLS facmaster,
  ind.Fact, ind.DocBase, ind.DocDate,
  o.INN,o.INN20,o.Name, ind.Org_Ref, ind.KD,ind.SubKD,ind.KVSR,ind.ProgIndex,ind.RecordIndex,
  ind.DocNum, ind.GosNI, ind.BudgetRef,
  ind.CREATERUSER, ind.CREATEDATE, ind.UPDATERUSER, ind.UPDATEDATE,
  ind.Note, ind.KFSR, ind.KESR, ind.KVR, ind.KCSR, ind.SumComplete,
  ind.ElPacketNum, bm.ELNum, ind.NoteEx, ind.MeansType, ind.BUHPAYMENTCLS, ind.NDS,ind.AccountIndex,
  oa.ACC, ind.ACCOUNTREF ACC_REF, ind.ElDocRef,
  k.DescriptionCode, k.ProgramCode, k.KVSR KDKVSR, k.KESR KDKESR, k.KDValue,

  ind.BuhOperationCls,
  ind.OKATO,
  ind.ADDOKATO,

  ind.CLSType,
  ind.IFS,

  ind.RejectCLS,
  ind.RejectCause,

  IFS.FinSourceValue IFS_FullID,
  IFS.KVSR  IFS_KVSR,
  IFS.DescriptionCode IFS_DescriptionCode,
  IFS.KESR IFS_KESR,

  ind.IsBlocked, ind.BlockedCause, ind.UnBlockedDate, ind.UnBlockedCause

    [$Std ,

     rp.DisableDelCount,
     rp.ParentBlockCount,
     rp.ChildBlockCount,
     rp.COMMONPICTURECOUNT,
     rp.UNIQUEPICTURECOUNT ]


from Incomes32 ind
  left join Organizations o on (ind.Org_Ref = o.id)
  left join Org_Accounts oa on (oa.id=ind.ACCOUNTREF)
  left join FACIALACC_CLS fcc on (ind.FACIALACC_CLS = fcc.id)
  left join KD k on (k.id = ind.KD)
  left join InnerFinSource IFS on (IFS.id = ind.IFS)
  left join BankExch_Merdoc bm on (ind.eldocref = bm.id)
[$Std     left join RecordParams rp on (ind.id = rp.id) ]

where
  (1&lt;&gt;1) and ((ind.ProgIndex = 45) or (ind.ProgIndex = 140))}

"
конец;

функция ЗапросНевыясненных: строка;
начало
  Результат := "[INSERTDATA]
{insert into Incomes32
  (ID, IDATE, CREDIT, DEBIT, KD, SUBKD, ORG_REF, ACCOUNTINDEX, REGIONCLS,
  GOSNI, DOCTYPE, PROGINDEX, RECORDINDEX, INCACCOUNT, BUDGETREF,
  DOCNUM,  NOTE, FACIALACC_CLS, MeansType, DocDate,
  BuhOperationCls, AccountRef, Fact, EldocRef, ElPacketNum, NoteEx)
values
  (@ID, @IDATE, @CREDIT, @DEBIT, @KD, @SUBKD, @ORG_REF, 0, @REGIONCLS,
   @GOSNI, @DOCTYPE, 41, @RECORDINDEX, @INCACCOUNT,@BUDGETREF,
   ~DOCNUM,  ~NOTE, @FACIALACC_CLS, @MeansType, @DocDate,
   @BuhOperationCls, @ACC_Ref, @Fact, @EldocRef, @ElPacketNum, @NoteEx)}

[PUMPDATA]
{select distinct
        inc.ID, inc.EldocRef, inc.IDate, inc.Credit, inc.Debit, inc.KD, inc.SubKD,inc.Org_Ref,
        o.INN, o.INN20, o.Name, inc.AccountIndex, inc.RegionCLS, inc.GosNI,
        inc.DocType,inc.ProgIndex, inc.RecordIndex, inc.IncAccount, inc.BudgetRef,
        inc.DocNum,  inc.CreaterUser, inc.CreateDate,
        inc.UpdaterUser, inc.UpdateDate, inc.Note, inc.ElPacketNum, inc.NoteEx, oa.ACC DFAccountName, inc.FacialAcc_CLS,
        inc.facialacc_cls facialaccmaster,fa.facialCode, inc.MeansType,
        kd1.KDValue, kd1.KVSR KDKVSR, kd1.DescriptionCode, kd1.ProgramCode, kd1.KESR KDKESR,

        inc.BuhOperationCls,
        oa1.Acc ,
        inc.AccountRef ACC_REF,
        inc.DocDate,

        inc.Fact
    [$Std ,

     rp.DisableDelCount,
     rp.ParentBlockCount,
     rp.ChildBlockCount,
     rp.COMMONPICTURECOUNT,
     rp.UNIQUEPICTURECOUNT ]


 from Incomes32 inc
        left join KD kd1 on (kd1.id = inc.kd)
        left join Organizations o on (Inc.Org_Ref = o.id)
        left join Org_Accounts oa on (inc.IncAccount=oa.id)
        left join Org_Accounts oa1 on (oa1.id=inc.ACCOUNTREF)
        left join FacialACC_Cls fa on (inc.facialacc_cls=fa.id)
[$Std left join RecordParams rp on (inc.id = rp.id) ]
  where (1&lt;&gt;1) and (ProgIndex = 41)}"
конец;
 
функция ЗапросМердок: строка;
начало
  Результат := "[InsertData]
{
insert into BANKEXCH_MERDOC(
        ID, AUTOPROCESSING, ProcDocClass, NOTE, PAYERKPP, PAYERNAME,
        KD, DVV, DD, ND, DV, DAV, DK, ELNUM, VO, MFKB, LSKL, NAMKL, MF,
        LSKOR, NAMKOR, SU, NKOR1, NKOR2, NKOR3, NKOR4, PAROL, SS, KRKB,
        INNMFKB, MFKBFIL, KR, INNMF, MFFIL, DFA, NA, T_CLOCK, PR_DOC, PRIOR,
        DPLAT, SUB_ID, ELnumS, LS_ERR, PACKETNUMBER, GETDATE, PROCNOTE,
        Sender, PRNUM, KPPA, KPPB, DPPL, DKART, DSPL, D_OTMET, SSTATUS,
        CODBCLAS, CODOKATO, NALPLAT, NALPER, NDNAL, DDNAL, TYPNAL, SU_OST,
        N_CH_PL, D_PL, SHIFR, N_PLDOK, TaxNote,PROCUSEINFO,UFK_PRIM,ElPacketNumber,
        SourceBankName,DestBankName,SourceFilialBankName,DestFilialBankName,DocumentName)
values (~ID, ~AUTOPROCESSING, ~ProcDocClass, ~NOTE, ~PAYERKPP, ~PAYERNAME,
        ~KD, ~DVV, ~DD, ~ND, ~DV, ~DAV, ~DK, ~ELNUM, ~VO, ~MFKB, ~LSKL, ~NAMKL, ~MF,
        ~LSKOR, ~NAMKOR, ~SU, ~NKOR1, ~NKOR2, ~NKOR3, ~NKOR4, ~PAROL, ~SS, ~KRKB,
        ~INNMFKB, ~MFKBFIL, ~KR, ~INNMF, ~MFFIL, ~DFA, ~NA, ~T_CLOCK, ~PR_DOC, ~PRIOR,
        ~DPLAT, ~SUB_ID, ~ELnumS, ~LS_ERR, ~PACKETNUMBER, ~GETDATE, ~PROCNOTE,
        ~Sender, ~PRNUM, ~KPPA, ~KPPB, ~DPPL, ~DKART, ~DSPL, ~D_OTMET, ~SSTATUS,
        ~CODBCLAS, ~CODOKATO, ~NALPLAT, ~NALPER, ~NDNAL, ~DDNAL, ~TYPNAL, ~SU_OST,
        ~N_CH_PL, ~D_PL, ~SHIFR, ~N_PLDOK, ~TaxNote,~PROCUSEINFO,~UFK_PRIM,~ElPacketNumber,
        ~SourceBankName,~DestBankName,~SourceFilialBankName,~DestFilialBankName,~DocumentName)}
[PumpData]
{
  Select distinct m.ID, m.AUTOPROCESSING, m.ProcDocClass, m.NOTE, m.PAYERKPP, m.PAYERNAME,
         m.KD, m.DVV, m.DD, m.ND, m.DV, m.DAV, m.DK, m.ELNUM, m.VO, m.MFKB, m.LSKL, m.NAMKL, m.MF,
         m.LSKOR, m.NAMKOR, m.SU, m.NKOR1, m.NKOR2, m.NKOR3, m.NKOR4, m.PAROL, m.SS, m.KRKB,
         m.INNMFKB, m.MFKBFIL, m.KR, m.INNMF, m.MFFIL, m.DFA, m.NA, m.T_CLOCK, m.PR_DOC, m.PRIOR,
         m.DPLAT, m.SUB_ID, m.ELnumS, m.LS_ERR, m.PACKETNUMBER, m.GETDATE, m.PROCNOTE, m.CREATERUSER,
         m.CREATEDATE, m.UPDATERUSER, m.UPDATEDATE, m.Sender, m.paykind, m.importdocref, m.PRNUM,
         m.KPPA, m.KPPB, m.DPPL, m.DKART, m.DSPL, m.D_OTMET, m.SSTATUS, m.CODBCLAS, m.CODOKATO,
         m.NALPLAT, m.NALPER, m.NDNAL, m.DDNAL, m.TYPNAL, m.SU_OST, m.N_CH_PL, m.D_PL, m.SHIFR,
         m.N_PLDOK, m.TaxNote,m.PROCUSEINFO,m.UFK_PRIM, m.ElPacketNumber, m.DocumentName,
         m.SourceBankName,m.DestBankName,m.SourceFilialBankName,m.DestFilialBankName 
  from BANKEXCH_MERDOC m
 
  where
  (1&lt;&gt;1)}
" 
конец;

Функция НайтиОрганизацию(Данные: СтатическиеДанные): ЦЕЛОЕ;
переменные
  ДанныеОрг: СтатическиеДанные;
  ИНН, Имя : строка;
начало
  результат := -1;
  ДанныеОрг := СоздатьСтатическиеДанные;
  попытка
    ДанныеОрг.СоединитьБД;
    если Данные.Поле('ОргИНН').КакСтрока = "" тогда 
      ИНН := "is null"
    иначе  
      ИНН := "= " + Данные.Поле('ОргИНН').КакСтрока;
    Имя := Данные.Поле('ОргИмя').КакСтрока;
    если Позиция(#39, Имя, 1) &lt;&gt; 0 тогда 
      Имя := ЗаменитьСтроку(Имя, #39, #34, ЗаменятьВсе);
    ДанныеОрг.Запрос :=  "[PumpData]"+
                      "{Select id from Organizations"+
                      " where (INN " + ИНН + ") and (INN20 = '" + Данные.Поле('ОргКПП').КакСтрока + 
                      "') and (Name = '" + Имя + "') and (Org_Type = " + Данные.Поле('ОргВид').КакСтрока + ")}";
    ДанныеОрг.Открыть;
    если ДанныеОрг.ЧислоЗаписей &gt; 0 тогда
    начало
      Данные.Поле('Организация').КакЦелое := ДанныеОрг.Поле('id').КакЦелое;
      результат := ДанныеОрг.Поле('id').КакЦелое;
    конец;  
  обязательно
    УдалитьОбъект(ДанныеОрг);
  конец;
конец;

// по имени организации, инн, кпп и наименованию счета - получить ссылку на р/с счет
функция ПолучитьСсылкуНаСчетПлательщика(Данные: СтатическиеДанные): ЦЕЛОЕ;
переменные
  Счета : СтатическиеДанные;
  ТекстЗапроса: Строка;
  ИНН, Имя : строка;
начало
  Результат := -1;
  Попытка
    Счета := СоздатьСтатическиеДанные;
    попытка
      Счета.СоединитьБД;               // подключиться к текущей базе данных

      если Данные.Поле('ОргИНН').КакСтрока = "" тогда 
        ИНН := "is null"
      иначе  
        ИНН := "= " + Данные.Поле('ОргИНН').КакСтрока;
      Имя := Данные.Поле('ОргИмя').КакСтрока;
      если Позиция(#39, Имя, 1) &lt;&gt; 0 тогда 
        Имя := ЗаменитьСтроку(Имя, #39, #34, ЗаменятьВсе);
      ТекстЗапроса := '[PumpData]'+
                      "{Select Org_Accounts.ID Acc_Ref from Organizations left join Org_Accounts on (Org_Accounts.Org_ref = Organizations.ID)"+
                      " where (Organizations.INN  "+ ИНН +") and (Organizations.INN20 = '"+ Данные.Поле('ОргКПП').КакСтрока +
                      "') and (Organizations.Name = '"+ Имя +"') and (Org_Accounts.ACC = '"+ Данные.Поле('СчетПлат').КакСтрока +"')}";
      Счета.Запрос := ТекстЗапроса;
      Счета.Открыть;
      Счета.ВНачало;
      пока (не Счета.ВКонце) и (Счета.ПолеПоИмени("Acc_Ref").какЦелое = 0) делать Счета.Следующая;
      Результат := Счета.ПолеПоИмени("Acc_Ref").какЦелое;
    обязательно
      УдалитьОбъект(Счета);
    конец;
  неудача
    Результат := -1;
  конец;
конец;

// по инн, кпп и наименованию счета - получить ссылку на него
функция ПолучитьСсылкуНаСчет(ИНН, КПП, ИмяСчета : Строка): целое;
переменные
  Счета : СтатическиеДанные;
  ТекстЗапроса: Строка;
начало
  если УбратьПробелы(ИНН) = '' тогда
    результат := -1
  иначе
  Попытка
    Счета := СоздатьСтатическиеДанные;
    попытка
      Счета.СоединитьБД;               // подключиться к текущей базе данных
      ТекстЗапроса := '[PumpData]'+
                      '{Select Org_Accounts.ID Acc_Ref, Organizations.RCOrg RCOrg from Organizations left join Org_Accounts on (Org_Accounts.Org_ref = Organizations.ID)'+
                      ' where (Organizations.INN = "'+ ИНН +'")';
      если КПП &lt;&gt; '' тогда
        ТекстЗапроса := ТекстЗапроса+' and (Organizations.INN20 = "'+ КПП +'")'
      иначе
        ТекстЗапроса := ТекстЗапроса+' and ((Organizations.INN20 = "")or(Organizations.INN20 is null))';
      если ИмяСчета &lt;&gt; '' тогда
        ТекстЗапроса := ТекстЗапроса+' and (Upper(Org_Accounts.Acc) = @AccName)'
      иначе
        ТекстЗапроса := ТекстЗапроса+' and ((Org_Accounts.Acc = "")or(Org_Accounts.Acc is null))';
      Счета.Запрос := ТекстЗапроса+'}';
      Счета.Параметр("AccName") := '"'+Прописные(ИмяСчета)+'"';                                
      Счета.Открыть;
      если (Счета.RecordCount = 0) и (КПП = '') тогда начало
        ТекстЗапроса := '[PumpData]'+
                        '{Select Org_Accounts.ID Acc_Ref, Organizations.RCOrg RCOrg from Organizations left join Org_Accounts on (Org_Accounts.Org_ref = Organizations.ID)'+
                        ' where (Organizations.INN = "'+ ИНН +'")';
        если ИмяСчета &lt;&gt; '' тогда
          ТекстЗапроса := ТекстЗапроса+' and (Upper(Org_Accounts.Acc) = @AccName)'
        иначе
          ТекстЗапроса := ТекстЗапроса+' and ((Org_Accounts.Acc = "")or(Org_Accounts.Acc is null))';
        Счета.Запрос := ТекстЗапроса+'}';
        Счета.Параметр("AccName") := '"'+Прописные(ИмяСчета)+'"';
        Счета.Закрыть;                                
        Счета.Открыть;
      конец;
      Счета.Индекс := "RCOrg";
      Счета.ВНачало;
      если Счета.RecordCount = 0
        тогда  Результат := -1
        иначе  Результат := Счета.ПолеПоИмени("Acc_Ref").какЦелое;
    обязательно
      УдалитьОбъект(Счета);
    конец;
  неудача
    Результат := -1;
  конец;    
конец;

функция ПолучитьСсылкуНаБюджет: целое;
переменные
  ссБЮджеты: СтатическиеДанные;
начало
  ссБЮджеты := СоздатьСтатическиеДанные;
  ссБюджеты.СоединитьБД;
  ссБЮджеты.Запрос := "[PUMPDATA] {Select id from Budgets_s where year = 2010}";
  ссБЮджеты.Открыть;
  ссБюджеты.Вначало;
  результат := ссБюджеты.Поле('id').КакЦелое;
  УдалитьОбъект(ссБЮджеты);
конец;

функция СформироватьМерДок(Данные: СтатическиеДанные): целое;
переменные
  ссМердок: СтатическиеДанные;
  КодДокумента: Целое;
начало
  ссМердок := СоздатьСтатическиеДанные;
  ссМердок.СоединитьБД;
  ссМердок.Запрос := ЗапросМерДок;
  ссМердок.Открыть;
  ссМердок.Вставить;
  КодДокумента := ГенерироватьДиап('G_Shared',1);
  ЗаполнитьПоМаппингу(Данные,ссМердок,ВернутьМаппингМерДок);
  ссМердок.Поле('id').КакСтрока := КодДокумента;
  ссМердок.Сохранить;
  ссМердок.СохранитьИзменения;
  результат := КодДокумента;
конец;

функция получитьссылкунакд(кд: Строка): целое;
переменные
сскд : СтатическиеДанные;
начало
  ссКд:= СоздатьСтатическиеДанные;
  ссКд.СоединитьБД;
  ссКд.Запрос := "[PumpData] {Select id from kd where (KDValue = '" + кд +"')" + "ORDER by BudgetRef}";
  ссКД.Открыть;
  ссКД.ВНачало;
  результат := ссКД.Поле('id').КакЦелое;
  УдалитьОбъект(ссКД);
конец;

функция ВставитьЗагВыписки(ссДоходы: СтатическиеДанные): целое;
переменные
  ссВыписка: СтатическиеДанные;
начало
  ссВыписка:= СоздатьСтатическиеДанные;
  ссВЫписка.СоединитьБД;
  ссВыписка.Запрос := ЗапросЗагВыписки;
  ссВЫписка.Открыть;
  ссВыписка.Вставить;
  ссВЫписка.Поле('id').КакЦелое := ГенерироватьДиап('G_Shared',1);
  результат := ссВЫписка.Поле('id').КакЦелое;
  ссВыписка.Поле('BuildDate').КакЦелое := 20100101;
  ссВыписка.Поле('AcceptDate').КакЦелое := 20100101;
  ссВыписка.Поле('BudgetRef').КакЦелое := ПолучитьСсылкуНаБюджет;
  ссВыписка.Поле('INCACCOUNT').КакЦелое := ПолучитьСсылкуНаСчет(ссДоходы.Поле('РС_ОргИНН').КакСтрока, ссДоходы.Поле('РС_ОргКПП').КакСтрока, ссДоходы.Поле('РСФО_Имя').КакСтрока);
  ссВЫписка.Поле('progindex').какцелое := 45;
  ссВыписка.Сохранить;
  ссВыписка.СохранитьИзменения;
  УдалитьОбъект(ссВыписка);
конец;

 
функция ВставитьНевыясненные(Данные: СтатическиеДанные; ИндексыДанных : целое): целое;
переменные
  ДанныеВставка, ДанныеОргПлат, ДанныеБюджОрг: СтатическиеДанные;
  КодДокумента, КодДохода, Счет: целое;
начало
  попытка
  
  КодДохода := ПолучитьСсылкунаКД(Данные.Поле('КодДохода').КакСтрока);
  ДанныеВставка := СоздатьСтатическиеДанные;
  ДанныеВставка.СоединитьБД;
  если ИндексыДанных = к_Невыясненные тогда
    ДанныеВставка.Запрос := ЗапросНевыясненных
  иначе
    ДанныеВставка.Запрос := ЗапросДетальВыписки;
  ДанныеВставка.Открыть;
  ДанныеВставка.Вставить;
  КодДокумента := ГенерироватьДиап("g_Shared", 1);
  ДанныеВставка.Поле("ID").КакЦелое  := КодДокумента;
  Если не Данные.Поле('ЭлНомерДокумента').Пустое тогда
    ДанныеВставка.Поле("ElDocRef").КакЦелое  := Данные.Поле('ЭлДокСсылка').КакЦелое;

  Данные.Поле('КодДохода').КакЦелое := КодДохода;
  Если ИндексыДанных=к_Выписка тогда
    ЗаполнитьПоМаппингу(Данные,ДанныеВставка,ВернутьМаппингНевыясненных + ',КодЗаписи=RecordIndex')
  иначе
    ЗаполнитьПоМаппингу(Данные,ДанныеВставка,ВернутьМаппингНевыясненных);  
  если ИндексыДанных = к_Невыясненные тогда
  начало
    ДанныеВставка.Поле('idate').КакЦелое := 20100101;
    ДанныеВставка.Поле('DocDate').КакЦелое := 20100101;
    Счет := ПолучитьСсылкуНаСчетПлательщика(Данные);
    если Счет &gt; 0 тогда ДанныеВставка.Поле('ACC_REF').КакЦелое := Счет;
    ДанныеВставка.Поле('INCACCOUNT').КакЦелое := ПолучитьСсылкуНаСчет(Данные.Поле('РС_ОргИНН').КакСтрока, Данные.Поле('РС_ОргКПП').КакСтрока, Данные.Поле('РСФО').КакСтрока);
  конец;
  ДанныеВставка.Сохранить;
  ДанныеВставка.СохранитьИзменения;
  результат := КодДокумента;
  обязательно
    УдалитьОбъект(ДанныеВставка,ДанныеОргПлат,ДанныеБюджОрг);
  конец;
конец;

функция ПроверкаПереносимыхДанных(Данные : СтатическиеДанные; Коллекция : IVariables) : целое;
переменные
  ДК : ДанныеКлассификатора;
  НетКласс : целое;
начало
  НетКласс := 0;
  ДК := ДанныеКлассификатора;
  если не ДК.ПроверитьКод(тк_КД,ПолучитьСсылкунаКД(Данные.Поле('КодДохода').КакСтрока)) тогда
  начало
    если (Позиция(Данные.Поле('КодДохода').КакСтрока,Коллекция.Значение("КодДохода"))) = 0 тогда
    начало 
      ВывестиВОкно("Отсутствует классификатор Код Дохода с значением " + Данные.Поле("КодДохода").КакСтрока);
      Коллекция.Значение("КодДохода") := Коллекция.Значение("КодДохода") +','+ Данные.Поле("КодДохода").КакСтрока;
    конец;
    НетКласс := НетКласс + 1;  
  конец;
  если не ДК.ПроверитьКод(тк_Мероприятие,Данные.Поле("Мероприятие").КакСтрока) тогда
  начало
    если (Позиция(Данные.Поле('Мероприятие').КакСтрока,Коллекция.Значение("Мероприятие"))) = 0 тогда
    начало
      ВывестиВОкно("Отсутствует классификатор Мероприятие с значением " + Данные.Поле("Мероприятие").КакСтрока);
      Коллекция.Значение("Мероприятие") := Коллекция.Значение("Мероприятие") +','+ Данные.Поле("Мероприятие").КакСтрока;
    конец;  
    НетКласс := НетКласс + 1;  
  конец;
  если не ДК.ПроверитьКод(тк_ЛицСчет,Данные.Поле("ЛицевойСчет").КакСтрока) тогда
  начало
    если (Позиция(Данные.Поле('ЛицевойСчет').КакСтрока,Коллекция.Значение("ЛицевойСчет"))) = 0 тогда
    начало
      ВывестиВОкно("Отсутствует классификатор ЛицевойСчет с значением " + Данные.Поле("ЛицевойСчет").КакСтрока);
      Коллекция.Значение("ЛицевойСчет") := Коллекция.Значение("ЛицевойСчет") +','+ Данные.Поле("ЛицевойСчет").КакСтрока;
    конец;  
    НетКласс := НетКласс + 1;  
  конец; 
  если не ДК.ПроверитьКод(тк_ТипДокумента,Данные.Поле("ТипДокумента").КакСтрока) тогда
  начало
    если (Позиция(Данные.Поле('ТипДокумента').КакСтрока,Коллекция.Значение("ТипДокумента"))) = 0 тогда
    начало
      ВывестиВОкно("Отсутствует классификатор ТипДокумента с значением " + Данные.Поле("ТипДокумента").КакСтрока);
      Коллекция.Значение("ТипДокумента") := Коллекция.Значение("ТипДокумента") +','+ Данные.Поле("ТипДокумента").КакСтрока;
    конец;  
    НетКласс := НетКласс + 1;  
  конец;  
  если не ДК.ПроверитьКод(тк_СредстваБюджета,Данные.Поле("ТипСредств").КакСтрока) тогда
  начало
    если (Позиция(Данные.Поле('ТипСредств').КакСтрока,Коллекция.Значение("ТипСредств"))) = 0 тогда
    начало
      ВывестиВОкно("Отсутствует классификатор СредстваБюджета с значением " + Данные.Поле("ТипСредств").КакСтрока);
      Коллекция.Значение("ТипСредств") := Коллекция.Значение("ТипСредств") +','+ Данные.Поле("ТипСредств").КакСтрока;
    конец;  
    НетКласс := НетКласс + 1;  
  конец;    
  если не ДК.ПроверитьКод(тк_Район,Данные.Поле("Регион").КакСтрока) тогда
  начало
    если (Позиция(Данные.Поле('Регион').КакСтрока,Коллекция.Значение("Регион"))) = 0 тогда
    начало
      ВывестиВОкно("Отсутствует классификатор Район с значением " + Данные.Поле("Регион").КакСтрока);
      Коллекция.Значение("Регион") := Коллекция.Значение("Регион") +','+ Данные.Поле("Регион").КакСтрока;
    конец;  
    НетКласс := НетКласс + 1;  
  конец; 
  если не ДК.ПроверитьКод(тк_Операция,Данные.Поле("БухОперация").КакСтрока) тогда
  начало
    если (Позиция(Данные.Поле('БухОперация').КакСтрока,Коллекция.Значение("БухОперация"))) = 0 тогда
    начало
      ВывестиВОкно("Отсутствует классификатор Операция с значением " + Данные.Поле("БухОперация").КакСтрока);
      Коллекция.Значение("БухОперация") := Коллекция.Значение("БухОперация") +','+ Данные.Поле("БухОперация").КакСтрока;
    конец;  
    НетКласс := НетКласс + 1;  
  конец; 
  если НайтиОрганизацию(Данные) = -1 тогда  
  начало
    если (Позиция(Данные.Поле('ОргИмя').КакСтрока +' '+ Данные.Поле('ОргИНН').КакСтрока +' '+ Данные.Поле('ОргКПП').КакСтрока, 
            Коллекция.Значение("Организация"))) = 0 тогда
    начало
      ВывестиВОкно("Отсутствует классификатор Организация со значениями: ИНН: " + Данные.Поле('ОргИНН').КакСтрока +
        '; КПП: ' + Данные.Поле('ОргКПП').КакСтрока +
        '; Имя: ' + Данные.Поле('ОргИмя').КакСтрока +
        '; Вид: ' + Данные.Поле('ОргВид').КакСтрока);
      Коллекция.Значение("Организация") := Коллекция.Значение("Организация") +','+ 
        Данные.Поле('ОргИмя').КакСтрока +' '+ Данные.Поле('ОргИНН').КакСтрока +' '+ Данные.Поле('ОргКПП').КакСтрока;
    конец; 
    НетКласс := НетКласс + 1;  
  конец; 

  результат := НетКласс;
конец;

 
переменные
  Данные: СтатическиеДанные;
  имя: строка;
  количество, колтек, РекордИндекс, ПослЗнач, КолЗагВыписки, КолДетВыписки, КолЗагНевыясненных, КолМерДок, колОшибок, сч: целое;
  прогресс: IProgress;
  ДК : ДанныеКлассификатора;
  Коллекция : IVariables;
  Результаты : строка;
начало
  Коллекция := CreateVariables;
  КолЗагВыписки := 0;
  КолДетВыписки := 0;
  КолЗагНевыясненных := 0;
  КолМерДок := 0;
  Имя := Реестр.Узел('Бюджет\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Настройки').Значение('ИмяФайлаИмпорта').КакСтрока;
  если Имя = '' тогда
  начало
    Имя := "c:\2009.xml";
  конец;
    
  диалог.очистить;
  Диалог.заголовок:=" Загрузить бюджетные обязательства из файла ";
  диалог.добавить("Имя файла", "файл", 0, файлы,"");  // задать файл через окно открытия файла
  диалог.Значение('Файл') := Имя;
  Если не диалог.Выполнить тогда выход;
  Имя := диалог.Значение('Файл');
  если не ФайлСуществует(Имя) тогда 
    ВызватьОшибку('Файл "'+Имя+'" не найден!');
  Реестр.Узел('Бюджет\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Настройки').Значение('ИмяФайлаИмпорта').КакСтрока := Имя;       
  Прогресс := Progress;
  Прогресс.BeginProgress;
  ДанныеОрганизации.БыстроеОбновление;
  попытка
  ОткрытьТранзакцию;
  ДК := ДанныеКлассификатора;
  Данные := ПолучитьСтатиксетИзФайла(имя);
  // выявление ошибок
  Данные.ВНачало;
  колОшибок := 0;
  сч := 0;
  пока  не Данные.ВКонце   делать
  начало
    колОшибок := колОшибок + ПроверкаПереносимыхДанных(данные,Коллекция);  
    Данные.Следующая;
    сч := сч +1;
  конец;
  если колОшибок &lt;&gt; 0 тогда 
  начало
    Сообщение('При переносе бюджетных обязательств обнаружено ' + ЦелоеВСтроку(колОшибок) + ' ошибок. Подробности в протоколе расчетов',Сообщение_Ошибка);
    Прогресс.EndProgress;
    выход;
  конец;  
  ОткрытьТранзакцию;
  Данные.Фильтр := 'not (ЭлНомерДокумента is null)';
  Данные.IndexFieldNames := 'ЭлНомерДокумента';
  Данные.Вначало;
  ПослЗнач := 0;
  
  Количество := Данные.RecordCount;
  колтек := Количество;
  Пока не данные.вконце делать
  начало
    если Данные.Поле('ЭлДокСсылка').КакЦелое &lt;&gt; ПослЗнач тогда
    начало
      Данные.Поле('ЭлДокСсылка').КакЦелое := СформироватьМерДок(Данные);
      КолМерДок := КолМердок + 1;
    конец
    иначе
      Данные.Поле('ЭлДокСсылка').КакЦелое := ПослЗнач;
    ПослЗнач := Данные.Поле('ЭлДокСсылка').КакЦелое;
    Прогресс.SetMessage('Этап 1. Вставка записей в таблицу эл. документов. Обработано ' + ЦелоеВСтроку(Количество - КолТек) + ' из ' + целоеВСтроку(Количество));
    Прогресс.SetProgress(100 * (Количество - КолТек)/Количество );  
    Данные.Следующая;
    колтек := колтек - 1;
  конец;
  данные.ВНачало;

  Данные.IndexFieldNames := 'КодЗаписи';
  данные.фильтр := 'индексыданных=41';
  данные.Filtered := истина;
  Количество := Данные.RecordCount;
  колтек := Количество;
//  Обрабатываем невыясненные
  Данные.Вначало;
  пока не Данные.ВКонце делать
  начало
    Прогресс.SetMessage('Этап 2. Вставка записей в таблицу интерфейса "Невыясненные поступления". Обработано ' + ЦелоеВСтроку(Количество - КолТек) + ' из ' + целоеВСтроку(Количество));
    Прогресс.SetProgress(100 * (Количество - КолТек)/Количество ); 
    ВставитьНевыясненные(Данные,к_Невыясненные);
    КолЗагНевыясненных := КолЗагНевыясненных + 1;                                                   
    Данные.Следующая;
    колтек := колтек - 1;    
  конец;
  Данные.Очистить;
  Данные.Фильтр := '';
  Количество := Данные.RecordCount;
  колтек := Количество;
//  Обрабатываем выписку  
  пока Данные.ЧислоЗаписей &gt; 0 делать
  начало
    Прогресс.SetMessage('Этап 2. Вставка записей в таблицу интерфейса "Выписка из банка". Обработано ' + ЦелоеВСтроку(Количество - КолТек) + ' из ' + целоеВСтроку(Количество));
    Прогресс.SetProgress(100 * (Количество - КолТек)/Количество ); 
    РекордИндекс := ВставитьЗагВыписки(Данные);
    КолЗагВыписки := КолЗагВыписки + 1;
    Данные.Фильтр := 'КодДокумента='+ Данные.Поле('КодДокумента').КакСтрока;
    Данные.Вначало;
    Пока не Данные.Вконце делать
    начало
      Данные.Поле('КодЗаписи').КакЦелое := РекордИндекс;
      ВставитьНевыясненные(Данные,к_Выписка);
      КолДетВыписки := КолДетВыписки + 1;
      Данные.Следующая;
      колтек := колтек - 1;    
    конец;
    Данные.Очистить;
    Данные.Фильтр := '';                                            
  конец;  
    ЗакрытьТранзакцию;
    Прогресс.EndProgress;
    Результаты := 'Импорт завершен успешно!'+ nl + 
    'Количество импортированных записей: ' + nl + 
    'электронных документов - ' + целоевстроку(КолМерДок) + nl + 
    'заголовков невыясненных поступлений - ' + целоевстроку(КолЗагНевыясненных) + nl +
    'заголовков выписки из банка - ' + целоевстроку(КолЗагВыписки) + nl + 
    'детализации выписки из банка - ' + целоевстроку(КолДетВыписки); 
    Сообщение(Результаты);
    ВывестиВОкно(Результаты);
    ВывестиВОкно('*********************************************************************' + nl +
    '*********************************************************************');
  неудача
    ОтменитьТранзакцию;
    Прогресс.EndProgress;
    УдалитьОбъект(Данные);
    ВызватьОшибку(последняяошибка);
  конец;  
конец.


</value>
    <param value="Код программы" type="3" name="Export">SPACE-X7\kan\15.07.2010 10:11:46</param>
    <param value="Код программы" type="3" name="version">36.041.00</param>
    <param value="Код программы" type="3" name="crc32">$3143B4D7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Действия\Инициализация">
    <value type="0" name="Library" />
    <value type="3" name="Заголовок">Добавление специального поля</value>
    <value type="7" name="Код программы">///////////////////////////////////////////////////////////////////
//Добавление при инициализации формы полей контроля и причины непрохождения контроля
// ( добавляет поля и колонки специального типа в заголовок и детализацию  
//  для отображения результатов выполнения бюджетного контроля)
//Добавление полей при создании сетки для предварительного контроля 
///////////////////////////////////////////////////////////////////

включить '\Библиотеки\LibRu.lib';
включить 'Project';
включить "\библиотеки\Control.lib";
переменные
  ф: ФормаВвода;
  Мастер: СтатическиеДанные;
  МС: СеткаДанных;
начало
  ф := ПолучитьФормуВвода;
  Мастер := ф.Заголовки.Таблица;
  МС := ф.Заголовки.Сетка;
  Мастер.Закрыть;
  Мастер.ДобавитьЦелоеПоле('Control');
  МС.ДобавитьКолонку('Control', 'Control', '', Колонка_ИзображениеПоИндексу);
  МС.КолонкаПоИмени("Control").Видима:=Да;
  Мастер.ДобавитьЦелоеПоле('ControlEx');
  МС.ДобавитьКолонку('ControlEx', 'ControlEx', '', Колонка_ИзображениеПоИндексу);
  МС.КолонкаПоИмени("ControlEx").Видима:=Да;
  
  Мастер.ДобавитьСтроковоеПоле(ControlResultHint,255).DefProps('Name') := ControlResultHint;  
  Мастер.ДобавитьЦелоеПоле(ControlResult).DefProps('Name') := ControlResult;
  МС.ДобавитьКолонку(ControlResult, ControlResult, '', Колонка_ИзображениеПоИндексу);
  МС.КолонкаПоИмени(ControlResult).Видима := Да;
  МС.КолонкаПоИмени(ControlResult).DefProps('HintFieldName') := ControlResultHint;
 
 // Мастер.ДобавитьСтроковоеПоле('ControlRC', 75);
 // МС.ДобавитьКолонку('ControlRC', 'ControlRC', 'Выяснение');
 // МС.КолонкаПоИмени("ControlRC").Ширина := 200;
 // МС.КолонкаПоИмени("ControlRC").ТолькоДляЧтения := Да;
 // МС.КолонкаПоИмени("ControlRC").Видима:=Да;
 
конец.
</value>
    <param value="Код программы" type="3" name="Export">ERSHOV\ershov\22.05.2009 17:14:46</param>
    <param value="Library" type="3" name="version">36.041.00</param>
    <param value="Library" type="3" name="crc32">$00000000</param>
    <param value="Заголовок" type="3" name="version">36.041.00</param>
    <param value="Заголовок" type="3" name="crc32">$44AE28E1</param>
    <param value="Код программы" type="3" name="version">36.041.00</param>
    <param value="Код программы" type="3" name="crc32">$DCC47F11</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Действия\Проверка">
    <value type="3" name="Заголовок">Проверка на соответствие детали и мастера</value>
    <value type="7" name="Код программы">включить 'project';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';


Переменные
 Ф:ФормаВвода;
 Мастер,Деталь,Данные:СтатическиеДанные;
 СуммаМастер,СуммаДеталь:дробное;
 Запрос,Строка_список:строка;
 БылВозврат,ВНачало:целое;
начало
  ф:= ПолучитьФормуВвода;
  Вначало:=1;
  Данные:=СоздатьСтатическиеДанные;
  Мастер:=ф.Заголовки.Таблица;
  Если Мастер.Active=0 тогда 
   вызватьошибку("Нельзя выполнять эту операцию на неактивированной таблице !!!");
  Если Ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда  
  Данные:=Ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки;
  Деталь:=СоздатьСтатическиеДанные;
  Деталь.СоединитьБД;
  Запрос:="[PumpData] "+
  "{select                     "+
    " inc.ID, inc.IDate, inc.Credit, inc.Debit, inc.KD, inc.SubKD, inc.Org_ref,"+ 
"     o.INN, o.INN20, o.Name, inc.AccountIndex, inc.RegionCLS, inc.GosNI,"+ 
"     inc.DocType,inc.CreaterUser, inc.ProgIndex, inc.RecordIndex, inc.IncAccount,"+ 
"     inc.BudgetRef, inc.DocNum, inc.DocCount, inc.RejectCLS, inc.CreateDate,"+ 
"     inc.UpdaterUser, inc.UpdateDate, inc.Note,oa.ACC DFAccountName"+
" from"+
"    Incomes32 inc"+ 
"    left join Organizations o on (inc.Org_Ref = o.id) "+
"    left join Org_Accounts oa on (inc.IncAccount=oa.ID) "+
" where "+
"   (inc.ProgIndex = 42) and (inc.RecordIndex = @MasterID)"+
"   and (inc.AccountIndex = 0)}";
    //Если активна детализация - сообщение
    если   Ф.АктивнаяДетализация&lt;&gt;-1 тогда сообщение("Перейдите к заголовку!!!")
    иначе начало
 попытка
     Мастер.ЗапретитьПрорисовку;
    //Работаем с таблицей заголовков
      // Если нет выделенных строк , то спрашиваем по 
      // всем  или только по текущей записи проводить контроль 
      если не Ф.Заголовки.Сетка.ЕстьВыделенныеСтроки 
        тогда начало
          Диалог.Очистить;
          Строка_Список:="Текущий документ"+#13#10+"Все документы";
          Диалог.Заголовок:="Контроль невыясненных";
          Диалог.Добавить("Проверять","Проверять",0,список,"",строка_список);
          Диалог.Значение("Проверять"):="Все документы";
          Данные.ПрисвоитьПоля(Мастер);
          Данные.Открыть;
          если Диалог.Выполнить
            тогда 
              если  Диалог.Значение("Проверять")="Все документы"
                 тогда Данные.Pumpdata(Мастер,"Credit=credit,debit=debit")
                 иначе Данные.СкопироватьЗапись(1,Мастер);
        конец;
      Данные.Вначало;  
      Пока не  Данные.ВКонце делать
        начало
          СуммаМастер:=Данные.ПолеПоИмени("Credit").КакДробное;
          Деталь.Параметр("MasterID"):=Данные.ПолеПоИмени("id").КакЦелое;
          СуммаДеталь:=0;
          Деталь.Запрос:=Запрос;
          Деталь.Открыть;
          Деталь.ВНачало;
          БылВозврат:=0;
            пока не Деталь.ВКонце делать 
              начало
                если деталь.ПолеПоИмени("RejectCLS").IsNull тогда
                  СуммаДеталь:=СуммаДеталь+мод(Деталь.ПолеПоИмени("Credit").КакДробное)+Деталь.ПолеПоИмени("debit").КакДробное;
                деталь.Следующая;
                Если Деталь.ПолеПоИмени("debit").КакДробное&gt;0.0005 и БылВозврат=0 тогда БылВозврат:=1;
                Если Деталь.ПолеПоИмени("Credit").КакДробное&lt;-0.0005 и БылВозврат=0 тогда БылВозврат:=1;           
              конец;
         Мастер.Locate("id",Данные.ПолеПоИмени("id").КакЦелое,1); 
         //Остались невысненные средства             
         Если СуммаДеталь&lt;&gt;СуммаМастер тогда 
           начало
             Мастер.ПолеПоИмени("ControlResult").КакЦелое  := 10;// Красный 
             Мастер.ПолеПоИмени("ControlResultHint").КакСтрока  := "Невыяснен";
             Мастер.ПолеПоИмени("ControlNote").КакСтрока:="Невыяснен";
           конец  
           //Документы , по которым всё выяснено
           иначе если СуммаДеталь=СуммаМастер тогда
           начало
             Мастер.ПолеПоИмени("ControlResult").КакЦелое  := 8;// Зелёный
             Мастер.ПолеПоИмени("ControlResultHint").КакСтрока  := "Выяснен";
             Мастер.ПолеПоИмени("ControlNote").КакСтрока:="Выяснен";
           конец;
         Если БылВозврат=1 
           //Документы, по которым всё выяснено , но были возвраты 
           тогда начало
             Мастер.ПолеПоИмени("ControlResult").КакЦелое  := 9;// Жёлтый
             Мастер.ПолеПоИмени("ControlResultHint").КакСтрока  := Мастер.ПолеПоИмени("ControlNote").КакСтрока+",были возвраты или сторнирование";
             Мастер.ПолеПоИмени("ControlNote").КакСтрока:=Мастер.ПолеПоИмени("ControlNote").КакСтрока+",были возвраты или сторнирование";
           конец;  
         Деталь.Закрыть;
         Данные.Следующая;   
       конец;
  обязательно 
 //    Мастер.ВНачало;  
     Мастер.РазрешитьПрорисовку;
     УдалитьОбъект("Данные");
     УдалитьОбъект("Мастер");
     УдалитьОбъект("Деталь");          
  конец;
 конец;      
конец.
</value>
    <param value="Код программы" type="3" name="Export">ERSHOV\ershov\22.05.2009 17:14:53</param>
    <param value="Заголовок" type="3" name="version">36.041.00</param>
    <param value="Заголовок" type="3" name="crc32">$71A65A82</param>
    <param value="Код программы" type="3" name="version">36.041.00</param>
    <param value="Код программы" type="3" name="crc32">$4BB86653</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Действия\СоздВозвратВыяснение">
    <value type="7" name="Код программы">
включить 'project' ;
включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\AblTools.lib";
включить "\Библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить 'Бюджет\Ресурсы\Библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\Библиотеки\DataTools.lib';
включить 'Бюджет\Ресурсы\Библиотеки\OutPut.lib';

константы  
  тдПлатежка = 1010;

переменные
  Ф: ФормаВвода;
  возвратиливыяснение, сБюджКДНев, сВнебюджКДНев, сБюджКДНевО, сВнебюджКДНевО :строка;
  сетка:сеткаданных;
  Прогресс : IProgress;
  Статиксет1,Статиксет2:СтатическиеДанные;
  числозаписей, КДСуществует : целое; 
  дСумма : дробное;
  пКД : поле;
  датаДокумента: дробное;
  
функция СоотвествуетМаске(Значение, Маска : строка) : целое;
переменные 
  сч : целое;
начало
  Результат := Истина;
  если Длина(Значение) &lt;&gt; Длина(Маска) тогда
    Результат := Ложь;
  от сч := 1 до длина(Значение) делать
  начало
    если (Подстрока(Значение, сч, 1) &lt;&gt; Подстрока(Маска, сч, 1)) и (Подстрока(Маска, сч, 1) &lt;&gt; "?")  тогда
      Результат := Ложь;
  конец;  
конец;

// проверка на соотвествие константам невыясненных
функция ПроверитьКД;
начало
  если не (СоотвествуетМаске(пКД.КакСтрока,сБюджКДНев) или СоотвествуетМаске(пКД.КакСтрока,сВнебюджКДНев)) тогда
  начало
    если длина(сВнебюджКДНев)=20 тогда
      ВызватьОшибку(Формат("Некорректные записи, код дохода не соотвествует невыясненным: Значение классификатора должно быть вида %s или %s",сБюджКДНевО,сВнебюджКДНевО))
    иначе
      ВызватьОшибку(Формат("Некорректные записи, код дохода не соотвествует невыясненным: Значение классификатора должно быть вида %s",сБюджКДНевО))      
  конец;  
конец;
 
функция вставитьзаписьсторнирование;
начало
  СтатикСет2.Открыть;
  Статиксет2.Вставить;
  Статиксет2.Полепоимени('BUDGETREF').какстрока:= Статиксет1.полепоимени('BUDGETREF').какцелое;
  Статиксет2.Полепоимени('RecordIndex').какстрока:= Статиксет1.полепоимени('ID').какцелое;
  Статиксет2.Полепоимени('iDate').какстрока:= датаДокумента;//ОбычнаяДатаВРасшир(ТекущаяДата);
  Статиксет2.Полепоимени('Docdate').какстрока:= датаДокумента;//ОбычнаяДатаВРасшир(ТекущаяДата);
  Статиксет2.Полепоимени('subKD').какстрока:=Статиксет1.полепоимени('subKD').какстрока;
  Статиксет2.Полепоимени('fact').какстрока:=Статиксет1.полепоимени('fact').какстрока;
  Статиксет2.Полепоимени('org_ref').какстрока:=Статиксет1.полепоимени('org_ref').какстрока;
  Статиксет2.Полепоимени('RegionCLS').какстрока:=Статиксет1.полепоимени('RegionCLS').какстрока;
  Статиксет2.Полепоимени('GOSNI').какстрока:=Статиксет1.полепоимени('GOSNI').какстрока;
  Статиксет2.Полепоимени('BuhOperationCLS').какстрока:=0;
  Статиксет2.Полепоимени('Facialacc_CLS').какстрока:=Статиксет1.полепоимени('Facialacc_CLS').какстрока;
  Статиксет2.Полепоимени('MeansType').какстрока:=Статиксет1.полепоимени('MeansType').какстрока;
  Статиксет2.Полепоимени('DOCTYPE').какстрока:=Статиксет1.полепоимени('DOCTYPE').какстрока;
  Статиксет2.Полепоимени('DirectionCls').какстрока:=Статиксет1.полепоимени('DirectionCls').какстрока;
  если Статиксет1.ЧислоЗаписей &gt; 1 тогда
    Статиксет2.Полепоимени('Credit').какстрока:='-'+Статиксет1.полепоимени('credit').какстрока
  иначе  
    Статиксет2.Полепоимени('Credit').какстрока:='-'+диалог.значение('Сумма');  
  Статиксет2.Полепоимени('KD').какстрока:=Статиксет1.полепоимени('KD').какстрока;
  Статиксет2.Полепоимени('Accountref').какстрока:=Статиксет1.полепоимени('Acc_ref').какстрока;
  Статиксет2.Полепоимени('IncAccount').какцелое:=Статиксет1.полепоимени('IncAccount').какцелое;        
  Статиксет2.Полепоимени('TransfertCls').какстрока:=Статиксет1.полепоимени('TransfertCls').какстрока;          
  Статиксет2.Сохранить;
  Статиксет2.СохранитьИзменения;
конец;

функция вставитьзаписьвыяснение;
начало
  СтатикСет2.Открыть;
  Статиксет2.Вставить;
  Статиксет2.Полепоимени('BUDGETREF').какстрока:= Статиксет1.полепоимени('BUDGETREF').какцелое;
  Статиксет2.Полепоимени('RecordIndex').какстрока:= Статиксет1.полепоимени('ID').какцелое;
  Статиксет2.Полепоимени('iDate').какстрока:= датаДокумента;//ОбычнаяДатаВРасшир(ТекущаяДата);
  Статиксет2.Полепоимени('Docdate').какстрока:= датаДокумента;//ОбычнаяДатаВРасшир(ТекущаяДата);
  Статиксет2.Полепоимени('subKD').какстрока:=Статиксет1.полепоимени('subKD').какстрока;
  Статиксет2.Полепоимени('fact').какстрока:=Статиксет1.полепоимени('fact').какстрока;
  Статиксет2.Полепоимени('org_ref').какстрока:=Статиксет1.полепоимени('org_ref').какстрока;
  Статиксет2.Полепоимени('RegionCLS').какстрока:=Статиксет1.полепоимени('RegionCLS').какстрока;
  Статиксет2.Полепоимени('GOSNI').какстрока:=Статиксет1.полепоимени('GOSNI').какстрока;
  если Статиксет1.ЧислоЗаписей &gt; 1 тогда
    Статиксет2.Полепоимени('Credit').какстрока:=Статиксет1.полепоимени('credit').какстрока
  иначе
    Статиксет2.Полепоимени('Credit').какстрока:=диалог.значение('Сумма');
  Статиксет2.Полепоимени('KD').какцелое:=Диалог.Значение(целоевстроку(тк_кд)+'_ref');
  Статиксет2.Полепоимени('BuhOperationCLS').какцелое:=0;
  Статиксет2.Полепоимени('Facialacc_CLS').какстрока:=Статиксет1.полепоимени('Facialacc_CLS').какстрока;
  Статиксет2.Полепоимени('MeansType').какстрока:=Статиксет1.полепоимени('MeansType').какстрока;
  Статиксет2.Полепоимени('DOCTYPE').какстрока:=Статиксет1.полепоимени('DOCTYPE').какстрока;
  Статиксет2.Полепоимени('Accountref').какстрока:=Статиксет1.полепоимени('Acc_ref').какстрока;
  Статиксет2.Полепоимени('IncAccount').какцелое:=Статиксет1.полепоимени('IncAccount').какцелое;
  Статиксет2.Полепоимени('DirectionCls').какстрока:=Статиксет1.полепоимени('DirectionCls').какстрока;          
  Статиксет2.Полепоимени('TransfertCls').какстрока:=Статиксет1.полепоимени('TransfertCls').какстрока;          
  Статиксет2.Сохранить;
  Статиксет2.СохранитьИзменения;       
конец;

функция вставитьзаписьвозврат;
начало
  СтатикСет2.Открыть;
  Статиксет2.Вставить;
  Статиксет2.Полепоимени('BUDGETREF').какстрока:= Статиксет1.полепоимени('BUDGETREF').какцелое;
  Статиксет2.Полепоимени('RecordIndex').какстрока:= Статиксет1.полепоимени('ID').какцелое;
  Статиксет2.Полепоимени('Docdate').какстрока:= ДатаДокумента;//ОбычнаяДатаВРасшир(ТекущаяДата);  
  Статиксет2.Полепоимени('subKD').какстрока:=Статиксет1.полепоимени('subKD').какстрока;
  Статиксет2.Полепоимени('fact').какстрока:=Статиксет1.полепоимени('fact').какстрока;
  Статиксет2.Полепоимени('org_ref').какстрока:=Статиксет1.полепоимени('org_ref').какстрока;
  Статиксет2.Полепоимени('RegionCLS').какстрока:=Статиксет1.полепоимени('RegionCLS').какстрока;
  Статиксет2.Полепоимени('GOSNI').какстрока:=Статиксет1.полепоимени('GOSNI').какстрока;
  Статиксет2.Полепоимени('BuhOperationCLS').какстрока:=0;
  Статиксет2.Полепоимени('Facialacc_CLS').какстрока:=Статиксет1.полепоимени('Facialacc_CLS').какстрока;
  Статиксет2.Полепоимени('MeansType').какстрока:=Статиксет1.полепоимени('MeansType').какстрока;
  Статиксет2.Полепоимени('DOCTYPE').какцелое:= тдПлатежка;
  если Статиксет1.ЧислоЗаписей &gt; 1 тогда
    Статиксет2.Полепоимени('debit').какстрока:=Статиксет1.полепоимени('credit').какдробное
  иначе
    Статиксет2.Полепоимени('Debit').какстрока:=диалог.значение('Сумма');
  Статиксет2.Полепоимени('KD').какстрока:=Статиксет1.полепоимени('KD').какстрока;
  Статиксет2.Полепоимени('Accountref').какстрока:=Статиксет1.полепоимени('Acc_ref').какстрока;
  Статиксет2.Полепоимени('IncAccount').какцелое:=Статиксет1.полепоимени('IncAccount').какцелое;
  Статиксет2.Полепоимени('DirectionCls').какстрока:=Статиксет1.полепоимени('DirectionCls').какстрока;          
  Статиксет2.Полепоимени('TransfertCls').какстрока:=Статиксет1.полепоимени('TransfertCls').какстрока;          
  Статиксет2.Сохранить;
  Статиксет2.СохранитьИзменения;  
конец;


функция проверкапараметров:целое;
начало
  Результат:=0;
  Пока не Результат = 1 делать
  начало
    Если диалог.значение(тк_кд)='' тогда
    начало
      Сообщение('Код дохода должен быть введен!');
      если не диалог.выполнить тогда выход ;               
    конец
    иначе
    Результат:=1 ;
  конец;
конец;

начало
  числозаписей:=0;
  Прогресс:= Progress;
  Ф:=Получитьформуввода;
  Сетка:=Ф.Заголовки.Сетка;
  Если не сетка.Данные.Active тогда
  начало
    Сообщение('Нет выделенных записей для обработки!');
    Выход
  конец;
  если (Ф.ЕстьИзменения) или (Сетка.EditMode) или (Ф.Заголовки.Таблица.State = 2)  тогда 
    ВызватьОшибку("Сохраните изменения перед началом обработки записей!");
  если ф.АктивнаяДетализация &lt;&gt; -1 тогда
    ВызватьОшибку("Необходимо перейти в заголовок!");
  Статиксет1 := Сетка.ПолучитьВыделенныеСтроки;
  пКД := Статиксет1.ПолеПоИмени('KDValue');
  сБюджКДНевО := СтроковаяКонстанта(3,0);
  сБюджКДНев := ЗаменитьСтроку(сБюджКДНевО,"_","?");
  сВнебюджКДНевО := СтроковаяКонстанта(3,11);
  сВнебюджКДНев := ЗаменитьСтроку(сВнебюджКДНевО,"_","?");
  Статиксет2:=СоздатьСтатическиеДанные;
  Статиксет2.СоединитьБД;
  Статиксет2.Запрос:='[PumpData] {Select ID, IDATE, CREDIT, DEBIT, KD, SUBKD, ORG_REF, ACCOUNTINDEX, REGIONCLS, GOSNI,
  DOCTYPE, PROGINDEX, RECORDINDEX, INCACCOUNT, BUDGETREF,
  DOCNUM, NOTE, MEANSTYPE, FACIALACC_CLS, BuhOperationCls,Accountref, DOCDATE,
  FACT, RejectCLS, RejectCause, TaxNote, directioncls, TransfertCls from incomes32 inc where (1=1)}
  [InsertData] {Insert into incomes32 (ID, IDATE, CREDIT, DEBIT, KD, SUBKD, ORG_REF, ACCOUNTINDEX, REGIONCLS, GOSNI,
  DOCTYPE, PROGINDEX, RECORDINDEX, INCACCOUNT, BUDGETREF,
  DOCNUM, NOTE, MEANSTYPE, FACIALACC_CLS, BuhOperationCls,ACCountREF, DOCDATE,
  FACT, RejectCLS, RejectCause, TaxNote, directioncls, TransfertCls) values (@ID, @IDATE, @CREDIT, @DEBIT, @KD, @SUBKD, @ORG_REF, 0, @REGIONCLS, @GOSNI,
  @DOCTYPE, 42, @RECORDINDEX, @IncAccount, @BUDGETREF,
  ~DOCNUM, ~NOTE, @MEANSTYPE, @FACIALACC_CLS, @BuhOperationCls, @Accountref, @DOCDATE,
  @FACT, @rejectcls, @RejectCause, @TaxNote, @directioncls, @TransfertCls)}';
  Статиксет2.Открыть;

  Статиксет1.Фильтр := "ACC_REF is null";
  если Статиксет1.ЧислоЗаписей &lt;&gt; 0 тогда
    ВызватьОшибку(формат('Поле "Счет" должно быть заполнено.'));
  Статиксет1.Фильтр := "";

  Статиксет1.ВНачало;
  пока не Статиксет1.ВКонце делать
  начало
    Статиксет2.Фильтр := Формат("RecordIndex = %s",Статиксет1.ПолеПоИмени("ID").КакСтрока);
    дСумма := 0;
    Статиксет2.ВНачало;
    пока не Статиксет2.ВКонце делать
    начало
      если Статиксет2.ПолеПоИмени('RejectCLS').IsNull тогда
        дСумма := дСумма + Статиксет2.ПолеПоИмени('debit').КакДробное + мод(Статиксет2.ПолеПоИмени('credit').КакДробное);
      Статиксет2.Следующая;
    конец;
    если дСумма + 0.005&gt; Статиксет1.ПолеПоИмени('credit').КакДробное тогда
      ВызватьОшибку(формат("Сумма в заголовке документа №%s уже полностью выяснена",Статиксет1.ПолеПоИмени('DocNum').КакСтрока))
    иначе
      Статиксет1.ПолеПоИмени('credit').КакДробное := Статиксет1.ПолеПоИмени('credit').КакДробное - дСумма;    
    Статиксет1.Следующая;
  конец;
  диалог.очистить ;
  диалог.заголовок := "Перенос из заголовка в детализацию" ;
  диалог.Добавить("Создать", "Создать", 0, толькочтение+список,"","Возврат"+#13#10+"Выяснение"+#13#10+"Сторнирование");
  Если Статиксет1.ЧислоЗаписей&lt;2 тогда
  начало
    диалог.добавить("Сумма","Сумма",0,'');
    диалог.значение('Сумма') := ОкруглитьДоЗнака(Статиксет1.полепоимени('credit').какдробное, 2);
  конец;
  диалог.добавить("Выяснение","Выяснение",0,ТолькоЧтение);
  диалог.добавитьклассификатор("Код дохода",тк_кд,1);
  Диалог.Добавить("Дата документа", "Дата", 0, Календарь, "##.##.####");
  диалог.Значение("дата") := ДатаВСтроку(текущаяДата);
  Диалог.Значение('Создать') := 'Возврат';
  
  если не диалог.выполнить тогда выход;
        
  попытка      
    датаДокумента := StrToDateEx(диалог.Значение("дата"));
  неудача
    датаДокумента := ОбычнаяДатаВРасшир(ТекущаяДата);
  конец;  
  
  КДСуществует := ложь; 
  пока (не КДСуществует) и (Диалог.Значение('Создать') = "Выяснение") делать
  начало
    Если (разыменовать("КД.Существует", ЗаменитьСтроку(Диалог.Значение(тк_кд),".","")) = -1) или (разыменовать("КД.Существует", ЗаменитьСтроку(Диалог.Значение(тк_кд),".","")) = 0) тогда
    начало
      Сообщение("Код дохода не верен");
      если не диалог.выполнить тогда выход;
    конец
    иначе
      КДСуществует := истина;
  конец;
  
  Если Диалог.Значение('Создать') = "Выяснение" тогда
  начало
    Если СоотвествуетМаске(ЗаменитьСтроку(Диалог.Значение(тк_кд),".",""),сБюджКДНев) или СоотвествуетМаске(ЗаменитьСтроку(Диалог.Значение(тк_кд),".",""),сВнебюджКДНев) тогда
    Если длина(сВнебюджКДНев)=20 тогда
      ВызватьОшибку(Формат("код дохода в диалоге соотвествует невыясненным: Значение классификатора должно иметь вид отличный от %s или %s",сБюджКДНевО,сВнебюджКДНевО))
    иначе
      ВызватьОшибку(Формат("код дохода в диалоге соотвествует невыясненным: Значение классификатора должно иметь вид отличный от %s",сБюджКДНевО))      
  конец;
  
  Если Статиксет1.ЧислоЗаписей&lt;2 тогда
  начало
    если диалог.значение('Сумма') &gt; Статиксет1.полепоимени('credit').какдробное тогда 
      ВызватьОшибку("Сумма введенная в диалоге превышает остаток невыясненных");
    если (диалог.значение('Создать')='Возврат') и (диалог.значение('Сумма') &lt; 0)  тогда 
      ВызватьОшибку("Сумма введенная в диалоге для возврата не может быть отрицательной"); 
  конец;  
  
  
  Статиксет1.Вначало;
  Пока не статиксет1.вконце делать
  начало
    ПроверитьКД;
    Статиксет2.закрыть;
    
    если диалог.значение('Создать')='Сторнирование' тогда
    начало
      возвратиливыяснение:='сторнированию';      
      вставитьзаписьсторнирование;           
    конец
    иначе если диалог.значение('Создать')='Выяснение' тогда
    начало
      возвратиливыяснение:='выяснению';      
      проверкапараметров;
      вставитьзаписьвыяснение;                 
    конец
    иначе если диалог.значение('Создать')='Возврат' тогда
    начало
      возвратиливыяснение:='возврату';      
      вставитьзаписьвозврат;
    конец;
    
    Статиксет1.Следующая;
  конец;  
  
  Сообщение('В детализации созданы документы по '+Возвратиливыяснение+'')
конец.
</value>
    <param value="Код программы" type="3" name="Export">SPACE-X7\kan\29.10.2010 15:48:36</param>
    <param value="Код программы" type="3" name="version">36.041.00</param>
    <param value="Код программы" type="3" name="crc32">$651CA7F2</param>
  </node>
  <version_info>
    <file>Гарантии.xml</file>
    <version>35.042.01</version>
    <info>АБЛ макросы на интерфейсе гарантии(поручительства)</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:38</buildtime>
  </version_info>
  <description>АБЛ-макросы для гарантий</description>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}">
    <value type="3" name="Название">Гарантии и поручительства</value>
    <param value="Название" type="3" name="version">35.042.01</param>
    <param value="Название" type="3" name="crc32">$44C09380</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\События">
    <value type="3" name="НаОперациюРасчетПроцентов">ПересчетПроцентов</value>
    <value type="3" name="НаОперациюСТаблицей">ПроверкаУникальностиДоговора</value>
    <value type="3" name="НаУстановкуПолей">КонтрольПолей</value>
    <param value="НаОперациюРасчетПроцентов" type="3" name="version">35.042.01</param>
    <param value="НаОперациюРасчетПроцентов" type="3" name="crc32">$BC64048E</param>
    <param value="НаОперациюСТаблицей" type="3" name="version">35.042.01</param>
    <param value="НаОперациюСТаблицей" type="3" name="crc32">$4C3D6A79</param>
    <param value="НаУстановкуПолей" type="3" name="version">35.042.01</param>
    <param value="НаУстановкуПолей" type="3" name="crc32">$1FD2441B</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Панели">
    <node path="Основная">
      <delnode path="ФормированиеПериодов" />
      <delnode path="РасчетПроцентовИПени" />
      <node path="Формирование">
        <value type="3" name="Действие">Формирование</value>
        <value type="3" name="Картинка">Субпериоды</value>
        <value type="3" name="Хинт">Формирование периодов начисления</value>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$9D24FFCC</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$0B4DBB44</param>
        <param value="Хинт" type="3" name="version">35.042.01</param>
        <param value="Хинт" type="3" name="crc32">$CE7B94BF</param>
      </node>
      <node path="Расчет">
        <value type="3" name="Действие">Расчет</value>
        <value type="3" name="Картинка">Сумма</value>
        <value type="3" name="Хинт">Расчет процентов и пени</value>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$C4015BFE</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$D27F98FC</param>
        <param value="Хинт" type="3" name="version">35.042.01</param>
        <param value="Хинт" type="3" name="crc32">$17136BB5</param>
      </node>
      <node path="Поиск">
        <value type="3" name="Действие">Поиск</value>
        <value type="3" name="Картинка">Поиск</value>
        <value type="3" name="Хинт">Поиск по фрагменту номера, имени организации, примечания</value>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$B76C1383</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$B76C1383</param>
        <param value="Хинт" type="3" name="version">35.042.01</param>
        <param value="Хинт" type="3" name="crc32">$676872ED</param>
      </node>
      <node path="ПересчетВалюты">
        <value type="3" name="Выпадающее меню">Меню валюты</value>
        <value type="3" name="Действие">ПересчетВалюты</value>
        <value type="3" name="Картинка">ПересчетВалюты</value>
        <value type="3" name="Стиль">Меню</value>
        <value type="3" name="Хинт">Операции с валютой</value>
        <param value="Выпадающее меню" type="3" name="version">35.042.01</param>
        <param value="Выпадающее меню" type="3" name="crc32">$55C46CC4</param>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$C6FA0067</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$C6FA0067</param>
        <param value="Стиль" type="3" name="version">35.042.01</param>
        <param value="Стиль" type="3" name="crc32">$2267114F</param>
        <param value="Хинт" type="3" name="version">35.042.01</param>
        <param value="Хинт" type="3" name="crc32">$10AFC3E1</param>
      </node>
      <node path="ПереносСНачисленияВУплата">
        <value type="3" name="Действие">ПереносИзНачислениеВУплата</value>
        <value type="3" name="Картинка">Индекс</value>
        <value type="3" name="Хинт">Перенести суммы из "Начисление" в "Уплата %"</value>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$409D87BD</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$B5E0827F</param>
        <param value="Хинт" type="3" name="version">35.042.01</param>
        <param value="Хинт" type="3" name="crc32">$7252A2ED</param>
      </node>
      <node path="Финансирование">
        <value type="3" name="Выпадающее меню">МенюФинансирования</value>
        <value type="3" name="Картинка">Синхронизация</value>
        <value type="3" name="Стиль">Меню</value>
        <value type="3" name="Хинт">Работа с финансированием</value>
        <param value="Выпадающее меню" type="3" name="version">35.042.01</param>
        <param value="Выпадающее меню" type="3" name="crc32">$81A786D2</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$FE807E85</param>
        <param value="Стиль" type="3" name="version">35.042.01</param>
        <param value="Стиль" type="3" name="crc32">$2267114F</param>
        <param value="Хинт" type="3" name="version">35.042.01</param>
        <param value="Хинт" type="3" name="crc32">$173F9A89</param>
      </node>
    </node>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Выпадающие меню">
    <node path="МенюФинансирования">
      <node path="Профинансировать заемщика">
        <value type="3" name="Действие">ПрофинансироватьЗаемщика</value>
        <value type="3" name="Картинка">Синхронизация</value>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$72754D0B</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$FE807E85</param>
      </node>
      <node path="Отменить финансирование">
        <value type="3" name="Действие">ОтменитьФинансирование</value>
        <value type="3" name="Картинка">Удаление</value>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$F45B80C1</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$3061835D</param>
      </node>
    </node>
    <node path="Меню валюты">
      <node path="Пересчет в рубли">
        <value type="3" name="Действие">ПересчетВалюты</value>
        <value type="3" name="Картинка">ПересчетВалюты</value>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$C6FA0067</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$C6FA0067</param>
      </node>
      <node path="Курсовая разница">
        <value type="3" name="Действие">РасчетКурсовойРазницы</value>
        <value type="3" name="Картинка">КурсоваяРазница</value>
        <param value="Действие" type="3" name="version">35.042.01</param>
        <param value="Действие" type="3" name="crc32">$9436CB38</param>
        <param value="Картинка" type="3" name="version">35.042.01</param>
        <param value="Картинка" type="3" name="crc32">$2FEA1912</param>
      </node>
    </node>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\Формирование">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ФормированиеИРасчет";
включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";
начало
  ИнтерфейсФормированиеПериодов(МодульГарантии);
конец;



</value>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$6E5DAB6F</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\Расчет">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ФормированиеИРасчет";
включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";
начало
  ИнтерфейсРасчет(МодульГарантии);
конец;

</value>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$2146CB65</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\ПрофинансироватьЗаемщика">
    <value type="3" name="Заголовок">Профинансировать заемщика</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Project";
включить "Бюджет\Ресурсы\Макросы\ДляГарантий.abl";

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Гарантии\Параметры";
  БанковскоеФинансирование = "Банковское";
  КазначейскоеФинансирование = "Казначейское";
  eBadRecords = "Недопустимо проводить финансирование закрытых, профинансированных, или записей с нулевыми суммами.";
  eCancelledByUser = "Действие отменено пользователем.";

переменные
  Ф: ФормаВвода;
  // ФинДеталь - статиксет содержит скопированные записи с детализации (соответствующей)
  Детализация, ФинДеталь: СтатическиеДанные;
  ВидФинансирования, Проводка, НомераРеестров, НомераПоручений : строка;
  ИДРаспоряжения, ИДРеестра: целое;
  КэшОрганизаций : ДанныеОрганизации;
  Орг : СтатическиеДанные;
  ВсегоКФин, ПодходитКФин, рез_сообщ : целое;
  СсылкаНаСчетПоУмолчанию : целое;
  ВКазн, ВФин : Выборка;
  Счет: целое;
  
функция ЗапросПогашение : строка;
начало
  результат := "[ModifyData]
    {update Guarantee set
      BUDGETREF=@BUDGETREF,
      PROGINDEX=@PROGINDEX,
      RECORDINDEX=@RECORDINDEX,
      ACCEPTDATE=@ACCEPTDATE,
      PlanDate=@PlanDate,
      DEBIT=@DEBIT,
      CREDIT=@CREDIT,
      DOCTYPE=@DOCTYPE,
      SOURCEDOCNUMBER=~SOURCEDOCNUMBER,
      NOTE=~NOTE,
      BUHPAYMENTCLS=@BUHPAYMENTCLS,
      CurrencyCLS=@CurrencyCLS,
      CurrencySumma=@CurrencySumma,
      SubRecordIndex=@SubRecordIndex,
      SubProgIndex=@SubProgIndex,
      RecordDate=@RecordDate
    where
      id = @ID}
  ";    
конец; 
    
функция ЗапросУплата : строка;
начало
  результат := "[ModifyData]
    {update GUARANTEE set
    BUDGETREF=@BUDGETREF,
    RECORDINDEX=@RECORDINDEX,
    PROGINDEX=@PROGINDEX,
    ACCEPTDATE=@ACCEPTDATE,
    PLANDATE=@PLANDATE,
    DEBIT=@DEBIT,
    SOURCEDOCNUMBER=~SOURCEDOCNUMBER,
    NOTE=~NOTE,
    BUHPAYMENTCLS=@BUHPAYMENTCLS,
    DOCTYPE=@DOCTYPE,
    CURRENCYCLS=@CURRENCYCLS,
    CURRENCYSUMMA=@CURRENCYSUMMA,
    SubRecordIndex=@SubRecordIndex,
    SubProgIndex=@SubProgIndex,
    RecordDate=@RecordDate
  where
   id = @ID}
  ";
конец; 

функция НайтиСчетПоИмениИОрганизации(ОргСсылка: целое; ИмяСчета: строка): целое;
переменные
  В: Выборка;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    В.Запрос := "select id from Org_Accounts where Org_Ref = " + ЦелоеВСтроку(ОргСсылка) + " and Acc = '" + ИмяСчета + "'";
    В.Открыть;
    если В.ЧислоЗаписей &lt;&gt; 1 тогда
      Сообщение("Не найдены некоторые сведения о получателе. Проверьте результат работы!!!");
    Результат := В.Поле("id").КакЦелое;  
  обязательно
    УдалитьОбъект(В);
  конец;
конец;
    
начало
  Ф := ПолучитьФормуВвода;
  если Ф.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("Нет данных");
  если Ф.ЕстьИзменения тогда 
    ВызватьОшибку("Сохраните изменения и повторите попытку.");
  если (Ф.АктивнаяДетализация &lt;&gt; 1) и (Ф.АктивнаяДетализация &lt;&gt; 3) тогда
    ВызватьОшибку("Должна быть активной детализация 'Погашение' или 'Уплата %'");
  
  Детализация := Ф.Детализация(Ф.АктивнаяДетализация).Таблица;  
  если Детализация.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("Нет данных");
  
  // деталь для дальнейшей циклической обработки
  ФинДеталь := СоздатьСтатическиеДанные;
  ФинДеталь.СоединитьБД;
  ФинДеталь.Закрыть;
  ФинДеталь.ПрисвоитьПоля(Детализация);
  ФинДеталь.Открыть;
  // СтатикСет под данные детали на финансирование
  если Ф.Детализация(Ф.АктивнаяДетализация).Сетка.ЕстьВыделенныеСтроки тогда
    ФинДеталь.Закачать(Ф.Детализация(Ф.АктивнаяДетализация).Сетка.ПолучитьВыделенныеСтроки)
  иначе
  начало
    // !!!
    рез_сообщ := Сообщение("Профинансировать все операции по гарантиям?", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет + Кнопка_Отмена);
    Детализация.ЗапретитьПрорисовку;
    попытка
      если рез_сообщ = Результат_Отмена тогда
        ВызватьОшибку(eCancelledByUser);
      если рез_сообщ = Результат_ДА тогда
        ФинДеталь.Закачать(Детализация, "");
      если рез_сообщ = Результат_НЕТ тогда
        ФинДеталь.СкопироватьЗапись(ложь, Детализация, "");
    обязательно
      Детализация.РазрешитьПрорисовку;
    конец;      
  конец;
  ФинДеталь.СохранитьИзменения;
  // проверим, может кто пытается экспортировать непринятые реестры
  ВсегоКФин := ФинДеталь.ЧислоЗаписей;
  ФинДеталь.Фильтр := "(SubrecordIndex = 0) and (AcceptDate=0) and not (Debit = 0)";
  ПодходитКФин := ФинДеталь.ЧислоЗаписей;
  ФинДеталь.Фильтр := "";
  если ВсегоКФин &lt;&gt; ПодходитКФин тогда
    ВызватьОшибку(eBadRecords); 
  // конец - проверим, может кто пытается экспортировать непринятые реестры

// все эти условия реализованы при помощи фильтра by Sveen
//  если (Детализация.Поле("SubRecordIndex").КакЦелое &lt;&gt; 0) тогда
//    ВызватьОшибку("Нельзя провести повторное финансирование.");  
//  если (Детализация.Поле("AcceptDate").КакЦелое &lt;&gt; 0) тогда
//    ВызватьОшибку("Нельзя провести финансирование для закрытой записи.");
//  если мод(Детализация.Поле("Debit").КакДробное) &lt; 0.005 тогда
//    ВызватьОшибку("Нельзя профинансировать на нулевую сумму.");
  
  // подтяжка организации по ссылке на счет и одновременно присваивает запрос статиксету
  КэшОрганизаций := ДанныеОрганизации;
  если Ф.АктивнаяДетализация = 1 тогда // погашение
  начало
    ФинДеталь.Запрос := ЗапросПогашение;
    СсылкаНаСчетПоУмолчанию := Ф.Заголовки.Таблица.Поле("AccRef").КакЦелое;
  конец          
  иначе
  начало
    ФинДеталь.Запрос := ЗапросУплата;  // Уплата %
    СсылкаНаСчетПоУмолчанию := Ф.Заголовки.Таблица.Поле("AdditionalAccRef").КакЦелое;
  конец;      
  орг := КэшОрганизаций.ОрганизацияПоСчету(СсылкаНаСчетПоУмолчанию);
  // конец - подтяжка организации по ссылке на счет и одновременно присваивает запрос статиксету

  // диалог
  Диалог.Очистить;
  Диалог.Заголовок := "Вид финансирования";
  Диалог.Добавить("Вид финансирования", "ВидФинансирования", 0, Список + ТолькоЧтение, "", БанковскоеФинансирование + #13#10 + КазначейскоеФинансирование);
  Диалог.Значение("ВидФинансирования") := БанковскоеФинансирование;
  Диалог.ДобавитьКлассификатор("Проводка", 46, 0);
  Диалог.Значение(46) := Реестр.Узел(УзелПараметров).Значение("Проводка финансирования").КакЦелое;
  // перенос всего в один диалог
  // организация
  Диалог.Добавить("Получатель", "", 0);   
  Диалог.ДобавитьОрганизацию("ИНН", "Group.INN", 1);
  Диалог.ДобавитьОрганизацию("КПП", "Group.KPP", 1);
  Диалог.ДобавитьОрганизацию("Наим. организации", "Group.ORG_NAME", 1);
  Диалог.ДобавитьСчет("Счет", "Group.ACC", 1);
  Диалог.ДобавитьСчет("", "Group.ACC_REF",0);
  Диалог.ДобавитьСчет("", "Group.ORG_REF",0);
  // конец - организация

  Диалог.Добавить("Банковское финансирование", "", 0); // верхний уровень для банковского фин.     

  ВФин := СоздатьВыборку;  // не будем их удалять :)
  ВКазн := СоздатьВыборку; // не будем их удалять :)
  
  // подкачка номеров распоряжений и занесение их в диалог
  ВФин.БазаДанных := Бюджет;
  ВФин.Запрос := Формат("SELECT id, Number FROM FinDocCaption WHERE (AcceptDate is null) and (MakeDate between %s and %s)",
                ДробноеВСтроку(ОбычнаяДатаВРасшир(ТекущаяДата - 7)),
                ДробноеВСтроку(ОбычнаяДатаВРасшир(ТекущаяДата)));                                                          
  ВФин.Открыть;
  // Нежеследующая проверка не требуется, т.к. юзер может создавать новые распоряжения
  //если ВФин.ЧислоЗаписей = 0 тогда
    //ВызватьОшибку("Нет ни одного открытого распоряжения за последние семь дней");
  ВФин.ВНачало;
  НомераПоручений := "";
  пока не ВФин.ВКонце делать
  начало
    НомераПоручений := НомераПоручений + ВФин.Поле("Number").КакСтрока + #13#10;
    ВФин.Следующая;
  конец;  
  Диалог.Добавить("Номер распоряжения", "Номер", 1, Список, "", НомераПоручений);
  ВФин.Вначало;
  Диалог.Значение("Номер") := ВФин.Поле("Number").КакСтрока;
  // конец - подкачка номеров распоряжений и занесение их в диалог

  Диалог.Добавить("Казначейское финансирование", "", 0); // верхний уровень для Казначейского фин.     
  // подкачка номеров реестров и занесение их в диалог
  ВКазн.БазаДанных := Бюджет;
  ВКазн.Запрос := "SELECT id, ReestrNumber FROM FacialFinReestr WHERE (ReestrType = 1) and (Accepted = 0)";
  ВКазн.Открыть;
  ВКазн.ВНачало;
  НомераРеестров := "";
  пока не ВКазн.ВКонце делать
  начало
    НомераРеестров := НомераРеестров + ВКазн.Поле("ReestrNumber").КакСтрока + #13#10;
    ВКазн.Следующая;
  конец;  
  Диалог.Добавить("Номер реестра", "Реестр", 1, Список + ТолькоЧтение, "", НомераРеестров);
  ВКазн.Вначало;
  Диалог.Значение("Реестр") := ВКазн.Поле("ReestrNumber").КакСтрока; 
  // конец - подкачка номеров реестров и занесение их в диалог
  // если по заголовку не удалось подкачать организацию, то там останется пустое место
  если орг &lt;&gt; nil тогда 
    если орг.ЧислоЗаписей &gt; 0 тогда
    начало
      Диалог.Значение("Group.INN") := орг.Поле("INN").КакСтрока;
      Диалог.Значение("Group.KPP") := орг.Поле("KPP").КакСтрока;
      Диалог.Значение("Group.ORG_NAME") := орг.Поле("ORG_NAME").КакСтрока;
      Диалог.Значение("Group.ACC") := орг.Поле("ACC").КакСтрока;
      Диалог.Значение("Group.ACC_REF") := орг.Поле("ACC_REF").КакСтрока;
      Диалог.Значение("Group.ORG_REF") := орг.Поле("ORG_REF").КакСтрока;
    конец;

  // конец - перенос всего в один диалог
  если не Диалог.Выполнить тогда
    Выход;
  если УбратьПробелы(Диалог.Значение(46)) = "" тогда
    ВызватьОшибку("Не указана проводка для подстановки в финансирование");
  если не ПроверитьКлассификатор(46, СтрокаВЦелое(Диалог.Значение(46))) тогда
    ВызватьОшибку("В диалоге указан неверный номер бухпроводки.");   
  если (Диалог.Значение("Group.ACC_REF") = "") или (Диалог.Значение("Group.ACC_REF") = 0) тогда
    ВызватьОшибку("В диалоге не указан счет организации.");   
  если (ВКазн.ЧислоЗаписей = 0) и (ВидФинансирования &lt;&gt; БанковскоеФинансирование) тогда
    ВызватьОшибку("Нет ни одного открытого казначейского реестра");
  Проводка := Диалог.Значение(46);
  
  
  ВидФинансирования := Диалог.Значение("ВидФинансирования");
  
  // Т.к. в диалоге глючит работа со счетами
  Счет := НайтиСчетПоИмениИОрганизации(Диалог.Значение("Group.ORG_REF"), Диалог.Значение("Group.ACC"));
  
  если ВидФинансирования = БанковскоеФинансирование тогда
  начало
    // настройка теперь лежит в одном диалоге,
    // там и вводится номер    
    если ВФин.Locate("Number", Диалог.Значение("Номер"), 0) тогда
      ИДРаспоряжения := ВФин.Поле("id").КакЦелое
    иначе
      ИДРаспоряжения := -1;
    БанковскоеФинансированиеЗаемщика(Ф.Заголовки.Таблица, ФинДеталь, Проводка, Диалог.Значение("Номер"), ИДРаспоряжения, Счет);
  конец
  иначе начало
    // реестры
    если ВКазн.Locate("ReestrNumber", Диалог.Значение("Реестр"), 0) тогда
      ИДРеестра := ВКазн.Поле("id").КакЦелое;
    КазначейскоеФинансированиеЗаемщика(Ф.Заголовки.Таблица, ФинДеталь, Проводка, ИДРеестра, Счет);
  конец;
  
  ВФин.Закрыть;
  ВКазн.Закрыть;
  УдалитьОбъект(ВФин);// тута удаляем ненужные выборки  
  УдалитьОбъект(ВКазн);// тута удаляем ненужные выборки  
  // если в одном из методов финансирования была лажа - то там эксепшн вывалится,
  // поэтому здесь делать ничего не будем 
  ФинДеталь.СохранитьИзменения;
  Ф.СохранитьИзменения; 
  Реестр.Узел(УзелПараметров).Значение("Проводка финансирования").КакЦелое := СтрокаВЦелое(Проводка); 
  Сообщение("Финансирование заемщика произведено.");      
конец.
</value>
    <param value="Заголовок" type="3" name="version">35.042.01</param>
    <param value="Заголовок" type="3" name="crc32">$AFC1C105</param>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$9B639A0F</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\ПроверкаУникальностиДоговора">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Project";

НаОперациюСТаблицей(Порядок: целое; Таблица: целое; Операция: целое);
переменные
  Ф: ФормаВвода;
  В: Выборка;
  Заголовки: СтатическиеДанные;
начало
  если (Порядок = 1) и (Таблица = -1) и (Операция = 7) и (Реестр.Узел("Бюджет\Объекты\Настройки\Гарантии\Параметры").Значение("Проверять уникальность договора").КакФлаг) тогда
  начало
    Ф := ПолучитьФормуВвода;
    если (Ф.Заголовки.Таблица.Поле("BudgetRef").КакСтрока &lt;&gt; "") и (Ф.Заголовки.Таблица.Поле("Org_Ref").КакСтрока &lt;&gt; "")
      и (Ф.Заголовки.Таблица.Поле("Number").КакСтрока &lt;&gt; "") и (Ф.Заголовки.Таблица.Поле("id").КакСтрока &lt;&gt; "")
    тогда  
    попытка
      В := СоздатьВыборку;
      В.БазаДанных := Бюджет;
      В.Запрос := "select id from LoanCredit where ProgIndex = 380"
                  + " and BudgetRef = " + Ф.Заголовки.Таблица.Поле("BudgetRef").КакСтрока
                  + " and Org_Ref = " + Ф.Заголовки.Таблица.Поле("Org_Ref").КакСтрока
                  + " and Number = '" + Ф.Заголовки.Таблица.Поле("Number").КакСтрока + "'"
                  + " and id &lt;&gt; " + Ф.Заголовки.Таблица.Поле("id").КакСтрока;
      В.Открыть;
      если В.ЧислоЗаписей &gt; 0 тогда
        ВызватьОшибку("Договор с данным номером и организацией уже существует.");            
    обязательно
      УдалитьОбъект(В);
    конец;
  конец;
конец;
</value>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$2AFCEB84</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\Поиск">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Project";

константы
  УзелПоиска = "Бюджет\Объекты\Настройки\Гарантии\Поиск";

  НеИспользовать = "Не использовать";
  ПоПогашению = "По погашению";
  ПоВыдаче = "По получению";
  ПоВсему = "По получению и погашению";

переменные
  Ф: ФормаВвода;
  В: Выборка ;
  Мастер, Детализация: СтатическиеДанные;
  Найдено: целое;
  Фраг: строка ;
  Внутр, СубКД: целое;


  функция ПоискПоДетализации: целое;
  
  Переменные
  Запр, Запрос: строка;
  
  начало
  
    Запр := "select " +
    "  g.SourceDocNumber, " +
    "  g.Note " +
    "from " +
    "  Guarantee g " +
    "where "; 

    результат := да;
    выбрать Диалог.Значение("Детал") из
      Неиспользовать: Результат :=  нет;
      ПоВыдаче:    Запрос := Запр + "(ProgIndex = 381) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")"; 
      ПоПогашению: Запрос := Запр + "(ProgIndex = 382) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")"; 
      ПоВсему:     Запрос := Запр + "(ProgIndex in (381, 382)) and (RecordIndex = " + Мастер.Поле("id").КакСтрока + ")";
    конец;
    
    Если Результат = да тогда
    начало
      Результат := нет;
      В.Запрос := Запрос;
      В.Открыть;
      В.ВНачало;
      пока (не В.ВКонце) и (Результат = нет) делать
      начало
        Если (Позиция(Прописные(Фраг), Прописные(В.Поле("note").КакСтрока))) &gt; 0 или
             (Позиция(Прописные(Фраг), Прописные(В.Поле("SourceDocNumber").КакСтрока))) &gt; 0 тогда Результат := да
                                                                  иначе В.Следующий;
      конец;
    конец;
  конец;

начало

  // Диалог для указания лицевого счета
  Диалог.Очистить;
  Диалог.Заголовок := "Поиск";
  Диалог.Добавить("Фрагмент", "Фраг", 0, 0, "");

  Диалог.Добавить("Детализация", "Детал", 0, Список + ТолькоЧтение, "", Неиспользовать + #13#10 + Попогашению + #13#10 + Повыдаче + #13#10 + ПоВсему);
  Диалог.Значение("Детал") := НеИспользовать;
                 
  Диалог.Добавить("Направление", "Направление", 0, Список + ТолькоЧтение, "", "вперед" + #13#10 + "назад");
  Диалог.Значение("Направление") := "вперед";
    
  Диалог.Значение("фраг") :=              Реестр.Узел(УзелПоиска).Значение("Фрагмент").КакСтрока;    
    
  // Инициализация
  Ф := ПолучитьФормуВвода;
  В := СоздатьВыборку; 
  В.БазаДанных := Бюджет;
  
  // Определяем активную форму ввода и активную таблицу
  если Ф.АктивнаяДетализация = -1 тогда начало
    // Активные заголовки, придется открывать каждый и проверять наличие искомого значения
    Мастер := Ф.Заголовки.Таблица;

    // Выход из цикла поиска только путем нажатия кнопки "отмена" в диалоге
    пока Диалог.Выполнить делать начало
    
     Фраг := Диалог.Значение("фраг");

      Реестр.Узел(УзелПоиска).Значение("Фрагмент").КакСтрока :=         Фраг;
      попытка
        Мастер.ЗапретитьПрорисовку;
        Найдено := Нет;
        если Диалог.Значение("Направление") = "вперед" 
        тогда Мастер.Следующая 
        иначе Мастер.Prior;
        пока ( ((Диалог.Значение("Направление") = "вперед") и (не Мастер.ВКонце))
               или ((Диалог.Значение("Направление") = "назад") и (не Мастер.ВНачале)) ) 
               и (не Найдено) делать 
        начало
          если ПоискПоДетализации
               или ((Фраг &lt;&gt; "") и ((Позиция(Прописные(Фраг), Прописные(Мастер.Поле("number").КакСтрока)) &gt; 0) 
               или (Позиция(Прописные(Фраг), Прописные(Мастер.Поле("note").КакСтрока)) &gt; 0)
               или (Позиция(Прописные(Фраг), Прописные(Мастер.Поле("Orgname").КакСтрока)) &gt; 0)))
            // Если лицевой счет найден, тогда выйти из цикла
            тогда Найдено := Да
            иначе 
              если Диалог.Значение("Направление") = "вперед" 
              тогда Мастер.Следующая 
              иначе Мастер.Prior;
        конец;
        если Мастер.ВНачале или Мастер.ВКонце тогда 
          Сообщение("Достигнут конец списка") ;
      обязательно
        Мастер.РазрешитьПрорисовку;
      конец;
    конец 
  
  конец 
  
  иначе начало
    Сообщение("Для поиска выйдите в заголовки договоров") ;
    выход ;
  конец;

  // Сохранить последний использовавшийся лицевой счет
  Реестр.Узел(УзелПоиска).Значение("Фрагмент").КакСтрока := Фраг;
 
конец.
</value>
    <param value="Код программы" type="3" name="Export">PARFENOV\parfenovmv\29.11.2005 10:51:54</param>
    <value type="3" name="Название">Поиск по фрагменту</value>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$1CFD4F84</param>
    <param value="Название" type="3" name="version">35.042.01</param>
    <param value="Название" type="3" name="crc32">$EB230F2E</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\ПересчетПроцентов">
    <value type="3" name="Заголовок">Пересчет процентов</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\Макросы\ИнтерфейсФормированиеИРасчет";

ПересчетПроцентов (ИДЗаголовка: целое; ДатаНачала, ДатаКонца: дробное; СуммаВВалюте: дробное): дробное;
начало
  ПересчетПроцентов := РасчетПоКнопке(ИДЗаголовка, СуммаВВалюте);
конец;
</value>
    <param value="Заголовок" type="3" name="version">35.042.01</param>
    <param value="Заголовок" type="3" name="crc32">$C8E90ABE</param>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$D40DBD9B</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\ПересчетВалюты">
    <value type="3" name="Заголовок">Пересчет валюты</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "Project";
включить "Бюджет\Ресурсы\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\Макросы\ДляГарантий.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";

переменные
  Ф: ФормаВвода;
  Данные,Вспомогательные,ВыделенныеЕсть: СтатическиеДанные;
  Сетка : СеткаДанных;

  // По номеру детализации получаем имя поля, в которое надо пихать сумму 
  функция ПолучитьИмяПоляССуммой(НомерДетализации: целое): строка;
  начало
    выбрать НомерДетализации из
      0, 2, 5, 6 : Результат := "Credit";
      1, 3, 4: Результат := "Debit"; 
      иначе
        Результат := "Summa";
    конец;    
  конец;
  
  Функция Пересчет(ннДанные :СтатическиеДанные; ссДанные :СтатическиеДанные);
  начало
     ссДанные.Вначало;
    пока не ссДанные.ВКонце делать
     начало
       ннДанные.Вначало;
       ссДанные.Редактировать;
        пока не ннДанные.ВКонце делать
          начало
           ннДанные.Редактировать;
           Если ннДанные.Поле("ID").КакЦелое=ссДанные.Поле("ID").КакЦелое тогда
            начало
             ннДанные.Поле(ПолучитьИмяПоляССуммой(Ф.АктивнаяДетализация)).КакДробное := 
             ОкруглитьДоЗнака(ссДанные.Поле("CurrencySumma").КакДробное * ПолучитьОбмКурс(ссДанные.Поле("CurrencyCLS").КакЦелое, StrToDateEx(Диалог.Значение("Дата"))), 2);
            конец
            иначе
             ннДанные.Сохранить;    
             ннДанные.Следующая;
          конец;
       ссДанные.Сохранить;
       ссДанные.Следующая; 
     конец;
  конец;
  
  
начало
  Ф := ПолучитьФормуВвода;
  если Ф.АктивнаяДетализация = - 1 тогда начало 
    Данные := Ф.Заголовки.Таблица;
    Сетка := Ф.Заголовки.Сетка;
  конец  
  иначе начало
    Данные := Ф.Детализация(Ф.АктивнаяДетализация).Таблица;
    Сетка := Ф.Детализация(Ф.АктивнаяДетализация).Сетка;
  конец;  
  если Данные.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("Нет записей для пересчета.");
  если Данные.НайтиПоле("AcceptDate", nil) тогда
    если не Данные.Поле("AcceptDate").Пустое тогда
      ВызватьОшибку("Нельзя пересчитать валюту в принятой записи.");
  если Ф.АктивнаяДетализация = Ф.ПолучитьДетализациюПоИмени("Курс. разница") тогда
    ВызватьОшибку("Невозможно пересчитать суммы в детализации 'Курс. разница'");    
  Диалог.Очистить;
  Диалог.Заголовок := "Введите дату расчета";
  Диалог.Добавить("Дата расчета", "Дата", 0, Календарь, "##.##.####");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если не Диалог.Выполнить тогда Выход;
  если УбратьПробелы(Диалог.Значение("Дата")) = "" тогда
    ВызватьОшибку("Не указана дата расчета!!!");
   Попытка
  если Данные.НайтиПоле("CurrencyCLS", nil) тогда
   если Данные.Поле("CurrencyCLS").КакЦелое &lt;&gt; КодНацВалюты тогда
   начало
      Данные.ЗапретитьПрорисовку;
      если Сетка.ЕстьВыделенныеСтроки тогда
      начало
      Вспомогательные := Сетка.ПолучитьВыделенныеСтроки;
       Пересчет(Данные,Вспомогательные);
      конец 
      иначе
       начало
         Данные.Редактировать;             
         Данные.Поле(ПолучитьИмяПоляССуммой(Ф.АктивнаяДетализация)).КакДробное := 
          ОкруглитьДоЗнака(Данные.Поле("CurrencySumma").КакДробное * ПолучитьОбмКурс(Данные.Поле("CurrencyCLS").КакЦелое, StrToDateEx(Диалог.Значение("Дата"))), 2);
         Данные.Сохранить;
       конец;
   конец;  
   Обязательно
   Данные.РазрешитьПрорисовку;
   конец; 
конец.
</value>
    <param value="Код программы" type="3" name="Export">GRIGORJEVA2\grigorjeva\21.07.2005 10:32:22</param>
    <param value="Заголовок" type="3" name="version">35.042.01</param>
    <param value="Заголовок" type="3" name="crc32">$E847E7CB</param>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$CA31353C</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\ПереносИзНачислениеВУплата">
    <value type="3" name="Заголовок">ИзНачисленияВУплата</value>
    <value type="7" name="Код программы">включить "Project";
включить 'Бюджет\Ресурсы\Библиотеки\LibRu.lib';
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  Состояние_Просмотр = 1;
переменные
  ф: ФормаВвода;                     // интерфейс ввода
  ДляПереноса : СтатическиеДанные;//Записи со страницы "начисление %", которые надо перенести на страницу "Уплата %"       
  Начисление,Уплата : СтатическиеДанные;//Данные страниц "Начисление %" и "Уплата %"      
  ДатаНачала, ДатаКонца : дробное;
  Сумма : дробное;
  СПланом : целое;
  счетчик : целое;
  СеткаНачисление,СеткаУплата: ICoolGrid;
  НомерДеталиНачисление : целое;
  НомерДеталиУплата, БылПеренос: целое;
  ОшибкаПереноса : строка;
начало
  ф := ПолучитьФормуВвода; // интерфейс ввода
  // получим номер детали и далее будем работать с ним
  НомерДеталиНачисление := Ф.ПолучитьДетализациюПоИмени("Начисление");
  НомерДеталиУплата := Ф.ПолучитьДетализациюПоИмени("Уплата %");
  если (ф.ЕстьИзменения) тогда ВызватьОшибку ("Необходимо сохранить изменения.");
  если ф.Детализация(НомерДеталиУплата).Таблица.State &lt;&gt; Состояние_Просмотр тогда
    ВызватьОшибку("Необходимо сохранить изменения на закладке 'Уплата %'");
  если (ф.АктивнаяДетализация &lt;&gt; НомерДеталиНачисление)
  тогда ВызватьОшибку("Должна быть активной страница начисления процентов.");
  если Сообщение("ВНИМАНИЕ! Выбранные записи будут перенесены на закладку 'Уплата%'. Продолжить?", Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда
    выход;
  
  попытка                               
    //выберем данные, которые будем переносить
    СеткаНачисление := ф.Детализация(НомерДеталиНачисление).Сетка;
    если СеткаНачисление.ЕстьВыделенныеСтроки тогда ДляПереноса := СеткаНачисление.ПолучитьВыделенныеСтроки
    иначе начало
      Начисление := ф.Детализация(НомерДеталиНачисление).Таблица;
      если начисление.ЧислоЗаписей = 0 тогда ВызватьОшибку("Отсутствуют выделеные строки для переноса.");
      ДляПереноса := СоздатьСтатическиеДанные; 
      ДляПереноса.ПрисвоитьПоля(Начисление);
      ДляПереноса.Открыть;
      ДляПереноса.СкопироватьЗапись(1, Начисление);
    конец;
    //ПоказатьДанные(ДляПереноса);
   

  //  Теперь получим доступ к сетке и данным страницы "Уплата процентов" 
    СеткаУплата := ф.Детализация(НомерДеталиУплата).Сетка;
    Уплата := ф.Детализация(НомерДеталиУплата).Таблица;
    ДляПереноса.ВНачало;
//    ДляПереноса.Фильтр := "(Summa &lt;&gt; 0 and CurrencyCLS = " + ЦелоеВСтроку(КодНацВалюты) + ") or CurrencySumma &lt;&gt; 0";
    //ДляПереноса.Фильтр := "(Credit &lt;&gt; 0) and ((CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(КодНацВалюты) + 
      //                    ") and (CurrencySumma &lt;&gt; 0) or (CurrencyCLS = " + ЦелоеВСтроку(КодНацВалюты)+"))";
    //ДляПереноса.Filtered := Истина;
    БылПеренос := Ложь;
    //ПоказатьДанные(Уплата);
    пока не(ДляПереноса.ВКонце) делать начало
      СеткаУплата.InsertRecord;
      если не ДляПереноса.Поле("PlanDate").Пустое тогда
        Уплата.ПолеПоИмени("PlanDate").КакДробное := ДляПереноса.ПолеПоИмени("PlanDate").КакДробное;
      Уплата.Поле("CURRENCYSUMMA").КакДробное := ДляПереноса.Поле("CURRENCYSUMMA").КакДробное;
      Уплата.поле("CurrencyCLS").КакЦелое := ДляПереноса.Поле("CurrencyCLS").КакЦелое;      
      Уплата.ПолеПоИмени("Debit").КакДробное := ДляПереноса.ПолеПоИмени("Credit").КакДробное;
      Уплата.Поле("ProgIndex").КакЦелое := ДляПереноса.Поле("ProgIndex").КакЦелое + 3; // 3 - сдвиг прогиндексов   
      Уплата.Поле("BuhOperationCLS").КакЦелое := 99999;
      попытка
        Уплата.Сохранить;
        БылПеренос := Истина;
      неудача
        ОшибкаПереноса := ПоследняяОшибка;
        Уплата.Cancel;
        ВызватьОшибку("При формировании записи на закладке 'Уплата %' возникла ошибка: "+#13#10+ОшибкаПереноса);               
      конец;   
      ДляПереноса.Следующая;
    конец;
    если БылПеренос тогда
      Сообщение("Данные успешно перенесены. Проверьте изменения на закладке 'Уплата%'.")
    иначе
      Сообщение("Данные не перенесены.");  
  обязательно
    УдалитьОбъект(ДляПереноса);
  конец;
конец
</value>
    <param value="Код программы" type="3" name="Export">PARFENOV\parfenovmv\14.03.2006 11:14:25</param>
    <param value="Заголовок" type="3" name="version">35.042.01</param>
    <param value="Заголовок" type="3" name="crc32">$8FB777F7</param>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$755D2DB5</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\ОтменитьФинансирование">
    <value type="3" name="Заголовок">Отменить финансирование</value>
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Project";
включить "Бюджет\Ресурсы\Макросы\ДляГарантий.abl";

переменные
  Ф: ФормаВвода;
  Детализация: СтатическиеДанные;
начало
  Ф := ПолучитьФормуВвода;
  если Ф.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("Нет данных");
  если Ф.ЕстьИзменения тогда 
    ВызватьОшибку("Сохраните изменения и повторите попытку.");
  если (Ф.АктивнаяДетализация &lt;&gt; 1) и (Ф.АктивнаяДетализация &lt;&gt; 3) тогда
    ВызватьОшибку("Должна быть активной детализация 'Погашение' или 'Уплата %'");
  Детализация := Ф.Детализация(Ф.АктивнаяДетализация).Таблица;
  если Детализация.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("Нет данных");
  если (Детализация.Поле("SubRecordIndex").КакЦелое = 0) тогда
    ВызватьОшибку("По выделенной записи финансирования не было.");  
  если (Детализация.Поле("ParentId").КакЦелое &lt;&gt; 0) тогда
    ВызватьОшибку("Нельзя отменить финансирование разбитых записей");  
  если Сообщение("Отменить финансирование заемщика?", Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда
    Выход;
  ОтменитьФинансирование(Детализация);
  Ф.СохранитьИзменения;
  Сообщение("Финансирование успешно отменено");    
конец.</value>
    <param value="Заголовок" type="3" name="version">35.042.01</param>
    <param value="Заголовок" type="3" name="crc32">$13400DBF</param>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$A9B6F4BB</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляГарантий.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
//включить "Project";
включить "Бюджет\Ресурсы\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\Макросы\ПараметрыИзБД.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";

константы
  УзелСмещений = "Бюджет\Объекты\Настройки\Гарантии\Смещения";
  УзелПараметров = "Бюджет\Объекты\Настройки\Гарантии\Параметры";
  
// Функции для получения прогиндексов
функция ПрогИндексПроценты: целое;
начало
  Результат := 394;
конец;

функция ПрогИндексПениОсн: целое;
начало
  Результат := 395;
конец;

функция ПрогИндексПениПроц: целое;
начало
  Результат := 396;
конец;

функция ДобавитьПоляВПериоды(Периоды: СтатическиеДанные);
начало
  Периоды.ДобавитьЦелоеПоле("PeriodStart");
  Периоды.ДобавитьЦелоеПоле("PeriodEnd");
  Периоды.ДобавитьЦелоеПоле("BuhPaymentCLS");
  Периоды.ДобавитьСтроковоеПоле("Note", 255).Размер := 255;
  Периоды.ДобавитьЦелоеПоле("ProgIndex");
  Периоды.ДобавитьЦелоеПоле("CurrencyCLS");
конец;

функция ЗапросДляПериодов: строка;
начало
  Результат := "[PumpData]{"
                + " select"
                + " id,"
                + " PeriodStart,"
                + " PeriodEnd,"
                + " Credit,"
                + " BuhPaymentCls,"
                + " Note,"
                + " ProgIndex,"
                + " RecordIndex,"
                + " PlanDate,"
                + " BudgetRef,"
                + " CurrencyCLS,"
                + " CurrencySumma,"
                + " RecordDate"
                + " from Guarantee"
                + " where (ProgIndex in (394,395,396)) and (AcceptDate is null) and @MasterIDRange @ProgIndexRange"
                + "}"
                + "[InsertData]{"
                + " insert into Guarantee(PeriodStart,PeriodEnd,BuhPaymentCLS,Note,ProgIndex,PlanDate,CurrencyCLS,BudgetRef,RecordIndex)" 
                + " values (@PeriodStart,@PeriodEnd,@BuhPaymentCLS,@Note,@ProgIndex,@PlanDate,@CurrencyCLS,@BudgetRef,@RecordIndex)"
                + "}"
                + "[ModifyData]{"
                + " update Guarantee set "
                + " CurrencySumma = @CurrencySumma,"
                + " Credit = @Credit,"
                + " RecordDate = @RecordDate"
                + " where id=@ID"
                + "}";
конец;

функция ДобавитьПоляВСубПериоды(СубПериоды: СтатическиеДанные);
начало
  СубПериоды.ДобавитьЦелоеПоле("ADate");
  СубПериоды.ДобавитьДробноеПоле("Credit");
  СубПериоды.ДобавитьДробноеПоле("Debit");
  СубПериоды.ДобавитьДробноеПоле("CurrencyCredit");
  СубПериоды.ДобавитьДробноеПоле("CurrencyDebit");
  СубПериоды.ДобавитьСтроковоеПоле("Note", 255).Размер := 255;
  СубПериоды.ДобавитьЦелоеПоле("CurrencyCLS");
  СубПериоды.ДобавитьДробноеПоле("Percent");
конец;

функция ПолучитьСмещениеПоИмени(Имя: строка): целое;
начало
  Результат := Реестр.Узел(УзелСмещений).Значение(Имя).КакЦелое;
конец;

функция ПроводкаПоПрогИндексу(ПрогИндекс: целое): целое;
переменные
  В: Выборка;
начало
  выбрать ПрогИндекс из
    ПрогИндексПроценты: Результат := Реестр.Узел(УзелПараметров).Значение("Бух. проводки начисления процентов").КакЦелое;
    ПрогИндексПениОсн:  Результат := Реестр.Узел(УзелПараметров).Значение("Бух. проводки начисления пени по осн. долгу").КакЦелое;
    ПрогИндексПениПроц: Результат := Реестр.Узел(УзелПараметров).Значение("Бух. проводки начисления пени по процентам").КакЦелое;
  конец;
  // Проверяем проводку на наличие ее в системе
  если не ПроверитьКлассификатор(46, Результат) тогда
    ВызватьОшибку("В настройках реестра указана неверная бухпроводка.");
конец;

// добавляет в периоды код валюты
функция ДобавитьВалютуВПериоды(Периоды: СтатическиеДанные; КодВалюты: целое);
начало
  Периоды.ВНачало;
  пока не Периоды.ВКонце делать
  начало
    Периоды.Редактировать;
    Периоды.Поле("CurrencyCLS").КакЦелое := КодВалюты;
    Периоды.Сохранить;
    Периоды.Следующая;
  конец;
конец;

// Выдает плановую дату уплаты процентов
функция ПолучитьПлановуюДатуУплаты(КонецПериода, ДатаНачалаУплаты: целое): целое;
переменные
  Год, Месяц: целое;
начало
  Год := КонецПериода цел 10000;
  Месяц := (КонецПериода ост 10000) цел 100;
  если Месяц = 12 тогда
  начало
    Месяц := 1;
    Год := Год + 1;
  конец
  иначе 
    Месяц := Месяц + 1;
  Результат := Год * 10000 + Месяц * 100 + (ДатаНачалаУплаты ост 100);  
  // Если в заголовке даты нет, тогда будет 15-е число
  если Результат ост 100 = 0 тогда
    Результат := Результат + 15;
конец;

// Возвращает даты начала для всех видов субпериодов
функция ПолучитьДатуНачала(ИДЗаголовка, ДатаКонца, Тип: целое): целое;
переменные
  В: Выборка;
  ИмяСмещения: строка;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    // Сначала проверяем, не было ли ранее периодов
    В.Запрос := "select max(PeriodEnd) ADate from Guarantee"
                + " where ProgIndex = " + ЦелоеВСтроку(Тип) + " and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка);
    В.Открыть;
    если В.Поле("ADate").КакЦелое &gt; 0 тогда
      Результат := СледующееЧисло(В.Поле("ADate").КакЦелое, 1);
    В.Закрыть;
    // Теперь смотрим, когда же должны начаться периоды по получениям/погашениям
    если Результат &lt; 19000000 тогда
    начало
      выбрать Тип из
        ПрогИндексПроценты: 
          начало
            В.Запрос := "select min(AcceptDate) ADate from Guarantee"
                        + " where ProgIndex = 381 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + " and AcceptDate &lt;= " + ЦелоеВСтроку(ДатаКонца);
            ИмяСмещения := "Получение";
          конец;
        ПрогИндексПениОсн : 
          начало
            В.Запрос := "select min(PlanDate) ADate from Guarantee"
                        + " where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + " and PlanDate &lt;= " + ЦелоеВСтроку(ДатаКонца);
            ИмяСмещения := "Плановое погашение";
          конец;
        ПрогИндексПениПроц: 
          начало
            В.Запрос := "select min(PlanDate) ADate from Guarantee"
                        + " where ProgIndex = 394 and (AcceptDate &gt; 0) and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + " and PlanDate &lt;=" + ЦелоеВСтроку(ДатаКонца);
            ИмяСмещения := "Плановая уплата %";
          конец;
      конец;               
      В.Открыть;
      если В.Поле("ADate").КакЦелое &gt; 0 тогда
        результат := СледующееЧисло(В.Поле("ADate").КакЦелое, ПолучитьСмещениеПоИмени(ИмяСмещения));
    конец;
    
    // Вытаскиваем плановое получение
    если Реестр.Узел(УзелПараметров).Значение("С планом").КакФлаг и (Тип = ПрогИндексПроценты) тогда
    начало
      В.Закрыть;
      В.Запрос := "select min(PlanDate) ADate from Guarantee"
                        + " where ProgIndex = 381 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + " and PlanDate &lt;= " + ЦелоеВСтроку(ДатаКонца);
      В.Открыть;
      если (В.Поле("ADate").КакЦелое &gt; 0) и ((Результат &gt; В.Поле("ADate").КакЦелое) или (Результат &lt; 0.5)) тогда
        результат := СледующееЧисло(В.Поле("ADate").КакЦелое, ПолучитьСмещениеПоИмени(ИмяСмещения));
    конец;
    
    В.Закрыть;
    // В случае того, что не нашлось никакой даты, 
    если Результат &lt; 19000000 тогда // Я думаю, что никто не станет формировать периоды раньше, чем
    начало                          // на 01.01.1900  :)
      В.Запрос := "select LongDate, DateInput from LoanCredit where id = " + ЦелоеВСтроку(ИДЗаголовка);
      В.Открыть;
      результат := В.Поле("LongDate").КакЦелое;
      если Результат = 0 тогда
        Результат := В.Поле("DateInput").КакЦелое;
    конец;
  
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

функция СформироватьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; ПрогИндекс: целое);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
  ТипГода: целое;
  Дата: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = 380 and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.Открыть;
  ТипГода := В.Поле("YearType").КакЦелое;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по месяцам
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      ПолучитьДату(РасширДатаВОбычную(В.Поле("periodstart").КакДробное), Г, М, Д);
      Д := ДеньДаты(В.Поле("periodstart").КакДробное);
      М := МесяцДаты(В.Поле("periodstart").КакДробное);
      Г := ГодДаты(В.Поле("periodstart").КакДробное);
      пока ((Г * 10000 + М * 100 + Д) &lt; КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("Adate").КакДробное := ИсправитьРасширДату(БольшаяДата(Г, М, Д));
          Субпериоды.ПолеПоИмени("note").КакСтрока := "плановое начисление";
          //СубПериоды.Поле("ProgIndex").КакСтрока := ПрогИндекс;
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          М := М ост 12;
          Г := Г + 1;
        конец;   
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("periodstart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("ADate").КакДробное := ДатаКонцаПодпериода;
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          //СубПериоды.Поле("ProgIndex").КакСтрока := ПрогИндекс;
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, 0);
      конец;
    конец;

  обязательно
    УдалитьОбъект(В);
  конец; 
конец;

// Исправляем даты после прибавления смещения
функция ПоправитьДату(Дата: целое): целое;
переменные
  Год, Месяц: целое;
начало
  Результат := Дата;
  если МесяцДаты(Результат) = 0 тогда
    // Для остатков на нач. года пишем число 01.01
    Результат := ГодДаты(Результат) * 10000 + 0101;
  если ДеньДаты(Результат) &gt; ЧислоДнейВМесяце(ГодДаты(Результат), МесяцДаты(Результат)) тогда
  начало
    Год := ГодДаты(Результат);
    Месяц := МесяцДаты(Результат);
    Месяц := Месяц + 1;
    если Месяц &gt; 12 тогда
    начало
      Месяц := 1;
      Год := Год + 1;
    конец; 
    Результат := Год * 10000 + Месяц * 100 + 1;
  конец;  
конец; 



// Формирует все виды субпериодов
функция СформироватьСубПериоды(ИДЗаголовка: целое; СубПериоды: СтатическиеДанные; ДатаНачала, ДатаКонца, Тип: целое);
переменные
  В: Выборка;
  ИмяСмещенияСтавки: строка;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // СубПериоды для процентов
    если Тип = ПрогИндексПроценты тогда
    начало
      В.Закрыть;
      В.Запрос := "select Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Получение")) +  ") ADate, 'Получение гарантии' Note"
                 + " from Guarantee where ProgIndex = 381 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Получение")))
                 + " and AcceptDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Получение")));
      В.Открыть;
      СубПериоды.Закачать(В);
      
      В.Закрыть;
      В.Запрос :="select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Погашение")) +  ") ADate, 'Погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Погашение")))
                 + " and AcceptDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Погашение"))); 
      В.Открыть;
      СубПериоды.Закачать(В);

      если Реестр.Узел(УзелПараметров).Значение("С планом").КакФлаг тогда
      начало
        В.Закрыть;
        В.Запрос := "select Debit, Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Плановое погашение")) +  ") ADate, 'Плановое погашение гарантии' Note"
                   + " from Guarantee where ProgIndex in (381,382) and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                   + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Плановое погашение")))
                   + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Плановое погашение")));
        В.Открыть;
        СубПериоды.Закачать(В);

        В.Закрыть;
        В.Запрос := "select Debit, Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Плановое получение")) +  ") ADate, 'Плановое получение гарантии' Note"
                   + " from Guarantee where ProgIndex in (381) and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                   + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Плановое получение")))
                   + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Плановое получение")));
        В.Открыть;
        СубПериоды.Закачать(В);
      конец;
    конец;
    
    если Тип = ПрогИндексПениОсн тогда
    начало
      В.Закрыть;
      В.Запрос := "select Debit Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Плановое погашение")) +  ") ADate, 'Плановое погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Плановое погашение")))
                 + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Плановое погашение")));
      В.Открыть;
      СубПериоды.Закачать(В);
      
      В.Закрыть;
      В.Запрос :="select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Погашение")) +  ") ADate, 'Погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Погашение")))
                 + " and AcceptDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Погашение"))); 
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;

    если Тип = ПрогИндексПениПроц тогда
    начало
      В.Закрыть;
      В.Запрос := "select Debit Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Плановая уплата %")) +  ") ADate, 'Плановая уплата процентов' Note"
                 + " from Guarantee where ProgIndex = 394 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and (AcceptDate is not null)"
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Плановая уплата %")))
                 + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Плановая уплата %")));
      В.Открыть;
      СубПериоды.Закачать(В);
      
      В.Закрыть;
      В.Запрос :="select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Уплата %")) +  ") ADate, 'Уплата процентов' Note"
                 + " from Guarantee where ProgIndex = 397 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Уплата %")))
                 + " and AcceptDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Уплата %"))); 
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;

    // получаем необходимые ставки
    выбрать Тип из
      ПрогИндексПроценты: ИмяСмещенияСтавки := "Изменение ставки процентов";
      ПрогИндексПениОсн : ИмяСмещенияСтавки := "Изменение ставки пени по осн. долгу";
      ПрогИндексПениПроц: ИмяСмещенияСтавки := "Изменение ставки пени по процентам";
    конец;
    В.Закрыть;
    В.Запрос := "select (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени(ИмяСмещенияСтавки)) +  ") ADate, Percent, Note from PercentJournal"
                + " where ProgIndex = " + ЦелоеВСтроку(Тип - 7)
                + " and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени(ИмяСмещенияСтавки)))
                + " and AcceptDate &gt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени(ИмяСмещенияСтавки))); 
    В.Открыть;
    СубПериоды.Закачать(В);

    СубПериоды.ВНачало;
    пока не субПериоды.ВКонце делать
    начало
      СубПериоды.Редактировать;
      СубПериоды.Поле("ADate").КакЦелое := ПоправитьДату(СубПериоды.Поле("ADate").КакЦелое);
      СубПериоды.Сохранить;
      СУбПериоды.Следующая;
    конец; 

  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Формирует периоды по процентам и пеням
функция СформироватьПериоды(ИДЗаголовка: целое; Периоды, СубПериоды: СтатическиеДанные; ДатаКонца, Тип: целое);
переменные
  ДатаНачала: целое;
  ФлагСубПериодов: целое;
  ВспомСД: СтатическиеДанные;
начало
  // Получаем дату начала формирования периодов
  ДатаНачала := ПолучитьДатуНачала(ИДЗаголовка, ДатаКонца, Тип);
  ФлагСубПериодов := Ложь;
  выбрать Тип из
    ПрогИндексПроценты: ФлагСубПериодов := Реестр.Узел(УзелПараметров).Значение("Периоды процентов подробно").КакФлаг;
    ПрогИндексПениОсн : ФлагСубПериодов := Реестр.Узел(УзелПараметров).Значение("Периоды пени по осн. долгу подробно").КакФлаг;
    ПрогИндексПениПроц: ФлагСубПериодов := Реестр.Узел(УзелПараметров).Значение("Периоды пени по процентам подробно").КакФлаг;
  конец;
  попытка
    ВспомСД := СоздатьСтатическиеДанные;
    ВспомСД.ПрисвоитьПоля(СубПериоды);
    ВспомСД.Открыть;
    СубПериоды.Clear;
    СубПериоды.Фильтр := "";
    если ФлагСубПериодов тогда
      СформироватьСубПериоды(ИДЗаголовка, ВспомСД, ДатаНачала, ДатаКонца, Тип);
    СформироватьПериодыПоДлине(ИДЗаголовка, СубПериоды, ДатаНачала, ДатаКонца, Тип);
    // Для удобства вставляем дату начала субпериодов
    ВспомСД.Вставить;
    ВспомСД.Поле("ADate").КакЦелое := ДатаНачала;
    ВспомСД.Сохранить;
    ВспомСД.Фильтр := "(ADate&lt;=" + ЦелоеВСтроку(ДатаКонца) + ")and(ADate&gt;=" + ЦелоеВСтроку(ДатаНачала) + ")";
    СубПериоды.Группировать(ВспомСД, "keys=ADate");
    СубПериоды.Индекс := "ADate";
    СубПериоды.ВНачало;
    
    // Формируем периоды
    СубПериоды.Следующая;
    пока (не СубПериоды.ВКонце) делать
    начало
      Периоды.Вставить;
      Периоды.Поле("PeriodStart").КакЦелое := ДатаНачала;
      Периоды.Поле("PeriodEnd").КакЦелое := ПредыдущееЧисло(СубПериоды.Поле("ADate").КакЦелое, 1);
      Периоды.Поле("ProgIndex").КакЦелое := Тип;
      Периоды.Поле("BuhPaymentCLS").КакЦелое := ПроводкаПоПрогИндексу(Тип);
      Периоды.Поле("Note").КакСтрока := СубПериоды.Поле("note").КакСтрока;
      Периоды.Поле("BudgetRef").КакЦелое := ЦелаяКонстанта(-1, 3);
      Периоды.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      Периоды.Сохранить;
      ДатаНачала := СубПериоды.Поле("ADate").КакЦелое;
      СубПериоды.Следующая;
    конец;
    
    // Добавляем последний период
    если ДатаНачала &lt;= ДатаКонца тогда
    начало
      Периоды.Вставить;
      Периоды.Поле("PeriodStart").КакЦелое := ДатаНачала;
      Периоды.Поле("PeriodEnd").КакЦелое := ДатаКонца;
      Периоды.Поле("ProgIndex").КакЦелое := Тип;
      Периоды.Поле("BuhPaymentCLS").КакЦелое := ПроводкаПоПрогИндексу(Тип);
      Периоды.Поле("Note").КакСтрока := "дата формирования";
      Периоды.Поле("BudgetRef").КакЦелое := ЦелаяКонстанта(-1, 3);
      Периоды.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      Периоды.Сохранить;
    конец;
  обязательно
    УдалитьОбъект(ВспомСД);
  конец;
конец;

// Рассчитывает проценты и пени
функция РасчетПроцентов(ИДДоговора: целое; СубПериоды: СтатическиеДанные; ДатаНачала, ДатаКонца, Тип, КодВалюты: целое; СуммаВВалюте: дробное): дробное;
переменные
  Остаток, ОстатокВВалюте, Ставка, НачисленоВРублях, НачисленоВВалюте: дробное;
  НачалоПериода, ДлинаПериода, Год: целое;
  ВспомСД: СтатическиеДанные;
начало
  СубПериоды.Clear;
  СубПериоды.Фильтр := "";
  СформироватьСубПериоды(ИДДоговора, СубПериоды, 19000000, ДатаКонца, Тип);
  
  // Для удобства вставляем дату начала субпериодов
  СубПериоды.Вставить;
  СубПериоды.Поле("ADate").КакЦелое := ДатаНачала;
  СубПериоды.Сохранить;
  СубПериоды.Вставить;
  СубПериоды.Поле("ADate").КакЦелое := СледующаяДата(ДатаКонца, 1, 0);
  СубПериоды.Сохранить;
  СубПериоды.Индекс := "ADate";
  СубПериоды.ВНачало;
  // Вставляем разбиение по годам
  Год := ГодДаты(ДатаНачала);
  пока Год &lt;&gt; ГодДаты(ДатаКонца) делать
  начало
    СубПериоды.Вставить;
    Год := Год + 1; 
    СубПериоды.Поле("ADate").КакЦелое := Год * 10000 + 0101;
    СубПериоды.Сохранить;
  конец;

  ВспомСД := СоздатьСтатическиеДанные;
  ВспомСД.ПрисвоитьПоля(СубПериоды);
  ВспомСД.Открыть;
  ВспомСД.Группировать(Субпериоды, "keys=ADate;Credit=sum(Credit);Debit=sum(Debit);CurrencyCredit=sum(CurrencyCredit);CurrencyDebit=sum(CurrencyDebit);Percent=max(Percent)");
  Субпериоды.Clear;
  СубПериоды.Закачать(ВспомСД);

  Остаток := 0;
  ОстатокВВалюте := 0;
  Ставка := 0;
  // Сортируем субпериоды по дате
  СубПериоды.Индекс := "ADate";
  // Ищем остаток на начало периода и процентную ставку
  пока (СубПериоды.Поле("ADate").КакЦелое &lt;= ДатаНачала) и не СубПериоды.ВКонце делать
  начало
    Остаток := Остаток + СубПериоды.Поле("Credit").КакДробное - СубПериоды.Поле("Debit").КакДробное;
    ОстатокВВалюте := ОстатокВВалюте + СубПериоды.Поле("CurrencyCredit").КакДробное - СубПериоды.Поле("CurrencyDebit").КакДробное;
   // Если остаток меньше нуля, то он будет 0
    // Иначе банку придется платить заемщику :)
    если Остаток &lt; 0 тогда
      Остаток := 0;
    если ОстатокВВалюте &lt; 0 тогда
      ОстатокВВалюте := 0;  
    если СубПериоды.Поле("Percent").КакДробное &gt; 0 тогда
      Ставка := СубПериоды.Поле("Percent").КакДробное;
    СубПериоды.Следующая;  
  конец;
  
  // Теперь рассчитываем, сколько начислено процентов/пеней за период
  НачисленоВРублях := 0;
  НачисленоВВалюте := 0;
  НачалоПериода := ДатаНачала;
  пока (не СубПериоды.ВКонце) и (СубПериоды.Поле("ADate").КакЦелое &lt;= СледующаяДата(ДатаКонца, 1, 0)) делать
  начало
    // Получаем длину расчетного периода
    ДлинаПериода := ЧислоДней(НачалоПериода, СубПериоды.Поле("ADate").КакЦелое);
    // Считаем, сколько было начислено за период в рублях и в валюте
    НачисленоВРублях := НачисленоВРублях + Остаток * ДлинаПериода * Ставка / (ЧислоДнейВГоду(НачалоПериода цел 10000) * 100); 
    НачисленоВВалюте := НачисленоВВалюте + ОстатокВВалюте * ДлинаПериода * Ставка / (ЧислоДнейВГоду(НачалоПериода цел 10000) * 100); 
    // Считаем остаток на конец периода
    Остаток := Остаток + СубПериоды.Поле("Credit").КакДробное - СубПериоды.Поле("Debit").КакДробное;
    ОстатокВВалюте := ОстатокВВалюте + СубПериоды.Поле("CurrencyCredit").КакДробное - СубПериоды.Поле("CurrencyDebit").КакДробное;
    // Получаем процентную ставку на конец периода
    если СубПериоды.Поле("Percent").КакДробное &gt; 0 тогда
      Ставка := СубПериоды.Поле("Percent").КакДробное;
    НачалоПериода := СубПериоды.Поле("ADate").КакЦелое;  
    СубПериоды.Следующая;
  конец;
  // Округляем итоговую сумму
  если КодВалюты = ЦелаяКонстанта(19, 4) тогда
  начало
    Результат := ОкруглитьДоЗнака(НачисленоВРублях, 2);
    СуммаВВалюте := 0;
  конец
  иначе
  начало
    СуммаВВалюте := ОкруглитьДоЗнака(НачисленоВВалюте, 2);
    Результат := ОкруглитьДоЗнака(НачисленоВВалюте * ПолучитьОбмКурс(КодВалюты, ДатаКонца), 2);
  конец;  
  Интерфейс(ВспомСД).Освободить;
конец;

функция ТипФинансированияПоРаспорядителю(Счет: целое): целое;
переменные
  В: Выборка;
начало
  Результат := 0;
  В := СоздатьВыборку;
  попытка
    В.БазаДанных := Бюджет;
    В.Запрос := "select FinType from Org_Accounts where id = " + ЦелоеВСтроку(Счет);
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := В.Поле("FinType").КакЦелое;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Финансирование заемщика
функция БанковскоеФинансированиеЗаемщика(Заголовок, Деталь: СтатическиеДанные; БухПроводка, НомерРаспоряжения, ТекущееРаспоряжение : Строка; СчетЗаголовка : целое);
переменные
  ссЗаголовок : СтатическиеДанные;
  ссДеталь : СтатическиеДанные;
  ИДЗаголовка, ИДДетали: целое;
начало
  // заголовок записи распоряжения на финансирование
  ссЗаголовок := СоздатьСтатическиеДанные;
  ссЗаголовок.СоединитьБД;
  ссЗаголовок.Запрос :=   
   "[PUMPDATA]{
     select id, MakeDate,UserNote,DFAccount,ProgIndex,BudgetRef,Number from 
       FinDocCaption
     where 1&lt;&gt;1
   }  
    [INSERTDATA]{
     insert into FinDocCaption
       (id, MakeDate,UserNote,DFAccount,ProgIndex,BudgetRef,Number)
     values 
       (@id, @MakeDate, ~UserNote, @DFAccount, 23, @BudgetRef, ~Number)
   }";
  // детализация распоряжения
  ссДеталь := СоздатьСтатическиеДанные;
  ссДеталь.СоединитьБД;
  ссДеталь.Запрос :=   
   "[PUMPDATA]{
     select 
       id,DocType,CurrencyCLS,DFAccount,AccountRef,BudgetRef,CurrencySumma,
       Credit,Note,ProgIndex,RecordIndex,FacialAcc_CLS,BuhPaymentCLS,AcceptorAccRef,FinType
     from
       FinDocDetail
     where 1&lt;&gt;1
   }  
    [INSERTDATA]{
     insert into FinDocDetail
       (id,DocType,CurrencyCLS,DFAccount,AccountRef,BudgetRef,CurrencySumma,
       Credit,Note,ProgIndex,RecordIndex,FacialAcc_CLS,BuhPaymentCLS,AcceptorAccRef,FinType)
     values 
       (@id,@DocType,@CurrencyCLS,@DFAccount,@AccountRef,@BudgetRef,@CurrencySumma,
       @Credit,~Note,23,@RecordIndex,@FacialAcc_CLS,@BuhPaymentCLS,@AcceptorAccRef,@FinType)
   }";
   
  ОткрытьТранзакцию;
  попытка
    если ТекущееРаспоряжение = -1 тогда // -1 ставим руками в случае не нахождения распоряжения среди текущих
    начало
      // вставка нового заголовка    
      ссЗаголовок.Открыть;
      ссЗаголовок.Вставить;   
      ИДЗаголовка := ПолучитьИД; // ИД нужно для подстановки в деталь распоряжения
      ссЗаголовок.Поле("ID").КакЦелое := ИДЗаголовка;
      ссЗаголовок.Поле("MakeDate").КакЦелое := DateToDateEX(ТекущаяДата);
      ссЗаголовок.Поле("UserNote").КакСтрока := Деталь.Поле("Note").КакСтрока;
      ссЗаголовок.Поле("DFAccount").КакСтрока := Заголовок.Поле("DFAccount").КакСтрока;
      ссЗаголовок.Поле("BudgetRef").КакЦелое := Заголовок.Поле("BudgetRef").КакЦелое;
      ссЗаголовок.Поле("Number").КакСтрока := НомерРаспоряжения;
      ссЗаголовок.Сохранить;
      ссЗаголовок.СохранитьИзменения;
    конец
    иначе
      ИДЗаголовка := ТекущееРаспоряжение;
      
    ссДеталь.Открыть;
    // Деталь - обрабатываемые данные
    Деталь.ВНачало;
    пока не Деталь.ВКонце делать
    начало
      // добавление в деталь распоряжения
      ИДДетали := ПолучитьИД;
      ссДеталь.Вставить;
      ссДеталь.Поле("ID").КакЦелое := ИДДетали;
      ссДеталь.Поле("DocType").КакСтрока := Деталь.Поле("Doctype").КакСтрока;
      ссДеталь.Поле("CurrencyCLS").КакСтрока := Деталь.Поле("CurrencyCLS").КакСтрока;
      ссДеталь.Поле("DFAccount").КакСтрока := Заголовок.Поле("DFAccount").КакСтрока;
      ссДеталь.Поле("AccountRef").КакСтрока := Заголовок.Поле("GuaranteeAccRef").КакСтрока;
      ссДеталь.Поле("BudgetRef").КакЦелое := Заголовок.Поле("BudgetRef").КакЦелое;
      ссДеталь.Поле("CurrencySumma").КакДробное := Деталь.Поле("CurrencySumma").КакДробное;
      ссДеталь.Поле("Credit").КакДробное := Деталь.Поле("Debit").КакДробное;
      ссДеталь.Поле("Note").КакСтрока := Деталь.Поле("Note").КакСтрока;
     
      ссДеталь.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      ссДеталь.Поле("FacialAcc_CLS").КакСтрока := Заголовок.Поле("FacialAcc_CLS").КакСтрока;
      ссДеталь.Поле("BuhPaymentCLS").КакСтрока := БухПроводка;
      ссДеталь.Поле("AcceptorAccRef").КакЦелое := СчетЗаголовка;
      ссДеталь.Поле("FinType").КакСтрока := ЦелоеВСтроку(ТипФинансированияПоРаспорядителю(Заголовок.Поле("GuaranteeAccRef").КакСтрока)); 
      ссДеталь.Сохранить;
      // конец - добавление в деталь распоряжения
      
      Деталь.Редактировать;
      Деталь.Поле("SubRecordIndex").КакЦелое := ИДДетали;
      Деталь.Поле("SubProgIndex").КакЦелое := 415;
      Деталь.Сохранить;
      Деталь.Следующая;             
    конец;
    ссДеталь.ApplyUpdates;
    ЗакрытьТранзакцию;            
  неудача
    ОтменитьТранзакцию;
    ВызватьОшибку(ПоследняяОшибка)
  конец;
конец;

// Финансирование через казначейство
функция КазначейскоеФинансированиеЗаемщика(Заголовок, Деталь : СтатическиеДанные; БухПроводка: строка; ТекущийРеестр, СчетЗаголовка : целое);
переменные
  ссЗаголовок : СтатическиеДанные;
  ссДеталь : СтатическиеДанные;
  ИДЗаголовка: целое;
начало
  // заголовок Расход по ПП
  ссЗаголовок := СоздатьСтатическиеДанные;
  ссЗаголовок.СоединитьБД;
  ссЗаголовок.Запрос :=   
   "[PUMPDATA]{
     select 
       id, Credit, DestAccount, SourceFacialAcc_CLS, DestFacialAcc_CLS, ProgIndex, Note, BuhPaymentCLS,BudgetRef,SourceAccount,Reestr_Ref,SubProgIndex
     from 
       FacialFinCaption  
     where 1&lt;&gt;1
   }  
    [INSERTDATA]{
     insert into FacialFinCaption 
       (id, Credit, DestAccount, SourceFacialAcc_CLS, DestFacialAcc_CLS, ProgIndex, Note, BuhPaymentCLS,BudgetRef,SourceAccount,Reestr_Ref,SubProgIndex)
     values 
       (@id, @Credit, @DestAccount, @SourceFacialAcc_CLS, @DestFacialAcc_CLS, 63, ~Note, @BuhPaymentCLS,@BudgetRef,@SourceAccount,@Reestr_Ref,416)     
   }";
  // детализация расход по ПП
  ссДеталь := СоздатьСтатическиеДанные;
  ссДеталь.СоединитьБД;
  ссДеталь.Запрос :=   
   "[PUMPDATA]{
     select 
       SourceFacialAcc_CLS, DestFacialAcc_CLS, BudgetRef, Credit, ProgIndex, RecordIndex,SubProgIndex
     from
        FacialFinDetail
     where 1&lt;&gt;1
   }  
    [INSERTDATA]{
     insert into FacialFinDetail
       (SourceFacialAcc_CLS, DestFacialAcc_CLS, BudgetRef, Credit, ProgIndex, RecordIndex,SubProgIndex)
     values 
       (@SourceFacialAcc_CLS, @DestFacialAcc_CLS, @BudgetRef, @Credit, 63, @RecordIndex, 416)
   }";
  ОткрытьТранзакцию;
  попытка    
    //ТекущийРеестр := ЦелаяКонстанта(56, 0);
    // вставка нового заголовка
    Деталь.ВНачало;
    ссЗаголовок.Открыть;
    ссДеталь.Открыть;    
    // Деталь - обрабатываемые данные
    пока не Деталь.ВКонце делать
    начало
      ссЗаголовок.Вставить;   
      ИДЗаголовка := ПолучитьИД;
      // Вставляем заголовок в РАСХОД по п/п
      ссЗаголовок.Поле("ID").КакЦелое := ИДЗаголовка;
      ссЗаголовок.Поле("Credit").КакДробное := Деталь.Поле("Debit").КакДробное;;
      ссЗаголовок.Поле("DestAccount").КакЦелое := СчетЗаголовка;
      ссЗаголовок.Поле("SourceFacialAcc_CLS").КакСтрока := Заголовок.Поле("FacialAcc_CLS").КакСтрока;
      ссЗаголовок.поле("DestFacialAcc_CLS").КакЦелое := ЦелаяКонстанта(30, 7); // Осн. счет РВС
      ссЗаголовок.Поле("Note").КакСтрока := Деталь.Поле("Note").КакСтрока;
      ссЗаголовок.Поле("BuhPaymentCLS").КакСтрока := БухПроводка;
      ссЗаголовок.Поле("BudgetRef").КакЦелое := Деталь.Поле("BudgetRef").КакЦелое;
      ссЗаголовок.Поле("SourceAccount").КакЦелое := ЦелаяКонстанта(30, 1);
      ссЗаголовок.Поле("Reestr_Ref").КакЦелое := ТекущийРеестр;
      ссЗаголовок.Сохранить;
        
      // Вставляем детализацию в расход по п/п
    
      ссДеталь.Вставить;
      ссДеталь.Поле("DestFacialAcc_CLS").КакЦелое := ЦелаяКонстанта(30, 7);
      ссДеталь.Поле("SourceFacialAcc_CLS").КакСтрока := Заголовок.Поле("FacialAcc_CLS").КакСтрока;
      ссДеталь.Поле("BudgetRef").КакЦелое := Деталь.Поле("BudgetRef").КакЦелое;
      ссДеталь.Поле("Credit").КакДробное := Деталь.Поле("Debit").КакДробное;
      ссДеталь.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      ссДеталь.Сохранить;    

      // Изменяем детализацию
      Деталь.Редактировать;
      Деталь.Поле("SubProgIndex").КакЦелое := 63;
      Деталь.Поле("SubRecordIndex").КакЦелое := ИДЗаголовка;
      Деталь.Сохранить;

      Деталь.Следующая;
    конец;
    ссЗаголовок.СохранитьИзменения;
    ссДеталь.ApplyUpdates;      
    ЗакрытьТранзакцию;      
  неудача
    ОтменитьТранзакцию;
    УдалитьОбъект(ссЗаголовок, ссДеталь);
    ВызватьОшибку(ПоследняяОшибка)
  конец;
конец;

// Отменить финансирование заемщика
функция ОтменитьФинансирование(Деталь: СтатическиеДанные);
переменные
  В: Выборка;
  ИДЗаголовкаНаФин: целое;
начало
  В := СоздатьВыборку;
  попытка
    В.БазаДанных := Бюджет;
    В.Запрос := "select AcceptDate, RecordIndex from FinDocDetail"
               + " where ID = " + Деталь.Поле("SubRecordIndex").КакСтрока;
    В.Открыть;
    если В.Поле("AcceptDate").КакЦелое &lt;&gt; 0 тогда
      ВызватьОшибку("Невозможно удалить проведенное распоряжение на финансирование!!!");
    ИДЗаголовкаНаФин := В.Поле("RecordIndex").КакЦелое;
    // Для правильного удаления необходимо все выполнить за одну транзакцию
    ОткрытьТранзакцию;
    // Удаляем детализацию распоряжения
    В.Запрос := "delete from FinDocDetail"
                + " where ID = " + Деталь.Поле("SubRecordIndex").КакСтрока;
    В.Выполнить;
    // Удаляем заголовок распоряжения
    В.Закрыть;
    В.Запрос := "select id from FinDocDetail"
                + " where RecordIndex = " + ЦелоеВСтроку(ИДЗаголовкаНаФин);
    В.Открыть;
    если В.ЧислоЗаписей = 0 тогда
    начало            
      В.Запрос := "delete from FinDocCaption"
                + " where ID = " + ЦелоеВСтроку(ИДЗаголовкаНаФин);
      В.Выполнить;
    конец;
    В.Запрос := "delete from FacialFinDetail"
                + " where RecordIndex = "  + Деталь.Поле("SubRecordIndex").КакСтрока;
    В.Выполнить;
    В.Запрос := "delete from FacialFinCaption" 
                + " where id ="  + Деталь.Поле("SubRecordIndex").КакСтрока;           
    В.Выполнить;
    Деталь.Редактировать;
    Деталь.Поле("SubRecordIndex").КакЦелое := 0;
    Деталь.Поле("SubProgIndex").КакЦелое := 0;
    Деталь.Поле("AcceptDate").Clear;
    Деталь.Сохранить;
    Деталь.ApplyUpdates;      
    ЗакрытьТранзакцию;
  обязательно
    ОтменитьТранзакцию;
    УдалитьОбъект(В);
  конец;
конец;

функция ПолучитьСписокПрогИндексов(ФлагПроценты, ФлагПениОсн, ФлагПениПроц: целое): строка;
начало
  Результат := "";
  если ФлагПроценты тогда
    Результат := "394";
  если ФлагПениОсн тогда
    если Результат = "" тогда
      Результат := "395"
    иначе
      Результат := Результат + ",395";    
  если ФлагПениПроц тогда
    если Результат = "" тогда
      Результат := "396"
    иначе
      Результат := Результат + ",396";    
конец;

// Проставляет даты учета в статиксете по концу периода
функция ПроставитьДатыУчета(Данные: СтатическиеДанные);
начало
  Данные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    Данные.Редактировать;
    Данные.Поле("RecordDate").КакЦелое := ПолучитьДатуКонцаМесяца(Данные.Поле("PeriodEnd").КакЦелое, 0);
    Данные.Сохранить;
    Данные.Следующая;
  конец;
конец;
</value>
    <param value="ДляГарантий.abl" type="3" name="version">35.042.01</param>
    <param value="ДляГарантий.abl" type="3" name="crc32">$F67778DE</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E246D33E-719C-4693-AFBE-A813016899D4}\Действия\РасчетКурсовойРазницы">
    <value type="7" name="Код программы">// Ефименков А.В., 2004г.
// Формирует на закладке "Курс. разница" интерфейса гарантий записи о курсовой разнице

включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\AblTools.lib';
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";
включить "Бюджет\Ресурсы\Макросы\ПараметрыИзБД.abl";
включить "Бюджет\Ресурсы\Макросы\ДляКурсовойРазницыОбщее.abl";

включить 'Project';

константы
  ПрогИндексГарантии = 380;
  УзелПараметров = "Бюджет\Объекты\Настройки\Гарантии\Параметры";
  УзелКР = "Бюджет\Объекты\Настройки\Гарантии\КурсоваяРазница";
  
  БлокГарантии = 31;
  
переменные
  Ф: ФормаВвода;
  Заголовки, ОснДолг, Проценты, Пени, КурсоваяРазница: СтатическиеДанные; 
  пОснДолг, пПроценты, пПени : ДиалоговыйПараметр;
  КодИсточника: целое;
  ИсточникСтрокой: строка;
  
// Эта функция определяет дату начала, с которой должна формироваться курсовая разница, если записи по ней уже есть
  функция ОпределитьДатуНачалаКурсовойРазницы(Заголовки: СтатическиеДанные; ПрогИндекс: целое): целое;
  переменные
    В: Выборка;
  начало
    В := СоздатьВыборку;
    попытка
      В.БазаДанных := Бюджет;
      В.Запрос := "select max(RecordDate) RecordDate from Debt where ProgIndex = " + ЦелоеВСтроку(ПрогИндекс) 
        + " and RecordIndex = " + Заголовки.Поле("id").КакСтрока;
      В.открыть;
      если В.ЧислоЗаписей = 1 тогда
        Результат := В.Поле("RecordDate").КакЦелое
      иначе
        Результат := 0;   
    обязательно
      УдалитьОбъект(В);
    конец;
  конец;
  
  // Находит проводку обратную указанной
  функция НайтиОбратнуюПроводку(Проводка: целое): целое;
  переменные
    В: Выборка;
  начало
    В := СоздатьВыборку;
    попытка
      В.БазаДанных := Бюджет;
      В.Запрос :=   " select ac1.BuhOperationID from AccountsCorr ac1"
                  + " where "
                  + " ac1.Debit = (select ac2.Credit from AccountsCorr ac2 where ac2.BuhOperationID = " + ЦелоеВСтроку(Проводка) + ")" 
                  + " and ac1.Credit = (select ac3.Debit from AccountsCorr ac3 where ac3.BuhOperationID = " + ЦелоеВСтроку(Проводка) + ")";      В.Открыть;
      если В.ЧислоЗаписей &lt;&gt; 1 тогда
        ВызватьОшибку("Не найдена проводка, обратная проводке " + ЦелоеВСтроку(Проводка));
      Результат := В.Поле("BuhOperationID").КакЦелое;  
    обязательно
      УдалитьОбъект(В);
    конец;
  конец;
  
  // Смотрит, откуда пришла валютная сумма. Если из Начисления/Получения, то ничего не происходит
  // если из Погашения/Уплаты - тогда возвращается сумма с минусом
  функция ПроставитьЗнакУВалютнойСуммы(Данные: СтатическиеДанные): дробное;
  начало
    выбрать Данные.Поле("ProgIndex").КакЦелое из
      382, 397, 398, 399: Результат := - Данные.Поле("CurrencySumma").КакДробное;
      иначе
        Результат := Данные.Поле("CurrencySumma").КакДробное;
    конец;
  конец;
  
  // Функция формирует записи о курсовой разнице и делает подробный расчет
  функция ПодсчитатьКурсовуюРазницу(Заголовки, Данные, КР: СтатическиеДанные; ПрогИндекс, Проводка, ДатаКонца, ИВФ: целое);
  переменные
    //СубПериоды: СтатическиеДанные;
    ДатаНачала, ТекущаяДата: целое;
    ОстатокВВалюте: дробное;
    СтарыйКурс, НовыйКурс: дробное;
  начало
    Данные.Вставить;
    Данные.Поле("RecordDate").КакЦелое := ДатаКонца;
    Данные.Сохранить;
    // Получаем дату начала
    ДатаНачала := ОпределитьДатуНачалаКурсовойРазницы(Заголовки, ПрогИндекс);
    Данные.Индекс := "RecordDate";
    Данные.ВНачало;
    если Данные.Поле("RecordDate").КакЦелое &gt; ДатаНачала тогда
      ДатаНачала := Данные.Поле("RecordDate").КакЦелое;
    если ДатаНачала &lt;= ДатаКонца тогда
    начало
      // Считаем остаток в валюте на дату начала расчета  
      Данные.Фильтр := "RecordDate&lt;=" + ЦелоеВСтроку(ДатаНачала);
      Данные.ВНачало;
      ОстатокВВалюте := 0;
      пока не Данные.ВКонце делать
      начало
        ОстатокВВалюте := ОстатокВВалюте + ПроставитьЗнакУВалютнойСуммы(Данные);
        Данные.Следующая;
      конец;
      // Теперь создаем записи о курсовой разнице
      Данные.Фильтр := "RecordDate&gt;" + ЦелоеВСтроку(ДатаНачала);
      Данные.ВНачало;
      СтарыйКурс := ПолучитьОбмКурс(Заголовки.Поле("CurrencyCLS").КакЦелое, ДатаНачала);
      пока не Данные.ВКонце делать
      начало
        КР.Вставить;
        КР.Поле("RecordDate").КакЦелое := Данные.Поле("RecordDate").КакЦелое; 
        НовыйКурс := ПолучитьОбмКурс(Заголовки.Поле("CurrencyCLS").КакЦелое, Данные.Поле("RecordDate").КакЦелое);
        КР.Поле("Credit").КакДробное := ОкруглитьДоЗнака((НовыйКурс - СтарыйКурс) * ОстатокВВалюте, 2);
        КР.Поле("Exchange").КакДробное := НовыйКурс;
        КР.Поле("DFAccount").КакЦелое := Заголовки.Поле("DFAccount").КакЦелое;
        КР.Поле("AccRef").КакЦелое := Заголовки.Поле("DFAccount").КакЦелое;
        КР.Поле("BuhPaymentCLS").КакЦелое := Проводка;
        КР.Поле("ProgIndex").КакЦелое := ПрогИндекс;
        КР.Поле("RecordIndex").КакЦелое := Заголовки.Поле("id").КакЦелое;
        КР.Поле("CurrencySumma").КакДробное := ОстатокВВалюте;
        КР.Поле("CurrencyCLS").КакДробное := Заголовки.Поле("CurrencyCLS").КакЦелое;
        КР.Поле("Delta").КакДробное := ОкруглитьДоЗнака(НовыйКурс - СтарыйКурс, 6);
        КР.Поле("id").КакЦелое := ПолучитьИД;
        КР.Поле("RecordIndex2").КакЦелое := КР.Поле("id").КакЦелое;
        КР.Поле("IFS").КакЦелое := ИВФ;
        КР.Поле("BuhOperationCls").КакЦелое := ПолучитьОперациюОтраженияКР(БлокГарантии , КР.Поле("Credit").КакДробное);
        КР.Поле("Note").КакСтрока := "Курсовая разница на " + DateExToStr(Данные.Поле("RecordDate").КакЦелое);
        СтарыйКурс := НовыйКурс;
        ОстатокВВалюте := ОстатокВВалюте + ПроставитьЗнакУВалютнойСуммы(Данные);
        КР.Сохранить;
        ТекущаяДата := Данные.Поле("RecordDate").КакЦелое;
        Данные.Следующая;
        // Игнорируем одинаковые даты
        пока (Данные.Поле("RecordDate").КакЦелое = ТекущаяДата) и (не Данные.ВКонце) делать
        начало
          ОстатокВВалюте := ОстатокВВалюте + ПроставитьЗнакУВалютнойСуммы(Данные);
          Данные.Следующая;
        конец;
      конец;
    конец;
    Данные.Фильтр := "";
  конец;
  
  функция ЗапросОсновнойДолг: строка;
  начало
    Результат := " select RecordDate, CurrencySumma, ProgIndex from Guarantee"
               + " where (ProgIndex in (381, 382)) and (RecordIndex = @MasterID) and (AcceptDate is not null)";
  конец;

  функция ЗапросПроценты: строка;
  начало
    Результат := " select RecordDate, CurrencySumma, ProgIndex from Guarantee"
               + " where (ProgIndex in (394, 397)) and (RecordIndex = @MasterID) and (AcceptDate is not null)";
  конец;

  функция ЗапросПени: строка;
  начало
    Результат := " select RecordDate, CurrencySumma, ProgIndex from Guarantee"
               + " where (ProgIndex in (395, 396, 398, 399)) and (RecordIndex = @MasterID) and (AcceptDate is not null)";
  конец;

  функция ЗапросКурсоваяРазница: строка;
  начало
    Результат := " [PumpData] {"
               + " select d.RecordDate, d.IFS, d.CurrencySumma, d.CurrencyCLS, d.Credit, d.DFAccount, d.AccRef, d.BuhPaymentCLS,"
               + " ic.Exchange, ic.id, ic.Delta, d.RecordIndex2, d.ProgIndex, d.RecordIndex, d.Note, d.BuhOperationCls"
               + " from Debt d"
               + " left join IncCurrency ic on (ic.id = d.RecordIndex2)"
               + " where 1&lt;&gt;1"
               + "}"
               + "[InsertData] {"
               + " insert into IncCurrency (id, Exchange, Delta)"
               + " values (@id, @Exchange, @Delta)"
               + "}"
               + "{"
               + " insert into Debt(IFS, Credit, RecordDate, CurrencySumma, CurrencyCLS, DFAccount, AccRef, BuhPaymentCLS,"
               + " ProgIndex, RecordIndex, RecordIndex2, Note, BuhOperationCls)"
               + " values(@IFS, @Credit, @RecordDate, @CurrencySumma, @CurrencyCLS, @DFAccount, @AccRef, @BuhPaymentCLS,"
               + " @ProgIndex, @RecordIndex, @RecordIndex2, ~Note, @BuhOperationCls)"
               + "}"
               ;
  конец;

  функция УбратьТочки(Значение: строка): строка;
  переменные
    К : целое;
  начало
    Результат := Значение;
    пока Позиция(".", Результат) &gt; 0 делать
    начало
      к := Позиция(".", Результат);
      Результат := Подстрока(Результат, 1, к - 1) + Подстрока(Результат, к + 1, Длина(Результат) - к);
    конец;
  конец;  

  функция ПолучитьКодИсточникаВФ(Значение: строка): целое;
  переменные
    В: Выборка;
  начало
    Результат := 0;
    В := СоздатьВыборку;
    попытка
      В.БазаДанных := Бюджет;
      В.Запрос := "select id from InnerFinSource where FinSourceValue = '" + Значение + "'";
      В.Открыть;
      если В.ЧислоЗаписей &lt;&gt; 0 тогда
        Результат := В.Поле("id").КакЦелое;
    обязательно
      УдалитьОбъект(В);
    конец;  
  конец;

начало
  Ф := ПолучитьФормуВвода;
  если Ф.Заголовки.Таблица.ЧислоЗаписей &lt; 1 тогда
    ВызватьОшибку("Нет данных.");
  если Ф.ЕстьИзменения тогда 
    ВызватьОшибку("Сохраните изменения и повторите попытку.");
  если (Ф.АктивнаяДетализация &lt;&gt; -1) и (Ф.АктивнаяДетализация &lt;&gt; Ф.ПолучитьДетализациюПоИмени("Курс. разница")) тогда
    ВызватьОшибку("Для расчета курсовой разницы необходимо находиться в заголовках или в детализации 'Курс. разница'.");  
  попытка
    // Показываем диалог
    Диалог.Очистить;
    Диалог.Заголовок := "Расчет курсовой разницы";
    Диалог.Добавить("На дату", "Дата", 0, Календарь, "");
    //Диалог.Добавить("Ставить дату проводки", "СтавитьДату", 0, ТолькоЧтение + Проверка, 0);
    Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
    Диалог.Добавить("Осн. долг", "ОснДолг", 0, ТолькоЧтение + Проверка, 0);
    Диалог.Флаг("ОснДолг") := Истина;
    пОснДолг := Диалог.ДобавитьКлассификатор("Проводка", 46, 1);
    пОснДолг.Значение := Реестр.Узел(УзелКР).Значение("Проводка для осн. долга").КакЦелое;
    Диалог.Добавить("Проценты", "Проценты", 0, ТолькоЧтение + Проверка, 0);
    Диалог.Флаг("Проценты") := Истина;
    пПроценты := Диалог.ДобавитьКлассификатор("Проводка", 46, 1);
    пПроценты.Значение := Реестр.Узел(УзелКР).Значение("Проводка для процентов").КакЦелое;
    Диалог.Добавить("Пени", "Пени", 0, Проверка + ТолькоЧтение, 0);
    Диалог.Флаг("Пени") := Истина;
    пПени := Диалог.ДобавитьКлассификатор("Проводка", 46, 1);
    пПени.Значение := Реестр.Узел(УзелКР).Значение("Проводка для пеней").КакЦелое;
    Диалог.ДобавитьКлассификатор("Ист. внутр. финансирования", тк_ИсточникВнутрФин, 0/*, 0, "##.##"*/);
    Диалог.Значение(тк_ИсточникВнутрФин) := Реестр.Узел(УзелКР).Значение("Источник внутреннего финансирования").КакСтрока; 
    
    если не Диалог.Выполнить тогда
      Выход;
    // Сохраняем проводки в реестр
    если (пОснДолг.Значение &lt;&gt; "") и Диалог.Флаг("ОснДолг") тогда
      Реестр.Узел(УзелКР).Значение("Проводка для осн. долга").КакЦелое := пОснДолг.Значение; 
    если (пПроценты.Значение &lt;&gt; "") и Диалог.Флаг("Проценты") тогда
      Реестр.Узел(УзелКР).Значение("Проводка для процентов").КакЦелое := пПроценты.Значение; 
    если (пПени.Значение &lt;&gt; "") и (Диалог.Флаг("Пени")) тогда
      Реестр.Узел(УзелКР).Значение("Проводка для пеней").КакЦелое := пПени.Значение;
    если (Диалог.Значение(тк_ИсточникВнутрФин) &lt;&gt; "") тогда
      Реестр.Узел(УзелКР).Значение("Источник внутреннего финансирования").КакСтрока := Диалог.Значение(тк_ИсточникВнутрФин); 
    ИсточникСтрокой := УбратьТочки(Диалог.Значение(тк_ИсточникВнутрФин));  
    КодИсточника := ПолучитьКодИсточникаВФ(ИсточникСтрокой);


    // Обрабатываем заголовки
    Заголовки := СоздатьСтатическиеДанные;
    Заголовки.ПрисвоитьПоля(Ф.Заголовки.Таблица);
    Заголовки.Открыть;
    если Ф.АктивнаяДетализация = -1 тогда
    начало
      если Ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда
        Заголовки.Закачать(Ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки)
      иначе
        Заголовки.Закачать(Ф.Заголовки.Таблица);
    конец
    иначе
      Заголовки.СкопироватьЗапись(Ложь, Ф.Заголовки.Таблица, "", "");
    // Удаляем договора в нац. валюте
    Заголовки.Фильтр := "CurrencyCLS=" + ЦелоеВСтроку(КодНацВалюты);
    Заголовки.Filtered := Истина;
    Заголовки.Clear;
    Заголовки.Фильтр := "";
    если Заголовки.ЧислоЗаписей = 0 тогда
      ВызватьОшибку("Не обнаружено договоров в ненациональной валюте");

    // Создаем статиксеты
    ОснДолг := СоздатьСтатическиеДанные;
    ОснДолг.СоединитьБД;
    ОснДолг.Запрос := "[PumpData] {" + ЗапросОсновнойДолг + "}";
    Проценты := СоздатьСтатическиеДанные;
    Проценты.СоединитьБД;
    Проценты.Запрос := "[PumpData] {" + ЗапросПроценты + "}";
    Пени := СоздатьСтатическиеДанные;
    Пени.СоединитьБД;
    Пени.Запрос := "[PumpData] {" + ЗапросПени + "}";
    КурсоваяРазница := СоздатьСтатическиеДанные;
    КурсоваяРазница.СоединитьБД;
    КурсоваяРазница.Запрос := ЗапросКурсоваяРазница;
    КурсоваяРазница.Открыть;
    
    // Считаем курсовую разницу по списку выделенных договоров
    // Учитываем галочки из диалога
    Заголовки.ВНачало;
    пока не Заголовки.ВКонце делать
    начало
      если Заголовки.Поле("AcceptDate").Пустое тогда
      начало
        ОснДолг.Параметр("MasterID") := Заголовки.Поле("id").КакЦелое;
        ОснДолг.Открыть;
        Проценты.Параметр("MasterID") := Заголовки.Поле("id").КакЦелое;
        Проценты.Открыть;
        Пени.Параметр("MasterID") := Заголовки.Поле("id").КакЦелое;
        Пени.Открыть;
        если Диалог.Флаг("ОснДолг") и (ОснДолг.ЧислоЗаписей &gt; 0) тогда
          ПодсчитатьКурсовуюРазницу(Заголовки, ОснДолг, КурсоваяРазница, 417, СтрокаВЦелое(пОснДолг.Значение), StrToDateEX(Диалог.Значение("Дата")), КодИсточника);
        если Диалог.Флаг("Проценты") и (Проценты.ЧислоЗаписей &gt; 0) тогда
          ПодсчитатьКурсовуюРазницу(Заголовки, Проценты, КурсоваяРазница, 418, СтрокаВЦелое(пОснДолг.Значение), StrToDateEX(Диалог.Значение("Дата")), КодИсточника);
        если Диалог.Флаг("Пени") и (Пени.ЧислоЗаписей &gt; 0) тогда
          ПодсчитатьКурсовуюРазницу(Заголовки, Пени, КурсоваяРазница, 419, СтрокаВЦелое(пОснДолг.Значение), StrToDateEX(Диалог.Значение("Дата")), КодИсточника); 
        ОснДолг.Закрыть;
        Проценты.Закрыть;
        Пени.Закрыть;
      конец;
      Заголовки.Следующая;
    конец;
    // Сохраняем сформированные данные
    КурсоваяРазница.СохранитьИзменения;
    если Ф.АктивнаяДетализация &gt;= 0 тогда
      Ф.Детализация(Ф.ПолучитьДетализациюПоИмени("Курс. разница")).Открыть;
    если КурсоваяРазница.ЧислоЗаписей &gt; 0 тогда
      Сообщение("Расчет курсовой разницы завершен.")
    иначе
      Сообщение("Записей по курсовой разнице не сформировано.");  
  обязательно
    УдалитьОбъект(Заголовки, ОснДолг, Проценты, Пени, КурсоваяРазница);
  конец;          
конец.
</value>
    <param value="Код программы" type="3" name="Export">PARFENOV\parfenovmv\13.02.2006 12:22:33</param>
    <param value="Код программы" type="3" name="version">35.042.01</param>
    <param value="Код программы" type="3" name="crc32">$9CEF2AF5</param>
  </node>
  <node path="Бюджет\Объекты\Настройки\Гарантии">
    <node path="Параметры">
      <value type="1" flags="1" name="Бух. операция начисления пени по осн. долгу">99999</value>
      <value type="1" flags="1" name="Бух. операция начисления пени по процентам">99999</value>
      <value type="1" flags="1" name="Бух. операция начисления процентов">99999</value>
      <value type="1" flags="1" name="Бух. проводки начисления пени по осн. долгу">116</value>
      <value type="1" flags="1" name="Бух. проводки начисления пени по процентам">116</value>
      <value type="1" flags="1" name="Бух. проводки начисления процентов">116</value>
      <value type="4" flags="1" name="Закачивать пустые договора">0</value>
      <value type="4" flags="1" name="Периоды пени по осн. долгу подробно">0</value>
      <value type="4" flags="1" name="Периоды пени по процентам подробно">0</value>
      <value type="4" flags="1" name="Периоды процентов подробно">1</value>
      <value type="4" flags="1" name="По дате учета">0</value>
      <value type="4" flags="1" name="Проверять уникальность договора">1</value>
      <value type="4" flags="1" name="С планом">1</value>
      <value type="4" flags="1" name="Уникальный номер для организации">0</value>
      <param value="Бух. операция начисления пени по осн. долгу" type="3" name="version">35.042.01</param>
      <param value="Бух. операция начисления пени по процентам" type="3" name="version">35.042.01</param>
      <param value="Бух. операция начисления процентов" type="3" name="version">35.042.01</param>
      <param value="Бух. проводки начисления пени по осн. долгу" type="3" name="version">35.042.01</param>
      <param value="Бух. проводки начисления пени по процентам" type="3" name="version">35.042.01</param>
      <param value="Бух. проводки начисления процентов" type="3" name="version">35.042.01</param>
      <param value="Закачивать пустые договора" type="3" name="version">35.042.01</param>
      <param value="Периоды пени по осн. долгу подробно" type="3" name="version">35.042.01</param>
      <param value="Периоды пени по процентам подробно" type="3" name="version">35.042.01</param>
      <param value="Периоды процентов подробно" type="3" name="version">35.042.01</param>
      <param value="По дате учета" type="3" name="version">35.042.01</param>
      <param value="Проверять уникальность договора" type="3" name="version">35.042.01</param>
      <param value="С планом" type="3" name="version">35.042.01</param>
      <param value="Уникальный номер для организации" type="3" name="version">35.042.01</param>
    </node>
    <node path="Смещения">
      <value type="1" flags="1" name="Изменение ставки пени по осн. долгу">0</value>
      <value type="1" flags="1" name="Изменение ставки пени по процентам">0</value>
      <value type="1" flags="1" name="Изменение ставки процентов">0</value>
      <value type="1" flags="1" name="Плановая уплата %">0</value>
      <value type="1" flags="1" name="Плановое погашение">0</value>
      <value type="1" flags="1" name="Погашение">1</value>
      <value type="1" flags="1" name="Получение">1</value>
      <value type="1" flags="1" name="Уплата %">0</value>
      <param value="Изменение ставки пени по осн. долгу" type="3" name="version">35.042.01</param>
      <param value="Изменение ставки пени по процентам" type="3" name="version">35.042.01</param>
      <param value="Изменение ставки процентов" type="3" name="version">35.042.01</param>
      <param value="Плановая уплата %" type="3" name="version">35.042.01</param>
      <param value="Плановое погашение" type="3" name="version">35.042.01</param>
      <param value="Погашение" type="3" name="version">35.042.01</param>
      <param value="Получение" type="3" name="version">35.042.01</param>
      <param value="Уплата %" type="3" name="version">35.042.01</param>
    </node>
    <node path="КурсоваяРазница">
      <value type="3" flags="1" name="Источник внутреннего финансирования">000.09.00.00.00.02.0000.171</value>
      <value type="1" flags="1" name="Операция отражения отриц. курс. разн.">2701</value>
      <value type="1" flags="1" name="Операция отражения полож. курс. разн.">2601</value>
      <param value="Источник внутреннего финансирования" type="3" name="version">35.042.01</param>
      <param value="Источник внутреннего финансирования" type="3" name="crc32">$22055D1D</param>
      <param value="Операция отражения отриц. курс. разн." type="3" name="version">35.042.01</param>
      <param value="Операция отражения полож. курс. разн." type="3" name="version">35.042.01</param>
    </node>
  </node>
  <version_info>
    <file>КурсоваяРазница.xml</file>
    <version>34.042.RP</version>
    <info>Расчет курсовой разницы</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:38</buildtime>
  </version_info>
  <description>АБЛ-макросы для курсовой разницы</description>
  <node path="Бюджет\Объекты\Интерфейсы\{D208B9E0-3C16-11D2-B88D-008048E67EC1}">
    <value type="3" name="Название">Отражение курсовой разницы</value>
    <param value="Название" type="3" name="version">34.042.RP</param>
    <param value="Название" type="3" name="crc32">$A3EDF473</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{D208B9E0-3C16-11D2-B88D-008048E67EC1}\Панели">
    <node path="ПанельРасчетКурсРазн">
      <node path="РасчетКурсРазн">
        <value type="3" name="Действие">РасчетКурсовойРазницы</value>
        <value type="3" name="Картинка">ПересчетВалюты</value>
        <value type="3" name="Хинт">Подсчитать доход от изменения курсовой разницы</value>
        <param value="Действие" type="3" name="version">34.042.RP</param>
        <param value="Действие" type="3" name="crc32">$9436CB38</param>
        <param value="Картинка" type="3" name="version">34.042.RP</param>
        <param value="Картинка" type="3" name="crc32">$C6FA0067</param>
        <param value="Хинт" type="3" name="version">34.042.RP</param>
        <param value="Хинт" type="3" name="crc32">$DA418BA3</param>
      </node>
    </node>
  </node>
  <node path="Бюджет\Объекты\Настройки\Курсовая разница по РС">
    <node path="Параметры">
      <value flags="1" type="3" name="Источник внутреннего финансирования">00000000000000000000</value>
      <value flags="1" type="1" name="Операция отражения отриц. курс. разн.">2701</value>
      <value flags="1" type="1" name="Операция отражения полож. курс. разн.">2601</value>
      <param value="Источник внутреннего финансирования" type="3" name="version">34.042.RP</param>
      <param value="Источник внутреннего финансирования" type="3" name="crc32">$CB50D9AE</param>
      <param value="Операция отражения отриц. курс. разн." type="3" name="version">34.042.RP</param>
      <param value="Операция отражения полож. курс. разн." type="3" name="version">34.042.RP</param>
    </node>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{D208B9E0-3C16-11D2-B88D-008048E67EC1}\Действия\РасчетКурсовойРазницы">
    <value type="7" name="Код программы">// кнопка расччета дохода от курсовой разницы
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\AblTools.lib';
включить '\Макросы\ПараметрыИзБд.abl';
включить '\Макросы\ДляКурсовойРазницыОбщее.abl';
включить 'Project';


константы
  nl = #13#10;
  стр_трПодробно = "подробно";
  стр_трРасчДата = "на дату расчета";
  стр_трСменаКурса = "на смену курса";
  УзелКРпоРС = "Бюджет\Объекты\Настройки\Курсовая разница по РС\Параметры";
  БлокОперацииСВалютой = 01;  
переменные
  СУБкд,пров : Целое;
  ТипРасчета : Строка;
  ДляГруппировки, ДляВставки : СтатическиеДанные;
  МаксДата:целое;
  ТекущийБюджет : Целое; // код текущего бюджета
  ЗначениеКурсРазницы: дробное;
  СчетФО : целое;
    
// спрашиваем у пользователя параметры для формирования курсовой разницы
функция ДиалогРасчетКурсРазн(Дата : целое; ТипРасчета : Строка) : целое;
переменные
  Форма : ДиалогПараметров;
  Рез : целое;
  ТекущийПараметр : ДиалоговыйПараметр;  
начало
  результат := нет;
  Форма := Диалог;
  Форма.Заголовок := 'Доход от изменения курсовой разницы. Введите дату расчета';
  Форма.Очистить;
  ТекущийПараметр := Форма.Добавить('Дата', 'Дата', 0, Календарь, '', '');
  ТекущийПараметр.Стиль := Календарь;
  ТекущийПараметр.Наименование := 'Дата';
  ТекущийПараметр.Маска := '00.00.0000';            
  ТекущийПараметр.Значение := РасширеннаяДатаВСтроку(Дата);
      
  ТекущийПараметр := Форма.Добавить("Тип расчета", "ТипРасчета", 0, Список + ТолькоЧтение, "", стр_трПодробно+#13#10+стр_трРасчДата/*+#13#10+стр_трСменаКурса*/);
  ТекущийПараметр.Значение := стр_трРасчДата;
  
  //ТекущийПараметр := Форма.ДобавитьКлассификатор("Суб. код дохода", тк_субкд, 0, 0, ""); --новый АБЛ так не любит
  ТекущийПараметр := Форма.ДобавитьКлассификатор("Суб. код дохода", тк_субкд, 0);
  ТекущийПараметр.Значение := Реестр.Узел(РабочийУзел).Значение("СУБкд").КакЦелое;
  //Диалог.ДобавитьКлассификатор("Ист. внутр. финансирования", тк_ИсточникВнутрФин, 0, 0, "##.##");
  //Диалог.Значение(тк_ИсточникВнутрФин) := Реестр.Узел(УзелКРпоРС).Значение("Источник внутреннего финансирования").КакЦелое;
   
  // Добавляем счет ФО на диалог
  Форма.ДобавитьСчетФО("Счет ФО", "DFAccount.Acc", 0);
  Форма.ДобавитьСчетФО("ИД", "DFAccount.DFAcc_Ref", 0);
  
  пров := ложь;
  Пока не пров делать
  начало
    Рез := Форма.Выполнить;
    если не Рез тогда
      пров := истина
    иначе начало
      пров := ПроверитьКлассификатор(тк_субкд,СтрокаВЦелое(Форма.Значение(тк_субкд)));
      если не пров тогда 
        сообщение("Неверно задано значение Суб. код дохода");
    конец;    
  конец;  
  
  если ((Рез=Результат_ОК) или (Рез=Результат_Да)) 
  тогда начало
    результат := да;
    Попытка
      СУБкд := Форма.Значение(тк_субкд);
      Дата := СтрокаВРасширеннуюДату(Форма.Параметр('Дата').Значение);
      ТипРасчета := Форма.Значение("ТипРасчета");
      Реестр.Узел(РабочийУзел).Значение("СубКД").КакЦелое := СтрокаВЦелое(СубКД);
      СчетФО := СтрокаВЦелое(Форма.Значение("DFAccount.DFAcc_Ref"));
      //если (Диалог.Значение(тк_ИсточникВнутрФин) &lt;&gt; "") тогда
        //Реестр.Узел(УзелКРпоРС).Значение("Источник внутреннего финансирования").КакЦелое := Диалог.Значение(тк_ИсточникВнутрФин);
    неудача
      Дата := -1;
    конец; 
  конец;
конец;

переменные
  КурсыВалют : СтатическиеДанные; // тут храним данные по курсам валют
  ВалютныеОперации : СтатическиеДанные; // тут храним все валютные операции
  ДатыДоходовКурсРазн : СтатическиеДанные; // тут храним последние даты по курс разницам
//  ТекущийБюджет : Целое; // код текущего бюджета
  ДатаРасчета : Целое; // на эту дату расчитываем курсовую разницу  
  Ф : ФормаВвода;
  СеткаВвода : СеткаДанных; // сетка с данными
  Заголовок : СтатическиеДанные;// сюда мы будем вставлять данные
  КоличествоДобавленныхЗаписей : Целое;
    
начало
  КоличествоДобавленныхЗаписей :=0;
  Ф := ПолучитьФормуВвода;
  если  Ф.ЗначениеПараметра("Роль ввода документов") &lt;&gt; 1 
  тогда ВызватьОшибку("Необходимо право 'Роль ввода документов'");
  если Ф.Заголовки.Таблица.State = 0 тогда
    ВызватьОшибку("Таблица не открыта. Нажмите на кнопку 'Выполнить'."); 
  ДляВставки := СоздатьСтатическиеДанные;
  ДляГруппировки := СоздатьСтатическиеДанные;
  //Заголовок := Ф.Заголовки(0).Таблица; --Не для нового АБЛ
  Заголовок := Ф.Заголовки.Таблица;
  СеткаВвода := Ф.Заголовки.Сетка;
  Заголовок.ВНачало;
  Заголовок.ЗапретитьПрорисовку;
  пока Не Заголовок.ВКонце делать
    начало
      если Заголовок.ПолеПоИмени("IDate").КакЦелое &gt; МаксДата тогда
      МаксДата := Заголовок.ПолеПоИмени("IDate").КакЦелое;
      Заголовок.Next;
    конец;
  Заголовок.РазрешитьПрорисовку;    
  // закачены ли вообще данные
  Если (не Заголовок.Active) 
    тогда ВызватьОшибку('Интерфейс не активен. Данные не закачаны.');
  // Смотрим, есть ли открытая транзакция с БД. Если да - то генерируем ошибку
  Если СеткаВвода.updatespending 
    тогда ВызватьОшибку('Вы находитесь в режиме редактирования. Для подсчета дохода от курсовой разницы внесите изменения в базу и повторите операцию.'); 

  ДляВставки.ПрисвоитьПоля(Заголовок);
  ДляГруппировки.ПрисвоитьПоля(Заголовок);
  ДляГруппировки.Открыть;   
  ДляВставки.Открыть;   
  ДатаРасчета := DateToDateEx(ТекущаяДата);
  Если ДиалогРасчетКурсРазн(ДатаРасчета, ТипРасчета) 
  тогда начало
    // пользователь ввел дату расчета
    Если (ДатаРасчета = -1) тогда выход;
    // Узнаем курсы валют
    КурсыВалют := СоздатьСтатическиеДанные;
    ЗаполнитьКурсыВалют(КурсыВалют, ДатаРасчета);
    
    ДатыДоходовКурсРазн := СоздатьСтатическиеДанные;
    ВалютныеОперации := СоздатьСтатическиеДанные;
    УстановитьСчетФО(СчетФО);
    ТекущийБюджет := ЦелаяКонстанта(-1, 3);
    // выбираем даты последних доходов от изменения курсовой разницы
    ВыбратьПоследДатыДоходовКурсРазн(ДатыДоходовКурсРазн, ТекущийБюджет, ДатаРасчета);   
    // выбираем все операции по счетам фо с валютой
    ВыбратьВалютныеОперации(ВалютныеОперации, ДатаРасчета, ТекущийБюджет, ТипРасчета);
    // Находим остатки на счетах и расчитываем курсовую разницу
    НайтиОстатокВалютыНаСчетах(ВалютныеОперации, ДатыДоходовКурсРазн, ДатаРасчета, ТекущийБюджет);
    //ВалютныеОперации.Фильтр := 'AcceptDate&gt;='+целоевстроку(МаксДата);
    // у нас остались только данные для дат по которым не подсчитывалась курсовая разница
    // для каждого счета и валюты считаем рублевый эквивалент
    ПровестиДоходыОтИзмененияКурсовойРазницы(ВалютныеОперации, ДатыДоходовКурсРазн, ДляВставки, КурсыВалют, ТипРасчета, КоличествоДобавленныхЗаписей,ТекущийБюджет);
    если СчетФО &lt;&gt; 0 тогда
      ДляВставки.Фильтр := "IncAccount="+ ЦелоеВСтроку(СчетФО);
    если ТипРасчета = стр_трРасчДата тогда
    начало 
      ДляВставки.Индекс := "Currency;IDate";
      ДляГруппировки.Groupdata(ДляВставки,'Keys=IncAccount,Currency;Summa=Summa;Credit=Sum(Credit - Debit);Debit=0;Delta=Sum(Delta);IDate=' + ЦелоеВСтроку(ДатаРасчета));
      ДляВставки.Очистить;
      ДляВставки.Закачать(ДляГруппировки, "");
    конец;
    
    // Заполняем таблицу с КР
    КоличествоДобавленныхЗаписей := 0;
    ДляВставки.ВНачало;
    пока не ДляВставки.ВКонце делать
    начало
      //Заголовок.СкопироватьЗапись(ложь, ДляВставки, "DocType,SOURCEDOCNUMBER", "");
      //Заголовок.Редактировать;
      Заголовок.Вставить;
      Заголовок.Поле("ID").КакЦелое := ПолучитьИД;
      Заголовок.Поле("SUBkd").КакЦелое := СУБкд;
      Заголовок.Поле("IncAccount").КакЦелое := ДляВставки.Поле("IncAccount").КакЦелое;
      Заголовок.Поле("Currency").КакЦелое := ДляВставки.Поле("Currency").КакЦелое;
      Заголовок.Поле("Summa").КакДробное := ДляВставки.Поле("Summa").КакДробное;
      Заголовок.Поле("Delta").КакДробное := ДляВставки.Поле("Delta").КакДробное;
      
      Заголовок.Поле("Credit").КакДробное := ДляВставки.Поле("Credit").КакДробное;
      Заголовок.Поле("Debit").КакДробное := ДляВставки.Поле("Debit").КакДробное;
      Заголовок.Поле("IDate").КакДробное := ДляВставки.Поле("IDate").КакДробное;
      Заголовок.Поле("FinSourceValue").КакСтрока := Реестр.Узел(УзелКРпоРС).Значение("Источник внутреннего финансирования").КакСтрока;
      Заголовок.Поле("Note").КакСтрока := "Курсовая разница на "+DateExToStr(Заголовок.Поле("IDate").КакЦелое);
      если ТипРасчета &lt;&gt; стр_трРасчДата тогда
        Заголовок.Поле("Note").КакСтрока := Заголовок.Поле("Note").КакСтрока + "   ( "+(Заголовок.Поле('Summa').КакСтрока) + " * " + Заголовок.Поле('Delta').КакСтрока+" )";
      // Округляем суммы до указанного знака
      ЗначениеКурсРазницы := ОкруглитьДоЗнака(Заголовок.Поле("Credit").КакДробное - Заголовок.Поле("Debit").КакДробное, 2);
      если ЗначениеКурсРазницы &gt; 0 тогда
      начало
        Заголовок.Поле("Credit").КакДробное := ЗначениеКурсРазницы;
        Заголовок.Поле("Debit").Clear;
      конец
      иначе начало
        Заголовок.Поле("Credit").Clear;
        Заголовок.Поле("Debit").КакДробное := мод(ЗначениеКурсРазницы);
      конец;
      Заголовок.Поле("BuhOperationCls").КакЦелое := ПолучитьОперациюОтраженияКР(  БлокОперацииСВалютой, ЗначениеКурсРазницы); 
      Заголовок.Поле("RecordDate").КакЦелое := Заголовок.Поле("IDate").КакЦелое;
      Заголовок.Поле("BuhPaymentCLS").КакЦелое := ПолучитьКодБухоперацииПоСчетуФОиСубКД(Заголовок.Поле("IncAccount").КакЦелое, СубКД, ЗначениеКурсРазницы);
      Заголовок.Поле("IDate").Clear;
      Заголовок.Сохранить;
      КоличествоДобавленныхЗаписей := КоличествоДобавленныхЗаписей + 1;
      ДляВставки.Следующая;
    конец;
    Если (КоличествоДобавленныхЗаписей = 0)
      тогда Сообщение('Не добавлена ни одна запись')
      иначе Сообщение('Операция расчета курсовой разницы успешно завершена.' + nl +
       'Добавлено ' + ЦелоеВСтроку(КоличествоДобавленныхЗаписей) + ' записей');
  конец
  иначе Сообщение('Подсчет курсовой разницы отменен пользователем'); 
конец.
</value>
    <param value="Код программы" type="3" name="Export">PARFENOV\parfenovmv\21.04.2006 13:58:09</param>
    <value type="3" name="ОкруглятьДоЗнака" />
    <value type="3" name="СубКД">0</value>
    <param value="Код программы" type="3" name="version">34.042.RP</param>
    <param value="Код программы" type="3" name="crc32">$4C9AF4EB</param>
    <param value="ОкруглятьДоЗнака" type="3" name="version">34.042.RP</param>
    <param value="ОкруглятьДоЗнака" type="3" name="crc32">$00000000</param>
    <param value="СубКД" type="3" name="version">34.042.RP</param>
    <param value="СубКД" type="3" name="crc32">$26D930AC</param>
  </node>
  <version_info>
    <file>Расходные расписания.xml</file>
    <version>36.042.27</version>
    <info>&lt;p&gt;макросы стандартных кнопок интерфейса расходных уведомлений&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:39</buildtime>
  </version_info>
  <description>АБЛ-макросы для расходных уведомлений</description>
  <node path="Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}">
    <value type="3" name="Название">Расходные уведомления</value>
    <param value="Название" type="3" name="version">36.042.27</param>
    <param value="Название" type="3" name="crc32">$F97D4054</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\События">
    <value type="3" name="НаСохранениеИзменений">ПринятиеСвязныхДокументов</value>
    <param value="НаСохранениеИзменений" type="3" name="version">36.042.27</param>
    <param value="НаСохранениеИзменений" type="3" name="crc32">$1E9782E3</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Настройки">
    <value type="1" name="РазбиениеЗаголовковОФ">1</value>
    <param value="РазбиениеЗаголовковОФ" type="3" name="version">36.042.27</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\НастройкиИнтерфейса">
    <value type="7" name="Код программы">включить '\Библиотеки\LibRu.lib';
включить "Project";

переменные
  флаг, уровень:целое ;
  ф:формаввода;
начало
  если ф.ЯАдмин тогда
    начало
      уровень := 0;
      флаг:=Реестр.Узел("Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Настройки").Значение('РазбиениеЗаголовковОФ').КакЦелое;
      Диалог.Очистить;
      Диалог.Добавить("Синхронизировать дату принятия для ОФ", "ИспРазЗаг", уровень ,  Стиль_Чек+Стиль_ТолькоЧтение , '', '','');
      Диалог.Флаг("ИспРазЗаг" ):=флаг;                                                 

      флаг:=Реестр.Узел("Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Настройки").Значение('ПроводитьПриОбменеСУФК').КакЦелое;
      Диалог.Добавить("Проводить при обмене с УФК", "ПровПриОб", уровень , Стиль_Чек+Стиль_ТолькоЧтение, '', '','');
      Диалог.Флаг("ПровПриОб" ):=флаг;

      Диалог.Ширина:=600;
      Диалог.Высота:=50;
      Диалог.Заголовок:='Настройки';
      если Диалог.Выполнить тогда
        начало
          Реестр.Узел("Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Настройки").Значение('РазбиениеЗаголовковОФ').КакЦелое:=Диалог.Флаг("ИспРазЗаг" );
          Реестр.Узел("Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Настройки").Значение('ПроводитьПриОбменеСУФК').КакЦелое:=Диалог.Флаг("ПровПриОб" );
          если Диалог.Флаг("ПровПриОб" ) тогда   // если поставили галочку, то надо еще и макрос прописать, а если сняли, то надо затереть настрайку в электронном обмене
          начало
            если ((УбратьПробелы(Реестр.Узел("Бюджет\Объекты\Настройки\ОбменСБанком\Общие\НастройкиОбработки").Значение('ИмяМакросаПослеПроведенияРР').КакСтрока)) = '') 
                  или (Реестр.Узел("Бюджет\Объекты\Настройки\ОбменСБанком\Общие\НастройкиОбработки").Значение('ИмяМакросаПослеПроведенияРР').КакСтрока = 'Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\ПринятиеСвязныхДокПослеПроведенияРР\Код программы') тогда
              Реестр.Узел("Бюджет\Объекты\Настройки\ОбменСБанком\Общие\НастройкиОбработки").Значение('ИмяМакросаПослеПроведенияРР').КакСтрока := 'Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\ПринятиеСвязныхДокПослеПроведенияРР\Код программы'
              иначе // уже есть прописанный макрос
              начало
                если  Сообщение('Редактор настроек электронного обмена, настройка: "УФК2009\Настройки вызова дополнительных макросов\ИмяМакросаПослеПроведенияРР" содержит имя другого макроса. Хотите заменить его макросом проведения связных документов?', Сообщение_Вопрос, Кнопка_Да+Кнопка_Нет) = Результат_Да тогда
                  Реестр.Узел("Бюджет\Объекты\Настройки\ОбменСБанком\Общие\НастройкиОбработки").Значение('ИмяМакросаПослеПроведенияРР').КакСтрока := 'Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\ПринятиеСвязныхДокПослеПроведенияРР\Код программы'
                  иначе 
                    Реестр.Узел("Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Настройки").Значение('ПроводитьПриОбменеСУФК').КакЦелое := 0;
              конец;
          конец
          иначе //если не проводить, то смотрим какой макрос в настройках,если наш, то затераем его.если нет, то не трогаем.
          начало
            если Реестр.Узел("Бюджет\Объекты\Настройки\ОбменСБанком\Общие\НастройкиОбработки").Значение('ИмяМакросаПослеПроведенияРР').КакСтрока = 'Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\ПринятиеСвязныхДокПослеПроведенияРР\Код программы' тогда
              Реестр.Узел("Бюджет\Объекты\Настройки\ОбменСБанком\Общие\НастройкиОбработки").Значение('ИмяМакросаПослеПроведенияРР').КакСтрока := '';
          конец;
        конец;
    конец
    иначе
      сообщение('Данные настройки доступны только администраторам');
конец.
</value>
    <param value="Код программы" type="3" name="Export">BUSHIN\bushin\27.08.2010 12:16:11</param>
    <param value="Код программы" type="3" name="version">36.042.27</param>
    <param value="Код программы" type="3" name="crc32">$B6A9DE2D</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\ПринятиеСвязныхДокПослеПроведенияРР">
    <value type="7" name="Код программы">включить "\библиотеки\libru.lib" ; 
включить "Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\ПринятиеСвязныхДокументов\Код программы";
включить "\библиотеки\Reports.lib" ; 
/*проведение связных документов при обмене с уфк*/
ОбработчикПослеПроведенияРР(Коллекция: IVariables);                                                                           
переменные 
  Выполнять: целое;
  СписокИД: IVariables;
  ИдСтрокой: строка;
начало 
  Выполнять:=Реестр.Узел("Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Настройки").Значение('ПроводитьПриОбменеСУФК').КакЦелое;
  если Выполнять&gt;0 тогда
  начало
    СписокИД:=Коллекция.Значение("СписокИД");
    ИдСтрокой:=СписокИД.Значение("251");
    ОбработатьСписокИД( ИдСтрокой );
  конец;
конец ;        
</value>
    <param value="Код программы" type="3" name="Export">BUSHIN\bushin\13.11.2009 14:07:06</param>
    <value type="4" name="Отладка">0</value>
    <param value="Код программы" type="3" name="version">36.042.27</param>
    <param value="Код программы" type="3" name="crc32">$5200315C</param>
    <param value="Отладка" type="3" name="version">36.042.27</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\ПринятиеСвязныхДокументов">
    <value type="7" name="Код программы">НаСохранениеИзменений (Порядок: целое);
включить "\библиотеки\libru.lib" ; 
включить "\библиотеки\Reports.lib" ; 
включить "\библиотеки\control.lib" ; 
включить "\Библиотеки\LinkInfo2.lib";
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "Project";

константы
  кПрогиндексРасписание = "251";
 

// удаление связей для отклоненных записей
функция УдалениеСвязей(СписокИд: строка );

переменные
  LinkInfo2: ILinkInfo2;
  Фильтр: IVariables;
  СписокИДДетали, Отклоненные: СтатическиеДанные;
начало
  Отклоненные:= СоздатьСтатическиеДанные;
  Отклоненные.СоединитьБД;
  Отклоненные.Запрос:="[PumpData] {select unc.ID, unc.rejectcls from unionnotifycaption  unc  where (unc.rejectcls is not null) and  (unc.id in ( "+СписокИд+" ))  }";
  Отклоненные.Открыть;
  если Отклоненные.ЧислоЗаписей&gt;0  тогда
  начало
    СписокИд:="";
    СписокИд:=GetLimitStr(Отклоненные ,"id") ;
    LinkInfo2 := CreateComObject(TLinkInfo2);
    попытка
      СоединитьИнтерфейс(LinkInfo2);
      попытка
        Фильтр := CreateVariables;
        попытка
          СписокИДДетали := СоздатьСтатическиеДанные;
          СписокИДДетали.СоединитьБД;
          СписокИДДетали.Запрос := "[PumpData] {select und.ID from unionnotifydetail  und  where und.recordindex in ( "+СписокИд+" ) }";
          СписокИДДетали.Открыть;
          СписокИДДетали.ВНачало;
          пока не СписокИДДетали.ВКонце делать
          начало
            СписокИд := СписокИд + ',' + СписокИДДетали.ПолеПоИмени("ID").КакСтрока;
            СписокИДДетали.Следующая
          конец;

          Фильтр.Clear;
          Фильтр.Значение("ChildID") := СписокИд;
          LinkInfo2.DeleteLinks(Фильтр, нет, bptFail);
          
          Фильтр.Clear;
          Фильтр.Значение("ParentID") := СписокИд;
          LinkInfo2.DeleteLinks(Фильтр, нет, bptFail);

        обязательно
          УдалитьОбъект(Фильтр);
        конец;
      обязательно
        ЗакрытьИнтерфейс(LinkInfo2);
      конец;
    обязательно
      УдалитьОбъект(LinkInfo2);
    конец;
  конец;  
конец;
 
функция ФильтрацияПоСвязям(СписокИд: строка ):целое;

переменные
  LinkInfo2: ILinkInfo2;
  Фильтр: IVariables;
  Связи: СтатическиеДанные;
начало
  результат:=0;
    Связи:=СоздатьСтатическиеДанные;
    LinkInfo2 := CreateComObject(TLinkInfo2);
    Фильтр := CreateVariables;
    попытка
      СоединитьИнтерфейс(LinkInfo2);
      попытка
        попытка
        Фильтр.Clear;
        Фильтр.Значение("ChildID") := СписокИд;
        Фильтр.Значение("parentdoccls") := "032300,032400,030300,030100";        
        Связи := LinkInfo2.GetLinks(Фильтр);
        результат:=Связи.ЧислоЗаписей;
        обязательно
          УдалитьОбъект(Фильтр);
        конец;
      обязательно
        ЗакрытьИнтерфейс(LinkInfo2);
      конец;
    обязательно
      УдалитьОбъект(LinkInfo2);
    конец;
конец; 
переменные 
  СписокИд : строка; 
  ф:ФормаВвода;
  Выполнять,Вр:целое;
функция РазбитьОФ(ссСвязанныеДокументы:статическиеданные);
переменные
  сс,Св,СвТ ,тмп, даты, заг, ДублирующийЗаголовок : статическиеданные;
  ключ_оф, ключ_реестр, ключ_новый, ключи_детали, дата, запрос  : строка;
  Коллекция: IVariables;
начало
  // сгруппировать записи детали ОФ, связные с проводимыми РР, по заголовкам и датам принятия
  тмп := СоздатьСтатическиеДанные;
  тмп.ПрисвоитьПоля(ссСвязанныеДокументы); 
  тмп.открыть;
  тмп.Группировать(ссСвязанныеДокументы,"KEYS=recordindex,reestr_ref,AcceptDate");
  тмп.вначало;
  пока не тмп.вконце делать начало
    ключ_оф := целоевстроку(тмп.поле("recordindex").какцелое);
    ключ_реестр := целоевстроку(тмп.поле("reestr_ref").какцелое);
    дата := целоевстроку(тмп.поле("AcceptDate").какцелое);
    если СтрокаВЦелое(дата)=0 или тмп.поле("AcceptDate").Пустое тогда 
      дата := 'null' 
      иначе
      начало 
        // вынуть всю деталь очередного проводимого заголовка ОФ с отличающейся датой проведения
        сс:=СоздатьСтатическиеДанные; 
        сс.СоединитьБД;
        Св:=СоздатьСтатическиеДанные;
        Св.СоединитьБД;
        // выбираем те детали,в которых не проставилась таже дата, что и в РР.
        сс.запрос:= "[PumpData] {select * from facialfindetail where recordindex="+ключ_оф+" and ((acceptdate is null) or (acceptdate&lt;&gt;"+дата+")) }" ;
        сс.открыть;
        если сс.числозаписей&gt;0 тогда начало
          // отменить принятие реестра, т.к. щас непроведенную деталь перебросим в новый заголовок в этом же реестре
          выполнитьзапрос("update facialfinreestr set accepted=0 where id="+ключ_реестр) ;
          // сгруппировать деталь с отличными датами проведения по этим самым датам для переноса в новые заголовки ОФ
          даты := СоздатьСтатическиеДанные; 
          даты.ПрисвоитьПоля(сс); 
          даты.открыть;
          даты.группировать(сс,"KEYS=acceptdate");
          даты.вначало;
          пока не даты.вконце делать 
          начало
            если даты.поле("acceptdate").пустое
              тогда сс.фильтр := "acceptdate is null"
              иначе сс.фильтр := "acceptdate="+даты.поле("acceptdate").какстрока;
            ключи_детали := GetLimitStr(сс,"id") ;
            сс.фильтр := "" ;
            заг:=СоздатьСтатическиеДанные; 
            заг.СоединитьБД ;       
            заг.запрос:="[PumpData] {select * from facialfincaption where id="+ключ_оф+" }";
            заг.открыть; // закачали текущий заголовок и проверяем, нет ли уже дубликата
            ДублирующийЗаголовок:=СоздатьСтатическиеДанные;
            ДублирующийЗаголовок.СоединитьБД;
            запрос:="[PumpData] {select id from facialfincaption where (id&lt;&gt;"+ключ_оф+" )";
            Коллекция := CreateVariables;
            попытка
              Коллекция.Значение("acceptdate") := заг.поле("acceptdate").КакСтрока;
              Коллекция.Значение("reestr_ref") := заг.поле("reestr_ref").КакСтрока;
              Коллекция.Значение("budgetref") := заг.поле("budgetref").КакСтрока;
              Коллекция.Значение("sourceaccount") := заг.поле("sourceaccount").КакСтрока;
              Коллекция.Значение("destaccount") := заг.поле("destaccount").КакСтрока;
              Коллекция.Значение("sourcefacialacc_cls") := заг.поле("sourcefacialacc_cls").КакСтрока;
              Коллекция.Значение("destfacialacc_cls") := заг.поле("destfacialacc_cls").КакСтрока;
              Коллекция.Значение("docnumber") := заг.поле("docnumber").КакСтрока;
              Коллекция.Значение("documentdate") := заг.поле("documentdate").КакСтрока;
              запрос := запрос + Ограничение("acceptdate=acceptdate%f,reestr_ref=reestr_ref%d,budgetref=budgetref%d,sourceaccount=sourceaccount%d," + 
                "destaccount=destaccount%d,sourcefacialacc_cls=sourcefacialacc_cls%d,destfacialacc_cls=destfacialacc_cls%d,docnumber=docnumber%s," +
                "documentdate=documentdate%f", Коллекция) + " }";;
            обязательно
              УдалитьОбъект(Коллекция);
            конец;    
            ДублирующийЗаголовок.запрос:=запрос;
            ДублирующийЗаголовок.открыть;
            если не ДублирующийЗаголовок.ЧислоЗаписей=0 тогда
              ключ_новый:=ДублирующийЗаголовок.Поле('ID').КакЦелое  // если есть уже дубликат, тогда не создаем новый заголовок, а подсовываем детали в него.
              иначе 
              начало
                ключ_новый := ГенерироватьДиап("g_shared",1) ;
                заг.Запрос:="[InsertData] {insert into facialfincaption (acceptdate,id,progindex,reestr_ref,budgetref,sourceaccount,destaccount,sourcefacialacc_cls,destfacialacc_cls,
                                                                      docnumber,documentdate,note,clstype,operationdirection,sourcetype,desttype,buhoperationcls)
                                                            values   (@acceptdate,@id,@progindex,@reestr_ref,@budgetref,@sourceaccount,@destaccount,@sourcefacialacc_cls,@destfacialacc_cls,
                                                                      @docnumber,@documentdate,@note,@clstype,@operationdirection,@sourcetype,@desttype,@buhoperationcls)  }" ;
            
                заг.редактировать;
                заг.поле("id").какстрока:= ключ_новый;
                если даты.поле("acceptdate").пустое
                  тогда заг.поле("acceptdate").очистить
                  иначе заг.поле("acceptdate").какцелое:=даты.поле("acceptdate").какцелое;
                заг.Сохранить;
                заг.UpdateStatus := usInserted ;
                заг.СохранитьИзменения ;
                заг.очистить; 
                заг.закрыть; 
                удалитьобъект(заг) ;
              конец;
              // перевешиваем непроведенную деталь под новый заголовок
              если даты.поле("acceptdate").пустое
                тогда выполнитьзапрос("update facialfindetail set acceptdate=null , recordindex="+ключ_новый+" where id in ("+ключи_детали+")") 
                иначе выполнитьзапрос("update facialfindetail set acceptdate="+даты.поле("acceptdate").какстрока+" , recordindex="+ключ_новый+" where id in ("+ключи_детали+")") ; 
              // пересчитываем сумму в новый заголовок
              выполнитьзапрос("update facialfincaption set credit=(select sum(credit) from facialfindetail where recordindex="+ключ_новый+") where id="+ключ_новый) ;
      св.Запрос:="[PumpData] {select distinct fd.id, fd.recordindex , uc.id IdCap, lr.childid
        from UnionNotifyCaption uc 
        left join UnionNotifyDetail ud on (ud.recordindex=uc.id)
        left join LinkRecords lr on (lr.childid = ud.id/**/)
        left join FacialFinDetail fd on (fd.id = lr.parentid)
        left join FacialFinCaption fc on (fc.id = fd.recordindex)
        where fd.id in (" + ключи_детали + ") }";
        СвТ:=СоздатьСтатическиеДанные;
        СвТ.СоединитьБД;
        св.Открыть; 
        если св.ЧислоЗаписей&gt;0 тогда
        начало
          СвТ.Запрос:="[PumpData] {select lr.linktyperef, lr.parentid, lr.childid   
                        from LinkRecords lr 
                        where 
                          lr.parentid="+ключ_оф+" and 
                          lr.childid="+св.ПолеПоИмени("idcap").КакСтрока+"}";
          СвТ.Открыть;     
          СвТ.ВНачало;
        конец
        иначе
          Св.ВКонец;
        св.ВНачало;
        если  СвТ.ЧислоЗаписей=0 тогда
          Св.ВКонец;
        пока не св.ВКонце делать        //перевешиваем связи заголовков
        начало
          запрос:="delete from linkrecords 
                   where  
                     ( linktyperef in (select distinct lr.linktyperef 
                                     from LinkRecords lr 
                                     where 
                                       lr.parentid="+ключ_оф+" and 
                                       lr.childid="+св.ПолеПоИмени("idcap").КакСтрока+ "
                                     )) and    
                       childid="+св.ПолеПоИмени("idcap").КакСтрока+ " and  
                       parentid="+ключ_оф;
          выполнитьзапрос(запрос) ;
          запрос:="insert into linkrecords (parentid, childid, linktyperef ) values ("+ключ_новый+", 
          "+св.ПолеПоИмени("idcap").КакСтрока+ ", "+СвТ.ПолеПоИмени("linktyperef").КакСтрока+"   )";
          выполнитьзапрос(запрос) ;
          св.Следующий
        конец;           
            даты.следующий ;
          конец ;
          даты.очистить; 
          даты.закрыть; 
          удалитьобъект(даты);
          // пересчитать сумму в заголовок текущих проведенных деталей
          выполнитьзапрос("update facialfincaption set credit=(select sum(credit) from facialfindetail where recordindex="+ключ_оф+") where id="+ключ_оф) ;
          // снова принять реестр
          выполнитьзапрос("update facialfinreestr set accepted=1 where id="+ключ_реестр) ;
        конец ;
        если не (дата='') тогда
          запрос:="update facialfincaption set acceptdate="+дата+" where id="+ключ_оф
          иначе 
            запрос:="update facialfincaption set acceptdate=null where id="+ключ_оф;
        выполнитьзапрос(запрос) ;
        сс.очистить; 
        сс.закрыть; 
        удалитьобъект(сс);
      конец;
    тмп.Следующая ;
  конец;
  тмп.очистить; 
  тмп.закрыть; 
  удалитьобъект(тмп) ;
конец;


функция ОбработатьСписокИД(списокИД:строка):целое;
переменные
  ссСвязанныеДокументы :  СтатическиеДанные;
  ДатаПринятия, ПричинаОтклонения :строка;
начало
  Результат := 0;
  если (списокИД&lt;&gt;"") тогда
  начало
    ссСвязанныеДокументы := СоздатьСтатическиеДанные;
    попытка  
      ссСвязанныеДокументы.СоединитьБД;
      ссСвязанныеДокументы.Запрос:="[PumpData] {select distinct fd.id, fd.recordindex , fc.reestr_ref, uc.rejectcls, uc.AcceptDate, uc.id IdCap 
        from UnionNotifyCaption uc 
        left join UnionNotifyDetail ud on (ud.recordindex=uc.id)
        left join LinkRecords lr on (lr.childid = ud.id)
        left join FacialFinDetail fd on (fd.id = lr.parentid)
        left join FacialFinCaption fc on (fc.id = fd.recordindex)
        where uc.id in (" + СписокИд + ") and ( uc.progindex = " + кПрогиндексРасписание + " ) 
          and (fd.progindex in (75,76,65,66)) and (fd.RecordIndex is not null)
          and((uc.AcceptDate &lt;&gt; fd.AcceptDate)
              or((uc.AcceptDate is null) and not (fd.AcceptDate is null))
              or(not (uc.AcceptDate is null) and (fd.AcceptDate is null))
               )}";
      ссСвязанныеДокументы.Открыть;
      ссСвязанныеДокументы.Вначало;  
      пока не ссСвязанныеДокументы.Вконце делать
      начало
        ДатаПринятия := ссСвязанныеДокументы.Поле('AcceptDate').КакСтрока;
        ПричинаОтклонения:='';
        если не ссСвязанныеДокументы.Поле('rejectcls').Пустое тогда
          ПричинаОтклонения:=", reject_cls = " + ссСвязанныеДокументы.Поле('rejectcls').КакСтрока
          иначе
            ПричинаОтклонения:=", reject_cls = null ";
        если ДатаПринятия='' тогда 
          ДатаПринятия := 'null';
        ВыполнитьЗапрос('Update facialfincaption set AcceptDate = null ' + ПричинаОтклонения + ' where id = ' + ссСвязанныеДокументы.Поле('recordindex').КакСтрока);
        ВыполнитьЗапрос('Update facialfindetail set AcceptDate = ' + ДатаПринятия + 
          ' where id = ' + ссСвязанныеДокументы.Поле('id').КакСтрока);
        ссСвязанныеДокументы.Следующая;     
      конец;
      // ГЛАВНАЯ ФИШКА. из-под одного заголовка ОФ могут выходить несколько РР, т.к. по каждому ГРБС отдельное РР
      // поэтому проводить весь заголовок ОФ низзя, если в детали остаются непроведенные записи другого РР
      разбитьОФ(ссСвязанныеДокументы) ;
      УдалениеСвязей(СписокИд); 
      Результат := ссСвязанныеДокументы.ЧислоЗаписей;
    обязательно
      ссСвязанныеДокументы := nil;
    конец;
  конец;   
конец;

  

начало
  Выполнять:=Реестр.Узел("Бюджет\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Настройки").Значение('РазбиениеЗаголовковОФ').КакЦелое;
  если (Порядок=3)/*во время сохранения*/  и (Выполнять) и не (ф.Заголовки.Таблица.Поле('AcceptDate').КакСтрока=ф.Заголовки.Таблица.Поле('AcceptDate').CacheValue) тогда   // во время сохранения
    начало
      Вр := ф.Заголовки.Таблица.UpdateRecordTypes;
      попытка
        // Скрываем не измененные записи
        ф.Заголовки.Таблица.DefProps('UpdateRecordTypes') := '-rtUnmodified';
        списокИД:=GetLimitStr(ф.Заголовки.Таблица,"id") ; 
      обязательно
        ф.Заголовки.Таблица.UpdateRecordTypes := Вр;
      конец;
      если списокИД &lt;&gt; '' тогда
        если ФильтрацияПоСвязям(списокИД)&gt;0 тогда
          ОбработатьСписокИД(списокИД);    
    конец;           
конец;
                                                        
// макрос вызывается во время проставления даты принятия
// берем список ИД расходных расписаний  и проставляем дату принятия у связанных документов ОФ
// ГЛАВНАЯ ФИШКА. из-под одного заголовка ОФ могут выходить несколько РР, т.к. по каждому ГРБС отдельное РР
// поэтому проводить весь заголовок ОФ низзя, если в детали остаются непроведенные записи другого РР
// поэтому разбиваем на несколько заголовков

// Разбить на несколько заголовков ОФ в зависимости от проведенности деталей


</value>
    <param value="Код программы" type="3" name="version">36.042.27</param>
    <param value="Код программы" type="3" name="crc32">$234C1A35</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\СвязатьРРРеорганизации">
    <value type="7" name="Код программы">включить "Project";
включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\LinkInfo2.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Variables.lib";
включить "\Макросы\Отчеты\ПоддержкаФормВвода";

переменные
  ФВ: ФормаВвода;
  СеткаМастер: СеткаДанных;
  ФДеталь: ФормаДетализации;
  Мастер, Деталь: СтатическиеДанные;
  пID, пСпецКод, пОтклонен, пУФК: Поле;
  пСуммаФин, пСумма1, пСумма2, пСумма3: Поле;
  СуммаФин, Сумма1, Сумма2, Сумма3: Дробное;
  НайденаРодительский: целое;
  РодительскийID: целое;
  ДочерниеID: строка;
  LinkInfo2: ILinkInfo2;
  Фильтр: IVariables;
  Связи: СтатическиеДанные;
  ДочерниеСписок: Текст;
  сч: целое;

функция ПроверитьДанные(Bookmark: целое; Data: БезТипа): целое;
переменные
  ЕстьПоложительные: целое;
  лСуммаФин, лСумма1, лСумма2, лСумма3: Дробное;
начало
  если (Позиция("02", пСпецКод.КакСтрока) = 0) тогда
    ВызватьОшибку("Среди выделенных есть документы с непроставленным кодом реорганизации");
  если не пОтклонен.Пустое тогда
    ВызватьОшибку("Среди выделенных есть отклоненные документы");
  если не пУФК.Пустое тогда
    ВызватьОшибку("Среди выделенных есть документы отпраленные в УФК");
  ФДеталь.Открыть;
  ЕстьПоложительные := нет;
  лСуммаФин := 0;
  лСумма1 := 0;
  лСумма2 := 0;
  лСумма3 := 0;
  Деталь.ВНачало;
  пока не Деталь.ВКонце делать
  начало
    если (пСуммаФин.КакДробное &gt; 0) или (пСумма1.КакДробное &gt; 0) или (пСумма2.КакДробное &gt; 0) или (пСумма3.КакДробное &gt; 0) тогда
      ЕстьПоложительные := да;
    лСуммаФин := лСуммаФин + пСуммаФин.КакДробное;
    лСумма1 := лСумма1 + пСумма1.КакДробное;
    лСумма2 := лСумма2 + пСумма2.КакДробное;
    лСумма3 := лСумма3 + пСумма3.КакДробное;
    Деталь.Следующая;
  конец;
  СуммаФин := СуммаФин + лСуммаФин;
  Сумма1 := Сумма1 + лСумма1;
  Сумма2 := Сумма2 + лСумма2;
  Сумма3 := Сумма3 + лСумма3;
  если (не ЕстьПоложительные) и ((лСуммаФин &lt; 0) или (лСумма1 &lt; 0) или (лСумма2 &lt; 0) или (лСумма3 &lt; 0)) тогда
  начало
    если НайденаРодительский тогда
      ВызватьОшибку("Невозможно определить какой из документов является родительским");
    РодительскийID := пID.КакЦелое;
    НайденаРодительский := да;
  конец
  иначе
  начало
    если (ДочерниеID &lt;&gt; "") тогда
      ДочерниеID := ДочерниеID + ",";
    ДочерниеID := ДочерниеID + ЦелоеВСтроку(пID.КакЦелое);
  конец;
  результат := да;
конец;

начало
  ФВ := ПолучитьФормуВвода;
  СеткаМастер := ФВ.Заголовки.Сетка;
  Мастер := ФВ.Заголовки.Таблица;
  ФДеталь := ФВ.Детализация;
  Деталь := ФВ.Детализация.Таблица;
  если не Мастер.Active тогда
    Выход;
  если (Мастер.State = dsEdit) или (Мастер.State = dsInsert) тогда
    Выход;
  если ФВ.ЕстьИзменения тогда
    ВызватьОшибку("Есть несохраненные изменения");
  если не (СеткаМастер.HasSelection и СеткаМастер.SelectionCount &gt;= 2) тогда
    ВызватьОшибку("Должно быть выделено как минимум два документа для связывания");

  пID := Мастер.ПолеПоИмени("ID");
  пСпецКод := Мастер.ПолеПоИмени("SpecialNoteCode");
  пОтклонен := Мастер.ПолеПоИмени("RejectCLS");
  пУФК := Мастер.ПолеПоИмени("ExID");
  пСуммаФин := Деталь.ПолеПоИмени("SummaFin");
  пСумма1 := Деталь.ПолеПоИмени("SummaYear1");
  пСумма2 := Деталь.ПолеПоИмени("SummaYear2");
  пСумма3 := Деталь.ПолеПоИмени("SummaYear3");
  СуммаФин := 0;
  Сумма1 := 0;
  Сумма2 := 0;
  Сумма3 := 0;
  НайденаРодительский := нет;
  РодительскийID := 0;
  ДочерниеID := "";
  СеткаМастер.BeginUpdate;
  попытка
    СеткаМастер.ForSelection(да, СоздатьОбработчик("ПроверитьДанные"), Null);
  обязательно
    СеткаМастер.EndUpdate;
  конец;
  если не НайденаРодительский тогда
    ВызватьОшибку("Среди выделенных не найден родительский документ");
  если (ДочерниеID = "") тогда
    ВызватьОшибку("Среди выделенных не найден дочерние документы");
  если (СуммаФин &lt; -0.05) или (СуммаФин &gt; 0.05) или
       (Сумма1 &lt; -0.05) или (Сумма1 &gt; 0.05) или
       (Сумма2 &lt; -0.05) или (Сумма2 &gt; 0.05) или
       (Сумма3 &lt; -0.05) или (Сумма3 &gt; 0.05)
  тогда
    ВызватьОшибку("Сумма всех документов реорганизации должна быть нулевой");

  LinkInfo2 := CreateComObject(TLinkInfo2);
  попытка
    СоединитьИнтерфейс(LinkInfo2);
    попытка
      Фильтр := CreateVariables;
      попытка
        Фильтр.Clear;
        Фильтр.Значение("LinkTypeID") := 444400200;
        Фильтр.Значение("ParentID") := ДочерниеID + "," + ЦелоеВСтроку(РодительскийID);
        Связи := LinkInfo2.GetLinks(Фильтр);
        если (Связи.ЧислоЗаписей &gt; 0) тогда
          ВызватьОшибку("Среди выделенных есть документы уже участвующие в связи реорганизации");
        Фильтр.Clear;
        Фильтр.Значение("LinkTypeID") := 444400200;
        Фильтр.Значение("ChildID") := ДочерниеID + "," + ЦелоеВСтроку(РодительскийID);
        Связи := LinkInfo2.GetLinks(Фильтр);
        если (Связи.ЧислоЗаписей &gt; 0) тогда
          ВызватьОшибку("Среди выделенных есть документы уже участвующие в связи реорганизации");
        ДочерниеСписок := СоздатьТекст;
        попытка
          ДочерниеСписок.РазделенноеЗначение := ДочерниеID;
          ОткрытьТранзакцию;
          попытка
            от сч := 0 до ДочерниеСписок.Количество - 1 делать
              LinkInfo2.CreateLink(444400200, РодительскийID, СтрокаВЦелое(ДочерниеСписок.Стр(сч)));
            ЗакрытьТранзакцию;
          неудача
            ОтменитьТранзакцию;
            ВызватьОшибку(ПоследняяОшибка);
          конец;
        обязательно
          УдалитьОбъект(ДочерниеСписок);
        конец;
      обязательно
        УдалитьОбъект(Фильтр);
      конец;
    обязательно
      ЗакрытьИнтерфейс(LinkInfo2);
    конец;
  обязательно
    УдалитьОбъект(LinkInfo2);
  конец;
  ОткрытьЗаголовкиНаФорме;
конец.
</value>
    <param value="Код программы" type="3" name="Export">MITROFANOV\mitrofanov\07.09.2009 15:18:31</param>
    <param value="Код программы" type="3" name="version">36.042.27</param>
    <param value="Код программы" type="3" name="crc32">$94FBB6C7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\УдалитьСвязьРеорганизации">
    <value type="7" name="Код программы">включить "Project";
включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\LinkInfo2.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Variables.lib";
включить "\Макросы\Отчеты\ПоддержкаФормВвода";

переменные
  ФВ: ФормаВвода;
  Мастер: СтатическиеДанные;
  LinkInfo2: ILinkInfo2;
  Фильтр: IVariables;
  Связи: СтатическиеДанные;
  СписокID: Текст;
  сс: СтатическиеДанные;
начало
  ФВ := ПолучитьФормуВвода;
  Мастер := ФВ.Заголовки.Таблица;
  если не Мастер.Active тогда
    Выход;
  если (Мастер.State = dsEdit) или (Мастер.State = dsInsert) тогда
    Выход;
  если ФВ.ЕстьИзменения тогда
    ВызватьОшибку("Есть несохраненные изменения");
  СписокID := СоздатьТекст;
  попытка
    СписокID.РазделенноеЗначение := ЦелоеВСтроку(Мастер.ПолеПоИмени("ID").КакЦелое);
    LinkInfo2 := CreateComObject(TLinkInfo2);
    попытка
      СоединитьИнтерфейс(LinkInfo2);
      попытка
        Фильтр := CreateVariables;
        попытка
          Фильтр.Clear;
          Фильтр.Значение("LinkTypeID") := 444400200;
          Фильтр.Значение("ChildID") := СписокID.РазделенноеЗначение;
          Связи := LinkInfo2.GetLinks(Фильтр);
          Связи.ВНачало;
          пока не Связи.ВКонце делать
          начало
            СписокID.Добавить(ЦелоеВСтроку(Связи.ПолеПоИмени("ParentID").КакЦелое));
            Связи.Следующая;
          конец;
          Фильтр.Clear;
          Фильтр.Значение("LinkTypeID") := 444400200;
          Фильтр.Значение("ParentID") := СписокID.РазделенноеЗначение;
          Связи := LinkInfo2.GetLinks(Фильтр);
          если (Связи.ЧислоЗаписей = 0) тогда
            ВызватьОшибку("Не найдена связь реорганизации");
          СписокID.РазделенноеЗначение := "";
          СписокID.Сортированый := да;
          СписокID.Дубликаты := 0;
          Связи.ВНачало;
          пока не Связи.ВКонце делать
          начало
            СписокID.Добавить(ЦелоеВСтроку(Связи.ПолеПоИмени("ParentID").КакЦелое));
            СписокID.Добавить(ЦелоеВСтроку(Связи.ПолеПоИмени("ChildID").КакЦелое));
            Связи.Следующая;
          конец;
          сс := СоздатьСтатическиеДанные;
          попытка
            сс.СоединитьБД;
            сс.Запрос := "[PumpData]" +
              "{select unc.ID, pde.ID ExID " +
              " from UnionNotifyCaption unc " +
              " left join PayDocExchange pde on (pde.PayDocRef = unc.ID) " +
              " where (unc.ID in (" + СписокID.РазделенноеЗначение + ")) and (pde.ID is not null)}";
            сс.Открыть;
            если (сс.ЧислоЗаписей &gt; 0) тогда
              ВызватьОшибку("По крайней мере один из документов связи уже отправлен в УФК");
          обязательно
            УдалитьОбъект(сс);
          конец;
          LinkInfo2.DeleteLinks(Фильтр, нет, bptFail);
        обязательно
          УдалитьОбъект(Фильтр);
        конец;
      обязательно
        ЗакрытьИнтерфейс(LinkInfo2);
      конец;
    обязательно
      УдалитьОбъект(LinkInfo2);
    конец;
  обязательно
    УдалитьОбъект(СписокID);
  конец;
  ОткрытьЗаголовкиНаФорме;
конец.
</value>
    <param value="Код программы" type="3" name="Export">MITROFANOV\mitrofanov\07.09.2009 15:18:38</param>
    <param value="Код программы" type="3" name="version">36.042.27</param>
    <param value="Код программы" type="3" name="crc32">$ABE4DD4F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Действия\ФормированиеРеестра">
    <value type="7" name="Код программы">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';
включить "\Библиотеки\ABLTools.lib";
включить '\Макросы\Отчеты\ПоддержкаФормВвода';

переменные
  Заголовок, Выделенные : СтатическиеДанные;
  Ф: ФормаВвода;
  НомерРеестра: строка;
  ДатаРеестра, ДатаВведенияВДействие, КодБлокировки, ЗначениеГенератора, КолЗаписей: целое;
  Длг: Диалогпараметров;
  
функция ПроставитьРеестр(Bookmark: Целое; Data: БезТипа): Целое;
переменные
  Деталь: СтатическиеДанные;
начало
  если Заголовок.ПолеПоИмени("Status").КакСтрока = "" тогда
  начало
    Заголовок.Edit;
    если НомерРеестра &lt;&gt; "" тогда
    начало
      Ф.Детализация.Открыть;
      Деталь := Ф.Детализация(0).Таблица;
      Деталь.ВНачало;
      если (Деталь.ПолеПоИмени("SummaYear1").КакДробное &lt; 0) или
           (Деталь.ПолеПоИмени("SummaYear2").КакДробное &lt; 0) или
           (Деталь.ПолеПоИмени("SummaYear3").КакДробное &lt; 0) или
           (Деталь.ПолеПоИмени("SUMMAFIN").КакДробное &lt; 0) тогда
        Сообщение("При включении в реестр пропущено отрицательное расходное расписание № " + Заголовок.ПолеПоИмени("DocNumber").КакСтрока)
      иначе
      начало
        Заголовок.ПолеПоИмени("ReestrNumber").КакСтрока := НомерРеестра;
        Заголовок.ПолеПоИмени("ReestrDate").КакСтрока := ДатаРеестра;
        Заголовок.ПолеПоИмени("Date_UTV_Reestr").КакСтрока := ДатаВведенияВДействие;
      конец;
    конец
    иначе
    начало
      Заголовок.ПолеПоИмени("ReestrNumber").Clear;
      Заголовок.ПолеПоИмени("ReestrDate").Clear;
      Заголовок.ПолеПоИмени("Date_UTV_Reestr").Clear;          
    конец;
    Заголовок.Post;
  конец;
  Заголовок.Filtered := нет;
  Результат := Истина;
конец;  
  
начало
  Ф := ПолучитьФормуВвода;
  Выделенные := ПолучитьВыбранныеДанные(0);
  КолЗаписей := Выделенные.ЧислоЗаписей;
  Выделенные.Filter := "(Status&lt;&gt;'')";
  Выделенные.Filtered := да;
  если (Выделенные.ЧислоЗаписей &lt;&gt; 0) тогда
  начало
    если (КолЗаписей = Выделенные.ЧислоЗаписей) тогда
      ВызватьОшибку("Все выделенные документы отправлены в УФК. Включать эти документы в другой реестр запрещено.")
    иначе
      Сообщение("Часть выделенных документов отправлены в УФК. Они будут пропущены.");
  конец;     
  Выделенные.Filtered := Нет;
  Заголовок := Ф.Заголовки.Таблица;
  Заголовок.BeginUpdate;
  попытка
    Выделенные.ВНачало;
    пока не Выделенные.ВКонце делать
    начало
      если не Выделенные.ПолеПоИмени("ReestrNumber").IsNull тогда
      начало
        НомерРеестра := Выделенные.ПолеПоИмени("ReestrNumber").AsString;
        ДатаРеестра := Выделенные.ПолеПоИмени("ReestrDate").КакЦелое;
        ДатаВведенияВДействие := Выделенные.ПолеПоИмени("Date_UTV_Reestr").КакЦелое;
      конец;
      Выделенные.Следующая;
    конец;
    если НомерРеестра = '' тогда
    начало
      КодБлокировки := Нумератор.Блокировать("A,K=4401,N=REESTRNUM");
      ЗначениеГенератора := ЦелоеВСтроку(Нумератор.Значение("A,K=4401,N=REESTRNUM", КодБлокировки));
      если ЗначениеГенератора &gt; 999 тогда
      начало
        //Для уникальности номера документа в течении года если номер превысил 999, 
        //то начинаем использовать 24-ричную систему счисления, начиная с A01 
        НомерРеестра := ConvertNumber(ЦелоеВСтроку(5760 + (ЗначениеГенератора - 1000)), 10, 24)
      конец
      иначе
        НомерРеестра := ЦелоеВСтроку(ЗначениеГенератора);
      ДатаРеестра := (ТекущийГод * 10000) + (ТекущийМесяц * 100) + ТекущийДень;
      ДатаВведенияВДействие := ДатаРеестра;
      Нумератор.Разблокировать("A,K=4401,N=REESTRNUM", КодБлокировки);      
    конец;
    Длг := Диалог;
    Длг.Заголовок := "Параметры реестра";
    Длг.Очистить;
    Длг.Добавить("Номер реестра", "Номер", 0, 0, "", "");
    Длг.Параметр("Номер").Значение := НомерРеестра;
    Длг.Добавить("Дата реестра", "Дата", 0, Календарь, "", "");
    Длг.Параметр("Дата").Значение := ДатаВСтроку(РасширДатаВОбычную(ДатаРеестра));
    Длг.Добавить("Дата введения в действие", "ДатаВведения", 0, Календарь, "", "");
    Длг.Параметр("ДатаВведения").Значение := ДатаВСтроку(РасширДатаВОбычную(ДатаВведенияВДействие));
    если Длг.Выполнить тогда
    начало
      НомерРеестра := Длг.Параметр("Номер").Значение;
      если (НомерРеестра &lt;&gt; "")и(Длг.Параметр("ДатаВведения").Значение = "") тогда
        ВызватьОшибку("Не указана дата введения в действие");
      ДатаРеестра := ЦелоеВСтроку(ОбычнаяДатаВРасшир(СтрокаВДату(Длг.Параметр("Дата").Значение)));          
      ДатаВведенияВДействие := ЦелоеВСтроку(ОбычнаяДатаВРасшир(СтрокаВДату(Длг.Параметр("ДатаВведения").Значение)));
      Заголовок.BeginUpdate;
      попытка
        Ф.Заголовки.Сетка.ForSelection(Да, СоздатьОбработчик('ПроставитьРеестр'), Null);
      обязательно
        Заголовок.Filtered := да;
        Заголовок.EndUpdate;
      конец;
    конец;     
  обязательно
    Заголовок.EndUpdate;
  конец;
  Ф.СохранитьИзменения;          
конец;
</value>
    <param value="Код программы" type="3" name="Export">MALINOVKIN\malinovkin\22.04.2010 17:19:48</param>
    <param value="Код программы" type="3" name="version">36.042.27</param>
    <param value="Код программы" type="3" name="crc32">$18AF445F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Панели\Стандартная\СвязатьРРРеорганизации">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Выпадающее меню">МенюРеорганизация</value>
    <value type="3" name="Действие">СвязатьРРРеорганизации</value>
    <value type="3" name="Картинка">СопоставитьВходящим</value>
    <value type="3" name="Стиль">Меню</value>
    <value type="3" name="Хинт">Связать расходные расписания реорганизации</value>
    <param value="Видимость" type="3" name="version">36.042.27</param>
    <param value="Выпадающее меню" type="3" name="version">36.042.27</param>
    <param value="Выпадающее меню" type="3" name="crc32">$7DB2D276</param>
    <param value="Действие" type="3" name="version">36.042.27</param>
    <param value="Действие" type="3" name="crc32">$2F30FED8</param>
    <param value="Картинка" type="3" name="version">36.042.27</param>
    <param value="Картинка" type="3" name="crc32">$27DD785A</param>
    <param value="Стиль" type="3" name="version">36.042.27</param>
    <param value="Стиль" type="3" name="crc32">$2267114F</param>
    <param value="Хинт" type="3" name="version">36.042.27</param>
    <param value="Хинт" type="3" name="crc32">$59BA2239</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Панели\Стандартная\ФормированиеРеестра">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">ФормированиеРеестра</value>
    <value type="3" name="Картинка">Индекс</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Формирование\расформирование реестра</value>
    <param value="Видимость" type="3" name="version">36.042.27</param>
    <param value="Действие" type="3" name="version">36.042.27</param>
    <param value="Действие" type="3" name="crc32">$A540FAEC</param>
    <param value="Картинка" type="3" name="version">36.042.27</param>
    <param value="Картинка" type="3" name="crc32">$B5E0827F</param>
    <param value="Стиль" type="3" name="version">36.042.27</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.042.27</param>
    <param value="Хинт" type="3" name="crc32">$DE036659</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Меню\Настройки">
    <value type="3" name="Действие">НастройкиИнтерфейса</value>
    <param value="Действие" type="3" name="version">36.042.27</param>
    <param value="Действие" type="3" name="crc32">$605F491D</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{AB6937F7-A672-461D-A94C-808F4DCA4D71}\Выпадающие меню\МенюРеорганизация">
    <value type="3" name="Набор картинок">16на16</value>
    <node path="Связать расходные расписания реорганизации">
      <value type="3" name="Действие">СвязатьРРРеорганизации</value>
      <value type="3" name="Картинка">СопоставитьВходящим</value>
      <param value="Действие" type="3" name="version">36.042.27</param>
      <param value="Действие" type="3" name="crc32">$2F30FED8</param>
      <param value="Картинка" type="3" name="version">36.042.27</param>
      <param value="Картинка" type="3" name="crc32">$27DD785A</param>
    </node>
    <node path="Удалить связь реорганизации">
      <value type="3" name="Действие">УдалитьСвязьРеорганизации</value>
      <param value="Действие" type="3" name="version">36.042.27</param>
      <param value="Действие" type="3" name="crc32">$CE732C67</param>
    </node>
    <param value="Набор картинок" type="3" name="version">36.042.27</param>
    <param value="Набор картинок" type="3" name="crc32">$65574240</param>
  </node>
  <version_info>
    <file>Обратная ЭЦП.xml</file>
    <version>36.041.60</version>
    <info>&lt;p&gt;Служебные макросы для формирования, обработки подписанных пакетов для передачи УРМам(для получения с УРМ).&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:42</buildtime>
  </version_info>
  <description>АБЛ-макросы для обратной ЭЦП</description>
  <node path="Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Настройки">
    <value type="3" name="БазовыйПуть">Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты</value>
    <param value="БазовыйПуть" type="3" name="version">36.041.60</param>
    <param value="БазовыйПуть" type="3" name="crc32">$AD943321</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты">
    <value type="7" name="ВывестиОтчетЧастично">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить 'Бюджет\Ресурсы\библиотеки\Control.lib';
включить 'Бюджет\Ресурсы\библиотеки\DocRefer.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить 'Бюджет\Ресурсы\библиотеки\F1Tools.lib';
включить 'Бюджет\Ресурсы\библиотеки\Cells.lib';

Событие(Коллекция: IVariables);

// возвращает имена всех полей раскладки через точку с запятой (необходима для установки IndexFieldNames)
функция ВсеПоляРаскладки(Раскладка: ITableInfoX): строка;
переменные
  Индекс: целое;
начало
  результат := "";
  от Индекс := 0 до Раскладка.Count - 1 делать
    результат := результат + Раскладка.Columns(Индекс).FieldName + ";";
  результат := Подстрока(результат, 1, Длина(результат) - 1);
конец;

функция ПреобразоватьРаскладку(Раскладка: ITableInfoX);
начало
конец;

функция УстановитьПоляЗаголовка(Страница: IUniSheet; Заголовок: СтатическиеДанные);
переменные
  инд: целое;
начало
  от инд := 0 до Заголовок.ЧислоПолей - 1 делать
    Страница.Params(Заголовок.GetField(инд).FieldName) := Заголовок.GetField(инд).AsVariant;
конец;

функция ВывестиОтчетЧастично(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                             Коллекция, ГлобПараметры, ТекстПараметров: IVariables;
                             ДанныеДоСорт, Заголовок: СтатическиеДанные);
переменные
  парам: IVariables;
  Индекс, кол, сч, рез, сЗаголовком: целое;
  ДанныеСорт: СтатическиеДанные;
  Страница: IUniSheet;
  Лента: ITableInfoX;
  Стр, ИмяОбработчика: строка;
  Field: Поле;
  Range: Variant;
  Deref: IDereference;
  Обработчики, ИменаПараметров: IVariables;
начало
  если (ДанныеДоСорт = nil)
    тогда ВызватьОшибку('Данные не найдены');
  // получаем ленточные поля
  Лента := Раскладка.GetBeltColumns;

  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  если (ТекстПараметров &lt;&gt; nil) тогда
    парам.PumpData(ТекстПараметров);

  Deref := Mapper;
  //Deref := nil; //Отрубаем разыменовку, так как на стороне клиента ее результат может отличаться
  // Создаем промежуточную структуру для построения отчета
  Страница := CreateSheet;
  // если параметры существуют переносим на страницу
  Страница.SetParams(парам);
  Визуализатор.Translation(nil);

  если (Лента = nil)
  тогда начало
    если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0)
    тогда начало
      ДанныеДоСорт.Индекс := Раскладка.GetSortByName;
      // Заполняем параметры
      Страница.SetParams(парам);
      // Построение отчета
      Building(tbxStd, Страница, Раскладка, ДанныеДоСорт, nil, Deref, парам, Визуализатор.GetParams);
      // Выводим отчет
      Визуализатор.ViewToTemplate(Страница);
    конец;
  конец
  иначе начало
    Обработчики := Визуализатор.GetProjVars;
    // Обработчик ленты
    ИмяОбработчика := Обработчики.Values('Лента');

    кол := Лента.Count;
    если (Заголовок &lt;&gt; nil) тогда
      // Если есть заголовок
      начало
        индекс := 0;
        // проверяем наличие всех полоей в заголовке
        пока (индекс &lt; кол) делать
          начало
            Field := nil;
            если (Заголовок.FindField(Лента.Columns(индекс).FieldName, Field) = нет) тогда
              // Если поле отсутствует уничтожаем заголовок
              начало
                Заголовок := nil;
                индекс := кол;
              конец;
            индекс := индекс + 1;
          конец;
      конец;

    сЗаголовком := нет;
    если (Заголовок = nil)
      // если нет заголовка создаем его
      тогда Заголовок := СоздатьСтатическиеДанные
      иначе сЗаголовком := да;

    // получаем все ленточные поля
    от Индекс := 0 до кол - 1 делать
      начало
        Стр := Лента.Columns(Индекс).FieldName;
        Field := ДанныеДоСорт.ПолеПоИмени(Стр);
        рез := Field.DataType;
        сч := Field.Size;
        если сЗаголовком тогда
          Field := Заголовок.ПолеПоИмени(Стр)
        иначе начало
          если (Заголовок.FindField(Стр, Field) = нет) тогда
          начало
            Заголовок.CreateDataField(Стр, рез, сч, нет);
            Field := Заголовок.ПолеПоИмени(Стр);
          конец;
        конец;
      конец;

    если не сЗаголовком
    тогда
      Заголовок.Open;

    Лента.FixGroup;
    если (БитИ(Раскладка.Options, ttoCustomCaption) = 0)
    тогда начало
      Стр := Лента.GetGroups;
      если ((Стр &lt;&gt; '') и (ДанныеДоСорт &lt;&gt; nil)) тогда
        Заголовок.Группировать(ДанныеДоСорт, 'default=false;' + Стр);
    конец;
    // теперь в заголовке есть все записи для ленты
    // сортируем заголовок и данные
    Заголовок.Индекс := Лента.SortStr;
    ДанныеДоСорт.Индекс := ВсеПоляРаскладки(Лента);

    ДанныеСорт := СоздатьСтатическиеДанные;
    ДанныеСорт.AssignFields(ДанныеДоСорт);

    // начинаем ленту
    Визуализатор.BeginBelt;
    попытка
      Заголовок.First;
      Пока не Заголовок.eof делать
        начало
          Страница.ClearData;
          // Получаем ограничения для диапазона
          Range := Заголовок.Values(ДанныеДоСорт.Индекс);
          // Устанавливаем диапазон
          ДанныеДоСорт.SetScope(Range);
          если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0) или (БитИ(Раскладка.Options, ttoEmptyChunk) &lt;&gt; 0)
          тогда начало
            ДанныеСорт.Reset;
            ДанныеСорт.PumpData(ДанныеДоСорт, '');
            если (ИмяОбработчика &lt;&gt; '') тогда
            начало
              // Параметры для событий
              парам.Values(АлгВизуализатор) := Визуализатор;
              парам.Values(АлгГлобальныеПараметры) := ГлобПараметры;
              парам.Values(АлгДанные) := ДанныеСорт;
              парам.Values(АлгЗаголовки) := Заголовок;
              парам.Values(АлгПараметры) := Коллекция;
              парам.Values(АлгПараметрыВывода) := ТекстПараметров;
              // то, что в шаблоне в &lt;&gt; скобках
              ИменаПараметров := Визуализатор.GetParams;
              парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
              парам.Values(АлгРаскладка) := Раскладка;
              парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
              Event(ИмяОбработчика, парам);
              // Перекачаем параметры, которые могли быть установлены в событии
              если (ТекстПараметров &lt;&gt; nil) тогда
                парам.PumpData(ТекстПараметров);
            конец;
            ДанныеСорт.Индекс := Раскладка.GetSortByName;
            // Заполняем параметры
            Страница.SetParams(парам);
            // Перекрываем ленточными полями
            УстановитьПоляЗаголовка(Страница, Заголовок);
            // Построение отчета
            Building(tbxStd, Страница, Раскладка, ДанныеСорт, nil, Deref, парам, Визуализатор.GetParams);
            // Выводим часть ленты
            Визуализатор.ViewToBelt(Страница);
          конец;
          Заголовок.Next;
        конец;
    обязательно
      // заканчиваем ленту и выводим глобальные параметры
      Визуализатор.EndBelt(Страница);
    конец;
  конец;
конец;

функция ЗапертитьРедактирование(Root: ICellObject);
переменные
  инд: целое;
начало
  Root.IncludeOutLines(4096); // Добавляем "Нередактируемая"
  от инд := 0 до Root.CellCount - 1 делать
    ЗапертитьРедактирование(Root.Cells(инд));
конец;

функция ЗащититьКнигу(Интф: Интерфейс);
переменные
  инд: целое;
  F1Book: IF1Book;
  Cells: ICellDocument;
начало
  F1Book := Интф.QueryInterface('{B0475001-7740-11D1-BDC3-0020AF9F8E6E}'); //GUID = IF1Book
  если (F1Book &lt;&gt; nil) тогда
  начало
    от инд := 1 до F1Book.NumSheets делать
    начало
      F1Book.Sheet := инд;
      F1Book.EnableProtection := да;
    конец;
    F1Book.Sheet := 1;
  конец;
  Cells := Интф.QueryInterface('{BF4F2D56-B560-11D3-A396-0000E8D9CBDB}'); //GUID = ICellDocument
  если (Cells &lt;&gt; nil) тогда
    ЗапертитьРедактирование(Cells.Root);
конец;

переменные
  Раскладка: ITableInfoX;
  Визуализатор: IUniViewer;
  Данные, Заголовок: СтатическиеДанные;
  ТекстПараметров, ГлобПараметры: IVariables;
  сч: целое;
начало
  Данные := Коллекция.Значение('Данные');
  Заголовок := Коллекция.Значение('Заголовок');
  ТекстПараметров := Коллекция.Значение('ПараметрыВывода');
  ГлобПараметры := Коллекция.Значение('ГлобальныеПараметры');

  Визуализатор := Коллекция.Значение('Визуализатор');
  Визуализатор.Template := TemplatePath+"\"+Коллекция.Значение("Шаблон");

  если (Визуализатор.Templates.Count &lt;&gt; 1)
    тогда ВызватьОшибку('Поддерживаются лишь шаблоны с одной страницей');

  //Получаем исходные данные
  от сч := 0 до Визуализатор.Templates.Count - 1 делать
  начало
    Визуализатор.Templates.Index := сч;
    Визуализатор.TemplateIndex := сч;
    Раскладка := Визуализатор.GetTable;
    ПреобразоватьРаскладку(Раскладка);
//    если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) = '') тогда
    начало
      ВывестиОтчетЧастично(Визуализатор, Раскладка, Коллекция, ГлобПараметры, ТекстПараметров, Данные, Заголовок);
    конец
  конец;
  ЗащититьКнигу(Визуализатор.Viewer);
конец;
</value>
    <param value="ВывестиОтчетЧастично" type="3" name="Export">MITROFANOVNEW\mitrofanov\31.10.2012 18:27:09</param>
    <param value="ВывестиОтчетЧастично" type="3" name="version">36.041.60</param>
    <param value="ВывестиОтчетЧастично" type="3" name="crc32">$4FF91DBE</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="МакросСозданиеCells.abl">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить 'Бюджет\Ресурсы\библиотеки\Control.lib';
включить 'Бюджет\Ресурсы\библиотеки\DocRefer.lib';
включить 'Бюджет\Ресурсы\библиотеки\Cells.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';

константы
  кАктивныеПараметры = "АктивныеПараметры";

переменные
  УникальныйСчетчик: целое = 0;

// возвращает имена всех полей раскладки через точку с запятой (необходима для установки IndexFieldNames)
функция ВсеПоляРаскладки(Раскладка: ITableInfoX): строка;
переменные
  Индекс: целое;
начало
  результат := "";
  от Индекс := 0 до Раскладка.Count - 1 делать
    результат := результат + Раскладка.Columns(Индекс).FieldName + ";";
  результат := Подстрока(результат, 1, Длина(результат) - 1);
конец;

функция СформироватьПараметры(Параметры: IVariables; Визуализатор: IUniViewer);
переменные
  ШаблонОтчета: ITemplate;
  Данные: IVariables;
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  ткс: текст;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
  ИмяКомментарийПакета: строка;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  Данные.Значение('Шаблон') := Параметры.Значение("SectGenerationTemplate");
  Визуализатор.Templates.Index := 0;
  ШаблонОтчета := Визуализатор.Templates.Template;
  Раскладка := ШаблонОтчета.TableInfo;
  ИмяКомментарийПакета := ШаблонОтчета.Variables.Значение("КомментарийПакета");
  если (ИмяКомментарийПакета &lt;&gt; '') тогда
  начало
    инд := Раскладка.FindColumn(ИмяКомментарийПакета);
    если (инд = -1) тогда
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не найдена');
    Колонка := Раскладка.Columns(инд);
    если (Колонка.ColumnType &lt;&gt; ctpBelt) тогда
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не является ленточной');
    ИмяКомментарийПакета := Колонка.FieldName;
  конец;
  Данные.Значение('КомментарийПакета') := ИмяКомментарийПакета;
  если ШаблонОтчета.Variables.ПараметрСуществует("УникальныеПоляПакета")
  тогда
    УникальныеПоляПакета := ШаблонОтчета.Variables.Значение("УникальныеПоляПакета") //1-й обязательно дата, 2-й обязатетельно л/с. Дальше могут быть еще, но там порядок уже не важен
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета"');
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    УникальныеПоляПакета := "";
    от сч := 0 до ткс.Количество - 1 делать
    начало
      если (сч &lt;&gt; 0) тогда
        УникальныеПоляПакета := УникальныеПоляПакета+',';
      если (ткс.Стр(сч) &lt;&gt; "") тогда
      начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд = -1) тогда
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
        Колонка := Раскладка.Columns(инд);
        если (Колонка.ColumnType &lt;&gt; ctpBelt) тогда
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не является ленточной');
        УникальныеПоляПакета := УникальныеПоляПакета+Колонка.FieldName;
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  Данные.Значение('УникальныеПоляПакета') := УникальныеПоляПакета;
конец;

функция ЗапертитьРедактирование(Root: ICellObject);
переменные
  инд: целое;
начало
  Root.IncludeOutLines(4096); // Добавляем "Нередактируемая"
  от инд := 0 до Root.CellCount - 1 делать
    ЗапертитьРедактирование(Root.Cells(инд));
конец;

функция ПодобратьУникальноеИмяФайла(Каталог, Расширение: строка): строка;
начало
  УникальныйСчетчик := УникальныйСчетчик + 1;
  результат := ЦелоеВСтроку(УникальныйСчетчик) + "_" + ДробноеВСтроку(Таймер);
  результат := ЗаменитьСтроку(результат, ",", "_");
  результат := Каталог + результат + "." + Расширение;
  пока ФайлСуществует(результат) делать
  начало
    УникальныйСчетчик := УникальныйСчетчик + 1;
    результат := ЦелоеВСтроку(УникальныйСчетчик) + "_" + ДробноеВСтроку(Таймер);
    результат := ЗаменитьСтроку(результат, ",", "_");
    результат := Каталог + результат + "." + Расширение;
  конец;
конец;

функция СохранитьCells(Cells: ICellDocument; БуферБлоба: Буфер);
переменные
  ИмяФайла: строка;
начало
  ЗапертитьРедактирование(Cells.Root);
  ИмяФайла := ПодобратьУникальноеИмяФайла(TmpDir, 'cll');
  попытка
    Cells.SaveToFile(ИмяФайла);
  неудача
    ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Сохранение в файл: "' + ИмяФайла + '"');
  конец;
  попытка
    БуферБлоба.ЗагрузитьИзФайла(ИмяФайла);
  неудача
    ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Загрузка из файла: "' + ИмяФайла + '"');
  конец;
  попытка
    УдалитьФайл(ИмяФайла);
  неудача
    ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Удаление файла: "' + ИмяФайла + '"');
  конец;
конец;

функция УстановитьПоляЗаголовка(Страница: IUniSheet; Заголовок: СтатическиеДанные);
переменные
  инд: целое;
начало
  от инд := 0 до Заголовок.ЧислоПолей - 1 делать
    Страница.Params(Заголовок.GetField(инд).FieldName) := Заголовок.GetField(инд).AsVariant;
конец;

функция ВывестиОтчетИСохранить(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                           Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                           Данные, Заголовок: СтатическиеДанные);
переменные
  ГлобПараметры, парам, КоллекцияДанные: IVariables;
  Индекс, кол, сч, рез, сЗаголовком: целое;
  ДанныеДоГруппировки, ДанныеДоСорт, ДанныеСорт, ДанныеОтчетов: СтатическиеДанные;
  Страница: IUniSheet;
  Лента: ITableInfoX;
  Стр, ИмяОбработчика: строка;
  Field, DataOffset, DataSize, NameField, DisplayNameField: Поле;
  DataStm: Буфер;
  IDataStm: ВнешнийОбъект;
  Range: Variant;
  Deref: IDereference;
  Обработчики, ИменаПараметров: IVariables;
  БуферБлоба: Буфер;
  ткс: текст;
  ПоляИсточник, ПоляПолучатель: Variant;
  КолПолей: целое;
  КомментарийПакета: Поле;
начало
  если (Данные = nil)
    тогда ВызватьОшибку('Данные не найдены');
  // получаем ленточные поля
  Лента := Раскладка.GetBeltColumns;

  ГлобПараметры := ГлобальныеПараметры;
  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  если (ТекстПараметров &lt;&gt; nil) тогда
    парам.PumpData(ТекстПараметров);

  Deref := Mapper;
  // Создаем промежуточную структуру для построения отчета
  Страница := CreateSheet;
  // если параметры существуют переносим на страницу
  Страница.SetParams(парам);
  Визуализатор.Translation(nil);

  ДанныеДоГруппировки := СоздатьСтатическиеДанные;
  Раскладка.AddFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоГруппировки, Deref, ecfPriorGroup);
  ДанныеДоГруппировки.Open;
  ДанныеДоГруппировки.PumpData(Данные, '');
  CalcDataSet(ДанныеДоГруппировки, Раскладка, Deref, Страница, парам, ecfPriorGroup);
  DerefDataSet(ДанныеДоГруппировки, Раскладка, Deref, ecfPriorGroup);
  если (УбратьПробелы(Раскладка.PreFilter) &lt;&gt; '')
  тогда начало
    ДанныеДоГруппировки.Filter := УбратьПробелы(Раскладка.PreFilter);
    ДанныеДоГруппировки.Filtered := да;
  конец;

  если (Лента = nil)
  тогда рез := БитИли(ecfPriorSort, ecfStd)
  иначе рез := ecfPriorSort;

  ДанныеДоСорт := СоздатьСтатическиеДанные;
  ДанныеДоСорт.AssignFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоСорт, Deref, рез);
  ДанныеДоСорт.Open;
  Стр := Раскладка.GetGroups;
  если (Стр &lt;&gt; '')
    тогда ДанныеДоСорт.GroupData(ДанныеДоГруппировки, Стр)
    иначе ДанныеДоСорт.PumpData(ДанныеДоГруппировки, '');
  CalcDataSet(ДанныеДоСорт, Раскладка, Deref, Страница, парам, рез);
  DerefDataSet(ДанныеДоСорт, Раскладка, Deref, рез);
  если (УбратьПробелы(Раскладка.Filter) &lt;&gt; '')
  тогда начало
    ДанныеДоСорт.Filter := УбратьПробелы(Раскладка.Filter);
    ДанныеДоСорт.Filtered := да;
  конец;

  ДанныеДоГруппировки := nil; //освобождаем память

  если Коллекция.ПараметрСуществует("Данные")
  тогда
    КоллекцияДанные := Коллекция.Значение("Данные")
  иначе начало
    КоллекцияДанные := CreateVariables;
    Коллекция.Значение("Данные") := КоллекцияДанные;
  конец;
  ДанныеОтчетов := СоздатьСтатическиеДанные;
  КоллекцияДанные.Значение('0') := ДанныеОтчетов;
  ДанныеОтчетов.CreateDataField('_DataOffset_', ftInteger, 0, нет);
  DataOffset := ДанныеОтчетов.ПолеПоИмени('_DataOffset_');
  ДанныеОтчетов.CreateDataField('_DataSize_', ftInteger, 0, нет);
  DataSize := ДанныеОтчетов.ПолеПоИмени('_DataSize_');
  ДанныеОтчетов.CreateDataField('_Name_', ftString, 255, нет);
  NameField := ДанныеОтчетов.ПолеПоИмени('_Name_');
  ДанныеОтчетов.CreateDataField('_DisplayName_', ftString, 255, нет);
  DisplayNameField := ДанныеОтчетов.ПолеПоИмени('_DisplayName_');

  //Получаем поток, в который мы будем сохранять все бинарные данные
  DataStm := СоздатьБуфер(Коллекция.Значение('_DataStm_'));
  IDataStm := DataStm;

  // Проверяем опциональное поле комментария пакета
  КомментарийПакета := nil;
  Стр := КоллекцияДанные.Значение('КомментарийПакета');
  если (Стр &lt;&gt; '') тогда
    КомментарийПакета := ДанныеДоСорт.ПолеПоИмени(Стр);

  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := КоллекцияДанные.Значение('УникальныеПоляПакета');
    КолПолей := ткс.Количество;
    ПоляИсточник.VarArrayCreate(varUnknown, 0, КолПолей - 1);
    ПоляПолучатель.VarArrayCreate(varUnknown, 0, КолПолей - 1);
    от Индекс := 0 до КолПолей - 1 делать
      начало
        Стр := ткс.Стр(Индекс);
        Field := ДанныеДоСорт.ПолеПоИмени(Стр);
        ПоляИсточник.AsInterface(Индекс) := Field;
        рез := Field.DataType;
        сч := Field.Size;
        ДанныеОтчетов.CreateDataField(Стр, рез, сч, нет);
        Field := ДанныеОтчетов.ПолеПоИмени(Стр);
        ПоляПолучатель.AsInterface(Индекс) := Field;
      конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  ДанныеОтчетов.Открыть;

  если (Лента = nil)
  тогда начало
    если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0)
    тогда начало
      ДанныеДоСорт.Индекс := Раскладка.GetSortByName;
      // Заполняем параметры
      Страница.SetParams(парам);
      // Построение отчета
      Building(tbxStd, Страница, Раскладка, ДанныеДоСорт, nil, Deref, парам, Визуализатор.GetParams);
      // Выводим отчет
      Визуализатор.ViewToTemplate(Страница);
      ДанныеОтчетов.Append;
      ДанныеДоСорт.ВНачало;
      от Индекс := 0 до КолПолей - 1 делать
        Поле(ПоляПолучатель.AsInterface(Индекс)).AsVariant := Поле(ПоляИсточник.AsInterface(Индекс)).AsVariant;
      БуферБлоба := СоздатьБуфер;
      попытка
        СохранитьCells(Визуализатор.Viewer, БуферБлоба);
        DataOffset.AsInteger := DataStm.Позиция;
        DataSize.AsInteger := БуферБлоба.Размер;
        если (DataSize.AsInteger &lt;&gt; 0) тогда
        начало
          БуферБлоба.Позиция := 0;
          DataStm.Позиция := DataOffset.AsInteger;
          IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
        конец;
      обязательно
        УдалитьОбъект(БуферБлоба);
      конец;
      NameField.AsString := 'autogen.cll';
      если (КомментарийПакета &lt;&gt; nil) тогда
        DisplayNameField.AsString := КомментарийПакета.AsString
      иначе
        DisplayNameField.AsString := 'Cells отчет';
      ДанныеОтчетов.Post;
      ICellDocument(Визуализатор.Viewer).Root.DeleteCell(да);
    конец;
  конец
  иначе начало
    Обработчики := Визуализатор.GetProjVars;
    // Обработчик ленты
    ИмяОбработчика := Обработчики.Values('Лента');

    кол := Лента.Count;
    если (Заголовок &lt;&gt; nil) тогда
      // Если есть заголовок
      начало
        индекс := 0;
        // проверяем наличие всех полоей в заголовке
        пока (индекс &lt; кол) делать
          начало
            Field := nil;
            если (Заголовок.FindField(Лента.Columns(индекс).FieldName, Field) = нет) тогда
              // Если поле отсутствует уничтожаем заголовок
              начало
                Заголовок := nil;
                индекс := кол;
              конец;
            индекс := индекс + 1;
          конец;
      конец;

    сЗаголовком := нет;
    если (Заголовок = nil)
      // если нет заголовка создаем его
      тогда Заголовок := СоздатьСтатическиеДанные
      иначе сЗаголовком := да;

    // получаем все ленточные поля
    от Индекс := 0 до кол - 1 делать
      начало
        Стр := Лента.Columns(Индекс).FieldName;
        Field := ДанныеДоСорт.ПолеПоИмени(Стр);
        рез := Field.DataType;
        сч := Field.Size;
        если сЗаголовком тогда
          Field := Заголовок.ПолеПоИмени(Стр)
        иначе начало
          если (Заголовок.FindField(Стр, Field) = нет) тогда
          начало
            Заголовок.CreateDataField(Стр, рез, сч, нет);
            Field := Заголовок.ПолеПоИмени(Стр);
          конец;
        конец;
      конец;

    если не сЗаголовком
    тогда
      Заголовок.Open;

    Лента.FixGroup;
    если (БитИ(Раскладка.Options, ttoCustomCaption) = 0)
    тогда начало
      Стр := Лента.GetGroups;
      если ((Стр &lt;&gt; '') и (ДанныеДоСорт &lt;&gt; nil)) тогда
        Заголовок.Группировать(ДанныеДоСорт, 'default=false;' + Стр);
    конец
    иначе начало
      CalcDataSet(Заголовок, Лента, Deref, Страница, парам, БитИли(ecfPriorGroup, ecfPriorSort));
      DerefDataSet(Заголовок, Лента, Deref, БитИли(ecfPriorGroup, ecfPriorSort));
    конец;

    //Заменяем поля источника на заголовочные, если найдем (решает проблему с выводом пустой ленты)
    от Индекс := 0 до КолПолей - 1 делать
      если Заголовок.НайтиПоле(Поле(ПоляИсточник.AsInterface(Индекс)).FieldName, Field) тогда
        ПоляИсточник.AsInterface(Индекс) := Field;
    если (КомментарийПакета &lt;&gt; nil) тогда
      если Заголовок.НайтиПоле(КомментарийПакета.FieldName, Field) тогда
        КомментарийПакета := Field;

    // теперь в заголовке есть все записи для ленты
    // сортируем заголовок и данные
    Заголовок.Индекс := Лента.SortStr;
    ДанныеДоСорт.Индекс := ВсеПоляРаскладки(Лента);

    ДанныеСорт := СоздатьСтатическиеДанные;
    ДанныеСорт.AssignFields(ДанныеДоСорт);
    Раскладка.AddNameFields(ДанныеСорт, Deref, ecfStd);
    ДанныеСорт.Open;

    попытка
      Заголовок.First;
      Пока не Заголовок.eof делать
        начало
          Страница.ClearData;
          // Получаем ограничения для диапазона
          Range := Заголовок.Values(ДанныеДоСорт.Индекс);
          // Устанавливаем диапазон
          ДанныеДоСорт.SetScope(Range);
          если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0) или (БитИ(Раскладка.Options, ttoEmptyChunk) &lt;&gt; 0)
          тогда начало
            ДанныеСорт.Reset;
            ДанныеСорт.PumpData(ДанныеДоСорт, '');
            если (ИмяОбработчика &lt;&gt; '') тогда
            начало
              // Параметры для событий
              парам.Values(АлгВизуализатор) := Визуализатор;
              парам.Values(АлгГлобальныеПараметры) := ГлобПараметры;
              парам.Values(АлгДанные) := ДанныеСорт;
              парам.Values(АлгЗаголовки) := Заголовок;
              парам.Values(АлгПараметры) := Коллекция;
              парам.Values(АлгПараметрыВывода) := ТекстПараметров;
              // то, что в шаблоне в &lt;&gt; скобках
              ИменаПараметров := Визуализатор.GetParams;
              парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
              парам.Values(АлгРаскладка) := Раскладка;
              парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
              Event(ИмяОбработчика, парам);
              // Перекачаем параметры, которые могли быть установлены в событии
              если (ТекстПараметров &lt;&gt; nil) тогда
                парам.PumpData(ТекстПараметров);
            конец;
            DerefDataSet(ДанныеСорт, Раскладка, Deref, ecfStd);
            ДанныеСорт.Индекс := Раскладка.GetSortByName;
            // Заполняем параметры
            Страница.SetParams(парам);
            // Перекрываем ленточными полями
            УстановитьПоляЗаголовка(Страница, Заголовок);
            // Построение отчета
            Building(tbxStd, Страница, Раскладка, ДанныеСорт, nil, Deref, парам, Визуализатор.GetParams);
            // начинаем ленту
            Визуализатор.BeginBelt;
            попытка
              // Выводим часть ленты
              Визуализатор.ViewToBelt(Страница);
            обязательно
              // заканчиваем ленту и выводим глобальные параметры
              Визуализатор.EndBelt(Страница);
            конец;
            ДанныеОтчетов.Append;
            ДанныеДоСорт.ВНачало;
            от Индекс := 0 до КолПолей - 1 делать
              Поле(ПоляПолучатель.AsInterface(Индекс)).AsVariant := Поле(ПоляИсточник.AsInterface(Индекс)).AsVariant;
            БуферБлоба := СоздатьБуфер;
            попытка
              СохранитьCells(Визуализатор.Viewer, БуферБлоба);
              DataOffset.AsInteger := DataStm.Позиция;
              DataSize.AsInteger := БуферБлоба.Размер;
              если (DataSize.AsInteger &lt;&gt; 0) тогда
              начало
                БуферБлоба.Позиция := 0;
                DataStm.Позиция := DataOffset.AsInteger;
                IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
              конец;
            обязательно
              УдалитьОбъект(БуферБлоба);
            конец;
            NameField.AsString := 'autogen.cll';
            если (КомментарийПакета &lt;&gt; nil) тогда
              DisplayNameField.AsString := КомментарийПакета.AsString
            иначе
              DisplayNameField.AsString := 'Cells отчет';
            ДанныеОтчетов.Post;
            ICellDocument(Визуализатор.Viewer).Root.DeleteCell(да);
          конец;
          Заголовок.Next;
        конец;
    обязательно
    конец;
  конец;
конец;

функция ПолучитьДанныеОтчета(Шаблон: строка; Коллекция: IVariables): IUniViewer;
переменные
  Раскладка: ITableInfoX;
  Визуализатор: IUniViewer;
  ТекстПараметров, НаборДанных, ВремКоллекция: IVariables;
  ЗначенияПараметров: IVariables;
  Данные, Заголовок: СтатическиеДанные;
  сч: целое;
  Параметры: строка;
  Настройка: IVariables;
начало
  ModalWafer.Clear;
  Визуализатор := ModalWafer.CheckCellViewer;
  Визуализатор.SetProject(Pather);
  Визуализатор.Template := Шаблон;

  СформироватьПараметры(Коллекция, Визуализатор);

  НаборДанных := Коллекция.Значение("Данные");

  если (Визуализатор.Templates.Count &lt;&gt; 1)
    тогда ВызватьОшибку('Поддерживаются лишь шаблоны с одной страницей');
  ВремКоллекция := создатьКоллекцию;

  //Получаем исходные данные
  от сч := 0 до Визуализатор.Templates.Count - 1 делать
  начало
    Визуализатор.Templates.Index := сч;
    Визуализатор.TemplateIndex := сч;
    Раскладка := Визуализатор.GetTable;
//    если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) = '') тогда
    начало
      Данные := nil;
      если НаборДанных &lt;&gt; nil тогда
        Данные := НаборДанных.Значение(ЦелоеВСтроку(сч));
      если Данные = nil тогда
      начало
        ВремКоллекция.Clear;
        ВремКоллекция.PumpData(Визуализатор.GetVariables);
        ЗначенияПараметров := Визуализатор.GetVariables;
        // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
        Если ЗначенияПараметров.Значение(кАктивныеПараметры) &lt;&gt; "" тогда
          Параметры := ЗначенияПараметров.Значение(кАктивныеПараметры);

        ЗначенияПараметров.PumpData(Коллекция);
        // удаляем параметр "Данные" скопированный из Коллекция, чтобы не было циклических ссылок и лишних данных для сохранения
        ЗначенияПараметров.Delete("Данные");
        // восстанавливаем параметры с шаблона, которые могли перетереться одноименными параметрами из Коллекция.
        ЗначенияПараметров.PumpData(ВремКоллекция);

        //Дополним ограничения настройками из реестра
        Настройка := CreateVariables;
        попытка
          ЗагрузитьНастройкиОтчета(Коллекция, Настройка);
          ЗначенияПараметров.PumpData(Настройка);
        обязательно
          УдалитьОбъект(Настройка);
        конец;

        // Ограничения с панели параметров
        ЗначенияПараметров := ПолучитьПараметры(ЗначенияПараметров, Параметры);
        // Параметры, которые выкидываются в шаблон
        ТекстПараметров := ПолучитьПараметрыТекст(ЗначенияПараметров, Параметры);
        // параметры по единициам измерения
        СформироватьПараметрыПоЕдИзмер(Раскладка, ЗначенияПараметров, ТекстПараметров);

        //Читающая страница. Закачиваем данные
        СформироватьДанныеОгр(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);
      конец;

      ВывестиОтчетИСохранить(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);
    конец
  конец;
  Результат := Визуализатор;
конец;

функция ПолучитьШаблонПоКоду(Код: целое; CLSEnumType: целое; Коллекция: IVariables): строка;
переменные
  ssReports: СтатическиеДанные;
  Поток: ВНЕШНИЙОБЪЕКТ;
  ПутьКШаблонам: строка;
  Настройки: строка;
  Ткст: текст;
начало
  ssReports := СоздатьСтатическиеДанные;
  ssReports.ДобавитьЦелоеПоле("CLS");
  ssReports.ДобавитьСтроковоеПоле("Template", 255);
  ssReports.ДобавитьСтроковоеПоле("OptionsPath", 255);
  ssReports.Open;
  Поток := ReadEnum(CLSEnumType);
  ssReports.PumpData(Поток, '');

  ПутьКШаблонам := TemplatePath;
  если (CLSEnumType = ENUM_DOCS) тогда
    ПутьКШаблонам := ПутьКШаблонам + "\Документы";

  если не ssReports.Locate("CLS", ArrayOf(Код), 0) тогда
  начало
    если (CLSEnumType = ENUM_DOCS) тогда
      ВызватьОшибку('Печатный документ c кодом "'+ФорматироватьКлассификатор(Код, "00.00.00.00")+'" не найден')
    иначе
      ВызватьОшибку('Отчет c кодом "'+ФорматироватьКлассификатор(Код, "00.00.00.00")+'" не найден');
  конец;

  результат := ПутьКШаблонам + '\' + ssReports.ПолеПоИмени("Template").AsString;

  Настройки := ssReports.ПолеПоИмени("OptionsPath").AsString;
  если (Код ост 100 &lt;&gt; 0) тогда
  если ssReports.Locate("CLS", ArrayOf((Код цел 100) * 100), 0) тогда
  если (ssReports.ПолеПоИмени("OptionsPath").AsString &lt;&gt; "") тогда
  начало
    если (Настройки &lt;&gt; "") тогда
      Настройки := Настройки + "," + ssReports.ПолеПоИмени("OptionsPath").AsString
    иначе
      Настройки := ssReports.ПолеПоИмени("OptionsPath").AsString;
    Ткст := СоздатьТекст;
    попытка
      Ткст.Сортированый := да;
      Ткст.Дубликаты := 0; //dupIgnore
      Ткст.РазделенноеЗначение := Настройки;
      Настройки := Ткст.РазделенноеЗначение;
    обязательно
      УдалитьОбъект(Ткст);
    конец;
  конец;

  Коллекция.Значение("OptionsPath") := Настройки;
  Коллекция.Значение("Код") := Код;
конец;
</value>
    <param value="МакросСозданиеCells.abl" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:01</param>
    <param value="МакросСозданиеCells.abl" type="3" name="version">36.041.60</param>
    <param value="МакросСозданиеCells.abl" type="3" name="crc32">$8345D927</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="МакросСозданиеExcel.abl">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить 'Бюджет\Ресурсы\библиотеки\Control.lib';
включить 'Бюджет\Ресурсы\библиотеки\DocRefer.lib';
включить 'Бюджет\Ресурсы\библиотеки\F1Tools.lib';
включить 'Бюджет\Ресурсы\библиотеки\XLS.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';

константы
  кАктивныеПараметры = "АктивныеПараметры";
  //F1FileTypeConstants
  F1FileTabbedText = $00000003;
  F1FileExcel5 = $00000004;
  F1FileFormulaOne3 = $00000005;
  F1FileTabbedTextValuesOnly = $00000006;
  F1FileHTML = $00000009;
  F1FileHTMLDataOnly = $0000000A;
  F1FileExcel97 = $0000000B;
  F1FileFormulaOne6 = $0000000C;

  ПутьКНастройкам = "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Настройки";

переменные
  УникальныйСчетчик: целое = 0;

// возвращает имена всех полей раскладки через точку с запятой (необходима для установки IndexFieldNames)
функция ВсеПоляРаскладки(Раскладка: ITableInfoX): строка;
переменные
  Индекс: целое;
начало
  результат := "";
  от Индекс := 0 до Раскладка.Count - 1 делать
    результат := результат + Раскладка.Columns(Индекс).FieldName + ";";
  результат := Подстрока(результат, 1, Длина(результат) - 1);
конец;

функция СформироватьПараметры(Параметры: IVariables; Визуализатор: IUniViewer);
переменные
  ШаблонОтчета: ITemplate;
  Данные: IVariables;
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  ткс: текст;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
  ИмяКомментарийПакета: строка;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  Данные.Значение('Шаблон') := Параметры.Значение("SectGenerationTemplate");
  Визуализатор.Templates.Index := 0;
  ШаблонОтчета := Визуализатор.Templates.Template;
  Раскладка := ШаблонОтчета.TableInfo;
  ИмяКомментарийПакета := ШаблонОтчета.Variables.Значение("КомментарийПакета");
  если (ИмяКомментарийПакета &lt;&gt; '') тогда
  начало
    инд := Раскладка.FindColumn(ИмяКомментарийПакета);
    если (инд = -1) тогда
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не найдена');
    Колонка := Раскладка.Columns(инд);
    если (Колонка.ColumnType &lt;&gt; ctpBelt) тогда
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не является ленточной');
    ИмяКомментарийПакета := Колонка.FieldName;
  конец;
  Данные.Значение('КомментарийПакета') := ИмяКомментарийПакета;
  если ШаблонОтчета.Variables.ПараметрСуществует("УникальныеПоляПакета")
  тогда
    УникальныеПоляПакета := ШаблонОтчета.Variables.Значение("УникальныеПоляПакета") //1-й обязательно дата, 2-й обязатетельно л/с. Дальше могут быть еще, но там порядок уже не важен
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета"');
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    УникальныеПоляПакета := "";
    от сч := 0 до ткс.Количество - 1 делать
    начало
      если (сч &lt;&gt; 0) тогда
        УникальныеПоляПакета := УникальныеПоляПакета+',';
      если (ткс.Стр(сч) &lt;&gt; "") тогда
      начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд = -1) тогда
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
        Колонка := Раскладка.Columns(инд);
        если (Колонка.ColumnType &lt;&gt; ctpBelt) тогда
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не является ленточной');
        УникальныеПоляПакета := УникальныеПоляПакета+Колонка.FieldName;
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  Данные.Значение('УникальныеПоляПакета') := УникальныеПоляПакета;
конец;

функция ПодобратьУникальноеИмяФайла(Каталог, Расширение: строка): строка;
начало
  УникальныйСчетчик := УникальныйСчетчик + 1;
  результат := ЦелоеВСтроку(УникальныйСчетчик) + "_" + ДробноеВСтроку(Таймер);
  результат := ЗаменитьСтроку(результат, ",", "_");
  результат := Каталог + результат + "." + Расширение;
  пока ФайлСуществует(результат) делать
  начало
    УникальныйСчетчик := УникальныйСчетчик + 1;
    результат := ЦелоеВСтроку(УникальныйСчетчик) + "_" + ДробноеВСтроку(Таймер);
    результат := ЗаменитьСтроку(результат, ",", "_");
    результат := Каталог + результат + "." + Расширение;
  конец;
конец;

функция СохранитьF1ToExcell(F1Book: IF1Book; БуферБлоба: Буфер; КолСтраницВШирину: целое; АвтоВысота: целое);
переменные
  ИмяФайла: строка;
  инд: целое;
  Парам, ПарамСтр: IVariables;
начало
  Парам := CreateVariables;
  от инд := 1 до F1Book.NumSheets делать
  начало
    F1Book.Sheet := инд;
    F1Book.EnableProtection := да;
    ПарамСтр := CreateVariables;
    если (КолСтраницВШирину &gt; 0) тогда
      ПарамСтр.Значение('AutoScalePages') := КолСтраницВШирину;
    Парам.Значение(инд) := ПарамСтр;
    если не Парам.ПараметрСуществует(F1Book.SheetName(инд)) тогда
      Парам.Значение(F1Book.SheetName(инд)) := ПарамСтр;
  конец;
  если АвтоВысота тогда
    Парам.Значение('SetCellsAutoHeight') := да;
  F1Book.Sheet := 1;
  ИмяФайла := ПодобратьУникальноеИмяФайла(TmpDir, 'xls');
  попытка
    // используем безопасное сохранение чтобы избежать проблем с драйвером принтера
    SaveF1BookEx(F1Book, ИмяФайла, -1, нет, Парам);
  неудача
    ошибка(ПоследняяОшибка + #13#10 + 'Сохранение в файл (F1-&gt;XLS): "' + ИмяФайла + '"');
  конец;
  попытка
    БуферБлоба.ЗагрузитьИзФайла(ИмяФайла);
  неудача
    ошибка(ПоследняяОшибка + #13#10 + 'Загрузка из файла (XLS): "' + ИмяФайла + '"');
  конец;
  попытка
    УдалитьФайл(ИмяФайла);
  неудача
    ошибка(ПоследняяОшибка + #13#10 + 'Удаление файла (XLS): "' + ИмяФайла + '"');
  конец;
конец;

функция ПолучитьФлагИзНастроек(Имя: строка): целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := нет;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение(Имя).Существует тогда
    попытка
      результат := УзелСНастройками.Значение(Имя).КакЦелое;
    неудача
    конец;
конец;

функция УстановитьПоляЗаголовка(Страница: IUniSheet; Заголовок: СтатическиеДанные);
переменные
  инд: целое;
начало
  от инд := 0 до Заголовок.ЧислоПолей - 1 делать
    Страница.Params(Заголовок.GetField(инд).FieldName) := Заголовок.GetField(инд).AsVariant;
конец;

функция ВывестиОтчетИСохранить(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                           Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                           Данные, Заголовок: СтатическиеДанные; OpenOffice: целое);
переменные
  ГлобПараметры, парам, КоллекцияДанные: IVariables;
  Индекс, кол, сч, рез, сЗаголовком: целое;
  ДанныеДоГруппировки, ДанныеДоСорт, ДанныеСорт, ДанныеОтчетов: СтатическиеДанные;
  Страница: IUniSheet;
  Лента: ITableInfoX;
  Стр, ИмяОбработчика: строка;
  Field, DataOffset, DataSize, NameField, DisplayNameField: Поле;
  DataStm: Буфер;
  IDataStm: ВнешнийОбъект;
  Range: Variant;
  Deref: IDereference;
  Обработчики, ИменаПараметров: IVariables;
  БуферБлоба: Буфер;
  ткс: текст;
  ПоляИсточник, ПоляПолучатель: Variant;
  КолПолей: целое;
  КолСтраницВШирину: целое;
  КомментарийПакета: Поле;
  АвтоВысота: целое;
начало
  если (Данные = nil)
    тогда ВызватьОшибку('Данные не найдены');

  КолСтраницВШирину := 0;
  если Визуализатор.Templates.Template.Options.CheckParam("AutoScale") тогда
    если Визуализатор.Templates.Template.Options.Values("AutoScale") тогда
    начало
      если Визуализатор.Templates.Template.Options.CheckParam("ScalePages") тогда
        КолСтраницВШирину := Визуализатор.Templates.Template.Options.Values("ScalePages");
      если (КолСтраницВШирину &lt; 1) тогда
        КолСтраницВШирину := 1;
    конец;
  АвтоВысота := нет;
  если не OpenOffice тогда
    АвтоВысота := ПолучитьФлагИзНастроек("AutoHeightInExcel");

  // получаем ленточные поля
  Лента := Раскладка.GetBeltColumns;

  ГлобПараметры := ГлобальныеПараметры;
  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  если (ТекстПараметров &lt;&gt; nil) тогда
    парам.PumpData(ТекстПараметров);

  Deref := Mapper;
  // Создаем промежуточную структуру для построения отчета
  Страница := CreateSheet;
  // если параметры существуют переносим на страницу
  Страница.SetParams(парам);
  Визуализатор.Translation(nil);

  ДанныеДоГруппировки := СоздатьСтатическиеДанные;
  Раскладка.AddFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоГруппировки, Deref, ecfPriorGroup);
  ДанныеДоГруппировки.Open;
  ДанныеДоГруппировки.PumpData(Данные, '');
  CalcDataSet(ДанныеДоГруппировки, Раскладка, Deref, Страница, парам, ecfPriorGroup);
  DerefDataSet(ДанныеДоГруппировки, Раскладка, Deref, ecfPriorGroup);
  если (УбратьПробелы(Раскладка.PreFilter) &lt;&gt; '')
  тогда начало
    ДанныеДоГруппировки.Filter := УбратьПробелы(Раскладка.PreFilter);
    ДанныеДоГруппировки.Filtered := да;
  конец;

  если (Лента = nil)
  тогда рез := БитИли(ecfPriorSort, ecfStd)
  иначе рез := ecfPriorSort;

  ДанныеДоСорт := СоздатьСтатическиеДанные;
  ДанныеДоСорт.AssignFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоСорт, Deref, рез);
  ДанныеДоСорт.Open;
  Стр := Раскладка.GetGroups;
  если (Стр &lt;&gt; '')
    тогда ДанныеДоСорт.GroupData(ДанныеДоГруппировки, Стр)
    иначе ДанныеДоСорт.PumpData(ДанныеДоГруппировки, '');
  CalcDataSet(ДанныеДоСорт, Раскладка, Deref, Страница, парам, рез);
  DerefDataSet(ДанныеДоСорт, Раскладка, Deref, рез);
  если (УбратьПробелы(Раскладка.Filter) &lt;&gt; '')
  тогда начало
    ДанныеДоСорт.Filter := УбратьПробелы(Раскладка.Filter);
    ДанныеДоСорт.Filtered := да;
  конец;

  ДанныеДоГруппировки := nil; //освобождаем память

  если Коллекция.ПараметрСуществует("Данные")
  тогда
    КоллекцияДанные := Коллекция.Значение("Данные")
  иначе начало
    КоллекцияДанные := CreateVariables;
    Коллекция.Значение("Данные") := КоллекцияДанные;
  конец;
  ДанныеОтчетов := СоздатьСтатическиеДанные;
  КоллекцияДанные.Значение('0') := ДанныеОтчетов;
  ДанныеОтчетов.CreateDataField('_DataOffset_', ftInteger, 0, нет);
  DataOffset := ДанныеОтчетов.ПолеПоИмени('_DataOffset_');
  ДанныеОтчетов.CreateDataField('_DataSize_', ftInteger, 0, нет);
  DataSize := ДанныеОтчетов.ПолеПоИмени('_DataSize_');
  ДанныеОтчетов.CreateDataField('_Name_', ftString, 255, нет);
  NameField := ДанныеОтчетов.ПолеПоИмени('_Name_');
  ДанныеОтчетов.CreateDataField('_DisplayName_', ftString, 255, нет);
  DisplayNameField := ДанныеОтчетов.ПолеПоИмени('_DisplayName_');

  //Получаем поток, в который мы будем сохранять все бинарные данные
  DataStm := СоздатьБуфер(Коллекция.Значение('_DataStm_'));
  IDataStm := DataStm;

  // Проверяем опциональное поле комментария пакета
  КомментарийПакета := nil;
  Стр := КоллекцияДанные.Значение('КомментарийПакета');
  если (Стр &lt;&gt; '') тогда
    КомментарийПакета := ДанныеДоСорт.ПолеПоИмени(Стр);

  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := КоллекцияДанные.Значение('УникальныеПоляПакета');
    КолПолей := ткс.Количество;
    ПоляИсточник.VarArrayCreate(varUnknown, 0, КолПолей - 1);
    ПоляПолучатель.VarArrayCreate(varUnknown, 0, КолПолей - 1);
    от Индекс := 0 до КолПолей - 1 делать
      начало
        Стр := ткс.Стр(Индекс);
        Field := ДанныеДоСорт.ПолеПоИмени(Стр);
        ПоляИсточник.AsInterface(Индекс) := Field;
        рез := Field.DataType;
        сч := Field.Size;
        ДанныеОтчетов.CreateDataField(Стр, рез, сч, нет);
        Field := ДанныеОтчетов.ПолеПоИмени(Стр);
        ПоляПолучатель.AsInterface(Индекс) := Field;
      конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  ДанныеОтчетов.Открыть;

  если (Лента = nil)
  тогда начало
    если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0)
    тогда начало
      ДанныеДоСорт.Индекс := Раскладка.GetSortByName;
      // Заполняем параметры
      Страница.SetParams(парам);
      // Построение отчета
      Building(tbxStd, Страница, Раскладка, ДанныеДоСорт, nil, Deref, парам, Визуализатор.GetParams);
      // Выводим отчет
      Визуализатор.ViewToTemplate(Страница);
      ДанныеОтчетов.Append;
      ДанныеДоСорт.ВНачало;
      от Индекс := 0 до КолПолей - 1 делать
        Поле(ПоляПолучатель.AsInterface(Индекс)).AsVariant := Поле(ПоляИсточник.AsInterface(Индекс)).AsVariant;
      БуферБлоба := СоздатьБуфер;
      попытка
        СохранитьF1ToExcell(Визуализатор.Viewer, БуферБлоба, КолСтраницВШирину, АвтоВысота);
        DataOffset.AsInteger := DataStm.Позиция;
        DataSize.AsInteger := БуферБлоба.Размер;
        если (DataSize.AsInteger &lt;&gt; 0) тогда
        начало
          БуферБлоба.Позиция := 0;
          DataStm.Позиция := DataOffset.AsInteger;
          IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
        конец;
      обязательно
        УдалитьОбъект(БуферБлоба);
      конец;
      если OpenOffice тогда
        NameField.AsString := 'autogen.ods'
      иначе
        NameField.AsString := 'autogen.xls';
      если (КомментарийПакета &lt;&gt; nil) тогда
        DisplayNameField.AsString := КомментарийПакета.AsString
      иначе
        если OpenOffice тогда
          DisplayNameField.AsString := 'OpenOffice эл. таблицы'
        иначе
          DisplayNameField.AsString := 'Excel отчет';
      ДанныеОтчетов.Post;
      IF1Book(Визуализатор.Viewer).InitTable;
    конец;
  конец
  иначе начало
    Обработчики := Визуализатор.GetProjVars;
    // Обработчик ленты
    ИмяОбработчика := Обработчики.Values('Лента');

    кол := Лента.Count;
    если (Заголовок &lt;&gt; nil) тогда
      // Если есть заголовок
      начало
        индекс := 0;
        // проверяем наличие всех полоей в заголовке
        пока (индекс &lt; кол) делать
          начало
            Field := nil;
            если (Заголовок.FindField(Лента.Columns(индекс).FieldName, Field) = нет) тогда
              // Если поле отсутствует уничтожаем заголовок
              начало
                Заголовок := nil;
                индекс := кол;
              конец;
            индекс := индекс + 1;
          конец;
      конец;

    сЗаголовком := нет;
    если (Заголовок = nil)
      // если нет заголовка создаем его
      тогда Заголовок := СоздатьСтатическиеДанные
      иначе сЗаголовком := да;

    // получаем все ленточные поля
    от Индекс := 0 до кол - 1 делать
      начало
        Стр := Лента.Columns(Индекс).FieldName;
        Field := ДанныеДоСорт.ПолеПоИмени(Стр);
        рез := Field.DataType;
        сч := Field.Size;
        если сЗаголовком тогда
          Field := Заголовок.ПолеПоИмени(Стр)
        иначе начало
          если (Заголовок.FindField(Стр, Field) = нет) тогда
          начало
            Заголовок.CreateDataField(Стр, рез, сч, нет);
            Field := Заголовок.ПолеПоИмени(Стр);
          конец;
        конец;
      конец;

    если не сЗаголовком
    тогда
      Заголовок.Open;

    Лента.FixGroup;
    если (БитИ(Раскладка.Options, ttoCustomCaption) = 0)
    тогда начало
      Стр := Лента.GetGroups;
      если ((Стр &lt;&gt; '') и (ДанныеДоСорт &lt;&gt; nil)) тогда
        Заголовок.Группировать(ДанныеДоСорт, 'default=false;' + Стр);
    конец
    иначе начало
      CalcDataSet(Заголовок, Лента, Deref, Страница, парам, БитИли(ecfPriorGroup, ecfPriorSort));
      DerefDataSet(Заголовок, Лента, Deref, БитИли(ecfPriorGroup, ecfPriorSort));
    конец;

    //Заменяем поля источника на заголовочные, если найдем (решает проблему с выводом пустой ленты)
    от Индекс := 0 до КолПолей - 1 делать
      если Заголовок.НайтиПоле(Поле(ПоляИсточник.AsInterface(Индекс)).FieldName, Field) тогда
        ПоляИсточник.AsInterface(Индекс) := Field;
    если (КомментарийПакета &lt;&gt; nil) тогда
      если Заголовок.НайтиПоле(КомментарийПакета.FieldName, Field) тогда
        КомментарийПакета := Field;

    // теперь в заголовке есть все записи для ленты
    // сортируем заголовок и данные
    Заголовок.Индекс := Лента.SortStr;
    ДанныеДоСорт.Индекс := ВсеПоляРаскладки(Лента);

    ДанныеСорт := СоздатьСтатическиеДанные;
    ДанныеСорт.AssignFields(ДанныеДоСорт);
    Раскладка.AddNameFields(ДанныеСорт, Deref, ecfStd);
    ДанныеСорт.Open;

    попытка
      Заголовок.First;
      Пока не Заголовок.eof делать
        начало
          Страница.ClearData;
          // Получаем ограничения для диапазона
          Range := Заголовок.Values(ДанныеДоСорт.Индекс);
          // Устанавливаем диапазон
          ДанныеДоСорт.SetScope(Range);
          если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0) или (БитИ(Раскладка.Options, ttoEmptyChunk) &lt;&gt; 0)
          тогда начало
            ДанныеСорт.Reset;
            ДанныеСорт.PumpData(ДанныеДоСорт, '');
            если (ИмяОбработчика &lt;&gt; '') тогда
            начало
              // Параметры для событий
              парам.Values(АлгВизуализатор) := Визуализатор;
              парам.Values(АлгГлобальныеПараметры) := ГлобПараметры;
              парам.Values(АлгДанные) := ДанныеСорт;
              парам.Values(АлгЗаголовки) := Заголовок;
              парам.Values(АлгПараметры) := Коллекция;
              парам.Values(АлгПараметрыВывода) := ТекстПараметров;
              // то, что в шаблоне в &lt;&gt; скобках
              ИменаПараметров := Визуализатор.GetParams;
              парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
              парам.Values(АлгРаскладка) := Раскладка;
              парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
              Event(ИмяОбработчика, парам);
              // Перекачаем параметры, которые могли быть установлены в событии
              если (ТекстПараметров &lt;&gt; nil) тогда
                парам.PumpData(ТекстПараметров);
            конец;
            DerefDataSet(ДанныеСорт, Раскладка, Deref, ecfStd);
            ДанныеСорт.Индекс := Раскладка.GetSortByName;
            // Заполняем параметры
            Страница.SetParams(парам);
            // Перекрываем ленточными полями
            УстановитьПоляЗаголовка(Страница, Заголовок);
            // Построение отчета
            Building(tbxStd, Страница, Раскладка, ДанныеСорт, nil, Deref, парам, Визуализатор.GetParams);
            // начинаем ленту
            Визуализатор.BeginBelt;
            попытка
              // Выводим часть ленты
              Визуализатор.ViewToBelt(Страница);
            обязательно
              // заканчиваем ленту и выводим глобальные параметры
              Визуализатор.EndBelt(Страница);
            конец;
            ДанныеОтчетов.Append;
            ДанныеДоСорт.ВНачало;
            от Индекс := 0 до КолПолей - 1 делать
              Поле(ПоляПолучатель.AsInterface(Индекс)).AsVariant := Поле(ПоляИсточник.AsInterface(Индекс)).AsVariant;
            БуферБлоба := СоздатьБуфер;
            попытка
              СохранитьF1ToExcell(Визуализатор.Viewer, БуферБлоба, КолСтраницВШирину, АвтоВысота);
              DataOffset.AsInteger := DataStm.Позиция;
              DataSize.AsInteger := БуферБлоба.Размер;
              если (DataSize.AsInteger &lt;&gt; 0) тогда
              начало
                БуферБлоба.Позиция := 0;
                DataStm.Позиция := DataOffset.AsInteger;
                IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
              конец;
            обязательно
              УдалитьОбъект(БуферБлоба);
            конец;
            если OpenOffice тогда
              NameField.AsString := 'autogen.ods'
            иначе
              NameField.AsString := 'autogen.xls';
            если (КомментарийПакета &lt;&gt; nil) тогда
              DisplayNameField.AsString := КомментарийПакета.AsString
            иначе
              если OpenOffice тогда
                DisplayNameField.AsString := 'OpenOffice эл. таблицы'
              иначе
                DisplayNameField.AsString := 'Excel отчет';
            ДанныеОтчетов.Post;
            IF1Book(Визуализатор.Viewer).InitTable;
          конец;
          Заголовок.Next;
        конец;
    обязательно
    конец;
  конец;
конец;

функция ПолучитьДанныеОтчета(Шаблон: строка; Коллекция: IVariables; OpenOffice: целое): IUniViewer;
переменные
  Раскладка: ITableInfoX;
  Визуализатор: IUniViewer;
  ТекстПараметров, НаборДанных, ВремКоллекция: IVariables;
  ЗначенияПараметров: IVariables;
  Данные, Заголовок: СтатическиеДанные;
  сч: целое;
  Параметры: строка;
  Настройка: IVariables;
начало
  ModalWafer.Clear;
  Визуализатор := ModalWafer.CheckF1Viewer;
  Визуализатор.SetProject(Pather);
  Визуализатор.Template := Шаблон;

  СформироватьПараметры(Коллекция, Визуализатор);

  НаборДанных := Коллекция.Значение("Данные");

  если (Визуализатор.Templates.Count &lt;&gt; 1)
    тогда ВызватьОшибку('Поддерживаются лишь шаблоны с одной страницей');
  ВремКоллекция := создатьКоллекцию;

  //Получаем исходные данные
  от сч := 0 до Визуализатор.Templates.Count - 1 делать
  начало
    Визуализатор.Templates.Index := сч;
    Визуализатор.TemplateIndex := сч;
    Раскладка := Визуализатор.GetTable;
//    если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) = '') тогда
    начало
      Данные := nil;
      если НаборДанных &lt;&gt; nil тогда
        Данные := НаборДанных.Значение(ЦелоеВСтроку(сч));
      если Данные = nil тогда
      начало
        ВремКоллекция.Clear;
        ВремКоллекция.PumpData(Визуализатор.GetVariables);
        ЗначенияПараметров := Визуализатор.GetVariables;
        // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
        Если ЗначенияПараметров.Значение(кАктивныеПараметры) &lt;&gt; "" тогда
          Параметры := ЗначенияПараметров.Значение(кАктивныеПараметры);

        ЗначенияПараметров.PumpData(Коллекция);
        // удаляем параметр "Данные" скопированный из Коллекция, чтобы не было циклических ссылок и лишних данных для сохранения
        ЗначенияПараметров.Delete("Данные");
        // восстанавливаем параметры с шаблона, которые могли перетереться одноименными параметрами из Коллекция.
        ЗначенияПараметров.PumpData(ВремКоллекция);

        //Дополним ограничения настройками из реестра
        Настройка := CreateVariables;
        попытка
          ЗагрузитьНастройкиОтчета(Коллекция, Настройка);
          ЗначенияПараметров.PumpData(Настройка);
        обязательно
          УдалитьОбъект(Настройка);
        конец;

        // Ограничения с панели параметров
        ЗначенияПараметров := ПолучитьПараметры(ЗначенияПараметров, Параметры);
        // Параметры, которые выкидываются в шаблон
        ТекстПараметров := ПолучитьПараметрыТекст(ЗначенияПараметров, Параметры);
        // параметры по единициам измерения
        СформироватьПараметрыПоЕдИзмер(Раскладка, ЗначенияПараметров, ТекстПараметров);

        //Читающая страница. Закачиваем данные
        СформироватьДанныеОгр(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);
      конец;

      ВывестиОтчетИСохранить(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок, OpenOffice);
    конец
  конец;
  Результат := Визуализатор;
конец;

функция ПолучитьШаблонПоКоду(Код: целое; CLSEnumType: целое; Коллекция: IVariables): строка;
переменные
  ssReports: СтатическиеДанные;
  Поток: ВНЕШНИЙОБЪЕКТ;
  ПутьКШаблонам: строка;
  Настройки: строка;
  Ткст: текст;
начало
  ssReports := СоздатьСтатическиеДанные;
  ssReports.ДобавитьЦелоеПоле("CLS");
  ssReports.ДобавитьСтроковоеПоле("Template", 255);
  ssReports.ДобавитьСтроковоеПоле("OptionsPath", 255);
  ssReports.Open;
  Поток := ReadEnum(CLSEnumType);
  ssReports.PumpData(Поток, '');

  ПутьКШаблонам := TemplatePath;
  если (CLSEnumType = ENUM_DOCS) тогда
    ПутьКШаблонам := ПутьКШаблонам + "\Документы";

  если не ssReports.Locate("CLS", ArrayOf(Код), 0) тогда
  начало
    если (CLSEnumType = ENUM_DOCS) тогда
      ВызватьОшибку('Печатный документ c кодом "'+ФорматироватьКлассификатор(Код, "00.00.00.00")+'" не найден')
    иначе
      ВызватьОшибку('Отчет c кодом "'+ФорматироватьКлассификатор(Код, "00.00.00.00")+'" не найден');
  конец;

  результат := ПутьКШаблонам + '\' + ssReports.ПолеПоИмени("Template").AsString;

  Настройки := ssReports.ПолеПоИмени("OptionsPath").AsString;
  если (Код ост 100 &lt;&gt; 0) тогда
  если ssReports.Locate("CLS", ArrayOf((Код цел 100) * 100), 0) тогда
  если (ssReports.ПолеПоИмени("OptionsPath").AsString &lt;&gt; "") тогда
  начало
    если (Настройки &lt;&gt; "") тогда
      Настройки := Настройки + "," + ssReports.ПолеПоИмени("OptionsPath").AsString
    иначе
      Настройки := ssReports.ПолеПоИмени("OptionsPath").AsString;
    Ткст := СоздатьТекст;
    попытка
      Ткст.Сортированый := да;
      Ткст.Дубликаты := 0; //dupIgnore
      Ткст.РазделенноеЗначение := Настройки;
      Настройки := Ткст.РазделенноеЗначение;
    обязательно
      УдалитьОбъект(Ткст);
    конец;
  конец;

  Коллекция.Значение("OptionsPath") := Настройки;
  Коллекция.Значение("Код") := Код;
конец;
</value>
    <param value="МакросСозданиеExcel.abl" type="3" name="Export">MITROFANOVNEW\mitrofanov\25.04.2013 15:09:23</param>
    <param value="МакросСозданиеExcel.abl" type="3" name="version">36.041.60</param>
    <param value="МакросСозданиеExcel.abl" type="3" name="crc32">$12CFB3C5</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="МакросСозданиеКомпозитногоCells.abl">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить 'Бюджет\Ресурсы\библиотеки\Control.lib';
включить 'Бюджет\Ресурсы\библиотеки\DocRefer.lib';
включить 'Бюджет\Ресурсы\библиотеки\Cells.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';

константы
  кАктивныеПараметры = "АктивныеПараметры";

переменные
  УникальныйСчетчик: целое = 0;

// возвращает имена всех полей раскладки через точку с запятой (необходима для установки IndexFieldNames)
функция ВсеПоляРаскладки(Раскладка: ITableInfoX): строка;
переменные
  Индекс: целое;
начало
  результат := "";
  от Индекс := 0 до Раскладка.Count - 1 делать
    результат := результат + Раскладка.Columns(Индекс).FieldName + ";";
  результат := Подстрока(результат, 1, Длина(результат) - 1);
конец;

функция СформироватьПараметры(Параметры: IVariables; Визуализатор: IUniViewer);
переменные
  ШаблонОтчета: ITemplate;
  Данные: IVariables;
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  ткс: текст;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
  ИмяКомментарийПакета: строка;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  Данные.Значение('Шаблон') := Параметры.Значение("SectGenerationTemplate");
  Визуализатор.Templates.Index := 0;
  ШаблонОтчета := Визуализатор.Templates.Template;
  Раскладка := ШаблонОтчета.TableInfo;
  ИмяКомментарийПакета := ШаблонОтчета.Variables.Значение("КомментарийПакета");
  Данные.Значение('КомментарийПакета_cols') := ИмяКомментарийПакета;
  если (ИмяКомментарийПакета &lt;&gt; '') тогда
  начало
    инд := Раскладка.FindColumn(ИмяКомментарийПакета);
    если (инд &lt;&gt; -1) тогда начало
      Колонка := Раскладка.Columns(инд);
      ИмяКомментарийПакета := Колонка.FieldName;
    конец
    иначе
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не найдена');
  конец;
  Данные.Значение('КомментарийПакета') := ИмяКомментарийПакета;
  если ШаблонОтчета.Variables.ПараметрСуществует("УникальныеПоляПакета")
  тогда
    УникальныеПоляПакета := ШаблонОтчета.Variables.Значение("УникальныеПоляПакета") //1-й обязательно дата, 2-й обязатетельно л/с. Дальше могут быть еще, но там порядок уже не важен
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета"');
  Данные.Значение('УникальныеПоляПакета_cols') := УникальныеПоляПакета;
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    УникальныеПоляПакета := "";
    от сч := 0 до ткс.Количество - 1 делать начало
      если (сч &lt;&gt; 0)
      тогда УникальныеПоляПакета := УникальныеПоляПакета+',';
      если (ткс.Стр(сч) &lt;&gt; "")
      тогда начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд &lt;&gt; -1) тогда начало
          Колонка := Раскладка.Columns(инд);
          УникальныеПоляПакета := УникальныеПоляПакета+Колонка.FieldName;
        конец
        иначе
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  Данные.Значение('УникальныеПоляПакета') := УникальныеПоляПакета;
конец;

функция ПроверитьИСкопироватьПараметры(Параметры, Коллекция: IVariables);
переменные
  Данные, ГлобДанные: IVariables;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе
    ВызватьОшибку('Не найдена коллекция Данные');
  если Коллекция.ПараметрСуществует("Данные")
  тогда
    ГлобДанные := Коллекция.Значение("Данные")
  иначе начало
    ГлобДанные := CreateVariables;
    Коллекция.Значение("Данные") := ГлобДанные;
  конец;
  если ГлобДанные.ПараметрСуществует("Шаблон")
  тогда начало
    если (Строка(ГлобДанные.Значение("Шаблон")) &lt;&gt; Строка(Данные.Значение("Шаблон")))
    тогда
      ВызватьОшибку('Параметр "Шаблон" не совпадает');
  конец
  иначе
    ГлобДанные.Значение("Шаблон") := Данные.Значение("Шаблон");
  если ГлобДанные.ПараметрСуществует("УникальныеПоляПакета")
  тогда начало
    если (Строка(ГлобДанные.Значение("УникальныеПоляПакета")) &lt;&gt; Строка(Данные.Значение("УникальныеПоляПакета")))
    тогда
      ВызватьОшибку('Параметр "УникальныеПоляПакета" не совпадает');
  конец
  иначе
    ГлобДанные.Значение("УникальныеПоляПакета") := Данные.Значение("УникальныеПоляПакета");
  если ГлобДанные.ПараметрСуществует("КомментарийПакета")
  тогда начало
    если (Строка(ГлобДанные.Значение("КомментарийПакета")) &lt;&gt; Строка(Данные.Значение("КомментарийПакета")))
    тогда
      ВызватьОшибку('Параметр "КомментарийПакета" не совпадает');
  конец
  иначе
    ГлобДанные.Значение("КомментарийПакета") := Данные.Значение("КомментарийПакета");
конец;

функция ПроверитьРаскладку(Параметры: IVariables; Раскладка: ITableInfoX);
переменные
  Данные: IVariables;
  ткс: текст;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
  ИмяКомментарийПакета: строка;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  ИмяКомментарийПакета := Данные.Значение("КомментарийПакета_cols");
  если (ИмяКомментарийПакета &lt;&gt; '') тогда
  начало
    инд := Раскладка.FindColumn(ИмяКомментарийПакета);
    если (инд = -1)
    тогда
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не найдена');
    если (Раскладка.Columns(инд).ColumnType &lt;&gt; ctpBelt)
    тогда
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не является ленточной');
  конец;
  если Данные.ПараметрСуществует("УникальныеПоляПакета_cols")
  тогда
    УникальныеПоляПакета := Данные.Значение("УникальныеПоляПакета_cols")
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета_cols"');
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    от сч := 0 до ткс.Количество - 1 делать начало
      если (ткс.Стр(сч) &lt;&gt; "")
      тогда начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд = -1)
        тогда
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
        если (Раскладка.Columns(инд).ColumnType &lt;&gt; ctpBelt)
        тогда
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не является ленточной');
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
конец;

функция ЗапертитьРедактирование(Root: ICellObject);
переменные
  инд: целое;
начало
  Root.IncludeOutLines(4096); // Добавляем "Нередактируемая"
  от инд := 0 до Root.CellCount - 1 делать
    ЗапертитьРедактирование(Root.Cells(инд));
конец;

функция ПодобратьУникальноеИмяФайла(Каталог, Расширение: строка): строка;
начало
  УникальныйСчетчик := УникальныйСчетчик + 1;
  результат := ЦелоеВСтроку(УникальныйСчетчик) + "_" + ДробноеВСтроку(Таймер);
  результат := ЗаменитьСтроку(результат, ",", "_");
  результат := Каталог + результат + "." + Расширение;
  пока ФайлСуществует(результат) делать
  начало
    УникальныйСчетчик := УникальныйСчетчик + 1;
    результат := ЦелоеВСтроку(УникальныйСчетчик) + "_" + ДробноеВСтроку(Таймер);
    результат := ЗаменитьСтроку(результат, ",", "_");
    результат := Каталог + результат + "." + Расширение;
  конец;
конец;

функция СохранитьCells(Cells: ICellDocument; БуферБлоба: Буфер);
переменные
  ИмяФайла: строка;
начало
  ЗапертитьРедактирование(Cells.Root);
  ИмяФайла := ПодобратьУникальноеИмяФайла(TmpDir, 'cll');
  попытка
    Cells.SaveToFile(ИмяФайла);
  неудача
    ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Сохранение в файл: "' + ИмяФайла + '"');
  конец;
  попытка
    БуферБлоба.ЗагрузитьИзФайла(ИмяФайла);
  неудача
    ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Загрузка из файла: "' + ИмяФайла + '"');
  конец;
  попытка
    УдалитьФайл(ИмяФайла);
  неудача
    ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Удаление файла: "' + ИмяФайла + '"');
  конец;
конец;

функция УстановитьПоляЗаголовка(Страница: IUniSheet; Заголовок: СтатическиеДанные);
переменные
  инд: целое;
начало
  от инд := 0 до Заголовок.ЧислоПолей - 1 делать
    Страница.Params(Заголовок.GetField(инд).FieldName) := Заголовок.GetField(инд).AsVariant;
конец;

функция ВывестиОтчет(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                           Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                           Данные, Заголовок: СтатическиеДанные): целое;
переменные
  ГлобПараметры, парам: IVariables;
  Индекс, кол, сч, рез, сЗаголовком: целое;
  ДанныеДоГруппировки, ДанныеДоСорт, ДанныеСорт: СтатическиеДанные;
  Страница: IUniSheet;
  Лента: ITableInfoX;
  Стр, ИмяОбработчика: строка;
  Field: Поле;
  Range: Variant;
  Deref: IDereference;
  Обработчики, ИменаПараметров: IVariables;
начало
  Результат := нет;
  если (Данные = nil)
    тогда ВызватьОшибку('Данные не найдены');
  // получаем ленточные поля
  Лента := Раскладка.GetBeltColumns;

  ГлобПараметры := ГлобальныеПараметры;
  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  если (ТекстПараметров &lt;&gt; nil) тогда
    парам.PumpData(ТекстПараметров);

  Deref := Mapper;
  // Создаем промежуточную структуру для построения отчета
  Страница := CreateSheet;
  // если параметры существуют переносим на страницу
  Страница.SetParams(парам);
  Визуализатор.Translation(nil);

  ДанныеДоГруппировки := СоздатьСтатическиеДанные;
  Раскладка.AddFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоГруппировки, Deref, ecfPriorGroup);
  ДанныеДоГруппировки.Open;
  ДанныеДоГруппировки.PumpData(Данные, '');
  CalcDataSet(ДанныеДоГруппировки, Раскладка, Deref, Страница, парам, ecfPriorGroup);
  DerefDataSet(ДанныеДоГруппировки, Раскладка, Deref, ecfPriorGroup);
  если (УбратьПробелы(Раскладка.PreFilter) &lt;&gt; '')
  тогда начало
    ДанныеДоГруппировки.Filter := УбратьПробелы(Раскладка.PreFilter);
    ДанныеДоГруппировки.Filtered := да;
  конец;

  если (Лента = nil)
  тогда рез := БитИли(ecfPriorSort, ecfStd)
  иначе рез := ecfPriorSort;

  ДанныеДоСорт := СоздатьСтатическиеДанные;
  ДанныеДоСорт.AssignFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоСорт, Deref, рез);
  ДанныеДоСорт.Open;
  Стр := Раскладка.GetGroups;
  если (Стр &lt;&gt; '')
    тогда ДанныеДоСорт.GroupData(ДанныеДоГруппировки, Стр)
    иначе ДанныеДоСорт.PumpData(ДанныеДоГруппировки, '');
  CalcDataSet(ДанныеДоСорт, Раскладка, Deref, Страница, парам, рез);
  DerefDataSet(ДанныеДоСорт, Раскладка, Deref, рез);
  если (УбратьПробелы(Раскладка.Filter) &lt;&gt; '')
  тогда начало
    ДанныеДоСорт.Filter := УбратьПробелы(Раскладка.Filter);
    ДанныеДоСорт.Filtered := да;
  конец;

  ДанныеДоГруппировки := nil; //освобождаем память

  если (Лента = nil)
  тогда начало
    если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0)
    тогда начало
      ДанныеДоСорт.Индекс := Раскладка.GetSortByName;
      // Заполняем параметры
      Страница.SetParams(парам);
      // Построение отчета
      Building(tbxStd, Страница, Раскладка, ДанныеДоСорт, nil, Deref, парам, Визуализатор.GetParams);
      // Выводим отчет
      Визуализатор.ViewToTemplate(Страница);
      Результат := да;
    конец;
  конец
  иначе начало
    Обработчики := Визуализатор.GetProjVars;
    // Обработчик ленты
    ИмяОбработчика := Обработчики.Values('Лента');

    кол := Лента.Count;
    если (Заголовок &lt;&gt; nil) тогда
      // Если есть заголовок
      начало
        индекс := 0;
        // проверяем наличие всех полоей в заголовке
        пока (индекс &lt; кол) делать
          начало
            Field := nil;
            если (Заголовок.FindField(Лента.Columns(индекс).FieldName, Field) = нет) тогда
              // Если поле отсутствует уничтожаем заголовок
              начало
                Заголовок := nil;
                индекс := кол;
              конец;
            индекс := индекс + 1;
          конец;
      конец;

    сЗаголовком := нет;
    если (Заголовок = nil)
      // если нет заголовка создаем его
      тогда Заголовок := СоздатьСтатическиеДанные
      иначе сЗаголовком := да;

    // получаем все ленточные поля
    от Индекс := 0 до кол - 1 делать
      начало
        Стр := Лента.Columns(Индекс).FieldName;
        Field := ДанныеДоСорт.ПолеПоИмени(Стр);
        рез := Field.DataType;
        сч := Field.Size;
        если сЗаголовком тогда
          Field := Заголовок.ПолеПоИмени(Стр)
        иначе начало
          если (Заголовок.FindField(Стр, Field) = нет) тогда
          начало
            Заголовок.CreateDataField(Стр, рез, сч, нет);
            Field := Заголовок.ПолеПоИмени(Стр);
          конец;
        конец;
      конец;

    если не сЗаголовком
    тогда
      Заголовок.Open;

    Лента.FixGroup;
    если (БитИ(Раскладка.Options, ttoCustomCaption) = 0)
    тогда начало
      Стр := Лента.GetGroups;
      если ((Стр &lt;&gt; '') и (ДанныеДоСорт &lt;&gt; nil)) тогда
        Заголовок.Группировать(ДанныеДоСорт, 'default=false;' + Стр);
    конец
    иначе начало
      CalcDataSet(Заголовок, Лента, Deref, Страница, парам, БитИли(ecfPriorGroup, ecfPriorSort));
      DerefDataSet(Заголовок, Лента, Deref, БитИли(ecfPriorGroup, ecfPriorSort));
    конец;
    // теперь в заголовке есть все записи для ленты
    // сортируем заголовок и данные
    Заголовок.Индекс := Лента.SortStr;
    ДанныеДоСорт.Индекс := ВсеПоляРаскладки(Лента);

    ДанныеСорт := СоздатьСтатическиеДанные;
    ДанныеСорт.AssignFields(ДанныеДоСорт);
    Раскладка.AddNameFields(ДанныеСорт, Deref, ecfStd);
    ДанныеСорт.Open;

    // начинаем ленту
    Визуализатор.BeginBelt;
    попытка
      Заголовок.First;
      Пока не Заголовок.eof делать
        начало
          Страница.ClearData;
          // Получаем ограничения для диапазона
          Range := Заголовок.Values(ДанныеДоСорт.Индекс);
          // Устанавливаем диапазон
          ДанныеДоСорт.SetScope(Range);
          если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0) или (БитИ(Раскладка.Options, ttoEmptyChunk) &lt;&gt; 0)
          тогда начало
            ДанныеСорт.Reset;
            ДанныеСорт.PumpData(ДанныеДоСорт, '');
            если (ИмяОбработчика &lt;&gt; '') тогда
            начало
              // Параметры для событий
              парам.Values(АлгВизуализатор) := Визуализатор;
              парам.Values(АлгГлобальныеПараметры) := ГлобПараметры;
              парам.Values(АлгДанные) := ДанныеСорт;
              парам.Values(АлгЗаголовки) := Заголовок;
              парам.Values(АлгПараметры) := Коллекция;
              парам.Values(АлгПараметрыВывода) := ТекстПараметров;
              // то, что в шаблоне в &lt;&gt; скобках
              ИменаПараметров := Визуализатор.GetParams;
              парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
              парам.Values(АлгРаскладка) := Раскладка;
              парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
              Event(ИмяОбработчика, парам);
              // Перекачаем параметры, которые могли быть установлены в событии
              если (ТекстПараметров &lt;&gt; nil) тогда
                парам.PumpData(ТекстПараметров);
            конец;
            DerefDataSet(ДанныеСорт, Раскладка, Deref, ecfStd);
            ДанныеСорт.Индекс := Раскладка.GetSortByName;
            // Заполняем параметры
            Страница.SetParams(парам);
            // Перекрываем ленточными полями
            УстановитьПоляЗаголовка(Страница, Заголовок);
            // Построение отчета
            Building(tbxStd, Страница, Раскладка, ДанныеСорт, nil, Deref, парам, Визуализатор.GetParams);
            // Выводим часть ленты
            Визуализатор.ViewToBelt(Страница);
            Результат := да;
          конец;
          Заголовок.Next;
        конец;
    обязательно
      // заканчиваем ленту и выводим глобальные параметры
      Визуализатор.EndBelt(Страница);
    конец;
  конец;
конец;

функция ПолучитьМассивОграничения(СтрокаСортировки: строка; Заголовок: СтатическиеДанные): Variant;
переменные
  т: Текст;
  инд: целое;
  стр: Строка;
начало
  т := СоздатьТекст;
  попытка
    т.РазделенноеЗначение(";") := СтрокаСортировки;
    от инд := 0 до т.Количество - 1 делать
    начало
      стр := т.Стр(инд);
      если (стр[1] = "+") или (стр[1] = "-") тогда
        стр := Подстрока(стр, 2, Длина(стр));
      т.Стр(инд) := стр;
    конец;
    результат := Заголовок.Values(т.РазделенноеЗначение(";"));
  обязательно
    УдалитьОбъект(т);
  конец;
конец;

функция ПолучитьДанныеОтчетаИСохранить(Шаблон: строка; Коллекция: IVariables; CLSEnumType: целое);
переменные
  ssReports: СтатическиеДанные;
  Поток: ВНЕШНИЙОБЪЕКТ;
  ЗначенияПараметров, ТекстПараметров, Парам, ВремКоллекция: IVariables;
  Страницы, Страница: IVariables;
  Данные, Заголовок, ЗаписьЗаголовока, СвойЗаголовок: СтатическиеДанные;
  Раскладка, Лента: ITableInfoX;
  Ткст: Текст;
  CLS, ы, сч, рез: целое;
  Визуализатор, TempViewer: IUniViewer;
  Doc, Report: ICellDocument;
  Параметры, стр: строка;
  КоллекцияДанные: IVariables;
  ДанныеОтчетов: СтатическиеДанные;
  Field, DataOffset, DataSize, NameField, DisplayNameField: Поле;
  DataStm: Буфер;
  IDataStm: ВнешнийОбъект;
  БуферБлоба: Буфер;
  ткс: текст;
  ПоляИсточник, ПоляПолучатель: Variant;
  КолПолей: целое;
  TmpCell: ICellObject;
  ПутьКШаблонам: строка;
  КомментарийПакета: Поле;
  Настройка: IVariables;
начало
  ssReports := СоздатьСтатическиеДанные;
  ssReports.ДобавитьЦелоеПоле("CLS");
  ssReports.ДобавитьСтроковоеПоле("Template", 255);
  ssReports.Open;
  Поток := ReadEnum(CLSEnumType);
  ssReports.PumpData(Поток, '');

  ПутьКШаблонам := TemplatePath;
  если (CLSEnumType = ENUM_DOCS) тогда
    ПутьКШаблонам := ПутьКШаблонам + "\Документы";

  // визуализатор для итогового отчета
  Визуализатор := CreateComObject(CellViewer);
  Визуализатор.Viewer := Визуализатор.CreateViewObject;
  Визуализатор.SetProject(Pather);
  // визуализатор для отчетов входящих в композитный
  TempViewer := CreateComObject(CellViewer);
  TempViewer.Viewer := TempViewer.CreateViewObject;
  TempViewer.SetProject(Pather);

  Report := Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_ICellDocument);
  Doc := Интерфейс(TempViewer.Viewer).ЗапроситьИнтерфейс(_ICellDocument);

  ВремКоллекция := создатьКоллекцию;
  Ткст := СоздатьТекст;
  Лента := СоздатьРаскладку;
  Страницы := СоздатьКоллекцию;
  Ткст.РазделенноеЗначение := Шаблон;
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := СтрокаВЦелое(Ткст.Стр(ы));
      если ssReports.Locate("CLS", ArrayOf(CLS), 0)
      тогда
        TempViewer.Template := ПутьКШаблонам + '\' + ssReports.ПолеПоИмени("Template").AsString
      иначе
        ВызватьОшибку('Отчет c кодом "'+Ткст.Стр(ы)+'" не найден');
      TempViewer.Templates.Index := 0;
      если (ы = 0) тогда
        начало
          Визуализатор.Template := TempViewer.Template;
          пока (Report.Root.CellCount &gt; 0) делать
            Report.Root.Cells(Report.Root.CellCount-1).DeleteCell(да);
          Report.Root.DeleteCell(да);
        конец;
      Парам := СоздатьКоллекцию;
      Парам.PumpData(Коллекция);
      СформироватьПараметры(Парам, TempViewer);
      Раскладка := TempViewer.GetTable;
      ПроверитьРаскладку(Парам, Раскладка);
      Лента.Join(Раскладка);
      ТекстПараметров := nil;
      Заголовок := nil;
      Данные := nil;
      ВремКоллекция.Clear;
      ВремКоллекция.PumpData(TempViewer.GetVariables);
      ЗначенияПараметров := TempViewer.GetVariables;
      // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
      Если ЗначенияПараметров.Значение(кАктивныеПараметры) &lt;&gt; "" тогда
        Параметры := ЗначенияПараметров.Значение(кАктивныеПараметры);
      ЗначенияПараметров.PumpData(Парам);
      // удаляем параметр "Данные" скопированный из Парам, чтобы не было циклических ссылок и лишних данных для сохранения
      ЗначенияПараметров.Delete("Данные");
      // восстанавливаем параметры с шаблона, которые могли перетереться одноименными параметрами из Парам (копии Коллекция).
      ЗначенияПараметров.PumpData(ВремКоллекция);

      //Дополним ограничения настройками из реестра
      Настройка := CreateVariables;
      попытка
        ЗагрузитьНастройкиОтчета(Коллекция, Настройка);
        ЗначенияПараметров.PumpData(Настройка);
      обязательно
        УдалитьОбъект(Настройка);
      конец;

      // Ограничения с панели параметров
      ЗначенияПараметров := ПолучитьПараметры(ЗначенияПараметров, Параметры);
      // Параметры, которые выкидываются в шаблон
      ТекстПараметров := ПолучитьПараметрыТекст(ЗначенияПараметров, Параметры);
      // параметры по единициам измерения
      СформироватьПараметрыПоЕдИзмер(Раскладка, ЗначенияПараметров, ТекстПараметров);
      //Читающая страница. Закачиваем данные
      СформироватьДанныеОгр(TempViewer, Раскладка, Парам, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);

      Страница := СоздатьКоллекцию;
      Страницы.Значение(CLS) := Страница;
      Страница.Значение("Шаблон") := TempViewer.Template;
      Страница.Значение("Данные") := Данные;
      Страница.Значение("Заголовок") := Заголовок;
      Страница.Значение("Парам") := Парам;
      Страница.Значение("Раскладка") := Раскладка;
      Страница.Значение("ТекстПараметров") := ТекстПараметров;

      TempViewer.Clear;
    конец;
  Лента := Лента.GetBeltColumns;
  если (Лента = nil) тогда
    ВызватьОшибку('Отсутствуют ленточные поля');
  Заголовок := СоздатьСтатическиеДанные;
  // получаем все ленточные поля
  Лента.AddFields(Заголовок);
  Заголовок.Open;
  Лента.FixGroup;
  Стр := Лента.GetGroups;
  // группируем все данные в заголовок
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := СтрокаВЦелое(Ткст.Стр(ы));
      Страница := Страницы.Значение(CLS);
      Данные := Страница.Значение("Данные");
      Заголовок.Группировать(Данные, Стр);
      Парам := Страница.Значение("Парам");
      ПроверитьИСкопироватьПараметры(Парам, Коллекция);
    конец;

  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := СтрокаВЦелое(Ткст.Стр(ы));
      Страница := Страницы.Значение(CLS);
      TempViewer.Template := Страница.Значение("Шаблон");
      Парам := СоздатьКоллекцию;
      Парам.Значение("Страницы") := Шаблон;
      Парам.Значение("КоллецияСтраницы") := Страницы;
      Парам.Значение("Заголовок") := Заголовок;
      EventRecursive("ПослеЗакачкиКомпозиции", Парам, TempViewer.Templates, нет);
      TempViewer.Clear;
    конец;

  Заголовок.Индекс := Лента.SortStr;

  если Коллекция.ПараметрСуществует("Данные")
  тогда
    КоллекцияДанные := Коллекция.Значение("Данные")
  иначе начало
    КоллекцияДанные := CreateVariables;
    Коллекция.Значение("Данные") := КоллекцияДанные;
  конец;
  ДанныеОтчетов := СоздатьСтатическиеДанные;
  КоллекцияДанные.Значение('0') := ДанныеОтчетов;
  ДанныеОтчетов.CreateDataField('_DataOffset_', ftInteger, 0, нет);
  DataOffset := ДанныеОтчетов.ПолеПоИмени('_DataOffset_');
  ДанныеОтчетов.CreateDataField('_DataSize_', ftInteger, 0, нет);
  DataSize := ДанныеОтчетов.ПолеПоИмени('_DataSize_');
  ДанныеОтчетов.CreateDataField('_Name_', ftString, 255, нет);
  NameField := ДанныеОтчетов.ПолеПоИмени('_Name_');
  ДанныеОтчетов.CreateDataField('_DisplayName_', ftString, 255, нет);
  DisplayNameField := ДанныеОтчетов.ПолеПоИмени('_DisplayName_');

  //Получаем поток, в который мы будем сохранять все бинарные данные
  DataStm := СоздатьБуфер(Коллекция.Значение('_DataStm_'));
  IDataStm := DataStm;

  // Проверяем опциональное поле комментария пакета
  КомментарийПакета := nil;
  Стр := КоллекцияДанные.Значение('КомментарийПакета');
  если (Стр &lt;&gt; '') тогда
    КомментарийПакета := Заголовок.ПолеПоИмени(Стр);

  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := КоллекцияДанные.Значение('УникальныеПоляПакета');
    КолПолей := ткс.Количество;
    ПоляИсточник.VarArrayCreate(varUnknown, 0, КолПолей - 1);
    ПоляПолучатель.VarArrayCreate(varUnknown, 0, КолПолей - 1);
    от ы := 0 до КолПолей - 1 делать
      начало
        Стр := ткс.Стр(ы);
        Field := Заголовок.ПолеПоИмени(Стр);
        ПоляИсточник.AsInterface(ы) := Field;
        рез := Field.DataType;
        сч := Field.Size;
        ДанныеОтчетов.CreateDataField(Стр, рез, сч, нет);
        Field := ДанныеОтчетов.ПолеПоИмени(Стр);
        ПоляПолучатель.AsInterface(ы) := Field;
      конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  ДанныеОтчетов.Открыть;

  Заголовок.First;
  пока не Заголовок.Eof делать
    начало
      сч := 0;
      // Делим корневую ячейку
      Report.Root.Orientation := 1;
      Report.Root.CellCount := 2;
      от ы := 0 до Ткст.Количество - 1 делать
        начало
          CLS := СтрокаВЦелое(Ткст.Стр(ы));
          Страница := Страницы.Значение(CLS);
          Шаблон := Страница.Values('Шаблон');
          TempViewer.Template := Шаблон;
          Данные := Страница.Значение("Данные");
          СвойЗаголовок := Страница.Значение("Заголовок");
          Парам := Страница.Значение("Парам");
          Раскладка := Страница.Значение("Раскладка");
          ТекстПараметров := Страница.Значение("ТекстПараметров");
          Раскладка.Options := БитИли(Раскладка.Options, ttoCustomCaption);
          ЗаписьЗаголовока := СоздатьСтатическиеДанные;
          если (СвойЗаголовок &lt;&gt; nil) тогда
          начало
            ЗаписьЗаголовока.AssignFields(СвойЗаголовок);
            СвойЗаголовок.Индекс := Заголовок.Индекс;
            СвойЗаголовок.SetScope(ПолучитьМассивОграничения(Заголовок.Индекс, Заголовок));
            если (СвойЗаголовок.ЧислоЗаписей &lt;&gt; 0) тогда
              ЗаписьЗаголовока.PumpData(СвойЗаголовок, "")
            иначе
              ЗаписьЗаголовока.СкопироватьЗапись(нет, Заголовок);
          конец иначе
          начало
            ЗаписьЗаголовока.AssignFields(Заголовок);
            ЗаписьЗаголовока.СкопироватьЗапись(нет, Заголовок);
          конец;
          ЗаписьЗаголовока.Индекс := Заголовок.Индекс;
          Данные.Индекс := Заголовок.Индекс;
          Данные.SetScope(ПолучитьМассивОграничения(Заголовок.Индекс, ЗаписьЗаголовока));
          если ВывестиОтчет(TempViewer, Раскладка, Парам, nil, ТекстПараметров, Данные, ЗаписьЗаголовока)
          тогда начало
            Report.Root.Cells(сч).Clone(Doc.Root);
            сч := сч + 1;
            Report.Root.Cells(сч).Replicate;
          конец;
          TempViewer.Clear;
        конец;
      от ы := Report.Root.CellCount - 1 назад сч делать
        если Report.Root.CellCount &gt; 0 тогда
          Report.Root.Cells(ы).DeleteCell(да);
      //Удаляем "Разрыв страницы" в самой первой листовой ячейке (у которой CellCount = 0), который обычно бывает у композитных отчетов
      TmpCell := Report.Root;
      пока (TmpCell.CellCount &gt; 0) делать
        TmpCell := TmpCell.Cells(0);
      если (TmpCell.Text = "")
      тогда
        TmpCell.ExcludeOutLines(512); //Выкидываем "Разрыв страницы"
      если (сч &lt;&gt; 0)
      тогда начало
        ДанныеОтчетов.Append;
        от ы := 0 до КолПолей - 1 делать
          Поле(ПоляПолучатель.AsInterface(ы)).AsVariant := Поле(ПоляИсточник.AsInterface(ы)).AsVariant;
        БуферБлоба := СоздатьБуфер;
        попытка
          СохранитьCells(Report, БуферБлоба);
          DataOffset.AsInteger := DataStm.Позиция;
          DataSize.AsInteger := БуферБлоба.Размер;
          если (DataSize.AsInteger &lt;&gt; 0) тогда
          начало
            БуферБлоба.Позиция := 0;
            DataStm.Позиция := DataOffset.AsInteger;
            IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
          конец;
        обязательно
          УдалитьОбъект(БуферБлоба);
        конец;
        NameField.AsString := 'autogen.cll';
        если (КомментарийПакета &lt;&gt; nil) тогда
          DisplayNameField.AsString := КомментарийПакета.AsString
        иначе
          DisplayNameField.AsString := 'Cells отчет';
        ДанныеОтчетов.Post;
      конец;
      Report.Root.DeleteCell(да);
      Заголовок.Next;
    конец;
конец;

функция ПолучитьСписокПоКоду(Код: целое; CLSEnumType: целое; Коллекция: IVariables): строка;
переменные
  ssReports: СтатическиеДанные;
  Поток: ВНЕШНИЙОБЪЕКТ;
  Настройки: строка;
  Ткст: текст;
начало
  ssReports := СоздатьСтатическиеДанные;
  ssReports.ДобавитьЦелоеПоле("CLS");
  ssReports.ДобавитьСтроковоеПоле("Template", 255);
  ssReports.ДобавитьСтроковоеПоле("OptionsPath", 255);
  ssReports.Open;
  Поток := ReadEnum(CLSEnumType);
  ssReports.PumpData(Поток, '');

  если не ssReports.Locate("CLS", ArrayOf(Код), 0) тогда
  начало
    если (CLSEnumType = ENUM_DOCS) тогда
      ВызватьОшибку('Печатный документ c кодом "'+ФорматироватьКлассификатор(Код, "00.00.00.00")+'" не найден')
    иначе
      ВызватьОшибку('Отчет c кодом "'+ФорматироватьКлассификатор(Код, "00.00.00.00")+'" не найден');
  конец;

  результат := ssReports.ПолеПоИмени("Template").AsString;

  Настройки := ssReports.ПолеПоИмени("OptionsPath").AsString;
  если (Код ост 100 &lt;&gt; 0) тогда
  если ssReports.Locate("CLS", ArrayOf((Код цел 100) * 100), 0) тогда
  если (ssReports.ПолеПоИмени("OptionsPath").AsString &lt;&gt; "") тогда
  начало
    если (Настройки &lt;&gt; "") тогда
      Настройки := Настройки + "," + ssReports.ПолеПоИмени("OptionsPath").AsString
    иначе
      Настройки := ssReports.ПолеПоИмени("OptionsPath").AsString;
    Ткст := СоздатьТекст;
    попытка
      Ткст.Сортированый := да;
      Ткст.Дубликаты := 0; //dupIgnore
      Ткст.РазделенноеЗначение := Настройки;
      Настройки := Ткст.РазделенноеЗначение;
    обязательно
      УдалитьОбъект(Ткст);
    конец;
  конец;

  Коллекция.Значение("OptionsPath") := Настройки;
  Коллекция.Значение("Код") := Код;
конец;
</value>
    <param value="МакросСозданиеКомпозитногоCells.abl" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:01</param>
    <param value="МакросСозданиеКомпозитногоCells.abl" type="3" name="version">36.041.60</param>
    <param value="МакросСозданиеКомпозитногоCells.abl" type="3" name="crc32">$6441F138</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="МакросСозданиеКомпозитногоExcel.abl">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить 'Бюджет\Ресурсы\библиотеки\Control.lib';
включить 'Бюджет\Ресурсы\библиотеки\DocRefer.lib';
включить 'Бюджет\Ресурсы\библиотеки\F1Tools.lib';
включить 'Бюджет\Ресурсы\библиотеки\XLS.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ФункцииДляF1.abl';

константы
  кАктивныеПараметры = "АктивныеПараметры";

  ПутьКНастройкам = "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Настройки";

переменные
  УникальныйСчетчик: целое = 0;

// возвращает имена всех полей раскладки через точку с запятой (необходима для установки IndexFieldNames)
функция ВсеПоляРаскладки(Раскладка: ITableInfoX): строка;
переменные
  Индекс: целое;
начало
  результат := "";
  от Индекс := 0 до Раскладка.Count - 1 делать
    результат := результат + Раскладка.Columns(Индекс).FieldName + ";";
  результат := Подстрока(результат, 1, Длина(результат) - 1);
конец;

функция СформироватьПараметры(Параметры: IVariables; Визуализатор: IUniViewer);
переменные
  ШаблонОтчета: ITemplate;
  Данные: IVariables;
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  ткс: текст;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
  ИмяКомментарийПакета: строка;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  Данные.Значение('Шаблон') := Параметры.Значение("SectGenerationTemplate");
  Визуализатор.Templates.Index := 0;
  ШаблонОтчета := Визуализатор.Templates.Template;
  Раскладка := ШаблонОтчета.TableInfo;
  ИмяКомментарийПакета := ШаблонОтчета.Variables.Значение("КомментарийПакета");
  Данные.Значение('КомментарийПакета_cols') := ИмяКомментарийПакета;
  если (ИмяКомментарийПакета &lt;&gt; '') тогда
  начало
    инд := Раскладка.FindColumn(ИмяКомментарийПакета);
    если (инд &lt;&gt; -1) тогда начало
      Колонка := Раскладка.Columns(инд);
      ИмяКомментарийПакета := Колонка.FieldName;
    конец
    иначе
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не найдена');
  конец;
  Данные.Значение('КомментарийПакета') := ИмяКомментарийПакета;
  если ШаблонОтчета.Variables.ПараметрСуществует("УникальныеПоляПакета")
  тогда
    УникальныеПоляПакета := ШаблонОтчета.Variables.Значение("УникальныеПоляПакета") //1-й обязательно дата, 2-й обязатетельно л/с. Дальше могут быть еще, но там порядок уже не важен
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета"');
  Данные.Значение('УникальныеПоляПакета_cols') := УникальныеПоляПакета;
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    УникальныеПоляПакета := "";
    от сч := 0 до ткс.Количество - 1 делать начало
      если (сч &lt;&gt; 0)
      тогда УникальныеПоляПакета := УникальныеПоляПакета+',';
      если (ткс.Стр(сч) &lt;&gt; "")
      тогда начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд &lt;&gt; -1) тогда начало
          Колонка := Раскладка.Columns(инд);
          УникальныеПоляПакета := УникальныеПоляПакета+Колонка.FieldName;
        конец
        иначе
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  Данные.Значение('УникальныеПоляПакета') := УникальныеПоляПакета;
конец;

функция ПроверитьИСкопироватьПараметры(Параметры, Коллекция: IVariables);
переменные
  Данные, ГлобДанные: IVariables;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе
    ВызватьОшибку('Не найдена коллекция Данные');
  если Коллекция.ПараметрСуществует("Данные")
  тогда
    ГлобДанные := Коллекция.Значение("Данные")
  иначе начало
    ГлобДанные := CreateVariables;
    Коллекция.Значение("Данные") := ГлобДанные;
  конец;
  если ГлобДанные.ПараметрСуществует("Шаблон")
  тогда начало
    если (Строка(ГлобДанные.Значение("Шаблон")) &lt;&gt; Строка(Данные.Значение("Шаблон")))
    тогда
      ВызватьОшибку('Параметр "Шаблон" не совпадает');
  конец
  иначе
    ГлобДанные.Значение("Шаблон") := Данные.Значение("Шаблон");
  если ГлобДанные.ПараметрСуществует("УникальныеПоляПакета")
  тогда начало
    если (Строка(ГлобДанные.Значение("УникальныеПоляПакета")) &lt;&gt; Строка(Данные.Значение("УникальныеПоляПакета")))
    тогда
      ВызватьОшибку('Параметр "УникальныеПоляПакета" не совпадает');
  конец
  иначе
    ГлобДанные.Значение("УникальныеПоляПакета") := Данные.Значение("УникальныеПоляПакета");
  если ГлобДанные.ПараметрСуществует("КомментарийПакета")
  тогда начало
    если (Строка(ГлобДанные.Значение("КомментарийПакета")) &lt;&gt; Строка(Данные.Значение("КомментарийПакета")))
    тогда
      ВызватьОшибку('Параметр "КомментарийПакета" не совпадает');
  конец
  иначе
    ГлобДанные.Значение("КомментарийПакета") := Данные.Значение("КомментарийПакета");
конец;

функция ПроверитьРаскладку(Параметры: IVariables; Раскладка: ITableInfoX);
переменные
  Данные: IVariables;
  ткс: текст;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
  ИмяКомментарийПакета: строка;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  ИмяКомментарийПакета := Данные.Значение("КомментарийПакета_cols");
  если (ИмяКомментарийПакета &lt;&gt; '') тогда
  начало
    инд := Раскладка.FindColumn(ИмяКомментарийПакета);
    если (инд = -1)
    тогда
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не найдена');
    если (Раскладка.Columns(инд).ColumnType &lt;&gt; ctpBelt)
    тогда
      ВызватьОшибку('Колонка "'+ИмяКомментарийПакета+'" не является ленточной');
  конец;
  если Данные.ПараметрСуществует("УникальныеПоляПакета_cols")
  тогда
    УникальныеПоляПакета := Данные.Значение("УникальныеПоляПакета_cols")
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета_cols"');
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    от сч := 0 до ткс.Количество - 1 делать начало
      если (ткс.Стр(сч) &lt;&gt; "")
      тогда начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд = -1)
        тогда
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
        если (Раскладка.Columns(инд).ColumnType &lt;&gt; ctpBelt)
        тогда
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не является ленточной');
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
конец;

функция ПодобратьУникальноеИмяФайла(Каталог, Расширение: строка): строка;
начало
  УникальныйСчетчик := УникальныйСчетчик + 1;
  результат := ЦелоеВСтроку(УникальныйСчетчик) + "_" + ДробноеВСтроку(Таймер);
  результат := ЗаменитьСтроку(результат, ",", "_");
  результат := Каталог + результат + "." + Расширение;
  пока ФайлСуществует(результат) делать
  начало
    УникальныйСчетчик := УникальныйСчетчик + 1;
    результат := ЦелоеВСтроку(УникальныйСчетчик) + "_" + ДробноеВСтроку(Таймер);
    результат := ЗаменитьСтроку(результат, ",", "_");
    результат := Каталог + результат + "." + Расширение;
  конец;
конец;

функция СохранитьF1ToExcell(F1Book: IF1Book; БуферБлоба: Буфер; КолСтраницВШирину: целое; АвтоВысота: целое);
переменные
  ИмяФайла: строка;
  инд: целое;
  Парам, ПарамСтр: IVariables;
начало
  Парам := CreateVariables;
  от инд := 1 до F1Book.NumSheets делать
  начало
    F1Book.Sheet := инд;
    F1Book.EnableProtection := да;
    ПарамСтр := CreateVariables;
    если (КолСтраницВШирину &gt; 0) тогда
      ПарамСтр.Значение('AutoScalePages') := КолСтраницВШирину;
    Парам.Значение(инд) := ПарамСтр;
    если не Парам.ПараметрСуществует(F1Book.SheetName(инд)) тогда
      Парам.Значение(F1Book.SheetName(инд)) := ПарамСтр;
  конец;
  если АвтоВысота тогда
    Парам.Значение('SetCellsAutoHeight') := да;
  F1Book.Sheet := 1;
  ИмяФайла := ПодобратьУникальноеИмяФайла(TmpDir, 'xls');
  попытка
    // используем безопасное сохранение чтобы избежать проблем с драйвером принтера
    SaveF1BookEx(F1Book, ИмяФайла, -1, нет, Парам);
  неудача
    ошибка(ПоследняяОшибка + #13#10 + 'Сохранение в файл (F1-&gt;XLS): "' + ИмяФайла + '"');
  конец;
  попытка
    БуферБлоба.ЗагрузитьИзФайла(ИмяФайла);
  неудача
    ошибка(ПоследняяОшибка + #13#10 + 'Загрузка из файла (XLS): "' + ИмяФайла + '"');
  конец;
  попытка
    УдалитьФайл(ИмяФайла);
  неудача
    ошибка(ПоследняяОшибка + #13#10 + 'Удаление файла (XLS): "' + ИмяФайла + '"');
  конец;
конец;

функция ПолучитьФлагИзНастроек(Имя: строка): целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := нет;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение(Имя).Существует тогда
    попытка
      результат := УзелСНастройками.Значение(Имя).КакЦелое;
    неудача
    конец;
конец;

функция УстановитьПоляЗаголовка(Страница: IUniSheet; Заголовок: СтатическиеДанные);
переменные
  инд: целое;
начало
  от инд := 0 до Заголовок.ЧислоПолей - 1 делать
    Страница.Params(Заголовок.GetField(инд).FieldName) := Заголовок.GetField(инд).AsVariant;
конец;

функция ВывестиОтчет(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                           Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                           Данные, Заголовок: СтатическиеДанные): целое;
переменные
  ГлобПараметры, парам: IVariables;
  Индекс, кол, сч, рез, сЗаголовком: целое;
  ДанныеДоГруппировки, ДанныеДоСорт, ДанныеСорт: СтатическиеДанные;
  Страница: IUniSheet;
  Лента: ITableInfoX;
  Стр, ИмяОбработчика: строка;
  Field: Поле;
  Range: Variant;
  Deref: IDereference;
  Обработчики, ИменаПараметров: IVariables;
  ДокументНеПустой: целое;
начало
  Результат := нет;
  если (Данные = nil)
    тогда ВызватьОшибку('Данные не найдены');
  // получаем ленточные поля
  Лента := Раскладка.GetBeltColumns;

  ГлобПараметры := ГлобальныеПараметры;
  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  если (ТекстПараметров &lt;&gt; nil) тогда
    парам.PumpData(ТекстПараметров);

  Deref := Mapper;
  // Создаем промежуточную структуру для построения отчета
  Страница := CreateSheet;
  // если параметры существуют переносим на страницу
  Страница.SetParams(парам);
  Визуализатор.Translation(nil);

  ДанныеДоГруппировки := СоздатьСтатическиеДанные;
  Раскладка.AddFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоГруппировки, Deref, ecfPriorGroup);
  ДанныеДоГруппировки.Open;
  ДанныеДоГруппировки.PumpData(Данные, '');
  CalcDataSet(ДанныеДоГруппировки, Раскладка, Deref, Страница, парам, ecfPriorGroup);
  DerefDataSet(ДанныеДоГруппировки, Раскладка, Deref, ecfPriorGroup);
  если (УбратьПробелы(Раскладка.PreFilter) &lt;&gt; '')
  тогда начало
    ДанныеДоГруппировки.Filter := УбратьПробелы(Раскладка.PreFilter);
    ДанныеДоГруппировки.Filtered := да;
  конец;

  если (Лента = nil)
  тогда рез := БитИли(ecfPriorSort, ecfStd)
  иначе рез := ecfPriorSort;

  ДанныеДоСорт := СоздатьСтатическиеДанные;
  ДанныеДоСорт.AssignFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоСорт, Deref, рез);
  ДанныеДоСорт.Open;
  Стр := Раскладка.GetGroups;
  если (Стр &lt;&gt; '')
    тогда ДанныеДоСорт.GroupData(ДанныеДоГруппировки, Стр)
    иначе ДанныеДоСорт.PumpData(ДанныеДоГруппировки, '');
  CalcDataSet(ДанныеДоСорт, Раскладка, Deref, Страница, парам, рез);
  DerefDataSet(ДанныеДоСорт, Раскладка, Deref, рез);
  если (УбратьПробелы(Раскладка.Filter) &lt;&gt; '')
  тогда начало
    ДанныеДоСорт.Filter := УбратьПробелы(Раскладка.Filter);
    ДанныеДоСорт.Filtered := да;
  конец;

  ДанныеДоГруппировки := nil; //освобождаем память

  если (Лента = nil)
  тогда начало
    если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0)
    тогда начало
      ДанныеДоСорт.Индекс := Раскладка.GetSortByName;
      // Заполняем параметры
      Страница.SetParams(парам);
      // Построение отчета
      ДокументНеПустой := Building(tbxStd, Страница, Раскладка, ДанныеДоСорт, nil, Deref, парам, Визуализатор.GetParams);
      Результат := Результат или ДокументНеПустой;
      если ДокументНеПустой или (БитИ(Раскладка.Options, ttoNotEmptyData) = 0) тогда
        // Выводим отчет
        Визуализатор.ViewToTemplate(Страница);
    конец;
  конец
  иначе начало
    Обработчики := Визуализатор.GetProjVars;
    // Обработчик ленты
    ИмяОбработчика := Обработчики.Values('Лента');

    кол := Лента.Count;
    если (Заголовок &lt;&gt; nil) тогда
      // Если есть заголовок
      начало
        индекс := 0;
        // проверяем наличие всех полоей в заголовке
        пока (индекс &lt; кол) делать
          начало
            Field := nil;
            если (Заголовок.FindField(Лента.Columns(индекс).FieldName, Field) = нет) тогда
              // Если поле отсутствует уничтожаем заголовок
              начало
                Заголовок := nil;
                индекс := кол;
              конец;
            индекс := индекс + 1;
          конец;
      конец;

    сЗаголовком := нет;
    если (Заголовок = nil)
      // если нет заголовка создаем его
      тогда Заголовок := СоздатьСтатическиеДанные
      иначе сЗаголовком := да;

    // получаем все ленточные поля
    от Индекс := 0 до кол - 1 делать
      начало
        Стр := Лента.Columns(Индекс).FieldName;
        Field := ДанныеДоСорт.ПолеПоИмени(Стр);
        рез := Field.DataType;
        сч := Field.Size;
        если сЗаголовком тогда
          Field := Заголовок.ПолеПоИмени(Стр)
        иначе начало
          если (Заголовок.FindField(Стр, Field) = нет) тогда
          начало
            Заголовок.CreateDataField(Стр, рез, сч, нет);
            Field := Заголовок.ПолеПоИмени(Стр);
          конец;
        конец;
      конец;

    если не сЗаголовком
    тогда
      Заголовок.Open;

    Лента.FixGroup;
    если (БитИ(Раскладка.Options, ttoCustomCaption) = 0)
    тогда начало
      Стр := Лента.GetGroups;
      если ((Стр &lt;&gt; '') и (ДанныеДоСорт &lt;&gt; nil)) тогда
        Заголовок.Группировать(ДанныеДоСорт, 'default=false;' + Стр);
    конец
    иначе начало
      CalcDataSet(Заголовок, Лента, Deref, Страница, парам, БитИли(ecfPriorGroup, ecfPriorSort));
      DerefDataSet(Заголовок, Лента, Deref, БитИли(ecfPriorGroup, ecfPriorSort));
    конец;
    // теперь в заголовке есть все записи для ленты
    // сортируем заголовок и данные
    Заголовок.Индекс := Лента.SortStr;
    ДанныеДоСорт.Индекс := ВсеПоляРаскладки(Лента);

    ДанныеСорт := СоздатьСтатическиеДанные;
    ДанныеСорт.AssignFields(ДанныеДоСорт);
    Раскладка.AddNameFields(ДанныеСорт, Deref, ecfStd);
    ДанныеСорт.Open;

    если (Заголовок.ЧислоЗаписей &lt;&gt; 0) или (БитИ(Раскладка.Options, ttoNotEmptyData) = 0) тогда
    начало
      // начинаем ленту
      Визуализатор.BeginBelt;
      попытка
        Заголовок.First;
        Пока не Заголовок.eof делать
          начало
            Страница.ClearData;
            // Получаем ограничения для диапазона
            Range := Заголовок.Values(ДанныеДоСорт.Индекс);
            // Устанавливаем диапазон
            ДанныеДоСорт.SetScope(Range);
            если (ДанныеДоСорт.ЧислоЗаписей &lt;&gt; 0) или (БитИ(Раскладка.Options, ttoEmptyChunk) &lt;&gt; 0)
            тогда начало
              ДанныеСорт.Reset;
              ДанныеСорт.PumpData(ДанныеДоСорт, '');
              если (ИмяОбработчика &lt;&gt; '') тогда
              начало
                // Параметры для событий
                парам.Values(АлгВизуализатор) := Визуализатор;
                парам.Values(АлгГлобальныеПараметры) := ГлобПараметры;
                парам.Values(АлгДанные) := ДанныеСорт;
                парам.Values(АлгЗаголовки) := Заголовок;
                парам.Values(АлгПараметры) := Коллекция;
                парам.Values(АлгПараметрыВывода) := ТекстПараметров;
                // то, что в шаблоне в &lt;&gt; скобках
                ИменаПараметров := Визуализатор.GetParams;
                парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
                парам.Values(АлгРаскладка) := Раскладка;
                парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
                Event(ИмяОбработчика, парам);
                // Перекачаем параметры, которые могли быть установлены в событии
                если (ТекстПараметров &lt;&gt; nil) тогда
                  парам.PumpData(ТекстПараметров);
              конец;
              DerefDataSet(ДанныеСорт, Раскладка, Deref, ecfStd);
              ДанныеСорт.Индекс := Раскладка.GetSortByName;
              // Заполняем параметры
              Страница.SetParams(парам);
              // Перекрываем ленточными полями
              УстановитьПоляЗаголовка(Страница, Заголовок);
              // Построение отчета
              ДокументНеПустой := Building(tbxStd, Страница, Раскладка, ДанныеСорт, nil, Deref, парам, Визуализатор.GetParams);
              Результат := Результат или ДокументНеПустой;
              // Выводим часть ленты
              Визуализатор.ViewToBelt(Страница);
            конец;
            Заголовок.Next;
          конец;
      обязательно
        // заканчиваем ленту и выводим глобальные параметры
        Визуализатор.EndBelt(Страница);
      конец;
    конец;
  конец;
конец;

функция ПолучитьМассивОграничения(СтрокаСортировки: строка; Заголовок: СтатическиеДанные): Variant;
переменные
  т: Текст;
  инд: целое;
  стр: Строка;
начало
  т := СоздатьТекст;
  попытка
    т.РазделенноеЗначение(";") := СтрокаСортировки;
    от инд := 0 до т.Количество - 1 делать
    начало
      стр := т.Стр(инд);
      если (стр[1] = "+") или (стр[1] = "-") тогда
        стр := Подстрока(стр, 2, Длина(стр));
      т.Стр(инд) := стр;
    конец;
    результат := Заголовок.Values(т.РазделенноеЗначение(";"));
  обязательно
    УдалитьОбъект(т);
  конец;
конец;

функция ДобавитьЛист(ДобавляемыйF1, БазовыйF1: IF1Book);
переменные
  Буфер: IF1Book;
  row, lastRow, col: целое;
  Пустой: целое;
начало
  Пустой := да;
  row := 1;
  пока Пустой и (row &lt;= ДобавляемыйF1.LastRow) делать
  начало
    col := 1;
    пока Пустой и (col &lt;= ДобавляемыйF1.LastCol) делать
    начало
      Пустой := (УбратьПробелы(ДобавляемыйF1.TextRC(row, col)) = "") или
                (УбратьПробелы(ДобавляемыйF1.TextRC(row, col)) = "Данных нет");
      col := col + 1;
    конец;
    row := row + 1;
  конец;
  если не Пустой тогда
  начало
    если ДобавляемыйF1.LastCol &gt; БазовыйF1.LastCol тогда
      от col := 1 до ДобавляемыйF1.LastCol делать
        если col &gt; БазовыйF1.LastCol тогда
        начало
          если ДобавляемыйF1.ColHidden(col) тогда
            БазовыйF1.ColWidth(col) := 0
          иначе
            БазовыйF1.ColWidth(col) := ДобавляемыйF1.ColWidth(col);
        конец;

    Буфер := CreateF1Book;
    Буфер.CopyRange(1, 1, 1 + ДобавляемыйF1.LastRow - ДобавляемыйF1.TopRow, ДобавляемыйF1.LastCol,
                    ДобавляемыйF1.SS,
                    ДобавляемыйF1.TopRow, 1, ДобавляемыйF1.LastRow, ДобавляемыйF1.LastCol);
    lastRow := 1;
    от row := ДобавляемыйF1.TopRow до ДобавляемыйF1.LastRow делать
      начало
        Буфер.RowHeight(lastRow) := ДобавляемыйF1.RowHeight(row);
        Буфер.RowHidden(lastRow) := ДобавляемыйF1.RowHidden(row);
        если ДобавляемыйF1.NextRowPageBreak(row) = row тогда
          Буфер.AddRowPageBreak(lastRow);
        lastRow := lastRow + 1;
      конец;
    если ДобавляемыйF1.NextRowPageBreak(ДобавляемыйF1.LastRow + 1) = ДобавляемыйF1.LastRow + 1 тогда
      Буфер.AddRowPageBreak(lastRow);
    lastRow := БазовыйF1.LastRow + 1;
    БазовыйF1.CopyRange(lastRow, 1, lastRow + Буфер.LastRow - Буфер.TopRow, Буфер.LastCol,
                 Буфер.SS,
                 Буфер.TopRow, 1, Буфер.LastRow, Буфер.LastCol);
    от row := Буфер.TopRow до Буфер.LastRow делать
      начало
        БазовыйF1.RowHeight(lastRow) := Буфер.RowHeight(row);
        БазовыйF1.RowHidden(lastRow) := Буфер.RowHidden(row);
        если Буфер.NextRowPageBreak(row) = row тогда
          БазовыйF1.AddRowPageBreak(lastRow);
        lastRow := lastRow + 1;
      конец;
    если Буфер.NextRowPageBreak(Буфер.LastRow + 1) = Буфер.LastRow + 1 тогда
      БазовыйF1.AddRowPageBreak(lastRow);
    БазовыйF1.MaxRow := lastRow - 1;
  конец;
конец;

функция ПроверитьКопируемуюОбласть(Визуализатор: IUniViewer; Страница: IVariables);
переменные
  Раскладка: ITableInfoX;
  ОпцииШаблона: IVariables;
  f1: IF1Book;
  Sheet: IUniSheet;
  КоличествоСтрокВШапке, КоличествоСтрокВПодписи: целое;
начало
  Раскладка := Страница.Значение("Раскладка");
  ОпцииШаблона := Страница.Значение("ОпцииШаблона");
  f1 := Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book);
  // Создаем промежуточную структуру для построения отчета
  Sheet := CreateSheet;
  Визуализатор.BeginBelt;
  Визуализатор.ViewToBelt(Sheet);
  Визуализатор.EndBelt(Sheet);
  КоличествоСтрокВШапке := ОпцииШаблона.Значение("TopRow") - 1;
  если (КоличествоСтрокВШапке &lt; 0) тогда
    КоличествоСтрокВШапке := 0;
  КоличествоСтрокВПодписи := f1.LastRow + Раскладка.RowCount - ОпцииШаблона.Значение("BottomRow");
  если (КоличествоСтрокВПодписи &lt; 0) тогда
    КоличествоСтрокВПодписи := 0;
  Страница.Значение("КоличествоСтрокВШапке") := КоличествоСтрокВШапке;
  Страница.Значение("КоличествоСтрокВПодписи") := КоличествоСтрокВПодписи;
конец;

функция ОбъединитьЛистыПослеВыводаДанных(ДобавляемыйF1, БазовыйF1: IF1Book; Страница: IVariables;
  ПервыйДокумент, ПоследнийДокумент, ДокументНеПустой, сч: целое);
переменные
  ТекстПараметров, ОпцииШаблона: IVariables;
  HeaderRows, FooterRows, НуженРазрыв: целое;
  НеВыводитьПустойДокумент: целое;
  Row, CopyTopRow, CopyBottomRow: целое;
начало
  ТекстПараметров := Страница.Значение("ТекстПараметров");
  ОпцииШаблона := Страница.Значение("ОпцииШаблона");

  // копируем настройки с первого листа и подбираем минимальный масштаб
  если ПервыйДокумент тогда
  начало
    СкопироватьНастройкиF1(ДобавляемыйF1, БазовыйF1);
    БазовыйF1.PrintScale := ДобавляемыйF1.PrintScale;
  конец;
  если (ДобавляемыйF1.PrintScale &lt; БазовыйF1.PrintScale) тогда
    БазовыйF1.PrintScale := ДобавляемыйF1.PrintScale;

  // удалим верхнюю часть копируемой области, кроме первого листа
  если не ПервыйДокумент тогда
    HeaderRows := Страница.Значение("КоличествоСтрокВШапке")
  иначе
    HeaderRows := 0;
  если (HeaderRows &gt; 0) и (ДобавляемыйF1.LastRow &gt; 0) тогда
    ДобавляемыйF1.DeleteRange(1, 1, HeaderRows, ДобавляемыйF1.LastCol, F1ShiftRows);

  // удалим нижнюю часть копируемой области, кроме последнего листа
  если не ПоследнийДокумент тогда
    FooterRows := Страница.Значение("КоличествоСтрокВПодписи")
  иначе
    FooterRows := 0;
  если (FooterRows &gt; 0) и (ДобавляемыйF1.LastRow &gt; 0) тогда
  начало
    НуженРазрыв := (ДобавляемыйF1.NextRowPageBreak(ДобавляемыйF1.LastRow - FooterRows + 1) &lt;&gt; 0);
    ДобавляемыйF1.DeleteRange(ДобавляемыйF1.LastRow - FooterRows + 1, 1, ДобавляемыйF1.LastRow, ДобавляемыйF1.LastCol, F1ShiftRows);
    если НуженРазрыв тогда
      ДобавляемыйF1.AddRowPageBreak(ДобавляемыйF1.LastRow);
  конец;

  НеВыводитьПустойДокумент := 0;
  если ТекстПараметров.ПараметрСуществует("НеВыводитьПустойДокумент") тогда
    НеВыводитьПустойДокумент := ТекстПараметров.Значение("НеВыводитьПустойДокумент");
  если (ДокументНеПустой или (НеВыводитьПустойДокумент = 0)) тогда
    сч := сч + 1
  иначе
  начало
    // если документ пустой и задан параметр "НеВыводитьПустойДокумент", то удалим табличную область
    Row := ОпцииШаблона.Значение("Row") - HeaderRows;
    CopyTopRow := Row - ОпцииШаблона.Значение("CopyTopRow");
    если ТекстПараметров.ПараметрСуществует("УдалитьВПустомДокументеСтрокНадТаблицей") тогда
     CopyTopRow := CopyTopRow - ТекстПараметров.Значение("УдалитьВПустомДокументеСтрокНадТаблицей");
    CopyBottomRow := Row - 1 + ОпцииШаблона.Значение("CopyBottomRow"); // -1 т.к. строки данных таблицы уже удалены
    если (CopyTopRow &lt;= CopyBottomRow) и (ДобавляемыйF1.LastRow &gt; 0) тогда
      ДобавляемыйF1.DeleteRange(CopyTopRow, 1, CopyBottomRow, ДобавляемыйF1.LastCol, F1ShiftRows);
  конец;

  ДобавитьЛист(ДобавляемыйF1, БазовыйF1);

  // добавляем разрыв страницы, если это не последний лист и задан параметр "ДобавитьРазрывВКонцеСтраницы"
  НуженРазрыв := 0;
  если ТекстПараметров.ПараметрСуществует("ДобавитьРазрывВКонцеСтраницы") тогда
    НуженРазрыв := ТекстПараметров.Значение("ДобавитьРазрывВКонцеСтраницы");
  если (БазовыйF1.LastRow &gt; 0) и (не ПоследнийДокумент) и НуженРазрыв тогда
    БазовыйF1.AddRowPageBreak(БазовыйF1.LastRow);
конец;

функция ПолучитьДанныеОтчетаИСохранить(Шаблон: строка; Коллекция: IVariables; CLSEnumType: целое; ИмяЛиста: Строка; OpenOffice: целое);
переменные
  ssReports: СтатическиеДанные;
  Поток: ВНЕШНИЙОБЪЕКТ;
  ЗначенияПараметров, ТекстПараметров, Парам, ВремКоллекция: IVariables;
  Страницы, Страница: IVariables;
  Данные, Заголовок, ЗаписьЗаголовока, СвойЗаголовок: СтатическиеДанные;
  Раскладка, Лента: ITableInfoX;
  Ткст: Текст;
  CLS, ы, сч, рез: целое;
  Визуализатор, TempViewer: IUniViewer;
  Doc, Report: IF1Book;
  Параметры, стр: строка;
  КоллекцияДанные: IVariables;
  ДанныеОтчетов: СтатическиеДанные;
  Field, DataOffset, DataSize, NameField, DisplayNameField: Поле;
  DataStm: Буфер;
  IDataStm: ВнешнийОбъект;
  БуферБлоба: Буфер;
  ткс: текст;
  ПоляИсточник, ПоляПолучатель: Variant;
  КолПолей: целое;
  ПутьКШаблонам: строка;
  КолСтраницВШирину: целое;
  ДокументНеПустой: целое;
  КомментарийПакета: Поле;
  Настройка: IVariables;
  АвтоВысота: целое;
начало
  ssReports := СоздатьСтатическиеДанные;
  ssReports.ДобавитьЦелоеПоле("CLS");
  ssReports.ДобавитьСтроковоеПоле("Template", 255);
  ssReports.Open;
  Поток := ReadEnum(CLSEnumType);
  ssReports.PumpData(Поток, '');

  ПутьКШаблонам := TemplatePath;
  если (CLSEnumType = ENUM_DOCS) тогда
    ПутьКШаблонам := ПутьКШаблонам + "\Документы";

  // заменим недопустимы символы для имени листа
  ИмяЛиста := ЗаменитьСтроку(ИмяЛиста, ":", "_");
  ИмяЛиста := ЗаменитьСтроку(ИмяЛиста, "\", "_");
  ИмяЛиста := ЗаменитьСтроку(ИмяЛиста, "/", "_");
  ИмяЛиста := ЗаменитьСтроку(ИмяЛиста, "?", "_");
  ИмяЛиста := ЗаменитьСтроку(ИмяЛиста, "*", "_");
  ИмяЛиста := ЗаменитьСтроку(ИмяЛиста, "[", "(");
  ИмяЛиста := ЗаменитьСтроку(ИмяЛиста, "]", ")");
  ИмяЛиста := ЗаменитьСтроку(ИмяЛиста, "'", "`");
  // Обрезаем до 31-го символа
  ИмяЛиста := Подстрока(ИмяЛиста, 1, 31);

  // визуализатор для итогового отчета
  Визуализатор := CreateComObject(F1Viewer);
  Визуализатор.Viewer := Визуализатор.CreateViewObject;
  Визуализатор.SetProject(Pather);
  // визуализатор для отчетов входящих в композитный
  TempViewer := CreateComObject(F1Viewer);
  TempViewer.Viewer := TempViewer.CreateViewObject;
  TempViewer.SetProject(Pather);

  Report := Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book);
  Doc := Интерфейс(TempViewer.Viewer).ЗапроситьИнтерфейс(_IF1Book);

  КолСтраницВШирину := 0;
  АвтоВысота := нет;
  если не OpenOffice тогда
    АвтоВысота := ПолучитьФлагИзНастроек("AutoHeightInExcel");
  ВремКоллекция := создатьКоллекцию;
  Ткст := СоздатьТекст;
  Лента := СоздатьРаскладку;
  Страницы := СоздатьКоллекцию;
  Ткст.РазделенноеЗначение := Шаблон;
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := СтрокаВЦелое(Ткст.Стр(ы));
      если ssReports.Locate("CLS", ArrayOf(CLS), 0)
      тогда
        TempViewer.Template := ПутьКШаблонам + '\' + ssReports.ПолеПоИмени("Template").AsString
      иначе
        ВызватьОшибку('Отчет c кодом "'+Ткст.Стр(ы)+'" не найден');
      TempViewer.Templates.Index := 0;
      TempViewer.TemplateIndex := 0;
      если (ы = 0) тогда
      начало
        Визуализатор.Template := TempViewer.Template;
        Report.InitTable;
        если TempViewer.Templates.Template.Options.CheckParam("AutoScale") тогда
          если TempViewer.Templates.Template.Options.Values("AutoScale") тогда
          начало
            если TempViewer.Templates.Template.Options.CheckParam("ScalePages") тогда
              КолСтраницВШирину := TempViewer.Templates.Template.Options.Values("ScalePages");
            если (КолСтраницВШирину &lt; 1) тогда
              КолСтраницВШирину := 1;
          конец;
      конец;
      Парам := СоздатьКоллекцию;
      Парам.PumpData(Коллекция);
      СформироватьПараметры(Парам, TempViewer);
      Раскладка := TempViewer.GetTable;
      ПроверитьРаскладку(Парам, Раскладка);
      Лента.Join(Раскладка);
      ТекстПараметров := nil;
      Заголовок := nil;
      Данные := nil;
      ВремКоллекция.Clear;
      ВремКоллекция.PumpData(TempViewer.GetVariables);
      ЗначенияПараметров := TempViewer.GetVariables;
      // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
      Если ЗначенияПараметров.Значение(кАктивныеПараметры) &lt;&gt; "" тогда
        Параметры := ЗначенияПараметров.Значение(кАктивныеПараметры);
      ЗначенияПараметров.PumpData(Парам);
      // удаляем параметр "Данные" скопированный из Парам, чтобы не было циклических ссылок и лишних данных для сохранения
      ЗначенияПараметров.Delete("Данные");
      // восстанавливаем параметры с шаблона, которые могли перетереться одноименными параметрами из Парам (копии Коллекция).
      ЗначенияПараметров.PumpData(ВремКоллекция);

      //Дополним ограничения настройками из реестра
      Настройка := CreateVariables;
      попытка
        ЗагрузитьНастройкиОтчета(Коллекция, Настройка);
        ЗначенияПараметров.PumpData(Настройка);
      обязательно
        УдалитьОбъект(Настройка);
      конец;

      // Ограничения с панели параметров
      ЗначенияПараметров := ПолучитьПараметры(ЗначенияПараметров, Параметры);
      // Параметры, которые выкидываются в шаблон
      ТекстПараметров := ПолучитьПараметрыТекст(ЗначенияПараметров, Параметры);
      // параметры по единициам измерения
      СформироватьПараметрыПоЕдИзмер(Раскладка, ЗначенияПараметров, ТекстПараметров);
      //Читающая страница. Закачиваем данные
      СформироватьДанныеОгр(TempViewer, Раскладка, Парам, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);

      Страница := СоздатьКоллекцию;
      Страницы.Значение(CLS) := Страница;
      Страница.Значение("Шаблон") := TempViewer.Template;
      Страница.Значение("Данные") := Данные;
      Страница.Значение("Заголовок") := Заголовок;
      Страница.Значение("Парам") := Парам;
      Страница.Значение("Раскладка") := Раскладка;
      Страница.Значение("ТекстПараметров") := ТекстПараметров;
      Страница.Значение("ОпцииШаблона") := TempViewer.Templates.Template.Options;

      ПроверитьКопируемуюОбласть(TempViewer, Страница);

      TempViewer.Clear;
    конец;
  Лента := Лента.GetBeltColumns;
  если (Лента = nil) тогда
    ВызватьОшибку('Отсутствуют ленточные поля');
  Заголовок := СоздатьСтатическиеДанные;
  // получаем все ленточные поля
  Лента.AddFields(Заголовок);
  Заголовок.Open;
  Лента.FixGroup;
  Стр := Лента.GetGroups;
  // группируем все данные в заголовок
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := СтрокаВЦелое(Ткст.Стр(ы));
      Страница := Страницы.Значение(CLS);
      Данные := Страница.Значение("Данные");
      Заголовок.Группировать(Данные, Стр);
      Парам := Страница.Значение("Парам");
      ПроверитьИСкопироватьПараметры(Парам, Коллекция);
    конец;

  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := СтрокаВЦелое(Ткст.Стр(ы));
      Страница := Страницы.Значение(CLS);
      TempViewer.Template := Страница.Значение("Шаблон");
      Парам := СоздатьКоллекцию;
      Парам.Значение("Страницы") := Шаблон;
      Парам.Значение("КоллецияСтраницы") := Страницы;
      Парам.Значение("Заголовок") := Заголовок;
      EventRecursive("ПослеЗакачкиКомпозиции", Парам, TempViewer.Templates, нет);
      TempViewer.Clear;
    конец;

  Заголовок.Индекс := Лента.SortStr;

  если Коллекция.ПараметрСуществует("Данные")
  тогда
    КоллекцияДанные := Коллекция.Значение("Данные")
  иначе начало
    КоллекцияДанные := CreateVariables;
    Коллекция.Значение("Данные") := КоллекцияДанные;
  конец;
  ДанныеОтчетов := СоздатьСтатическиеДанные;
  КоллекцияДанные.Значение('0') := ДанныеОтчетов;
  ДанныеОтчетов.CreateDataField('_DataOffset_', ftInteger, 0, нет);
  DataOffset := ДанныеОтчетов.ПолеПоИмени('_DataOffset_');
  ДанныеОтчетов.CreateDataField('_DataSize_', ftInteger, 0, нет);
  DataSize := ДанныеОтчетов.ПолеПоИмени('_DataSize_');
  ДанныеОтчетов.CreateDataField('_Name_', ftString, 255, нет);
  NameField := ДанныеОтчетов.ПолеПоИмени('_Name_');
  ДанныеОтчетов.CreateDataField('_DisplayName_', ftString, 255, нет);
  DisplayNameField := ДанныеОтчетов.ПолеПоИмени('_DisplayName_');

  //Получаем поток, в который мы будем сохранять все бинарные данные
  DataStm := СоздатьБуфер(Коллекция.Значение('_DataStm_'));
  IDataStm := DataStm;

  // Проверяем опциональное поле комментария пакета
  КомментарийПакета := nil;
  Стр := КоллекцияДанные.Значение('КомментарийПакета');
  если (Стр &lt;&gt; '') тогда
    КомментарийПакета := Заголовок.ПолеПоИмени(Стр);

  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := КоллекцияДанные.Значение('УникальныеПоляПакета');
    КолПолей := ткс.Количество;
    ПоляИсточник.VarArrayCreate(varUnknown, 0, КолПолей - 1);
    ПоляПолучатель.VarArrayCreate(varUnknown, 0, КолПолей - 1);
    от ы := 0 до КолПолей - 1 делать
      начало
        Стр := ткс.Стр(ы);
        Field := Заголовок.ПолеПоИмени(Стр);
        ПоляИсточник.AsInterface(ы) := Field;
        рез := Field.DataType;
        сч := Field.Size;
        ДанныеОтчетов.CreateDataField(Стр, рез, сч, нет);
        Field := ДанныеОтчетов.ПолеПоИмени(Стр);
        ПоляПолучатель.AsInterface(ы) := Field;
      конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  ДанныеОтчетов.Открыть;

  Заголовок.First;
  пока не Заголовок.Eof делать
    начало
      сч := 0;
      от ы := 0 до Ткст.Количество - 1 делать
        начало
          CLS := СтрокаВЦелое(Ткст.Стр(ы));
          Страница := Страницы.Значение(CLS);
          Шаблон := Страница.Values('Шаблон');
          TempViewer.Template := Шаблон;
          Данные := Страница.Значение("Данные");
          СвойЗаголовок := Страница.Значение("Заголовок");
          Парам := Страница.Значение("Парам");
          Раскладка := Страница.Значение("Раскладка");
          ТекстПараметров := Страница.Значение("ТекстПараметров");
          Раскладка.Options := БитИли(Раскладка.Options, ttoCustomCaption);
          если (ТекстПараметров.Значение("НеВыводитьПустойДокумент") = 1) тогда
            Раскладка.Options := БитИли(Раскладка.Options, ttoNotEmptyData)
          иначе
            Раскладка.Options := БитИли(Раскладка.Options, ttoEmptyChunk);
          ЗаписьЗаголовока := СоздатьСтатическиеДанные;
          если (СвойЗаголовок &lt;&gt; nil) тогда
          начало
            ЗаписьЗаголовока.AssignFields(СвойЗаголовок);
            СвойЗаголовок.Индекс := Заголовок.Индекс;
            СвойЗаголовок.SetScope(ПолучитьМассивОграничения(Заголовок.Индекс, Заголовок));
            если (СвойЗаголовок.ЧислоЗаписей &lt;&gt; 0) тогда
              ЗаписьЗаголовока.PumpData(СвойЗаголовок, "")
            иначе
              ЗаписьЗаголовока.СкопироватьЗапись(нет, Заголовок);
          конец иначе
          начало
            ЗаписьЗаголовока.AssignFields(Заголовок);
            ЗаписьЗаголовока.СкопироватьЗапись(нет, Заголовок);
          конец;
          ЗаписьЗаголовока.Индекс := Заголовок.Индекс;
          Данные.Индекс := Заголовок.Индекс;
          Данные.SetScope(ПолучитьМассивОграничения(Заголовок.Индекс, ЗаписьЗаголовока));
          ДокументНеПустой := ВывестиОтчет(TempViewer, Раскладка, Парам, nil, ТекстПараметров, Данные, ЗаписьЗаголовока);
          ОбъединитьЛистыПослеВыводаДанных(Doc, Report, Страница, (ы = 0), (ы + 1 = Ткст.Количество), ДокументНеПустой, сч);
          TempViewer.Clear;
        конец;
      если (сч &lt;&gt; 0)
      тогда начало
        Report.SheetName(1) := ИмяЛиста;

        ДанныеОтчетов.Append;
        от ы := 0 до КолПолей - 1 делать
          Поле(ПоляПолучатель.AsInterface(ы)).AsVariant := Поле(ПоляИсточник.AsInterface(ы)).AsVariant;
        БуферБлоба := СоздатьБуфер;
        попытка
          СохранитьF1ToExcell(Report, БуферБлоба, КолСтраницВШирину, АвтоВысота);
          DataOffset.AsInteger := DataStm.Позиция;
          DataSize.AsInteger := БуферБлоба.Размер;
          если (DataSize.AsInteger &lt;&gt; 0) тогда
          начало
            БуферБлоба.Позиция := 0;
            DataStm.Позиция := DataOffset.AsInteger;
            IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
          конец;
        обязательно
          УдалитьОбъект(БуферБлоба);
        конец;
        если OpenOffice тогда
          NameField.AsString := 'autogen.ods'
        иначе
          NameField.AsString := 'autogen.xls';
        если (КомментарийПакета &lt;&gt; nil) тогда
          DisplayNameField.AsString := КомментарийПакета.AsString
        иначе
          если OpenOffice тогда
            DisplayNameField.AsString := 'OpenOffice эл. таблицы'
          иначе
            DisplayNameField.AsString := 'Excel отчет';
        ДанныеОтчетов.Post;
      конец;
      Report.InitTable;
      Заголовок.Next;
    конец;
конец;

функция ПолучитьСписокПоКоду(Код: целое; CLSEnumType: целое; Коллекция: IVariables): строка;
переменные
  ssReports: СтатическиеДанные;
  Поток: ВНЕШНИЙОБЪЕКТ;
  Настройки: строка;
  Ткст: текст;
начало
  ssReports := СоздатьСтатическиеДанные;
  ssReports.ДобавитьЦелоеПоле("CLS");
  ssReports.ДобавитьСтроковоеПоле("Template", 255);
  ssReports.ДобавитьСтроковоеПоле("OptionsPath", 255);
  ssReports.Open;
  Поток := ReadEnum(CLSEnumType);
  ssReports.PumpData(Поток, '');

  если не ssReports.Locate("CLS", ArrayOf(Код), 0) тогда
  начало
    если (CLSEnumType = ENUM_DOCS) тогда
      ВызватьОшибку('Печатный документ c кодом "'+ФорматироватьКлассификатор(Код, "00.00.00.00")+'" не найден')
    иначе
      ВызватьОшибку('Отчет c кодом "'+ФорматироватьКлассификатор(Код, "00.00.00.00")+'" не найден');
  конец;

  результат := ssReports.ПолеПоИмени("Template").AsString;

  Настройки := ssReports.ПолеПоИмени("OptionsPath").AsString;
  если (Код ост 100 &lt;&gt; 0) тогда
  если ssReports.Locate("CLS", ArrayOf((Код цел 100) * 100), 0) тогда
  если (ssReports.ПолеПоИмени("OptionsPath").AsString &lt;&gt; "") тогда
  начало
    если (Настройки &lt;&gt; "") тогда
      Настройки := Настройки + "," + ssReports.ПолеПоИмени("OptionsPath").AsString
    иначе
      Настройки := ssReports.ПолеПоИмени("OptionsPath").AsString;
    Ткст := СоздатьТекст;
    попытка
      Ткст.Сортированый := да;
      Ткст.Дубликаты := 0; //dupIgnore
      Ткст.РазделенноеЗначение := Настройки;
      Настройки := Ткст.РазделенноеЗначение;
    обязательно
      УдалитьОбъект(Ткст);
    конец;
  конец;

  Коллекция.Значение("OptionsPath") := Настройки;
  Коллекция.Значение("Код") := Код;
конец;
</value>
    <param value="МакросСозданиеКомпозитногоExcel.abl" type="3" name="Export">MITROFANOVNEW\mitrofanov\25.04.2013 15:09:27</param>
    <param value="МакросСозданиеКомпозитногоExcel.abl" type="3" name="version">36.041.60</param>
    <param value="МакросСозданиеКомпозитногоExcel.abl" type="3" name="crc32">$9D7B539C</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеCells">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеCells.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(TemplatePath+"\"+Коллекция.Значение("SectGenerationTemplate"), Коллекция);
конец;
</value>
    <param value="СозданиеCells" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеCells" type="3" name="version">36.041.60</param>
    <param value="СозданиеCells" type="3" name="crc32">$C408C1A8</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеCellsПоКодуДок">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеCells.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(ПолучитьШаблонПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_DOCS, Коллекция), Коллекция);
конец;
</value>
    <param value="СозданиеCellsПоКодуДок" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеCellsПоКодуДок" type="3" name="version">36.041.60</param>
    <param value="СозданиеCellsПоКодуДок" type="3" name="crc32">$ECE8C9D2</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеCellsПоКодуОтч">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеCells.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(ПолучитьШаблонПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_REPORTS, Коллекция), Коллекция);
конец;
</value>
    <param value="СозданиеCellsПоКодуОтч" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеCellsПоКодуОтч" type="3" name="version">36.041.60</param>
    <param value="СозданиеCellsПоКодуОтч" type="3" name="crc32">$3B5129DB</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеExcel">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(TemplatePath+"\"+Коллекция.Значение("SectGenerationTemplate"), Коллекция, нет);
конец;
</value>
    <param value="СозданиеExcel" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеExcel" type="3" name="version">36.041.60</param>
    <param value="СозданиеExcel" type="3" name="crc32">$701D3CE2</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеExcelПоКодуДок">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(ПолучитьШаблонПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_DOCS, Коллекция), Коллекция, нет);
конец;
</value>
    <param value="СозданиеExcelПоКодуДок" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеExcelПоКодуДок" type="3" name="version">36.041.60</param>
    <param value="СозданиеExcelПоКодуДок" type="3" name="crc32">$69757508</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеExcelПоКодуОтч">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(ПолучитьШаблонПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_REPORTS, Коллекция), Коллекция, нет);
конец;
</value>
    <param value="СозданиеExcelПоКодуОтч" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеExcelПоКодуОтч" type="3" name="version">36.041.60</param>
    <param value="СозданиеExcelПоКодуОтч" type="3" name="crc32">$63981497</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеOpenOfficeCalc">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(TemplatePath+"\"+Коллекция.Значение("SectGenerationTemplate"), Коллекция, да);
конец;
</value>
    <param value="СозданиеOpenOfficeCalc" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеOpenOfficeCalc" type="3" name="version">36.041.60</param>
    <param value="СозданиеOpenOfficeCalc" type="3" name="crc32">$135193AB</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеOpenOfficeCalcПоКодуДок">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(ПолучитьШаблонПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_DOCS, Коллекция), Коллекция, да);
конец;
</value>
    <param value="СозданиеOpenOfficeCalcПоКодуДок" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеOpenOfficeCalcПоКодуДок" type="3" name="version">36.041.60</param>
    <param value="СозданиеOpenOfficeCalcПоКодуДок" type="3" name="crc32">$172E083D</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеOpenOfficeCalcПоКодуОтч">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчета(ПолучитьШаблонПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_REPORTS, Коллекция), Коллекция, да);
конец;
</value>
    <param value="СозданиеOpenOfficeCalcПоКодуОтч" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеOpenOfficeCalcПоКодуОтч" type="3" name="version">36.041.60</param>
    <param value="СозданиеOpenOfficeCalcПоКодуОтч" type="3" name="crc32">$FAE1B0B3</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоCells">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоCells.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(Коллекция.Значение("SectGenerationTemplate"), Коллекция, ENUM_REPORTS);
конец;
</value>
    <param value="СозданиеКомпозитногоCells" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеКомпозитногоCells" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоCells" type="3" name="crc32">$3148C897</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоCellsДокумент">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоCells.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(Коллекция.Значение("SectGenerationTemplate"), Коллекция, ENUM_DOCS);
конец;
</value>
    <param value="СозданиеКомпозитногоCellsДокумент" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеКомпозитногоCellsДокумент" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоCellsДокумент" type="3" name="crc32">$D4857CDC</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоCellsПоКодуДок">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоCells.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(ПолучитьСписокПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_DOCS, Коллекция), Коллекция, ENUM_DOCS);
конец;
</value>
    <param value="СозданиеКомпозитногоCellsПоКодуДок" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеКомпозитногоCellsПоКодуДок" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоCellsПоКодуДок" type="3" name="crc32">$4BC73231</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоCellsПоКодуОтч">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоCells.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(ПолучитьСписокПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_REPORTS, Коллекция), Коллекция, ENUM_REPORTS);
конец;
</value>
    <param value="СозданиеКомпозитногоCellsПоКодуОтч" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеКомпозитногоCellsПоКодуОтч" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоCellsПоКодуОтч" type="3" name="crc32">$53125098</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоExcel">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(Коллекция.Значение("SectGenerationTemplate"), Коллекция, ENUM_REPORTS, Коллекция.Значение("SectName"), нет);
конец;
</value>
    <param value="СозданиеКомпозитногоExcel" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеКомпозитногоExcel" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоExcel" type="3" name="crc32">$76C6565A</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоExcelДокумент">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(Коллекция.Значение("SectGenerationTemplate"), Коллекция, ENUM_DOCS, Коллекция.Значение("SectName"), нет);
конец;
</value>
    <param value="СозданиеКомпозитногоExcelДокумент" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеКомпозитногоExcelДокумент" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоExcelДокумент" type="3" name="crc32">$15D4794F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоExcelПоКодуДок">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(ПолучитьСписокПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_DOCS, Коллекция), Коллекция, ENUM_DOCS, Коллекция.Значение("SectName"), нет);
конец;
</value>
    <param value="СозданиеКомпозитногоExcelПоКодуДок" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:02</param>
    <param value="СозданиеКомпозитногоExcelПоКодуДок" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоExcelПоКодуДок" type="3" name="crc32">$D2A421C6</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоExcelПоКодуОтч">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(ПолучитьСписокПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_REPORTS, Коллекция), Коллекция, ENUM_REPORTS, Коллекция.Значение("SectName"), нет);
конец;
</value>
    <param value="СозданиеКомпозитногоExcelПоКодуОтч" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:03</param>
    <param value="СозданиеКомпозитногоExcelПоКодуОтч" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоExcelПоКодуОтч" type="3" name="crc32">$7C0F9F03</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоOpenOfficeCalc">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(Коллекция.Значение("SectGenerationTemplate"), Коллекция, ENUM_REPORTS, Коллекция.Значение("SectName"), да);
конец;
</value>
    <param value="СозданиеКомпозитногоOpenOfficeCalc" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеКомпозитногоOpenOfficeCalc" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоOpenOfficeCalc" type="3" name="crc32">$7E8E34EE</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоOpenOfficeCalcДокумент">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(Коллекция.Значение("SectGenerationTemplate"), Коллекция, ENUM_DOCS, Коллекция.Значение("SectName"), да);
конец;
</value>
    <param value="СозданиеКомпозитногоOpenOfficeCalcДокумент" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеКомпозитногоOpenOfficeCalcДокумент" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоOpenOfficeCalcДокумент" type="3" name="crc32">$6ACDF8F3</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоOpenOfficeCalcПоКодуДок">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(ПолучитьСписокПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_DOCS, Коллекция), Коллекция, ENUM_DOCS, Коллекция.Значение("SectName"), да);
конец;
</value>
    <param value="СозданиеКомпозитногоOpenOfficeCalcПоКодуДок" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:03</param>
    <param value="СозданиеКомпозитногоOpenOfficeCalcПоКодуДок" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоOpenOfficeCalcПоКодуДок" type="3" name="crc32">$CD3DC588</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеКомпозитногоOpenOfficeCalcПоКодуОтч">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\pather.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование\МакросСозданиеКомпозитногоExcel.abl";

Событие(Коллекция: IVariables);
начало
  ПолучитьДанныеОтчетаИСохранить(ПолучитьСписокПоКоду(СтрокаВЦелое(Коллекция.Значение("SectGenerationTemplate")), ENUM_REPORTS, Коллекция), Коллекция, ENUM_REPORTS, Коллекция.Значение("SectName"), да);
конец;
</value>
    <param value="СозданиеКомпозитногоOpenOfficeCalcПоКодуОтч" type="3" name="Export">MITROFANOVNEW\mitrofanov\19.03.2013 16:29:03</param>
    <param value="СозданиеКомпозитногоOpenOfficeCalcПоКодуОтч" type="3" name="version">36.041.60</param>
    <param value="СозданиеКомпозитногоOpenOfficeCalcПоКодуОтч" type="3" name="crc32">$B7E94A60</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеЛюбыеФайлы">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\ReportTools.lib";
включить "Бюджет\Ресурсы\библиотеки\SysUtils.lib";
включить "\Макросы\Отчеты\ПоддержкаОтчетов.abl";

Событие(Коллекция: IVariables);

константы
  faReadOnly  = 1;
  faHidden    = 2;
  faSysFile   = 4;
  faVolumeID  = 8;
  faDirectory = 16;
  faArchive   = 32;
  faAnyFile   = 63;

  нстр = #13#10;

функция СформироватьПараметры(Параметры: IVariables);
переменные
  Данные: IVariables;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  Данные.Значение('Путь') := Параметры.Значение("SectGenerationTemplate");
конец;

функция ПолучитьПроизвольныеДанные(Путь: строка; Коллекция: IVariables): IUniViewer;
переменные
  КоллекцияДанные: IVariables;
  ДанныеОтчетов: СтатическиеДанные;
  DataOffset, DataSize, NameField, DisplayNameField, ПолеДата, ПолеЛС: Поле;
  DataStm: Буфер;
  IDataStm: ВнешнийОбъект;
  ОграниченияПоДатам: IDataLimit;
  ТестДата: целое;
  ФильтрЛС: строка;
  ТестЛС: СтатическиеДанные;
  ПолеТестЛС: Поле;
  БуферБлоба: Буфер;
  КаталогДата, КаталогЛС, ФайлЛюбой: строка;
  Удачно, счДата, счЛС: целое;
  СписокКаталогДата, СписокКаталогЛС: Текст;
  ЛицСчета: СтатическиеДанные;
начало
  СформироватьПараметры(Коллекция);

  если Коллекция.ПараметрСуществует("Данные")
  тогда
    КоллекцияДанные := Коллекция.Значение("Данные")
  иначе начало
    КоллекцияДанные := CreateVariables;
    Коллекция.Значение("Данные") := КоллекцияДанные;
  конец;
  ДанныеОтчетов := СоздатьСтатическиеДанные;
  КоллекцияДанные.Значение('0') := ДанныеОтчетов;
  ДанныеОтчетов.CreateDataField('_DataOffset_', ftInteger, 0, нет);
  DataOffset := ДанныеОтчетов.ПолеПоИмени('_DataOffset_');
  ДанныеОтчетов.CreateDataField('_DataSize_', ftInteger, 0, нет);
  DataSize := ДанныеОтчетов.ПолеПоИмени('_DataSize_');
  ДанныеОтчетов.CreateDataField('_Name_', ftString, 255, нет);
  NameField := ДанныеОтчетов.ПолеПоИмени('_Name_');
  ДанныеОтчетов.CreateDataField('_DisplayName_', ftString, 255, нет);
  DisplayNameField := ДанныеОтчетов.ПолеПоИмени('_DisplayName_');

  //Получаем поток, в который мы будем сохранять все бинарные данные
  DataStm := СоздатьБуфер(Коллекция.Значение('_DataStm_'));
  IDataStm := DataStm;

  КоллекцияДанные.Значение('УникальныеПоляПакета') := "Date,FacialAcc";
  ДанныеОтчетов.CreateDataField('Date', ftFloat, 0, нет);
  ПолеДата := ДанныеОтчетов.ПолеПоИмени('Date');
  ДанныеОтчетов.CreateDataField('FacialAcc', ftInteger, 0, нет);
  ПолеЛС := ДанныеОтчетов.ПолеПоИмени('FacialAcc');
  ДанныеОтчетов.Открыть;

  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(Коллекция);
  ФильтрЛС := "(1=1) " + ОграничениеФильтр("ЛицСчет=FacialAcc", Коллекция);
  ТестЛС := СоздатьСтатическиеДанные;
  ТестЛС.CreateDataField('FacialAcc', ftInteger, 0, нет);
  ПолеТестЛС := ТестЛС.ПолеПоИмени('FacialAcc');
  ТестЛС.Открыть;

  ЛицСчета := СоздатьСтатическиеДанные;
  ЛицСчета.СоединитьБД;

  если (Путь = "") тогда
    ВызватьОшибку("Не задан путь каталога для секции произвольных данных");
  если (Путь[Длина(Путь)] &lt;&gt; "\") и (Путь[Длина(Путь)] &lt;&gt; "/") тогда
    Путь := Путь + "\";
  если не DirectoryExists(Путь) тогда
    ВызватьОшибку('Не найден каталог для секции произвольных данных: "'+Путь+'"');

  СписокКаталогДата := СоздатьТекст;
  СписокКаталогЛС := СоздатьТекст;
  попытка
    //Формируем список всех каталогов дат
    КаталогДата := "";
    Удачно := FindFirst(Путь+"*", faAnyFile, КаталогДата);
    пока Удачно делать
    начало
      если (БитИ(FindGetAttr, faDirectory) &lt;&gt; 0) и (КаталогДата &lt;&gt; ".") и (КаталогДата &lt;&gt; "..") тогда
        СписокКаталогДата.Добавить(КаталогДата);
      КаталогДата := "";
      Удачно := FindNext(КаталогДата);
    конец;
    FindClose;

    //Фильтруем список каталогов дат, только на подходящие к ограничениям
    от счДата := СписокКаталогДата.Количество-1 назад 0 делать
    начало
      попытка
        ТестДата := СтрокаВЦелое(СписокКаталогДата.Стр(счДата));
        если (ТестДата &lt; ОграниченияПоДатам.ДатаНачалаПериода) или (ТестДата &gt; ОграниченияПоДатам.ДатаКонцаПериода) тогда
          СписокКаталогДата.Удалить(счДата);
      неудача
        СписокКаталогДата.Удалить(счДата);
      конец;
    конец;

    от счДата := 0 до СписокКаталогДата.Количество-1 делать
    начало
      КаталогДата := СписокКаталогДата.Стр(счДата);

      //Формируем список всех ЛС
      КаталогЛС := "";
      Удачно := FindFirst(Путь+КаталогДата+"\*", faAnyFile, КаталогЛС);
      пока Удачно делать
      начало
        если (БитИ(FindGetAttr, faDirectory) &lt;&gt; 0) и (КаталогЛС &lt;&gt; ".") и (КаталогЛС &lt;&gt; "..") и (КаталогЛС &lt;&gt; "Массовые") тогда
          СписокКаталогЛС.Добавить(КаталогЛС);
        КаталогЛС := "";
        Удачно := FindNext(КаталогЛС);
      конец;
      FindClose;

      //Фильтруем список каталогов ЛС, только на подходящие к ограничениям
      от счЛС := СписокКаталогЛС.Количество-1 назад 0 делать
      начало
        попытка
          ТестЛС.Закрыть;
          ТестЛС.Filter := "";
          ТестЛС.Filtered := нет;
          ТестЛС.Открыть;
          ТестЛС.Append;
          ПолеТестЛС.AsInteger := СтрокаВЦелое(СписокКаталогЛС.Стр(счЛС));
          ТестЛС.Post;
          ТестЛС.Filter := ФильтрЛС;
          ТестЛС.Filtered := да;
          если (ТестЛС.ЧислоЗаписей = 0) тогда
            СписокКаталогЛС.Удалить(счЛС);
        неудача
          СписокКаталогЛС.Удалить(счЛС);
        конец;
      конец;

      от счЛС := 0 до СписокКаталогЛС.Количество-1 делать
      начало
        КаталогЛС := СписокКаталогЛС.Стр(счЛС);

        ФайлЛюбой := "";
        Удачно := FindFirst(Путь+КаталогДата+"\"+КаталогЛС+"\*", faAnyFile-faDirectory-faVolumeID, ФайлЛюбой);
        пока Удачно делать
        начало
          ДанныеОтчетов.Append;
          ПолеДата.AsInteger := СтрокаВЦелое(КаталогДата);
          ПолеЛС.AsInteger := СтрокаВЦелое(КаталогЛС);
          БуферБлоба := СоздатьБуфер;
          попытка
            попытка
              БуферБлоба.ЗагрузитьИзФайла(Путь+КаталогДата+"\"+КаталогЛС+"\"+ФайлЛюбой);
              DataOffset.AsInteger := DataStm.Позиция;
              DataSize.AsInteger := БуферБлоба.Размер;
              если (DataSize.AsInteger &lt;&gt; 0) тогда
              начало
                БуферБлоба.Позиция := 0;
                DataStm.Позиция := DataOffset.AsInteger;
                IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
              конец;
            неудача
              ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Загрузка из файла: "' + Путь+КаталогДата+"\"+КаталогЛС+"\"+ФайлЛюбой + '"');
            конец;
          обязательно
            УдалитьОбъект(БуферБлоба);
          конец;
          NameField.AsString := ФайлЛюбой;
          DisplayNameField.AsString := "";
          ДанныеОтчетов.Post;
          ФайлЛюбой := "";
          Удачно := FindNext(ФайлЛюбой);
        конец;
        FindClose;
      конец;

      //Массовые для всех
      ЛицСчета.Закрыть;
      ЛицСчета.Запрос := '[PumpData]'+нстр
                       + '{select fac.id ID'+нстр
                       + 'from'+нстр
                       + '  FacialAcc_Cls fac'+нстр
                       + 'where (1 = 1) '+Ограничение("ЛицСчет=fac.id", Коллекция)+нстр
                       + 'order by fac.id}';
      ЛицСчета.Открыть;
      ФайлЛюбой := "";
      Удачно := FindFirst(Путь+КаталогДата+"\Массовые\*", faAnyFile-faDirectory-faVolumeID, ФайлЛюбой);
      пока Удачно делать
      начало
        ЛицСчета.ВНачало;
        пока не ЛицСчета.ВКонце делать
        начало
          ДанныеОтчетов.Append;
          ПолеДата.AsInteger := СтрокаВЦелое(КаталогДата);
          ПолеЛС.AsInteger := ЛицСчета.ПолеПоИмени('ID').AsInteger;
          БуферБлоба := СоздатьБуфер;
          попытка
            попытка
              БуферБлоба.ЗагрузитьИзФайла(Путь+КаталогДата+"\Массовые\"+ФайлЛюбой);
              DataOffset.AsInteger := DataStm.Позиция;
              DataSize.AsInteger := БуферБлоба.Размер;
              если (DataSize.AsInteger &lt;&gt; 0) тогда
              начало
                БуферБлоба.Позиция := 0;
                DataStm.Позиция := DataOffset.AsInteger;
                IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
              конец;
            неудача
              ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Загрузка из файла: "' + Путь+КаталогДата+"\Массовые\"+ФайлЛюбой + '"');
            конец;
          обязательно
            УдалитьОбъект(БуферБлоба);
          конец;
          NameField.AsString := ФайлЛюбой;
          DisplayNameField.AsString := "";
          ДанныеОтчетов.Post;
          ЛицСчета.Следующая;
        конец;
        ФайлЛюбой := "";
        Удачно := FindNext(ФайлЛюбой);
      конец;
      FindClose;

      //Массовые для ГРБС (и самостоятельных)
      ЛицСчета.Закрыть;
      ЛицСчета.Запрос := '[PumpData]'+нстр
                       + '{select fac.id ID'+нстр
                       + 'from'+нстр
                       + '  FacialAcc_Cls fac'+нстр
                       + 'where ((fac.HaracterAccount = 1) or (fac.HaracterAccount = 2)) '+Ограничение("ЛицСчет=fac.id", Коллекция)+нстр
                       + 'order by fac.id}';
      ЛицСчета.Открыть;
      ФайлЛюбой := "";
      Удачно := FindFirst(Путь+КаталогДата+"\Массовые\ГРБС\*", faAnyFile-faDirectory-faVolumeID, ФайлЛюбой);
      пока Удачно делать
      начало
        ЛицСчета.ВНачало;
        пока не ЛицСчета.ВКонце делать
        начало
          ДанныеОтчетов.Append;
          ПолеДата.AsInteger := СтрокаВЦелое(КаталогДата);
          ПолеЛС.AsInteger := ЛицСчета.ПолеПоИмени('ID').AsInteger;
          БуферБлоба := СоздатьБуфер;
          попытка
            попытка
              БуферБлоба.ЗагрузитьИзФайла(Путь+КаталогДата+"\Массовые\ГРБС\"+ФайлЛюбой);
              DataOffset.AsInteger := DataStm.Позиция;
              DataSize.AsInteger := БуферБлоба.Размер;
              если (DataSize.AsInteger &lt;&gt; 0) тогда
              начало
                БуферБлоба.Позиция := 0;
                DataStm.Позиция := DataOffset.AsInteger;
                IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
              конец;
            неудача
              ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Загрузка из файла: "' + Путь+КаталогДата+"\Массовые\ГРБС\"+ФайлЛюбой + '"');
            конец;
          обязательно
            УдалитьОбъект(БуферБлоба);
          конец;
          NameField.AsString := ФайлЛюбой;
          DisplayNameField.AsString := "";
          ДанныеОтчетов.Post;
          ЛицСчета.Следующая;
        конец;
        ФайлЛюбой := "";
        Удачно := FindNext(ФайлЛюбой);
      конец;
      FindClose;

      //Массовые для ПБС (и самостоятельных)
      ЛицСчета.Закрыть;
      ЛицСчета.Запрос := '[PumpData]'+нстр
                       + '{select fac.id ID'+нстр
                       + 'from'+нстр
                       + '  FacialAcc_Cls fac'+нстр
                       + 'where ((fac.HaracterAccount = 0) or (fac.HaracterAccount = 2)) '+Ограничение("ЛицСчет=fac.id", Коллекция)+нстр
                       + 'order by fac.id}';
      ЛицСчета.Открыть;
      ФайлЛюбой := "";
      Удачно := FindFirst(Путь+КаталогДата+"\Массовые\ПБС\*", faAnyFile-faDirectory-faVolumeID, ФайлЛюбой);
      пока Удачно делать
      начало
        ЛицСчета.ВНачало;
        пока не ЛицСчета.ВКонце делать
        начало
          ДанныеОтчетов.Append;
          ПолеДата.AsInteger := СтрокаВЦелое(КаталогДата);
          ПолеЛС.AsInteger := ЛицСчета.ПолеПоИмени('ID').AsInteger;
          БуферБлоба := СоздатьБуфер;
          попытка
            попытка
              БуферБлоба.ЗагрузитьИзФайла(Путь+КаталогДата+"\Массовые\ПБС\"+ФайлЛюбой);
              DataOffset.AsInteger := DataStm.Позиция;
              DataSize.AsInteger := БуферБлоба.Размер;
              если (DataSize.AsInteger &lt;&gt; 0) тогда
              начало
                БуферБлоба.Позиция := 0;
                DataStm.Позиция := DataOffset.AsInteger;
                IDataStm.CopyFrom(БуферБлоба, DataSize.AsInteger);
              конец;
            неудача
              ВозбудитьОшибку(ПоследняяОшибка + #13#10 + 'Загрузка из файла: "' + Путь+КаталогДата+"\Массовые\ПБС\"+ФайлЛюбой + '"');
            конец;
          обязательно
            УдалитьОбъект(БуферБлоба);
          конец;
          NameField.AsString := ФайлЛюбой;
          DisplayNameField.AsString := "";
          ДанныеОтчетов.Post;
          ЛицСчета.Следующая;
        конец;
        ФайлЛюбой := "";
        Удачно := FindNext(ФайлЛюбой);
      конец;
      FindClose;
    конец;
  обязательно
    УдалитьОбъект(СписокКаталогЛС);
    УдалитьОбъект(СписокКаталогДата);
  конец;
конец;

начало
  ПолучитьПроизвольныеДанные(Коллекция.Значение("SectGenerationTemplate"), Коллекция);
конец;
</value>
    <param value="СозданиеЛюбыеФайлы" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеЛюбыеФайлы" type="3" name="version">36.041.60</param>
    <param value="СозданиеЛюбыеФайлы" type="3" name="crc32">$2D5C1076</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеНабораДанных">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\Макросы\Отчеты\ФункцииДляРесурсов.abl";

Событие(Коллекция: IVariables);
функция СформироватьПараметры(Параметры: IVariables; РесурсныйШаблон: ITemplates);
переменные
  Данные: IVariables;
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  ткс: текст;
  номерДанных,стр1, стр2: строка;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  Раскладка := РесурсныйШаблон.Template.TableInfo;
  Раскладка.NameToFieldName;
  от сч := 0 до Раскладка.Count - 1 делать начало
    Колонка := Раскладка.Columns(сч);
    номерДанных := Колонка.Params('_DSDataSet');
    если ((Колонка.Params('_DSSave') &lt;&gt; 0) и (Колонка.Params('_DSIgnore') = 0) и (Колонка.Params('_DSService') = 0))
    тогда начало
      стр1 := "ЗначимыеПоля_"+номерДанных;
      стр2 := Данные.Значение(стр1);
      если (стр2 &lt;&gt; "")
      тогда стр2 := стр2+',';
      если (Колонка.Params('_FieldAlias') &lt;&gt; '')
      тогда
        стр2 := стр2+Колонка.Params('_FieldAlias')
      иначе
        стр2 := стр2+Колонка.Name;
      Данные.Значение(стр1) := стр2;
    конец;
    если (не Колонка.Params('_DSSave'))
    тогда начало
      стр1 := "УдаляемыеПоля_"+номерДанных;
      стр2 := Данные.Значение(стр1);
      если (стр2 &lt;&gt; "")
      тогда стр2 := стр2+',';
      если (Колонка.Params('_FieldAlias') &lt;&gt; '')
      тогда
        стр2 := стр2+Колонка.Params('_FieldAlias')
      иначе
        стр2 := стр2+Колонка.Name;
      Данные.Значение(стр1) := стр2;
    конец;
    если ((Колонка.Params('_DSKey') &lt;&gt; 0) и (Колонка.Params('_DSSave') &lt;&gt; 0))
    тогда начало
      стр1 := "КлючевыеПоля_"+номерДанных;
      стр2 := Данные.Значение(стр1);
      если (стр2 &lt;&gt; "")
      тогда стр2 := стр2+',';
      если (Колонка.Params('_FieldAlias') &lt;&gt; '')
      тогда
        стр2 := стр2+Колонка.Params('_FieldAlias')
      иначе
        стр2 := стр2+Колонка.Name;
      Данные.Значение(стр1) := стр2;
    конец;
    если ((Колонка.Params('_DSForeign') &lt;&gt; 0) и (Колонка.Params('_DSSave') &lt;&gt; 0))
    тогда начало
      стр1 := "ВнешниеПоля_"+номерДанных;
      стр2 := Данные.Значение(стр1);
      если (стр2 &lt;&gt; "")
      тогда стр2 := стр2+',';
      если (Колонка.Params('_FieldAlias') &lt;&gt; '')
      тогда
        стр2 := стр2+Колонка.Params('_FieldAlias')
      иначе
        стр2 := стр2+Колонка.Name;
      Данные.Значение(стр1) := стр2;
    конец;
  конец;
  если РесурсныйШаблон.Template.Variables.ПараметрСуществует("УникальныеПоляПакета")
  тогда
    УникальныеПоляПакета := РесурсныйШаблон.Template.Variables.Значение("УникальныеПоляПакета") //1-й обязательно дата, 2-й обязатетельно л/с. Дальше могут быть еще, но там порядок уже не важен
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета"');
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    УникальныеПоляПакета := "";
    от сч := 0 до ткс.Количество - 1 делать начало
      если (сч &lt;&gt; 0)
      тогда УникальныеПоляПакета := УникальныеПоляПакета+',';
      если (ткс.Стр(сч) &lt;&gt; "")
      тогда начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд &lt;&gt; -1) тогда начало
          Колонка := Раскладка.Columns(инд);
          если (Колонка.Params('_FieldAlias') &lt;&gt; '')
          тогда
            УникальныеПоляПакета := УникальныеПоляПакета+Колонка.Params('_FieldAlias')
          иначе
            УникальныеПоляПакета := УникальныеПоляПакета+Колонка.Name;
        конец
        иначе
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  Данные.Значение('УникальныеПоляПакета') := УникальныеПоляПакета;
  если РесурсныйШаблон.Template.Variables.ПараметрСуществует("КодДокументаСекцииПакета")
  тогда
    Данные.Значение('КодДокументаСекцииПакета') := РесурсныйШаблон.Template.Variables.Значение("КодДокументаСекцииПакета")
  иначе
    ВызватьОшибку('Не задан параметр "КодДокументаСекцииПакета"');
  Данные.Значение('Заголовок_0') := РесурсныйШаблон.Template.Options.Значение('PageName')+'.Заголовок';
  Данные.Значение('Заголовок_1') := РесурсныйШаблон.Template.Options.Значение('PageName')+'.Детализация';
  если РесурсныйШаблон.Template.Variables.ПараметрСуществует("ДопМастерДетальСвязка")
  тогда
    Данные.Значение('ДопМастерДетальСвязка') := РесурсныйШаблон.Template.Variables.Значение("ДопМастерДетальСвязка");
  если РесурсныйШаблон.Template.Variables.ПараметрСуществует("ТипСвязиЗаголовок")
  тогда
    Данные.Значение('ТипСвязи_0') := РесурсныйШаблон.Template.Variables.Значение("ТипСвязиЗаголовок");
  если РесурсныйШаблон.Template.Variables.ПараметрСуществует("ПолеСвязиЗаголовок")
  тогда начало
    инд := Раскладка.FindColumn(РесурсныйШаблон.Template.Variables.Значение("ПолеСвязиЗаголовок"));
    если (инд &lt;&gt; -1) тогда начало
      Колонка := Раскладка.Columns(инд);
      если (Колонка.Params('_FieldAlias') &lt;&gt; '')
      тогда
        Данные.Значение('ПолеСвязи_0') := Колонка.Params('_FieldAlias')
      иначе
        Данные.Значение('ПолеСвязи_0') := Колонка.Name;
    конец
    иначе
      ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
  конец;
  если РесурсныйШаблон.Template.Variables.ПараметрСуществует("ТипСвязиДетализация")
  тогда
    Данные.Значение('ТипСвязи_1') := РесурсныйШаблон.Template.Variables.Значение("ТипСвязиДетализация");
  если РесурсныйШаблон.Template.Variables.ПараметрСуществует("ПолеСвязиДетализация")
  тогда начало
    инд := Раскладка.FindColumn(РесурсныйШаблон.Template.Variables.Значение("ПолеСвязиДетализация"));
    если (инд &lt;&gt; -1) тогда начало
      Колонка := Раскладка.Columns(инд);
      если (Колонка.Params('_FieldAlias') &lt;&gt; '')
      тогда
        Данные.Значение('ПолеСвязи_1') := Колонка.Params('_FieldAlias')
      иначе
        Данные.Значение('ПолеСвязи_1') := Колонка.Name;
    конец
    иначе
      ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
  конец;
  ткс := СоздатьТекст;
  попытка
    если РесурсныйШаблон.Template.Variables.ПараметрСуществует("ПоляПредпросмотра")
    тогда
      ткс.РазделенноеЗначение(",") := РесурсныйШаблон.Template.Variables.Значение("ПоляПредпросмотра");
    от сч := 0 до Раскладка.Count - 1 делать начало
      Колонка := Раскладка.Columns(сч);
      Колонка.Options := BitOr(Колонка.Options, toxReadOnly);
      инд := ткс.Поиск(Колонка.Name);
      если (инд &lt;&gt; -1) тогда начало
        Колонка.Hidden := нет;
        Колонка.Required := BitOr(Колонка.Required, trxRequired);
      конец
      иначе начало
        Колонка.Hidden := да;
        Колонка.Required := BitAnd(Колонка.Required, BitNot(trxRequired));
      конец;
      если (Колонка.CalcField = 1)
      тогда начало
        Колонка.Script := '';
        Колонка.ResultScript := '';
      конец;
      если (Прописные(Колонка.Identifier) = 'СУММА')
      тогда начало
        Колонка.Group := grpSum;
        Колонка.ColumnType := ctpResult;
        Колонка.Required := BitAnd(Колонка.Required, BitNot(trxNotTotal));
      конец
      иначе
        Колонка.Group := grpGroup;
      если (Колонка.Params('_FieldAlias') &lt;&gt; '')
      тогда
        Колонка.FieldName := Колонка.Params('_FieldAlias');
      Колонка.FieldName := '_'+Колонка.Params('_DSDataSet')+'_'+Колонка.FieldName;
    конец;
    Параметры.Значение('Раскладка') := Раскладка;
  обязательно
    УдалитьОбъект(ткс);
  конец;
конец;

переменные
  РесурсныйШаблон: ITemplates;
  Данные: СтатическиеДанные;
начало
  РесурсныйШаблон := ЗагрузитьРесурсИзФайла(Коллекция.Значение("SectGenerationTemplate"));
  РесурсныйШаблон.Index := 0;
  если (РесурсныйШаблон.Template.TableInfo.Params('_DSPageNames') &lt;&gt; 'Заголовок,Детализация')
  тогда ВызватьОшибку("Используется неподдерживаемый шаблон");
  Данные := СформироватьДанныеРесурса(РесурсныйШаблон,Коллекция);
  ВыделитьМастерДеталь(Коллекция,Коллекция,Данные,РесурсныйШаблон);
  СформироватьПараметры(Коллекция,РесурсныйШаблон);
конец;
</value>
    <param value="СозданиеНабораДанных" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеНабораДанных" type="3" name="version">36.041.60</param>
    <param value="СозданиеНабораДанных" type="3" name="crc32">$90E69379</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value name="СозданиеОтчетаCells" type="7">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить 'Бюджет\Ресурсы\библиотеки\Control.lib';
включить 'Бюджет\Ресурсы\библиотеки\DocRefer.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';

Событие(Коллекция: IVariables);

константы
  кАктивныеПараметры = "АктивныеПараметры";

функция СформироватьПараметры(Параметры: IVariables; Визуализатор: IUniViewer);
переменные
  ШаблонОтчета: ITemplate;
  Данные: IVariables;
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  ткс: текст;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  Данные.Значение('Шаблон') := Параметры.Значение("SectGenerationTemplate");
  Визуализатор.Templates.Index := 0;
  ШаблонОтчета := Визуализатор.Templates.Template;
  Раскладка := ШаблонОтчета.TableInfo;
  если ШаблонОтчета.Variables.ПараметрСуществует("УникальныеПоляПакета")
  тогда
    УникальныеПоляПакета := ШаблонОтчета.Variables.Значение("УникальныеПоляПакета") //1-й обязательно дата, 2-й обязатетельно л/с. Дальше могут быть еще, но там порядок уже не важен
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета"');
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    УникальныеПоляПакета := "";
    от сч := 0 до ткс.Количество - 1 делать начало
      если (сч &lt;&gt; 0)
      тогда УникальныеПоляПакета := УникальныеПоляПакета+',';
      если (ткс.Стр(сч) &lt;&gt; "")
      тогда начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд &lt;&gt; -1) тогда начало
          Колонка := Раскладка.Columns(инд);
          УникальныеПоляПакета := УникальныеПоляПакета+Колонка.FieldName;
        конец
        иначе
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  Данные.Значение('УникальныеПоляПакета') := УникальныеПоляПакета;
конец;

функция ПреобразоватьРаскладку(Раскладка: ITableInfoX);
начало
конец;

функция ВывестиДанныеЧастично(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                           Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                           Данные, Заголовок: СтатическиеДанные);
переменные
  ГлобПараметры, парам, КоллекцияДанные: IVariables;
  ДанныеДоГруппировки, ДанныеДоСорт: СтатическиеДанные;
  Страница: IUniSheet;
  Стр: строка;
  Deref: IDereference;
начало
  если (Данные = nil)
    тогда ВызватьОшибку('Данные не найдены');
  ГлобПараметры := ГлобальныеПараметры;
  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  если (ТекстПараметров &lt;&gt; nil) тогда
    парам.PumpData(ТекстПараметров);

  Deref := Mapper;
  // Создаем промежуточную структуру для построения отчета
  Страница := CreateSheet;
  // если параметры существуют переносим на страницу
  Страница.SetParams(парам);

  Визуализатор.Translation(nil);

  ДанныеДоГруппировки := СоздатьСтатическиеДанные;
  Раскладка.AddFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоГруппировки, Deref, ecfPriorGroup);
  ДанныеДоГруппировки.Open;
  ДанныеДоГруппировки.PumpData(Данные, '');
  CalcDataSet(ДанныеДоГруппировки, Раскладка, Deref, Страница, парам, ecfPriorGroup);
  DerefDataSet(ДанныеДоГруппировки, Раскладка, Deref, ecfPriorGroup);
  если (УбратьПробелы(Раскладка.PreFilter) &lt;&gt; '')
  тогда начало
    ДанныеДоГруппировки.Filter := УбратьПробелы(Раскладка.PreFilter);
    ДанныеДоГруппировки.Filtered := да;
  конец;

  ДанныеДоСорт := СоздатьСтатическиеДанные;
  ДанныеДоСорт.AssignFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоСорт, Deref, БитИли(ecfPriorSort, ecfStd));
  ДанныеДоСорт.Open;
  Стр := Раскладка.GetGroups;
  если (Стр &lt;&gt; '')
    тогда ДанныеДоСорт.GroupData(ДанныеДоГруппировки, Стр)
    иначе ДанныеДоСорт.PumpData(ДанныеДоГруппировки, '');
  CalcDataSet(ДанныеДоСорт, Раскладка, Deref, Страница, парам, БитИли(ecfPriorSort, ecfStd));
  DerefDataSet(ДанныеДоСорт, Раскладка, Deref, БитИли(ecfPriorSort, ecfStd));
  если (УбратьПробелы(Раскладка.Filter) &lt;&gt; '')
  тогда начало
    ДанныеДоСорт.Filter := УбратьПробелы(Раскладка.Filter);
    ДанныеДоСорт.Filtered := да;
  конец;

  ДанныеДоГруппировки := nil; //освобождаем память

  если Коллекция.ПараметрСуществует("Данные")
  тогда
    КоллекцияДанные := Коллекция.Значение("Данные")
  иначе начало
    КоллекцияДанные := CreateVariables;
    Коллекция.Значение("Данные") := КоллекцияДанные;
  конец;

  //Нужно удалить отфильтрованное, так как далее возможен сброс фильтра
  если (УбратьПробелы(ДанныеДоСорт.Filter) &lt;&gt; '')
  тогда начало
    ДанныеДоСорт.Filter := "not ("+ДанныеДоСорт.Filter+")";
    ДанныеДоСорт.Filtered := да;
    ДанныеДоСорт.Clear;
    ДанныеДоСорт.Filter := "";
    ДанныеДоСорт.Filtered := нет;
  конец;

  КоллекцияДанные.Значение('0') := ДанныеДоСорт;
  КоллекцияДанные.Значение('Заголовок') := Заголовок;
  КоллекцияДанные.Значение('ПараметрыВывода') := ТекстПараметров;
  КоллекцияДанные.Значение('ГлобальныеПараметры') := ГлобПараметры;
конец;

функция ПолучитьДанныеОтчета(Шаблон: строка; Коллекция: IVariables): IUniViewer;
переменные
  Раскладка: ITableInfoX;
  Визуализатор: IUniViewer;
  ТекстПараметров, НаборДанных, ВремКоллекция: IVariables;
  ЗначенияПараметров: IVariables;
  Данные, Заголовок: СтатическиеДанные;
  сч: целое;
  Параметры: строка;
начало
  ModalWafer.Clear;
  Визуализатор := ModalWafer.CheckCellViewer;
  Визуализатор.SetProject(Pather);
  Визуализатор.Template := Шаблон;

  СформироватьПараметры(Коллекция, Визуализатор);

  НаборДанных := Коллекция.Значение("Данные");

  если (Визуализатор.Templates.Count &lt;&gt; 1)
    тогда ВызватьОшибку('Поддерживаются лишь шаблоны с одной страницей');
  ВремКоллекция := создатьКоллекцию;

  //Получаем исходные данные
  от сч := 0 до Визуализатор.Templates.Count - 1 делать
  начало
    Визуализатор.Templates.Index := сч;
    Визуализатор.TemplateIndex := сч;
    Раскладка := Визуализатор.GetTable;
    ПреобразоватьРаскладку(Раскладка);
//    если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) = '') тогда
    начало
      Данные := nil;
      если НаборДанных &lt;&gt; nil тогда
        Данные := НаборДанных.Значение(ЦелоеВСтроку(сч));
      если Данные = nil тогда
      начало
        ВремКоллекция.Clear;
        ВремКоллекция.PumpData(Визуализатор.GetVariables);

        ЗначенияПараметров := Визуализатор.GetVariables;
        // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
        Если ЗначенияПараметров.Значение(кАктивныеПараметры) &lt;&gt; "" тогда
          Параметры := ЗначенияПараметров.Значение(кАктивныеПараметры);

        ЗначенияПараметров.PumpData(Коллекция);
        // удаляем параметр "Данные" скопированный из Коллекция, чтобы не было циклических ссылок и лишних данных для сохранения
        ЗначенияПараметров.Delete("Данные");
        // восстанавливаем параметры с шаблона, которые могли перетереться одноименными параметрами из Коллекция.
        ЗначенияПараметров.PumpData(ВремКоллекция);
        ЗначенияПараметров := ПолучитьПараметры(ЗначенияПараметров, Параметры);

        // Параметры, которые выкидываются в шаблон
        ТекстПараметров := ПолучитьПараметрыТекст(ЗначенияПараметров, Параметры);
        // параметры по единициам измерения
        СформироватьПараметрыПоЕдИзмер(Раскладка, ЗначенияПараметров, ТекстПараметров);

        //Читающая страница. Закачиваем данные
        СформироватьДанныеОгр(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);
      конец;

      ВывестиДанныеЧастично(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);
    конец
  конец;
  Результат := Визуализатор;
конец;

начало
  ПолучитьДанныеОтчета(TemplatePath+"\"+Коллекция.Значение("SectGenerationTemplate"), Коллекция);
конец;
</value>
    <param value="СозданиеОтчетаCells" type="3" name="Export">MITROFANOV\mitrofanov\19.05.2010 17:32:40</param>
    <param value="СозданиеОтчетаCells" type="3" name="version">36.041.60</param>
    <param value="СозданиеОтчетаCells" type="3" name="crc32">$9018A073</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value name="СозданиеОтчетаExcel" type="7">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить 'Бюджет\Ресурсы\библиотеки\Documents.lib';
включить 'Бюджет\Ресурсы\библиотеки\pather.lib';
включить 'Бюджет\Ресурсы\библиотеки\Control.lib';
включить 'Бюджет\Ресурсы\библиотеки\DocRefer.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';

Событие(Коллекция: IVariables);

константы
  кАктивныеПараметры = "АктивныеПараметры";

функция СформироватьПараметры(Параметры: IVariables; Визуализатор: IUniViewer);
переменные
  ШаблонОтчета: ITemplate;
  Данные: IVariables;
  Раскладка: ITableInfoX;
  Колонка: IColumnInfoX;
  ткс: текст;
  УникальныеПоляПакета: строка;
  сч, инд: целое;
начало
  если Параметры.ПараметрСуществует("Данные")
  тогда
    Данные := Параметры.Значение("Данные")
  иначе начало
    Данные := CreateVariables;
    Параметры.Значение("Данные") := Данные;
  конец;
  Данные.Значение('Шаблон') := Параметры.Значение("SectGenerationTemplate");
  Визуализатор.Templates.Index := 0;
  ШаблонОтчета := Визуализатор.Templates.Template;
  Раскладка := ШаблонОтчета.TableInfo;
  если ШаблонОтчета.Variables.ПараметрСуществует("УникальныеПоляПакета")
  тогда
    УникальныеПоляПакета := ШаблонОтчета.Variables.Значение("УникальныеПоляПакета") //1-й обязательно дата, 2-й обязатетельно л/с. Дальше могут быть еще, но там порядок уже не важен
  иначе
    ВызватьОшибку('Не задан параметр "УникальныеПоляПакета"');
  ткс := СоздатьТекст;
  попытка
    ткс.РазделенноеЗначение(",") := УникальныеПоляПакета;
    УникальныеПоляПакета := "";
    от сч := 0 до ткс.Количество - 1 делать начало
      если (сч &lt;&gt; 0)
      тогда УникальныеПоляПакета := УникальныеПоляПакета+',';
      если (ткс.Стр(сч) &lt;&gt; "")
      тогда начало
        инд := Раскладка.FindColumn(ткс.Стр(сч));
        если (инд &lt;&gt; -1) тогда начало
          Колонка := Раскладка.Columns(инд);
          УникальныеПоляПакета := УникальныеПоляПакета+Колонка.FieldName;
        конец
        иначе
          ВызватьОшибку('Колонка "'+ткс.Стр(сч)+'" не найдена');
      конец;
    конец;
  обязательно
    УдалитьОбъект(ткс);
  конец;
  Данные.Значение('УникальныеПоляПакета') := УникальныеПоляПакета;
конец;

функция ПреобразоватьРаскладку(Раскладка: ITableInfoX);
начало
конец;

функция ВывестиДанныеЧастично(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                           Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                           Данные, Заголовок: СтатическиеДанные);
переменные
  ГлобПараметры, парам, КоллекцияДанные: IVariables;
  ДанныеДоГруппировки, ДанныеДоСорт: СтатическиеДанные;
  Страница: IUniSheet;
  Стр: строка;
  Deref: IDereference;
начало
  если (Данные = nil)
    тогда ВызватьОшибку('Данные не найдены');
  ГлобПараметры := ГлобальныеПараметры;
  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  если (ТекстПараметров &lt;&gt; nil) тогда
    парам.PumpData(ТекстПараметров);

  Deref := Mapper;
  // Создаем промежуточную структуру для построения отчета
  Страница := CreateSheet;
  // если параметры существуют переносим на страницу
  Страница.SetParams(парам);

  Визуализатор.Translation(nil);

  ДанныеДоГруппировки := СоздатьСтатическиеДанные;
  Раскладка.AddFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоГруппировки, Deref, ecfPriorGroup);
  ДанныеДоГруппировки.Open;
  ДанныеДоГруппировки.PumpData(Данные, '');
  CalcDataSet(ДанныеДоГруппировки, Раскладка, Deref, Страница, парам, ecfPriorGroup);
  DerefDataSet(ДанныеДоГруппировки, Раскладка, Deref, ecfPriorGroup);
  если (УбратьПробелы(Раскладка.PreFilter) &lt;&gt; '')
  тогда начало
    ДанныеДоГруппировки.Filter := УбратьПробелы(Раскладка.PreFilter);
    ДанныеДоГруппировки.Filtered := да;
  конец;

  ДанныеДоСорт := СоздатьСтатическиеДанные;
  ДанныеДоСорт.AssignFields(ДанныеДоГруппировки);
  Раскладка.AddNameFields(ДанныеДоСорт, Deref, БитИли(ecfPriorSort, ecfStd));
  ДанныеДоСорт.Open;
  Стр := Раскладка.GetGroups;
  если (Стр &lt;&gt; '')
    тогда ДанныеДоСорт.GroupData(ДанныеДоГруппировки, Стр)
    иначе ДанныеДоСорт.PumpData(ДанныеДоГруппировки, '');
  CalcDataSet(ДанныеДоСорт, Раскладка, Deref, Страница, парам, БитИли(ecfPriorSort, ecfStd));
  DerefDataSet(ДанныеДоСорт, Раскладка, Deref, БитИли(ecfPriorSort, ecfStd));
  если (УбратьПробелы(Раскладка.Filter) &lt;&gt; '')
  тогда начало
    ДанныеДоСорт.Filter := УбратьПробелы(Раскладка.Filter);
    ДанныеДоСорт.Filtered := да;
  конец;

  ДанныеДоГруппировки := nil; //освобождаем память

  если Коллекция.ПараметрСуществует("Данные")
  тогда
    КоллекцияДанные := Коллекция.Значение("Данные")
  иначе начало
    КоллекцияДанные := CreateVariables;
    Коллекция.Значение("Данные") := КоллекцияДанные;
  конец;

  //Нужно удалить отфильтрованное, так как далее возможен сброс фильтра
  если (УбратьПробелы(ДанныеДоСорт.Filter) &lt;&gt; '')
  тогда начало
    ДанныеДоСорт.Filter := "not ("+ДанныеДоСорт.Filter+")";
    ДанныеДоСорт.Filtered := да;
    ДанныеДоСорт.Clear;
    ДанныеДоСорт.Filter := "";
    ДанныеДоСорт.Filtered := нет;
  конец;

  КоллекцияДанные.Значение('0') := ДанныеДоСорт;
  КоллекцияДанные.Значение('Заголовок') := Заголовок;
  КоллекцияДанные.Значение('ПараметрыВывода') := ТекстПараметров;
  КоллекцияДанные.Значение('ГлобальныеПараметры') := ГлобПараметры;
конец;

функция ПолучитьДанныеОтчета(Шаблон: строка; Коллекция: IVariables): IUniViewer;
переменные
  Раскладка: ITableInfoX;
  Визуализатор: IUniViewer;
  ТекстПараметров, НаборДанных, ВремКоллекция: IVariables;
  ЗначенияПараметров: IVariables;
  Данные, Заголовок: СтатическиеДанные;
  сч: целое;
  Параметры: строка;
начало
  ModalWafer.Clear;
  Визуализатор := ModalWafer.CheckF1Viewer;
  Визуализатор.SetProject(Pather);
  Визуализатор.Template := Шаблон;

  СформироватьПараметры(Коллекция, Визуализатор);

  НаборДанных := Коллекция.Значение("Данные");

  если (Визуализатор.Templates.Count &lt;&gt; 1)
    тогда ВызватьОшибку('Поддерживаются лишь шаблоны с одной страницей');
  ВремКоллекция := создатьКоллекцию;

  //Получаем исходные данные
  от сч := 0 до Визуализатор.Templates.Count - 1 делать
  начало
    Визуализатор.Templates.Index := сч;
    Визуализатор.TemplateIndex := сч;
    Раскладка := Визуализатор.GetTable;
    ПреобразоватьРаскладку(Раскладка);
//    если (не Раскладка.Params("PageSkipped")) и (Раскладка.Params(cReadDataPage) = '') тогда
    начало
      Данные := nil;
      если НаборДанных &lt;&gt; nil тогда
        Данные := НаборДанных.Значение(ЦелоеВСтроку(сч));
      если Данные = nil тогда
      начало
        ВремКоллекция.Clear;
        ВремКоллекция.PumpData(Визуализатор.GetVariables);

        ЗначенияПараметров := Визуализатор.GetVariables;
        // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
        Если ЗначенияПараметров.Значение(кАктивныеПараметры) &lt;&gt; "" тогда
          Параметры := ЗначенияПараметров.Значение(кАктивныеПараметры);

        ЗначенияПараметров.PumpData(Коллекция);
        // удаляем параметр "Данные" скопированный из Коллекция, чтобы не было циклических ссылок и лишних данных для сохранения
        ЗначенияПараметров.Delete("Данные");
        // восстанавливаем параметры с шаблона, которые могли перетереться одноименными параметрами из Коллекция.
        ЗначенияПараметров.PumpData(ВремКоллекция);
        ЗначенияПараметров := ПолучитьПараметры(ЗначенияПараметров, Параметры);

        // Параметры, которые выкидываются в шаблон
        ТекстПараметров := ПолучитьПараметрыТекст(ЗначенияПараметров, Параметры);
        // параметры по единициам измерения
        СформироватьПараметрыПоЕдИзмер(Раскладка, ЗначенияПараметров, ТекстПараметров);

        //Читающая страница. Закачиваем данные
        СформироватьДанныеОгр(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);
      конец;

      ВывестиДанныеЧастично(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок);
    конец
  конец;
  Результат := Визуализатор;
конец;

начало
  ПолучитьДанныеОтчета(TemplatePath+"\"+Коллекция.Значение("SectGenerationTemplate"), Коллекция);
конец;
</value>
    <param value="СозданиеОтчетаExcel" type="3" name="Export">MITROFANOV\mitrofanov\19.05.2010 17:32:40</param>
    <param value="СозданиеОтчетаExcel" type="3" name="version">36.041.60</param>
    <param value="СозданиеОтчетаExcel" type="3" name="crc32">$CED883E3</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Формирование">
    <value type="7" name="СозданиеСписка">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";

Событие(Коллекция: IVariables);
переменные
  Данные: СтатическиеДанные;
  пИмя, пЗаголовок, пЗначение, пПроверять: Поле;

  функция ДобавитьОписания(ss: IVariables; ПоляДляПроверки: строка);
  переменные
    FV, FL: IVariables;
    инд, сч, проверять: целое;
    имя: строка;
    ткс: текст;
  начало
    если не ss.ПараметрСуществует('Values')
    тогда ВызватьОшибку('Не найден параметр "Values"');
    FV := ss.Значение('Values');
    если не ss.ПараметрСуществует('Labels')
    тогда ВызватьОшибку('Не найден параметр "Labels"');
    FL := ss.Значение('Labels');
    ткс := СоздатьТекст;
    попытка
      ткс.РазделенноеЗначение := Прописные(ПоляДляПроверки);
      от инд:=0 до FV.Count-1 делать начало
        имя := FV.Names(инд);
        Данные.Append;
        пИмя.КакСтрока := имя;
        пЗаголовок.КакСтрока := FL.Значение(имя);
        пЗначение.КакСтрока := FV.Значение(имя);
        имя := Прописные(имя);
        проверять := 0;
        от сч:=0 до ткс.Количество-1 делать
          если имя = ткс.Стр(сч)
          тогда начало
            проверять := 1;
            прервать;
          конец;
        пПроверять.КакЦелое := проверять;
        Данные.Post;
      конец;
    обязательно
      УдалитьОбъект(ткс);
    конец;
  конец;

переменные
  Колл: IVariables;
начало
  если Коллекция.ПараметрСуществует("Данные")
  тогда
    Колл := Коллекция.Значение("Данные")
  иначе начало
    Колл := CreateVariables;
    Коллекция.Значение("Данные") := Колл;
  конец;
  Данные := СоздатьСтатическиеДанные;
  Колл.Значение('0') := Данные;
  пИмя := Данные.ДобавитьСтроковоеПоле('_Name_',255);
  пЗаголовок := Данные.ДобавитьСтроковоеПоле('_DisplayName_',255);
  пЗначение := Данные.ДобавитьСтроковоеПоле('_Data_',255);
  пПроверять := Данные.ДобавитьЦелоеПоле('_ItfCheck_');
  Данные.Открыть;
  если не Коллекция.ПараметрСуществует('ssCaption')
  тогда ВызватьОшибку('Не найден параметр "ssCaption"');
  ДобавитьОписания(Коллекция.Значение('ssCaption'), 'PacketID,PacketTypeCls,FacialAcc_Cls,ReportDate');
конец;
</value>
    <param value="СозданиеСписка" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:54</param>
    <param value="СозданиеСписка" type="3" name="version">36.041.60</param>
    <param value="СозданиеСписка" type="3" name="crc32">$B4A1E2DB</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Предпросмотр">
    <value type="7" name="ПредпросмотрНабораДанных">включить "Project";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Reports.lib";
включить '\библиотеки\Control.lib';
включить "\библиотеки\Documents.lib";
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\pather.lib';

Событие(Коллекция: IVariables);
переменные
  Визуализатор: IUniViewer;
  Раскладка, РаскладкаВизуализатора: ITableInfoX;
  Данные: СтатическиеДанные;
начало
  Визуализатор := Коллекция.Значение('_SSViewer_');
  Визуализатор.SetProject(Pather);
  Раскладка := Коллекция.Значение('Раскладка');
  Визуализатор.Template := TemplatePathEx(tpxResource)+Раскладка.Params('FileName');
  РаскладкаВизуализатора := Визуализатор.GetTable;
  РаскладкаВизуализатора.Clear;
  Раскладка.CopyTo(РаскладкаВизуализатора);
  Данные := Коллекция.Значение('_Data_');
  ВывестиДанные(Визуализатор, РаскладкаВизуализатора, РаскладкаВизуализатора, nil, Коллекция, Данные, nil, да);
конец;
</value>
    <param value="ПредпросмотрНабораДанных" type="3" name="Export">MITROFANOV\mitrofanov\25.03.2010 15:58:53</param>
    <param value="ПредпросмотрНабораДанных" type="3" name="version">36.041.60</param>
    <param value="ПредпросмотрНабораДанных" type="3" name="crc32">$77088738</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="МакросОграниченияПоПравам.abl">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\ReportTools.lib";
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';

константы
  нстр = #13#10;

функция НаложитьОграниченияПоПравам(Коллекция: IVariables; ОбщиеОграничения: ISharedParams);
переменные
  ЛицСчета: СтатическиеДанные;
  Стр: строка;
  ПраваЛС: строка;
  ТипПакета: целое;
начало
  Стр := '';
  если ОбщиеОграничения.Param("@ТипПакета").Enabled тогда
  начало
    ТипПакета := СтрокаВЦелое(ОбщиеОграничения.Param("@ТипПакета").Result);
    если (ТипПакета &gt;= 0) тогда
      Стр := 'and (redsr.DataPacketType = ' + ЦелоеВСтроку(ТипПакета) + ') ';
  конец;
  ЛицСчета := СоздатьСтатическиеДанные;
  попытка
    ЛицСчета.Запрос := '[PumpData]'+нстр
                     + '{select fac.id ID'+нстр
                     + 'from'+нстр
                     + '  FacialAcc_Cls fac'+нстр
                     + '  inner join RemoteEDSRight redsr on'+нстр
                     + '    ('+нстр
                     + '      (redsr.RightType = 0) and ('+нстр
                     + '        ((redsr.ARecursive = 0) and (fac.id = redsr.FacialAccCls)) or'+нстр
                     + '        ((redsr.ARecursive &lt;&gt; 0) and (fac.id between redsr.FacialAccCls and redsr.FacialAccClsUp))'+нстр
                     + '      )'+нстр
                     + '    )'+нстр
                     + 'where (1 = 1) '+Стр+Ограничение("ЛицСчет=fac.id", Коллекция)+'}';
    ЛицСчета.СоединитьБД;
    ЛицСчета.Открыть;
    Стр := GetLimitStr(ЛицСчета, 'ID');
    если (Стр = '') тогда
      ВызватьОшибку('Был выбран лицевой счет, для которого не заданы права на и/ф "Права удаленных клиентов на получение пакетов"');
    Стр := '='+ЗаменитьСтроку(Стр, ',', ',=');
    если (ОбщиеОграничения.Param("@ОграничВидимостьПоПравам") &lt;&gt; nil) и
         (ОбщиеОграничения.Param("@ОграничВидимостьПоПравамОрг") &lt;&gt; nil)
    тогда начало
      если ОбщиеОграничения.Param("@ОграничВидимостьПоПравам").Enabled и
           ОбщиеОграничения.Param("@ОграничВидимостьПоПравамОрг").Enabled и
           ОбщиеОграничения.Param("@ОграничВидимостьПоПравамОрг").Checked
      тогда начало
        ПраваЛС := DivRange(GetFacialIDRigth, '', 1);
        Стр := AndLimits(Стр, ПраваЛС, МаскаКлассификатора(тк_ЛицСчет));
        если (Стр = '@') тогда
          ВызватьОшибку('Был выбран лицевой счет, для которого у Вас нет прав');
      конец;
    конец;
    Стр := AndLimits(Стр, Стр, МаскаКлассификатора(тк_ЛицСчет)); //оптимизируем список
    Коллекция.Значение("ЛицСчет") := Стр;
  обязательно
    УдалитьОбъект(ЛицСчета);
  конец;
конец;

функция НаложитьОграниченияПоХарактеруЛС(Коллекция: IVariables; Характер_ЛС: строка);
переменные
  ЛицСчета: СтатическиеДанные;
  Стр: строка;
  парам: IVariables;
начало
  парам := СоздатьКоллекцию;
  попытка
    парам.Значение("Характер_ЛС") := Характер_ЛС;
    Стр := Ограничение("Характер_ЛС=fac", парам);
  обязательно
    УдалитьОбъект(парам);
  конец; 
  ЛицСчета := СоздатьСтатическиеДанные;
  попытка
    ЛицСчета.Запрос := '[PumpData]'+нстр
                     + '{select fac.id ID'+нстр
                     + 'from'+нстр
                     + '  FacialAcc_Cls fac'+нстр
                     + 'where (1 = 1) '+Стр+Ограничение("ЛицСчет=fac.id", Коллекция)+'}';
    ЛицСчета.СоединитьБД;
    ЛицСчета.Открыть;
    Стр := GetLimitStr(ЛицСчета, 'ID');
    если (Стр = '') тогда
      ВызватьОшибку('Был выбран лицевой счет, неподходящий по характеру');
    Стр := '='+ЗаменитьСтроку(Стр, ',', ',=');
    Стр := AndLimits(Стр, Стр, МаскаКлассификатора(тк_ЛицСчет)); //оптимизируем список
    Коллекция.Значение("ЛицСчет") := Стр;
  обязательно
    УдалитьОбъект(ЛицСчета);
  конец;
конец;
</value>
    <param value="МакросОграниченияПоПравам.abl" type="3" name="Export">MITROFANOV\mitrofanov\09.12.2011 17:05:55</param>
    <param value="МакросОграниченияПоПравам.abl" type="3" name="version">36.041.60</param>
    <param value="МакросОграниченияПоПравам.abl" type="3" name="crc32">$AD527188</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжегодные">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("С начала года по","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "3";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжегодные" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:19:33</param>
    <param value="ОграниченияЕжегодные" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжегодные" type="3" name="crc32">$81290237</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжедневные">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("Дата","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "0";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжедневные" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:19:36</param>
    <param value="ОграниченияЕжедневные" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжедневные" type="3" name="crc32">$F5966123</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжедневныеБУ_АУ_ОМС">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("Дата","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "0";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
  НаложитьОграниченияПоХарактеруЛС(Коллекция, "лс_БУ_АУ=1,лс_ОтдельныйБУ_АУ=1,лс_ОМС=1");
конец;
</value>
    <param value="ОграниченияЕжедневныеБУ_АУ_ОМС" type="3" name="Export">MITROFANOV\mitrofanov\09.12.2011 17:06:02</param>
    <param value="ОграниченияЕжедневныеБУ_АУ_ОМС" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжедневныеБУ_АУ_ОМС" type="3" name="crc32">$110E30C6</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжедневныеБюджет">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("Дата","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "0";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  Коллекция.Значение("ТипДеятельности") := "1";
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжедневныеБюджет" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:19:44</param>
    <param value="ОграниченияЕжедневныеБюджет" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжедневныеБюджет" type="3" name="crc32">$7B6DB0FA</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжедневныеВнебюджет">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("Дата","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "0";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  Коллекция.Значение("ТипДеятельности") := "2";
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжедневныеВнебюджет" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:19:47</param>
    <param value="ОграниченияЕжедневныеВнебюджет" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжедневныеВнебюджет" type="3" name="crc32">$89CC9556</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжедневныеСВР">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("Дата","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "0";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  Коллекция.Значение("ТипДеятельности") := "3";
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжедневныеСВР" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:19:50</param>
    <param value="ОграниченияЕжедневныеСВР" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжедневныеСВР" type="3" name="crc32">$6E83740D</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжемесячные">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("С начала месяца по","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "1";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжемесячные" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:19:54</param>
    <param value="ОграниченияЕжемесячные" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжемесячные" type="3" name="crc32">$26601EE9</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжемесячныеБУ_АУ_ОМС">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("С начала месяца по","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "1";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
  НаложитьОграниченияПоХарактеруЛС(Коллекция, "лс_БУ_АУ=1,лс_ОтдельныйБУ_АУ=1,лс_ОМС=1");
конец;
</value>
    <param value="ОграниченияЕжемесячныеБУ_АУ_ОМС" type="3" name="Export">MITROFANOV\mitrofanov\09.12.2011 17:38:42</param>
    <param value="ОграниченияЕжемесячныеБУ_АУ_ОМС" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжемесячныеБУ_АУ_ОМС" type="3" name="crc32">$9582C021</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжемесячныеБюджет">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("С начала месяца по","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "1";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  Коллекция.Значение("ТипДеятельности") := "1";
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжемесячныеБюджет" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:19:57</param>
    <param value="ОграниченияЕжемесячныеБюджет" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжемесячныеБюджет" type="3" name="crc32">$A37910C9</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжемесячныеВнебюджет">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("С начала месяца по","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "1";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  Коллекция.Значение("ТипДеятельности") := "2";
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжемесячныеВнебюджет" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:20:00</param>
    <param value="ОграниченияЕжемесячныеВнебюджет" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжемесячныеВнебюджет" type="3" name="crc32">$51D83565</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияЕжемесячныеСВР">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("С начала месяца по","Дата",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "1";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("ОднаДата") := ПроверкаДаты(Диалог.Значение("Дата"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  Коллекция.Значение("ТипДеятельности") := "3";
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияЕжемесячныеСВР" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:20:04</param>
    <param value="ОграниченияЕжемесячныеСВР" type="3" name="version">36.041.60</param>
    <param value="ОграниченияЕжемесячныеСВР" type="3" name="crc32">$B697D43E</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения">
    <value type="7" name="ОграниченияПериод">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Control.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Скрипты\Ограничения\МакросОграниченияПоПравам.abl";

Событие(Коллекция: IVariables);
функция ПроверкаДаты(стр: Строка): Строка;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := вр;

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 2) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  пока (Длина(вр) &lt;&gt; 4) делать
    вр := '0'+вр;
  результат := результат+'.'+вр;
конец;

переменные
  Стр: Строка;
  ОбщиеОграничения: ISharedParams;
начало
  ОбщиеОграничения := SharedParams;
  Диалог.Очистить;
  Диалог.Добавить("Дата с","ДатаС",0,Календарь,"99.99.9999","");
  Диалог.Добавить("Дата по","ДатаПо",0,Календарь,"99.99.9999","");
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет",тк_ЛицСчет,0,0);
  Диалог.Добавить("Примечания","СохрПримечания",0,0,"","");
  Диалог.Значение("ДатаС") := ДатаВСтроку(ТекущаяДата);
  Диалог.Значение("ДатаПо") := ДатаВСтроку(ТекущаяДата);
  если ОбщиеОграничения.Param("ЛицСчет").Enabled
  тогда начало
    Стр := УбратьПробелы(ОбщиеОграничения.Param("ЛицСчет").Value);
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0)
    тогда начало
      Диалог.Параметр(тк_ЛицСчет).ТолькоЧтение := да;
      Диалог.Параметр(тк_ЛицСчет).Маска := "";
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := да;
    конец
    иначе начало
      Диалог.Значение(тк_ЛицСчет) := Стр;
      Диалог.Параметр(тк_ЛицСчет).Флаг := ОбщиеОграничения.Param("ЛицСчет").Checked;
    конец;
  конец;
  если не Диалог.Выполнить
  тогда ВызватьОшибку('Операция прервана пользователем');
  Коллекция.Значение("ВариантНачалаПериода") := "0";
  Коллекция.Значение("ВариантКонцаПериода") := "0";
  Коллекция.Значение("НачальнаяДата") := ПроверкаДаты(Диалог.Значение("ДатаС"));
  Коллекция.Значение("КонечнаяДата") := ПроверкаДаты(Диалог.Значение("ДатаПо"));
  Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
  если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
  начало
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
    Коллекция.Значение("ЛицСчетЧек") := нет;
  конец
  иначе
    Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
  Коллекция.Значение("ЛицСчет") := Стр;
  Коллекция.Значение("SaveNote") := Диалог.Значение("СохрПримечания");
  НаложитьОграниченияПоПравам(Коллекция, ОбщиеОграничения);
конец;
</value>
    <param value="ОграниченияПериод" type="3" name="Export">MITROFANOV\mitrofanov\10.05.2011 17:20:07</param>
    <param value="ОграниченияПериод" type="3" name="version">36.041.60</param>
    <param value="ОграниченияПериод" type="3" name="crc32">$3657624F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Панели\ПанельМассоваяРассылка">
    <value type="3" name="Набор картинок">16на16</value>
    <node path="МассоваяРассылка">
      <value type="4" name="Видимость">1</value>
      <value type="3" name="Выпадающее меню">МенюМассоваяРассылка</value>
      <value type="3" name="Действие">ДобавлениеФайлов</value>
      <value type="3" name="Картинка">ЗагрузкаДокумента</value>
      <value type="3" name="Стиль">Меню</value>
      <value type="3" name="Хинт">Рассылка произвольных файлов</value>
      <param value="Видимость" type="3" name="version">36.041.60</param>
      <param value="Выпадающее меню" type="3" name="version">36.041.60</param>
      <param value="Выпадающее меню" type="3" name="crc32">$7300B160</param>
      <param value="Действие" type="3" name="version">36.041.60</param>
      <param value="Действие" type="3" name="crc32">$E1A7DF0A</param>
      <param value="Картинка" type="3" name="version">36.041.60</param>
      <param value="Картинка" type="3" name="crc32">$D3855653</param>
      <param value="Стиль" type="3" name="version">36.041.60</param>
      <param value="Стиль" type="3" name="crc32">$2267114F</param>
      <param value="Хинт" type="3" name="version">36.041.60</param>
      <param value="Хинт" type="3" name="crc32">$BCAA72C9</param>
    </node>
    <param value="Набор картинок" type="3" name="version">36.041.60</param>
    <param value="Набор картинок" type="3" name="crc32">$65574240</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Выпадающие меню\МенюМассоваяРассылка">
    <value type="3" name="Набор картинок">16на16</value>
    <node path="Добавить файлы в массовую рассылку">
      <value type="3" name="Действие">ДобавлениеФайлов</value>
      <value type="3" name="Картинка">ЗагрузкаДокумента</value>
      <param value="Действие" type="3" name="version">36.041.60</param>
      <param value="Действие" type="3" name="crc32">$E1A7DF0A</param>
      <param value="Картинка" type="3" name="version">36.041.60</param>
      <param value="Картинка" type="3" name="crc32">$D3855653</param>
    </node>
    <node path="Очистить каталог массовой рассылки">
      <value type="3" name="Действие">ОчисткаКаталогов</value>
      <value type="3" name="Картинка">Корзина</value>
      <param value="Действие" type="3" name="version">36.041.60</param>
      <param value="Действие" type="3" name="crc32">$278FDF55</param>
      <param value="Картинка" type="3" name="version">36.041.60</param>
      <param value="Картинка" type="3" name="crc32">$AB947D2A</param>
    </node>
    <node path="Добавить файлы для заданного л/с">
      <value type="3" name="Действие">ДобавлениеФайловЛС</value>
      <param value="Действие" type="3" name="version">36.041.60</param>
      <param value="Действие" type="3" name="crc32">$35592AAF</param>
    </node>
    <node path="Просмотреть файлы для заданного л/с">
      <value type="3" name="Действие">ПросмотрФайловЛС</value>
      <param value="Действие" type="3" name="version">36.041.60</param>
      <param value="Действие" type="3" name="crc32">$A7B806FF</param>
    </node>
    <node path="Добавить файлы для множества л/с">
      <value type="3" name="Действие">ДобавлениеФайловМножЛС</value>
      <param value="Действие" type="3" name="version">36.041.60</param>
      <param value="Действие" type="3" name="crc32">$26D9FBBA</param>
    </node>
    <param value="Набор картинок" type="3" name="version">36.041.60</param>
    <param value="Набор картинок" type="3" name="crc32">$65574240</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Действия\ДобавлениеФайлов">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Ресурсы\библиотеки\SysUtils.lib";

функция ПреобразоватьДатуВЦелое(стр: Строка): Целое;
переменные
  вр: Строка;
начало
  результат := 0;
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр);

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 100;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 10000;
конец;

функция КопироватьФайлСПодтверждением(откуда, куда: строка);
начало
  если не FileExists(куда) тогда
  начало
    если не CopyFile(откуда, куда, да) тогда
      Сообщение('Не удалось скопировать файл: "' + откуда + '" в "' + куда + '"', Сообщение_Предупреждение);
  конец
  иначе
    если Сообщение('Файл "' + куда + '" уже существует.'#13#10'Заменить его файлом "' + откуда + '"?', Сообщение_Вопрос, Кнопка_Да+Кнопка_Нет) = Результат_Да тогда
    начало
      FileSetAttr(куда, 0); //снимаем защиту от изменения
      DeleteFile(куда);
      если не CopyFile(откуда, куда, да) тогда
        Сообщение('Не удалось скопировать файл: "' + откуда + '" в "' + куда + '"', Сообщение_Предупреждение);
    конец;
конец;

переменные
  ОбщиеОграничения: ISharedParams;
  ТипПакета: целое;
  ПакетыПроизвольныхФайлов: СтатическиеДанные;
  Путь: строка;
  СписокФайлов: Текст;
  инд: целое;
начало
  ОбщиеОграничения := SharedParams;
  ТипПакета := ОбщиеОграничения.Param("@ТипПакета").Result;
  если ТипПакета &lt; 0 тогда
    ВызватьОшибку("Тип пакета не выбран");

  ПакетыПроизвольныхФайлов := СоздатьСтатическиеДанные;
  ПакетыПроизвольныхФайлов.СоединитьБД;
  ПакетыПроизвольныхФайлов.Запрос :=
    "[PumpData]" +
    "{select" +
    "   dpc.id, dpc.GenerationTemplate" +
    " from" +
    "   DataPacketContent dpc" +
    " where" +
    "   (dpc.DataPacketType = " + ЦелоеВСтроку(ТипПакета) + ") and" +
    "   (UPPER(dpc.CreatingScriptName) = UPPER('СозданиеЛюбыеФайлы')) and" +
    "   (dpc.GenerationTemplate is not null)}";
  ПакетыПроизвольныхФайлов.Открыть;
  если ПакетыПроизвольныхФайлов.ЧислоЗаписей = 0 тогда
    ВызватьОшибку('В пакете с типом "' + Формат("%.3d", ТипПакета) + '" нет секций с указанием пути к каталогу произвольных данных');
  ПакетыПроизвольныхФайлов.ВНачало;
  Путь := ПакетыПроизвольныхФайлов.ПолеПоИмени('GenerationTemplate').КакСтрока;
  если (Путь[Длина(Путь)] &lt;&gt; "\") и (Путь[Длина(Путь)] &lt;&gt; "/") тогда
    Путь := Путь + "\";
  если не DirectoryExists(Путь) тогда
    ВызватьОшибку('Не найден каталог для секции произвольных данных: "'+Путь+'"');

  Диалог.Очистить;
  Диалог.Заголовок := "Добавить файлы в массовую рассылку";
  Диалог.Добавить("Дата", "Дата", 0, Календарь, "99.99.9999", "");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  Диалог.Добавить("Каталог получателя", "Каталог", 0, ТолькоЧтение + Список, "", "Всем"#10"ГРБС"#10"ПБС");
  Диалог.Значение("Каталог") := "Всем";
  Диалог.Добавить("Выбрать файлы", "ИмяФайла", 0, пСписокФайлов, "", "");
  если Диалог.Выполнить тогда
  начало
    Путь := Путь + ЦелоеВСтроку(ПреобразоватьДатуВЦелое(Диалог.Значение("Дата"))) + "\Массовые\";
    если (УбратьПробелы(Диалог.Значение("Каталог")) &lt;&gt; "Всем") тогда
      Путь := Путь + УбратьПробелы(Диалог.Значение("Каталог")) + "\";
    если не DirectoryExists(Путь) тогда
    начало
      ForceDirectories(Путь);
      если не DirectoryExists(Путь) тогда
        ВызватьОшибку('Не удалось создать каталог: "' + Путь + '"');
    конец;
    СписокФайлов := СоздатьТекст;
    СписокФайлов.РазделенноеЗначение(',') := Диалог.Значение("ИмяФайла");
    от инд := 0 до СписокФайлов.Количество - 1 делать
      КопироватьФайлСПодтверждением(СписокФайлов.стр(инд), Путь + ExtractFileName(СписокФайлов.стр(инд)));
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">MITROFANOV\mitrofanov\01.02.2010 16:55:30</param>
    <value type="4" name="Отладка">0</value>
    <param value="Код программы" type="3" name="version">36.041.60</param>
    <param value="Код программы" type="3" name="crc32">$4B742EB2</param>
    <param value="Отладка" type="3" name="version">36.041.60</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Действия\ДобавлениеФайловЛС">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Ресурсы\библиотеки\SysUtils.lib";

константы
  faReadOnly  = 1;
  faHidden    = 2;
  faSysFile   = 4;
  faVolumeID  = 8;
  faDirectory = 16;
  faArchive   = 32;
  faAnyFile   = 63;

  ПутьКНастройкам = "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Настройки";

функция ПреобразоватьДатуВЦелое(стр: Строка): Целое;
переменные
  вр: Строка;
начало
  результат := 0;
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр);

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 100;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 10000;
конец;

функция ПреобразоватьЛСВЦелое(стр: Строка): Целое;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(ЗаменитьСтроку(стр, '.', ''));
  если (вр = '')
  тогда ВызватьОшибку('Не задан л/с');
  результат := СтрокаВЦелое(стр);
конец;

функция КопироватьФайлСПодтверждением(откуда, куда: строка);
начало
  если не FileExists(куда) тогда
  начало
    если не CopyFile(откуда, куда, да) тогда
      Сообщение('Не удалось скопировать файл: "' + откуда + '" в "' + куда + '"', Сообщение_Предупреждение);
  конец
  иначе
    если Сообщение('Файл "' + куда + '" уже существует.'#13#10'Заменить его файлом "' + откуда + '"?', Сообщение_Вопрос, Кнопка_Да+Кнопка_Нет) = Результат_Да тогда
    начало
      FileSetAttr(куда, 0); //снимаем защиту от изменения
      DeleteFile(куда);
      если не CopyFile(откуда, куда, да) тогда
        Сообщение('Не удалось скопировать файл: "' + откуда + '" в "' + куда + '"', Сообщение_Предупреждение);
    конец;
конец;

функция УдалитьВсеФайлы(Путь: строка);
переменные
  ИмяФайла: строка;
  Удачно: целое;
начало
  ИмяФайла := "";
  Удачно := FindFirst(Путь+"*", faAnyFile-faDirectory-faVolumeID, ИмяФайла);
  пока Удачно делать
  начало
    FileSetAttr(Путь + ИмяФайла, 0); //снимаем защиту от изменения
    DeleteFile(Путь + ИмяФайла);
    если FileExists(Путь + ИмяФайла) тогда
      Сообщение('Не удалось удалить файл: "' + Путь + ИмяФайла + '"', Сообщение_Предупреждение);
    ИмяФайла := "";
    Удачно := FindNext(ИмяФайла);
  конец;
  FindClose;
конец;

функция ПолучитьОчиститьКаталогПоУмолчанию: целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := нет;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение("ОчиститьКаталогПоУмолчанию").Существует тогда
    попытка
      результат := УзелСНастройками.Значение("ОчиститьКаталогПоУмолчанию").КакЦелое;
    неудача
    конец;
конец;

переменные
  ОбщиеОграничения: ISharedParams;
  ТипПакета: целое;
  ПакетыПроизвольныхФайлов: СтатическиеДанные;
  Путь: строка;
  СписокФайлов: Текст;
  инд: целое;
начало
  ОбщиеОграничения := SharedParams;
  ТипПакета := ОбщиеОграничения.Param("@ТипПакета").Result;
  если ТипПакета &lt; 0 тогда
    ВызватьОшибку("Тип пакета не выбран");

  ПакетыПроизвольныхФайлов := СоздатьСтатическиеДанные;
  ПакетыПроизвольныхФайлов.СоединитьБД;
  ПакетыПроизвольныхФайлов.Запрос :=
    "[PumpData]" +
    "{select" +
    "   dpc.id, dpc.GenerationTemplate" +
    " from" +
    "   DataPacketContent dpc" +
    " where" +
    "   (dpc.DataPacketType = " + ЦелоеВСтроку(ТипПакета) + ") and" +
    "   (UPPER(dpc.CreatingScriptName) = UPPER('СозданиеЛюбыеФайлы')) and" +
    "   (dpc.GenerationTemplate is not null)}";
  ПакетыПроизвольныхФайлов.Открыть;
  если ПакетыПроизвольныхФайлов.ЧислоЗаписей = 0 тогда
    ВызватьОшибку('В пакете с типом "' + Формат("%.3d", ТипПакета) + '" нет секций с указанием пути к каталогу произвольных данных');
  ПакетыПроизвольныхФайлов.ВНачало;
  Путь := ПакетыПроизвольныхФайлов.ПолеПоИмени('GenerationTemplate').КакСтрока;
  если (Путь[Длина(Путь)] &lt;&gt; "\") и (Путь[Длина(Путь)] &lt;&gt; "/") тогда
    Путь := Путь + "\";
  если не DirectoryExists(Путь) тогда
    ВызватьОшибку('Не найден каталог для секции произвольных данных: "'+Путь+'"');

  Диалог.Очистить;
  Диалог.Заголовок := "Добавить файлы для заданного л/с";
  Диалог.Добавить("Дата", "Дата", 0, Календарь, "99.99.9999", "");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  Диалог.ДобавитьКлассификатор("Лицевой счет", тк_ЛицСчет, 0);
  Диалог.Добавить("Выбрать файлы", "ИмяФайла", 0, пСписокФайлов, "", "");
  Диалог.Добавить("Очистить каталог перед прикреплением документов", "ОчиститьФлаг", 0, Проверка+ТолькоЧтение, "", "");
  Диалог.Флаг("ОчиститьФлаг") := ПолучитьОчиститьКаталогПоУмолчанию;
  если Диалог.Выполнить тогда
  начало
    Путь := Путь + ЦелоеВСтроку(ПреобразоватьДатуВЦелое(Диалог.Значение("Дата"))) + "\" +
            ЦелоеВСтроку(ПреобразоватьЛСВЦелое(Диалог.Значение(тк_ЛицСчет))) + "\";
    если не DirectoryExists(Путь) тогда
    начало
      ForceDirectories(Путь);
      если не DirectoryExists(Путь) тогда
        ВызватьОшибку('Не удалось создать каталог: "' + Путь + '"');
    конец
    иначе
      если Диалог.Флаг("ОчиститьФлаг") тогда
        УдалитьВсеФайлы(Путь);
    СписокФайлов := СоздатьТекст;
    СписокФайлов.РазделенноеЗначение(',') := Диалог.Значение("ИмяФайла");
    от инд := 0 до СписокФайлов.Количество - 1 делать
      КопироватьФайлСПодтверждением(СписокФайлов.стр(инд), Путь + ExtractFileName(СписокФайлов.стр(инд)));
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">MITROFANOV\mitrofanov\21.09.2010 16:53:38</param>
    <param value="Код программы" type="3" name="version">36.041.60</param>
    <param value="Код программы" type="3" name="crc32">$D9097A3C</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Действия\ДобавлениеФайловМножЛС">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Ресурсы\библиотеки\SysUtils.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';

константы
  faReadOnly  = 1;
  faHidden    = 2;
  faSysFile   = 4;
  faVolumeID  = 8;
  faDirectory = 16;
  faArchive   = 32;
  faAnyFile   = 63;

  ПутьКНастройкам = "Бюджет\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Настройки";
  нстр = #13#10;

функция ПреобразоватьДатуВЦелое(стр: Строка): Целое;
переменные
  вр: Строка;
начало
  результат := 0;
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр);

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 100;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 10000;
конец;

функция ПреобразоватьЛСВЦелое(стр: Строка): Целое;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(ЗаменитьСтроку(стр, '.', ''));
  если (вр = '')
  тогда ВызватьОшибку('Не задан л/с');
  результат := СтрокаВЦелое(стр);
конец;

функция КопироватьФайлСПодтверждением(откуда, куда: строка);
начало
  если не FileExists(куда) тогда
  начало
    если не CopyFile(откуда, куда, да) тогда
      Сообщение('Не удалось скопировать файл: "' + откуда + '" в "' + куда + '"', Сообщение_Предупреждение);
  конец
  иначе
    если Сообщение('Файл "' + куда + '" уже существует.'#13#10'Заменить его файлом "' + откуда + '"?', Сообщение_Вопрос, Кнопка_Да+Кнопка_Нет) = Результат_Да тогда
    начало
      FileSetAttr(куда, 0); //снимаем защиту от изменения
      DeleteFile(куда);
      если не CopyFile(откуда, куда, да) тогда
        Сообщение('Не удалось скопировать файл: "' + откуда + '" в "' + куда + '"', Сообщение_Предупреждение);
    конец;
конец;

функция УдалитьВсеФайлы(Путь: строка);
переменные
  ИмяФайла: строка;
  Удачно: целое;
начало
  ИмяФайла := "";
  Удачно := FindFirst(Путь+"*", faAnyFile-faDirectory-faVolumeID, ИмяФайла);
  пока Удачно делать
  начало
    FileSetAttr(Путь + ИмяФайла, 0); //снимаем защиту от изменения
    DeleteFile(Путь + ИмяФайла);
    если FileExists(Путь + ИмяФайла) тогда
      Сообщение('Не удалось удалить файл: "' + Путь + ИмяФайла + '"', Сообщение_Предупреждение);
    ИмяФайла := "";
    Удачно := FindNext(ИмяФайла);
  конец;
  FindClose;
конец;

функция ПолучитьОчиститьКаталогДляМножПоУмолчанию: целое;
переменные
  УзелСНастройками: УзелРеестра;
начало
  результат := нет;
  УзелСНастройками := Реестр.Узел(ПутьКНастройкам);
  если УзелСНастройками.Значение("ОчиститьКаталогДляМножПоУмолчанию").Существует тогда
    попытка
      результат := УзелСНастройками.Значение("ОчиститьКаталогДляМножПоУмолчанию").КакЦелое;
    неудача
    конец;
конец;

функция ПолучитьСписокЛС(ТипПакета: целое): СтатическиеДанные;
переменные
  Коллекция: IVariables;
  Стр: строка;
начало
  Коллекция := СоздатьКоллекцию;
  попытка
    Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет));
    если (Позиция(",", Стр) &gt; 0) или (Позиция("-", Стр) &gt; 0) тогда
    начало
      Стр := УбратьПробелы(Диалог.Значение(тк_ЛицСчет+"_MultiCls"));
      Коллекция.Значение("ЛицСчетЧек") := нет;
    конец
    иначе
      Коллекция.Значение("ЛицСчетЧек") := Диалог.Параметр(тк_ЛицСчет).Флаг;
    Коллекция.Значение("ЛицСчет") := Стр;
    Стр := 'and (redsr.DataPacketType = ' + ЦелоеВСтроку(ТипПакета) + ') '
         + Ограничение("ЛицСчет=fac.id", Коллекция);
  обязательно
    УдалитьОбъект(Коллекция);
  конец;
  результат := СоздатьСтатическиеДанные;
  результат.Запрос := '[PumpData]'+нстр
                    + '{select fac.id ID'+нстр
                    + 'from'+нстр
                    + '  FacialAcc_Cls fac'+нстр
                    + '  inner join RemoteEDSRight redsr on'+нстр
                    + '    ('+нстр
                    + '      (redsr.RightType = 0) and ('+нстр
                    + '        ((redsr.ARecursive = 0) and (fac.id = redsr.FacialAccCls)) or'+нстр
                    + '        ((redsr.ARecursive &lt;&gt; 0) and (fac.id between redsr.FacialAccCls and redsr.FacialAccClsUp))'+нстр
                    + '      )'+нстр
                    + '    )'+нстр
                    + 'where (1 = 1) '+Стр+'}';
  результат.СоединитьБД;
  результат.Открыть;
конец;

переменные
  ОбщиеОграничения: ISharedParams;
  ТипПакета: целое;
  ПакетыПроизвольныхФайлов: СтатическиеДанные;
  Путь, БазовыйПуть: строка;
  СписокФайлов: Текст;
  инд: целое;
  ЛицСчета: СтатическиеДанные;
начало
  ОбщиеОграничения := SharedParams;
  ТипПакета := ОбщиеОграничения.Param("@ТипПакета").Result;
  если ТипПакета &lt; 0 тогда
    ВызватьОшибку("Тип пакета не выбран");

  ПакетыПроизвольныхФайлов := СоздатьСтатическиеДанные;
  ПакетыПроизвольныхФайлов.СоединитьБД;
  ПакетыПроизвольныхФайлов.Запрос :=
    "[PumpData]" +
    "{select" +
    "   dpc.id, dpc.GenerationTemplate" +
    " from" +
    "   DataPacketContent dpc" +
    " where" +
    "   (dpc.DataPacketType = " + ЦелоеВСтроку(ТипПакета) + ") and" +
    "   (UPPER(dpc.CreatingScriptName) = UPPER('СозданиеЛюбыеФайлы')) and" +
    "   (dpc.GenerationTemplate is not null)}";
  ПакетыПроизвольныхФайлов.Открыть;
  если ПакетыПроизвольныхФайлов.ЧислоЗаписей = 0 тогда
    ВызватьОшибку('В пакете с типом "' + Формат("%.3d", ТипПакета) + '" нет секций с указанием пути к каталогу произвольных данных');
  ПакетыПроизвольныхФайлов.ВНачало;
  Путь := ПакетыПроизвольныхФайлов.ПолеПоИмени('GenerationTemplate').КакСтрока;
  если (Путь[Длина(Путь)] &lt;&gt; "\") и (Путь[Длина(Путь)] &lt;&gt; "/") тогда
    Путь := Путь + "\";
  если не DirectoryExists(Путь) тогда
    ВызватьОшибку('Не найден каталог для секции произвольных данных: "'+Путь+'"');

  Диалог.Очистить;
  Диалог.Заголовок := "Добавить файлы для множества л/с";
  Диалог.Добавить("Дата", "Дата", 0, Календарь, "99.99.9999", "");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  Диалог.ДобавитьМультиКлассификатор("Лицевой счет", тк_ЛицСчет, 0);
  Диалог.Добавить("Выбрать файлы", "ИмяФайла", 0, пСписокФайлов, "", "");
  Диалог.Добавить("Очистить каталог перед прикреплением документов", "ОчиститьФлаг", 0, Проверка+ТолькоЧтение, "", "");
  Диалог.Флаг("ОчиститьФлаг") := ПолучитьОчиститьКаталогДляМножПоУмолчанию;
  если Диалог.Выполнить тогда
  начало
    БазовыйПуть := Путь + ЦелоеВСтроку(ПреобразоватьДатуВЦелое(Диалог.Значение("Дата"))) + "\";
    если (УбратьПробелы(ЗаменитьСтроку(Диалог.Значение(тк_ЛицСчет), '.', '')) = '') тогда
      ВызватьОшибку('Не задан л/с');
    ЛицСчета := ПолучитьСписокЛС(ТипПакета);
    попытка
      если (ЛицСчета.ЧислоЗаписей = 0) тогда
        ВызватьОшибку('Был выбран лицевой счет, для которого не заданы права на формирование с данным типом пакета');
      ЛицСчета.ВНачало;
      пока не ЛицСчета.ВКонце делать
      начало
        Путь := БазовыйПуть + ЦелоеВСтроку(ЛицСчета.ПолеПоИмени("ID").КакЦелое) + "\";
        если не DirectoryExists(Путь) тогда
        начало
          ForceDirectories(Путь);
          если не DirectoryExists(Путь) тогда
            ВызватьОшибку('Не удалось создать каталог: "' + Путь + '"');
        конец
        иначе
          если Диалог.Флаг("ОчиститьФлаг") тогда
            УдалитьВсеФайлы(Путь);
        СписокФайлов := СоздатьТекст;
        СписокФайлов.РазделенноеЗначение(',') := Диалог.Значение("ИмяФайла");
        от инд := 0 до СписокФайлов.Количество - 1 делать
          КопироватьФайлСПодтверждением(СписокФайлов.стр(инд), Путь + ExtractFileName(СписокФайлов.стр(инд)));
        ЛицСчета.Следующая;
      конец;
    обязательно
      УдалитьОбъект(ЛицСчета);
    конец;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">MITROFANOV\mitrofanov\19.12.2011 17:52:08</param>
    <param value="Код программы" type="3" name="version">36.041.60</param>
    <param value="Код программы" type="3" name="crc32">$7F1DAB5F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Действия\ОчисткаКаталогов">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Ресурсы\библиотеки\SysUtils.lib";

константы
  faReadOnly  = 1;
  faHidden    = 2;
  faSysFile   = 4;
  faVolumeID  = 8;
  faDirectory = 16;
  faArchive   = 32;
  faAnyFile   = 63;

функция ПреобразоватьДатуВЦелое(стр: Строка): Целое;
переменные
  вр: Строка;
начало
  результат := 0;
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр);

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 100;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 10000;
конец;

функция УдалитьФайлФорсированно(путь: строка);
начало
  FileSetAttr(путь, 0); //снимаем защиту от изменения
  DeleteFile(путь);
  если FileExists(путь) тогда
    Сообщение('Не удалось удалить файл: "' + путь + '"', Сообщение_Предупреждение);
конец;

функция ОчиститьКаталог(каталог: строка);
переменные
  ИмяФайла:строка;
  Удачно:целое;
начало
  если (каталог[Длина(каталог)] &lt;&gt; "\") и (каталог[Длина(каталог)] &lt;&gt; "/") тогда
    каталог := каталог + "\";

  ИмяФайла := "";
  Удачно := FindFirst(каталог + "*", faAnyFile-faDirectory-faVolumeID, ИмяФайла);
  пока Удачно делать
  начало
    УдалитьФайлФорсированно(каталог + ИмяФайла);
    ИмяФайла := "";
    Удачно := FindNext(ИмяФайла);
  конец;
  FindClose;
конец;

переменные
  ОбщиеОграничения: ISharedParams;
  ТипПакета: целое;
  ПакетыПроизвольныхФайлов: СтатическиеДанные;
  Путь: строка;
начало
  ОбщиеОграничения := SharedParams;
  ТипПакета := ОбщиеОграничения.Param("@ТипПакета").Result;
  если ТипПакета &lt; 0 тогда
    ВызватьОшибку("Тип пакета не выбран");

  ПакетыПроизвольныхФайлов := СоздатьСтатическиеДанные;
  ПакетыПроизвольныхФайлов.СоединитьБД;
  ПакетыПроизвольныхФайлов.Запрос :=
    "[PumpData]" +
    "{select" +
    "   dpc.id, dpc.GenerationTemplate" +
    " from" +
    "   DataPacketContent dpc" +
    " where" +
    "   (dpc.DataPacketType = " + ЦелоеВСтроку(ТипПакета) + ") and" +
    "   (UPPER(dpc.CreatingScriptName) = UPPER('СозданиеЛюбыеФайлы')) and" +
    "   (dpc.GenerationTemplate is not null)}";
  ПакетыПроизвольныхФайлов.Открыть;
  если ПакетыПроизвольныхФайлов.ЧислоЗаписей = 0 тогда
    ВызватьОшибку('В пакете с типом "' + Формат("%.3d", ТипПакета) + '" нет секций с указанием пути к каталогу произвольных данных');
  ПакетыПроизвольныхФайлов.ВНачало;
  Путь := ПакетыПроизвольныхФайлов.ПолеПоИмени('GenerationTemplate').КакСтрока;
  если (Путь[Длина(Путь)] &lt;&gt; "\") и (Путь[Длина(Путь)] &lt;&gt; "/") тогда
    Путь := Путь + "\";

  Диалог.Очистить;
  Диалог.Заголовок := "Очистить каталог массовой рассылки";
  Диалог.Добавить("Дата", "Дата", 0, Календарь, "99.99.9999", "");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  Диалог.Добавить("Каталог получателя", "Каталог", 0, ТолькоЧтение + Список, "", "Всем+ГРБС+ПБС"#10"Всем"#10"ГРБС"#10"ПБС");
  Диалог.Значение("Каталог") := "Всем+ГРБС+ПБС";
  если Диалог.Выполнить тогда
  начало
    Путь := Путь + ЦелоеВСтроку(ПреобразоватьДатуВЦелое(Диалог.Значение("Дата"))) + "\Массовые\";
    если (УбратьПробелы(Диалог.Значение("Каталог")) = "Всем+ГРБС+ПБС") тогда
    начало
      ОчиститьКаталог(Путь);
      ОчиститьКаталог(Путь + "ГРБС");
      ОчиститьКаталог(Путь + "ПБС");
    конец
    иначе
      если (УбратьПробелы(Диалог.Значение("Каталог")) = "Всем") тогда
        ОчиститьКаталог(Путь)
      иначе
        ОчиститьКаталог(Путь + УбратьПробелы(Диалог.Значение("Каталог")));
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">MITROFANOV\mitrofanov\01.02.2010 16:55:26</param>
    <value type="4" name="Отладка">0</value>
    <param value="Код программы" type="3" name="version">36.041.60</param>
    <param value="Код программы" type="3" name="crc32">$7B08DAC6</param>
    <param value="Отладка" type="3" name="version">36.041.60</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{10D4A45C-7F3B-4C01-9524-8B1759D0310D}\Действия\ПросмотрФайловЛС">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\SharedParams.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Ресурсы\библиотеки\SysUtils.lib";

функция ПреобразоватьДатуВЦелое(стр: Строка): Целое;
переменные
  вр: Строка;
начало
  результат := 0;
  вр := УбратьПробелы(Подстрока(стр,1,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр);

  вр := УбратьПробелы(Подстрока(стр,4,2));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 100;

  вр := УбратьПробелы(Подстрока(стр,7,4));
  если (вр = '')
  тогда ВызватьОшибку('Некорректная дата');
  результат := результат + СтрокаВЦелое(вр) * 10000;
конец;

функция ПреобразоватьЛСВЦелое(стр: Строка): Целое;
переменные
  вр: Строка;
начало
  вр := УбратьПробелы(ЗаменитьСтроку(стр, '.', ''));
  если (вр = '')
  тогда ВызватьОшибку('Не задан л/с');
  результат := СтрокаВЦелое(стр);
конец;

функция КопироватьФайлСПодтверждением(откуда, куда: строка);
начало
  если не FileExists(куда) тогда
  начало
    если не CopyFile(откуда, куда, да) тогда
      Сообщение('Не удалось скопировать файл: "' + откуда + '" в "' + куда + '"', Сообщение_Предупреждение);
  конец
  иначе
    если Сообщение('Файл "' + куда + '" уже существует.'#13#10'Заменить его файлом "' + откуда + '"?', Сообщение_Вопрос, Кнопка_Да+Кнопка_Нет) = Результат_Да тогда
    начало
      FileSetAttr(куда, 0); //снимаем защиту от изменения
      DeleteFile(куда);
      если не CopyFile(откуда, куда, да) тогда
        Сообщение('Не удалось скопировать файл: "' + откуда + '" в "' + куда + '"', Сообщение_Предупреждение);
    конец;
конец;

переменные
  ОбщиеОграничения: ISharedParams;
  ТипПакета: целое;
  ПакетыПроизвольныхФайлов: СтатическиеДанные;
  Путь: строка;
начало
  ОбщиеОграничения := SharedParams;
  ТипПакета := ОбщиеОграничения.Param("@ТипПакета").Result;
  если ТипПакета &lt; 0 тогда
    ВызватьОшибку("Тип пакета не выбран");

  ПакетыПроизвольныхФайлов := СоздатьСтатическиеДанные;
  ПакетыПроизвольныхФайлов.СоединитьБД;
  ПакетыПроизвольныхФайлов.Запрос :=
    "[PumpData]" +
    "{select" +
    "   dpc.id, dpc.GenerationTemplate" +
    " from" +
    "   DataPacketContent dpc" +
    " where" +
    "   (dpc.DataPacketType = " + ЦелоеВСтроку(ТипПакета) + ") and" +
    "   (UPPER(dpc.CreatingScriptName) = UPPER('СозданиеЛюбыеФайлы')) and" +
    "   (dpc.GenerationTemplate is not null)}";
  ПакетыПроизвольныхФайлов.Открыть;
  если ПакетыПроизвольныхФайлов.ЧислоЗаписей = 0 тогда
    ВызватьОшибку('В пакете с типом "' + Формат("%.3d", ТипПакета) + '" нет секций с указанием пути к каталогу произвольных данных');
  ПакетыПроизвольныхФайлов.ВНачало;
  Путь := ПакетыПроизвольныхФайлов.ПолеПоИмени('GenerationTemplate').КакСтрока;
  если (Путь[Длина(Путь)] &lt;&gt; "\") и (Путь[Длина(Путь)] &lt;&gt; "/") тогда
    Путь := Путь + "\";
  если не DirectoryExists(Путь) тогда
    ВызватьОшибку('Не найден каталог для секции произвольных данных: "'+Путь+'"');

  Диалог.Очистить;
  Диалог.Заголовок := "Просмотреть файлы для заданного л/с";
  Диалог.Добавить("Дата", "Дата", 0, Календарь, "99.99.9999", "");
  Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
  Диалог.ДобавитьКлассификатор("Лицевой счет",тк_ЛицСчет,0);
  если Диалог.Выполнить тогда
  начало
    Путь := Путь + ЦелоеВСтроку(ПреобразоватьДатуВЦелое(Диалог.Значение("Дата"))) + "\" +
            ЦелоеВСтроку(ПреобразоватьЛСВЦелое(Диалог.Значение(тк_ЛицСчет))) + "\";
    если не DirectoryExists(Путь) тогда
      ВызватьОшибку('Не найден каталог: "' + Путь + '"');
    Выполнить('explorer.exe', Путь, 0);
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">MITROFANOV\mitrofanov\01.02.2010 16:55:19</param>
    <param value="Код программы" type="3" name="version">36.041.60</param>
    <param value="Код программы" type="3" name="crc32">$14C7BA0D</param>
  </node>
  <version_info>
    <file>УточнениеВидаПлатежа_новое.xml</file>
    <version>36.741.00</version>
    <info>&lt;p&gt;Полный набор ABL для интерфейса уведомления об уточнении вида платежа (кроме пакетной замены).&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:56</buildtime>
  </version_info>
  <description>АБЛ-макросы уведомления вида платежа</description>
  <script type="abl" exec="before">
  включить "\Библиотеки\LibRu.lib";
константы
  Версия=" 36.741.00  для 7.02";
переменные
  ЗначениеУзла: ЗначениеРеестра;
начало
  ЗначениеУзла := Реестр.Узел('Бюджет\Объекты\Настройки\Уведомление об уточнении\Версии').Значение('ВсеВерсии');
  Если ЗначениеУзла.КакСтрока='' 
    тогда ЗначениеУзла.КакСтрока := ТекущийПользователь+ '  ' + ДатаВСтроку(ТекущаяДата)+ '  '+ ВремяВСтроку(ТекущаяДата) +':  ' + Версия
    иначе ЗначениеУзла.КакСтрока := ЗначениеУзла.КакСтрока + #13#10 +  ТекущийПользователь+ '  ' + ДатаВСтроку(ТекущаяДата)+ '  '+ ВремяВСтроку(ТекущаяДата) +':  ' + Версия;
  ЗначениеУзла := Реестр.Узел('Бюджет\Объекты\Настройки\Уведомление об уточнении\Версии').Значение('Версия');
  ЗначениеУзла.КакСтрока := Версия+ '  установлена: '+ ДатаВСтроку(ТекущаяДата)+ '  '+ ВремяВСтроку(ТекущаяДата);
конец;
</script>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки">
    <value type="3" name="СписокКлассовИсключений" />
    <param value="СписокКлассовИсключений" type="3" name="version">36.741.00</param>
    <param value="СписокКлассовИсключений" type="3" name="crc32">$00000000</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\События">
    <value type="3" name="НаОперациюСТаблицей">ДиспетчерНаОперациюСТаблицей</value>
    <param value="НаОперациюСТаблицей" type="3" name="version">36.741.00</param>
    <param value="НаОперациюСТаблицей" type="3" name="crc32">$7DFFFBA9</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ДиспетчерНаПричинуОтклонения">
    <value type="3" name="Заголовок">Диспетчер на причину отклонения</value>
    <value type="7" name="код программы">ДиспетчерНаПричинуОтклонения(ПередСохранением: целое; Данные, Операция: Целое): Целое;
включить "Project";
включить "Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\НаИменениеПричиныОтклонения\Код программы";
начало
  Если ( (ПередСохранением = 1) и (Операция = 7) и (Данные = -1) ) тогда 
    НаИменениеПричиныОтклонения;
конец;
</value>
    <param value="код программы" type="3" name="Export">DJON2\egorbunov\15.03.2010 16:35:57</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$C139820C</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$CD7B9B11</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\НаИменениеПричиныОтклонения">
    <value type="3" name="Заголовок">НаИменениеПричиныОтклонения</value>
    <value type="7" name="код программы">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Output.lib';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';


включить 'Project';


функция ПолучитьЗапросДляСвязанныхДокументов : строка;
начало
  результат := "  [PUMPDATA]
                  {
                    Select distinct cor_c.docnumber  
                    From LinkRecords  lr
                    LEFT JOIN CorrectionCaption cor_c ON (cor_c.id =  lr.parentID) 
                    Where (lr.childID in(@ID)) and (cor_c.id &lt;&gt; @CorID)  and (cor_c.Reject_Cls is null)

                  }
               ";
конец;

функция ПолучитьЗапросПоискИсходных_ : строка;
переменные
  ПараметрЗапроса : строка; 
начало
  результат := "
               [PumpData]{
                 SELECT   @Field ChildId
                          
                 From LinkRecords lr
                   inner  JOIN LinkType lt ON (lt.id =  lr.LinkTypeRef)        
                 Where ( @Link = @IdCaption) and ( @LinkCLS like @Param ) 
                  }                
  
               ";
               
конец;

функция ПолучитьСвязанныеДокументы(ИдИсхДок, ИдУведомления : строка) : строка;
переменные 
  коллекция : IVariables;
  ссСвязанныеДоументы : СтатическиеДанные;
начало
  попытка
    ссСвязанныеДоументы := СоздатьСтатическиеДанные;
    ссСвязанныеДоументы.СоединитьБД;
    ссСвязанныеДоументы.Запрос := ПолучитьЗапросДляСвязанныхДокументов;
    ссСвязанныеДоументы.Параметр('ID') := ИдИсхДок;
    ссСвязанныеДоументы.Параметр('CorID') := ИдУведомления;
    ссСвязанныеДоументы.Открыть;
    если ссСвязанныеДоументы.ЧислоЗаписей &gt; 0  тогда
      результат :=   GetLimitStr(ссСвязанныеДоументы,'docnumber')
    иначе
      результат :=   "";
  неудача
    результат := "";
  конец;    
конец;

// синхронизируем классификацию из уведомления с классификацией нового документа
функция   НаИменениеПричиныОтклонения;
переменные
  Ф : ФормаВвода;
  ссУведомления, ссУведомления_Детализация : СтатическиеДанные;
  СписокИдИсхДокументов, КодЗаписи, СтрокаРезультата  : Строка; 
  ПолеПричинаОтклонения : Поле; 
  сс_Вспомогательный : СтатическиеДанные;
начало

  //Инициализация переменных
    Ф := ПолучитьФормуВвода;
    ссУведомления := Ф.Заголовки.Таблица;
    ссУведомления_Детализация := Ф.Детализация.Таблица;
    ОчиститьОкноВывода;
    ПолеПричинаОтклонения := ссУведомления.Поле('Reject_Cls');
    // Если изменилась причина откланения
    КодЗаписи := ссУведомления.Поле('Id').КакСтрока;
    Если (ПолеПричинаОтклонения.OldValue = ПолеПричинаОтклонения.какЦелое) или (((ПолеПричинаОтклонения.Какстрока &lt;&gt; ""))) 
    тогда Выход; 
    сс_Вспомогательный := СоздатьСтатическиеДанные;
    сс_Вспомогательный.СоединитьБД;
    сс_Вспомогательный.Запрос :=  ПолучитьЗапросПоискИсходных_;
    если (ссУведомления.Поле('OriginalProgIndex').КакЦелое= Класс_ПоступлениеНевыясненных)  тогда
      сс_Вспомогательный.Параметр('Param') := "'%0'"
    иначе
      сс_Вспомогательный.Параметр('Param') :=  "'%1'";
    // устанавливаем параметр для поиска нужного поля  
    если ВходитВГруппу(ссУведомления.Поле('OriginalProgIndex').КакЦелое, Группа_Уведомления) тогда
    начало
      сс_Вспомогательный.Параметр('Link') :=  "lr.childid";
      сс_Вспомогательный.Параметр('LinkCLS') :=  "lt.parentdoccls";
      сс_Вспомогательный.Параметр('Field') :=  "lr.parentid ";
    конец  
    иначе
    начало
      сс_Вспомогательный.Параметр('Link') :=  "lr.parentid";
      сс_Вспомогательный.Параметр('LinkCLS') :=  "lt.childdoccls";
      сс_Вспомогательный.Параметр('Field') :=  "lr.childid ";
    конец;       
     сс_Вспомогательный.Параметр('IdCaption') :=  КодЗаписи;     
    сс_Вспомогательный.Открыть;
    СписокИдИсхДокументов :=  GetLimitStr(сс_Вспомогательный,'ChildId');
   
    СтрокаРезультата := ПолучитьСвязанныеДокументы(СписокИдИсхДокументов, КодЗаписи); 
    если СтрокаРезультата &lt;&gt; "" тогда
      ВызватьОшибку("Невозможно снять причину отклонения, так как существуют другие, не отклоненные уведомления( Номера уведомлений = " +СтрокаРезультата +")"); 
    
конец;
</value>
    <param value="код программы" type="3" name="Export">DJON2\egorbunov\15.03.2010 16:36:05</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$C0383064</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$6D68BB4A</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\НаИзменениеСсылокОргЗаголовок">
    <value type="7" name="код программы">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Output.lib';

включить 'Project';

// синхронизируем классификацию из уведомления с классификацией нового документа
функция   НаИзменениеСсылокОргЗаголовок;
переменные
  Ф : ФормаВвода;
  ссУведомления, ссУведомления_Детализация : СтатическиеДанные;
  СписокИдИсхДокументов, КодЗаписи, СтрокаРезультата  : Строка; 
  ПолеСсылкаПолучатель, ПолеСсылкаПлательщик : Поле; 
  сс_Вспомогательный : СтатическиеДанные;
начало
  //Инициализация переменных
    Ф := ПолучитьФормуВвода;
    ссУведомления := Ф.Заголовки.Таблица;
    ПолеСсылкаПолучатель := ссУведомления.Поле('OriginalAcceptorAcc_Ref');
    ПолеСсылкаПлательщик := ссУведомления.Поле('OriginalPayerAcc_Ref'); 
    // если эти поля не заполнены то выводим ошибку 
    если (ПолеСсылкаПолучатель.КакСтрока = '') или (ПолеСсылкаПолучатель.IsNull) или (ПолеСсылкаПлательщик.КакСтрока = '') или (ПолеСсылкаПлательщик.IsNull) тогда
      ВызватьОшибку('Ссылка на Получателя или Плательщика не заполнена. Требуется заполнить ссылки.');
конец;
</value>
    <param value="код программы" type="3" name="Export">EGORBUNOV\egorbunov\06.01.2013 14:44:08</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$81F26306</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ДиспетчерНаЗаполнениеСсылок">
    <value type="3" name="Заголовок">ДиспетчерНаЗаполнениеСсылок</value>
    <value type="7" name="код программы">ДиспетчерНаЗаполнениеСсылок(ПередСохранением: целое; Данные, Операция: Целое): Целое;
включить "Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\НаИзменениеСсылокОргЗаголовок\Код программы";
включить "Project";
начало
  Если ( (ПередСохранением = 2) и (Операция = 7) и (Данные = -1) ) тогда
    НаИзменениеСсылокОргЗаголовок;
конец;
</value>
    <param value="код программы" type="3" name="Export">EGORBUNOV\egorbunov\06.01.2013 14:43:55</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$69CD4B5F</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$F2B04ECE</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\События">
    <value type="3" name="НаОперациюСТаблицей(20)">ДиспетчерНаЗаполнениеСсылок</value>
    <param value="НаОперациюСТаблицей(20)" type="3" name="version">36.741.00</param>
    <param value="НаОперациюСТаблицей(20)" type="3" name="crc32">$69CD4B5F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ДиспетчерНаТипУведомления">
    <value type="3" name="Заголовок" />
    <value type="7" name="код программы">ДиспетчерНаТипУведомления(ПередСохранением: целое; Данные, Операция: Целое): Целое;
включить "Project";
включить '\Макросы\Уведомления\НаИзменениеТипаУведомления';
начало
  Если ( (ПередСохранением = 2) и (Операция = 7) и (Данные &lt;&gt; -1) ) тогда 
    НаИзменениеТипаУведомления;
конец;
</value>
    <param value="код программы" type="3" name="Export">DJON2\egorbunov\21.04.2010 17:04:24</param>
    <value type="3" name="Права">"{Операционный сектор}",{УчетВнебюджета}</value>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$00000000</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$1B2A37FB</param>
    <param value="Права" type="3" name="version">36.741.00</param>
    <param value="Права" type="3" name="crc32">$22619494</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="НаИзменениеТипаУведомления">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\Documents.lib';                                                
включить '\Библиотеки\Output.lib';
включить '\Библиотеки\LinkInfo2.lib';
    /$если Бюджет  
включить '\Библиотеки\DataTools.lib';
    /$иначе
включить '\Библиотеки\OptionTools.lib';
    /$конец

включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';

включить 'Project';

функция СписокПолейПроверки : строка;
начало
   /$если Бюджет 
   результат := 'kfsr,kcsrCode,kvsrCode,kvrCode,kesr,kd,ifs';
   /$иначе
   результат := 'kfsr,kcsr,kvsr,kvr,kesr,kd,ifs';
   /$конец
конец;

// проверяет вхождение в иерархию константы
функция ПолучитьНовыйТипДокумента(Коллекция : IVariables; ПолеТипДокумента : Поле; ИмяКонстанты : строка) : целое;
начало
  результат := Коллекция.Значение(ИмяКонстанты);
  если Коллекция.Значение(ИмяКонстанты) &lt;&gt; 0 тогда
  начало 
  // 1. обработка z
    если ПроверкаТипаДокументаПервыйРазряд(Коллекция,ПолеТипДокумента, ИмяКонстанты) тогда
    // 2. обработка yy
      если ПроверкаТипаДокументаВторойРазряд(Коллекция,ПолеТипДокумента, ИмяКонстанты) тогда
    // 3. обработка x  
        если ПроверкаТипаДокументаТретийРазряд(Коллекция,ПолеТипДокумента, ИмяКонстанты) тогда
           результат := ПолеТипДокумента.КакЦелое
  конец
  иначе
    результат := Коллекция.Значение(ИмяКонстанты)         
конец;


// синхронизируем классификацию из уведомления с классификацией нового документа
функция   НаИзменениеТипаУведомления;
переменные
  Ф : ФормаВвода;
  ссУведомления, ссУведомления_Детализация : СтатическиеДанные;
  Ид_Тек_Записи, КлассИсходногоДокумента  : целое; 
  Коллекция  : IVariables;
  ПоляПроверки : текст;
  Индекс, ТипДокументаУстановлен, ТипДокументаТек, ТипДокументаНовый : целое;
  ПолеНовойКлс, ПолеИсходнойКлс: строка;
  ВидОбслуживания : целое;
  ПолеТипУведомления : поле;
начало
  Ф := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ссУведомления := Ф.Заголовки.Таблица;
  ссУведомления_Детализация := Ф.Детализация.Таблица;
  если ссУведомления_Детализация.Состояние = usModified тогда
  начало
    // если класс исходного документа не предпологает отправку в УФК то тип уведомления остается внутренним
    КлассИсходногоДокумента := ссУведомления.Поле('OriginalProgIndex').КакЦелое; 
    если не ТребуетсяОтправлятьВУФК(КлассИсходногоДокумента) тогда выход;
    // если расчетный счет  (плательщика для выбытий, для поступлений - получателя) не был открыт в УФК то тип уведомления остается внутренним  OriginalAcceptorAcc_Ref
    если ссУведомления.Поле('ProgIndex').какцелое = 312 тогда
      ВидОбслуживания := Разыменовать("Р/с.ВидОбслуживания",ссУведомления.Поле('OriginalAcceptorAcc_Ref').какцелое)
    иначе
      ВидОбслуживания := Разыменовать("Р/с.ВидОбслуживания",ссУведомления.Поле('OriginalPayerAcc_Ref').какцелое);
    если (ВидОбслуживания &lt;&gt; 1) и (ВидОбслуживания&lt;&gt;2)  тогда выход;  
    ПоляПроверки := СоздатьТекст;
    ТипДокументаУстановлен := Ложь; 
    ПоляПроверки.РазделенноеЗначение := СписокПолейПроверки;
    Ид_Тек_Записи := ссУведомления_Детализация.Поле('id').КакЦелое; 
    ссУведомления_Детализация.ЗапретитьПрорисовку;
    попытка
      Коллекция.Значение("КонстантаТипДокумента") := ЦелаяКонстанта(1, 55); 
      Коллекция.Значение("КонстантаВнутренниеУведомления") := ЦелаяКонстанта(1, 56);
      ТипДокументаТек := ссУведомления.Поле('DOCTYPE').AsInteger;
      ссУведомления_Детализация.Фильтр := 'ProgIndex = 316';
      ссУведомления_Детализация.ВНачало;
      // пробегаемя по детализациям если хоть одна изменилась то значит нужно отправлят всё уведомление
      пока не ссУведомления_Детализация.ВКонце делать
      начало
        // делаем проверку полей
        Индекс := 0;
        ссУведомления_Детализация.Поле('ID').КакЦелое;
        пока (Индекс &lt;&gt; ПоляПроверки.Количество) и (не ТипДокументаУстановлен) делать
        начало
          ПолеНовойКлс :=  Прописные(ссУведомления_Детализация.Поле(ПоляПроверки.Стр(Индекс)).КакСтрока);
          ПолеИсходнойКлс := Прописные(ссУведомления_Детализация.Поле(ПоляПроверки.Стр(Индекс)+'_orig').КакСтрока);
          если ПолеНовойКлс='' тогда ПолеНовойКлс := '0';  
          если ПолеИсходнойКлс='' тогда ПолеИсходнойКлс := '0';
          если ПолеНовойКлс &lt;&gt; ПолеИсходнойКлс тогда
          начало 
            ТипДокументаУстановлен := Истина;
          конец;
          Индекс := Индекс + 1;  
        конец;
        ссУведомления_Детализация.Next;
      конец;
      // устанавливаем соответствующую константу
      ПолеТипУведомления :=  ссУведомления.Поле('DOCTYPE');   
      если ТипДокументаУстановлен тогда
        ТипДокументаНовый := ПолучитьНовыйТипДокумента(Коллекция,ПолеТипУведомления,"КонстантаТипДокумента")
      иначе
        ТипДокументаНовый := ПолучитьНовыйТипДокумента(Коллекция,ПолеТипУведомления,"КонстантаВнутренниеУведомления");
      если ТипДокументаНовый &lt;&gt; ТипДокументаТек тогда
      начало
        ссУведомления.Редактировать;
        ссУведомления.Поле('DOCTYPE').AsInteger := ТипДокументаНовый;
        ссУведомления.Сохранить;
      конец;
    обязательно  
      ссУведомления_Детализация.Фильтр := '';
      ссУведомления_Детализация.РазрешитьПрорисовку;
    конец;  
  конец;  
конец;
</value>
    <param value="НаИзменениеТипаУведомления" type="3" name="version">36.741.00</param>
    <param value="НаИзменениеТипаУведомления" type="3" name="crc32">$B67EDBA1</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки">
    <value type="3" name="ДоходнаяКлассификация">2</value>
    <value type="3" name="ИсточниковаяКлассификация">1</value>
    <value type="3" name="РасходнаяКлассификация">0</value>
    <value type="3" name="СписокЗначенийКлассов">Класс_ВнутренниеПереброскиДоходов : 38
Класс_ПоступлениеНевыясненных : 41
Класс_ВыяснениеНевыясненных : 42
Класс_ПоступлениеДоходов : 45
Класс_ПриходОтПрочих : 61
Класс_ПриходПоОбъявлениям : 62
Класс_ПлатежныеПоручения : 63
Класс_УчетКассовыхВыплат : 73
Класс_РасходПоЧекам : 64
Класс_Разассигновка : 65
Класс_УтверждениеОФ : 75 
Класс_ПеречислениеНаСчетаДляНаличности : 68
Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности : 69
Класс_ВозвратСоСчетовДляНаличности : 70
Класс_ПодтверждениеВозвратасоСчетовДляНаличности : 71
Класс_ВыдачаСсуды : 121
Класс_ПогашениеСсуды : 122
Класс_ПолучениеКредита : 131
Класс_ПогашениеКредита : 132
Класс_ВозвратДоходов : 145
Класс_Роспись : 32
Класс_Лимиты : 57
Класс_УчетДоговоров : 304
Класс_ЗаявкиНаЗакупку : 230
Класс_ИтогиКонкурсов : 234
Класс_БюджетныеОбязательства : 345
Класс_КазначейскийРеестр : 777
Класс_ВнутренниеПереброскиРасходов : 66
Класс_ВП_Выбытие : 888
Класс_ВП_Поступление : 999
Класс_РаспоряжениеНаФинансирование : 23
Класс_СводноеРаспоряжениеНаФинансирование : 223   
ту_УточнениеПоступлений : 312 
ту_УточнениеВыбытий : 313</value>
    <value type="3" name="СписокЗначенийНаправленийОпераций">===============================================================================================================
"Направление операции"                                    |  Операция для плательщика         |  Операция для получателя       |  Значение в базе
===============================================================================================================
- Подтверждение передачи прихода                     Расход                                               Приход                                         0
- Передача возврата расхода
- Поступление
- Расход
===============================================================================================================
- Операции передачи (возврата) расхода            Расход                                                 Уменьшение расхода                1
- Уточнение расхода
===============================================================================================================
- Операции передачи (возврата) прихода            Уменьшение ассигнований               Приход                                        2
- Распределение ОФ
===============================================================================================================
- Отзывающая операция                                       Уменьшение ассигнований               Уменьшение расхода                3
- Подтверждение передачи возврата 
расхода
- Подтверждение уменьшения прихода
- Уменьшение прихода
- Восстановление расхода
- Передача прихода
- Возврат
- Подтверждение расхода
===============================================================================================================</value>
    <value type="6" name="ТаблицаПодстановок">
      <table key="Класс" userfields="Класс,ЛицСчет_получ,ЛицСчет_плат,БухПроводка,Очередность,Тип_Классификации,Погашение,Вид_Операции,Тип_Документа,Тип_Средств,ВидПлатежа,СубкодДохода,ЛицСчет_получ_нов,ЛицСчет_плат_нов,БухПроводка_нов,Очередность_нов,Вид_Операции_нов,Тип_Средств_нов,Тип_Документа_нов,ВидПлатежа_нов,СубкодДохода_нов,НаправлениеОперации,НаправлениеОперации_нов">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>Класс</N>
            <DL>Класс</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ЛицСчет_получ</N>
            <S>15</S>
            <DL>ЛицСчет_получ</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ЛицСчет_плат</N>
            <S>15</S>
            <DL>ЛицСчет_плат</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>БухПроводка</N>
            <S>15</S>
            <DL>БухПроводка</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Очередность</N>
            <S>10</S>
            <DL>Очередность</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Тип_Классификации</N>
            <S>10</S>
            <DL>Тип_Классификации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Погашение</N>
            <DL>Погашение</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Вид_Операции</N>
            <S>10</S>
            <DL>Вид_Операции</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Тип_Документа</N>
            <S>10</S>
            <DL>Тип_Документа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Тип_Средств</N>
            <S>10</S>
            <DL>Тип_Средств</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ВидПлатежа</N>
            <S>20</S>
            <DL>ВидПлатежа</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>СубкодДохода</N>
            <S>20</S>
            <DL>СубкодДохода</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>НаправлениеОперации</N>
            <DL>НаправлениеОперации</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>&lt;&lt;&lt;&gt;&gt;&gt;</N>
            <S>10</S>
            <DL>&lt;&lt;&lt;&gt;&gt;&gt;</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ЛицСчет_получ_нов</N>
            <S>15</S>
            <DL>ЛицСчет_получ_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ЛицСчет_плат_нов</N>
            <S>15</S>
            <DL>ЛицСчет_плат_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>БухПроводка_нов</N>
            <S>10</S>
            <DL>БухПроводка_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Очередность_нов</N>
            <S>10</S>
            <DL>Очередность_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Вид_Операции_нов</N>
            <S>15</S>
            <DL>Вид_Операции_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Тип_Средств_нов</N>
            <S>10</S>
            <DL>Тип_Средств_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Тип_Документа_нов</N>
            <S>10</S>
            <DL>Тип_Документа_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ВидПлатежа_нов</N>
            <S>20</S>
            <DL>ВидПлатежа_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>СубкодДохода_нов</N>
            <S>20</S>
            <DL>СубкодДохода_нов</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>НаправлениеОперации_нов</N>
            <DL>НаправлениеОперации_нов</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Класс">66</V>
          </R>
          <R>
            <V N="Класс">888</V>
          </R>
          <R>
            <V N="Класс">999</V>
          </R>
        </RL>
      </table>
    </value>
    <node path="Уведомление по ексел">
      <value type="3" name="ИмяЕкселФайла">D:\Курские дампы_24.02.09\ATT00061.xls</value>
      <value type="3" name="КонечнаяДата" />
      <value type="3" name="НачальнаяДата" />
      <value type="3" name="СписокКлассов">345</value>
      <param value="ИмяЕкселФайла" type="3" name="version">36.741.00</param>
      <param value="ИмяЕкселФайла" type="3" name="crc32">$2143F79A</param>
      <param value="КонечнаяДата" type="3" name="version">36.741.00</param>
      <param value="КонечнаяДата" type="3" name="crc32">$00000000</param>
      <param value="НачальнаяДата" type="3" name="version">36.741.00</param>
      <param value="НачальнаяДата" type="3" name="crc32">$00000000</param>
      <param value="СписокКлассов" type="3" name="version">36.741.00</param>
      <param value="СписокКлассов" type="3" name="crc32">$CBB46C1D</param>
    </node>
    <param value="ДоходнаяКлассификация" type="3" name="version">36.741.00</param>
    <param value="ДоходнаяКлассификация" type="3" name="crc32">$C8D75180</param>
    <param value="ИсточниковаяКлассификация" type="3" name="version">36.741.00</param>
    <param value="ИсточниковаяКлассификация" type="3" name="crc32">$51DE003A</param>
    <param value="РасходнаяКлассификация" type="3" name="version">36.741.00</param>
    <param value="РасходнаяКлассификация" type="3" name="crc32">$26D930AC</param>
    <param value="СписокЗначенийКлассов" type="3" name="version">36.741.00</param>
    <param value="СписокЗначенийКлассов" type="3" name="crc32">$4B371ACE</param>
    <param value="СписокЗначенийНаправленийОпераций" type="3" name="version">36.741.00</param>
    <param value="СписокЗначенийНаправленийОпераций" type="3" name="crc32">$5C82BE8D</param>
    <param value="ТаблицаПодстановок" type="3" name="version">36.741.00</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\События">
    <value type="3" name="НаСохранениеИзменений">ДиспетчерНаТаблицу</value>
    <param value="НаСохранениеИзменений" type="3" name="version">36.741.00</param>
    <param value="НаСохранениеИзменений" type="3" name="crc32">$F728C9FC</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\События">
    <value type="3" name="НаПоискИсходногоДокумента">ПоискИсходногоДокумента_ИзСложенногоПоля_Действие</value>
    <param value="НаПоискИсходногоДокумента" type="3" name="version">36.741.00</param>
    <param value="НаПоискИсходногоДокумента" type="3" name="crc32">$5A428145</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Панели\Стандартная\ПоискИсходногоДокумента_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">ПоискИсходногоДокумента_Действие</value>
    <value type="3" name="Картинка">Поиск</value>
    <value type="1" name="Порядок">3</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Поиск исходного документа</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$299121F4</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$B76C1383</param>
    <param value="Порядок" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$A8390C3F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Панели\Стандартная\ЗаполнениеПолейНовойОрганизации_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">ЗаполнениеПолейНовойОрганизации_Действие</value>
    <value type="3" name="Картинка">Редактировать</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Заполнить Новую организацию в детали и примечание в заголовке через области форматирования</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$F3710DD0</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$3EA24F44</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$3286283F</param>
  </node>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении">
    <value type="6" name="СписокФорматов">
      <table>
        <FDL>
          <FD>
            <N>Name</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>NameForUser</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>NameForUser</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ID</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ID</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Name">Операции</V>
            <V N="NameForUser">Номера операций</V>
            <V N="ID">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="СписокФорматов" type="3" name="version">36.741.00</param>
  </node>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении\Общие">
    <value type="4" name="ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой" flags="1">1</value>
    <param value="ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой" type="3" name="version">36.741.00</param>
  </node>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении\Общие">
    <value type="4" name="НеобходимоЗаполнятьКлассДокументаВДетализации" flags="1">1</value>
    <param value="НеобходимоЗаполнятьКлассДокументаВДетализации" type="3" name="version">36.741.00</param>
  </node>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении\Общие">
    <value type="4" name="СпрашиватьРазрешениеНаСинхронизацию" flags="1">0</value>
    <param value="СпрашиватьРазрешениеНаСинхронизацию" type="3" name="version">36.741.00</param>
  </node>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении\Общие">
    <value type="4" name="ДатаУчета=ДатаФормирования" flags="1">1</value>
    <param value="ДатаУчета=ДатаФормирования" type="3" name="version">36.741.00</param>
  </node>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении\Общие">
    <value type="4" name="СторнирующиеНаправления" flags="1">1</value>
    <param value="СторнирующиеНаправления" type="3" name="version">36.741.00</param>
  </node>
  <delnode path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Панели\Стандартная\КопированиеОрганизации_Кнопка" />
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Панели\Стандартная\СформироватьУведомлениеПоСуществующимДокументам_Кнопка">
    <value type="1" name="Видимость">0</value>
    <value type="3" name="Действие">СформироватьУведомлениеПоСуществующимДокументам_Действие</value>
    <value type="3" name="Картинка">Сравнение</value>
    <value type="1" name="Порядок">5</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Сформировать уведомление на основе существующих документов</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$88AAD9BF</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$7223C32A</param>
    <param value="Порядок" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$49FB65BD</param>
  </node>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении\Общие">
    <value type="3" name="ЗначенияПараметровДиалога" flags="1">КлассИсходногоДокумента,КлассНовогоДокумента,НомерДокумента</value>
    <param value="ЗначенияПараметровДиалога" type="3" name="version">36.741.00</param>
    <param value="ЗначенияПараметровДиалога" type="3" name="crc32">$757C59E9</param>
  </node>
  <script type="abl" exec="before">

Включить "\Библиотеки\LibRu.lib";

константы
  Узел = 'Бюджет\Конфигурация';

переменные
  ДанныеизТаблицы: СтатическиеДанные;

Функция ЗаписатьДанныеВРеестр(Куда : Строка; Что : СтатическиеДанные);
переменные
  Buffer : Буфер;
  Узел : УзелРеестра;
начало
  Buffer := СоздатьБуфер;
  СохранитьОбъект(Что,Buffer); 
  Узел := Реестр.Узел(Куда);
  Узел.Значение('Документы').ЗагрузитьИзБуфера(Buffer);
конец;

Функция ЭтоСтарыйКод(Данные : СтатическиеДанные) : целое;
начало
  результат := ложь;
  если (Данные.Поле('CLS').КакСтрока = '3250100')  или 
       (Данные.Поле('CLS').КакСтрока = '3260100')  или 
       (Данные.Поле('CLS').КакСтрока = '3260200')
  тогда
    результат := истина;
конец;

Функция ЭтоНовыйКод(Данные : СтатическиеДанные) : целое;
начало
  результат := ложь;
  если (подстрока(Данные.Поле('CLS').КакСтрока,1,6) = '260101')  или 
       (подстрока(Данные.Поле('CLS').КакСтрока,1,6) = '260201')  или 
       (подстрока(Данные.Поле('CLS').КакСтрока,1,6) = '260202') 
  тогда
    результат := истина;
конец;

функция УдалитьСтарыеКоды(Данные : СтатическиеДанные);
начало
  Данные.Редактировать;
  Данные.Вначало;
  пока не данные.Вконце делать 
  начало
    если ЭтоСтарыйКод(Данные) тогда
       Данные.Удалить;
    Данные.Следующая;
  конец;
  ЗаписатьДанныеВРеестр('Бюджет\Конфигурация', Данные);
конец;

функция ЗаменитьПользовательскиеКоды(Данные : СтатическиеДанные);
переменные
  ПоследниеДвеЦифры : строка;
начало
  Данные.Редактировать;
  Данные.Вначало;
  пока не Данные.Вконце делать
  начало
    ПоследниеДвеЦифры := подстрока(Данные.Поле('CLS').КакСтрока, 6, 2);
    выбрать подстрока(Данные.Поле('CLS').КакСтрока, 1, 5) из
      '32501' : 
         начало
           Данные.Поле('CLS').КакСтрока := '260101' + ПоследниеДвеЦифры;
           если ПоследниеДвеЦифры = '00' тогда 
             Данные.Поле('Template').КакСтрока := '(26.01.01) Уведомление об уточнении вида платежа(поступление).xlc'               
         конец; 
      '32601' : 
         начало
           Данные.Поле('CLS').КакСтрока := '260201' + ПоследниеДвеЦифры;
           если ПоследниеДвеЦифры = '00' тогда 
             Данные.Поле('Template').КакСтрока := '(26.02.01) Уведомление об уточнении вида платежа(выбытие).xlc' 
         конец; 
      '32602' : 
         начало
           Данные.Поле('CLS').КакСтрока := '260202' + ПоследниеДвеЦифры;
           если ПоследниеДвеЦифры = '00' тогда 
             Данные.Поле('Template').КакСтрока := '(26.02.02) Реестр уведомлений.xlc' 
         конец;
    конец;        
    Данные.Следующая;
  конец;
  ЗаписатьДанныеВРеестр('Бюджет\Конфигурация', Данные);
конец;

функция УжеЕстьНовыеКоды(Данные : СтатическиеДанные) : целое;
начало
  результат := ложь;
  Данные.Открыть;
  Данные.Вначало;
  пока не Данные.Вконце и (не результат) делать
  начало
    если ЭтоНовыйКод(Данные) тогда
      результат := истина;
    Данные.Следующая;
  конец;
конец; 

начало
  ДанныеИзТаблицы := СоздатьДанныеИзРеестра(Узел, "Документы");
  Если УжеЕстьНовыеКоды(ДанныеИзТаблицы) тогда
    УдалитьСтарыеКоды(ДанныеИзТаблицы);
  ЗаменитьПользовательскиеКоды(ДанныеИзТаблицы);
конец.
</script>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Панели\Стандартная\УстановитьСледНомерУвед_Кнопка">
    <value type="3" name="Действие">УстановитьСледНомерУвед_Действие</value>
    <value type="3" name="Картинка">Нумерация</value>
    <value type="1" name="Порядок">1</value>
    <value type="3" name="Хинт">Установить следующий номер уведомления</value>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$1BF59F98</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$2E42398A</param>
    <param value="Порядок" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$C0477D1C</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Панели\Стандартная\НайтиИсходныйДокументДляДокументаВозврата_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">НайтиИсходныйДокументДляДокументаВозврата_Действие</value>
    <value type="3" name="Картинка">ИзменениеДоли</value>
    <value type="1" name="Порядок">7</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Найти исходную платежку для возврата расхода и подставить в уведомление найденную классификацию</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$9691CA2D</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$B618E55B</param>
    <param value="Порядок" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$30076757</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\События">
    <value type="3" name="НаПолучениеОграниченийМФ">ДиспетчерМФ</value>
    <param value="НаПолучениеОграниченийМФ" type="3" name="version">36.741.00</param>
    <param value="НаПолучениеОграниченийМФ" type="3" name="crc32">$AF7A03D9</param>
  </node>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении\Интерфейсы">
    <value type="3" name="КлассификаторыДляОгрБО">KFSR,KVSR,KCSR,KESR,KVR,SubKESR,Fact,MeansType,DirectionCls</value>
    <value type="4" name="ОгрДИПоРСПоставщика">1</value>
    <value type="4" name="ПринудительнаяФильтрацияБО">1</value>
    <value type="3" name="ФильтрДляОгрБО">and (ps.ANumber is not null) and (a1.LastAccepted = 1) and (a1.AcceptDate is not null)</value>
    <value type="3" name="ФильтрДляОгрДИ">and (ed.AcceptDate is not null) and (ed.RejectCls is null)</value>
    <param value="КлассификаторыДляОгрБО" type="3" name="version">36.741.00</param>
    <param value="КлассификаторыДляОгрБО" type="3" name="crc32">$CF133202</param>
    <param value="ОгрДИПоРСПоставщика" type="3" name="version">36.741.00</param>
    <param value="ПринудительнаяФильтрацияБО" type="3" name="version">36.741.00</param>
    <param value="ФильтрДляОгрБО" type="3" name="version">36.741.00</param>
    <param value="ФильтрДляОгрБО" type="3" name="crc32">$B85A3A2C</param>
    <param value="ФильтрДляОгрДИ" type="3" name="version">36.741.00</param>
    <param value="ФильтрДляОгрДИ" type="3" name="crc32">$0663F227</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Панели\Контроль\МодальныйВызов_906_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_906_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$EB2CD3F5</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4A94FF93-8318-11D3-A207-008048CA149C}\Панели\Состояния\МодальныйВызов_302_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_302_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$08F09BEE</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{82D199F0-814C-11D3-A203-008048CA149C}\Панели\Импорт\МодальныйВызов_305_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_305_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$EA2C8097</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4A94FF92-8318-11D3-A207-008048CA149C}\Панели\Импорт\МодальныйВызов_306_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_306_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$011B3B94</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{DB3ACF33-98D2-11D2-938F-000021670171}\Панели\Модальная\МодальныйВызов_903_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_903_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$0D0518B1</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4A94FF94-8318-11D3-A207-008048CA149C}\Панели\Модальная\МодальныйВызов_304_Кнопка.xml">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_304_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$05EEEBA9</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{43F24A54-CF45-432A-A0CD-C813F9C9C5F5}\Панели\Модальная\МодальныйВызов_322_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_322_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$509C222F</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{6D1AF7D9-351A-4622-B889-B0E37B6B3ABE}\Панели\Модальная\МодальныйВызов_311_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_311_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$2249FF2D</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4C71200E-ECC2-45AA-A0E7-9BF2C94F9304}\Панели\Модальная\МодальныйВызов_312_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_312_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$C97E442E</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{67C38218-FDB9-4354-8B9F-3B287BB29770}\Панели\Модальная\МодальныйВызов_314_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_314_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$C4603469</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{85228605-A3AB-44B8-BBDA-E805DE27B03D}\Панели\Модальная\МодальныйВызов_315_Кнопка">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СоздатьУведомление_Модально_315_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Видимость" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$2BA25F57</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Стиль" type="3" name="version">36.741.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Панели\Стандартная\МодальныйВызов_55хх_Кнопка">
    <value type="3" name="Действие">СоздатьУведомление_Модально_55xx_Действие</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Хинт">Создать Уведомление</value>
    <param value="Действие" type="3" name="version">36.741.00</param>
    <param value="Действие" type="3" name="crc32">$CC435A61</param>
    <param value="Картинка" type="3" name="version">36.741.00</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Хинт" type="3" name="version">36.741.00</param>
    <param value="Хинт" type="3" name="crc32">$BE4CB8B7</param>
  </node>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="ДляУведомлений.abl">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Reports.lib";                        
включить '\Библиотеки\Documents.lib';                                                
включить '\Библиотеки\Control.lib';
включить "\библиотеки\output.lib";
/$если Бюджет
включить "Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ФормированиеКорректирующегоДокумента_Действие\Код программы";
включить "Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ФормированиеНовогоДокумента_Действие\Код программы";
/$иначе
включить "\Библиотеки\ModalFormEx.lib";
/$конец  
включить "\Макросы\Уведомления\КонстантыДляУведомлений";
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСозданияУведомления';
включить '\Макросы\Уведомления\ФункцииДляСвязыванияДокументов';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\ФункцииДляПакетнойЗамены';
включить "Project";

константы

/$если Бюджет
  GUIDECorrection = "{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}";
/$иначе
  GUIDECorrection_Incomes = "{F72CEFAB-A7AB-444E-90E7-1B1EE8D20E5C}";
  GUIDECorrection_Expenses = "{194D49F6-4EDB-4671-810C-4E0859BCF05D}";
/$конец  
  nl= #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';
/$если Бюджет
  ПутьКМакросуПроверки = "Бюджет\Ресурсы\Макросы\Уведомления";
/$иначе
  ПутьКМакросуПроверки = "УРМ\Ресурсы\Макросы\Уведомления";
/$конец
  ИмяМакросаПроверки = "МодальнаяПроверка";
  
  к_ЗначениеНастройки_ВсеДокументы = '2';
  к_ЗначениеНастройки_ОдинаковаяКлассификация = '1'; 
  констаНеФормироватьСвязанныеДокументы = '2';

переменные
/$если Бюджет
  ФормаУведомления: МодальнаяФорма;
/$иначе
  ФормаУведомления: IModalFormX;
/$конец
    
  ОВ : ОкноВывода;
  Прогресс : IProgress;




функция ПолучитьЗапросДляПроверкиВвода(СписокИд : строка) : строка;
начало
  результат := "[PumpData]{
                      SELECT 
                        lr.linktyperef,
                        lr.parentid,
                        lr.childid
                      FROM LinkRecords lr
                        LEFT OUTER JOIN LinkType lt ON (lt.id =  lr.linktyperef)
                        LEFT OUTER JOIN CorrectionDetail cor_d ON (cor_d.id =  lr.parentid)                           
                      where
                       (1 = 1) and (cor_d.progindex in (315, 316)) ~Id 
                    }";
конец;



функция СобытиеОтмена : целое;
начало
/$если Бюджет
  результат := 1;
/$иначе
  результат := 2;
/$конец
конец;


Функция СобытиеПодтвердить : целое;
начало
/$если Бюджет
  результат := 4;
/$иначе
  результат := 1;
/$конец  
конец;
                                                          

функция СобытиеПроверочное : целое;
начало
  результат := 3;
конец;


функция СобытиеЗакрытьМодФорму : целое;
начало
  результат := 2;
конец;



функция ПоднятьФлагВыхода : целое;
начало
  результат := 1;
конец;


функция ОпуститьФлагВыхода : целое;
начало
  результат :=0;
конец;

// Определение типа интерфейса
функция ОпределитьТипИнтерфейса(Коллекция : IVariables);
начало
 // определение типа интерфейса
  если  ВходитВГруппу(Коллекция.Значение("КлассИсходногоДокумента"),Группа_Поступление) тогда Коллекция.Значение("ТипИнтерфейса") := 312;
  если  ВходитВГруппу(Коллекция.Значение("КлассИсходногоДокумента"),Группа_Выбытие) тогда Коллекция.Значение("ТипИнтерфейса") := 313;
  // дописать исключение;
конец;

// Формированеие ограничений по группе
функция СформироватьОграниченияПоГруппе(сс_ИсходныеДокументы : СтатическиеДанные; СписокID : строка; Коллекция : IVariables);
переменные  
  ТекущаяГруппа : целое;
  ИмяПараметра, ИмяТаблицы : строка;
начало
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(Коллекция.Значение("КлассИсходногоДокумента"));
  Выбрать ТекущаяГруппа из
    Группа_Доходы                       : начало
                                            ИмяПараметра := 'Limits_Incomes';
                                            ИмяТаблицы := 'inc.id'; 
                                          конец; 
    Группа_КазначействоПоступление,
    Группа_КазначействоВыбытие          : начало
                                            ИмяПараметра := 'Limits_Treasure';
                                            ИмяТаблицы := 'cpt.id';
                                          конец;
    Группа_Кредиты                      : начало
                                            ИмяПараметра := 'Limits_Debt';
                                            ИмяТаблицы := 'd.id';                                             
                                          конец;
    Группа_Ссуды,
    Группа_Финансирование               : начало
                                            ИмяПараметра := 'Limits_Fin';
                                            ИмяТаблицы := 'fdd.id';
                                          конец;
    Группа_Реестр                       : начало
                                           ИмяПараметра := 'Limits_TreasureReestr';
                                           ИмяТаблицы := 'ffr.id'; 
                                          конец;
    Группа_ВнутренниеПереброскиРасходов : начало
                                            ИмяПараметра := 'Limits_Treasure_VP';
                                            ИмяТаблицы := 'cpt.id';
                                          конец;

    Группа_Уведомления                  : начало
                                            ИмяПараметра := 'Limits_Correction';
                                            ИмяТаблицы := 'cor_c.id';                                            
                                          конец;
    Класс_Неуказанный                   : ВызватьОшибку('Сформировать ограничения: не указан класс документа');             
  конец;
  сс_ИсходныеДокументы.Параметр(ИмяПараметра) := ' and ('+ ИмяТаблицы + ' in ('+ СписокID +'))' ;
конец;



функция ОпределитьКлассИсходногоДокументаПоКодуИнтерфейса(Коллекция : IVariables ): целое;
начало
  Выбрать Коллекция.Значение("КодИнтерфейса") из

    302 : Результат := Класс_ПлатежныеПоручения;
    906 : Результат := Класс_ПоступлениеНевыясненных;
    305 : Результат := Класс_ПриходОтПрочих;  
    306 : Результат := Класс_ПриходПоОбъявлениям;
    903 : Результат := Класс_ПоступлениеДоходов;
    304 : Результат := Класс_РасходПоЧекам;          
    322 : Результат := Класс_УчетКассовыхВыплат;    
    311  : Результат := Класс_ПеречислениеНаСчетаДляНаличности;        
    312  : Результат := Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности; 
    314  : Результат := Класс_ВозвратСоСчетовДляНаличности;      
    315  : Результат := Класс_ПодтверждениеВозвратасоСчетовДляНаличности; 
    145 : Результат := Класс_ВозвратДоходов; //
    301 : Результат := Класс_ВнутренниеПереброскиРасходов;      
    5501 : результат := Класс_УточнениеПоступлений;
    5502 : результат := Класс_УточнениеВыбытий;
    308 : начало
           если Коллекция.Значение('НаправлениеКлассификации') = 'Плательщик' тогда
             результат := Класс_ВПл_Выбытие
           иначе
             результат := Класс_ВПл_Поступление;
          конец;
    иначе 
      Результат := -1;
  конец;
конец;



// Формирование уведомлений для модальной формы
Функция СформироватьУведомлениеМодал(ссИсходныеДокументы, ссУведомления, ccУведомления_Классификация : СтатическиеДанные; Коллекция : IVariables);
переменные 
  Счетчик, СоздаватьКорДокумент, СоздаватьНовДокумент : целое;
  НомерУведомления, ЭлДок, ЭлДок2,ЭлДок3, НаименованиеПоляЭлДок,КоличествоЗаписей_стр : строка;
  ПолеЭлДок, ПолеЭлДок2, ПолеЭлДок3 : Поле;
  ФормироватьУведомление, КоличествоСозданныхУведомлений, КоличествоЗаписей : целое;
  СуммаНовыхКлассификацийУведомления : дробное;
  ткстИсходныеНаправленияКлассификации, ткстНовыеНаправленияКлассификации: Текст;
  ссКорректирующийДокумент_Заголовок, ссКорректирующийДокумент,
  ссНовыйДокумент_Заголовок, ссНовыйДокумент, СтарыеИНовыеБО, СтарыеИНовыеДИ : СтатическиеДанные;
  ткстСписокИДКорДокументов, ткстСписокИДНовДокументов, ткстМаппингКлассификаторов : Текст;
  ЛокКоллекция : IVariables;
  ЭтоЕксел : целое;
начало
  Прогресс := Progress;
  ссИсходныеДокументы.ВНачало;
  Счетчик := 0;
  Прогресс.BeginProgress;
  НаименованиеПоляЭлДок := ВернутьИмяПоляЭлДок(Коллекция); 
  ПолеЭлДок := ссИсходныеДокументы.Поле(НаименованиеПоляЭлДок); 
  ПолеЭлДок2 := ссИсходныеДокументы.Поле('ElRef');
  ПолеЭлДок3 := ссИсходныеДокументы.Поле('FACIALCODE'); 
  ЭлДок := '';
  ЭлДок2 := '';
  ЭлДок3 := "";
  КоличествоЗаписей := ссИсходныеДокументы.RecordCount;  
  КоличествоЗаписей_стр := целоеВСтроку(КоличествоЗаписей);
  ткстИсходныеНаправленияКлассификации := СоздатьТекст;
  ткстНовыеНаправленияКлассификации := СоздатьТекст;
  ссКорректирующийДокумент_Заголовок := СоздатьСтатикСет;
  ссКорректирующийДокумент := СоздатьСтатикСет;
  ссНовыйДокумент_Заголовок := СоздатьСтатикСет;
  ссНовыйДокумент := СоздатьСтатикСет;
  ткстСписокИДКорДокументов := СоздатьТекст;
  ткстСписокИДНовДокументов := СоздатьТекст;
  Коллекция.Значение("ТекущаяДата") := ОбычнаяДатавРасшир(ТекущаяДата);
  Коллекция.Значение('НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента') := ПолучитьПараметрИзНастроек(4, 0, 'НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента') = 1;
  // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_ПередМодальнымФормированиемУведомления;
  ЛокКоллекция.Значение('Данные') := ссУведомления;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ВнешняяКоллекция') := коллекция;
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);  
  ткстМаппингКлассификаторов := СоздатьТекст;
  ткстМаппингКлассификаторов.РазделенноеЗначение := МаппингКлКтаблицеЗамены(1);
  ЭтоЕксел := Коллекция.Значение("ЭтоЕксел");
  УдалитьОбъект(ЛокКоллекция);
  Если ЭтоЕксел тогда 
  начало
    если не Коллекция.Значение('ИспользуетсяКассовыйРасход') тогда
      ЗаполнитьПараметрыДляЕкселя(Коллекция);
    СтарыеИНовыеБО := Коллекция.Значение('СтарыеИНовыеБО');
    СтарыеИНовыеДИ := Коллекция.Значение('СтарыеИНовыеДИ');
  конец;   
  // конец вызыва макроса
  Пока не ссИсходныеДокументы.ВКонце делать
  начало
    Прогресс.SetMessage('Формирование уведомления:' + nl +
                        'документ ' + ЦелоеВСтроку(ссИсходныеДокументы.RecNo) + ' из ' + КоличествоЗаписей_Стр);
    Прогресс.SetProgress(100 * ссИсходныеДокументы.RecNo / КоличествоЗаписей);
    Коллекция.Значение('ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой') := Истина;
    Коллекция.Значение("ЭтоДопУведомление") := ЭтоДопУведомление(ЭлДОк, полеЭлДок, ЭлДОк2, полеЭлДок2, ЭлДок3, полеЭлДок3, Коллекция);    
    Коллекция.Значение("НомерУведомления") := ВернутьНомерУведомления(Коллекция.Значение("ЭтоДопУведомление"), НомерУведомления);
    НомерУведомления := Коллекция.Значение("НомерУведомления");
    РедактироватьПоляБлокировок(ссИсходныеДокументы);
    ФормироватьУведомление := не Коллекция.Значение("ЭтоДопУведомление");
    Коллекция.Значение("ФорматированныйНомерУведомления") := ФорматироватьНомерУведДляСвязанного(НомерУведомления);
    попытка
    // заполним счета организациий у исходного документа
      ЗаполнитьСчетОрганизации("Payer", ссИсходныеДокументы, ссИсходныеДокументы.Поле("PayerAccRef").КакЦелое, Коллекция);
      ЗаполнитьСчетОрганизации("Acceptor", ссИсходныеДокументы, ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое, Коллекция);
      Если ФормироватьУведомление тогда
      начало
        // для УРМ если несколько исходных документов с разным л/c то нужно вызывать диалог выбора нужного для вставки в заголовок
        /$если Бюджет
        /$иначе        
          Коллекция.Значение("ЛсДляЗаголовкаУведомления") := ВызватьДиалогДляВыбораЛС(ссИсходныеДокументы,ссИсходныеДокументы.Поле('MasterID').КакСтрока);
        /$конец
        ПроставитьСуммуУведомления(ссУведомления, СуммаНовыхКлассификацийУведомления);
        СоздатьОдноУведомление(ссИсходныеДокументы,ссУведомления,Коллекция);
        КоличествоСозданныхУведомлений := КоличествоСозданныхУведомлений + 1;
        Коллекция.Значение(ип_НаправлениеОперации) := ссУведомления.Поле("OperationDirection").КакЦелое;
     конец
     иначе
      Если не Коллекция.Значение('НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента')  тогда
      начало
        // требуеться очистьть секцию исходного документа
        ссУведомления.Поле('OriginalSumma').Очистить;
        ссУведомления.Поле('OriginalDate').Очистить;
        ссУведомления.Поле('OriginalNumber').Очистить;
        ссУведомления.Поле('ElNum').Очистить;
        ссУведомления.Поле('OriginalNote').Очистить;
        ссУведомления.Поле('FacialAcc_Cls').Очистить;
      конец;                
      // Простановка текущей даты
      ссУведомления.ПолеПоИмени('InputDate').КакЦелое :=  Коллекция.Значение("ТекущаяДата");
      СоздатьИсходнуюКлассификацию(ссИсходныеДокументы, ссУведомления, ccУведомления_Классификация, Коллекция);
      // главной является галочка о использовании связанных документов
      СоздаватьКорДокумент := Ложь;
      СоздаватьНовДокумент := Ложь;
      если (Коллекция.Значение("РаботаСоСвязаннымиДокументами") = констаНеФормироватьСвязанныеДокументы) тогда
      начало
        ЗаполнитьКлассыИсходногоИНовогоДокументаПоПараметруИСключения(Коллекция.Значение(ип_КлассИсходногоДокумента),ПолучитьСписокКлассовИсключений,Коллекция);
        Если коллекция.значение(ип_КлассКорректирующегоДокумента) &lt;&gt; 0 тогда 
          СоздаватьКорДокумент := Истина
        иначе
          СоздаватьКорДокумент := Ложь;
        СоздаватьНовДокумент := СоздаватьКорДокумент;   
      конец
      иначе
      начало
        если (ПолучитьПараметрИзНастроек(4,0,"КолокольчикКлассБратьИзИсходного")) тогда
        начало
          если (не Коллекция.Значение("ЭтоУведомления"))
          тогда
          начало
            если (Коллекция.Значение(ип_КлассИсходногоДокумента) &lt;&gt; Класс_ПоступлениеНевыясненных) тогда
            начало 
              СоздаватьКорДокумент := Истина;
              коллекция.значение(ип_КлассКорректирующегоДокумента) := Коллекция.Значение(ип_КлассИсходногоДокумента);
            конец;
          конец
          иначе
          начало
            СоздаватьКорДокумент := Истина;
            коллекция.значение(ип_КлассКорректирующегоДокумента) := ссИсходныеДокументы.Поле('DocumentProgIndex').какцелое;
          конец;  
          если (не Коллекция.Значение("ЭтоУведомления"))  тогда
          начало
            СоздаватьНовДокумент := Истина;
            коллекция.значение(ип_КлассНовогоДокумента) := Коллекция.Значение(ип_КлассИсходногоДокумента);
          конец
          иначе
          начало
            СоздаватьНовДокумент := Истина;
            коллекция.значение(ип_КлассНовогоДокумента) := ссИсходныеДокументы.Поле('DocumentProgIndex').какцелое;
          конец;
        конец;  
      конец;
      
      если СоздаватьКорДокумент тогда
      начало
        СоздатьОдинКорректирующийДокумент(ccУведомления_Классификация, ссИсходныеДокументы, ссКорректирующийДокумент, ссКорректирующийДокумент_Заголовок, ссНовыйДокумент_Заголовок, Коллекция);
        ЗаполнитьИнформациюОСвязанномДокументе(ccУведомления_Классификация, Коллекция, Ложь);
        ДобавитьИдВСписок(ткстСписокИдКорДокументов, Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс), Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка));
      конец;  
      ЕСЛИ (ЭтоЕксел) тогда 
      начало  
        если не Коллекция.Значение("РежимЗаменыРс") тогда
        начало
          ПроставитьНовуюКлассификациюВТекущемДокументе(ссИсходныеДокументы, ткстМаппингКлассификаторов);
          ЗаменаБО(ссИсходныеДокументы, СтарыеИНовыеБО, Коллекция);                                      
          ЗаменаДИ(ссИсходныеДокументы, СтарыеИНовыеДИ, Коллекция);
        конец;
      конец;
      
      СоздатьНовуюКлассификацию(ссИсходныеДокументы, ссУведомления, ccУведомления_Классификация, Коллекция);
      если СоздаватьНовДокумент тогда
      начало
        если (Коллекция.Значение("КлассИсходногоДокумента") = Класс_ПоступлениеНевыясненных) тогда        
          коллекция.значение("КлассНовогоДокумента") := Класс_ВыяснениеНевыясненных;
        СоздатьОдинНовыйДокумент(ccУведомления_Классификация, ссИсходныеДокументы, ссНовыйДокумент, ссНовыйДокумент_Заголовок, ссКорректирующийДокумент_Заголовок, Коллекция);
        ЗаполнитьИнформациюОСвязанномДокументе(ccУведомления_Классификация, Коллекция, Истина);
        ДобавитьИдВСписок(ткстСписокИдНовДокументов, Коллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс), Коллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка));
      конец;
      СуммаНовыхКлассификацийУведомления := СуммаНовыхКлассификацийУведомления + ccУведомления_Классификация.Поле("Summa").КакДробное;
    неудача
       Прогресс.EndProgress;
       ВызватьОшибку(ПоследняяОшибка); 
    конец;    
    Коллекция.Значение(ип_СтарыйКлассКорректирующегоДокумента) := Коллекция.Значение(ип_КлассКорректирующегоДокумента);
    Коллекция.Значение(ип_СтарыйКлассНовогоДокумента) := Коллекция.Значение(ип_КлассНовогоДокумента);  
    ссИсходныеДокументы.Next;
  конец;
  ПроставитьСуммуУведомления(ссУведомления, суммаНовыхКлассификацийУведомления);
  ссУведомления.СохранитьИзменения;   
  ccУведомления_Классификация.СохранитьИзменения;
  если ПолучитьПараметрИзНастроек(4,0,"КолокольчикКлассБратьИзИсходного") тогда
  начало
    СохранитьИзменения_(ссКорректирующийДокумент_Заголовок);
    СохранитьИзменения_(ссКорректирующийДокумент);
    СохранитьИзменения_(ссНовыйДокумент_Заголовок);
    СохранитьИзменения_(ссНовыйДокумент);
  конец;
  // дополнительные действия над документами
  ВыполнитьДопМакросыНадДокументами(Коллекция.Значение(ИмяПараметра_СписокИдКорДокументов));
  ВыполнитьДопМакросыНадДокументами(Коллекция.Значение(ИмяПараметра_СписокИдНовДокументов));
  Прогресс.EndProgress;
конец;

/$если Бюджет
/$иначе
Функция GetModalFormEx : IModalFormX;
начало
  ПолучитьИнтерфейс(_IModalFormX, результат) 
конец;
/$конец
  
/// настройка формы (панели, кнопки, статиксеты)
/// FMaster, FDetail - статиксеты модальной формы
// Для Corection
функция CustomForm
  (
/$если Бюджет
  ModalForm: МодальнаяФорма;
/$иначе
  ModalForm: IModalFormX;
/$конец 
  FMaster, FDetail: СтатическиеДанные;Коллекция : IVariables
  );
переменные
  guidФормы: строка;
  Вн : ВНЕШНИЙОБЪЕКТ;
  Param : строка;
начало
/$если Бюджет
  ModalForm :=  СоздатьМодальнуюФорму;
  guidФормы := GUIDECorrection;
/$иначе
  ModalForm :=  GetModalFormEx;
  если Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда
    guidФормы := GUIDECorrection_Incomes
  иначе
    guidФормы := GUIDECorrection_Expenses; 
/$конец  
  Вн := ModalForm;

/$если Бюджет   
  если Коллекция.Значение("ТипИнтерфейса") = 312 тогда  
    Param := 'поступление'
  иначе
    Param := 'выбытие';
    
  Вн.Navigate(ArrayOf(guidФормы, Param));
  
  //Настраиваем тулбар на модальной форме
  ModalForm.ИзменитьПанель(1,3,-1,Да); //Показываем панель, которую можно настраивать 
  ModalForm.ИзменитьПанель(0,2,-1,Нет);//Скрываем стандартную панель
  ModalForm.ИзменитьКнопку(1,0,15,СобытиеОтмена,5,"Отменить",Да);//действия будут отменены
  ModalForm.СоздатьКнопку(1,СобытиеПодтвердить,4,"Подтвердить",Да); 

  //Получаем указатели на статиксеты формы
  FMaster := ModalForm.ПолучитьОбъект('ssCaption');
  FDetail := ModalForm.ПолучитьОбъект('ssDetail');
/$иначе
  ModalForm.SetObjectStr(guidФормы);
  //Получаем указатели на статиксеты формы
  FMaster := ModalForm.GetCurrentFormObject('ssCaption');
  FDetail := ModalForm.GetCurrentFormObject('ssDetail');
/$конец  
конец;

/// Инициализация формы 
функция ИнициализацияДляУведомления
  (
  /$если Бюджет   
     ФУведомления: МодальнаяФорма;
  /$иначе 
     ФУведомления: IModalFormX;    
  /$конец   
     Фмастер,ФДеталь:СтатическиеДанные;Коллекция : IVariables
  );
начало
  попытка
    CustomForm(ФУведомления, ФМастер, ФДеталь,Коллекция);
    ФормаУведомления := ФУведомления;
  неудача
    ОВ.Вывести(ПоследняяОшибка);
  конец;  
конец;


функция ДополнительнаяОбработкаСуммыИсхожныхДокументов(сс_ИсходныеДокументы : СтатическиеДанные; КлассИсхДокумента : целое);
переменные
  ПричинаОтклонения, Сумма, СуммаДеталиПоступлениеНевыясненных, СуммаДеталиПоступлениеНевыясненныхДебит : поле;
начало
  ПричинаОтклонения := сс_ИсходныеДокументы.Поле('Reject_Cls_C');
  Если (КлассИсхДокумента = класс_ПоступлениеНевыясненных) или  (КлассИсхДокумента = Класс_ВыяснениеНевыясненных) тогда
  начало
    Сумма := сс_ИсходныеДокументы.Поле('Summa');
    СуммаДеталиПоступлениеНевыясненных := сс_ИсходныеДокументы.Поле('SummaIncDet');
    СуммаДеталиПоступлениеНевыясненныхДебит := сс_ИсходныеДокументы.Поле('IncDetDebit');
  конец;
  // т.к. в детали нет поля RejectCls то если у заголовка этой детаи есть причина откотклонения
  // будем ставить SummaDetail = ''; если добавить поле в деталь возможно будет все хорошо.
  сс_ИсходныеДокументы.Фильтр :=  ' (not (Reject_Cls_C is null))';
  сс_ИсходныеДокументы.вНачало;
  пока не сс_ИсходныеДокументы.вКонце делать
  начало
    сс_ИсходныеДокументы.Поле('SummaDetail').КакСтрока := '';
    сс_ИсходныеДокументы.Следующая;
  конец;
  сс_ИсходныеДокументы.Фильтр := '';
конец;


// Формирование модальной формы
Функция СформироватьМодальнуюФорму
  (
  /$если Бюджет   
     ФУведомления: МодальнаяФорма;
  /$иначе 
     ФУведомления: IModalFormX;    
  /$конец   
    СписокВыбранныхID : строка; Коллекция : IVariables
  );
переменные
  сс_ИсходныеДокументы, сс_Заголовок, сс_Детализация : СтатическиеДанные;
  ФМастер, ФДеталь : СтатическиеДанные;
  ФлагВыхода, ВернутьсяКРазбиению : целое;
  ВозвращаемыйРезультаМодФорм : целое;
  НеЗакрывать, Проверять : целое;
  СписокIDЗаголовка,СписокIDДетализации : строка;
  ОбщееЧислоЗаписей, ЧислоНеУточненныхЗаписей, КонтрольноеЧисло : целое;
  МЗ: МенеджерЗапросов;
  /$если Бюджет
  /$иначе
  Параметры: ISetParams;
  /$конец        
  стр_ДополнитьНедостающимиИзНастроек : строка; 
начало
  // Инициализация переменных
  МЗ := ГлавныйМенеджерЗапросов;  
  сс_ИсходныеДокументы := СоздатьСтатическиеДанные;;
  сс_ИсходныеДокументы.СоединитьБД;
  сс_ИсходныеДокументы.Закрыть;
  если ВходитВГруппу(Коллекция.Значение("КлассИсходногоДокумента"), Группа_Уведомления) тогда
  начало 
    Коллекция.Значение("УведомленияКакИсходныйДокументДляКор_или_Нов") := Истина;
    Коллекция.Значение("ЭтоУведомления")  := Истина;
    если  Коллекция.Значение("КлассИсходногоДокумента") = Класс_УточнениеПоступлений  тогда Коллекция.Значение("ТипИнтерфейса") := 312;
    если  Коллекция.Значение("КлассИсходногоДокумента") = Класс_УточнениеВыбытий тогда Коллекция.Значение("ТипИнтерфейса") := 313;
  конец;  
  сс_ИсходныеДокументы.Запрос := ПолучитьЗапросПоКлассу(Коллекция.Значение("КлассИсходногоДокумента"), Коллекция);
  СформироватьОграничения(сс_ИсходныеДокументы,Коллекция.Значение("КлассИсходногоДокумента"),Коллекция );
  сс_ИсходныеДокументы.Открыть;
  ФорматироватьПоляИНН(сс_ИсходныеДокументы);
  // требуется дополнительная обработка суммы !!!
  ДополнительнаяОбработкаСуммыИсхожныхДокументов(сс_ИсходныеДокументы,(Коллекция.Значение("КлассИсходногоДокумента")));
  ПодсчитатьСуммуУточненныхДокументов(сс_ИсходныеДокументы,(Коллекция.Значение("КлассИсходногоДокумента")));
  ОбщееЧислоЗаписей := сс_ИсходныеДокументы.ЧислоЗаписей; 
  // те документы, которые уже полностью уточнены нам не нужны
  сс_ИсходныеДокументы.Фильтр :='(-0,005 &lt; SummaRemainder) and (SummaRemainder &lt; 0,005)';
  сс_ИсходныеДокументы.Очистить;
  сс_ИсходныеДокументы.Фильтр := "";
  // так же не нужно уточнять документы уточненные ПЗК
  сс_ИсходныеДокументы.Фильтр :='((isPZK is null)) and (not (SummaDetail is null))';
  сс_ИсходныеДокументы.Очистить;
  сс_ИсходныеДокументы.Фильтр := "";
  
  ЧислоНеУточненныхЗаписей := сс_ИсходныеДокументы.ЧислоЗаписей;
  КонтрольноеЧисло := ОбщееЧислоЗаписей - ЧислоНеУточненныхЗаписей;   
  если ЧислоНеУточненныхЗаписей &lt;&gt; 0 тогда 
  начало
    если КонтрольноеЧисло &lt;&gt; 0 тогда
     если Сообщение("Среди выбранных документов присутствуют документы, уже уточненные ранее.("+
        ЦелоеВСтроку(КонтрольноеЧисло)+" из "+ЦелоеВСтроку(ОбщееЧислоЗаписей)+"). На основе этих документов уведомления формироваться не будут. Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход;
  конец
  иначе
  начало
    Сообщение('Выбранные документы ранее уже  были полностью уточнены.',Сообщение_Ошибка, Кнопка_ОК);
    выход;
  конец; 
  стр_ДополнитьНедостающимиИзНастроек := ПолучитьПараметрИзНастроек(4,0,'Включать в уведомление неизменяющуюся классификацию');
  Если стр_ДополнитьНедостающимиИзНастроек = '' тогда 
    стр_ДополнитьНедостающимиИзНастроек := к_ЗначениеНастройки_ВсеДокументы;
  Если (стр_ДополнитьНедостающимиИзНастроек = к_ЗначениеНастройки_ВсеДокументы) 
  тогда
    если ((Коллекция.Значение("КлассИсходногоДокумента") = Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) или (Коллекция.Значение("КлассИсходногоДокумента") = Класс_ПриходОтПрочих) или (ПолучитьГруппуПоКлассу(Коллекция.Значение("КлассИсходногоДокумента")) = Группа_КазначействоВыбытие) )
    тогда
    начало  
      Коллекция.Значение("ПоКлассификации") := Ложь;
      ДополнитьНедостающими(сс_ИсходныеДокументы, Коллекция);
    конец;  
 // если галка не установлена то выбираем док. из одного заголовка[c одинаковой классификацией]
  Если (стр_ДополнитьНедостающимиИзНастроек = к_ЗначениеНастройки_ОдинаковаяКлассификация)
  тогда
    если  (ПолучитьГруппуПоКлассу(Коллекция.Значение("КлассИсходногоДокумента")) = Группа_КазначействоВыбытие) 
    тогда  
    начало
      Коллекция.Значение("ПоКлассификации") := Истина;
      ДополнитьНедостающими(сс_ИсходныеДокументы, Коллекция);
    конец;    
  ОВ := ОкноВывода;
  ОВ.Очистить;
  ФлагВыхода := ОпуститьФлагВыхода;
  //  Инициализация и создание модальной формы
  ИнициализацияДляУведомления(ФормаУведомления, ФМастер, ФДеталь,Коллекция);
  /$если Бюджет  
  /$иначе
  параметры := интерфейс(ФормаУведомления).ЗапроситьИнтерфейс(SetParams);  
  /$конец    
  ФДеталь.Закрыть;
  ФМастер.Закрыть;
  сс_Заголовок := СоздатьСтатикСетРасш(ФМастер, ФМастер.Запрос);
  сс_Детализация := СоздатьСтатикСетРасш(ФДеталь, ФДеталь.Запрос);
  пока (ФлагВыхода=0) делать
  начало
    МЗ.НачатьИзменения;
    попытка


  попытка
    // Открываем транзакцию, чтобы без подтвержления изменений данные не были видны 
    СформироватьУведомлениеМодал(сс_ИсходныеДокументы,сс_Заголовок,сс_Детализация,Коллекция);
    СписокIDЗаголовка :=  GetLimitStr(сс_Заголовок,'ID');
    // на всякий случай
    СписокIDДетализации := GetLimitStr(сс_Детализация,'ID');
/$если Бюджет      
    ФМастер.Параметр('ProgIndex') := 'and (Cor_c.ProgIndex = '+ Коллекция.Значение("ТипИнтерфейса") + ')';
    ФМастер.Параметр('Limits') := 'and (cor_c.id in (' + СписокIDЗаголовка + '))';
    ФДеталь.Параметр('Limits') := 'and (Cor_c.ProgIndex = '+ Коллекция.Значение("ТипИнтерфейса") + ') and (cor_c.id in (' + СписокIDЗаголовка + '))';
    Если ЦелаяКонстанта(30,15) = 1 тогда
      ФДеталь.Параметр('StdAgreement') := 1
    иначе
      ФДеталь.Параметр('StdPromise') := 1;
    ФДеталь.Открыть;
    ФМастер.Открыть;    
/$иначе
    ФМастер.Параметр('pProgIndex') := Коллекция.Значение("ТипИнтерфейса"); 
    ФДеталь.Параметр('MasterId') := СписокIDЗаголовка; 
    ФДеталь.Параметр('ModalParam') := '';
    параметры.SetParamValue("val_id_modal", СписокIDЗаголовка);
    DoPrimary(ФормаУведомления.GetObject);    
/$конец    
    Проверять := Да; //Чтобы войти в цикл
    НеЗакрывать := Да;
    ВозвращаемыйРезультаМодФорм := СобытиеПроверочное;
    // Открытие модальной формы и Обработка событий с неё
    пока (НеЗакрывать или Проверять) и (ВозвращаемыйРезультаМодФорм = СобытиеПроверочное) делать
    начало
      ВернутьсяКРазбиению := нет;
      Проверять := нет;
      если НеЗакрывать тогда
        /$если Бюджет
        ВозвращаемыйРезультаМодФорм := ФормаУведомления.ПоказатьМодально
        /$иначе
        ВозвращаемыйРезультаМодФорм := ФормаУведомления.ShowModal
        /$конец            
      иначе
        ВозвращаемыйРезультаМодФорм := СобытиеПроверочное;
      Выбрать ВозвращаемыйРезультаМодФорм из 
        СобытиеОтмена,
        СобытиеЗакрытьМодФорму :    начало
                                       ФлагВыхода := ПоднятьФлагВыхода;
                                       МЗ.UpdateError := да;
                                    конец;          
        СобытиеПодтвердить :        начало
                                       ФлагВыхода := ПоднятьФлагВыхода;
                                     конец;
      конец;  
    конец; // пока НеЗакрывать 
  неудача
    МЗ.UpdateError := да;
    ОВ.Вывести(ПоследняяОшибка);
    ФлагВыхода := ПоднятьФлагВыхода;
  конец; //попытка, Если ДокументМожноОбрабатывать



    обязательно
      МЗ.ЗавершитьИзменения;
    конец;
  конец;
конец;

функция СоздатьУведомление(ФормаВводаИнтерфейса : ФормаВвода; ВыделеныеЗаписи : СтатическиеДанные;Коллекция : IVariables);
переменные 
/$если Бюджет
  ФормаУведомления: МодальнаяФорма;
/$иначе
  ФормаУведомления: IModalFormX;
/$конец    
  КодЗаписи : целое;
  ОбщееЧислоЗаписей, ЧислоНесоответствующихЗаписей, КонтрольноеЧисло : целое;
  СписокВыделенныхID, СписокНесоответствующихID : строка;
  сс_Проверка : СтатическиеДанные;
  СписокИдТекст : текст;
начало
  // вызываем макрос для доп проверки данных
  если Реестр.Узел(ПутьКМакросуПроверки).Значение(ИмяМакросаПроверки).КакСтрока &lt;&gt; "" тогда
    ExecScript(ПутьКМакросуПроверки + '\' + ИмяМакросаПроверки,ФормаВводаИнтерфейса);
  // new код для выбора исходных докуметов --- begin ---
  Если ВыделеныеЗаписи.ЧислоЗаписей = 0 тогда
  начало
     Сообщение('Отсутствуют  выбранные документы. Проверьте наличие детализации у выбранных документов.',Сообщение_Ошибка, Кнопка_ОК );
     выход;
  конец;
  СписокИдТекст := СоздатьТекст;
  СписокВыделенныхID := GetLimitStr(ВыделеныеЗаписи,'ID');
  СписокИдТекст.РазделенноеЗначение := СписокВыделенныхID; 
  // выбираем записи у которые являються исходными или связаны с коректирующим документом
  сс_Проверка := СоздатьСтатическиеДанные;;
  сс_Проверка.СоединитьБД;
  сс_Проверка.Закрыть;
  сс_Проверка.Запрос := ПолучитьЗапросДляПроверкиВвода(СписокВыделенныхID);
  сс_Проверка.Параметр('id') := ПолучитьОграничениеПоСпискуИд('lr.childid',СписокИдТекст,Ложь);
  сс_Проверка.Открыть;
  
  ОбщееЧислоЗаписей := ВыделеныеЗаписи.ЧислоЗаписей;
  ЧислоНесоответствующихЗаписей := сс_Проверка.ЧислоЗаписей;
  КонтрольноеЧисло := ОбщееЧислоЗаписей - ЧислоНесоответствующихЗаписей; 
  если КонтрольноеЧисло &lt;&gt; 0 тогда
  начало
    если (КонтрольноеЧисло &lt;&gt; ОбщееЧислоЗаписей ) тогда
    начало
      СписокНесоответствующихID := GetLimitStr(сс_Проверка,'childid');
      ВыделеныеЗаписи.Фильтр := 'not(id in ('+СписокНесоответствующихID+'))';
      СписокВыделенныхID := GetLimitStr(ВыделеныеЗаписи,'ID');
      если Сообщение("Среди выбранных документов присутствуют документы, являющиеся корректирующими документами.("+
        ЦелоеВСтроку(ЧислоНесоответствующихЗаписей)+" из "+ЦелоеВСтроку(ОбщееЧислоЗаписей)+"). На основе не допустимых документов уведомления формироваться не будут. Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход;
    конец;    
    Коллекция.Значение("КодИнтерфейса") :=  ФормаВводаИнтерфейса.КодИнтерфейса; 
    Коллекция.Значение("КлассИсходногоДокумента") := ОпределитьКлассИсходногоДокументаПоКодуИнтерфейса(Коллекция);
    Коллекция.Значение("КодЗаписи") := СписокВыделенныхID;
    ОпределитьТипИнтерфейса(Коллекция);
    если  Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда 
      Коллекция.Значение("РаботаСоСвязаннымиДокументами") := ПолучитьПараметрИзНастроек(4,0,'РаботаСоСвязаннымиДокументамиПоступления')
    иначе                                                                                                                             
      Коллекция.Значение("РаботаСоСвязаннымиДокументами") := ПолучитьПараметрИзНастроек(4,0,'РаботаСоСвязаннымиДокументамиВыбытия');
    // детализация
    если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда  
      КодЗаписи := ФормаВводаИнтерфейса.Детализация.Таблица.Поле('ID').КакЦелое;
    // заголовок   
    если ФормаВводаИнтерфейса.АктивнаяДетализация тогда  
      КодЗаписи := ФормаВводаИнтерфейса.Заголовки.Таблица.Поле('ID').КакЦелое;  
    попытка
      СформироватьМодальнуюФорму(ФормаУведомления,СписокВыделенныхID,Коллекция);
    обязательно
      // детализация
      если  не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
      начало
        если  ВходитВГруппу(Коллекция.Значение("КлассИсходногоДокумента"), Группа_Уведомления) тогда
        начало 
          DoPrimary(получитьтекущийинтерфейс);
        конец
        иначе
        начало
          ФормаВводаИнтерфейса.Детализация.Открыть;
          ФормаВводаИнтерфейса.Детализация.Таблица.Локализовать('id', КодЗаписи, 0 );
        конец;
      конец;
      // заголовок  
      если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
      начало
        если  ВходитВГруппу(Коллекция.Значение("КлассИсходногоДокумента"), Группа_Уведомления) тогда
        начало 
          ФормаВводаИнтерфейса.Детализация.Открыть;
          ФормаВводаИнтерфейса.Заголовки.Таблица.Локализовать('id', КодЗаписи, 0 );
          DoPrimary(получитьтекущийинтерфейс);
        конец
        иначе
        начало
          ФормаВводаИнтерфейса.Заголовки.Открыть;
          ФормаВводаИнтерфейса.Заголовки.Таблица.Локализовать('id', КодЗаписи, 0 );
        конец;  
      конец;    
   
    конец;     
  конец
  иначе
    Сообщение('Выбранные документы являются корректирующими документами.',Сообщение_Ошибка, Кнопка_ОК );
конец;

функция ПолучитьСуммыВозвратаУточнения(ИДЗаписи, ИДДокумента, ИндексДанных: целое; СуммаВозврата, СуммаУведомлений: дробное): дробное;
переменные
  ПП: СтатическиеДанные;
  ЗапросВозвратов, ЗапросУведомлений: строка;
начало       
  Результат := 0;
  СуммаВозврата := 0;
  СуммаУведомлений := 0;                                           
  ПП := СоздатьСтатическиеДанные;
  попытка
    ПП.СоединитьБД;    
    ПП.Запрос := "";
    ЗапросУведомлений := 
      "{select sum(cor_d_cor.summa) summa
        from %s detail
          left join %s caption ON (caption.ID = detail.RecordIndex)
          left join LinkRecords lr ON (lr.parentid = detail.id)
[$IsBudget          
          left join Buh_Journal bj ON ((bj.OriginalRecordIndex = detail.id) and (bj.Reject_Cls IS NULL))
]          
          left join CorrectionDetail cor_d_cor ON (cor_d_cor.id = lr.ChildId)
          left join CorrectionCaption cor_c ON (cor_c.id = cor_d_cor.recordIndex)
        where [$IsBudget (bj.Id IS NULL) and ] (cor_c.Reject_Cls is null) and (detail.id = %d) %s
       }";     
    ЗапросВозвратов := 
      "[PumpData]
       {select
          sum(c.Credit) summa
        from
          FacialFinCaption c
          left join LinkRecords lr on (lr.ChildID = c.id)
        where
          %s
       }
       {select
          sum(i.Debit) summa
        from
          incomes32 i
          left join LinkRecords lr on (lr.ChildID = i.id)
        where
          %s
       }"#13#10;
    выбрать ИндексДанных из
      // Приход от прочих и восстановление расходов (305)
      61: ПП.Запрос := Формат(ЗапросВозвратов, "(lr.LinkTypeRef = 30300300)and(lr.ParentID = " + ЦелоеВСтроку(ИДДокумента) + ")and(c.REJECT_CLS is null)", "1&lt;&gt;1") +
            Формат(ЗапросУведомлений, "FacialFindetail", "FacialFINCAPTION", ИДЗаписи, "and (caption.Reject_Cls IS NULL)"); 
      // Выписка из банка (903)
      45: ПП.Запрос := Формат(ЗапросВозвратов, "(lr.LinkTypeRef = 90300100)and(lr.ParentID = " + ЦелоеВСтроку(ИДЗаписи) + ")and(c.REJECT_CLS is null)",
            "(lr.LinkTypeRef = 90900200) and (lr.ParentID = " + ЦелоеВСтроку(ИДЗаписи) + ")") +
            Формат(ЗапросУведомлений, "Incomes32", "QuotesTitle", ИДЗаписи, "and (caption.RejectCls IS NULL) and (detail.RejectCls IS NULL) and (detail.AccountIndex =  0)"); 
      // Невыясненные поступления (906)  
      41: ПП.Запрос := Формат(ЗапросВозвратов, "(lr.LinkTypeRef = 90300400)and(lr.ParentID = " + ЦелоеВСтроку(ИДЗаписи) + ")and(c.REJECT_CLS is null)",
            "(lr.LinkTypeRef = 90900400) and (lr.ParentID = " + ЦелоеВСтроку(ИДЗаписи) + ")") +
            Формат(ЗапросУведомлений, "Incomes32", "QuotesTitle", ИДЗаписи, "and (caption.RejectCls IS NULL) and (detail.RejectCls IS NULL) and (detail.AccountIndex =  0)"); 
    конец;
    если ПП.Запрос &lt;&gt; "" тогда
    начало
      ПП.Открыть;
/$если Бюджет      
      ПП.Параметр("IsBudget") := " ";
/$конец      
      ПП.ВНачало;
      СуммаВозврата := ПП.ПолеПоИмени("summa").КакДробное;
      ПП.Следующая;
      СуммаВозврата := СуммаВозврата + ПП.ПолеПоИмени("summa").КакДробное;
      ПП.Следующая;
      СуммаУведомлений := ПП.ПолеПоИмени("summa").КакДробное;
      Результат := СуммаВозврата + СуммаУведомлений;
    конец;
  обязательно
    УдалитьОбъект(ПП);
  конец;
конец;

Функция СформироватьУведомленияПоКоллекции(Коллекция : IVariables);
переменные
  сс_ИсходныеДокументы, сс_Заголовок, сс_Детализация : СтатическиеДанные;
  ФМастер, ФДеталь : СтатическиеДанные;
  СписокIDЗаголовка,СписокIDДетализации : строка;
  НеЗакрывать, Проверять : целое;
  ВозвращаемыйРезультаМодФорм : целое;
  ФлагВыхода, ВернутьсяКРазбиению : целое;
  ОбщееЧислоЗаписей, ЧислоНеУточненныхЗаписей, КонтрольноеЧисло : целое;
  МЗ: МенеджерЗапросов;
  /$если Бюджет
  /$иначе
  Параметры: ISetParams;
  /$конец        

начало
   ОВ := ОкноВывода;
   ОВ.Очистить;
   сс_ИсходныеДокументы := СоздатьСтатическиеДанные;
   сс_ИсходныеДокументы.СоединитьБД;
   сс_ИсходныеДокументы.Закрыть;
  // обработка коллекции
   Коллекция.Значение("КлассИсходногоДокумента") := ОпределитьКлассИсходногоДокументаПоКодуИнтерфейса(Коллекция);
   ОпределитьТипИнтерфейса(Коллекция);
   если  Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда 
     Коллекция.Значение("РаботаСоСвязаннымиДокументами") := ПолучитьПараметрИзНастроек(4,0,'РаботаСоСвязаннымиДокументамиПоступления')
   иначе                                                                                                                             
     Коллекция.Значение("РаботаСоСвязаннымиДокументами") := ПолучитьПараметрИзНастроек(4,0,'РаботаСоСвязаннымиДокументамиВыбытия');
  // определяет тип интерфейса 
   // по классу исходного документа определяется запрос 
   сс_ИсходныеДокументы.Запрос := ПолучитьЗапросПоКлассу(Коллекция.Значение("КлассИсходногоДокумента"), Коллекция);
 // формируем ограничение по параметрам коллекции
   СформироватьОграничения(сс_ИсходныеДокументы,Коллекция.Значение("КлассИсходногоДокумента"),Коллекция );
// получаем исходные документы
   сс_ИсходныеДокументы.Открыть;
   ФорматироватьПоляИНН(сс_ИсходныеДокументы);
   // Дополнительная обработка суммы
   ДополнительнаяОбработкаСуммыИсхожныхДокументов(сс_ИсходныеДокументы,(Коллекция.Значение("КлассИсходногоДокумента")));
   ОбщееЧислоЗаписей := сс_ИсходныеДокументы.ЧислоЗаписей;
   ПодсчитатьСуммуУточненныхДокументов(сс_ИсходныеДокументы,(Коллекция.Значение("КлассИсходногоДокумента")));
  // те документы, которые уже полностью уточнены нам не нужны
  сс_ИсходныеДокументы.Фильтр := '(-0,005 &lt; SummaRemainder) and (SummaRemainder &lt; 0,005)';
  сс_ИсходныеДокументы.Очистить;
  сс_ИсходныеДокументы.Фильтр := "";
  ЧислоНеУточненныхЗаписей := сс_ИсходныеДокументы.ЧислоЗаписей;
  КонтрольноеЧисло := ОбщееЧислоЗаписей - ЧислоНеУточненныхЗаписей;   
  если ЧислоНеУточненныхЗаписей &lt;&gt; 0 тогда 
  начало
    если КонтрольноеЧисло &lt;&gt; 0 тогда
     если Сообщение("Среди выбранных документов присутствуют документы, уже уточненные ранее.("+
        ЦелоеВСтроку(КонтрольноеЧисло)+" из "+ЦелоеВСтроку(ОбщееЧислоЗаписей)+"). На основе этих документов уведомления формироваться не будут. Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход;
  конец
  иначе
  начало
    Сообщение('Выбранные документы ранее уже  были полностью уточнены.',Сообщение_Ошибка, Кнопка_ОК);
    выход;
  конец; 
 // получам статик сеты уведомлений
  ИнициализацияДляУведомления(ФормаУведомления, ФМастер, ФДеталь,Коллекция);
  /$если Бюджет  
  /$иначе
  параметры := интерфейс(ФормаУведомления).ЗапроситьИнтерфейс(SetParams);  
  /$конец    
  ФДеталь.Закрыть;
  ФМастер.Закрыть;
  сс_Заголовок := СоздатьСтатикСетРасш(ФМастер, ФМастер.Запрос);
  сс_Детализация := СоздатьСтатикСетРасш(ФДеталь, ФДеталь.Запрос);
  МЗ := ГлавныйМенеджерЗапросов;
  МЗ.НачатьИзменения;
  попытка
    попытка
      СформироватьУведомлениеМодал(сс_ИсходныеДокументы,сс_Заголовок,сс_Детализация,Коллекция);
      // отображение модальной формы
      СписокIDЗаголовка :=  GetLimitStr(сс_Заголовок,'ID');
      // на всякий случай
      СписокIDДетализации := GetLimitStr(сс_Детализация,'ID');
    /$если Бюджет      
      ФМастер.Параметр('ProgIndex') := 'and (Cor_c.ProgIndex = '+ Коллекция.Значение("ТипИнтерфейса") + ')';
      ФМастер.Параметр('Limits') := 'and (cor_c.id in (' + СписокIDЗаголовка + '))';
      ФДеталь.Параметр('Limits') := 'and (Cor_c.ProgIndex = '+ Коллекция.Значение("ТипИнтерфейса") + ') and (cor_c.id in (' + СписокIDЗаголовка + '))';
      ФДеталь.Открыть;
      ФМастер.Открыть;
    /$иначе
      ФМастер.Параметр('pProgIndex') := Коллекция.Значение("ТипИнтерфейса"); 
      ФДеталь.Параметр('MasterId') := СписокIDЗаголовка; 
      ФДеталь.Параметр('ModalParam') := '';
      параметры.SetParamValue("val_id_modal", СписокIDЗаголовка);
      DoPrimary(ФормаУведомления.GetObject);
    /$конец    
      Проверять := Да; //Чтобы войти в цикл
      НеЗакрывать := Да;
      ВозвращаемыйРезультаМодФорм := СобытиеПроверочное;
      // Открытие модальной формы и Обработка событий с неё
      пока (НеЗакрывать или Проверять) и (ВозвращаемыйРезультаМодФорм = СобытиеПроверочное) делать
      начало
        ВернутьсяКРазбиению := нет;
        Проверять := нет;
        если НеЗакрывать тогда
        /$если Бюджет
          ВозвращаемыйРезультаМодФорм := ФормаУведомления.ПоказатьМодально
        /$иначе
          ВозвращаемыйРезультаМодФорм := ФормаУведомления.ShowModal
        /$конец            
        иначе
          ВозвращаемыйРезультаМодФорм := СобытиеПроверочное;
        Выбрать ВозвращаемыйРезультаМодФорм из 
          СобытиеОтмена,
          СобытиеЗакрытьМодФорму :    начало
                                        ФлагВыхода := ПоднятьФлагВыхода;
                                        МЗ.UpdateError := да;
                                        // требуется вызвать ошибку что бы уведомить о том что уведомлеине не создалось
                                        ВызватьОшибку('Создание уведомления отменено');
                                      конец;          
          СобытиеПодтвердить :        начало
                                        ФлагВыхода := ПоднятьФлагВыхода;
                                      конец;
        конец;  
      конец; // пока НеЗакрывать 
    неудача
      МЗ.UpdateError := да;
      ОВ.Вывести(ПоследняяОшибка);
      ФлагВыхода := ПоднятьФлагВыхода;
      ВызватьОшибку(ПоследняяОшибка);
    конец;
  обязательно
    МЗ.ЗавершитьИзменения;
  конец;   
конец;


Функция СформироватьУведомленияПоКоллекцииСписок(Коллекция : IVariables);
переменные
  сс_ИсходныеДокументы, сс_Заголовок, сс_Детализация : СтатическиеДанные;
  ФМастер, ФДеталь : СтатическиеДанные;
  СписокIDЗаголовка,СписокIDДетализации : строка;
  НеЗакрывать, Проверять : целое;
  ВозвращаемыйРезультаМодФорм : целое;
  ФлагВыхода, ВернутьсяКРазбиению : целое;
  ОбщееЧислоЗаписей, ЧислоНеУточненныхЗаписей, КонтрольноеЧисло : целое;
  МЗ: МенеджерЗапросов;
  /$если Бюджет
  /$иначе
  Параметры: ISetParams;
  /$конец        
  СписокКлассов : текст;
  сч : целое;
начало
   СписокКлассов := СоздатьТекст;
   ОВ := ОкноВывода;
   ОВ.Очистить;
   сс_ИсходныеДокументы := СоздатьСтатическиеДанные;
   сс_ИсходныеДокументы.СоединитьБД;
   сс_ИсходныеДокументы.Закрыть;
   СписокКлассов.РазделенноеЗначение(';') := Коллекция.Значение("СписокКлассов");
   сч := 0;
   МЗ := ГлавныйМенеджерЗапросов;
   МЗ.НачатьИзменения;
   попытка
     попытка
       Пока (сч &lt;= СписокКлассов.Количество-1) делать
       начало
         сс_ИсходныеДокументы.Закрыть;
         // формированиеи коллекции
         Коллекция.Значение("КодИнтерфейса") := СписокКлассов.ИмяПараметра(сч); 
         Коллекция.Значение("КодЗаписи") :=  СписокКлассов.ЗначениеПараметра(Коллекция.Значение("КодИнтерфейса"));
         Коллекция.Значение("КлассИсходногоДокумента") := ОпределитьКлассИсходногоДокументаПоКодуИнтерфейса(Коллекция);
         ОпределитьТипИнтерфейса(Коллекция);
         если  Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда 
           Коллекция.Значение("РаботаСоСвязаннымиДокументами") := ПолучитьПараметрИзНастроек(4,0,'РаботаСоСвязаннымиДокументамиПоступления')
         иначе                                                                                                                             
           Коллекция.Значение("РаботаСоСвязаннымиДокументами") := ПолучитьПараметрИзНастроек(4,0,'РаботаСоСвязаннымиДокументамиВыбытия');
         // по классу исходного документа определяется запрос 
         сс_ИсходныеДокументы.Запрос := ПолучитьЗапросПоКлассу(Коллекция.Значение("КлассИсходногоДокумента"), Коллекция);
         // формируем ограничение по параметрам коллекции
         СформироватьОграничения(сс_ИсходныеДокументы,Коллекция.Значение("КлассИсходногоДокумента"),Коллекция);  
         // получаем исходные документы
         сс_ИсходныеДокументы.Открыть;
         ФорматироватьПоляИНН(сс_ИсходныеДокументы);
         // Дополнительная обработка суммы
         ДополнительнаяОбработкаСуммыИсхожныхДокументов(сс_ИсходныеДокументы,(Коллекция.Значение("КлассИсходногоДокумента")));
         ОбщееЧислоЗаписей := сс_ИсходныеДокументы.ЧислоЗаписей;
         ПодсчитатьСуммуУточненныхДокументов(сс_ИсходныеДокументы,(Коллекция.Значение("КлассИсходногоДокумента")));
         // те документы, которые уже полностью уточнены нам не нужны
         сс_ИсходныеДокументы.Фильтр := '(-0,005 &lt; SummaRemainder) and (SummaRemainder &lt; 0,005)';
         сс_ИсходныеДокументы.Очистить;
         сс_ИсходныеДокументы.Фильтр := "";
         ЧислоНеУточненныхЗаписей := сс_ИсходныеДокументы.ЧислоЗаписей;
         КонтрольноеЧисло := ОбщееЧислоЗаписей - ЧислоНеУточненныхЗаписей;
         если ЧислоНеУточненныхЗаписей &lt;&gt; 0 тогда 
         начало
           если КонтрольноеЧисло &lt;&gt; 0 тогда
             ОВ.Вывести("Среди выбранных документов присутствуют документы, уже уточненные ранее.("+
               ЦелоеВСтроку(КонтрольноеЧисло)+" из "+ЦелоеВСтроку(ОбщееЧислоЗаписей)+"). На основе этих документов уведомления формироваться не будут.");
         конец
         иначе
           ОВ.Вывести('Класс['+ПолучитьНаименованиеДляДиалога(Коллекция.Значение("КлассИсходногоДокумента"))+']: Выбранные документы ранее уже  были полностью уточнены.');
         // считаем что список всех интерфейсов пренадлежит к одному типу интерфейса
         если сч=0 тогда
         начало
           // получам статик сеты уведомлений
           ИнициализацияДляУведомления(ФормаУведомления, ФМастер, ФДеталь,Коллекция);
          /$если Бюджет  
          /$иначе
           параметры := интерфейс(ФормаУведомления).ЗапроситьИнтерфейс(SetParams);  
           /$конец    
           ФДеталь.Закрыть;
           ФМастер.Закрыть;
           сс_Заголовок := СоздатьСтатикСетРасш(ФМастер, ФМастер.Запрос);
           сс_Детализация := СоздатьСтатикСетРасш(ФДеталь, ФДеталь.Запрос);
         конец;  
         СформироватьУведомлениеМодал(сс_ИсходныеДокументы,сс_Заголовок,сс_Детализация,Коллекция);
         // отображение модальной формы
         если сс_Заголовок.ЧислоЗаписей &lt;&gt; 0 тогда
         начало
           если СписокIDЗаголовка = '' тогда
             СписокIDЗаголовка :=  GetLimitStr(сс_Заголовок,'ID')
           иначе 
             СписокIDЗаголовка := СписокIDЗаголовка +','+ GetLimitStr(сс_Заголовок,'ID');   
         конец;
         // на всякий случай
         если сс_Детализация.ЧислоЗаписей &lt;&gt; 0 тогда
         начало
           если СписокIDДетализации = '' тогда
             СписокIDДетализации := GetLimitStr(сс_Детализация,'ID')
           иначе 
             СписокIDДетализации := СписокIDДетализации +','+ GetLimitStr(сс_Детализация,'ID');
         конец;    
         сс_Заголовок.Очистить;
         сс_Детализация.Очистить;  
         сч := сч + 1;
       конец; 
       // если спмсок созданных заголовков пуст то уведомления не созданны и нужно вывести ошибку
       если СписокIDЗаголовка = '' тогда
         ВызватьОшибку('Уведомления не были сформированы');
       /$если Бюджет      
       ФМастер.Параметр('ProgIndex') := 'and (Cor_c.ProgIndex = '+ Коллекция.Значение("ТипИнтерфейса") + ')';
       ФМастер.Параметр('Limits') := 'and (cor_c.id in (' + СписокIDЗаголовка + '))';
       ФДеталь.Параметр('Limits') := 'and (Cor_c.ProgIndex = '+ Коллекция.Значение("ТипИнтерфейса") + ') and (cor_c.id in (' + СписокIDЗаголовка + '))';
       ФДеталь.Открыть;
       ФМастер.Открыть;
       /$иначе
       ФМастер.Параметр('pProgIndex') := Коллекция.Значение("ТипИнтерфейса"); 
       ФДеталь.Параметр('MasterId') := СписокIDЗаголовка; 
       ФДеталь.Параметр('ModalParam') := '';
       параметры.SetParamValue("val_id_modal", СписокIDЗаголовка);
       DoPrimary(ФормаУведомления.GetObject);
       /$конец    
       Проверять := Да; //Чтобы войти в цикл
       НеЗакрывать := Да;
       ВозвращаемыйРезультаМодФорм := СобытиеПроверочное;
       // Открытие модальной формы и Обработка событий с неё
       пока (НеЗакрывать или Проверять) и (ВозвращаемыйРезультаМодФорм = СобытиеПроверочное) делать
       начало
         ВернутьсяКРазбиению := нет;
         Проверять := нет;
         если НеЗакрывать тогда
         /$если Бюджет
           ВозвращаемыйРезультаМодФорм := ФормаУведомления.ПоказатьМодально
         /$иначе
           ВозвращаемыйРезультаМодФорм := ФормаУведомления.ShowModal
         /$конец            
         иначе
           ВозвращаемыйРезультаМодФорм := СобытиеПроверочное;
         Выбрать ВозвращаемыйРезультаМодФорм из 
           СобытиеОтмена,
           СобытиеЗакрытьМодФорму :    начало
                                         ФлагВыхода := ПоднятьФлагВыхода;
                                         МЗ.UpdateError := да;
                                         // требуется вызвать ошибку что бы уведомить о том что уведомлеине не создалось
                                         ВызватьОшибку('Создание уведомления отменено');
                                       конец;          
           СобытиеПодтвердить :        начало
                                         ФлагВыхода := ПоднятьФлагВыхода;
                                       конец;
         конец;  
       конец; // пока НеЗакрывать 
     неудача
       МЗ.UpdateError := да;
       ОВ.Вывести(ПоследняяОшибка);
       ФлагВыхода := ПоднятьФлагВыхода;
       ВызватьОшибку(ПоследняяОшибка);
     конец;
   обязательно
     МЗ.ЗавершитьИзменения;
   конец;
конец;
</value>
    <param value="ДляУведомлений.abl" type="3" name="Export">EGORBUNOV\egorbunov\24.09.2012 10:06:04</param>
    <param value="ДляУведомлений.abl" type="3" name="version">36.741.00</param>
    <param value="ДляУведомлений.abl" type="3" name="crc32">$5883B9F2</param>
  </node>
  <delnode path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Панели\Контроль\МодальныйВызов_Кнопка" />
  <delnode path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Действия\СоздатьУведомление_Модально" />
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении\Общие">
    <value type="3" name="СинхронизироватьПримечание">КорректирующийДокументДеталь,КорректирующийДокументЗаголовок,НовыйДокументЗаголовок,НовыйДокументДеталь</value>
    <param value="СинхронизироватьПримечание" type="3" name="version">36.741.00</param>
    <param value="СинхронизироватьПримечание" type="3" name="crc32">$383552E4</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ДиспетчерНаОперациюСТаблицей">
    <value type="3" name="Заголовок">Диспетчер на операцию</value>
    <value type="7" name="код программы">ДиспетчерНаОперациюСТаблицей(ПередСохранением: целое; Данные, Операция: Целое): Целое;
включить "Project";
включить "Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\НаИзменениеДатыПроведения\Код программы";
начало
  Если ( (ПередСохранением = 2) и (Операция = 7) и (Данные = -1) ) тогда 
    НаИзменениеДатыПроведения;
конец;
</value>
    <param value="код программы" type="3" name="Export">DJON2\egorbunov\17.03.2009 16:14:20</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$7BCAD1DF</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$B839DCDA</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ДиспетчерНаТаблицу">
    <value type="3" name="Заголовок">ДиспетчерНаТаблицу</value>
    <value type="7" name="Код программы">НаСохранениеИзменений(Порядок:целое);
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\DataTools.lib';
включить '\Библиотеки\Documents.lib';
включить "Project";
включить "Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\СинхронизацияДанных\Код программы";

переменные
  Коллекция : IVariables;
начало

  Если ( Порядок = 3 ) тогда 
  начало
    попытка
      Коллекция := CreateVariables;
      Коллекция.Значение('ПринудительнаяСинхронизация') := Ложь;
      СинхронизацияДанных(Коллекция);
    обязательно
      УдалитьОбъект(Коллекция);
    конец;  
  конец;  
конец;
</value>
    <param value="Код программы" type="3" name="Export">EGORBUNOV\egorbunov\27.08.2012 16:54:41</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$F728C9FC</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$3A5FC969</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ДиспетчерМФ">
    <value type="7" name="Код программы">включить 'Project';
включить "\Библиотеки\LibRU.lib";
включить '\Макросы\Вспомогательные.abl';
включить '\библиотеки\ModalFormEx.lib';
включить '\Макросы\ПоддержкаКазначейства.abl';

ДиспетчерМФ(ИмяПоля: Строка; Параметры: ISetParams; Открывать: Целое);
начало
  Открывать := СтандартныеОгрМодФормыКазн(Параметры, ИмяПоля, "", "", нет, нет, "");
конец;
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\27.01.2012 15:11:17</param>
    <value type="3" name="Права">"{Операционный сектор}",{УчетВнебюджета}</value>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$12ED2681</param>
    <param value="Права" type="3" name="version">36.741.00</param>
    <param value="Права" type="3" name="crc32">$22619494</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ДиспетчерНаУстановкуПоляОперации">
    <value type="3" name="Заголовок">Установка поля операции</value>
    <value type="7" name="Код программы">ДиспетчерНаОперациюСТаблицей(Порядок: целое; Данные, Операция: Целое): Целое;
включить 'Project';
включить 'Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\УстановкаПоляОперации\Код программы';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';

начало
  Если ( (Порядок = 2) и (Операция = 7) и (Данные = 0) ) тогда
    если не ОтключитьЗаполнениеПоляОперация тогда
      УстановкаПоляОперации;
конец;
</value>
    <param value="Код программы" type="3" name="Export">EGORBUNOV\egorbunov\09.11.2012 18:05:31</param>
    <value type="3" name="Права">"{Операционный сектор}",{УчетВнебюджета}</value>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$D679045F</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$C6242751</param>
    <param value="Права" type="3" name="version">36.741.00</param>
    <param value="Права" type="3" name="crc32">$22619494</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\НаИзменениеДатыПроведения">
    <value type="3" name="Заголовок">НаИзменениеДатыПроведения</value>
    <value type="7" name="код программы">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\Reports.lib';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';

включить 'Project';

// синхронизируем классификацию из уведомления с классификацией нового документа
функция   НаИзменениеДатыПроведения;
переменные
  Ф : ФормаВвода;
  ссУведомления, ссУведомления_Детализация : СтатическиеДанные;
  КодЗаписи, ДатаПринятия  : целое; 
  ПолеДатаПринятия : Поле; 
начало
 // если дату принятия поставили - то мы должны принять все остальные документы, 
 // если наоборот сняли - тогда снимаем дату принятия и у всех других документов
  если (1=1) тогда 
    начало
    //Инициализация переменных
      Ф := ПолучитьФормуВвода;
      ссУведомления := Ф.Заголовки.Таблица;
      ссУведомления_Детализация := Ф.Детализация.Таблица;
      ОчиститьОкноВывода;
      ПолеДатаПринятия := ссУведомления.Поле('AcceptDate');
      // Если изменилась дата принятия тогда действуем
      Если ПолеДатаПринятия.CacheValue = ПолеДатаПринятия.какЦелое тогда Выход; 
        ДатаПринятия := ПолеДатаПринятия.КакЦелое;
    
    //Проверка возможности принять связанные документы
      КодЗаписи := ссУведомления_Детализация.Поле('Id').КакЦелое;
      Если Ф.АктивнаяДетализация = -1 тогда
        начало
          ссУведомления_Детализация.Параметр("MasterId") := ссУведомления.Поле("ID").КакЦелое;
          ссУведомления_Детализация.Открыть;
        конец;  
      ссУведомления_Детализация.ЗапретитьПрорисовку;
      ПОПЫТКА
        для ссУведомления_Детализация делать 
        начало
          .ВНачало;
          пока не ссУведомления_Детализация.ВКонце делать 
          начало
            Если не ЕстьПравоНаСозданиеКласса(.Поле('DocumentProgIndex').КакЦелое) тогда 
              ВызватьОшибку('У вас нет прав на принятие класса : ' + НаименованиеПоКоду(.Поле('DocumentProgIndex').КакЦелое));
            .Следующий;
          конец;
        конец;
      ОБЯЗАТЕЛЬНО
        ссУведомления_Детализация.РазрешитьПрорисовку;
      КОНЕЦ;
      ссУведомления_Детализация.Локализовать("id", КодЗаписи, 0);
    
    //Принимаем   
      ПринятьЭлектронныйДокумент(ссУведомления.Поле('Id').КакЦелое, ДатаПринятия);
      Если ДатаПринятия &lt;&gt; 0 тогда 
        ВывестиВПротокол(0, nil, ' Принято уведомление с номером : ' + ссУведомления.Поле('DocNumber').КакСтрока + #13#10);            
      ПринятьНовыйИКорретирующийДокумент(ссУведомления.Поле('Id').КакЦелое, ДатаПринятия);
      ВывестиВПротокол(0, nil, '||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||' + #13#10);
    конец;  
  
конец;
</value>
    <param value="код программы" type="3" name="Export">GENOFOND\gen\11.11.2009 13:24:39</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$0DA01BC0</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$91EBF7F5</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ПоискИсходногоДокумента_Действие">
    <value type="3" name="Заголовок">Формирование уведомления</value>
    <value type="7" name="код программы">//CREATED BY GEN 2007
//
//================================================================================================================//
// Макрос формирования уведомления на основании выбранных исходных документов. Можно выбирать                     //
// исходные документы практически из всех обычных интерфейсов системы.                                            //
// Вместе с формированием уведомления могут к исходным и новым классификациям уведомления (которые                //
// формируются в детализации уведомления) привязываться связанные документы, которые сформируются                 //
// автоматически на основании исходных документов.                                                                //
// Над сформированными связанными документами могут выполняться некоторые действия, а также макросы.              //
// Это зависит от настроек уведомлений (на интерфейсе пункт "Общие настройки").                                   //
// Исходные документы, на основе которых были сформированы уведомления при последующем формировании уведомлений   //
// (поиске исходных документов) исключаются из рассмотрения. Это делается на технологии связанных документов.     //
//================================================================================================================//                    

включить '\Библиотеки\LibRu.lib';                                   
включить '\библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\OptionTools.lib';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляРаботыСДиалогом';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКазначейскимРеестром';
включить '\Макросы\Уведомления\ФункцииДляСозданияУведомления';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить 'Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\СинхронизацияДанных\код программы';

включить 'project';

// Добавлены для нормальной работы СчетФО

функция ОбработчикВызоваДиалогаБюджета (Параметр : ДиалоговыйПараметр);
переменные
  код: целое;
начало
  если ДанныеКлассификатора.ПоказатьСправочник(тк_Бюджет) = 1 тогда
  начало
    код := ДанныеКлассификатора.ПолучитьКод;
    Параметр.Значение := разыменовать("Бюджет.Имя",код);
    Диалог.Параметр("RefBudget").Значение := код;
    Диалог.Параметр("AccountFO.BUDGETREF").Значение := код;
    Диалог.Параметр("AccountFO.Acc").Значение := разыменовать("Р/с.Имя",разыменовать("Бюджет.ЕдиныйСчет",код));
    Диалог.Параметр("AccountFO.DFACC_REF").Значение :=разыменовать("Бюджет.ЕдиныйСчет",код);
  конец; 
конец;

функция НазначениеОбработчикаДляБюджета (Диалог: ДиалогПараметров);
начало
   Диалог.Параметр('Бюджет').Обработчик := Адрес('ОбработчикВызоваДиалогаБюджета');
конец;

константы
  nl= #13#10;
  алгСписокКлассов  = "ткстСписокКлассов";
  констаНеФормироватьСвязанныеДокументы = '2';
  
переменные
  Ф : ФормаВвода;
  ткст_СписокКлассовНовогоДокумента, ткст_СписокКлассовИсключений : Текст;
  Коллекция, ЛокКоллекция : IVariables;
  ссИсходныеДокументы, ссИсходныеДокументы_Выделенные, ЗаголовокСИнтерфейса, 
  ссУведомления : СтатическиеДанные;
  СписокТиповДанных, СписокТиповДанныхНовогоДокумента, СтрокаСписка,  МаппингЗамены: строка;
  Класс, ТипИнтерфейса,  КодЗаписи, Нашлось, ПризнакОтправкиУФК  : Целое;
  ПРогресс : IProgress;
  ИдЗаголовкаУведомления, ПолеТипДокумента : Поле;
  стрРаботаСоСвязаннымиДокументамиИзНастроек, СчетОбслуживающейОрганизации : строка;
  МЗ: МенеджерЗапросов;
  
начало
  ф := ПолучитьФормуВвода;
  МЗ := ГлавныйМенеджерЗапросов;  
  ЗаголовокСИнтерфейса := ф.Заголовки.Таблица;
  если Ф.ЕстьИзменения тогда 
    ВызватьОшибку("Сохраните изменения перед формированием уведомлений");
      
  ОчиститьОкноВывода;
  ТипИнтерфейса := ПолучитьТипИнтерфейса(ф.КодИнтерфейса);
  попытка
    СписокТиповДанных := СформироватьСписокКлассовИсходногоДокумента(0, ТипИнтерфейса, СтрокаСписка); // получаем список классов в удобном для нас формате
    ткст_СписокКлассовНовогоДокумента := СформироватьСписокКлассовНовогоДокумента(ТипИнтерфейса, СписокТиповДанныхНовогоДокумента);
    Коллекция := CreateVariables;
    Коллекция.Значение("ткстСписокКлассов_Значение") := СтрокаСписка;
    Коллекция.Значение("ткстСписокКлассовНовогоДокумента_Значение") := ткст_СписокКлассовНовогоДокумента.Значение;
    Коллекция.Значение("ТипИнтерфейса") := ТипИнтерфейса;            
  //Формирование параметров поиска исходных документов и формирование на основе них уведомлений      
    Диалог.Очистить;
    Диалог.Заголовок := "Поиск исходного документа";
    Диалог.Добавить("Класс", "Класс", 0, ТолькоЧтение + Список, '', СписокТиповДанных);
    // в зависимости от типа интерфейса выбираем нужную настройку
    если ТипИнтерфейса = ту_УточнениеПоступлений тогда 
      стрРаботаСоСвязаннымиДокументамиИзНастроек := ПолучитьПараметрИзНастроек(4,0,'РаботаСоСвязаннымиДокументамиПоступления')
    иначе
      стрРаботаСоСвязаннымиДокументамиИзНастроек := ПолучитьПараметрИзНастроек(4,0,'РаботаСоСвязаннымиДокументамиВыбытия');
    если (стрРаботаСоСвязаннымиДокументамиИзНастроек = констаНеФормироватьСвязанныеДокументы) тогда
    начало
      Диалог.Добавить("КлассНовогоДокумента", "КлассНовогоДокумента", 0, ТолькоЧтение + Список, '', СписокТиповДанныхНовогоДокумента + nl + ' ').Видимость := Ложь;
      Диалог.Значение(ип_КлассНовогоДокумента) := 0;
    конец  
    иначе
      Диалог.Добавить("КлассНовогоДокумента", "КлассНовогоДокумента", 0, ТолькоЧтение + Список, '', СписокТиповДанныхНовогоДокумента + nl + ' ');
    ДобавитьСтандартныеПараметрыВДиалог(0);
    Если ЕстьМногобюджетность тогда  
      НазначениеОбработчикаДляБюджета(Диалог);
    
    Нашлось := 0;
    //выбираем исходные документы
      Пока Нашлось = 0 делать
      Начало
        ВставитьЗначенияИзРеестраВДиалог(ТипИнтерфейса, Коллекция);
        Если не диалог.Выполнить тогда выход;
        ПолучаемЗначениеКлассаИзДиалога(Коллекция);    
        ВставитьЗначенияВРеестр(ТипИнтерфейса, Коллекция);
        ЗаполнитьСтандартноКоллекциюПоДиалогу(Коллекция);
        Класс := Коллекция.Значение("КлассИсходногоДокумента");
        // требуется добавить проверку на исключение, если список не пустой то сопоставляем с ним класс исходного документа
        если (стрРаботаСоСвязаннымиДокументамиИзНастроек = констаНеФормироватьСвязанныеДокументы) тогда
          ЗаполнитьКлассыИсходногоИНовогоДокументаПоПараметруИСключения(Класс,ПолучитьСписокКлассовИсключений,Коллекция);
        если (ПолучитьПараметрИзНастроек(4,0,"ОграничениеДокументВключенВРеестр")) тогда
          коллекция.Значение(ип_УточнятьТолькоОтправленные) := ложь;
        
        если (ПолучитьПараметрИзНастроек(4,0,"Брать класс нового документа из диалога")) тогда
        начало
          если (коллекция.значение("КлассНовогоДокумента") = Класс_ВыяснениеНевыясненных)  //Возврат невыясненных
               и (коллекция.значение("КлассИсходногоДокумента") &lt;&gt; Класс_ПоступлениеНевыясненных) тогда
          начало
            ошибка('Для класса "' + коллекция.значение("КлассНовогоДокумента_Наименование") + '" классом исходного документа не может являться' + ' "' + НаименованиеПоКоду(коллекция.значение("КлассИсходногоДокумента")) + '". (Только "Поступление невыясненных"). ');
          конец;
        конец; 

        если (коллекция.значение("КлассИсходногоДокумента") = Класс_ВнутренниеПереброскиРасходов) тогда
          если ((коллекция.значение("КлассНовогоДокумента") &lt;&gt; Класс_ВнутренниеПереброскиРасходов) и 
                (коллекция.значение("КлассНовогоДокумента") &lt;&gt; 0)) тогда
          начало
            ошибка('Для класса "' + коллекция.значение("КлассИсходногоДокумента_Наименование") + '" классом нового документа может быть только класс "' + 
                   коллекция.значение("КлассИсходногоДокумента_Наименование") + '".');
          конец;
          
        если (коллекция.значение("КлассНовогоДокумента") = Класс_ВнутренниеПлатежиРасходов) тогда
          если ((коллекция.значение("КлассИсходногоДокумента") &lt;&gt; Класс_ВнутренниеПлатежиРасходов)) тогда
          начало
            ошибка('Для класса "' + коллекция.значение("КлассИсходногоДокумента_Наименование") + '" классом исходного документа может быть только класс "' + 
                   коллекция.значение("КлассИсходногоДокумента_Наименование") + '".');
          конец;


        если (коллекция.значение("КлассИсходногоДокумента") = Класс_ВнутренниеПлатежиРасходов) тогда
          если ((коллекция.значение("КлассНовогоДокумента")&lt;&gt; Класс_ВнутренниеПлатежиРасходов) и 
                (коллекция.значение("КлассНовогоДокумента") &lt;&gt; 0)) тогда
          начало
            ошибка('Для класса "' + коллекция.значение("КлассИсходногоДокумента_Наименование") + '" классом нового документа может быть только класс "' + 
                   коллекция.значение("КлассИсходногоДокумента_Наименование") + '".');
          конец;  
        // если класс исходного Внутренняя переброска то класс требуется заменить на соответствующий типу интерфейса уведомлений
        если коллекция.значение("КлассИсходногоДокумента")= Класс_ВнутренниеПереброскиРасходов тогда
          коллекция.значение("КлассИсходногоДокумента") := ОпределитьНапровлениеВнутреннейПереброски(ТипИнтерфейса);
        если коллекция.значение("КлассИсходногоДокумента")= Класс_ВнутренниеПлатежиРасходов тогда
          коллекция.значение("КлассИсходногоДокумента") := ОпределитьНапровлениеВнутреннихПлатежей(ТипИнтерфейса);  
        ссИсходныеДокументы := ПолучитьИсходныеДокументы(Коллекция);
        Если ссИсходныеДокументы.ЧислоЗаписей &gt; 0 тогда
          Нашлось := 1 
        иначе
        начало
          Сообщение('С такими параметрами не найдено ни одного исходного документа');
          ссИсходныеДокументы := nil;
        конец;
      Конец;
    // заполнить коллекцию и выполняем макрос из настроек уведомлений
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.Значение('ТипВызова') := т_ПослеПоискаИсходныхДокументов;
    ЛокКоллекция.Значение('Данные') := ссУведомления;
    ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
    ЛокКоллекция.Значение('ВнешняяКоллекция') := коллекция;
    ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
    УдалитьОбъект(ЛокКоллекция);  
    ссИсходныеДокументы_Выделенные := ВыбратьНужныеИсходныеДокументы(ссИсходныеДокументы, Коллекция);
    // Если исходное уведомление не было отправлено в УФК то тогда исходный документ этого уведлмления будет проставлен и для в нового
    // в обратном случаи все происходит как обычно.
    если коллекция.Значение("ЭтоУведомления") тогда
    начало
      ПолеТипДокумента := ссИсходныеДокументы_Выделенные.Поле('DocTypeCaption');
      Коллекция.Значение("КонстантаТипДокумента") := ЦелаяКонстанта(1, 55); 
      Коллекция.Значение("КонстантаВнутренниеУведомления") := ЦелаяКонстанта(1, 56);
      ИдЗаголовкаУведомления := ссИсходныеДокументы_Выделенные.Поле('MasterID'); 
      Коллекция.Значение("ПоКлассификации") := Ложь;
      // требуется пробежать по статик сету и определить какие записи будут отправляться в УФК , а какие нет
      ссИсходныеДокументы_Выделенные.ВНачало;
      пока не ссИсходныеДокументы_Выделенные.ВКонце  делать
      начало
        // если расчетный счет  (плательщика для выбытий, для поступлений - получателя) не был открыт в УФК то тип уведомления остается внутренним  
        если ссИсходныеДокументы_Выделенные.Поле('ProgIndex').какцелое = 312 тогда
          СчетОбслуживающейОрганизации := Разыменовать("Р/с.СчетОбслуживающейОрганизации",ссИсходныеДокументы_Выделенные.Поле('AcceptorAccRef').какцелое)
        иначе
          СчетОбслуживающейОрганизации := Разыменовать("Р/с.СчетОбслуживающейОрганизации",ссИсходныеДокументы_Выделенные.Поле('PayerAccRef').какцелое);
        если СчетОбслуживающейОрганизации  &lt;&gt; '' тогда
          ПризнакОтправкиУФК := ПредназначеноУведомлениеДляОтправкиВУФК(Коллекция, ПолеТипДокумента)
        иначе
          ПризнакОтправкиУФК := Истина;
        если не ПризнакОтправкиУФК тогда
          ссИсходныеДокументы_Выделенные.Поле('NotUFC').КакЦелое := Истина
        иначе
          ссИсходныеДокументы_Выделенные.Поле('NotUFC').КакЦелое := Ложь;  
        ссИсходныеДокументы_Выделенные.Следующая;      
      конец;
      // установим фильтр что бы обрабатывать только уведомления не отправленные в УФК
      ссИсходныеДокументы_Выделенные.Фильтр := "NotUFC="+ЦелоеВСтроку(Истина);
      ссИсходныеДокументы_Выделенные.ВНачало;
      МаппингЗамены := "OriginalDateUFC=OriginalDate,OriginalNumberUFC=OriginalNumber,OriginalSummaUFC=OriginalSumma,OriginalNoteUFC=OriginalNoteDet,OKATO=OKATO,ADDOKATO=ADDOKATO,OriginalPayerAccRef=PayerAccRef,OriginalAcceptorAccRef=AcceptorAccRef,FacialAcc_Cls=FacialAcc_Cls,OriginalProgIndexUFC=ProgIndex";
      // У сложных уведомлений производим переворот классификаций 
      пока не ссИсходныеДокументы_Выделенные.ВКонце делать
      начало
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы_Выделенные, ссИсходныеДокументы_Выделенные, '', '', '', '', nil, МаппингЗамены, Истина);
        ссИсходныеДокументы_Выделенные.Следующая;
      конец;
      ссИсходныеДокументы_Выделенные.Фильтр := ''; 
    конец;
    
    МЗ.НачатьИзменения;
    попытка
      ПОПЫТКА
       Коллекция.Значение("КодБюджета") := ссИсходныеДокументы_Выделенные.Поле("BudgetRef").КакЦелое;
       если Коллекция.Значение(ип_КлассКорректирующегоДокумента) &lt;&gt; 0 тогда 
          Коллекция.Значение('КодРеестраУведомленийКор') := УстановитьРеестрУведомлений(ОбычнаяДатавРасшир(ТекущаяДата),ип_КлассКорректирующегоДокумента,Коллекция)
       иначе
         Коллекция.Значение('КодРеестраУведомленийКор') := 0; 
       если Коллекция.Значение(ип_КлассНовогоДокумента) &lt;&gt; 0 тогда   
         Коллекция.Значение('КодРеестраУведомленийНов') := УстановитьРеестрУведомлений(ОбычнаяДатавРасшир(ТекущаяДата),ип_КлассНовогоДокумента, Коллекция)
       иначе
         Коллекция.Значение('КодРеестраУведомленийНов') := 0; 
       
        Коллекция.Значение('НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента') := ПолучитьПараметрИзНастроек(4, 0, 'НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента') = 1;
        ссУведомления := СоздатьСтатикСетРасш(ЗаголовокСИнтерфейса, ЗаголовокСИнтерфейса.Запрос);
        Прогресс := Progress;
        СформироватьУведомления(Ф, Прогресс,ссИсходныеДокументы_Выделенные, ссУведомления, Коллекция);
      // встаем на первое сформированное уведомление
        если коллекция.Значение("кодЗаписи") &lt;&gt; "" тогда
        кодЗаписи := коллекция.Значение("кодЗаписи");    
      //Выполнение дополнительных действий над сформированными связанными документами
        Прогресс.BeginProgress;                    
        Прогресс.SetMessage('Выполнение дополнительных действий над сформированными документами');           
        ВыполнитьДопМакросыНадДокументами(Коллекция.Значение(ИмяПараметра_СписокИдКорДокументов));
        ВыполнитьДопМакросыНадДокументами(Коллекция.Значение(ИмяПараметра_СписокИдНовДокументов));
        Прогресс.EndProgress;
      НЕУДАЧА
        МЗ.UpdateError := да;
        ВызватьОшибку(ПоследняяОшибка);
      КОНЕЦ;
    обязательно
      МЗ.ЗавершитьИзменения;
    конец;


  обязательно
    УдалитьСС_МестаИнтерфейсы;
  конец;  

  Если Коллекция.Значение("КоличествоСозданныхУведомлений") &lt;&gt; 0 тогда 
    начало
      Прогресс.BeginProgress;
      Прогресс.SetMessage('Переоткрытие заголовка');
      ПереоткрытьЗаголовок(Ф, КодЗаписи);
      //обновление записи в соответствии с новыми областями форматирования
      ExecScript(ProjectName + '\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ЗаполнениеПолейНовойОрганизации_Действие\Код программы');
      Прогресс.EndProgress;
      Сообщение('Были успешно сформированы ' + Коллекция.Значение("КоличествоСозданныхУведомлений") + ' уведомлений об уточнении вида платежа. Более подробная информация есть в окне вывода.');
    конец;
конец;
</value>
    <param value="код программы" type="3" name="Export">WKS2375\jurov\02.10.2012 15:57:47</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$E8E67CF3</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$298261D8</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ЗаполнениеПолейНовойОрганизации_Действие">
    <value type="7" name="Код программы">включить 'Project';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляРаботыСОбластямиФорматирования';

переменные
  ф : ФормаВвода;
  Заголовок, Детализация, Заголовок_Сохранение : СтатическиеДанные;
  КодИнтерфейса: Целое;
начало
  Ф := ПолучитьФормуВвода;
  КодИнтерфейса := Ф.КодИнтерфейса;
  Если КодИнтерфейса=5501 тогда
    КодИнтерфейса := 312;
  ПолучитьВыделенныеИлиТекущую(Заголовок, Ф.Заголовки.Сетка, Ф.Заголовки.Таблица);
  Заголовок.Вначало;
  Пока не Заголовок.Вконце делать
  начало             
    Детализация := СоздатьСтатическиеДанные;
    Заголовок_Сохранение := СоздатьСтатическиеДанные;
    Детализация.СоединитьБД;
    Заголовок_Сохранение.СоединитьБД;
    Детализация.CachedUpdates := истина;
    Заголовок_Сохранение.CachedUpdates       := истина;
    Детализация.Запрос := '[PumpData]{Select ClsType, meansType, Id, ChangeOrgName, ChangeOrgInn, ChangeOrgInn20, ChangeAcc, ChangeAcc_Ref, FacialAcc_CLS, FacialAcc_CLS Facialacc_Cls_Str, Note,
                                             KFSR,KCSR,KVR,KESR,KVSR,DirectionCls,Fact,RegionCls,FinType,FinSource,DocType,SubKesr,Kd,IFS, progindex 
                                        from CorrectionDetail where (recordindex = @Masterid)}
                           [ModifyData]{Update CorrectionDetail set 
                                        ChangeOrgName = ~ChangeOrgName,
                                        ChangeOrgINN = ~ChangeOrgINN,
                                        ChangeOrgINN20 = ~ChangeOrgINN20,
                                        ChangeAcc = ~ChangeAcc,
                                        MeansType = ~MeansType,
                                        ChangeAcc_Ref = ~ChangeAcc_Ref,
                                        Note = ~Note
                                        where id = ~id}';
    Заголовок_Сохранение.Запрос := Ф.Заголовки.Таблица.Запрос;
    Детализация.Параметр('MasterID') := Заголовок.Поле('id').КакСтрока;
    Детализация.Открыть;
    Детализация.Вначало;
    Пока не Детализация.Вконце делать
    начало
      Детализация.Редактировать;
      для Детализация делать
      начало
        .Поле('ChangeAcc').Очистить;
        .Поле('ChangeOrgName').Очистить;
        .Поле('ChangeOrgINN').Очистить;
        .Поле('ChangeOrgINN20').Очистить;
      конец;
      СформироватьПоОбластям(Детализация,Заголовок,Детализация,КодИнтерфейса,1);
      // области форматирования почему то не заполняют ссылку на счет - сделаем это руками
      если (Заголовок.Поле("OriginalAcceptorAcc_Ref").КакЦелое &lt;&gt; 0)  и (Детализация.Поле("ChangeAcc_Ref").IsNull) тогда
        Детализация.Поле("ChangeAcc_Ref").КакЦелое := Заголовок.Поле("OriginalAcceptorAcc_Ref").КакЦелое;
      Детализация.Следующая;
    конец;
    СохранитьИзмененияВДатасетеПоВидуИзменения(Детализация, usModified);
    Заголовок.Редактировать;
    //заголовок обновляется только для новых областей
    если Реестр.Узел("Бюджет\Объекты\Документы\Настройки\ФорматыОбластей").Значение("Использовать").КакФлаг = истина тогда
      СформироватьПоОбластям(Заголовок,Заголовок,Заголовок,КодИнтерфейса,0);
    //для сохранения
    Заголовок_Сохранение.Закрыть;
    Заголовок_Сохранение.Параметр('Limits') := "and (cor_c.id =" + Заголовок.Поле('id').КакСтрока +")";
    Заголовок_Сохранение.Открыть;
    Заголовок_Сохранение.Редактировать;
    Заголовок_Сохранение.Поле('Note').КакСтрока := Заголовок.ПолеПоИмени('Note').КакСтрока;
    Заголовок_Сохранение.Сохранить;
    Заголовок_Сохранение.СохранитьИзменения;    
    Заголовок.Следующая;
  конец;
  Заголовок.СохранитьИзменения;
  Детализация.СохранитьИзменения;
  ПереоткрытьДетализацию(Ф, Детализация.Поле("ID").КакЦелое);
  ПереоткрытьЗаголовок(Ф, Заголовок.Поле("ID").КакЦелое);
  УдалитьОбъект(Заголовок,Детализация);
конец.
</value>
    <param value="Код программы" type="3" name="Export">EGORBUNOV\egorbunov\21.11.2012 17:18:11</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$BB635D30</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ПоискИсходногоДокумента_ИзСложенногоПоля_Действие">
    <value type="3" name="Заголовок">Поиск исходного документа  из сложенного поля</value>
    <value type="7" name="код программы">//CREATED BY GEN 2007
//
//=============================================================================================================================//
// Этот макрос вызывается при двойном нажатии на поле "Исходный документ" интерфейса "Уведомление об уточнении вида платежа".  //
// Показывается диалог, в котором задаются параметры поиска исходного документа. После чего показывается список документы,     //
// которые нашлись по этим параметрам. После выбора одного из предложенных документов информация из него попадает              //
// в группу полей "Исходный документ" на интерфейсе "Уведомление об уточнении вида платежа".                                   //
//=============================================================================================================================//                    


включить '\Библиотеки\LibRu.lib';   
включить '\Библиотеки\Reports.lib';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляРаботыСДиалогом';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляСозданияУведомления';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';

включить 'project';

ПоискИсходногоДокумента_ИзСложенногоПоля;

переменные
  Ф : ФормаВвода;
  ткст_СписокКлассов : Текст;
  ссИсходныеДокументы, ссИсходныеДокументы_Выделенные, ЗаголовокСИнтерфейса, ссУведомления : СтатическиеДанные;  
  Коллекция  : IVariables;
  СписокТиповДанных, СтрокаСписка : строка;
  Класс, ТипИнтерфейса, КодЗаписи  : Целое;


начало
          
  ф := ПолучитьФормуВвода;
  ЗаголовокСИнтерфейса := ф.Заголовки.Таблица;
  если Ф.ЕстьИзменения тогда 
    ВызватьОшибку("Сохраните изменения перед импортом данных");
      
//*1*Инициализация переменных --- начало
  ткст_СписокКлассов := СоздатьТекст;
  //--//
  ссУведомления := СоздатьСтатикСетРасш(ЗаголовокСИнтерфейса, ЗаголовокСИнтерфейса.Запрос);  
  //--//
  Коллекция := CreateVariables;
  ТипИнтерфейса := ПолучитьТипИнтерфейса(ф.КодИнтерфейса);
  КодЗаписи := ЗаголовокСИнтерфейса.Поле('ID').КакЦелое;
  ОчиститьОкноВывода;
  //--//  
  СписокТиповДанных := СформироватьСписокКлассовИсходногоДокумента(0, ТипИнтерфейса, СтрокаСписка); // получаем список классов в удобном для нас формате
  ткст_СписокКлассов.Значение := СтрокаСписка;
  Коллекция.Значение("ткстСписокКлассов_Значение") := ткст_СписокКлассов.Значение;
  Коллекция.Значение("ТипИнтерфейса") := ТипИнтерфейса;            
//*1*Инициализация переменных --- конец  

//*2*Формирование параметров поиска исходных документов --- начало      
  Диалог.Очистить;
  Диалог.Заголовок := "Поиск исходного документа";
  Диалог.Добавить("Класс", "Класс", 0, ТолькоЧтение + Список, '', СписокТиповДанных);
  если (ПолучитьПараметрИзНастроек(4,0,"НеФормироватьСвязанныеДокументы")) тогда
  начало
    Диалог.Добавить("КлассНовогоДокумента", "КлассНовогоДокумента", 0, ТолькоЧтение + Список, '', ' ').Видимость := Ложь;
    Диалог.Значение(ип_КлассНовогоДокумента) := 0;
  конец;
  ДобавитьСтандартныеПараметрыВДиалог(0);
  диалог.значение('НомерДокТип') := 'Равно';
  Если не диалог.Выполнить тогда выход;
  ПолучаемЗначениеКлассаИзДиалога(Коллекция);    
  ЗаполнитьСтандартноКоллекциюПоДиалогу(Коллекция);
//*2*Формирование параметров поиска исходных документов --- конец

//*3*Выбор документа и заполнение информации об исходном документе в текущем уведомлении --- начало  
  Класс := Коллекция.Значение("КлассИсходногоДокумента");
  ссИсходныеДокументы := ПолучитьИсходныеДокументы(Коллекция);
  если ссИсходныеДокументы.recordcount = 0 тогда
  начало
    сообщение('С такими параметрами не найдено ни одного исходного документа ')
  конец;
  Коллекция.Значение("ЗаполнятьТолькоИнформациюОбИсходномДокументе") := Истина;
  ссИсходныеДокументы_Выделенные := ВыбратьНужныеИсходныеДокументы(ссИсходныеДокументы, Коллекция);
  Коллекция.Значение("КодБюджета") := ссИсходныеДокументы_Выделенные.Поле("BudgetRef").КакЦелое;
  // заполним счета организациий у исходного документа
  ЗаполнитьСчетОрганизации("Payer", ссИсходныеДокументы_Выделенные, ссИсходныеДокументы_Выделенные.Поле("PayerAccRef").КакЦелое, Коллекция);
  ЗаполнитьСчетОрганизации("Acceptor", ссИсходныеДокументы_Выделенные, ссИсходныеДокументы_Выделенные.Поле("AcceptorAccRef").КакЦелое, Коллекция);
  СоздатьОдноУведомление(ссИсходныеДокументы_Выделенные, ссУведомления, Коллекция);
  //--//
  ЗаголовокСИнтерфейса.Редактировать;
  // заполняем плательщика
  ЗаменитьПоляПоМаппингу(ссУведомления, ЗаголовокСИнтерфейса, 'OriginalPayer', 'OriginalPayer', '', '', nil, МаппингПолейОрганизации + ",Acc_Ref=Acc_Ref", Истина);
  // заполняем получателя
  ЗаменитьПоляПоМаппингу(ссУведомления, ЗаголовокСИнтерфейса, 'OriginalAcceptor', 'OriginalAcceptor', '', '', nil, МаппингПолейОрганизации+ ",Acc_Ref=Acc_Ref", Истина);
  // заполняем остальные поля
  ЗаменитьПоляПоМаппингу(ссУведомления, ЗаголовокСИнтерфейса, 'Original', 'Original', '', '', nil, 'Number=Number,Date=Date,Summa=Summa,Note=Note,RecordIndex=RecordIndex,ProgIndex=ProgIndex', Истина);
  // Поля ОКАТО
  ЗаменитьПоляПоМаппингу(ссУведомления, ЗаголовокСИнтерфейса, '', '', '', '', nil, 'Okato=Okato,Elnum=Elnum,AddOkato=AddOkato', Истина);
  ЗаголовокСИнтерфейса.Сохранить;
//*3*Выбор документа и заполнение информации об исходном документе в текущем уведомлении --- конец

  // todo : добавить транзакции
  // todo : добавить обработку связанных документов
  // todo : переоткрыть заголовок тут весьма нетривиально - нужно будет заняться 
       
конец;
</value>
    <param value="код программы" type="3" name="Export">DJON2\egorbunov\07.09.2011 16:07:27</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$EAEB4BC2</param>
    <param value="код программы" type="3" name="version">36.741.00</param>
    <param value="код программы" type="3" name="crc32">$382C834D</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ПровестиУведомление">
    <value type="3" name="Заголовок">Провести уведомление</value>
    <value type="7" name="Код программы">включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Уведомления\ФункцииДляСозданияДокументов";

// так как в обмене с банком реализовано принятие подменой макросов, то приходится создавать отдельный макрос с одной функцией :) 
ПровестиУведомление(ссУведомление: СтатическиеДанные; ПризнакПринятияИзОбмена: целое = 0);
начало
  ссУведомление.Вначало;
  пока не ссУведомление.Вконце делать
  начало
    ПринятьНовыйИКорретирующийДокумент(ссУведомление.Поле('ID').КакЦелое, ссУведомление.Поле('AcceptDate').КакЦелое, ПризнакПринятияИзОбмена);
    ссУведомление.Следующая;
  конец;
конец;
</value>
    <param value="Код программы" type="3" name="Export">GENOFOND\gen\11.11.2009 14:58:48</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$38C1A4C1</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$2BEF7F54</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{51A02542-E455-4F15-BB84-F28E5787B175}\Действия\ПровестиУведомление">
    <value type="7" name="Код программы">
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Макросы\Уведомления\ФункцииДляСозданияДокументов";

// так как в обмене с банком реализовано принятие подменой макросов, то приходится создавать отдельный макрос с одной функцией :) 
ПровестиУведомление(сс_Уведомление: СтатическиеДанные; ПризнакПринятияИзОбмена: целое = 0);
переменные
  ДатаПроведения, ИД : Целое;
начало
  сс_Уведомление.Вначало;
  пока не сс_Уведомление.ВКонце делать
  начало
    Ид := сс_Уведомление.Поле('ID').КакЦелое;
    ДатаПроведения := сс_Уведомление.Поле('AcceptDate').КакЦелое; 
    ПринятьНовыйИКорретирующийДокумент(Ид, ДатаПроведения, ПризнакПринятияИзОбмена);
    сс_Уведомление.Следующая;  
  конец;
  
  // проводим также и новые уведомления
  попытка
    ExecScript("Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ПровестиУведомление\код программы", сс_Уведомление, ПризнакПринятияИзОбмена);
  неудача
    //ВызватьОшибку("Возникла ошибка при проведении новых уведомлений: " + ПоследняяОшибка);
  конец;
  
конец;
</value>
    <param value="Код программы" type="3" name="Export">GENOFOND\gen\04.08.2008 10:06:06</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$B2A69A66</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\СинхронизацияДанных">
    <value type="3" name="Заголовок">Синхронизация данных</value>
    <value type="7" name="Код программы">//CREATED BY GEN 2007
//
//==========================================================================================================================================//
// При формировании уведомления в детализации у него расположена информация об исходных и новых классификациях.                             //
// К каждой строке классификации может быть привязан связанный документ (может формироваться автоматически, а может выбираться из списка    //
// предложенных документов).                                                                                                                //
// При изменении информации в уведомлении или в строке классификации в соответствующий связанный документ                                   //
// должны попасть новые данные (засинхронизироваться классификация и допполя), что и делается в этом макросе.                               //
//==========================================================================================================================================// 

включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\DataTools.lib';
включить '\Библиотеки\Documents.lib';                                                
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСозданияУведомления';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\ФункцииДляСозданияНестандартныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';



включить 'Project';



Константы
  ткИсточниковая = 1;
  ткДоходная = 2;
  тоПоступление = 0;
  тоВосстановление = 3;
  нпПогашение = -1;
  нпПоступление = 1; 
  МаппингДляДопПолей = 'Note=Note,Reject_Cls=Reject_Cls,RejectCause=RejectCause,BasicNote=BasicNote,InputDate=InputDate,DocNumber=DocNumber';
  цкКорДок = 315;
  цкНовДок = 316;
  цкЗаголовок = 1;
  цкДетализация = 0;
  
переменные
  типИнтерфейса: целое;  

// Смотрим из общих настроек, нужно ли синхронизировать примечание для кор или нов документа
Функция СинхронизироватьПримечание(Документ, ЭтоЗаголовок : целое) : целое;
переменные
  текст_параметры : текст;
начало
  результат := ложь;
  текст_параметры := СоздатьТекст;
  текст_параметры.РазделенноеЗначение := GetParamEx(4,0,'СинхронизироватьПримечание');
  если текст_параметры.РазделенноеЗначение &lt;&gt; '' тогда
  начало
    Если (Документ = цкКорДок) и не ЭтоЗаголовок и (текст_параметры.Поиск('КорректирующийДокументДеталь') &gt; -1) тогда
      результат := истина;
    Если (Документ = цкКорДок) и ЭтоЗаголовок и (текст_параметры.Поиск('КорректирующийДокументЗаголовок') &gt; -1) тогда
      результат := истина;
    Если (Документ = цкНовДок) и не ЭтоЗаголовок и (текст_параметры.Поиск('НовыйДокументДеталь') &gt; -1) тогда
      результат := истина;
    Если (Документ = цкНовДок) и ЭтоЗаголовок и (текст_параметры.Поиск('НовыйДокументЗаголовок') &gt; -1) тогда
      результат := истина;
  конец;    
конец;

// проверяем изменилась ли нужные нам данные
функция ИзмениласьКлассификация(Данные : СтатическиеДанные; Маппинг : Строка; ПостфиксСтарое, ПостФиксНовое : строка; ЭтоДопПоля : целое) : целое;
переменные
  ткст_Проверка : Текст;
  Индекс : целое;
  ИмяПоляСтарое, ИмяПоляНовое : строка;  
начало
  Результат := Ложь;
  ткст_Проверка :=  СоздатьТекст;
  ткст_Проверка.РазделенноеЗначение := Маппинг;
  Индекс := 0;
  Пока (Индекс &lt;= (ткст_Проверка.Количество-1)) и (не Результат) делать
  начало
    ИмяПоляСтарое := ткст_Проверка.ИмяПараметра(Индекс);
    ИмяПоляНовое := ткст_Проверка.ЗначениеПараметра(ИмяПоляСтарое) + ПостФиксНовое;
    ИмяПоляСтарое :=  ИмяПоляСтарое + ПостфиксСтарое;
    Если Данные.НайтиПоле(ИмяПоляСтарое) тогда 
      начало
        Если (Данные.Поле(ИмяПоляСтарое).СтароеЗначениеСтрока&lt;&gt;Данные.Поле(ИмяПоляНовое).КакСтрока) и
             ( ЭтоДопПоля или (не Данные.Поле(ИмяПоляСтарое).СтароеЗначениеПустое) )
        тогда 
          Результат := Истина;
      конец;
    Индекс := Индекс + 1;
  конец;
конец;

// поля не классификация. Но нужные для того чтобы их синхронизировать,
// например сумма документа
функция ИзменилисьДопПоля(Данные : СтатическиеДанные; Маппинг : строка) : целое;
начало
  Результат := ИзмениласьКлассификация(Данные, Маппинг,'' ,'', Истина); 
конец;

функция ИзменитьПоляКлассификации(ссИзменяемыйДокумент, ссЗаголовок, ссДетализация : СтатическиеДанные; Маппинг : строка);
начало
  ссИзменяемыйДокумент.Редактировать;
  ЗаменитьПоляПоМаппингу(ссДетализация, ссИзменяемыйДокумент, '', '', '', '',nil, Маппинг, Истина);
  
  Если ((ссДетализация.Поле("ProgIndex").КакЦелое = прогиндекс_ИсходнаяКлассификация)  и (не ф_ЭтоВП(ссИзменяемыйДокумент.поле('progindex').какцелое)) и 
       (не ф_ЭтоВПл(ссИзменяемыйДокумент.поле('progindex').какцелое))) тогда 
  начало
    если ссИзменяемыйДокумент.Поле("Debit").КакДробное = 0 тогда
      ссИзменяемыйДокумент.Поле("Summa").КакДробное := - ссИзменяемыйДокумент.Поле("Summa").КакДробное
    иначе                    
    начало
      ссИзменяемыйДокумент.Поле("Debit").КакДробное := ссИзменяемыйДокумент.Поле("Summa").КакДробное;
      ссИзменяемыйДокумент.Поле("Summa").КакДробное := 0;
    конец;  
  конец;  
  если GetParamEx(4,0,'СинхронизироватьДатуВвода')  тогда
    ссИзменяемыйДокумент.Поле('InputDate').КакДробное := ссЗаголовок.Поле('InputDate').КакДробное;
  Если (ссДетализация.Поле("DocumentProgIndex").КакЦелое = Класс_ВыяснениеНевыясненных) тогда
    ЗаменитьПоляПоМаппингу(ссЗаголовок, ссИзменяемыйДокумент, '', '', '', '',nil, МаппингДляДопПолей, Истина);
  ссИзменяемыйДокумент.Сохранить;  
конец;

функция ИзменитьДопПоля(ссИзменяемыйДокумент, ссИзменяемыйДокумент_Заголовок, ссЗаголовок, ссДетализация : СтатическиеДанные);
переменные
  классДокумента: целое;
начало
  классДокумента := ссДетализация.Поле("DocumentProgIndex").КакЦелое;
  //Изменяем связанный документ 
  ссИзменяемыйДокумент.Редактировать;
  если (СинхронизироватьПримечание(ссДетализация.ПолеПоИмени('Progindex').КакЦелое, цкДетализация)) тогда
    ссИзменяемыйДокумент.Поле('Note').КакСтрока := ссДетализация.Поле('Note').КакСтрока;
  ссИзменяемыйДокумент.Поле('Reject_Cls').КакСтрока := ссЗаголовок.Поле('Reject_Cls').КакСтрока; 
  ссИзменяемыйДокумент.Поле('RejectCause').КакСтрока := ссЗаголовок.Поле('RejectCause').КакСтрока;  
  ссИзменяемыйДокумент.Поле('DocNumber').КакСтрока := ФорматироватьНомерУведДляСвязанного(ссЗаголовок.Поле('DocNumber').КакСтрока);         
  // проверяем , если у нас сумма в дебете ненулевая - тогда требуется изменять сумму в дебете , а не в кредите
  ЕСЛИ ссИзменяемыйДокумент.Поле('Debit').КакЦелое&lt;&gt;0 тогда
    начало  
      ссИзменяемыйДокумент.Поле('Debit').КакДробное := ссДетализация.Поле('Summa').КакДробное;
      ссИзменяемыйДокумент.Поле('Summa').КакЦелое := 0;
    конец  
  ИНАЧЕ 
    ссИзменяемыйДокумент.Поле('Summa').КакДробное := ссДетализация.Поле("Summa").КакДробное;
  Если (ссДетализация.Поле("ProgIndex").КакЦелое = прогиндекс_ИсходнаяКлассификация)  и (не ф_ЭтоВП(ссИзменяемыйДокумент.поле('progindex').какцелое))
       и (не ф_ЭтоВПл(ссИзменяемыйДокумент.поле('progindex').какцелое)) тогда 
    ссИзменяемыйДокумент.Поле("Summa").КакДробное := - ссИзменяемыйДокумент.Поле("Summa").КакДробное;
  если (классДокумента = класс_УчетКассовыхВыплат) и ссЗаголовок.Поле("Progindex").КакЦелое = ту_УточнениеПоступлений тогда
    ссИзменяемыйДокумент.Поле("Summa").КакДробное := -мод(ссИзменяемыйДокумент.Поле("Summa").КакДробное); 
  ссИзменяемыйДокумент.Сохранить;

  //Изменяем заголовок связанного заголовка      
  ЕСЛИ  ссИзменяемыйДокумент_Заголовок &lt;&gt; nil  тогда
    НАЧАЛО
      ссИзменяемыйДокумент_Заголовок.Редактировать;
      ссИзменяемыйДокумент_Заголовок.Поле('FacialAcc_Cls').КакЦелое := ссДетализация.Поле('FacialAcc_Cls').КакЦелое;
      ссИзменяемыйДокумент_Заголовок.Поле('Reject_Cls').КакСтрока := ссЗаголовок.Поле('Reject_Cls').КакСтрока; 
      ссИзменяемыйДокумент_Заголовок.Поле('RejectCause').КакСтрока := ссЗаголовок.Поле('RejectCause').КакСтрока;           
      ссИзменяемыйДокумент_Заголовок.Поле('Summa').КакДробное := ссДетализация.Поле('Summa').КакДробное;
      ссИзменяемыйДокумент_Заголовок.Поле('DocNumber').КакСтрока := ФорматироватьНомерУведДляСвязанного(ссЗаголовок.Поле('DocNumber').КакСтрока);
      если GetParamEx(4,0,'СинхронизироватьДатуВвода')  тогда
      начало
        ссИзменяемыйДокумент.Поле('InputDate').КакДробное := ссЗаголовок.Поле('InputDate').КакДробное;
        ссИзменяемыйДокумент_Заголовок.Поле('InputDate').КакДробное := ссЗаголовок.Поле('InputDate').КакДробное;
      конец;
      // основание сносим только для внутренней переброски
      Если  (ф_ЭтоВП(ссДетализация.Поле('DocumentProgIndex').КакЦелое)) или (ф_ЭтоВПл(ссДетализация.Поле('DocumentProgIndex').КакЦелое))  тогда 
        ссИзменяемыйДокумент_Заголовок.Поле('Note').КакСтрока := ссЗаголовок.Поле('BasicNote').КакСтрока
      иначе 
      начало
        если (СинхронизироватьПримечание(ссДетализация.Поле('ProgIndex').КакЦелое, цкЗаголовок)) тогда
          ссИзменяемыйДокумент_Заголовок.Поле('Note').КакСтрока := ссДетализация.Поле('Note').КакСтрока;
      конец;
      ссИзменяемыйДокумент_Заголовок.Поле("ClsType").КакЦелое := ссДетализация.Поле('ClsType').КакЦелое;
      
      // сначала общее проставление направления операции  
      ссИзменяемыйДокумент_Заголовок.Поле("OperationDirection").КакЦелое := ПроставитьНаправлениеОперацииДляСвязанныхУведомлений(типИнтерфейса,ссДетализация.Поле("DocumentProgIndex").КакЦелое,ссИзменяемыйДокумент_Заголовок.Поле("ClsType").КакЦелое,ссДетализация.Поле('IFS').КакЦелое);
      // потом исключительные случаи
      Если (ссДетализация.Поле("DocumentProgIndex").КакЦелое = Класс_ПриходОтПрочих) тогда 
        начало
          Если ЭтоКлассификацияДохода(ссИзменяемыйДокумент_Заголовок.Поле("ClsType").КакЦелое, ссДетализация.Поле('IFS').КакЦелое)  тогда 
            ссИзменяемыйДокумент_Заголовок.Поле("OperationDirection").КакЦелое := тоПоступление;
          Если ЭтоКлассификацияРасхода(ссИзменяемыйДокумент_Заголовок.Поле("ClsType").КакЦелое, ссДетализация.Поле('IFS').КакЦелое) тогда
            ссИзменяемыйДокумент_Заголовок.Поле("OperationDirection").КакЦелое := тоВосстановление;               
        конец;    
      если ((ф_ЭтоВП(ссДетализация.Поле("DocumentProgIndex").КакЦелое, истина)) или (ф_ЭтоВПл(ссДетализация.Поле("DocumentProgIndex").КакЦелое, истина))) и 
             ((ссЗаголовок.Поле("OriginalProgIndex").КакЦелое = Класс_ПриходОтПрочих) или 
             (ссЗаголовок.Поле("OriginalProgIndex").КакЦелое = Класс_ПодтверждениеВозвратаСоСчетовДляНаличности)) и
           (ссДетализация.Поле('clsTYpe').какцелое = тк_Расходная)
      тогда
        ссИзменяемыйДокумент_Заголовок.Поле("OperationDirection").КакЦелое := 1;
        
        
      Если (ссДетализация.Поле("ProgIndex").КакЦелое = прогиндекс_ИсходнаяКлассификация) и (не ф_ЭтоВП(ссИзменяемыйДокумент_Заголовок.поле('progindex').какцелое))
            и (не ф_ЭтоВПл(ссИзменяемыйДокумент_Заголовок.поле('progindex').какцелое)) тогда 
        ссИзменяемыйДокумент_Заголовок.Поле("Summa").КакДробное := - ссИзменяемыйДокумент_Заголовок.Поле("Summa").КакДробное;
      если (классДокумента = класс_УчетКассовыхВыплат) и ссЗаголовок.Поле("Progindex").КакЦелое = ту_УточнениеПоступлений тогда
       ссИзменяемыйДокумент_Заголовок.Поле("Summa").КакДробное := -мод(ссИзменяемыйДокумент_Заголовок.Поле("Summa").КакДробное); 
  
      ссИзменяемыйДокумент_Заголовок.Сохранить;  
    КОНЕЦ;
конец;


функция ИзмениласьКлсИлиДопПоля(ссЗаголовок,ссДетализация : СтатическиеДанные;маппингКлассификации, маппингДопПолей : строка) : целое;
начало
  результат := Истина;
//  результат := ИзмениласьКлассификация(ссДетализация, маппингКлассификации, "", "", Ложь) или 
//               ИзменилисьДопПоля(ссЗаголовок, маппингДляДопПолей)
конец;

// спрашивать у пользователя разрешения синхронизировать данные 
функция ВывестиПредупреждениеПользователю(ссДетализация, ссЗаголовок : СтатическиеДанные);
переменные 
  строкаСообщения : строка;
  ЕстьДок : целое;
начало
  ЕСЛИ GetParamEx(4,0,'СпрашиватьРазрешениеНаСинхронизацию') = 1 тогда 
    НАЧАЛО
      ЕстьДок := не ссДетализация.Поле('DocumentRecordIndex').Пустое; 
      ЕстьДок := ЕстьДок и 
                 (   
                    ИзмениласьКлассификация(ссДетализация, МаппингДляСинхронизацииДанных + ",Summa=Summa", "", "", Ложь) или 
                    ИзменилисьДопПоля(ссЗаголовок, МаппингДляДопПолей) 
                 );
      СтрокаСообщения := 'Классификация, сумма и допполя связанного документа будут синхронизированы с уведомлением. Продолжить?';
      Если ЕстьДок тогда 
        Если Сообщение(СтрокаСообщения, сообщение_вопрос ,  Кнопка_Да+Кнопка_Нет) = Результат_Нет тогда 
          ВызватьОшибку('Синхронизация данных отменена пользователем'); 
    КОНЕЦ; 
конец;

// если тип классификации у данных не соответсвует классу связанного документа - выводим сообщение пользователю
функция ПроверитьТипКлассификацииСообщ(ссДанные : СтатическиеДанные);
переменные
  коллекция : IVariables;
начало
  коллекция := CreateVariables;
  попытка
    коллекция.Значение("ТипКлассификации") := ссДанные.Поле('ClsType').КакЦелое;
    коллекция.Значение("Класс") := ссДанные.Поле("DocumentProgIndex").КакЦелое;
    Если не ПроверитьТипКлассификации(ссДанные, Коллекция) тогда 
      ВызватьОшибку('Тип классификации:"' + РазыменоватьТипКлассификации(коллекция.Значение("ТипКлассификации")) + '" не предусмотрен для класса: "' + НаименованиеПоКоду(ссДанные.Поле('DocumentProgIndex').КакЦелое) + '"');
  обязательно
    УдалитьОбъект(коллекция);
  конец;
конец;


/*функция ПолучитьСвязанныйДокументЗаголовок(ссДетализация : СтатическиеДанные) : СтатическиеДанные;
переменные 
  коллекция : IVariables;
начало
  коллекция := CreateVariables;
  результат := nil;
  попытка
    коллекция.Значение('КодЗаписи') := ссДетализация.Поле('DocumentRecordIndex').КакЦелое;
    коллекция.Значение('ВыбиратьОтклоненные') := 1;
    коллекция.Значение("ТолькоПринятые") := Ложь;
    коллекция.Значение(ип_КлассИсходногоДокумента) := ссДетализация.Поле('DocumentProgIndex').КакЦелое;
    результат := ПолучитьИсходныеДокументы_Заголовок(коллекция);
  обязательно
    УдалитьОбъект(коллекция);
  конец;
конец;*/

// проверяем наличие изменения в полях заголовка

функция ПроверитьИзмененияВЗаголовке(МаппингДляДопПолей : строка; ссЗаголовок : СтатическиеДанные ): целое;
переменные
  Сч : целое;
  ИмяПоля : строка;
  Маппинг : текст;
начало
  Результат := Ложь;
  Сч := 0;
  Маппинг := СоздатьТекст ();
  Маппинг.РазделенноеЗначение := МаппингДляДопПолей;
  Пока (Сч &lt;= Маппинг.Количество - 1) и (не результат) делать
  начало
    ИмяПоля := Маппинг.ЗначениеПараметра(Маппинг.ИмяПараметра(Сч));
    если не (ссЗаголовок.Поле(ИмяПоля).Пустое) тогда
    начало
      если (ссЗаголовок.Поле(ИмяПоля).CacheValue &lt;&gt; ссЗаголовок.Поле(ИмяПоля).AsVariant) и
           (
             (ссЗаголовок.Поле(ИмяПоля).CacheValue &lt;&gt; nil) или 
             (ссЗаголовок.Поле(ИмяПоля).AsVariant  &lt;&gt; nil)
           ) тогда
      начало
        Результат := Истина;
      конец;
    конец
    иначе
    начало                                          
      если (ссЗаголовок.Поле(ИмяПоля).CacheValue &lt;&gt; '' ) тогда
      начало  
        Результат := Истина;
      конец;
    конец;  
    Сч := Сч + 1;
  конец;    
конец;

// синхронизируем классификацию из уведомления с классификацией нового документа
функция СинхронизацияДанных(Коллекция : IVariables);
переменные
  ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок,
  ссЗаголовок, ссДетализация, ссДетализацияСФормы : СтатическиеДанные;
  Ф : ФормаВвода;
  ЕстьЗаголовок, кодЗаписи, ИзменилсяЗаголовок : целое;
  ткст_СписокИдДокументов : Текст;
  МаппингДляСинхронизацииДанныхССуммой, фильтрФормы: строка;
  НужнаСинхронизация, ПрогиндексСвязанногоДокумента, СсылкаНаСвязанныйДокумент, ПрогиндексДетализации : Поле;  
начало                                                                                      
  ЕСЛИ (1=1) тогда 
  НАЧАЛО
  //Инициализация переменных
    ткст_СписокИдДокументов := СоздатьТекст;  
    если не Коллекция.Значение('ПринудительнаяСинхронизация') тогда
    начало
      Ф := ПолучитьФормуВвода;
      фильтрФормы := Ф.Заголовки.Таблица.Фильтр;
      типИнтерфейса := ПолучитьТипИнтерфейса(ф.КодИнтерфейса);
      ссЗаголовок := Ф.Заголовки.Таблица;
      ссДетализацияСФормы  := Ф.Детализация.Таблица;
    конец
    иначе
    начало
      типИнтерфейса := Коллекция.Значение("ТипИнтерфейса");
      ссЗаголовок := Коллекция.Значение('ЗаголовокУведомления'); 
      ссДетализацияСФормы := Коллекция.Значение('ДетальУведомления');
    конец;
    ссДетализация := СоздатьСтатическиеДанные;
    ссДетализация.СоединитьБД;
    ссДетализация.ПрисвоитьПоля(ссДетализацияСФормы);
    ссДетализация.Открыть;
    ссДетализацияСФормы.filtered := ложь;
    ссДетализация.Закачать(ссДетализацияСФормы, "");
    ссДетализацияСФормы.filtered := истина;
    кодЗаписи := ссДетализация.Поле("ID").КакЦелое;
   
    если ссЗаголовок.UpdateStatus = 1 тогда
      ИзменилсяЗаголовок := ПроверитьИзмененияВЗаголовке(МаппингДляДопПолей, ссЗаголовок)
    иначе  
      ИзменилсяЗаголовок := Ложь;
    
    МаппингДляСинхронизацииДанныхССуммой := МаппингДляСинхронизацииДанных + ",Summa=Summa";
    ВывестиПредупреждениеПользователю(ссДетализация, ссЗаголовок);
    
    НужнаСинхронизация  := ссДетализация.Поле("NeedSynchro");
    ПрогиндексСвязанногоДокумента := ссДетализация.Поле('DocumentProgIndex'); 
    СсылкаНаСвязанныйДокумент := ссДетализация.Поле('DocumentRecordIndex');
    ПрогиндексДетализации := ссДетализация.Поле('Progindex');
      ссДетализация.ВНачало;
      Пока не ссДетализация.ВКонце делать 
      начало
        ссЗаголовок.Фильтр := Формат("Id=%d",ссДетализация.Поле("RecordIndex").КакЦелое);
        ЕСЛИ  ЕстьСвязанныйДокумент(ссДетализация) и ((НужнаСинхронизация.какЦелое = 1) или ИзменилсяЗаголовок) тогда        
          НАЧАЛО
            ПроверитьТипКлассификацииСообщ(ссДетализация);
            ссСвязанныйДокумент := ПолучитьСвязанныйДокумент(ссДетализация);
            Если ссСвязанныйДокумент.RecordCount &lt;&gt; 0 тогда 
              начало
              //синхронизируем связанный документ
                ИзменитьПоляКлассификации(ссСвязанныйДокумент, ссЗаголовок, ссДетализация, МаппингДляСинхронизацииДанныхССуммой);
              //Если есть заголовок у связанного документа - синхронизируем его 
                ЕстьЗаголовок := ф_ТребуетсяФормироватьЗаголовок(ПрогиндексСвязанногоДокумента.КакЦелое);
                Если ЕстьЗаголовок тогда
                начало
                  ссСвязанныйДокумент_Заголовок := ПолучитьСвязанныйДокументЗаголовок(ссДетализация);
                  ИзменитьДопПоля(ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок, ссЗаголовок, ссДетализация);
                  // вывести в протокол если это принудительный вызов
                  если Коллекция.Значение('ПринудительнаяСинхронизация')  тогда
                    ВывестиВПротоколNЗаписей(сообщение_ПротоколаПЗКОтклоненСвязанныйДокумент, ссСвязанныйДокумент, '');
                  Если ПрогиндексДетализации.КакЦелое = цкНовДок тогда
                  начало
                    ссСвязанныйДокумент.Редактировать;
                    ссСвязанныйДокумент_Заголовок.Редактировать;
                    ЗаполнитьПоляПоТаблицеПодстановок(ссДетализация, ссСвязанныйДокумент, ссДетализация, СписокПолейДляСверкиПриСинхронизации, СписокПолейДляПодстановокДет);
                    ЗаполнитьПоляПоТаблицеПодстановок(ссДетализация, ссСвязанныйДокумент_Заголовок, ссЗаголовок, СписокПолейДляСверкиПриСинхронизации, СписокПолейДляПодстановокЗаг);
                    ссСвязанныйДокумент.Сохранить;
                    ссСвязанныйДокумент_Заголовок.Сохранить;
                  конец;
                  ссСвязанныйДокумент_Заголовок.СохранитьИзменения;
                конец;
                ссСвязанныйДокумент.СохранитьИзменения;  
              //Выполняем дополнительные макросы над связанным документом
                Если ИзмениласьКлассификация(ссДетализация, МаппингДляСинхронизацииДанныхССуммой, '', '', Ложь) или 
                      ИзмениласьКлассификация(ссЗаголовок, МаппингДляДопПолей, '', '', Истина)
                тогда
                  начало
                    ДобавитьИдВСписок(ткст_СписокИдДокументов, ПрогиндексСвязанногоДокумента.КакЦелое, СсылкаНаСвязанныйДокумент.КакЦелое);          
                    ВыполнитьДопМакросыНадДокументами(ткст_СписокИдДокументов.Значение);
                  конец;
              конец;
          КОНЕЦ;
        ссДетализация.Next;  
      конец;
     ссЗаголовок.Фильтр := фильтрФормы; 
  КОНЕЦ;
конец;

</value>
    <param value="Код программы" type="3" name="Export">WKS2375\jurov\29.11.2012 19:16:06</param>
    <value type="3" name="Права" />
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$E9553BC6</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$038BC6D9</param>
    <param value="Права" type="3" name="version">36.741.00</param>
    <param value="Права" type="3" name="crc32">$00000000</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\СформироватьУведомлениеПоСуществующимДокументам_Действие">
    <value type="3" name="Заголовок">Формирование уведомления по сущдокам</value>
    <value type="7" name="Код программы">//CREATED BY GEN 2007
//
//======================================================================================================================================================//
// Формируется уведомление на основании существующих документов. Т.е. сначала выбирается исходный документ, формируется на основании него уведомление   //
// с одной строчкой исходной и одной строчкой новой классификации. Потом, если пожелал пользователь, выбирается корректирующий документ. Этот документ  //
// становится связанным для исходной классификации. Далее выбирается новый документ. Новый документ становится связанным для новой классификации.       //
// Причём классификация из нового документа переносится в детализацию новой классификации.                                                              //
// В итоге получается связка из трёх документов. Если изменяются какие-либо атрибуты уведомления то эта информация синхронизируется с                   //
// соответствующим связанным документом (например, поставили дату принятия в уведомлении - проставилась дата принятия в связ.доках                      //
//======================================================================================================================================================// 

включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';                                   
включить '\Библиотеки\Documents.lib';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляРаботыСДиалогом';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляСозданияУведомления';

включить 'project';

переменные 
  Ф : ФормаВвода;
  ссИсходныеДокументы, ссИсходныеДокументы_Выделенные, ЗаголовокСИнтерфейса, ссУведомления, 
  ссУведомления_ИсходнаяКлассификация, ссУведомления_НоваяКлассификация : СтатическиеДанные;
  Коллекция  : IVariables;
  СтрокаСписка, СписокТиповДанных  : строка;
  ТипИнтерфейса : Целое;
  КодЗаписи, ФормироватьКорректирующийДокумент, ФормироватьНовыйДокумент, ЭтоВП, КоличествоСозданныхУведомлений, ДокументОк : целое;   
  Прогресс : IProgress;
  
функция ЗаполнитьИнформациюОСвязанномДокументеРасш(ссИсходныеДокументы, ссУведомления_Классификация : СтатическиеДанные;
                                                   Коллекция : IVariables; ЭтоНовыйДокумент : целое);
переменные
  ткстМаппингКлассификаторов : Текст;                                                   
начало
  ЕСЛИ ЭтоНовыйДокумент тогда 
    начало
      Коллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс) := ссИсходныеДокументы.Поле("ProgIndex").КакЦелое;
      Коллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка) := ссИсходныеДокументы.Поле("ID").КакЦелое;
      ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_Классификация, Коллекция, ЭтоНовыйДокумент);
      попытка
        ткстМаппингКлассификаторов := СоздатьТекст;
        ткстМаппингКлассификаторов.Значение := МаппингКлКтаблицеЗамены(1);
        ссУведомления_Классификация.Редактировать;
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_Классификация, '','' ,'' ,'' , ткстМаппингКлассификаторов, '', ложь);
        ссУведомления_Классификация.Сохранить;
      обязательно
        УдалитьОбъект(ткстМаппингКлассификаторов);
      конец;
    конец
  ИНАЧЕ 
    начало
      Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс) := ссИсходныеДокументы.Поле("ProgIndex").КакЦелое;
      Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка) := ссИсходныеДокументы.Поле("ID").КакЦелое;
      ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_Классификация,  Коллекция, ЭтоНовыйДокумент);
    конец;
  ссУведомления_Классификация.СохранитьИзменения;      
конец;

начало
//Инициализация переменных
  ф := ПолучитьФормуВвода;
  ЗаголовокСИнтерфейса := ф.Заголовки.Таблица;
  Коллекция := CreateVariables;
  КодЗаписи := ЗаголовокСИнтерфейса.Поле('ID').КакЦелое;
  ссУведомления := СоздатьСтатикСетРасш(ЗаголовокСИнтерфейса, ЗаголовокСИнтерфейса.Запрос);
  ТипИнтерфейса := ПолучитьТипИнтерфейса(ф.КодИнтерфейса);    
  Прогресс := Progress;
  попытка
    СписокТиповДанных := СформироватьСписокКлассовИсходногоДокумента(0, ТипИнтерфейса, СтрокаСписка); // получаем список классов в удобном для нас формате
    Коллекция.Значение("ткстСписокКлассов_Значение") := СтрокаСписка;
    
  //Формирование параметров поиска исходных документов      
    Диалог.Очистить;
    Диалог.Заголовок := "Поиск исходного документа";
    Диалог.Добавить("Класс", "Класс", 0, ТолькоЧтение + Список, '', СписокТиповДанных);
    Диалог.Добавить('Корректир. документ', 'ФормироватьКорректирующийДокумент',0, Проверка+ТолькоЧтение);
    Диалог.Флаг('ФормироватьКорректирующийДокумент') := Истина;
    Диалог.Добавить('Новый документ', 'ФормироватьНовыйДокумент',0, Проверка+ТолькоЧтение);
    Диалог.Флаг('ФормироватьНовыйДокумент') := Истина;
    ДобавитьСтандартныеПараметрыВДиалог(0);
    Если не диалог.Выполнить тогда выход;
    ПолучаемЗначениеКлассаИзДиалога(Коллекция);    
    ЗаполнитьСтандартноКоллекциюПоДиалогу(Коллекция);
    ФормироватьКорректирующийДокумент := Диалог.Флаг('ФормироватьКорректирующийДокумент') и (не ЭтоВП);  
    ФормироватьНовыйДокумент := Диалог.Флаг('ФормироватьНовыйДокумент') и (не ЭтоВП);
    Если ФормироватьКорректирующийДокумент или ФормироватьНовыйДокумент тогда 
      Коллекция.Значение("ЭтоВыборСуществующихДокументов") := Истина;

    ОТКРЫТЬТРАНЗАКЦИЮ;
    ПОПЫТКА
    //Выбор исходного документа, и формирование на основании него уведомления
      ссИсходныеДокументы := ПолучитьИсходныеДокументы(Коллекция);
      если ссИсходныеДокументы.recordcount = 0 тогда
      начало
        сообщение('С такими параметрами не найдено ни одного исходного документа ')
      конец;
      Коллекция.Значение("ТипИнтерфейса") := ТипИнтерфейса;    
      ссИсходныеДокументы_Выделенные := ВыбратьНужныеИсходныеДокументы(ссИсходныеДокументы, Коллекция);
      Коллекция.Значение("КодБюджета") := ссИсходныеДокументы_Выделенные.Поле("BudgetRef").КакЦелое;
      СформироватьУведомления(Ф, Прогресс,ссИсходныеДокументы_Выделенные, ссУведомления, Коллекция);
      КоличествоСозданныхУведомлений := Коллекция.Значение("КоличествоСозданныхУведомлений");
      ссУведомления_ИсходнаяКлассификация := Коллекция.Значение(ип_ссИсходнаяКлассификация);
      ссУведомления_НоваяКлассификация := Коллекция.Значение(ип_ссНоваяКлассификация);

    //Выбор корректирующего документа                              
      ЕСЛИ ФормироватьКорректирующийДокумент тогда 
        начало
          ДокументОк := 0; 
          пока ДокументОк = 0 делать
          начало
            Коллекция.Clear;
            СписокТиповДанных := СформироватьСписокКлассовИсходногоДокумента(0, ТипИнтерфейса+4, СтрокаСписка);
            Коллекция.Значение("ткстСписокКлассов_Значение") := СтрокаСписка;
            //коллекция.Значение(ип_НеВыбиратьСПринятымРеестром) := Истина;
            коллекция.Значение("ТолькоПринятые") := 0;
            коллекция.Значение(ип_УточнятьТолькоОтправленные) := Ложь; 
            Диалог.Очистить;
            Диалог.Заголовок := "Поиск корректирующего документа";
            Диалог.Добавить("Класс", "Класс", 0, ТолькоЧтение + Список, '', СписокТиповДанных);
            ДобавитьСтандартныеПараметрыВДиалог(0);
            Если не диалог.Выполнить тогда выход;
            ПолучаемЗначениеКлассаИзДиалога(Коллекция);
            ЗаполнитьСтандартноКоллекциюПоДиалогу(Коллекция);
            Коллекция.Значение("ЭтоВыборСуществующихДокументов") := Истина;
            ссИсходныеДокументы := ПолучитьИсходныеДокументы(Коллекция);
            если ссИсходныеДокументы.recordcount = 0 тогда
            начало
              сообщение('С такими параметрами не найдено ни одного исходного документа ')
            конец
            иначе
            начало
              ссИсходныеДокументы_Выделенные := ВыбратьНужныеИсходныеДокументы(ссИсходныеДокументы, Коллекция);
              Если ПроверкаНаОдинКОдному(Коллекция.Значение(ип_КлассИсходногоДокумента), ссИсходныеДокументы_Выделенные.Поле('id').КакЦелое) тогда
              начало
                ЗаполнитьИнформациюОСвязанномДокументеРасш(ссИсходныеДокументы_Выделенные, ссУведомления_ИсходнаяКлассификация, Коллекция, Ложь);
                ДокументОк := 1;
              конец;    
            конец;
          конец;      
        конец;  

    //Выбор нового документа
      ЕСЛИ ФормироватьНовыйДокумент тогда 
        начало
          ДокументОк := 0;
          пока ДокументОк = 0 делать
          начало
            Коллекция.Clear;
            СписокТиповДанных := СформироватьСписокКлассовИсходногоДокумента(0, ТипИнтерфейса+6, СтрокаСписка);
            коллекция.Значение("ткстСписокКлассов_Значение") := СтрокаСписка;
            //коллекция.Значение(ип_НеВыбиратьСПринятымРеестром) := Истина;
            коллекция.Значение("ТолькоПринятые") := 0;
            коллекция.Значение(ип_УточнятьТолькоОтправленные) := Ложь; 
            Диалог.Очистить;
            Диалог.Заголовок := "Поиск нового документа";
            Диалог.Добавить("Класс", "Класс", 0, ТолькоЧтение + Список, '', СписокТиповДанных);
            ДобавитьСтандартныеПараметрыВДиалог(0);
            Если не диалог.Выполнить тогда выход;
            ПолучаемЗначениеКлассаИзДиалога(Коллекция);
            ЗаполнитьСтандартноКоллекциюПоДиалогу(Коллекция);
            Коллекция.Значение("ЭтоВыборСуществующихДокументов") := Истина;
            ссИсходныеДокументы := ПолучитьИсходныеДокументы(Коллекция);
            если ссИсходныеДокументы.recordcount = 0 тогда
            начало
              сообщение('С такими параметрами не найдено ни одного исходного документа ')
            конец
            иначе  
            начало
              ссИсходныеДокументы_Выделенные := ВыбратьНужныеИсходныеДокументы(ссИсходныеДокументы, Коллекция);
              Если ПроверкаНаОдинКОдному(Коллекция.Значение("КлассИсходногоДокумента"), ссИсходныеДокументы_Выделенные.Поле('id').КакЦелое) тогда
              начало
                ЗаполнитьИнформациюОСвязанномДокументеРасш(ссИсходныеДокументы_Выделенные, ссУведомления_НоваяКлассификация, Коллекция, Истина);
                ДокументОк := 1
              конец;
            конец;
          конец; 
        конец;  
    НЕУДАЧА
      ОТМЕНИТЬТРАНЗАКЦИЮ;
      ВызватьОшибку(ПоследняяОшибка);
    КОНЕЦ;
    ЗАКРЫТЬТРАНЗАКЦИЮ;
  обязательно
    УдалитьСС_МестаИнтерфейсы;
  конец;  

      
  Если КоличествоСозданныхУведомлений &lt;&gt; 0 тогда 
    начало
      Прогресс.BeginProgress;
      Прогресс.SetMessage('Переоткрытие заголовка');
      ПереоткрытьЗаголовок(Ф, КодЗаписи);
      Прогресс.EndProgress;  
      Сообщение('Было успешно сформировано уведомление об уточнении вида платежа на основании существующих документов');
    конец; 
конец.
</value>
    <param value="Код программы" type="3" name="Export">GENOFOND\gen\11.11.2009 15:01:25</param>
    <value type="4" name="Отладка">0</value>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$9796B271</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$7FCB445D</param>
    <param value="Отладка" type="3" name="version">36.741.00</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\УстановкаПоляОперации">
    <value type="3" name="Заголовок">Установка поля операции</value>
    <value type="7" name="Код программы">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LIbRu.lib';

включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить 'Project';

функция УстановкаПоляОперации;
переменные
  ф: ФормаВвода;
  ссУведомления, ссИсходныеДокументы, ссЗаголовок: СтатическиеДанные;
  ЛокКоллекция, коллекция: IVariables;
начало
  ф := ПолучитьФормуВвода;
  ПолучитьТекущую(ссУведомления,Ф.Детализация(0).Таблица);
  ПолучитьТекущую(ссЗаголовок,Ф.Заголовки.Таблица);
  
  ссИсходныеДокументы := СоздатьСтатическиеДанные;
  ссИсходныеДокументы.СоединитьБД;
  ссИсходныеДокументы.Запрос := Ф.Детализация(0).Таблица.Запрос;
  ссИсходныеДокументы.Параметр('Limits') :=  'and cor_d.id = ' + ссУведомления.ПолеПоИмени('parentid').КакСтрока;
  ссИсходныеДокументы.Открыть;
  
  коллекция := CreateVariables;
  коллекция.Значение('КлассИсходногоДокумента') := Ф.Заголовки.Таблица.ПолеПоИмени('OriginalProgIndex').КакЦелое;
  коллекция.Значение('ТипИнтерфейса') := ПолучитьТипИнтерфейса(Ф.КодИнтерфейса); 
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_СозданиеНовойКлассификации;
  ЛокКоллекция.Значение('Данные') := ссУведомления;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ВызовНаПост') := истина;
  ЛокКоллекция.Значение('ЗаголовокУведомлений') := ссЗаголовок;
  ЛокКоллекция.Значение('ВнешняяКоллекция') := коллекция;
  
  попытка
    ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
    Ф.Детализация(0).Таблица.ПолеПоИмени('BuhOperationCls').КакЦелое := ссУведомления.ПолеПоИмени('BuhOperationCls').КакЦелое;
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец;
  УдалитьОбъект(ЛокКоллекция,коллекция,ссИсходныеДокументы,ссУведомления);
конец;

</value>
    <param value="Код программы" type="3" name="Export">EGORBUNOV\egorbunov\18.01.2013 12:23:09</param>
    <value type="3" name="Права">"{Операционный сектор}",{УчетВнебюджета}</value>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$D679045F</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$40A047BA</param>
    <param value="Права" type="3" name="version">36.741.00</param>
    <param value="Права" type="3" name="crc32">$22619494</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\УстановитьСледНомерУвед_Действие">
    <value type="3" name="Заголовок">Установить следующий номер</value>
    <value type="7" name="Код программы">включить '\Макросы\Уведомления\ФункцииДляГенераторов';
начало 
  УстановтьЗначенияГенератораНомераУведомления();
конец.
</value>
    <param value="Код программы" type="3" name="Export">GENOFOND\gen\16.08.2007 12:06:55</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$EBF04635</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$5CE231F6</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ФормированиеКорректирующегоДокумента_Действие">
    <value type="3" name="Заголовок">Формирование корректирующего документа</value>
    <value type="7" name="Код программы">//CREATED BY GEN 2007
//
//===================================================================================================================================================================//
// Макрос формирования корректирующего документа. - это связанный документ для исходной классификации. Вызываться может как в момент формирования уведомлений,       //
// если пользователь сказал что нужно формировать корректирующие документы, либо если в детализации у строки с исходной классификацией выбрать какое либо значение   //
// из выпадающего списка поля "Класс документа".                                                                                                                     //
// Документ формируется на основании данных исходного документа текущего уведомления. Выбирается sql скрипт для класса связанного документа, на основании него       //
// формируется статиксет , туда запихивается информация из исходного документа и сохраняется. Также заносится информация в строку с исходной классификацией          //
// что у неё есть связанный документ, и при изменении данных в уведомлении или исходной классификации эти данные будут синхронизироваться в связанный документ       //
//===================================================================================================================================================================//

включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';

включить 'project';


ФормированиеКорректирующегоДокумента(ссЗаголовок : СтатическиеДанные; СсылкаНаДетальСвязДокумента : целое);

переменные
  ссУведомления_Заголовок, ссУведомления_Детализация : СтатическиеДанные;
  Ф : ФормаВвода;
  локКоллекция : IVariables;
  Вн : ВНЕШНИЙОБЪЕКТ;
НАЧАЛО  
  Ф := ПолучитьФормуВВода;
  вн := ПолучитьТекущийИнтерфейс;
  ссУведомления_Заголовок := Ф.Заголовки.Таблица;
  ссУведомления_Детализация := Ф.Детализация.Таблица;
  Если не ссУведомления_Детализация.Active тогда 
    ссУведомления_Детализация.Открыть;
  ЛокКоллекция := CreateVariables;
  локКоллекция.Значение(ип_КлассИсходногоДокумента) := ссУведомления_Заголовок.Поле("OriginalProgIndex").КакЦелое;
  локКоллекция.Значение(ип_СсылкаНаУведомление) := ссУведомления_Заголовок.Поле("ID").КакЦелое;
  локКоллекция.Значение("ссЗаголовокУведомления") := ссУведомления_Заголовок;  
  локКоллекция.Значение("типИнтерфейса") := ПолучитьТипИнтерфейсаПоПараметру(Вн.Param);   
  если ссУведомления_Заголовок.Поле("OriginalRecordIndex").КакЦелое &lt;&gt; 0 тогда    
    локКоллекция.Значение("СсылкаНаИсходныйДокумент") := ссУведомления_Заголовок.Поле("OriginalRecordIndex").КакЦелое
  иначе
    локКоллекция.Значение("СсылкаНаИсходныйДокумент") := НайтиИдИсходногоДокПоСвязям(локКоллекция.Значение(ип_СсылкаНаУведомление), локКоллекция.Значение(ип_КлассИсходногоДокумента));
  локКоллекция.Значение("НомерУведомления") := ссУведомления_Заголовок.Поле("DocNumber").КакСтрока;
  локКоллекция.Значение("ТекущаяДата") := ОбычнаяДатаВРасшир(ТекущаяДата);
  локКоллекция.Значение("ЭтоНовыйДокумент") := Ложь;
  локКоллекция.Значение(ип_НаправлениеОперации) := ссУведомления_Заголовок.Поле("OperationDirection").КакЦелое; 
  локКоллекция.Значение("КодБюджета") := ссУведомления_Заголовок.Поле("BudgetRef").КакЦелое;
  локКоллекция.Значение("СоздаемСвязанныйДокумент") := Истина; 
  СоздатьСвязанныйДокументПоСобытию(ссУведомления_Детализация, локКоллекция);
  СсылкаНаДетальСвязДокумента := ЛокКоллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка); 
КОНЕЦ.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\10.08.2010 9:48:08</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$71F738A3</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$03D03DB5</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\ФормированиеНовогоДокумента_Действие">
    <value type="3" name="Заголовок">Формирование нового документа</value>
    <value type="7" name="Код программы">//CREATED BY GEN 2007
//
//==============================================================================================================================================================//
// Макрос формирования нового документа. - это связанный документ для новой классификации. Вызываться может как в момент формирования уведомлений,              //
// если пользователь сказал что нужно формировать новые документы, либо если в детализации у строки с новой классификацией выбрать какое либо значение          //
// из выпадающего списка поля "Класс документа".                                                                                                                //
// Документ формируется на основании данных исходного документа текущего уведомления. Выбирается sql скрипт для класса связанного документа, на основании него  //
// формируется статиксет , туда запихивается информация из исходного документа и сохраняется. Также заносится информация в строку с новой классификацией        //
// что у неё есть связанный документ, и при изменении данных в уведомлении или исходной классификации эти данные будут синхронизироваться в связанный документ  //
//==============================================================================================================================================================//

включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';

включить 'project';

ФормированиеНовогоДокумента(ссЗаголовок : СтатическиеДанные; СсылкаНаДетальСвязДокумента : целое);

переменные
  ссУведомления_Заголовок, ссУведомления_Детализация : СтатическиеДанные;
  Ф : ФормаВвода;
  локКоллекция : IVariables;
  Вн : ВНЕШНИЙОБЪЕКТ;
НАЧАЛО  
  Ф := ПолучитьФормуВВода;
  вн := ПолучитьТекущийИнтерфейс;
  ссУведомления_Заголовок := Ф.Заголовки.Таблица;
  ссУведомления_Детализация := Ф.Детализация.Таблица;
  Если не ссУведомления_Детализация.Active тогда 
    ссУведомления_Детализация.Открыть;
  локКоллекция := CreateVariables;
  локКоллекция.Значение(ип_КлассИсходногоДокумента) := ссУведомления_Заголовок.Поле("OriginalProgIndex").КакЦелое;
  локКоллекция.Значение(ип_СсылкаНаУведомление) := ссУведомления_Заголовок.Поле("ID").КакЦелое;
  локКоллекция.Значение("ссЗаголовокУведомления") := ссУведомления_Заголовок;
  локКоллекция.Значение("типИнтерфейса") := ПолучитьТипИнтерфейсаПоПараметру(Вн.Param);
  если ссУведомления_Заголовок.Поле("OriginalRecordIndex").КакЦелое &lt;&gt; 0 тогда    
    локКоллекция.Значение("СсылкаНаИсходныйДокумент") := ссУведомления_Заголовок.Поле("OriginalRecordIndex").КакЦелое
  иначе
    локКоллекция.Значение("СсылкаНаИсходныйДокумент") := НайтиИдИсходногоДокПоСвязям(локКоллекция.Значение(ип_СсылкаНаУведомление), локКоллекция.Значение(ип_КлассИсходногоДокумента));
  локКоллекция.Значение("НомерУведомления") := ссУведомления_Заголовок.Поле("DocNumber").КакСтрока;
  локКоллекция.Значение("ТекущаяДата") := ОбычнаяДатаВРасшир(ТекущаяДата);
  локКоллекция.Значение("ЭтоНовыйДокумент") := Истина;
  локКоллекция.Значение(ип_НаправлениеОперации) := ссУведомления_Заголовок.Поле("OperationDirection").Какцелое;
  локКоллекция.Значение("КодБюджета") := ссУведомления_Заголовок.Поле("BudgetRef").КакЦелое;
  локКоллекция.Значение("СоздаемСвязанныйДокумент") := Истина;
  СоздатьСвязанныйДокументПоСобытию(ссУведомления_Детализация, локКоллекция);
  СсылкаНаДетальСвязДокумента := ЛокКоллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка);
  ссУведомления_Детализация.Поле('DocumentRecordIndex').КакЦелое := ссылкаНаДетальСвязДокумента;  
  ссУведомления_Детализация.Поле('DocumentProgIndex').КакЦелое := локКоллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс);

КОНЕЦ.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\10.08.2010 9:48:13</param>
    <param value="Заголовок" type="3" name="version">36.741.00</param>
    <param value="Заголовок" type="3" name="crc32">$DD7D7B83</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$32E65245</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\НайтиИсходныйДокументДляДокументаВозврата_Действие">
    <value type="7" name="Код программы">включить '\Библиотеки\LibRu.lib';
включить "\библиотеки\ABLTools.lib";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\Control.lib";
включить '\Библиотеки\Documents.lib';
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\Макросы\Уведомления\КонстантыДляУведомлений";
включить "\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов";

включить "project";

константы
  класс_платежныеПоручения = 63;


переменные 
  ф: формаВВода;
  ссЗаголовок, ссДетализация, ссДетализация_Выделенные, ссИсходныеДокументы, ссИсходныйДокумент_Выделенный: СтатическиеДанные;
  коллекция: IVariables;
  естьИзменения: целое;
  
функция ПолучитьНомер(строкаБезПробелов: строка) : строка;
переменные
 ТекПоз:целое;
 ДлинаСтр:целое;
начало
// N678; п/п678; N:678
  Результат := '';
  ДлинаСтр := Длина(СтрокаБезПробелов);
  ТекПоз :=  Позиция('N',СтрокаБезПробелов);
  Если ТекПоз = 0 тогда ТекПоз :=  Позиция('n',СтрокаБезПробелов);
  Если ТекПоз = 0 тогда ТекПоз :=  Позиция('п/п',СтрокаБезПробелов);
  Если ТекПоз = 0 тогда ТекПоз :=  Позиция('п.п',СтрокаБезПробелов);
  попытка
    Если ТекПоз&lt;&gt;0 тогда начало
      Пока не IsDigit(СтрокаБезПробелов[ТекПоз]) и ТекПоз&lt;=ДлинаСтр  делать ТекПоз := ТекПоз + 1;
      Пока IsDigit(СтрокаБезПробелов[ТекПоз])и ТекПоз&lt;=ДлинаСтр делать начало
        результат := результат + СтрокаБезПробелов[ТекПоз];
        ТекПоз := ТекПоз + 1
      конец;
    конец;
  неудача
  конец;
  Если результат &lt;&gt;'' тогда результат := Подстрока(результат,Длина(результат)-2,3);     
конец;

функция ПолучитьДату(строкаБезПробелов: строка) : строка;
переменные
 ТекПоз,ДлинаСтр:целое;
 ДатаСтр,ДатаСтрФормат:строка;
начало
// хх.хх.хххх;хх.хх.хх;хх/xx/xx;xx/xx/xxxx
  Результат := '';
  ДатаСтр := '';
  ДатаСтрФормат := '';
  ДлинаСтр := Длина(СтрокаБезПробелов);
  ТекПоз := 1;
  попытка 
    Пока ТекПоз &lt;= ДлинаСтр делать начало
       Пока не IsDigit(СтрокаБезПробелов[ТекПоз])и ТекПоз&lt;=ДлинаСтр  делать ТекПоз := ТекПоз + 1;
       
       Если isDigit(СтрокаБезПробелов[ТекПоз]) и           // x
            isDigit(СтрокаБезПробелов[ТекПоз+1]) и         // х
            ((СтрокаБезПробелов[ТекПоз+2]='.') или 
             (СтрокаБезПробелов[ТекПоз+2]='/')) и          // .
            isDigit(СтрокаБезПробелов[ТекПоз+3]) и         // х
            isDigit(СтрокаБезПробелов[ТекПоз+4]) и         // х
            СтрокаБезПробелов[ТекПоз+5]=СтрокаБезПробелов[ТекПоз+2] и      // .
            isDigit(СтрокаБезПробелов[ТекПоз+6]) и         // x
            isDigit(СтрокаБезПробелов[ТекПоз+7])           // х
       тогда начало
         если (isDigit(СтрокаБезПробелов[ТекПоз+8]) и isDigit(СтрокаБезПробелов[ТекПоз+9])) и (не isDigit(СтрокаБезПробелов[ТекПоз+10]))
           тогда ДатаСтр := Подстрока(СтрокаБезПробелов,ТекПоз,10)
           иначе
             если  не isDigit(СтрокаБезПробелов[ТекПоз+8])  тогда
               ДатаСтр := Подстрока(СтрокаБезПробелов,ТекПоз,8);
          ТекПоз := ДлинаСтр; 
       конец
       иначе ТекПоз := ТекПоз + 1;
    конец;
  неудача
  конец;     
                                             
  //Получили дату а теперь преобразуем её в формат  обычной строковой даты
  Если ДатаСтр&lt;&gt;'' тогда начало
    ДатаСтрФормат := ЗаменитьСтроку(ДатаСтр,'/','.');
    Если Длина(ДатаСтрФормат)=8 тогда
      ДатаСтрФормат := Подстрока(ДатаСтрФормат,1,6) + '20' + Подстрока(ДатаСтрФормат,7,2);  
  конец;
  
  Результат := ДатаСтрФормат;
конец;

// удаляет из строки все пробелы
функция УдалитьПробелы(СтрокаСПробелами:строка):строка;
переменные
 длинаСтр,ТекПоз:целое;
 БезПробелов:строка;
начало
  БезПробелов := '';
  ДлинаСтр := Длина(СтрокаСПробелами);
  ТекПоз := 1;
  Пока ТекПоз&lt;=Длинастр делать начало
    Если СтрокаСПробелами[ТекПоз]&lt;&gt;' ' 
      тогда БезПробелов := БезПробелов + СтрокаСПробелами[ТекПоз];
    ТекПоз := ТекПоз+1;
  конец;
  Результат := БезПробелов;
конец; 


функция СформироватьДиалогПараметров(ссЗаголовок, ссДетализация: СтатическиеДанные);
переменные 
  датаИсходногоДокумента, стЛицСчет, стКФСР, стКЭСР: строка;
начало
  Диалог.Очистить;
  Диалог.Заголовок := "Поиск первичного документа";
 
  Диалог.ДобавитьКлассификатор("Лицевой счет",тк_ЛицСчет,0);

  Диалог.Добавить("Номер исх.док.", "Номер", 0, Проверка);
  Диалог.Добавить("Сумма документа", "Сумма", 0, Проверка);
  Диалог.Добавить("БК:", "БК", 0, ТолькоЧтение+Проверка);
  Диалог.ДобавитьКлассификатор("КФСР",тк_КФСР,1);
  Диалог.ДобавитьКлассификатор("КЭСР",тк_КЭСР,1);
  Диалог.Добавить("Даты:", "Период", 0, ТолькоЧтение+Проверка);
  Диалог.Добавить("C", "НачальнаяДата", 1, Календарь, "##.##.####");
  Диалог.Добавить("По", "КонечнаяДата", 1, Календарь, "##.##.####");    
  Диалог.Добавить("Текст", "Назначение", 0);    
  
  //инициализируем, чтобы диалог не ругался
  стЛицСчет := GetLimitStr(ссДетализация, "FacialAcc_Cls");
  стКФСР := GetLimitStr(ссДетализация, "KFSR"); 
  стКЭСР := GetLimitStr(ссДетализация, "KESR");
  если Позиция(",", стЛицСчет)=0 тогда
    Диалог.Значение(тк_ЛицСчет) := стЛицСчет
  иначе 
    Диалог.Значение(тк_ЛицСчет) := 0;
    
  если Позиция(",", стКФСР)=0 тогда
    Диалог.Значение(тк_КФСР) := стКФСР
  иначе 
    Диалог.Значение(тк_КФСР) := 0;
      
  если Позиция(",", стКЭСР)=0 тогда
    Диалог.Значение(тк_КЭСР) := стКЭСР
  иначе 
    Диалог.Значение(тк_КЭСР) := 0;  

  Диалог.Значение("Номер") := ПолучитьНомер(УдалитьПробелы(ссЗаголовок.Поле('OriginalNote').КакСтрока));
  Диалог.Флаг("Номер") := (Диалог.Значение("Номер") &lt;&gt; "");
   
  // заполняем даты
  ДатаИсходногоДокумента := ПолучитьДату(УдалитьПробелы(ссЗаголовок.Поле('OriginalNote').КакСтрока));
  Если ДатаИсходногоДокумента&lt;&gt;'' тогда 
  начало
    Диалог.Значение("НачальнаяДата") := ДатаИсходногоДокумента; 
    Диалог.Значение("КонечнаяДата") :=  DateExToStr((StrToDateEx(ДатаИсходногоДокумента) + 3));
    Диалог.Флаг("Период") := Истина;
  конец
  иначе 
  начало
    Диалог.Значение("НачальнаяДата") := DateExToStr(ОбычнаяДатаВРасшир(ТекущаяДата-12));// 12 дней назад
    Диалог.Значение("КонечнаяДата") :=  DateExToStr(ОбычнаяДатаВРасшир(ТекущаяДата-1));// вчера     
    Диалог.Флаг("Период") := Истина;
  конец;
    
  Если ссЗаголовок.Поле('Summa').КакЦелое &lt;&gt; 0 тогда 
  начало 
    Диалог.Значение("Сумма") := ссЗаголовок.Поле('Summa').КакДробное;
    Диалог.Флаг("Сумма") := Истина;
  конец;

  Диалог.Флаг("БК") := Истина; 
конец;

функция СформироватьКоллекциюДляОграничений(ссЗаголовок: СтатическиеДанные): IVariables;
переменные
  номер: строка;
  начальнаяДата, конечнаяДата: целое;
  сумма: Дробное;
  кфср, кэср: целое;
  назначение: строка;
начало
  если Диалог.Значение("Номер") &lt;&gt; 0 и Диалог.Флаг("Номер") тогда 
     Номер := Диалог.Значение("Номер");
     
  если Диалог.Значение("НачальнаяДата") &lt;&gt; 0 и Диалог.Флаг("Период") тогда 
    НачальнаяДата := StrToDateEx(диалог.Значение("НачальнаяДата"))
  иначе 
    НачальнаяДата := 0;
  если (Диалог.Значение("КонечнаяДата") &lt;&gt; 0) и Диалог.Флаг("Период") тогда 
    КонечнаяДата := StrToDateEx(диалог.Значение("КонечнаяДата"))
  иначе 
    конечнаяДата := 99999999;  

  если (Диалог.Значение('Сумма')&lt;&gt;0) и (Диалог.Флаг('Сумма')) тогда 
    Сумма := Диалог.Значение('Сумма');
  
  КФСР := КлассификаторВЧисло(Диалог.Значение(тк_КФСР),м_КФСР);
  КЭСР := КлассификаторВЧисло(Диалог.Значение(тк_КЭСР),м_КЭСР);
  
  Назначение := Диалог.Значение("Назначение");
      
  результат := CreateVariables;
  результат.Значение(ип_ИскатьДокументыБезДопОграничений) := Истина;
  результат.Значение(ип_КлассИсходногоДокумента) := класс_платежныеПоручения;
  результат.Значение("ИндексыДанных") := класс_ПлатежныеПоручения;
  результат.Значение('назначение') := назначение;
  результат.Значение('ЛицСчет') := Диалог.Значение(тк_ЛицСчет);

  
  если Диалог.Флаг("БК") тогда 
  начало
    результат.Значение('КФСР') := кфср;
    результат.Значение('КЭСР') := кэср;
  конец;
  
  если Диалог.Флаг("Сумма") тогда 
    результат.Значение('Сумма') := сумма;
    
  если Диалог.Флаг("Период") тогда 
  начало
    результат.Значение('НачальнаяДата') := начальнаяДата;
    результат.Значение('КонечнаяДата') := конечнаяДата;
  конец;
    
  //результат.Значение('счетПлат') := ссЗаголовок.Поле('OriginalAcceptorAcc_Ref').КакЦелое;
  
  если Диалог.Флаг("Номер") тогда 
  начало
    результат.Значение('НомерДокПрост') := "containing";
    результат.Значение('номерДок') := номер;
  конец;  
конец;

функция ВставитьЗначенияПолейИзИсходногоДокумента(ссДетализация, ссИсходныйДокумент_Выделенный: СтатическиеДанные);
начало
  ЗаменитьПоляПоМаппингу(ссИсходныйДокумент_Выделенный, ссДетализация, '','' ,'' ,'' , nil, МаппингКлКтаблицеЗамены(1) + ',Promise=Promise,BudgetPromise=BudgetPromise,ExecDoc=ExecDoc', ложь);
конец;

функция НайтиКодЗаголовкаПриходаОтПрочих(ИдДетализацииУведомления: целое): целое;
переменные
  ссДляПоиска: СтатическиеДанные;
начало
  результат := -1;
  ссДляПоиска := СоздатьСтатикСет;
  ссДляПоиска.Запрос := "[PumpData]
  {
   select 
    li.childId from LInkRecords li
  left join LinkType lt on (lt.id = li.linktyperef)
  where
    (li.parentId = @val_id) and (lt.childdoccls = 30500)
  }";
  попытка
    ссДляПоиска.Параметр('val_id') := идДетализацииУведомления;
    ссДляПоиска.Открыть;
    если ссДляПоиска.числоЗаписей &lt;&gt; 0 тогда
      результат := ссДляПоиска.Поле('ChildId').КакЦелое;
  обязательно
    УдалитьОБъект(ссДляПоиска);
  конец;
конец;


функция ВставитьКодФедеральногоРеестраВПриходОтПрочих(ссДетализация, ссИсходныйДокумент_Выделенный: СтатическиеДанные);
переменные
  кодЗаголовка: целое;
начало
  если ссДетализация.Поле('DocumentProgIndex').КакЦелое = класс_ПриходОтПрочих тогда
  начало
    кодЗаголовка := НайтиКодЗаголовкаПриходаОтПрочих(ссДетализация.Поле('ID').КакЦелое);
    попытка
      если (кодЗаголовка &lt;&gt; -1) и (ссИсходныйДокумент_Выделенный.Поле('FederalFundsRef').КакСтрока &lt;&gt; "")  тогда
        ВыполнитьЗапрос(Формат('update FacialFinCaption set FederalFundsRef = %d where id = %d',ссИсходныйДокумент_Выделенный.Поле('FederalFundsRef').КакЦелое, кодЗаголовка));
    неудача
    конец; 
  конец;
конец;

 
начало
  ф := ПолучитьФормуВвода;

  если Ф.ЕстьИзменения тогда 
    ВызватьОшибку("Сохраните изменения перед формированием уведомлений");
  если не Ф.Заголовки.Сетка.CanModify(2) тогда
    ВызватьОшибку("Текущая запись заблокирована от изменений");   
  ссЗаголовок := Ф.Заголовки.Таблица;
  ссДетализация := Ф.Детализация.Таблица;
    
  если не ф.Детализация.Сетка.ЕстьВыделенныеСтроки тогда
    ВызватьОшибку("Необходимо выделить в детализации нужные записи, в которые должна подставиться классификация");   
  ПолучитьВыделенныеИлиТекущую(ссДетализация_Выделенные, Ф.Детализация.Сетка, ссДетализация);
  
  СформироватьДиалогПараметров(ссЗаголовок, ссДетализация_Выделенные);
  если не диалог.выполнить тогда 
    выход ;

  коллекция := СформироватьКоллекциюДляОграничений(ссЗаголовок);

  ссИсходныеДокументы := ПолучитьИсходныеДокументы(Коллекция);
  Если ссИсходныеДокументы.ЧислоЗаписей = 0 тогда
  начало
    Сообщение('С такими параметрами не найдено ни одного исходного документа');
    выход;
  конец;
  ссИсходныйДокумент_Выделенный := ВыбратьНужныеИсходныеДокументы(ссИсходныеДокументы, Коллекция);

  // нашли исходный документ, теперь классификацию из него вставляем в новые классификации текущего заголовка
  // уведомление автоматически синхронизирует их со связанными документами
  // сами вставляем в связанные документы только поля БО и Договоров, так как в уведомлении нет(пока нет) этих полей
  ссДетализация.ЗапретитьПрорисовку;
  ссИсходныйДокумент_Выделенный.ВНачало;
  ОткрытьТранзакцию;
  попытка
    попытка
      естьИзменения := Ложь;
      ссДетализация.Вначало;
      пока не ссДетализация_Выделенные.ВКонце делать
      начало
        если ссДетализация_Выделенные.Поле('ProgIndex').КакЦелое = прогиндекс_НоваяКлассификация тогда 
        начало
          естьИзменения := Истина;
          ссДетализация.Локализовать("ID", ссДетализация_Выделенные.Поле('ID').КакЦелое, 0);
          ссДетализация.Редактировать;
          ВставитьЗначенияПолейИзИсходногоДокумента(ссДетализация, ссИсходныйДокумент_Выделенный);
          // так как у нас в детализации уведомления нет кода федерального реестра, то придётся его вставлять в связанный документ запросом 
          // (пока это нужно только для прихода от прочих
          ВставитьКодФедеральногоРеестраВПриходОтПрочих(ссДетализация, ссИсходныйДокумент_Выделенный);
          ссДетализация.Сохранить;
        конец;  
        ссДетализация_Выделенные.Следующий;
      конец;
      если естьИзменения тогда
        ф.СохранитьИзменения;
        
      ЗакрытьТранзакцию;  
    неудача
      ОтменитьТранзакцию;
    конец;  
  обязательно
    ссДетализация.РазрешитьПрорисовку;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">GENOFOND\gen\11.11.2009 13:25:45</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$834B09D4</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{365CE5B1-7AC9-11D2-8E00-000021670171}\Действия\СоздатьУведомление_Модально_906_Действие">
    <value type="7" name="Код программы">// и/ф 906

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";


константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи: СтатическиеДанные;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;
  
начало
  // Инициализация переменных
 если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
 начало
   ФормаВводаИнтерфейса := ПолучитьФормуВвода;
   Коллекция := CreateVariables;
   если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
   начало
     Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
     выход;
   конец;
   ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
   ЧислоЗаписейДоПроверки := ВыделеныеЗаписи.ЧислоЗаписей; 
   ВыделеныеЗаписи.Фильтр := '(not IDate is Null)';
   ЧислоЗаписейПослеПроверки := ВыделеныеЗаписи.ЧислоЗаписей;
   если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
   начало
     если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
       если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проведения.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
   СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
   конец
   иначе
     Сообщение('В выбранных документах не проставлена дата проведения.',Сообщение_Ошибка, Кнопка_ОК );
 конец  
 иначе
   Сообщение("Необходимо вернуться в режим заголовка",Сообщение_Ошибка );
             
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\20.12.2008 13:14:13</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$0633FF88</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4A94FF93-8318-11D3-A207-008048CA149C}\Действия\СоздатьУведомление_Модально_302_Действие">
    <value type="7" name="Код программы">// и/ф 302

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";

константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;
  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id
                                          from FacialFINCAPTION cpt
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll) 
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;  

начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен, или документ не выгружен электронно.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен, или документ не выгружен электронно.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\03.11.2011 11:35:45</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$0F74E8AE</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{82D199F0-814C-11D3-A203-008048CA149C}\Действия\СоздатьУведомление_Модально_305_Действие">
    <value type="7" name="Код программы">// и/ф 305

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";

константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;

  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id 
                                          from FacialFINCAPTION cpt
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll)
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;       
  
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\14.12.2009 19:08:08</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$61B8E0BE</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4A94FF92-8318-11D3-A207-008048CA149C}\Действия\СоздатьУведомление_Модально_306_Действие">
    <value type="7" name="Код программы">
// и/ф 306

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";

константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;

  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id 
                                          from FacialFINCAPTION cpt
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll)
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка) : строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;       
  
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\05.12.2008 15:37:20</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$489FBA41</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{DB3ACF33-98D2-11D2-938F-000021670171}\Действия\СоздатьУведомление_Модально_903_Действие">
    <value type="7" name="Код программы">// и/ф 903


включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";

константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;
 

функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select q.id 
                                          from QUOTESTITLE q
                                          where (q.id in (" + СписокRecordIndex_Детализации +")) and ( not q.AcceptDate is Null) and (q.RejectCls is NUll)
              }";
конец;

функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                        select inc.id, rp.ParentBlockCount 
                                        from Incomes32 inc
                                        left join RecordParams rp on (inc.id = rp.id)
                                        where inc.RecordIndex in (" + СписокID_Заголовок +")

                               }";
конец;
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата принятия или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(RejectCLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата принятия или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата принятия или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\14.12.2009 19:07:02</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$5C221F5E</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4A94FF94-8318-11D3-A207-008048CA149C}\Действия\СоздатьУведомление_Модально_304_Действие">
    <value type="7" name="Код программы">// и/ф 304
включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";

константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;

  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id 
                                          from FacialFINCAPTION cpt
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll)
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;       
  
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\05.12.2008 15:36:25</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$BD39486E</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{43F24A54-CF45-432A-A0CD-C813F9C9C5F5}\Действия\СоздатьУведомление_Модально_322_Действие">
    <value type="7" name="Код программы">// и/ф 322

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";



константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;

  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id 
                                          from FacialFINCAPTION cpt
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll)
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;       
  
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\05.12.2008 15:39:20</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$027F2DF2</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{6D1AF7D9-351A-4622-B889-B0E37B6B3ABE}\Действия\СоздатьУведомление_Модально_311_Действие">
    <value type="7" name="Код программы">// и/ф 311

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";



константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;

  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id,
                                                 pde.DocNumber
                                          from FacialFINCAPTION cpt
                                          left join PayDocExchange pde on pde.PayDocRef=cpt.id
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll) and (not  pde.DocNumber IS NULL )
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;       
  
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен, или документ не выгружен электронно.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null) and ( not SendDate is NUll) ';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен, или документ не выгружен электронно.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен, или документ не выгружен электронно.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\20.12.2008 10:31:28</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$374D5038</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{4C71200E-ECC2-45AA-A0E7-9BF2C94F9304}\Действия\СоздатьУведомление_Модально_312_Действие">
    <value type="7" name="Код программы">// и/ф 312

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";


константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;

  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id 
                                          from FacialFINCAPTION cpt
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll)
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;       
  
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
	если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\05.12.2008 15:38:16</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$2F0A1A6A</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{67C38218-FDB9-4354-8B9F-3B287BB29770}\Действия\СоздатьУведомление_Модально_314_Действие">
    <value type="7" name="Код программы">// и/ф 314

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";



константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;

  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id 
                                          from FacialFINCAPTION cpt
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll)
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;       
  
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\05.12.2008 15:38:38</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$2C533CF4</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{85228605-A3AB-44B8-BBDA-E805DE27B03D}\Действия\СоздатьУведомление_Модально_315_Действие">
    <value type="7" name="Код программы">// и/ф 315

включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";


константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;

  
функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                          select cpt.id 
                                          from FacialFINCAPTION cpt
                                          where (cpt.id in (" + СписокRecordIndex_Детализации +")) and ( not cpt.AcceptDate is Null) and (cpt.REJECT_CLS is NUll)
              }";
конец;


функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                          select ofd.id, rp.ParentBlockCount 
                                          FROM FacialFINDETAIL OFD
                                          left join RecordParams rp on (ofd.id = rp.id)
                                          where OFD.recordIndex in (" + СписокID_Заголовок +")
                             }";
конец;       
  
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(REJECT_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата проводки или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата проводки или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\05.12.2008 15:39:02</param>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$87A7FAC5</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Действия\СоздатьУведомление_Модально_55xx_Действие">
    <value type="7" name="Код программы">// и/ф 55.xx


включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Control.lib';
включить "\библиотеки\Reports.lib";                        

включить "\Макросы\ДляУведомлений.abl";
включить "\Макросы\Уведомления\СервисныеФункцииДляУведомлений";
включить "\макросы\отчеты\поддержкаОтчетов.abl";

включить "Project";

константы
  Ентер = #13#10;
  ПрОбрЧерезАБЛ = 'Обработка данных через АБЛ';

переменные
  ФормаВводаИнтерфейса : ФормаВвода;
  Коллекция : IVariables;
  ВыделеныеЗаписи, ВспомЗаписи : СтатическиеДанные;
  СписокID_Заголовок, СписокRecordIndex_Детализации  : строка;
  ЧислоЗаписейДоПроверки, ЧислоЗаписейПослеПроверки : целое;
 

функция ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации : строка ) : строка;
начало
  результат := "[PumpData]{
                                  select cor_c.id 
                                  from CorrectionCaption cor_c
                                  where (cor_c.id in (" + СписокRecordIndex_Детализации +")) and ( not cor_c.AcceptDate is Null) and (cor_c.reject_cls is NUll)

              }";
конец;

функция ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок : строка): строка;
начало
  результат := "[PumpData]{
                                        select cor_d.id, rp.ParentBlockCount 
                                        from CorrectionDetail cor_d
                                        left join RecordParams rp on (cor_d.id = rp.id)
                                        where (cor_d.RecordIndex in (" + СписокID_Заголовок +")) and (cor_d.progindex = 316)

                               }";
конец;
  
начало
  // Инициализация переменных
  ФормаВводаИнтерфейса := ПолучитьФормуВвода;
  Коллекция := CreateVariables;
  ВыделеныеЗаписи := СоздатьСтатическиеДанные;
  ВспомЗаписи := СоздатьСтатическиеДанные; 
  // получение записей с интерфейса
  // Из детализации
  если не ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Детализация.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В детализации нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВыделеныеЗаписи,ФормаВводаИнтерфейса.Детализация.Сетка,ФормаВводаИнтерфейса.Детализация.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ВспомЗаписи.СоединитьБД;
    ВыделеныеЗаписи.фильтр := 'Progindex &lt;&gt; 316';
    ВыделеныеЗаписи.Очистить;
    ВыделеныеЗаписи.фильтр := '';
    если  ВыделеныеЗаписи.ЧислоЗаписей = 0 тогда
      вызватьошибку("Требуется выбрать хотя бы одну новую классификацию");
    СписокRecordIndex_Детализации := GetLimitStr(ВыделеныеЗаписи,'RecordIndex');
    ВспомЗаписи.Запрос := ПолучитьЗапросДляПроверкиДетализаций(СписокRecordIndex_Детализации);
    ВспомЗаписи.Открыть;
    если ВспомЗаписи.ЧислоЗаписей &lt;&gt; 0 
    тогда
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция)
    иначе  
      Сообщение('В заголовке не проставлена дата принятия или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );
  конец;  
  // из заголовка
  если  ФормаВводаИнтерфейса.АктивнаяДетализация тогда
  начало
    если ФормаВводаИнтерфейса.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    начало
      Сообщение('В заголовке нет записей.',Сообщение_Ошибка, Кнопка_ОК );
      выход;
    конец;
    ПолучитьВыделенныеИлиТекущую(ВспомЗаписи,ФормаВводаИнтерфейса.Заголовки.Сетка,ФормаВводаИнтерфейса.Заголовки.Таблица);
    // проверка на проставление даты принятия и отсутствие причины отклонения
    ЧислоЗаписейДоПроверки := ВспомЗаписи.ЧислоЗаписей; 
    ВспомЗаписи.Фильтр := '(Reject_CLS IS NULL ) and (not AcceptDate is Null)';
    ЧислоЗаписейПослеПроверки := ВспомЗаписи.ЧислоЗаписей;
    если ЧислоЗаписейПослеПроверки &lt;&gt; 0 тогда
    начало
      если ЧислоЗаписейПослеПроверки &lt;&gt; ЧислоЗаписейДоПроверки тогда
        если Сообщение("Среди выбранных документов присутствуют документы, у которых не проставлена дата принятия или документ отклонен.("+ЦелоеВСтроку(ЧислоЗаписейДоПроверки-ЧислоЗаписейПослеПроверки)+" из "+ЦелоеВСтроку(ЧислоЗаписейДоПроверки)+") Продолжить формирование? ", Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да тогда Выход; 
      СписокID_Заголовок := GetLimitStr(ВспомЗаписи,'ID');
      // получение ID из детализации.
      ВыделеныеЗаписи.СоединитьБД;
      ВыделеныеЗаписи.Запрос := ПолучитьЗапросДляПроверкиЗаголовка(СписокID_Заголовок); 
      ВыделеныеЗаписи.Открыть;
      СоздатьУведомление(ФормаВводаИнтерфейса,ВыделеныеЗаписи,Коллекция);
    конец
    иначе
      Сообщение('В выбранных документах не проставлена дата принятия или документ отклонен.',Сообщение_Ошибка, Кнопка_ОК );                                                        
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">DJON2\egorbunov\25.10.2011 12:13:12</param>
    <value type="4" name="Отладка">0</value>
    <value type="3" name="Права">{УчетВнебюджета}</value>
    <param value="Код программы" type="3" name="version">36.741.00</param>
    <param value="Код программы" type="3" name="crc32">$B308C786</param>
    <param value="Отладка" type="3" name="version">36.741.00</param>
    <param value="Права" type="3" name="version">36.741.00</param>
    <param value="Права" type="3" name="crc32">$7E261C7F</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ЗапросыДляУведомлений">//CREATED BY GEN 2007
//
//==========================================================================================//
//Здесь расположены функции работы с базой данный, а именно sql скрипты для получения       // 
//всех видов документов, с которыми могут работать уведомления                              //
//Также просто функции, что-то выбирающие из базы данных                                    //
//==========================================================================================//
 
включить '\Библиотеки\LibRu.lib';
включить '\библиотеки\ABLTools.lib';
включить '\библиотеки\Reports.lib';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';

константы
  nl= #13#10;



функция ВернутьтипСоединенияСЗаголовком(коллекция: Ivariables): строка;
начало
  // так как результат выполнения сильно отличается по скорости от вида джойна - допставляем динамически джойны
  Если (коллекция.Значение('КодЗаписи') &lt;&gt; '') и (коллекция.Значение('КодЗаголовка') = '') тогда
    результат := 'left'
  иначе  
    результат := 'inner';  
конец;


функция ПолучитьЗапрос_Уведомления(Коллекция : IVariables) : строка;
переменные
  поляКоторыхНетНаУРМ, поляКоторыхНетНаУРМ2, ПоляДляУведомленияПоступлений_Возврат, СоединениеСВозвратом: строка;
начало
  /$если Бюджет
    поляКоторыхНетНаУРМ  :=  " cor_d_source.DocumentProgIndex SourceProgIndex,
                               cor_d_source.DocumentRecordIndex SourceRecordIndex,
                               cor_d_dest.DocumentProgIndex DestProgIndex,
                               cor_d_dest.DocumentRecordIndex DestRecordIndex,";
    поляКоторыхНетНаУРМ2 := "Cor_c.Id OriginalRecordIndex, Cor_c.OKATO,Cor_c.ADDOKATO,Cor_c.ElNum,";                            
                            
  /$иначе                             
    поляКоторыхНетНаУРМ :=     " CAST('' as VarChar(10)) SourceProgIndex,
                                 CAST('' as VarChar(10)) SourceRecordIndex,
                                 CAST('' as VarChar(10)) DestProgIndex,
                                 CAST('' as VarChar(10)) DestRecordIndex,";
    поляКоторыхНетНаУРМ2 := "CAST('' as VarChar(10)) OriginalRecordIndex, Cast('' as VarChar(11)) OKATO,Cast ('' as VarChar(3)) ADDOKATO,Cast('' as VarChar(50)) ElNum,";                                  
                                  
  /$конец
  /$если Бюджет
     если Коллекция.Значение("Класс") = Класс_УточнениеПоступлений тогда
     начало
       ПоляДляУведомленияПоступлений_Возврат := 'ffc.Credit SummaReturn,';
       СоединениеСВозвратом :=  " left join FacialFinCaption ffc on ((ffc.id = lr.Childid) and (lr.linktyperef = 550310800)) ";
     конец  
     иначе   
     начало
       ПоляДляУведомленияПоступлений_Возврат := '';
       СоединениеСВозвратом :=  "";
     конец;
   /$иначе
     если Коллекция.Значение("Класс") = Класс_УточнениеПоступлений тогда
     начало
       ПоляДляУведомленияПоступлений_Возврат := 'cast (0 as float) SummaReturn,';
       СоединениеСВозвратом :=  "";
     конец  
     иначе   
     начало
       ПоляДляУведомленияПоступлений_Возврат := '';
       СоединениеСВозвратом :=  "";
     конец;
   /$конец
                               
  ЕСЛИ не Коллекция.Значение('УведомленияКакИсходныйДокументДляКор_или_Нов') тогда 
    начало 
        Результат := "[PumpData]{
                      SELECT distinct Cor_c.Id MasterId,
                          Cor_d_dest.id,
                          0 RecordIndex,
                          Cor_c.BudgetRef,
                          cast('' as varchar(1))   ElRefStr,                        
                          Cor_c.DocNumber,
                          Cor_c.InputDate,
                          Cor_c.AcceptDate,
                          Cor_d_dest.summa,
                          cor_c_.summa SummaCorrection,
                          cast (0 as float) SummaRemainder,
                          
                          Cor_c.ProgIndex,
                          Cor_c.Note,
                          
                          Cor_d_source.FacialAcc_Cls SourceFacialAcc_CLS,
                          Cor_d_dest.FacialAcc_Cls DestFacialAcc_Cls,
                          Cor_d_source.FacialAcc_Cls,
                          
                          Cor_d_dest.BuhOperationCls,
                          Cor_d_source.ClsType,
                          Cor_d_dest.ClsType ClsType_Corr,
                          Cor_d_source.ClsType SourceClsType,
                          Cor_d_dest.ClsType DestClsType,
                          
                          
                         
                          Cor_d_Source.KVR SourceKVR,
                          Cor_d_Source.KESR SourceKESR,
                          Cor_d_Source.KVSR SourceKVSR,
                          Cor_d_Source.KCSR SourceKCSR,
                          Cor_d_Source.KFSR SourceKFSR,
                          Cor_d_Source.SUBKESR SourceSubKESR,
                          Cor_d_Source.FACT SourceFact,
                          Cor_d_Source.MeansType SourceMeansType,
                          Cor_d_Source.DocType SourceDocType,
                          Cor_d_Source.FINType SourceFinType,
                          Cor_d_Source.DirectionCls SourceDirectionCls,
                          Cor_d_Source.FinSource SourceFinSource,
                          Cor_d_Source.RegionCls SourceRegionCls,
                          Cor_d_Source.KD SourceKD,
                          
                          Cor_d_Source.Promise SourcePromise,  
                          Cor_d_Source.BudgetPromise SourceBudgetPromise,
                          Cor_d_Source.ExecDoc SourceExecDoc,
                          di_source.innerNumber SourceExecInnerNUmber,
                          
                          kd_Source.KDValue SourceKDValue,                    
                          Cor_d_Source.IFS SourceIFS,
                          Ifs_source.FinSourceValue SourceIFSValue,
                          
                           
                          Cor_d_Dest.KVR DestKVR,
                          Cor_d_Dest.KESR DestKESR,
                          Cor_d_Dest.KVSR DestKVSR,
                          Cor_d_Dest.KCSR DestKCSR,
                          Cor_d_Dest.KFSR DestKFSR,
                          Cor_d_Dest.SUBKESR DestSubKESR,
                          Cor_d_Dest.FACT DestFact,
                          Cor_d_Dest.MeansType DestMeansType,
                          Cor_d_Dest.DocTYpe DestDocType,
                          Cor_d_Dest.FINTYpe DestFinType,
                          Cor_d_Dest.RegionCls DestRegionCls,
                          Cor_d_Dest.DirectionCls DestDirectionCls,
                          Cor_d_Dest.KD DestKD,
                          Cor_d_Dest.FinSource DestFinSource,
                          Cor_d_Dest.IFS DestIFS,
                          Cor_d_Dest.Promise DestPromise,  
                          Cor_d_Dest.BudgetPromise DestBudgetPromise,
                          Cor_d_Dest.ExecDoc DestExecDoc,
                          di_dest.innerNumber DestExecInnerNUmber,
                          
                          Cor_d_Dest.ChangeAcc_Ref,
                          Cor_d_Dest.ChangeAcc,
                          Cor_d_Dest.ChangeOrgName,
                          Cor_d_Dest.ChangeOrgINN,
                          Cor_d_Dest.ChangeOrgINN20,
                          
                          kd_Dest.KDValue DestKDValue,
                          Ifs_Dest.FinSourceValue DestIFSValue,

                          cor_c.OriginalPayerAcc_Ref OriginalPayerAccRef,
                          cor_c.OriginalPayerAcc,
                          cor_c.OriginalPayerOrgName,
                          cor_c.OriginalPayerOrgINN,
                          cor_c.OriginalPayerOrgINN20,

                          cor_c.OriginalAcceptorAcc_Ref OriginalAcceptorAccRef,
                          cor_c.OriginalAcceptorAcc,
                          cor_c.OriginalAcceptorOrgName,
                          cor_c.OriginalAcceptorOrgINN,
                          cor_c.OriginalAcceptorOrgINN20,

                          cor_c.OriginalPayerAcc_Ref PayerAccRef,
                          cor_c.OriginalPayerAcc PayerAcc,
                          cor_c.OriginalPayerOrgName PayerOrgName,
                          cor_c.OriginalPayerOrgINN PayerOrgINN,
                          cor_c.OriginalPayerOrgINN20 PayerOrgINN20,

                          cor_c.OriginalAcceptorAcc_Ref AcceptorAccRef,
                          cor_c.OriginalAcceptorAcc AcceptorAcc,
                          cor_c.OriginalAcceptorOrgName AcceptorOrgName,
                          cor_c.OriginalAcceptorOrgINN AcceptorOrgINN,
                          cor_c.OriginalAcceptorOrgINN20 AcceptorOrgINN20,

                          Cor_c.DocNumber OriginalNumber,
                          Cor_c.InputDate OriginalDate,
                          Cor_c.Summa OriginalSumma,
                          Cor_c.Note OriginalNote,
                          Cor_c.ProgIndex OriginalProgIndex,
                          " + поляКоторыхНетНаУРМ2 + "
                          
                          " + поляКоторыхНетНаУРМ + "
                          cor_d_dest.id DestId,
                          
                          
                          Cor_c.Reject_Cls,
                          Cor_c.RejectCause,

                          cast('' as varchar(10))   ElRef,
                          cast('' as varchar(10)) InputDateStr,                    
                          cast('' as varchar(10)) AcceptDateStr,
                          cast('' as varchar(15)) SummaStr,          
                          
                          cast('' as varchar(20)) SourceFacialAcc_Cls_Str,
                          cast('' as varchar(30)) SourceClsHeader,                    
                          
                          cast('' as varchar(20)) DestFacialAcc_Cls_Str,                    
                          cast('' as varchar(30)) DestClsHeader,                    
                          cast('' as varchar(255)) PayerParent,  
                          cast('' as varchar(255)) AcceptorParent,
                          cast('' as varchar(30))  ProgIndexName,
                          cast('' as varchar(20))  ClsTypeName,
                          cast('' as varchar(255)) BasicNote, 
                          
                          /* эти поля  для совместимости*/
                          cast('' as varchar(20)) FacialAcc_Cls_Str,
                          cor_c.OperationDirection
                          
                  FROM   
                          CorrectionCaption Cor_c  
                          left join CorrectionDetail cor_d_dest on ((cor_c.Id = cor_d_dest.RecordIndex) and (cor_d_dest.ProgIndex = 316))
                          left join ExecutionDocumentsCaption di_dest on (di_dest.id = cor_d_dest.execDoc)
                          left join CorrectionDetail cor_d_source ON ((cor_d_dest.ParentId =  cor_d_source.id) and (cor_d_source.ProgIndex =  315))
                          left join ExecutionDocumentsCaption di_source on (di_source.id = cor_d_source.execDoc)
                          left join InnerFinSource ifs_Source on (ifs_Source.id = Cor_d_Source.IFS)
                          left join InnerFinSource ifs_Dest on (ifs_Dest.id = Cor_d_Dest.IFS)
                          left join KD KD_source on (KD_source.id = Cor_d_source.kd)
                          left join KD KD_dest on (KD_dest.id = Cor_d_dest.kd)
                          left join LinkRecords lr on (lr.ParentId = cor_d_dest.id)
                          left join LinkType lt on (lt.id = lr.linktyperef)
                          left join CorrectionCaption cor_c_ on ((cor_c_.id = lr.childId)and(cor_c.Reject_Cls is null))
                          
                  where
                    (1=1) and
                    (Cor_c.Reject_Cls is null)  
                    @Limits_Correction
                    @LimitGrpPzk
                    }";
     конец 
   ИНАЧЕ 
     начало
        Результат := "[PumpData]{
                      SELECT distinct Cor_c.Id MasterId,
                          Cor_d_dest.id,
                          0 RecordIndex,
                          Cor_c.BudgetRef,
                          cast('' as varchar(1))   ElRefStr,                        
                          Cor_c.Docnumber,
                          Cor_c.InputDate,
                          Cor_c.AcceptDate,
                          0 debit,
                          Cor_d_dest.summa,
                          cor_d_cor.summa SummaDetail,
                          cor_c_cor.OriginalNumber IsPZK,
                          lr.ChildId,
                          cor_c_cor.Reject_Cls Reject_Cls_C,
                          cast (0 as float) SummaRemainder,
                          cor_d_dest.Note OriginalNoteDet,"
                          + ПоляДляУведомленияПоступлений_Возврат +
                        " Cor_c.Note,
                          Cor_c.ProgIndex,
                                                    
                          Cor_d_dest.FacialAcc_Cls FacialAcc_Cls,
                          Cor_d_source.FacialAcc_Cls SourceFacialAcc_Cls,
                          Cor_d_dest.FacialAcc_Cls  DestFacialAcc_CLS,
                          0 PayTypeCls,
                          0 PayPriority,
                          0 BuhPaymentCls,
                          0 DocBase, 
                          0 SubKD,
                          cast('' as varchar(255)) TaxNote, /*Налоговое поле*/
                          cast('' as varchar(50)) NDS, /*НДС*/
                          Cor_d_dest.BuhOperationCls,
                          Cor_d_dest.ClsType,
                          Cor_d_dest.ClsType ClsType_Corr,
                          Cor_d_source.ClsType SourceClsType,
                          Cor_d_dest.ClsType DestClsType,
                          f.FacialCode,
                           
                          Cor_d_dest.KVR KVR,
                          Cor_d_dest.KESR KESR,
                          Cor_d_dest.KVSR KVSR,
                          Cor_d_dest.KCSR KCSR,
                          Cor_d_dest.KFSR KFSR,
                          Cor_d_dest.SUBKESR SubKESR,
                          Cor_d_dest.FACT Fact,
                          Cor_d_dest.MeansType MeansType,
                          Cor_d_dest.DocTYpe DocType,
                          Cor_d_dest.FINTYpe FinType,
                          Cor_d_dest.RegionCls RegionCls,
                          Cor_d_dest.DirectionCls DirectionCls,
                          Cor_d_dest.KD KD,
                          Cor_d_dest.FinSource FinSource,
                          Cor_d_dest.IFS IFS,
                          kd_Dest.KDValue KDValue,
                          Ifs_Dest.FinSourceValue IFSValue,
                          Cor_d_dest.FundsSource FundsSource,
                          Cor_d_Dest.TransfertCls,
                          Cor_d_dest.SUBSIDYCLS,
                          Cor_d_dest.BudAllocationCls,
                          Cor_d_dest.PayPromiseCls,

                          Cor_d_Dest.KVR DestKVR,
                          Cor_d_Dest.KESR DestKESR,
                          Cor_d_Dest.KVSR DestKVSR,
                          Cor_d_Dest.KCSR DestKCSR,
                          Cor_d_Dest.KFSR DestKFSR,
                          Cor_d_Dest.SUBKESR DestSubKESR,
                          Cor_d_Dest.FACT DestFact,
                          Cor_d_Dest.MeansType DestMeansType,
                          Cor_d_Dest.DocTYpe DestDocType,
                          Cor_d_Dest.FINTYpe DestFinType,
                          Cor_d_Dest.RegionCls DestRegionCls,
                          Cor_d_Dest.DirectionCls DestDirectionCls,
                          Cor_d_Dest.KD DestKD,
                          Cor_d_Dest.FinSource DestFinSource,
                          Cor_d_Dest.IFS DestIFS,
                          Cor_d_Dest.Promise DestPromise,  
                          Cor_d_Dest.BudgetPromise DestBudgetPromise,
                          Cor_d_Dest.ExecDoc DestExecDoc,
                          di_dest.innerNumber destExecInnerNUmber,
                          Cor_d_Dest.FundsSource DestFundsSource,
                          Cor_d_Dest.TransfertCls DestTransfertCls,  
                          Cor_d_Dest.SUBSIDYCLS DestSUBSIDYCLS,
                          Cor_d_Dest.BudAllocationCls DestBudAllocationCls,
                          Cor_d_Dest.PayPromiseCls DestPayPromiseCls,
                          
                         
                          Cor_d_Dest.ChangeAcc_Ref,
                          Cor_d_Dest.ChangeAcc,
                          Cor_d_Dest.ChangeOrgName,
                          Cor_d_Dest.ChangeOrgINN,
                          Cor_d_Dest.ChangeOrgINN20,
                          
                          Cor_d_dest.IsBlocked,
                          Cor_d_dest.BlockedCause,
                          Cor_d_dest.UnBlockedDate,
                          Cor_d_dest.UnBlockedCause,
                          
                          kd_Dest.KDValue DestKDValue,
                          Ifs_Dest.FinSourceValue DestIFSValue,

                          Cor_d_Source.Promise SourcePromise,  
                          Cor_d_Source.BudgetPromise SourceBudgetPromise,
                          Cor_d_Source.ExecDoc SourceExecDoc,
                          di_source.innerNumber SourceExecInnerNUmber,
                          
                          cast('' as varchar(10))  PaySymbolCls,
                          Cor_d_Dest.Promise,  
                          Cor_d_Dest.BudgetPromise,
                          Cor_d_Dest.ExecDoc,
                          di_dest.innerNumber ExecInnerNUmber, 
                          cast('' as varchar(10))  GOSNI,
                          

                          cast('' as varchar(10)) Reestr_ref, 
                          cast('' as varchar(50)) Period, 
                          cast('' as varchar(5)) TypeOperationCls, 
                          cast('' as varchar(10))  BidNumber, 
                          0 CARDNUMBER,                            
                          cast('' as varchar(10)) ManagerBid,  
                          0 SubProgIndex, 
                          cast('' as varchar(10)) DocStateRef,   
                          cast('' as varchar(10)) FEDERALFUNDSREF, 
                          Cor_c.OperationDirection,


                          cor_c.OriginalPayerAcc_Ref OriginalPayerAccRef,
                          cor_c.OriginalPayerAcc,
                          cor_c.OriginalPayerOrgName,
                          cor_c.OriginalPayerOrgINN,
                          cor_c.OriginalPayerOrgINN20,

                          cor_c.OriginalAcceptorAcc_Ref OriginalAcceptorAccRef,
                          cor_c.OriginalAcceptorAcc,
                          cor_c.OriginalAcceptorOrgName,
                          cor_c.OriginalAcceptorOrgINN,
                          cor_c.OriginalAcceptorOrgINN20,

                          cor_c.OriginalPayerAcc_Ref PayerAccRef,
                          cor_c.OriginalPayerAcc PayerAcc,
                          0 PayerOrgRef,
                          cor_c.OriginalPayerOrgName PayerOrgName,
                          cor_c.OriginalPayerOrgINN PayerOrgINN,
                          cor_c.OriginalPayerOrgINN20 PayerOrgINN20,

                          cor_c.OriginalAcceptorAcc_Ref AcceptorAccRef,
                          cor_c.OriginalAcceptorAcc AcceptorAcc,
                          0 AcceptorOrgRef,
                          cor_c.OriginalAcceptorOrgName AcceptorOrgName,
                          cor_c.OriginalAcceptorOrgINN AcceptorOrgINN,
                          cor_c.OriginalAcceptorOrgINN20 AcceptorOrgINN20,


                          Cor_c.DocNumber OriginalNumber,
                          Cor_c.InputDate OriginalDate,
                          Cor_c.Summa OriginalSumma,
                          Cor_c.Note OriginalNote,
                          Cor_c.ProgIndex OriginalProgIndex,
                          " + поляКоторыхНетНаУРМ2 + "
                          
                          " + поляКоторыхНетНаУРМ + "
                          cor_d_dest.id DestId,
                          Cor_c.Reject_Cls,
                          Cor_c.RejectCause,

                          cast('' as varchar(10))   ElRef,
                                                                                   
                          cast('' as varchar(10)) InputDateStr,                    
                          cast('' as varchar(10)) AcceptDateStr,
                          cast('' as varchar(15)) SummaStr,          
                          cast('' as varchar(20)) SourceFacialAcc_Cls_Str,
                          cast('' as varchar(30)) SourceClsHeader,                    
                          cast('' as varchar(20)) DestFacialAcc_Cls_Str,                    
                          cast('' as varchar(30)) DestClsHeader,                    
                          cast('' as varchar(255)) PayerParent,  
                          cast('' as varchar(255)) AcceptorParent,
                          cast('' as varchar(30))  ProgIndexName,
                          cast('' as varchar(20))  ClsTypeName,
                          cast('' as varchar(255)) BasicNote, 
                          
                          /* эти поля  для совместимости*/
                          cast('' as varchar(20)) FacialAcc_Cls_Str,"

                          /$если Бюджет
                          "pde.PayDocRef,"
                          /$конец 
                          "cast(null as integer) PayDocRef,"

                          
                          " 
                          cor_d_dest.DocumentProgIndex,
                          cor_d_dest.DocumentRecordIndex,
                          cor_c.DocType DocTypeCaption,
                          
                         
                          
                          /*Группа полей для создания уведомлений не отправленных а Уфк*/
                          Cor_c.OriginalNumber OriginalNumberUFC,
                          Cor_c.OriginalDate OriginalDateUFC,
                          Cor_c.OriginalSumma OriginalSummaUFC,
                          Cor_c.OriginalNote OriginalNoteUFC,
                          Cor_c.OriginalProgIndex OriginalProgIndexUFC,

                          cast(null as integer) NotUFC," 
                          /$если Бюджет
                          "cor_c.departmentCls,"
                          /$иначе
                          "cast(null as integer) departmentCls,"
                          /$конец
                          "cor_c.OperationDirection OperationDirection_
                          
                           [$Std 
                          ,a.ReestrNumber
                          ]
                          
                  FROM   
                          CorrectionCaption Cor_c "

                          /$если Бюджет
                          "LEFT JOIN PayDocExchange pde ON (pde.PayDocRef =  Cor_c.id)"
                          /$конец
 
                         "left join CorrectionDetail cor_d_dest on ((cor_c.Id = cor_d_dest.RecordIndex) and (cor_d_dest.ProgIndex = 316))
                          left join ExecutionDocumentsCaption di_dest on (di_dest.id = cor_d_dest.execDoc)
                          left join CorrectionDetail cor_d_source ON ((cor_d_dest.ParentId =  cor_d_source.id) and (cor_d_source.ProgIndex =  315))
                          left join ExecutionDocumentsCaption di_source on (di_source.id = cor_d_source.execDoc)
                          left join InnerFinSource ifs_Source on (ifs_Source.id = Cor_d_source.IFS)                 
                          left join InnerFinSource ifs_Dest on (ifs_Dest.id = Cor_d_dest.IFS)
                          left join KD KD_source on (KD_source.id = Cor_d_source.kd)
                          left join KD KD_dest on (KD_dest.id = Cor_d_dest.kd)
                          left join FACIALACC_CLS f on (f.id = Cor_d_dest.FacialAcc_Cls )
                          
                          left join LinkRecords lr on (lr.ParentId = cor_d_dest.id)
                          left join LinkType lt on (lt.id = lr.linktyperef)
                          left join CorrectionDetail cor_d on (cor_d.id = lr.parentid)
                          left join CorrectionDetail cor_d_cor on (cor_d_cor.id = lr.ChildId)
                          left join CorrectionCaption cor_c_cor on (cor_c_cor.id = cor_d_cor.RecordIndex)
          
                          left join KCSR KCSR_CODE_dest on (KCSR_CODE_dest.id = cor_d_dest.KCSR)
                          left join KVR KVR_CODE_dest on (KVR_CODE_dest.id = cor_d_dest.KVR)
                          left join KVSR KVSR_CODE_dest on (KVSR_CODE_dest.id = cor_d_dest.KVSR)
                          LEFT JOIN TransfertCls tc_dest ON (tc_dest.id =  cor_d_dest.TransfertCls) 
                          
                          
                          left join KCSR KCSR_CODE_source on (KCSR_CODE_source.id = cor_d_source.KCSR)
                          left join KVR KVR_CODE_source on (KVR_CODE_source.id = cor_d_source.KVR)
                          left join KVSR KVSR_CODE_source on (KVSR_CODE_source.id = cor_d_source.KVSR)
                          LEFT JOIN TransfertCls tc_source ON (tc_source.id =  cor_d_source.TransfertCls)
                          
                          [$Std
                          left join PaymentSchedule spsl on
                          (
                              (cor_d_dest.BudgetPromise = spsl.InnerPromiseNum)
                          )
                          left join AgreementSteps ast on (spsl.RecordIndex = ast.ID)
                          left join Agreements a on (spsl.AgreementRef = a.ID)
                          ]
                          "+СоединениеСВозвратом+"
                                                               
                  where
                    (1=1) and
                    (Cor_c.Reject_Cls is null)  
                    @Limits_Correction
                    @LimitGrpPzk
                    }";
     
     конец;               
конец;

функция ПолучитьЗапрос_Доходы(Коллекция : IVariables) : строка;
переменные 
  ПолеПричинаОтклоненияКод, 
  ПолеПричинаОтклоненияКом, МодификацияПричиныОтклонения,
  СоединениеСПлатежкамиПоНевыясненным, ПолеСуммы, полеСуммыИсх, ПолеПрогиндекса, 
  ПолеНомера, ПолеЭлДок, СоединениеСПлатежками, ПолеДатыВвода, ПолеДеталиНевыясненных, ПодключениеДеталиНевыясненных : строка;
  СоединениеСоСтарымиУведомлениями, ОграничениеПоСтарымУведомлениям, ПоляУведомлений, типСоединенияСЗаголовком: строка;
  СоединениеСВозвратом, СуммаВозврата: строка; 
начало
  ЕСЛИ Коллекция.Значение('Класс') = 99 тогда 
    начало
      // причина отклонения в заголовке
      ПолеПричинаОтклоненияКод := 'qt.RejectCls Reject_Cls,'; 
      ПолеПричинаОтклоненияКом :=  'qt.RejectCause RejectCause,';
      МодификацияПричиныОтклонения := '';   
    конец
  ИНАЧЕ 
    начало
      // причина отклонения в детализации
      ПолеПричинаОтклоненияКод := 'inc.RejectCls Reject_Cls,'; 
      ПолеПричинаОтклоненияКом :=  'inc.RejectCause RejectCause,';
      МодификацияПричиныОтклонения := ',rejectCls=~Reject_Cls,RejectCause=~RejectCause';       
    конец;
  
  ЕСЛИ Коллекция.Значение("Класс") = Класс_ВозвратДоходов тогда 
    начало
     ПолеДатыВвода := "qt.BuildDate InputDate,";
     ПолеСуммы := "(inc.Debit) summa,cor_d_cor.summa SummaDetail,
                    cast (0 as float) SummaIncDet,
                    cast (0 as float) IncDetDebit,";
     ПоляУведомлений := "lr.ChildId,";
     полеСуммыИсх :="(inc.Debit)";  
     ПолеПрогиндекса  := "qt.ProgIndex,";
     /$если Бюджет
       ПолеНомера  := "pd.Number DocNumber,";
       ПолеЭлДок := " eop.id ElRef, ";
       СоединениеСПлатежками := " 
                                  left join PayDoc32 pd on (pd.RecordIndex = inc.Id)
                                  left join ed_outpaydoc eop on (pd.id = eop.eldocref)   
                                  left join PayDocExchange pde on (pde.PayDocRef = pd.Id)";
     /$иначе                                  
       ПолеНомера  := "CAST('' as VarChar(50)) DocNumber,";
       ПолеЭлДок := " CAST('' as VarChar(10)) ElRef, ";
     /$конец                           
    конец
  ИНАЧЕ 
  начало
    ПолеДатыВвода := "inc.RecordDate InputDate,";
    ПолеСуммы := "(inc.Credit - inc.Debit) summa,";
    ПоляУведомлений := " cor_d_cor.summa SummaDetail,
                              lr.ChildId,";  
    ПолеДеталиНевыясненных := "cast (0 as float) SummaIncDet,
                               cast (0 as float) IncDetDebit, ";
    если (Коллекция.Значение("Класс") = Класс_ВыяснениеНевыясненных)  тогда
      ПолеДеталиНевыясненных :="inc.Credit SummaIncDet, inc.Debit IncDetDebit,";          
    полеСуммыИсх :="(inc.Credit - inc.Debit)"; 
    ПолеПрогиндекса  := "inc.ProgIndex,";
    ПолеНомера  := "inc.DocNum DocNumber,";
    ПолеЭлДок := " inc.ElDocRef         ElRef, ";   
  конец;  


    Если Коллекция.Значение("Класс") = Класс_ПоступлениеДоходов  тогда
    начало
       СоединениеСВозвратом :=  " left join FacialFinCaption ffc on (ffc.id = lr.Childid)
                                  left join Incomes32 inc_voz on (inc_voz.id = lr.Childid)
                                ";
       СуммаВозврата := "ffc.Credit SummaReturn,
                         inc_voz.Debit SummaReturnInc, 
                        "
    конец;                                                      


  Если Коллекция.Значение('НеВыбиратьПлатежкиПоНевыясненным') и (Коллекция.Значение("Класс")=Класс_ПоступлениеНевыясненных)  тогда
  начало
    СоединениеСПлатежкамиПоНевыясненным :=  "left join Incomes32 inc1 on (inc1.RecordIndex=inc.id)";
    /$если Бюджет 
     СоединениеСПлатежкамиПоНевыясненным := СоединениеСПлатежкамиПоНевыясненным + nl +
                                            'left join PayDoc32 pd on (pd.RecordIndex=inc1.id)' + nl;
    /$конец                                        
  конец;   
                                            
  /$если Бюджет
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
  /$иначе
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
  /$конец                                          
  если Коллекция.Значение("Класс") = Класс_ВозвратДоходов тогда
    ТипСоединенияСЗаголовком := 'inner'
  иначе
    ТипСоединенияСЗаголовком := 'left';
  
  Результат := "[PumpData]{
                select distinct  qt.id MasterId, 
                    inc.ID,
                    inc.RecordIndex,
                    inc.BudgetRef,
                    inc.Org_Ref,
                    cast('' as varchar(1))   ElRefStr,
                    " + ПолеНомера + "
                    " + ПолеДатыВвода + "
                    inc.IDate AcceptDate,
                    inc.debit,
                    " + ПолеСуммы + "
                    " + ПолеДеталиНевыясненных + " 
                    " + СуммаВозврата + "
                    " + ПоляУведомлений + "
                    cor_c_cor.OriginalNumber IsPZK,
                    cor_c_cor.Reject_Cls Reject_Cls_C,
                    cast (0 as float) SummaRemainder,
                    
                    0 SourceFacialAcc_CLS,
                    inc.FacialAcc_Cls DestFacialAcc_Cls,
                    inc.FacialAcc_Cls FacialAcc_CLS,  
                    f.FacialCode,
                    
                    oa_Payer.Id          PayerAccREf,
                    org_Payer.ID         PayerOrgRef ,
                    cast(org_Payer.INN as Varchar(20)) PayerOrgInn,
                    org_Payer.INN20      PayerOrgInn20,
                    org_Payer.Name       PayerOrgName,
                    oa_Payer.Acc         PayerAcc,
                    0 PayTypeCls,
                    inc.Note,
                    0 PayPriority,
                    inc.BuhPaymentCls,
                    inc.TaxNote, /*Налоговое поле*/
                    inc.NDSNote Nds, /*НДС*/
                    inc.BuhOperationCls,
                    inc.ClsType, 
                    " + ПолеПрогиндекса + "                                        
  

                    0 KVR,
                    0 KESR,
                    0 KVSR,
                    0 KCSR,
                    0 KFSR,
                    0 SubKesr,
                    inc.Fact,
                    inc.MeansType,
                    inc.DocType,
                    inc.DocBase,
                    inc.SubKD,
                    inc.RegionCLS, 
                    inc.KD,
                    inc.GOSNI,
                    0 FinType,
                    inc.DirectionCls,
                    cast('' as varchar(10)) PaySymbolCls,
                    inc.IFS,
                    cast('' as varchar(10))   Promise,
                    cast('' as varchar(10))   BudgetPromise,
                    cast('' as varchar(10))   ExecDoc, 
                    cast('' as varchar(10))   ExecInnerNUmber,
                    inc.IsBlocked,
                    inc.BlockedCause,
                    inc.UnBlockedDate,
                    inc.UnBlockedCause,
                    
                    inc.FundsSource,
                    inc.TransfertCls,
                    inc.SUBSIDYCLS,
                    
                    cast('' as varchar(10)) BudAllocationCls,
                    cast('' as varchar(10)) PayPromiseCls,

                    ifs.FinSourceValue IfsValue,  
                    kd_O.KDValue,
                    
                    cast('' as varchar(10)) Reestr_ref, 
                    cast('' as varchar(50)) Period, 
                    qt.TypeOperationCls, 
                    cast('' as varchar(10))  BidNumber, 
                    0 CARDNUMBER,                     
                    cast('' as varchar(10)) ManagerBid,  
                    0 SubProgIndex, 
                    cast('' as varchar(10)) DocStateRef,   
                    cast('' as varchar(10)) FEDERALFUNDSREF, 
                    0 OperationDirection,
                    0 FinSource, 
                     

                       
                    oa_Acceptor.ID       AcceptorAccRef,
                    org_Acceptor.ID      AcceptorOrgRef ,
                    cast(org_Acceptor.INN as Varchar(20)) AcceptorOrgInn,
                    org_Acceptor.INN20   AcceptorOrgInn20,
                    org_Acceptor.Name    AcceptorOrgName,
                    oa_Acceptor.Acc      AcceptorAcc,
                    

                    
                    
                    " + ПолеЭлДок + "
                    bm.DD                OriginalDate,
                    bm.Su                OriginalSumma,
                    bm.Note              OriginalNote,
                    Cast(bm.nd as VarChar(20)) OriginalNumber," + nl+
                    "Cast('' as VarChar(11)) OKATO," + nl+
                    "Cast('' as VarChar(3)) ADDOKATO," + nl +
                    "Cast('' as VarChar(50)) ElNum," + nl +
 
                    ПолеПричинаОтклоненияКод +nl+  
                    ПолеПричинаОтклоненияКом +nl+   

                  " cast('' as varchar(10)) InputDateStr,                    
                    cast('' as varchar(10)) AcceptDateStr,
                    cast('' as varchar(15)) SummaStr,
                    cast('' as varchar(20)) FacialAcc_Cls_Str,                                        
                    cast('' as varchar(30))  ClsHeader, 
                    cast('' as varchar(255)) PayerParent,  
                    cast('' as varchar(255)) AcceptorParent,
                    cast('' as varchar(30))  ProgIndexName,                   
                    cast('' as varchar(20))  ClsTypeName,
                    cast('' as varchar(255)) BasicNote,      "
                    /$если Бюджет
                       "qt.departmentCls"
                    /$иначе
                       "cast(null as integer) departmentCls"
                    /$конец
                    

                " from Incomes32 inc
                    left join QuotesTitle qt on (Qt.ID=inc.RecordIndex)
                    left join KD KD_O on (KD_O.id = inc.kd)
                    left join InnerFinSource ifs on (ifs.id = inc.IFS)                 
                    left join Org_Accounts oa_Payer on (oa_Payer.id = inc.AccountRef)
                    left join Org_Accounts oa_Acceptor on (oa_Acceptor.id = inc.IncAccount)
                    left join Organizations org_Acceptor on (oa_Acceptor.Org_Ref = org_Acceptor.id)
                    left join Organizations org_Payer on (oa_Payer.Org_Ref = org_Payer.id)
                    left join BankExch_merdoc bm on (inc.eldocref = bm.id)
                    left join FACIALACC_CLS f on (f.id = inc.FacialAcc_Cls ) 
                    left join LinkRecords lr on (lr.parentid = inc.id)
                    left join LinkRecords lr2 on (lr2.childid = inc.id)
                    left join LinkType lt on (lt.id = lr.linktyperef)

                    left join CorrectionDetail cor_d on (cor_d.id = lr2.parentid)
                    left join CorrectionDetail cor_d_cor on (cor_d_cor.id = lr.ChildId)
                    left join CorrectionCaption cor_c_cor on (cor_c_cor.id = cor_d_cor.RecordIndex)
                    
                    LEFT JOIN TransfertCls tc ON (tc.id =  inc.TransfertCls) 
                    
                    "+ nl + СоединениеСоСтарымиУведомлениями
                    + nl + СоединениеСПлатежкамиПоНевыясненным 
                    + nl + СоединениеСПлатежками 
                    + nl + СоединениеСВозвратом
                    + nl + ПодключениеДеталиНевыясненных + 
                    
                                                               
                 " where  
                   (inc.AccountIndex = 0) 
                   " + ОграничениеПоСтарымУведомлениям + "                     
                 @Limits_Incomes 
                 @LimitGrpPzk
                 }
                 
                 [InsertData]
        {insert into Incomes32
          (ID, DOCNUM, DEBIT, CREDIT, DOCTYPE, ORG_REF,ACCOUNTREF,
           Fact, DocBase, DocDate, DirectionCLS,
           KD, SUBKD,KVSR,  PROGINDEX, RECORDINDEX, BUDGETREF,REGIONCLS,FACIALACC_CLS, TransfertCls, SUBSIDYCLS,
           NOTE, NDSNote, BUHPAYMENTCLS, MeansType,AccountIndex,
           KFSR, KESR, KVR, KCSR, BuhOperationCls, IncAccount, ifs, GOSNI, FundsSource, IsBlocked, BlockedCause, UnBlockedDate, UnBlockedCause)
        values
          (~ID, ~DocNumber, ~Debit, ~Summa, ~DOCTYPE, ~PayerOrgREf,~PayerAccREf,
           ~Fact, ~DocBase, ~Inputdate, ~DirectionCLS,
           ~KD, ~SUBKD, ~KVSR,  ~ProgIndex, ~RECORDINDEX, ~BUDGETREF,~REGIONCLS,~FACIALACC_CLS, ~TransfertCls,  ~SUBSIDYCLS,
           ~NOTE, ~NDS, ~BUHPAYMENTCLS, ~MeansType,0,
           ~KFSR, ~KESR, ~KVR, ~KCSR, ~BuhOperationCls, ~AcceptorAccRef, ~ifs, ~GOSNI, ~FundsSource, ~IsBlocked, ~BlockedCause, ~UnBlockedDate, ~UnBlockedCause)}
           
              [ModifyData]
              {
               update Incomes32 set 
                  kd = ~kd,
                  ifs = ~ifs,
                  ClsType = ~ClsType,
                  DirectionCLS = ~DirectionCLS, 
                  RecordIndex = ~RecordIndex,
                  IDate = ~AcceptDate,
                  Credit = ~Summa,
                  Debit = ~Debit, 
                  FacialAcc_Cls = ~FacialAcc_Cls,
                  TransfertCls = ~TransfertCls,
                  SUBSIDYCLS = ~SUBSIDYCLS,
                  FundsSource = ~FundsSource,
                  DocNum = ~DocNumber,
                  MeansType = ~MeansType,
                  Fact = ~Fact,
                  RegionCls = ~RegionCls,
                  DocDate =~Inputdate,
                  IsBlocked = ~IsBlocked,
                  BlockedCause = ~BlockedCause, 
                  UnBlockedDate = ~UnBlockedDate,
                  UnBlockedCause = ~UnBlockedCause,
                  Note = ~Note" +nl+ 
             МодификацияПричиныОтклонения +nl+     
               " where id  = @id  
              }
              
           [DELETEDATA]
           {
            delete from Incomes32
            where (id = @id)
            }   
             ";
конец;

функция ПолучитьЗапрос_Казначейство_Выбытие( Коллекция : IVariables) : строка;
переменные
  типСоединенияСОбменом, типСоединенияСЗаголовком : Строка;
  соединениеСРеестром : строка;
  ограничениеПоПринятостиРеестра : строка;
  СоединениеСоСтарымиУведомлениями, ОграничениеПоСтарымУведомлениям, поляКоторыхНетНаУРМ: строка; 
  ДопОграничениеПоТипуСвязи, ДопОрганичениеПоНевыясненным, ДопДжоинДляНевыясненных : строка;
начало
  типСоединенияСОбменом := ' left ';
  соединениеСРеестром  := "";
  ограничениеПоПринятостиРеестра := "";   
  ДопОграничениеПоТипуСвязи := "";
   
  Если (коллекция.Значение(ип_УточнятьТолькоОтправленные) и (коллекция.Значение('Класс')&lt;&gt;Класс_РасходПоЧекам) и  (коллекция.Значение('Класс')&lt;&gt;Класс_УчетКассовыхВыплат) )  тогда 
    типСоединенияСОбменом := " inner ";
  Если коллекция.Значение(ип_НеВыбиратьСПринятымРеестром) тогда 
    начало
     соединениеСРеестром  := nl + "left join FacialFinReestr ffr on (ffr.Id = cpt.Reestr_ref)" + nl;
     ограничениеПоПринятостиРеестра := "and ( 
                                             (ffr.Id is null) or 
                                             (  (not ffr.Id is null) and (ffr.Accepted &lt;&gt;1) )
                                           )" + nl;   
    конец  
  Иначе 
    Если ПолучитьПараметрИзНастроек(4,0,"ОграничениеДокументВключенВРеестр") тогда
      соединениеСРеестром  := nl + "left join FacialFinReestr ffr on (ffr.Id = cpt.Reestr_ref)" + nl;
  /$если Бюджет
    если не коллекция.Значение(ип_ИскатьДокументыБезДопОграничений) тогда 
    начало 
      СоединениеСоСтарымиУведомлениями := "";
      ОграничениеПоСтарымУведомлениям := "";
    конец
    иначе
    начало
      СоединениеСоСтарымиУведомлениями := "";
      ОграничениеПоСтарымУведомлениям := "";
    конец;
    поляКоторыхНетНаУРМ := " Cpt.DepartmentCls, Cpt.SubProgIndex, cpt.FEDERALFUNDSREF, ";
  /$иначе
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
    поляКоторыхНетНаУРМ := " 0 DepartmentCls, 0 SubProgIndex, 0 FEDERALFUNDSREF, ";
  /$конец 
  ТипСоединенияСЗаголовком := ВернутьТипСоединенияСЗаголовком(коллекция);
  если коллекция.Значение('Класс') = Класс_ВП_Выбытие тогда
    ДопОграничениеПоТипуСвязи := " and ( lt.id &lt;&gt; 35501900) ";
  если коллекция.Значение('Класс') = Класс_ВПл_Выбытие тогда
    ДопОграничениеПоТипуСвязи := " and ( lt.id &lt;&gt; 35502200) ";
  если коллекция.Значение('Класс') = Класс_ПлатежныеПоручения тогда
  начало  
    ДопДжоинДляНевыясненных := "left join LinkRecords lr3 on (lr3.childid = Cpt.id)" + nl +
                               "left join LinkType lt2 on (lt2.id = lr3.linktyperef)";
    ДопОрганичениеПоНевыясненным := "and ((lt2.id &lt;&gt; 90300100) or (lt2.id is null))";
  конец;  
  
  Результат := "[PumpData]{
                SELECT distinct cpt.id MasterId,
                    ffd.id,
                    ffd.RecordIndex,
                    Cpt.BudgetRef,
                    cast('' as varchar(1))   ElRefStr,                    
                    Cpt.Docnumber,
                    Cpt.DocumentDate InputDate,
                    Cpt.AcceptDate,
                    ffd.Credit summa,
                    cor_d_cor.summa SummaDetail,
                    cor_c_cor.OriginalNumber IsPZK,
                    lr.ChildId,
                    cor_c_cor.Reject_Cls Reject_Cls_C,
                    cast (0 as float) SummaRemainder,
                    0 debit,                    
                    ffd.SourceFacialAcc_CLS,
                    ffd.DestFacialAcc_Cls,
                    ffd.SourceFacialAcc_CLS FacialAcc_Cls,
                    f.FacialCode,                    
                    Cpt.PayTypeCls,
                    Cpt.Note,
                    Cpt.PayPriority,
                    Cpt.BuhPaymentCls,
                    Cpt.TaxNote, /*Налоговое поле*/
                    Cpt.NDS, /*НДС*/
                    ffd.BuhOperationCls,
                    ffd.ClsType ClsType,
                    cpt.ProgIndex,                                        

                    
                    ffd.SourceKVR KVR,
                    ffd.SourceKESR KESR,
                    ffd.SourceKVSR KVSR,
                    ffd.SourceKCSR KCSR,
                    ffd.SourceKFSR KFSR,
                    ffd.SourceSubKESR SubKesr,
                    ffd.SourceFact Fact,
                    ffd.SourceMeansType MeansType,
                    ffd.SourceDocType DocType,
                    ffd.SourceDocBase DocBase,
                    ffd.SourceFinType FinType,
                    ffd.SourceDirectionCls DirectionCls,
                    ffd.SourceFinSource FinSource,
                    ffd.PaySymbolCls,
                    0 SubKD,
                    ffd.SourceRegionCls RegionCLS, 
                    ffd.SourceKd KD,
                    ffd.SourceIFS IFS,
                    ffd.SourceFundsSource FundsSource,
                    ffd.SourceTransfertCls TransfertCls,
                    ffd.SourceSUBSIDYCLS SUBSIDYCLS,
                    ffd.SourceBudAllocationCls BudAllocationCls,
                    ffd.SourcePayPromiseCls PayPromiseCls,
                    
                    ffd.SourcePromise Promise,
                    ffd.SourceBudgetPromise BudgetPromise,
                    ffd.SourceExecDoc ExecDoc,
                    di.innerNumber ExecInnerNUmber,
                    cast('' as varchar(10))  GOSNI,  
                    
                    ffd.IsBlocked,
                    ffd.BlockedCause,
                    ffd.UnBlockedDate,
                    ffd.UnBlockedCause,                  
       
                    Ifs.FinSourceValue IFSValue,  
                    kd.KdValue   KDValue,
                    
                    Cpt.Reestr_ref, 
                    Cpt.Period, 
                    Cpt.TypeOperationCls, 
                    cpt.BidNumber, 
                    Cpt.CARDNUMBER, 
                    cpt.ManagerBid,  
                    Cpt.DocStateRef,   
                    cpt.OperationDirection, 
                    " + ПоляКоторыхНетНаУРМ + " 

                    oa_Acceptor.ID       AcceptorAccRef,
                    org_Acceptor.ID      AcceptorOrgRef ,
                    cast(org_Acceptor.INN as Varchar(20)) AcceptorOrgInn,
                    org_Acceptor.INN20   AcceptorOrgInn20,
                    org_Acceptor.Name    AcceptorOrgName,
                    oa_Acceptor.Acc      AcceptorAcc,
                    
                    
                    
                    oa_Payer.Id          PayerAccREf,
                    org_Payer.ID         PayerOrgRef ,
                    cast(org_Payer.INN as Varchar(20)) PayerOrgInn,
                    org_Payer.INN20      PayerOrgInn20,
                    org_Payer.Name       PayerOrgName,
                    oa_Payer.Acc         PayerAcc,
                   
                    
                    
                    pde.id               ElRef,
                    cpt.DocumentDate     OriginalDate,
                    cpt.Credit           OriginalSumma,
                    cpt.Note             OriginalNote,
                    cpt.DocNumber        OriginalNumber,
                    
                    cpt.REJECT_CLS,
                    cpt.REJECTCause,
                    
                    cast('' as varchar(10)) InputDateStr,                    
                    cast('' as varchar(10)) AcceptDateStr,
                    cast('' as varchar(15)) SummaStr,          
                    cast('' as varchar(20)) FacialAcc_Cls_Str,                                        
                    cast('' as varchar(30)) ClsHeader,                    
                    cast('' as varchar(255)) PayerParent,  
                    cast('' as varchar(255)) AcceptorParent,
                    cast('' as varchar(30))  ProgIndexName,
                    cast('' as varchar(20))  ClsTypeName,
                    cast('' as varchar(255)) BasicNote,
                    Cast('' as VarChar(11)) OKATO,
                    Cast('' as VarChar(3)) ADDOKATO,
                    Cast('' as VarChar(50)) ElNum
                                        
                    [$Std 
                          ,a.ReestrNumber
                    ]                      

                    
            FROM   
                    FacialFindetail ffd
                    " + ТипСоединенияСЗаголовком + " join FacialFINCAPTION Cpt on (ffd.RecordIndex=cpt.id)
                    left join InnerFinSource ifs on (ifs.id = ffd.SourceIFS)
                    left join ExecutionDocumentsCaption di on (di.id = ffd.SourceExecDoc)
                    left join kd on (kd.id = ffd.SourceKD)                    
                    left join Org_Accounts oa_Payer on (oa_Payer.id = cpt.SourceAccount)
                    left join Org_Accounts oa_Acceptor on (oa_Acceptor.id = cpt.DestAccount)
                    left join Organizations org_Acceptor on (oa_Acceptor.Org_Ref = org_Acceptor.id)
                    left join Organizations org_Payer on (oa_Payer.Org_Ref = org_Payer.id)" 
+ nl + типСоединенияСОбменом  + "join Ed_OutPayDoc pde on ((pde.DocRef = cpt.id) and (pde.IsLastVersion=1) and (pde.DocSource = 0))                              
                    " + СоединениеСоСтарымиУведомлениями + "
                    left join FACIALACC_CLS f on (f.id =ffd.SourceFacialAcc_Cls )
                    left join LinkRecords lr on (lr.parentid = ffd.id)
                    left join LinkRecords lr2 on (lr2.childid = ffd.id)
                    
                    left join LinkType lt on (lt.id = lr.linktyperef)
					
					" + ДопДжоинДляНевыясненных + "
                    
                    left join CorrectionDetail cor_d on (cor_d.id = lr2.parentid)
                    left join CorrectionDetail cor_d_cor on (cor_d_cor.id = lr.ChildId) "+ДопОграничениеПоТипуСвязи+"
                    left join CorrectionCaption cor_c_cor on (cor_c_cor.id = cor_d_cor.RecordIndex)
                    left join CorrectionCaption cor_c on (cor_c.id = lr2.ParentId)
                                                                  
                    left join KCSR KCSR_CODE on (KCSR_CODE.id = ffd.SourceKCSR)
                    left join KVR KVR_CODE on (KVR_CODE.id = ffd.SourceKVR)
                    left join KVSR KVSR_CODE on (KVSR_CODE.id = ffd.SourceKVSR)
                    LEFT JOIN TransfertCls tc ON (tc.id =  ffd.SourceTransfertCls) 
                    
                    " + соединениеСРеестром + "
                    
                    [$Std
                      left join PaymentSchedule spsl on
                          (
                              (ffd.SourceBudgetPromise = spsl.InnerPromiseNum)
                          )
                      left join AgreementSteps ast on (spsl.RecordIndex = ast.ID)
                      left join Agreements a on (spsl.AgreementRef = a.ID)
                    ]
                                                  
            where
              (1=1)  
              " + ОграничениеПоСтарымУведомлениям + "
              " + ограничениеПоПринятостиРеестра + "                  
		      " + ДопОрганичениеПоНевыясненным + "
              @Limits_Treasure
              @LimitGrpPzk
              }

        [InsertData]
                {insert into FacialFINDETAIL
                (id,SourceKVR,SourceKESR,
                SourceKVSR,SourceKCSR,SourceKFSR,SourceSubKESR,SourceFact,SourceRegionCls,
                SourceMeansType,SourceDocType, SourceDirectionCls, SourceFinSource, SourceDocBase,SourceFinType,
                SourceIFS,SourceKD,PaySymbolCls, SourceTransfertCls, SourceSUBSIDYCLS, SourceBudAllocationCls, SourcePayPromiseCls,
                credit, Note,RecordIndex,progindex,
                BuhOperationCls, ClsType, BudgetRef,
                SourcePromise, SourceBudgetPromise, SourceExecDoc, SourceFundsSource, IsBlocked, BlockedCause, UnBlockedDate, UnBlockedCause)
        values
                (~id,~KVR,~KESR,
                ~KVSR,~KCSR,~KFSR,~SubKESR,~Fact,~RegionCls,
                ~MeansType,~DocType, ~DirectionCls, ~FinSource, ~DocBase, ~FinType,~IFS,~KD,~PaySymbolCls, ~TransfertCls, ~SUBSIDYCLS, ~BudAllocationCls, ~PayPromiseCls,
                ~summa,~Note, ~RecordIndex,~progindex,
                ~BuhOperationCls, ~ClsType, ~BudgetRef,
                ~Promise, ~BudgetPromise, ~ExecDoc, ~FundsSource, ~IsBlocked, ~BlockedCause, ~UnBlockedDate, ~UnBlockedCause
        )}

        [ModifyData]
              {
               update FacialFinDetail set 
                  SourceKVSR = ~KVSR, 
                  SourceKFSR = ~KFSR,
                  SourceKVR = ~KVR,
                  SourceKCSR = ~KCSR,
                  SourceKESR = ~KESR,
                  SourceSubKESR  = ~SubKesr,
                  SourceFact = ~Fact,
                  SourceMeansType = ~MeansType,
                  SourceDocType = ~DocType,
                  SourceDocBase = ~DocBase,
                  SourceFinType = ~FinType,
                  SourceDirectionCls = ~DirectionCls,
                  SourceFinSource = ~FinSource,
                  SourceRegionCls = ~RegionCls,
                  SourceIFS = ~IFS,
                  SourceKd = ~KD,
                  IsBlocked = ~IsBlocked,
                  BlockedCause = ~BlockedCause, 
                  UnBlockedDate = ~UnBlockedDate,
                  UnBlockedCause = ~UnBlockedCause,
                  SourceFundsSource = ~FundsSource,
                  PaySymbolCls = ~PaySymbolCls,
                  SourceTransfertCls = ~TransfertCls,
                  SourceSUBSIDYCLS = ~SUBSIDYCLS,
                  SourceBudAllocationCls = ~BudAllocationCls,
                  SourcePayPromiseCls = ~PayPromiseCls, 
                  SourceFacialAcc_Cls = ~FacialAcc_Cls,
                  ClsType = ~ClsType,
                  Credit = ~Summa,
                  Note = ~Note,
                  SourcePromise = ~Promise,
                  SourceBudgetPromise = ~BudgetPromise,
                  SourceExecDoc = ~ExecDoc 
               where id  = @id  
              }

        [DELETEDATA]
         {
          delete from FacialFinDetail
          where (id = @id)
         }   

        ";
конец;

функция ПолучитьЗапрос_Казначейство_Поступление( Коллекция : IVariables) : строка;
переменные
  соединениеСРеестром, типСоединенияСЗаголовком : строка;
  ограничениеПоПринятостиРеестра : строка;
  СоединениеСоСтарымиУведомлениями, ОграничениеПоСтарымУведомлениям, поляКоторыхНетНаУРМ, полеТипКлассификации: строка;
  ДопОграничениеПоТипуСвязи : строка; 
начало
  соединениеСРеестром  := "";
  ограничениеПоПринятостиРеестра := "";   
  ДопОграничениеПоТипуСвязи := "";
  Если коллекция.Значение(ип_НеВыбиратьСПринятымРеестром) тогда 
    начало
     соединениеСРеестром  := nl + "left join FacialFinReestr ffr on (ffr.Id = cpt.Reestr_ref)" + nl;
     ограничениеПоПринятостиРеестра := "and ( 
                                             (ffr.Id is null) or 
                                             (  (not ffr.Id is null) and (ffr.Accepted &lt;&gt;1) )
                                           )" + nl;   
    конец  
  Иначе 
    Если ПолучитьПараметрИзНастроек(4,0,"ОграничениеДокументВключенВРеестр") тогда
      соединениеСРеестром  := nl + "left join FacialFinReestr ffr on (ffr.Id = cpt.Reestr_ref)" + nl;
  /$если Бюджет
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
    поляКоторыхНетНаУРМ := " Cpt.DepartmentCls, Cpt.SubProgIndex, cpt.FEDERALFUNDSREF, ";
  /$иначе
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
    поляКоторыхНетНаУРМ := " 0 DepartmentCls, 0 SubProgIndex, 0 FEDERALFUNDSREF, ";
  /$конец
  
  если Коллекция.Значение("Класс")  =  Класс_ВПл_Поступление тогда
    полеТипКлассификации := 'DestClsType'
  иначе  
    полеТипКлассификации := 'ClsType';
  
  ТипСоединенияСЗаголовком := ВернутьТипСоединенияСЗаголовком(коллекция);
  
  если коллекция.Значение('Класс') = Класс_ВП_Поступление тогда
    ДопОграничениеПоТипуСвязи := " and ( lt.id &lt;&gt; 35501600) ";
  если коллекция.Значение('Класс') = Класс_ВПл_Поступление тогда
    ДопОграничениеПоТипуСвязи := " and ( lt.id &lt;&gt; 35502400) ";
  
  Результат := "[PumpData]{
                SELECT distinct cpt.id masterId,
                    ffd.id,
                    ffd.RecordIndex,
                    Cpt.BudgetRef,
                    cast('' as varchar(1))   ElRefStr,                    
                    Cpt.Docnumber,
                    Cpt.DocumentDate InputDate,
                    Cpt.AcceptDate,
                    ffd.Credit summa,
                    cor_d_cor.summa SummaDetail,
                    cor_c_cor.OriginalNumber IsPZK,
                    lr.ChildId,
                    cor_c_cor.Reject_Cls Reject_Cls_C,
                    cast (0 as float) SummaRemainder,
                    0 debit,                    
                    ffd.SourceFacialAcc_CLS,
                    ffd.DestFacialAcc_Cls,
                    ffd.DestFacialAcc_Cls FacialAcc_Cls, 
                    f.FacialCode,                   
                    Cpt.PayTypeCls,
                    Cpt.Note,
                    Cpt.PayPriority,
                    Cpt.BuhPaymentCls,
                    Cpt.TaxNote, /*Налоговое поле*/
                    Cpt.NDS, /*НДС*/
                    ffd.BuhOperationCls,
                    ffd."+полеТипКлассификации+" ClsType,
                    cpt.ProgIndex,
                                                            

                    
                    ffd.DestKVR KVR,
                    ffd.DestKESR KESR,
                    ffd.DestKVSR KVSR,
                    ffd.DestKCSR KCSR,
                    ffd.DestKFSR KFSR,
                    ffd.DestSubKESR SubKesr,
                    ffd.DestFact Fact,
                    ffd.DestMeansType MeansType,
                    ffd.DestDocType DocType,
                    ffd.DestDocBase DocBase,
                    ffd.DestFinType FinType,
                    ffd.DestDirectionCls DirectionCls,
                    ffd.DestFinSource FinSource,
                    ffd.PaySymbolCls,
                    0 SubKD,
                    ffd.DestRegionCls RegionCLS, 
                    ffd.DestKD KD,
                    ffd.DestIFS IFS,
                    ffd.DestFundsSource FundsSource,
                    ffd.DestTransfertCls TransfertCls,
                    ffd.DestSUBSIDYCLS SUBSIDYCLS,
                    ffd.DestBudAllocationCls BudAllocationCls,
                    ffd.DestPayPromiseCls PayPromiseCls,
                    
                    ffd.IsBlocked,
                    ffd.BlockedCause,
                    ffd.UnBlockedDate,
                    ffd.UnBlockedCause, 
                    
                    ffd.DestPromise Promise,
                    ffd.DestBudgetPromise BudgetPromise,
                    ffd.DestExecDoc ExecDoc,
                    di.InnerNUmber ExecInnerNUmber,
                    
                    cast('' as varchar(10))  GOSNI,                    
                    
       
                    Ifs.FinSourceValue IFSValue,  
                    kd.KdValue   KDValue, 
                    
                    Cpt.Reestr_ref, 
                    Cpt.Period, 
                    Cpt.TypeOperationCls, 
                    cpt.BidNumber, 
                    Cpt.CARDNUMBER, 
                    cpt.ManagerBid,  
                    Cpt.DocStateRef,   
                    cpt.OperationDirection, 
                    " + поляКоторыхНетНаУРМ + "
                    
                    oa_Acceptor.ID       AcceptorAccRef,
                    org_Acceptor.ID      AcceptorOrgRef ,
                    cast(org_Acceptor.INN as Varchar(20)) AcceptorOrgInn,
                    org_Acceptor.INN20   AcceptorOrgInn20,
                    org_Acceptor.Name    AcceptorOrgName,
                    oa_Acceptor.Acc      AcceptorAcc,
                    
                    
                    oa_Payer.Id          PayerAccREf,
                    org_Payer.ID         PayerOrgRef ,
                    cast(org_Payer.INN as Varchar(20)) PayerOrgInn,
                    org_Payer.INN20      PayerOrgInn20,
                    org_Payer.Name       PayerOrgName,
                    oa_Payer.Acc         PayerAcc,
                    
                    
                    cpt.ElDocRef         ElRef,
                    cpt.DocumentDate     OriginalDate,
                    cpt.Credit           OriginalSumma,
                    cpt.Note             OriginalNote,
                    cpt.DocNumber        OriginalNumber,
                    
                    cpt.REJECT_CLS,
                    cpt.REJECTCause,

                    cast('' as varchar(10)) InputDateStr,                    
                    cast('' as varchar(10)) AcceptDateStr,
                    cast('' as varchar(15)) SummaStr,          
                    cast('' as varchar(20)) FacialAcc_Cls_Str,                                        
                    cast('' as varchar(30)) ClsHeader,                    
                    cast('' as varchar(255)) PayerParent,  
                    cast('' as varchar(255)) AcceptorParent,
                    cast('' as varchar(30))  ProgIndexName,
                    cast('' as varchar(20))  ClsTypeName,
                    cast('' as varchar(255)) BasicNote,
                    Cast('' as VarChar(11)) OKATO,
                    Cast('' as VarChar(3)) ADDOKATO,
                    Cast('' as VarChar(50)) ElNum
                    [$Std 
                          ,a.ReestrNumber
                    ]      

            FROM
                    FacialFindetail ffd
                    " + типСоединенияСЗаголовком + " join FacialFINCAPTION Cpt on (ffd.RecordIndex=cpt.id)
                    left join InnerFinSource ifs on (ifs.id = ffd.DestIFS)
                    left join ExecutionDocumentsCaption di on (di.id = ffd.DestExecDoc)
                    left join KD on (kd.id = ffd.DestKD)                    
                    left join Org_Accounts oa_Payer on (oa_Payer.id = cpt.SourceAccount)
                    left join Org_Accounts oa_Acceptor on (oa_Acceptor.id = cpt.DestAccount)
                    left join Organizations org_Acceptor on (oa_Acceptor.Org_Ref = org_Acceptor.id)
                    left join Organizations org_Payer on (oa_Payer.Org_Ref = org_Payer.id)
                    " + СоединениеСоСтарымиУведомлениями + "
                    left join FACIALACC_CLS f on (f.id = ffd.DestFacialAcc_Cls )
                    left join LinkRecords lr on (lr.parentid = ffd.id)
                    left join LinkRecords lr2 on (lr2.childid = ffd.id)
                    left join LinkType lt on (lt.id = lr.linktyperef)
                    left join CorrectionDetail cor_d on (cor_d.id = lr2.parentid)
                    left join CorrectionDetail cor_d_cor on (cor_d_cor.id = lr.ChildId) " + ДопОграничениеПоТипуСвязи + "
                    left join CorrectionCaption cor_c_cor on (cor_c_cor.id = cor_d_cor.RecordIndex)
                    
                    left join KCSR KCSR_CODE on (KCSR_CODE.id = ffd.DestKCSR)
                    left join KVR KVR_CODE on (KVR_CODE.id = ffd.DestKVR)
                    left join KVSR KVSR_CODE on (KVSR_CODE.id = ffd.DestKVSR)
                    LEFT JOIN TransfertCls tc ON (tc.id =  ffd.DestTransfertCls) 
                     [$Std
                          left join PaymentSchedule spsl on
                          (
                              (ffd.DestBudgetPromise = spsl.InnerPromiseNum)
                          )
                          left join AgreementSteps ast on (spsl.RecordIndex = ast.ID)
                          left join Agreements a on (spsl.AgreementRef = a.ID)
                          ]

                    
                    " + соединениеСРеестром + "
                     
            where
              (1=1)  
              " + ОграничениеПоСтарымУведомлениям + "
              " + ограничениеПоПринятостиРеестра + "  
              @Limits_Treasure
              @LimitGrpPzk
              }
              
        [InsertData]
                {insert into FacialFINDETAIL
                (id,DestKVR,DestKESR,
                DestKVSR,DestKCSR,DestKFSR,DestSubKESR,DestFact,DestRegionCls,
                DestMeansType, DestDocType, DestDirectionCls, DestFinSource, DestDocBase, DestFinType,
                DestIFS,destKD,PaySymbolCls, DestTransfertCls, DestSUBSIDYCLS, DestBudAllocationCls, DestPayPromiseCls,
                credit, Note,RecordIndex,progindex,
                BuhOperationCls, "+полеТипКлассификации+",BudgetRef, 
                DestPromise, DestBudgetPromise, DestExecDoc, DestFundsSource, IsBlocked, BlockedCause, UnBlockedDate, UnBlockedCause)
        values
                (~id,~KVR,~KESR,
                ~KVSR,~KCSR,~KFSR,~SubKESR,~Fact,~RegionCls, 
                ~MeansType, ~DocType,~DirectionCls, ~FinSource, ~DocBase, ~FinType, ~IFS, ~KD, ~PaySymbolCls, ~TransfertCls, ~SUBSIDYCLS, ~BudAllocationCls, ~PayPromiseCls,
                ~summa,~Note, ~RecordIndex,~progindex,
                ~BuhOperationCls, ~ClsType, ~BudgetRef,
                ~Promise, ~BudgetPromise, ~ExecDoc, ~FundsSource, ~IsBlocked, ~BlockedCause, ~UnBlockedDate, ~UnBlockedCause
        )}
        
        [ModifyData]
              {
               update FacialFinDetail set 
                  DestKVSR = ~KVSR, 
                  DestKFSR = ~KFSR,
                  DestKVR = ~KVR,
                  DestKCSR = ~KCSR,
                  DestKESR = ~KESR,
                  DestSubKESR  = ~SubKesr,
                  DestFact = ~Fact,
                  DestMeansType = ~MeansType,
                  DestDocType = ~DocType,
                  DestDocBase = ~DocBase,
                  DestFinType = ~FinType,
                  DestDirectionCls = ~DirectionCls,
                  DestFinSource = ~FinSource,
                  DestRegionCls = ~RegionCls,
                  DestIFS = ~IFS,
                  DestKD = ~KD,
                  PaySymbolCls = ~PaySymbolCls,
                  DestTransfertCls = ~TransfertCls,
                  DestSUBSIDYCLS = ~SUBSIDYCLS,
                  DestBudAllocationCls = ~BudAllocationCls,
                  DestPayPromiseCls = ~PayPromiseCls,
                  IsBlocked = ~IsBlocked,
                  BlockedCause = ~BlockedCause, 
                  UnBlockedDate = ~UnBlockedDate,
                  UnBlockedCause = ~UnBlockedCause,
                  DestFacialAcc_Cls = ~FacialAcc_Cls,
                  "+полеТипКлассификации+" = ~ClsType,
                  Credit = ~Summa,
                  Note = ~Note,
                  DestPromise = ~Promise,
                  DestBudgetPromise = ~BudgetPromise,
                  DestExecDoc = ~ExecDoc,
                  DestFundsSource = ~FundsSource
               where id  = @id  
              }
        
        [DELETEDATA]
         {
          delete from FacialFinDetail
          where (id = @id)
         }   
        
        ";
конец;

функция ПолучитьЗапрос_КазначействоВП(коллекция: IVariables) : строка;
переменные
  СоединениеСоСтарымиУведомлениями, ОграничениеПоСтарымУведомлениям, поляКоторыхНетНаУРМ, типСоединенияСЗаголовком: строка; 
начало
  /$если Бюджет
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
    поляКоторыхНетНаУРМ := " Cpt.DepartmentCls, Cpt.SubProgIndex, cpt.FEDERALFUNDSREF, ";    
  /$иначе
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
    поляКоторыхНетНаУРМ := " 0 DepartmentCls, 0 SubProgIndex, 0 FEDERALFUNDSREF, ";
  /$конец
  ТипСоединенияСЗаголовком := ВернутьТипСоединенияСЗаголовком(коллекция);
  Результат := "[PumpData]{
                SELECT distinct cpt.id MasterId,
                    ffd.id,
                    ffd.RecordIndex,
                    Cpt.BudgetRef,
                    cast('' as varchar(1))   ElRefStr,                    
                    Cpt.Docnumber,
                    Cpt.DocumentDate InputDate,
                    Cpt.AcceptDate,
                    ffd.Credit summa,
                    cor_d_cor.summa SummaDetail,
                    cor_c_cor.OriginalNumber IsPZK,
                    lr.ChildId,
                    cor_c_cor.Reject_Cls Reject_Cls_C,
                    cast (0 as float) SummaRemainder,
                    0 debit,                    
                    ffd.SourceFacialAcc_CLS,
                    ffd.DestFacialAcc_Cls,
                    ffd.SourceFacialAcc_Cls FacialAcc_Cls,
                    f.FacialCode,
                    
                    Cpt.PayTypeCls,
                    Cpt.Note,
                    Cpt.PayPriority,
                    Cpt.BuhPaymentCls,
                    Cpt.TaxNote, /*Налоговое поле*/
                    Cpt.NDS, /*НДС*/
                    ffd.BuhOperationCls,
                    ffd.ClsType,
                    cpt.ProgIndex,
                    cpt.SourceAccount PayerAccREf,
                    cpt.DestAccount AcceptorAccRef,
                    
                    ffd.MemOrderNum,

                    Cast('' as varchar(20))      AcceptorOrgRef ,
                    Cast('' as varchar(20))      AcceptorOrgInn,
                    Cast('' as varchar(20))      AcceptorOrgInn20,
                    org_Acceptor.Name            AcceptorOrgName,
                    oa_Acceptor.Acc              AcceptorAcc,
                    
                    Cast('' as varchar(20))     PayerOrgRef ,
                    Cast('' as varchar(20))     PayerOrgInn,
                    Cast('' as varchar(20))     PayerOrgInn20,
                    org_Payer.Name              PayerOrgName,
                    oa_Payer.Acc                PayerAcc,
                                                            

                    ffd.ClsType SourceClsType,
                    ffd.SourceKVR,
                    ffd.SourceKESR,
                    ffd.SourceKVSR,
                    ffd.SourceKCSR,
                    ffd.SourceKFSR,
                    ffd.SourceSubKESR,
                    ffd.SourceFact,
                    ffd.SourceMeansType,
                    ffd.SourceDocType,
                    ffd.SourceDocBase,
                    ffd.SourceFinType,
                    ffd.SourceDirectionCls,
                    ffd.SourceFinSource,
                    ffd.SourceRegionCls,
                    ffd.SourceIFS,
                    ffd.SourceKD,
                    ffd.SourcePromise,
                    ffd.SourceBudgetPromise,
                    ffd.SourceExecDoc,
                    di_source.innerNumber SourceExecInnerNUmber,
                    
                    kd_source.KdValue SourceKdValue,
                    Ifs_source.FinSourceValue SourceIFSValue,
                    ffd.SourceFundsSource,
                    ffd.SourceTransfertCls,
                    ffd.SourceSUBSIDYCLS,
                    ffd.SourceBudAllocationCls,
                    ffd.SourcePayPromiseCls,
                    
                    ffd.IsBlocked, 
                    ffd.BlockedCause, 
                    ffd.UnBlockedDate, 
                    ffd.UnBlockedCause,
                    
                    ffd.DestClsType, 
                    ffd.DestKVR,
                    ffd.DestKESR,
                    ffd.DestKVSR,
                    ffd.DestKCSR,
                    ffd.DestKFSR,
                    ffd.DestSubKESR,
                    ffd.DestFact,
                    ffd.DestMeansType,
                    ffd.DestDocType,
                    ffd.DestDocBase,
                    ffd.DestFinType,
                    ffd.DestDirectionCls,
                    ffd.DestFinSource,
                    ffd.DestRegionCls,
                    ffd.DestIFS,
                    ffd.DestKD,
                    ffd.DestPromise,
                    ffd.DestBudgetPromise,
                    ffd.DestExecDoc,
                    di_dest.innerNumber DestExecInnerNUmber,
                    
                    kd_dest.KDValue DestKdValue,
                    Ifs_Dest.FinSourceValue DestIFSValue,
                    ffd.DestFundsSource,
                    ffd.DestTransfertCls,
                    ffd.DestSUBSIDYCLS,
                    ffd.DestBudAllocationCls,
                    ffd.DestPayPromiseCls,                    
                    
                    
                    Cast(0 as Integer) KVR,
                    Cast(0 as Integer) KESR,
                    Cast(0 as Integer) KVSR,
                    Cast(0 as Integer) KCSR,
                    Cast(0 as Integer) KFSR,
                    Cast(0 as Integer) SubKESR,
                    Cast(0 as Integer) Fact,
                    Cast(0 as Integer) MeansType,
                    Cast(0 as Integer) DocType,
                    Cast(0 as Integer) DocBase,
                    Cast(0 as Integer) FinType,
                    Cast(0 as Integer) DirectionCls,
                    Cast(0 as Integer) FinSource,
                    Cast(0 as Integer) IFS,
                    Cast(0 as Integer) FundsSource,
                    Cast('' as VarChar(10)) Promise,
                    Cast('' as VarChar(10)) BudgetPromise,
                    Cast('' as VarChar(10)) ExecDoc,
                    Cast('' as VarChar(10)) ExecInnerNUmber, 
                    Cast('' as VarChar(20)) KdValue,
                    Cast('' as VarChar(20)) IFSValue,
                    Cast('' as VarChar(11)) OKATO,
                    Cast('' as VarChar(3)) ADDOKATO,
                    Cast('' as VarChar(50)) ElNum,
                    Cast(0 as Integer) TransfertCls,
                    Cast(0 as integer) SUBSIDYCLS,  
                    Cast(0 as integer) BudAllocationCls,
                    Cast(0 as integer) PayPromiseCls,               
                    
                   
                   
                    ffd.PaySymbolCls,
                    0 SubKD,
                    0 RegionCLS, 
                    0 KD,
                    cast('' as varchar(10))  GOSNI,
                    
                    Cpt.Reestr_ref, 
                    Cpt.Period, 
                    Cpt.TypeOperationCls, 
                    cpt.BidNumber, 
                    Cpt.CARDNUMBER, 
                    cpt.ManagerBid,  
                    Cpt.DocStateRef,   
                    cpt.OperationDirection, 
                    " + поляКоторыхНетНаУРМ + " 
                    cast('' as varchar(10))   ElRef,
                    cpt.DocumentDate     OriginalDate,
                    cpt.Credit           OriginalSumma,
                    cpt.Note             OriginalNote,
                    cpt.DocNumber        OriginalNumber,
                    
                    cpt.REJECT_CLS,
                    cpt.REJECTCause,

                    cast('' as varchar(10)) InputDateStr,                    
                    cast('' as varchar(10)) AcceptDateStr,
                    cast('' as varchar(15)) SummaStr,          
                    cast('' as varchar(20)) SourceFacialAcc_Cls_Str,                                        
                    cast('' as varchar(30)) SourceClsHeader,                    
                    cast('' as varchar(20)) DestFacialAcc_Cls_Str,                    
                    cast('' as varchar(30)) DestClsHeader,                    
                    cast('' as varchar(255)) PayerParent,  
                    cast('' as varchar(255)) AcceptorParent,
                    cast('' as varchar(30))  ProgIndexName,
                    cast('' as varchar(20))  ClsTypeName,
                    cast('' as varchar(255)) BasicNote

                    
            FROM   
                    FacialFindetail ffd
                    " + типСоединенияСЗаголовком + " join FacialFINCAPTION Cpt on (ffd.RecordIndex=cpt.id)
                    left join InnerFinSource ifs_source on (ifs_source.id = ffd.SourceIFS)
                    left join ExecutionDocumentsCaption di_source on (di_source.id = ffd.SourceExecDoc)
                    left join ExecutionDocumentsCaption di_dest on (di_dest.id = ffd.DestExecDoc) 
                    left join InnerFinSource ifs_dest on (ifs_dest.id = ffd.DestIFS)
                    left join kd kd_source on (kd_source.id = ffd.SourceKd)
                    left join kd kd_dest on (kd_dest.id = ffd.DestKd)
                    left join Org_Accounts oa_Payer on (oa_Payer.id = cpt.SourceAccount)
                    left join Org_Accounts oa_Acceptor on (oa_Acceptor.id = cpt.DestAccount)
                    left join Organizations org_Acceptor on (oa_Acceptor.Org_Ref = org_Acceptor.id)
                    left join Organizations org_Payer on (oa_Payer.Org_Ref = org_Payer.id)
                    " + СоединениеСоСтарымиУведомлениями + "
                    left join FACIALACC_CLS f on (f.id = ffd.SourceFacialAcc_Cls )
                    left join LinkRecords lr on (lr.parentid = ffd.id)
                    left join LinkRecords lr2 on (lr2.childid = ffd.id)
                    left join LinkType lt on (lt.id = lr.linktyperef)

                    left join CorrectionDetail cor_d on (cor_d.id = lr2.parentid)
                    left join CorrectionDetail cor_d_cor on (cor_d_cor.id = lr.ChildId)
                    left join CorrectionCaption cor_c_cor on (cor_c_cor.id = cor_d_cor.RecordIndex)
                    
                    left join KCSR KCSR_CODE_dest on (KCSR_CODE_dest.id = ffd.DestKCSR)
                    left join KVR KVR_CODE_dest on (KVR_CODE_dest.id = ffd.DestKVR)
                    left join KVSR KVSR_CODE_dest on (KVSR_CODE_dest.id = ffd.DestKVSR)
                    LEFT JOIN TransfertCls tc_dest ON (tc_dest.id =  ffd.DestTransfertCls) 
                         
                    left join KCSR KCSR_CODE_source on (KCSR_CODE_source.id = ffd.SourceKCSR)
                    left join KVR KVR_CODE_source on (KVR_CODE_source.id = ffd.SourceKVR)
                    left join KVSR KVSR_CODE_source on (KVSR_CODE_source.id = ffd.SourceKVSR)
                    LEFT JOIN TransfertCls tc_source ON (tc_source.id =  ffd.SourceTransfertCls)

                                                
            where
              (1=1) 
              " + ОграничениеПоСтарымУведомлениям + "   
              @Limits_Treasure_VP
              @LimitGrpPzk
              }

        [InsertData]
                {insert into FacialFINDETAIL
                (id,
                SourceKVR,SourceKESR,SourceKVSR,SourceKCSR,SourceKFSR,SourceSubKESR,SourceFact,
                SourceMeansType,SourceDocType, SourceDirectionCls, SourceFinSource, SourceRegionCls, SourceDocBase,
                SourceFinType,SourceIFS,SourceKD,SourcePromise, SourceBudgetPromise, SourceExecDoc,SourceFacialAcc_Cls,
                DestKVR,DestKESR,DestKVSR,DestKCSR,DestKFSR,DestSubKESR,DestFact,
                DestMeansType,DestDocType, DestDirectionCls, DestFinSource, DestRegionCls, DestDocBase,
                DestFinType,DestIFS,DestKD,DestPromise, DestBudgetPromise, DestExecDoc,DestFacialAcc_Cls,
                DestTransfertCls, SourceTransfertCls, DestSUBSIDYCLS, SourceSUBSIDYCLS, 
                DestBudAllocationCls, SourceBudAllocationCls, DestPayPromiseCls, SourcePayPromiseCls,
                credit, Note,RecordIndex,progindex,
                BuhOperationCls, ClsType, DestClsType, BudgetRef, MemOrderNum, SourceFundsSource, DestFundsSource,
                IsBlocked, BlockedCause, UnBlockedDate, UnBlockedCause
                )
        values
                (~id,
                ~SourceKVR,~SourceKESR, ~SourceKVSR,~SourceKCSR,~SourceKFSR,~SourceSubKESR,~SourceFact,
                ~SourceMeansType,~SourceDocType, ~SourceDirectionCls, ~SourceFinSource,~SourceRegionCls, ~SourceDocBase,
                ~SourceFinType,~SourceIFS,~SourceKD,~SourcePromise, ~SourceBudgetPromise, ~SourceExecDoc, ~SourceFacialAcc_Cls,
                ~DestKVR,~DestKESR, ~DestKVSR,~DestKCSR,~DestKFSR,~DestSubKESR,~DestFact,
                ~DestMeansType,~DestDocType, ~DestDirectionCls, ~DestFinSource,~DestRegionCls, ~DestDocBase,
                ~DestFinType, ~DestIFS, ~DestKD, ~DestPromise, ~DestBudgetPromise, ~DestExecDoc, ~DestFacialAcc_Cls,
                ~DestTransfertCls, ~SourceTransfertCls, ~DestSUBSIDYCLS, ~SourceSUBSIDYCLS,
                ~DestBudAllocationCls, ~SourceBudAllocationCls, ~DestPayPromiseCls, ~SourcePayPromiseCls,
                ~summa,~Note, ~RecordIndex,~progindex,
                ~BuhOperationCls, ~ClsType, ~DestClsType, ~BudgetRef, ~MemOrderNum, ~SourceFundsSource, ~DestFundsSource,
                ~IsBlocked, ~BlockedCause, ~UnBlockedDate, ~UnBlockedCause)
           }";
конец;

функция ПолучитьЗапрос_Финансирование(Коллекция : IVariables) : строка;
переменные 
  ПолеНомераДокумента, ПолеИдЗаголовка,  ПолеДатаПринятия, ПолеДатаВвода, ПолеПримечание, 
  ПолеНалоговаяИнформация, Соединение : строка;
  СоединениеСоСтарымиУведомлениями, ОграничениеПоСтарымУведомлениям, типСоединенияСЗаголовком: строка; 
начало
  ЕСЛИ Коллекция.Значение('РаспоряжениеНаФинансирование') тогда 
    начало
      ПолеНомераДокумента := ' Cast(pd.Number as VarChar(50)) DocNumber,';
      ПолеИдЗаголовка := 'fdc.Id MasterId,';
      ПолеДатаПринятия := 'pd.AcceptDate,';
      ПолеДатаВвода := 'pd.InputDate,';
      ПолеПримечание := 'pd.TextNote Note,';
      ПолеНалоговаяИнформация := 'pd.TaxNote,';
    конец  
  ИНАЧЕ 
    начало  
      ПолеНомераДокумента := ' fdd.DocNumber,';
      ПолеИдЗаголовка := 'lc.Id MasterId,';
      ПолеДатаПринятия := 'fdd.AcceptDate,';
      ПолеДатаВвода := 'fdd.RecordDate InputDate, ';      
      ПолеПримечание := 'fdd.Note,';
      ПолеНалоговаяИнформация := 'fdd.TaxNote,';
    конец;
  
  //т.к. часто распоряжения на финансирование не проводятся в качестве пп, ограничение по отправленным отменяется  
  //Если Коллекция.Значение('Неотправленные') тогда 
    Соединение := 'left ';
  //иначе
  //  Соединение := 'inner ';  

  /$если Бюджет
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
  /$иначе
    СоединениеСоСтарымиУведомлениями := "";
    ОграничениеПоСтарымУведомлениям := "";
  /$конец

  ТипСоединенияСЗаголовком := ВернутьТипСоединенияСЗаголовком(коллекция);
       
  Результат := "[PumpData]{
                select distinct "
                    + ПолеИдЗаголовка + 
                    "fdd.ID,
                    fdd.RecordIndex,
                    fdd.BudgetRef,
                    cast('' as varchar(1))   ElRefStr,                     
                    "
                     + ПолеНомераДокумента 
                     + ПолеДатаВвода
                     + ПолеДатаПринятия + 
                    "fdd.debit,
                    fdd.Credit summa,
                    cor_d_cor.summa SummaDetail,
                    cor_c_cor.OriginalNumber IsPZK,
                    lr.ChildId,
                    cor_c_cor.Reject_Cls Reject_Cls_C,"
                    /$если Бюджет
                        "cor_c_cor.DepartmentCls DepartmentCls,"
                    /$иначе
                       "cast(null as integer) departmentCls,"
                    /$конец   
                    "cast (0 as float) SummaRemainder,
                    fdd.FacialAcc_Cls SourceFacialAcc_CLS,
                    f.FacialCode,
                    
                    0 DestFacialAcc_Cls,
                    fdd.FacialAcc_Cls FacialAcc_CLS,                    
                    0 PayTypeCls,
                    "+  ПолеПримечание + "
                    0 PayPriority,
                    fdd.BuhPaymentCls,
                    " + ПолеНалоговаяИнформация + "
                    cast('' as varchar(100)) NDS, /*НДС*/
                    fdd.BuhOperationCls,
                    fdd.ClsType, 
                    fdd.ProgIndex,                                        
  

                    fdd.KVR,
                    fdd.KESR,
                    fdd.KVSR,
                    fdd.KCSR,
                    fdd.KFSR,
                    fdd.SubKesr,
                    fdd.Fact,
                    fdd.MeansType,
                    fdd.DocType,
                    0 DocBase,
                    fdd.FinType,
                    fdd.DirectionCls,
                    fdd.FinSource,
                    cast('' as varchar(10)) PaySymbolCls,
                    cast('' as varchar(10))  GOSNI,                     
                    0 SubKD,
                    fdd.RegionCLS, 
                    0 KD,
                    fdd.IFS,
                    0 FundsSource,
                    cast('' as varchar(10))   Promise,
                    cast('' as varchar(10))   BudgetPromise,
                    cast('' as varchar(10))   ExecDoc,
                    cast('' as varchar(10))   ExecInnerNUmber,
                    cast('' as varchar(10)) SUBSIDYCLS,
                    cast('' as varchar(10)) BudAllocationCls,
                    cast('' as varchar(10)) PayPromiseCls,
                    fdd.TransfertCls,
                    
                                        cast(0 as Integer) IsBlocked, 
                    cast('' as varchar(100)) BlockedCause, 
                    cast(0 as Integer) UnBlockedDate, 
                    cast('' as varchar(100)) UnBlockedCause,
                    

                    Ifs.FinSourceValue IFSValue,  
                    cast('' as varchar(20))   KDValue,
                    
                    cast('' as varchar(10)) Reestr_ref, 
                    cast('' as varchar(50)) Period, 
                    Cast('' as varChar(10)) TypeOperationCls, 
                    cast('' as varchar(10)) BidNumber, 
                    0 CARDNUMBER,                     
                    cast('' as varchar(10)) ManagerBid,  
                    0 SubProgIndex, 
                    cast('' as varchar(10)) DocStateRef,   
                    cast('' as varchar(10)) FEDERALFUNDSREF, 
                    0 OperationDirection, 
                     
                    cast('' as varchar(10))  REJECT_CLS,
                    '' REJECTCause,

                       
                    oa_Acceptor.ID       AcceptorAccRef,
                    org_Acceptor.ID      AcceptorOrgRef ,
                    cast(org_Acceptor.INN as Varchar(20)) AcceptorOrgInn,
                    org_Acceptor.INN20   AcceptorOrgInn20,
                    org_Acceptor.Name    AcceptorOrgName,
                    oa_Acceptor.Acc      AcceptorAcc,
                    
                    oa_Payer.Id          PayerAccREf,
                    org_Payer.ID         PayerOrgRef ,
                    cast(org_Payer.INN as Varchar(20)) PayerOrgInn,
                    org_Payer.INN20      PayerOrgInn20,
                    org_Payer.Name       PayerOrgName,
                    oa_Payer.Acc         PayerAcc,
                    
                    
                    pde.id               ElRef,
                    pd.InputDate         OriginalDate,
                    fdd.Credit           OriginalSumma,
                    pd.TextNote          OriginalNote,
                    pd.Number            OriginalNumber,
                    
                    cast('' as varchar(10)) InputDateStr,                    
                    cast('' as varchar(10)) AcceptDateStr,
                    cast('' as varchar(15)) SummaStr,          
                    cast('' as varchar(20)) FacialAcc_Cls_Str,                                        
                    cast('' as varchar(30)) ClsHeader,                    
                    cast('' as varchar(255)) PayerParent,  
                    cast('' as varchar(255)) AcceptorParent,
                    cast('' as varchar(30))  ProgIndexName,
                    cast('' as varchar(20))  ClsTypeName,
                    cast('' as varchar(255)) BasicNote,
                    Cast('' as VarChar(11)) OKATO,
                    Cast('' as VarChar(3)) ADDOKATO,
                    Cast('' as VarChar(50)) ElNum

                 from FinDocDetail fdd 
                    " + типСоединенияСЗаголовком + " join FinDocCaption fdc on (fdc.ID=fdd.RecordIndex)
                    left join InnerFinSource ifs on (ifs.id = fdd.IFS)                    
                    left join Org_Accounts oa_Payer on (oa_Payer.id = fdd.DFAccount)
                    left join Org_Accounts oa_Acceptor on (oa_Acceptor.id = fdd.AcceptorAccRef)
                    left join Organizations org_Acceptor on (oa_Acceptor.Org_Ref = org_Acceptor.id)
                    left join Organizations org_Payer on (oa_Payer.Org_Ref = org_Payer.id)
                    " + Соединение + " join PayDoc32 pd on (pd.RecordIndex = fdd.id)
                    " + Соединение + " join Ed_OutPayDoc pde on ((pde.DocRef = pd.id) and (pde.IsLastVersion=1))                    
                    left join LoanCredit lc on (lc.id = fdd.RecordIndex)
                    " + СоединениеСоСтарымиУведомлениями + "
                    left join FACIALACC_CLS f on (f.id = fdd.FacialAcc_Cls )
                    left join LinkRecords lr on (lr.parentid = fdd.id)
                    left join LinkRecords lr2 on (lr2.childid = fdd.id)
                    left join LinkType lt on (lt.id = lr.linktyperef)

                    left join CorrectionDetail cor_d on (cor_d.id = lr2.parentid)
                    left join CorrectionDetail cor_d_cor on (cor_d_cor.id = lr.ChildId)
                    left join CorrectionCaption cor_c_cor on (cor_c_cor.id = cor_d_cor.RecordIndex)
                    
                    left join KCSR KCSR_CODE on (KCSR_CODE.id = fdd.KCSR)
                    left join KVR KVR_CODE on (KVR_CODE.id = fdd.KVR)
                    left join KVSR KVSR_CODE on (KVSR_CODE.id = fdd.KVSR)

                    LEFT JOIN TransfertCls tc ON (tc.id =  fdd.TransfertCls)  
                                                              
                 where  
                  (1=1) 
                  " + ОграничениеПоСтарымУведомлениям + " 
                 @Limits_Fin 
                 @LimitGrpPzk
                 }

             [InsertData]
                {insert into FinDocDetail
                  (ID, RecordDate, KFSR, KCSR, KVSR, KVR, KESR, SUBKESR, FACT, MeansType, FinType, DFAccount,
                  ACCOUNTREF,  REGIONCLS, DirectionCls, FinSource, BUDGETREF,
                  CREDIT, DEBIT, DOCTYPE, NOTE, PROGINDEX, RECORDINDEX, ACCEPTORACCREF, FacialAcc_Cls, TransfertCls,
                  BuhPaymentCls, TaxNote, DocNumber, BuhOperationCls,  IFS, ClsType)
                values
                  (~ID, ~InputDate, ~KFSR, ~KCSR, ~KVSR, ~KVR, ~KESR, ~SUBKESR, ~FACT, ~MeansType, ~FinType, ~PayerAccRef,
                    ~AcceptorAccRef,  ~REGIONCLS, ~DirectionCls, ~FinSource, ~BUDGETREF,
                   ~Summa, ~DEBIT, ~DOCTYPE, ~NOTE, ~ProgIndex, ~RECORDINDEX, ~AcceptorAccRef, ~FacialAcc_Cls, ~TransfertCls,
                   ~BuhPaymentCls, ~TaxNote, ~DocNumber, ~BuhOperationCls, ~IFS, ~ClsType)}

            [ModifyData]
              {
            update FinDocDetail
            set
              KFSR = ~KFSR,
              KCSR = ~KCSR,
              KVSR = ~KVSR,
              KVR = ~KVR,
              KESR = ~KESR,
              SUBKESR = ~SUBKESR,
              FACT = ~FACT,
              MeansType = ~MeansType,
              FinType = ~FinType,
              DirectionCls = ~DirectionCls,
              FinSource = ~FinSource,
              ACCOUNTREF = ~AcceptorAccRef,
              DFAccount = ~PayerAccRef,
              REGIONCLS = ~REGIONCLS,
              BUDGETREF = ~BUDGETREF,
              CREDIT = ~Summa,
              DEBIT = ~DEBIT,
              DOCTYPE = ~DOCTYPE,
              RECORDINDEX = ~RECORDINDEX,
              ACCEPTORACCREF = ~ACCEPTORACCREF,
              NOTE = ~NOTE,
              FacialAcc_Cls = ~FacialAcc_Cls,
              TransfertCls = ~TransfertCls,
              BuhPaymentCls = ~BuhPaymentCls,
              TaxNote = ~TaxNote,
              DocNumber = ~DocNumber,
              BuhOperationCls = ~BuhOperationCls,
              IFS = ~IFS,
              ClsType = ~ClsType,
              AcceptDate = ~AcceptDate,
              Note = ~Note
            where id=@id  
              }

        [DELETEDATA]
         {
          delete from FinDocDetail
          where (id = @id)
         }   
              
             ";
конец;


функция ПолучитьЗапрос_Финансирование_Заголовок( Коллекция : IVariables) : строка;
начало

  Результат := "[PumpData]{
                SELECT 
                    distinct Fdc.Id ,
                    Fdc.BudgetRef,
                    Fdc.Number DocNumber,
                    Fdc.Makedate InputDate,
                    Fdc.AcceptDate,
                    0 summa,
                    0 SourceFacialAcc_CLS,
                    0 DestFacialAcc_Cls,
                    0 FacialAcc_Cls,
                    0 PayTypeCls,
                    Fdc.UserNote Note,
                    0 PayPriority,
                    0 BuhPaymentCls,
                    0 BuhOperationCls, 
                    cast('' as varchar(255)) TaxNote, /*Налоговое поле*/
                    cast('' as varchar(100)) NDS, /*НДС*/
                    Fdc.ProgIndex,                                        

                    cast('' as varchar(10)) Reestr_ref, 
                    cast('' as varchar(50)) Period, 
                    cast('' as varchar(10)) TypeOperationCls, 
                    cast('' as varchar(10)) BidNumber, 
                    0 CARDNUMBER, 
                    0 DepartmentCls,  
                    cast('' as varchar(10)) ManagerBid,  
                    0 SubProgIndex, 
                    cast('' as varchar(10)) DocStateRef,   
                    cast('' as varchar(10)) FEDERALFUNDSREF, 
                    0 OperationDirection, 

                    Fdc.DfAccount PayerAccRef, 
                    0 AcceptorAccRef,

                    cast('' as varchar(10))  REJECT_CLS,
                    '' REJECTCause,
                    
                    0 ClsType

            FROM
                    FinDocdetail fdd
                    left join FinDocCAPTION Fdc on (fdd.RecordIndex = Fdc.id)
                    left join PayDoc32 pd on (pd.RecordIndex = fdd.id)                                        
                    left join Ed_OutPayDoc pde on ((pde.DocRef = fdd.id) and (pde.IsLastVersion=1))
                     
            where
              (1=1)
              @Limits_Fin
              @LimitGrpPzk
              }

         [InsertData]
              {
              insert into FinDocCaption
                (ID, NUMBER, MAKEDATE, ACCEPTDATE, DFACCOUNT, PROGINDEX, USERNOTE, BUDGETREF)
              values
                (~ID, ~DocNUMBER, ~InputDate, ~ACCEPTDATE, ~PayerAccRef, ~ProgIndex, ~NOTE, ~BUDGETREF)}

              [ModifyData]
              {update FinDocCaption
              set
                AcceptDate  = ~AcceptDate,
                MakeDate = ~InputDate 
              where
                ID = @ID
              }


        [DELETEDATA]
         {
          delete from FinDocCaption
          where (id = @id)
         }   
                
                ";
конец;
   
функция ПолучитьЗапрос_Заимствования( Коллекция : IVariables) : строка;
начало

  Результат := "[PumpData]
                {select distinct lc.id MasterId, 
                    d.ID,
                    d.RecordIndex,
                    d.BudgetRef,
                    cast('' as varchar(1))   ElRefStr,                    
                    d.SourceDocNumber Docnumber,
                    d.Recorddate InputDate,
                    d.AcceptDate,
                    d.debit,
                    d.Credit summa,
                    0 SourceFacialAcc_CLS,
                    0 DestFacialAcc_Cls,
                    0 FacialAcc_CLS,                    
                    0 PayTypeCls,
                    d.Note,
                    0 PayPriority,
                    d.BuhPaymentCls,
                    d.TaxNote, /*Налоговое поле*/
                    cast('' as varchar(100)) NDS, /*НДС*/
                    d.BuhOperationCls,
                    1 ClsType, 
                    d.ProgIndex,                                        
  

                    0 KVR,
                    0 KESR,
                    0 KVSR,
                    0 KCSR,
                    0 KFSR,
                    0 SubKesr,
                    0 Fact,
                    d.MeansType,
                    d.DocType,
                    0 DocBase,
                    d.SubKD,
                    d.RegionCLS,
                    0 FinType,
                    0 DirectionCls, 
                    0 FinSource,
                    0 FundsSource,
                    cast('' as varchar(10)) PaySymbolCls,
                    cast('' as varchar(10))  GOSNI,                    
                    0 KD,
                    d.IFS,
                    cast(0 as Integer) IsBlocked, 
                    cast('' as varchar(100)) BlockedCause, 
                    cast(0 as Integer) UnBlockedDate, 
                    cast('' as varchar(100)) UnBlockedCause,
                    
                    cast('' as varchar(10)) Reestr_ref, 
                    cast('' as varchar(50)) Period, 
                    cast('' as varchar(10)) TypeOperationCls, 
                    cast('' as varchar(10)) BidNumber, 
                    0 CARDNUMBER, 
                    0 DepartmentCls,  
                    cast('' as varchar(10)) ManagerBid,  
                    0 SubProgIndex, 
                    cast('' as varchar(10)) DocStateRef,   
                    cast('' as varchar(10)) FEDERALFUNDSREF, 
                    0 OperationDirection,

                    
                    
                    cast('' as varchar(10))   Promise,
                    cast('' as varchar(10))   BudgetPromise,
                    cast('' as varchar(10))   ExecDoc,
                    cast('' as varchar(10))   ExecInnerNUmber,
                    

                    Ifs.FinSourceValue IFSValue,  
                    cast('' as varchar(20))   KDValue, 

                       
                    oa_Acceptor.ID       AcceptorAccRef,
                    org_Acceptor.ID      AcceptorOrgRef ,
                    cast(org_Acceptor.INN as Varchar(20)) AcceptorOrgInn,
                    org_Acceptor.INN20   AcceptorOrgInn20,
                    org_Acceptor.Name    AcceptorOrgName,
                    oa_Acceptor.Acc      AcceptorAcc,
                    
                    oa_Payer.Id          PayerAccREf,
                    org_Payer.ID         PayerOrgRef ,
                    cast(org_Payer.INN as Varchar(20)) PayerOrgInn,
                    org_Payer.INN20      PayerOrgInn20,
                    org_Payer.Name       PayerOrgName,
                    oa_Payer.Acc         PayerAcc,
                    
                    
                    cast('' as varchar(10))   ElRef,
                    cast(0 as Integer)   OriginalDate,
                    0                    OriginalSumma,
                    0                    OriginalNote,
                    ''                   OriginalNumber,

                    cast('' as varchar(10))  REJECT_CLS,
                    '' REJECTCause,
                    
                    cast('' as varchar(10)) InputDateStr,                    
                    cast('' as varchar(10)) AcceptDateStr,
                    cast('' as varchar(15)) SummaStr,                    
                    cast('' as varchar(20)) FacialAcc_Cls_Str,                                        
                    cast('' as varchar(30)) ClsHeader,                    
                    cast('' as varchar(255)) PayerParent,  
                    cast('' as varchar(255)) AcceptorParent,
                    cast('' as varchar(30))  ProgIndexName,
                    cast('' as varchar(20))  ClsTypeName,
                    cast('' as varchar(255)) BasicNote,
                    Cast('' as VarChar(11)) OKATO,
                    Cast('' as VarChar(3)) ADDOKATO,
                    Cast('' as VarChar(50)) ElNum

                 from Debt d 
                    left join LoanCredit lc on (lc.ID=d.RecordIndex)
                    left join InnerFinSource ifs on (ifs.id = d.IFS)                    
                    left join Org_Accounts oa_Payer on (oa_Payer.id = d.DFAccount)
                    left join Org_Accounts oa_Acceptor on (oa_Acceptor.id = d.AcceptorAccRef)
                    left join Organizations org_Acceptor on (oa_Acceptor.Org_Ref = org_Acceptor.id)
                    left join Organizations org_Payer on (oa_Payer.Org_Ref = org_Payer.id)
                    left join LinkRecords lr on (lr.childid = d.id)
                    left join LinkType lt on (lt.id = lr.linktyperef)
                    left join CorrectionCaption cor_c on ((cor_c.id = lr.parentId)and(cor_c.Reject_Cls is null))
                    left join CorrectionDetail cor_d on (cor_d.id = lr.parentid)

                                                              
                 where  (1=1)
                 @Limits_Debt 
                 }
  
              [InsertData]
              {insert into Debt
                (ID, PROGINDEX, RECORDINDEX, BUDGETREF,
                 RecordDate, DFAccount, Debit, Credit, AccRef, AcceptorAccRef,
                 IFS, SubKD, DocType,SourceDocNumber, RegionCLS, Note, TaxNote, BUHPAYMENTCLS, 
                 MeansType, BuhOperationCls )
              values
                (~ID, ~ProgIndex, ~RECORDINDEX, ~BUDGETREF,
                 ~InputDate, ~PayerAccRef, ~Debit, ~Summa, ~AcceptorAccRef, ~AcceptorAccRef,
                 ~IFS, ~SubKD, ~DocType, ~DocNumber, ~RegionCLS, ~Note, ~TaxNote, 
                 ~BUHPAYMENTCLS, ~MeansType, ~BuhOperationCls)
              }

              [ModifyData]
              {update Debt
              set
                IFS         = ~IFS,
                SubKD       = ~SubKD,
                DocType     = ~DocType,
                MeansType   = ~MeansType,                
                RegionCLS   = ~RegionCLS,
                AcceptDate  = ~AcceptDate,
                Credit      = ~Summa,
                Debit       = ~Debit,
                Note        = ~Note
              where
                ID = @ID
              }

        [DELETEDATA]
         {
          delete from Debt
          where (id = @id)
         }";
конец;


функция ПолучитьЗапрос_Заимствования_Заголовок( Коллекция : IVariables) : строка;
начало
  Результат := "
            [PumpData]
            {select
              distinct lc.ID , 
              lc.Number DocNumber,              
              Cast ('' as VarChar(20)) InputDateStr,              
              lc.DateInput InputDate,
              lc.Summa,
              lc.Note,
              o.Name OrgName
             from
               LoanCredit lc
               left join FinDocDetail fdd on (fdd.RecordIndex = lc.Id)
               left join PayDoc32 pd on (pd.RecordIndex = fdd.id)
               left join Debt d on(d.RecordIndex = lc.id)
               left join Organizations o on (lc.Org_Ref = o.id)
               left join LinkRecords lr on (lr.childid = d.id)
               left join LinkType lt on (lt.id = lr.linktyperef)
               left join CorrectionDetail cor_d on (cor_d.id = lr.parentid)
               
             where
               (1=1)
               @Limits_Debt
               @Limits_Fin}
               
        [DELETEDATA]
         {
          delete from LoanCredit
          where (id = @id)
         }   
               
              ";
конец;

функция ПолучитьЗапрос_Казначейство_Заголовок_Поступление( Коллекция : IVariables) : строка;
переменные
  поляКоторыхНетНаУРМ, поляКоторыхНетНаУРМ_ДляВставки, поляКоторыхНетНаУРМ_Значения, соединениеСРеестром: строка;
начало
  /$если Бюджет
    поляКоторыхНетНаУРМ := " Cpt.DepartmentCls, Cpt.SubProgIndex, cpt.FEDERALFUNDSREF, ";
    поляКоторыхНетНаУРМ_ДляВставки := ",DepartmentCls, FederalFundsRef, SubProgIndex"; 
    поляКоторыхНетНаУРМ_Значения := ",~DepartmentCls, ~FederalFundsRef, ~SubProgIndex";  
  /$иначе
    поляКоторыхНетНаУРМ := " 0 DepartmentCls, 0 SubProgIndex, 0 FEDERALFUNDSREF, ";
    поляКоторыхНетНаУРМ_ДляВставки := ""; 
    поляКоторыхНетНаУРМ_Значения := "";
  /$конец
  соединениеСРеестром := "";
  Если ПолучитьПараметрИзНастроек(4,0,"ОграничениеДокументВключенВРеестр") тогда
    соединениеСРеестром  := nl + "left join FacialFinReestr ffr on (ffr.Id = cpt.Reestr_ref)" + nl;  
  Результат := "[PumpData]{
                SELECT 
                    distinct cpt.Id,
                    Cpt.BudgetRef,
                    Cpt.Docnumber,
                    Cpt.DocumentDate InputDate,
                    Cpt.AcceptDate,
                    Cpt.Credit summa,
                    cpt.SourceFacialAcc_CLS,
                    cpt.DestFacialAcc_Cls,
                    cpt.DestFacialAcc_Cls FacialAcc_Cls,                    
                    Cpt.PayTypeCls,
                    Cpt.Note,
                    Cpt.PayPriority,
                    Cpt.BuhPaymentCls,
                    cpt.BuhOperationCls,
                    Cpt.TaxNote, /*Налоговое поле*/
                    Cpt.NDS, /*НДС*/
                    cpt.ProgIndex,          
                    
                    Cpt.Reestr_ref, 
                    Cpt.Period, 
                    Cpt.TypeOperationCls, 
                    cpt.BidNumber, 
                    Cpt.CARDNUMBER, 
                    cpt.ManagerBid,  
                    Cpt.DocStateRef,   
                    cpt.OperationDirection, 
                    " + поляКоторыхНетНаУРМ + "
                              
                    cpt.REJECT_CLS,
                    cpt.REJECTCause,

                    cpt.SourceAccount PayerAccRef, 
                    cpt.DestAccount AcceptorAccRef,
                    
                    cpt.ClsType
            FROM
                    FacialFinDetail ffd
                    left join FacialFINCAPTION Cpt on (ffd.RecordIndex = cpt.id)
                    left join LinkRecords lr on (lr.childid = ffd.id)
                    left join LinkType lt on (lt.id = lr.linktyperef)
                    left join CorrectionDetail cor_d on (cor_d.id = lr.parentid)
                    " + соединениеСРеестром + "
            where
              (1=1)
              @Limits_Treasure
              }

           [InsertData]
           {insert into FacialFINCAPTION
                (id,BudgetRef,Docnumber,DocumentDate,AcceptDate,
                Credit,SourceAccount,SourceFacialAcc_CLS,
                DestAccount,DestFacialAcc_Cls,
                Note,BuhPaymentCls,progIndex,
                TaxNote, NDS, PayTypeCls, PayPriority, BuhOperationCls, 
                Reestr_Ref, Period, TypeOperationCls, BidNumber, CardNumber, 
                ManagerBid, DocStateRef, 
                OperationDirection 
                " + поляКоторыхНетНаУРМ_ДляВставки + ")
           values
                (~id,~BudgetRef,~Docnumber,~InputDate,~AcceptDate,
                ~Summa,~PayerAccREf,~SourceFacialAcc_CLS,
                ~AcceptorAccRef,~FacialAcc_Cls,
                ~Note,~BuhPaymentCls,~progIndex,
                ~TaxNote, ~NDS, ~PayTypeCls, ~PayPriority,
                ~BuhOperationCls,
                ~Reestr_Ref, ~Period, ~TypeOperationCls, ~BidNumber, ~CardNumber, 
                ~ManagerBid, ~DocStateRef, 
                ~OperationDirection
                " + поляКоторыхНетНаУРМ_Значения + ")}
                
              [ModifyData]
              {update FacialFinCaption
              set
                AcceptDate  = ~AcceptDate,
                DocumentDate = ~InputDate,
                Credit      = ~Summa,
                DestFacialAcc_Cls = ~FacialAcc_Cls,
                SourceFacialAcc_CLS = ~SourceFacialAcc_Cls,
                DocStateRef = ~DocStateRef,
                Reject_Cls = ~Reject_Cls,
                PayPriority = ~PayPriority,
                BuhPaymentCls = ~BuhPaymentCls,
                RejectCause = ~RejectCause,
                clsType = ~ClsType,
                OperationDirection = ~OperationDirection,
                Note = ~Note,
                DocNumber = ~DocNumber
              where
                ID = @ID
              }


        [DELETEDATA]
         {
          delete from FacialFinCaption
          where (id = @id)
         }   
                
                ";
конец;

функция ПолучитьЗапрос_Казначейство_Заголовок_Выбытие( Коллекция : IVariables) : строка;
переменные
  поляКоторыхНетНаУРМ, поляКоторыхНетНаУРМ_ДляВставки, поляКоторыхНетНаУРМ_Значения, соединениеСРеестром: строка;
начало
  /$если Бюджет
    поляКоторыхНетНаУРМ := " Cpt.DepartmentCls, Cpt.SubProgIndex, cpt.FEDERALFUNDSREF, ";
    поляКоторыхНетНаУРМ_ДляВставки := ",DepartmentCls, FederalFundsRef, SubProgIndex"; 
    поляКоторыхНетНаУРМ_Значения := ",~DepartmentCls, ~FederalFundsRef, ~SubProgIndex";  
  /$иначе
    поляКоторыхНетНаУРМ := " 0 DepartmentCls, 0 SubProgIndex, 0 FEDERALFUNDSREF, ";
    поляКоторыхНетНаУРМ_ДляВставки := ""; 
    поляКоторыхНетНаУРМ_Значения := "";
  /$конец
  соединениеСРеестром := "";
  Если ПолучитьПараметрИзНастроек(4,0,"ОграничениеДокументВключенВРеестр") тогда
    соединениеСРеестром  := nl + "left join FacialFinReestr ffr on (ffr.Id = cpt.Reestr_ref)" + nl;    
  Результат := "[PumpData]{
                SELECT 
                    distinct cpt.Id,
                    Cpt.BudgetRef,
                    Cpt.Docnumber,
                    Cpt.DocumentDate InputDate,
                    Cpt.AcceptDate,
                    Cpt.Credit summa,
                    cpt.SourceFacialAcc_CLS,
                    cpt.DestFacialAcc_Cls,
                    cpt.SourceFacialAcc_CLS FacialAcc_CLS,
                    Cpt.PayTypeCls,
                    Cpt.Note,
                    Cpt.PayPriority,
                    Cpt.BuhPaymentCls,
                    cpt.BuhOperationCls,
                    Cpt.TaxNote, /*Налоговое поле*/
                    Cpt.NDS, /*НДС*/
                    cpt.ProgIndex,                                        

                    Cpt.Reestr_ref, 
                    Cpt.Period, 
                    Cpt.TypeOperationCls, 
                    cpt.BidNumber, 
                    Cpt.CARDNUMBER, 
                    cpt.ManagerBid,  
                    Cpt.DocStateRef,   
                    cpt.OperationDirection, 
                    " + поляКоторыхНетНаУРМ + "

                    cpt.REJECT_CLS,
                    cpt.REJECTCause,

                    cpt.SourceAccount PayerAccRef, 
                    cpt.DestAccount AcceptorAccRef,
                    
                    cpt.ClsType
            FROM
                    FacialFinDetail ffd
                    left join FacialFINCAPTION Cpt on (ffd.RecordIndex = cpt.id)
                    left join Ed_OutPayDoc pde on ((pde.DocRef = cpt.id) and (pde.IsLastVersion=1))
                    left join LinkRecords lr on (lr.childid = ffd.id)
                    left join LinkType lt on (lt.id = lr.linktyperef)
                    left join CorrectionDetail cor_d on (cor_d.id = lr.parentid)
                    " + соединениеСРеестром + "
                     
            where
              (1=1)
              @Limits_Treasure
              @Limits_Treasure_VP
              }

           [InsertData]
           {insert into FacialFINCAPTION
                (id,BudgetRef,Docnumber,DocumentDate,AcceptDate,
                Credit,SourceAccount,SourceFacialAcc_CLS,
                DestAccount,DestFacialAcc_Cls,
                Note,BuhPaymentCls,progIndex,
                TaxNote, NDS, PayTypeCls, PayPriority, BuhOperationCls,
                Reestr_Ref, Period, TypeOperationCls, BidNumber, CardNumber, 
                ManagerBid, DocStateRef, 
                OperationDirection 
                " + поляКоторыхНетНаУРМ_ДляВставки + ")
           values
                (~id,~BudgetRef,~Docnumber,~InputDate,~AcceptDate,
                ~Summa,~PayerAccREf,~FacialAcc_CLS,
                ~AcceptorAccRef,~DestFacialAcc_Cls,
                ~Note,~BuhPaymentCls,~progIndex,
                ~TaxNote, ~NDS, ~PayTypeCls, ~PayPriority, ~BuhOperationCls,
                ~Reestr_Ref, ~Period, ~TypeOperationCls, ~BidNumber, ~CardNumber, 
                ~ManagerBid, ~DocStateRef, 
                ~OperationDirection
                " + поляКоторыхНетНаУРМ_Значения + ")}
                
              [ModifyData]
              {update FacialFinCaption
              set
                AcceptDate  = ~AcceptDate,
                DocumentDate = ~InputDate,                
                Credit      = ~Summa,
                SourceFacialAcc_Cls = ~FacialAcc_Cls,
                DestFacialAcc_Cls = ~DestFacialAcc_CLS,
                DocStateRef = ~DocStateRef,
                Reject_Cls = ~Reject_Cls,
                PayPriority = ~PayPriority,
                BuhPaymentCls = ~BuhPaymentCls,
                RejectCause = ~RejectCause,
                clstype = ~ClsType,
                OperationDirection = ~OperationDirection,                 
                Note = ~Note,
                DocNumber = ~DocNumber
              where
                ID = @ID
              }


        [DELETEDATA]
         {
          delete from FacialFinCaption
          where (id = @id)
         }   
                
                ";
конец;


функция ПолучитьЗапрос_Доходы_Заголовок( Коллекция : IVariables) : строка;
начало 
  Результат := "
        [PUMPDATA]
        {select
               distinct qt.ID, 
               qt.BUDGETREF,
               qt.DocNumber,
               qt.BUILDDATE InputDate,
               qt.ACCEPTDATE,
               0 Summa,
               0 SourceFacialAcc_Cls,
               0 DestFacialAcc_Cls,
               0 FacialAcc_Cls,
               0 PayTypeCls,
               Cast ('' as VarChar(255)) Note,
               0 PayPriority,
               0 BuhPaymentCls,
               0 BuhOperationCls,
               Cast ('' as VarChar(255)) TaxNote,
               cast('' as varchar(100)) NDS,
               qt.PROGINDEX,
               
               cast('' as varchar(10)) Reestr_ref, 
               cast('' as varchar(50)) Period, 
               qt.TypeOperationCls, 
               cast('' as varchar(10)) BidNumber, 
               0 CARDNUMBER, 
               0 DepartmentCls,  
               cast('' as varchar(10)) ManagerBid,  
               0 SubProgIndex, 
               cast('' as varchar(10)) DocStateRef,   
               cast('' as varchar(10)) FEDERALFUNDSREF, 
               0 OperationDirection, 
               
               qt.RejectCls Reject_Cls,
               qt.RejectCause,
                
               qt.INCACCOUNT AcceptorAccRef,
               cast('' as varchar(10)) PayerAccRef,
                 
               0 ClsType
        from
               Incomes32 inc
                 left join QuotesTitle qt on (inc.RecordIndex= qt.Id)
                 left join BankExch_Merdoc bm on (inc.ElDocRef = bm.id)
                 left join LinkRecords lr on (lr.childid = inc.id)
                 left join LinkType lt on (lt.id = lr.linktyperef)
                 left join CorrectionDetail cor_d on (cor_d.id = lr.parentid)
                 
        where
          (1=1) 
          @Limits_Incomes
        }
        
        [InsertData]
        {
        insert into QuotesTitle
          ( ID, BUDGETREF, BUILDDATE, INCACCOUNT, progindex, TypeOperationCls)
        values
          (~ID,~BUDGETREF, ~Inputdate,~AcceptorAccRef, ~ProgIndex, ~TypeOperationCls)}
          

              [ModifyData]
              {update QuotesTitle
              set
                AcceptDate  = ~AcceptDate,
                BuildDate = ~InputDate
              where
                ID = @ID
              }

        [DELETEDATA]
         {
          delete from QuotesTitle
          where (id = @id)
         }   
          ";

конец;


функция ПолучитьЗапрос_Казначейство_Реестр : строка;
начало
//  берём только непринятые
  Результат := "[DeleteData]
                 {delete from FacialFinReestr where (ID = @Reestr_Ref)}

                [InsertData]
                {insert into FacialFinReestr
                  (ID, REESTRNUMBER, REESTRDATE, REESTRTYPE, REESTRTYPEEX, ACCEPTED, BUDGETREF, 
                  FacialAcc_Cls, Summa, Note, DocStateRef)
                  values
                  (~Id, ~REESTRNUMBER, ~REESTRDATE, ~REESTRTYPE, ~REESTRTYPEEX, ~ACCEPTED, ~BUDGETREF, 
                  ~FacialAcc_Cls, ~Summa, ~Note, ~DocStateRef)}

                [ModifyData]
                {update FacialFinReestr set
                  REESTRNUMBER = ~REESTRNUMBER,
                  REESTRDATE = ~REESTRDATE,
                  REESTRTYPE = ~REESTRTYPE,
                  REESTRTYPEEX = ~REESTRTYPEEX,
                  ACCEPTED = ~ACCEPTED,
                  BUDGETREF = ~BUDGETREF,
                  FacialAcc_Cls = ~FacialAcc_Cls,
                  Note = ~Note,
                  DocStateRef=~DocStateRef,
                  Summa = ~Summa
                where
                    (ID = @Id)}

                [PumpData]
                {select ffr.ID ,
                        ffr.ReestrNumber,
                        ffr.ReestrDate,
                        ffr.ReestrType,
                        ffr.ReestrTypeEx,
                        ffr.Accepted,
                        ffr.FacialAcc_Cls,
                        ffr.Summa,
                        ffr.BudgetRef,
                        ffr.Note,
                        ffr.DocStateRef
                 from FacialFinReestr  ffr
                 where
                   (1=1) and (ffr.Accepted &lt;&gt; 1)
                   @Limits_TreasureReestr
                }";

конец;


// на основе типа интерфейса возвращаем либо запрос к Merdoc либо к Ed_OutPayDoc
функция ПолучитьЗапросКБуфернойТаблице(КлассИсходногоДокумента, ТипИнтерфейса : целое) : строка;
переменные
  ПолеПоиска : строка;
начало
  ЕСЛИ  ТипИнтерфейса = ту_УточнениеПоступлений  тогда 
    начало
      Результат :=  '[PumpData] {select 
                          Cast(bm.nd as VarChar(20)) OriginalNumber,bm.DD OriginalDate,bm.Su OriginalSumma,bm.SourceBankName PayerBankName,bm.mfkb PayerBankMFO, bm.krkb PayerBankCor, bm.lskl PayerAcc,
                          bm.PayerName PayerOrgName, bm.SourceINN PayerOrgINN, bm.PayerKPP PayerOrgInn20,
                          bm.DestBankName AcceptorBankName, bm.mf AcceptorBankMFO, bm.lskor AcceptorAcc,bm.kr AcceptorBankCor,  
                          bm.NamKor AcceptorOrgName, bm.KPPB AcceptorOrgInn20, bm.DestINN AcceptorOrgINN, bm.Note,bm.TaxNote,bm.ElNum,
                          bm.SourceFilialBankName PayerBankFilName, bm.DestFilialBankName AcceptorBankFilName
                     from bankExch_Merdoc bm
                          where  bm.id = @ElRef}';
    конец
  ИНАЧЕ 
    начало
      Если КлассИсходногоДокумента = Класс_ВозвратДоходов тогда 
        ПолеПоиска := " ed.DocRef "
      иначе 
        ПолеПоиска := " ed.Id ";
      Результат :=  "[PumpData] {select 
                          ed.DocNumber OriginalNumber, ed.DocDate OriginalDate, ed.Summa OriginalSumma,  
                          ed.SourceINN PayerOrgInn, ed.SourceKPP PayerOrgInn20, ed.SourceName PayerOrgName, ed.SourceACC  PayerAcc, ed.SOURCEUFK_ACC PayerAccUFK,
                          ed.SourceBankMFO PayerBankMfo, ed.SourceBankName PayerBankName, ed.SourceBankCor PayerBankCor, ed.DestINN AcceptorOrgInn,  
                          ed.DestKPP AcceptorOrgInn20, ed.DestName AcceptorOrgName, ed.DestACC AcceptorAcc, ed.DestBankMFO AcceptorBankMFo, 
                          ed.DestBankName AcceptorBankName, ed.DestBankCor AcceptorBankCor, ed.Note, ed.TaxNote,ed.ELDOCNUMBER ElNum,
                          ed.SourceFilialBankName PayerBankFilName, ed.DestFilialBankName AcceptorBankFilName
                      from Ed_OutPayDoc ed    
                          where  " + ПолеПоиска + " = @ElRef}";
    конец;                                       
конец;

функция ПолучитьЗапросПоискИсходных(ЭтоИсхУведомление : целое) : строка;
начало
  если ЭтоИсхУведомление тогда
    результат := "
               [PumpData]{
                 SELECT   lr.ParentId ChildId
                          
                 From LinkRecords lr
                   LEFT  JOIN LinkType lt ON (lt.id =  lr.LinkTypeRef)        
                 Where (lr.childid = @IdCaption) and (lt.parentdoccls like @Param ) 
                  }                
               "
  иначе
    результат := "
               [PumpData]{
                 SELECT   lr.ChildId
                          
                 From LinkRecords lr
                   LEFT  JOIN LinkType lt ON (lt.id =  lr.LinkTypeRef)        
                 Where (lr.parentid = @IdCaption) and (lt.childdoccls like @Param ) 
                  }                
               ";
               
конец;

функция ПолучитьВсеУведомления: СтатическиеДанные;
переменные
  сс_Уведомления : СтатическиеДанные;
начало
  сс_Уведомления := СоздатьСтатическиеДанные;
  попытка
    сс_Уведомления.СоединитьБД;
    сс_Уведомления.Запрос := '[PumpData]{select 
                                              cor_c.Id, cor_d.ProgIndex, cor_d.DocumentProgIndex DocumentProgIndex, cor_d.DocumentRecordIndex 
                                           from  CorrectionCaption cor_c
                                              left join CorrectionDetail cor_d on (cor_c.Id = cor_d.RecordIndex)
                                           where (1=1)}';
    сс_Уведомления.Открыть;
    Результат := сс_Уведомления;
  обязательно
  конец;                                       
конец;

// выбираем уведомление по ИД. Состав полей полученного уведомления - 
// прогиндексы и рекординдексы корректирующего и нового документов.
// Функция создавалась для использования при принятии уведомления 
функция ПолучитьУведомлениеПоИД(ИдУведомления : целое) : СтатическиеДанные;
переменные
  сс_Уведомления : СтатическиеДанные;
начало
  сс_Уведомления := СоздатьСтатическиеДанные;
  попытка
    сс_Уведомления.СоединитьБД;
    сс_Уведомления.Запрос := '[PumpData]{select cor_c.Id, cor_d.ProgIndex, cor_d.DocumentProgIndex,cor_d.DocumentRecordIndex, 
                                                cor_c.DocNumber, cor_c.InputDate, cor_c.Summa, cor_c.AcceptDate 
                                         from CorrectionCaption cor_c 
                                             left join CorrectionDetail cor_d on (cor_d.RecordIndex = cor_c.Id)
                                         where (1=1) and (cor_c.Id = @Id_) }';
    сс_Уведомления.Параметр('ID_') := ИдУведомления;
    сс_Уведомления.Открыть;
    Результат := сс_Уведомления;
  обязательно
  конец;                                       
конец;

// находим основной счет для указанного бюджета (берётся первый попавшийся счет не для налички)
функция НайтиОсновнойСчетПОБЮджету(_Бюджет : целое) : целое;
переменные
  сс_СчетФО : СтатическиеДанные;
начало
  сс_СчетФО := СоздатьСтатическиеДанные;
  сс_СчетФО.СоединитьБД;
  сс_СчетФО.Запрос := '[PumpData]{
                          select dfat.id Acc_Ref
                           from
                            dfAccountsBuhTable dfat
                              left join BuhAccPlan bap1 on (bap1.Id = dfat.TreasuryAccRef)
                              left join BuhAccPlan bap2 on (bap2.Id = dfat.FinOrgAccRef)
                           where  (dfat.isCommon = 1)  and
                                  (dfat.IsForBudget = 1) 
                                  @BudgetRef
                        }';
  если _Бюджет &lt;&gt; 0 тогда                       
  сс_СчетФО.Параметр('BudgetRef') := "and (dfat.BudgetRef =" + ЦелоеВСтроку(_Бюджет) + ")";
  сс_СчетФО.Открыть;
  // подставляем первый попавшийся счет данного бюджета, не для налички
  Результат := сс_СчетФО.Поле('Acc_Ref').КакЦелое;
конец;

функция НайтиССылкуНаСчет(счет: строка): целое;
переменные
  сс_Счет : СтатическиеДанные;
начало
  сс_Счет := СоздатьСтатическиеДанные;
  сс_Счет.СоединитьБД;
  сс_Счет.Запрос := '[PumpData]{
                          select id
                           from
                            org_Accounts
                           where  
                             @val_acc
                        }';
  сс_Счет.Параметр('val_acc') := "(Acc ='" + счет + "')";
  сс_Счет.Открыть;
  если сс_Счет.ЧислоЗаписей &lt;&gt; 0 тогда
    Результат := сс_Счет.Поле('Id').КакЦелое
  иначе 
    результат := 0;  
конец;


функция ф_УведомлениеПоЕксел (ИдУведомления : целое) : целое;
переменные
  ссУведомления : СтатическиеДанные;
начало
  Результат := Ложь;
  ссУведомления := СоздатьСтатическиеДанные;
  ссУведомления.СоединитьБД;
  Попытка
    ссУведомления.Запрос := "[PumpData]{select id from CorrectionCaption where (id = @val_id) and (OriginalNumber is null)}";
    ссУведомления.Параметр("val_id") := ИдУведомления;
    ссУведомления.Открыть;
    Если ссУведомления.RecordCount &lt;&gt; 0 тогда
      Результат := Истина;
  Обязательно
    УдалитьОбъект(ссУведомления);
  конец; 
конец;

функция ПолучитьЗаголовокДокументаКазнПоИд(ид : целое) : целое;
переменные
  ссЗаголовок : СтатическиеДанные;
начало
  Результат := Ложь;
  ссЗаголовок := СоздатьСтатическиеДанные;
  ссЗаголовок.СоединитьБД;
  Попытка
    ссЗаголовок.Запрос := "[PumpData]{select ffd.RecordIndex MasterId
                                        from FacialFinDetail ffd
                                      where (ffd.id = @val_id)}";
    ссЗаголовок.Параметр("val_id") := Ид;
    ссЗаголовок.Открыть;
    результат := ссЗаголовок.Поле("MasterId").КакЦелое;
  Обязательно
    УдалитьОбъект(ссЗаголовок);
  конец; 
конец;

функция НайтиНовыйДокументУведомления(ИДУведомления,КлассНовогоДокументаУвед, СсылкаНовогоДокументаУвед : целое);
переменные 
  ссПоиск : СтатическиеДанные;
начало
  КлассНовогоДокументаУвед := 0; 
  СсылкаНовогоДокументаУвед := 0;
  ссПоиск := СоздатьСтатическиеДанные;
  Попытка
    ссПоиск.СоединитьБД;
    ссПоиск.Запрос := '[PumpData]{select cor_d.DocumentProgIndex DestProgIndex, cor_d.DocumentRecordIndex DestRecordIndex 
                                     from CorrectionDetail cor_d 
                                          left join CorrectionCaption cor_c on (cor_c.id = cor_d.RecordIndex) 
                                     where ((cor_d.id=@id_) or (cor_c.id=@id_)) and (cor_d.ProgIndex=316)}';
    ссПоиск.Параметр('Id_') := ИДУведомления;
    ссПоиск.Открыть;
     
    Если ссПоиск.RecordCount&lt;&gt;0 тогда 
      начало
        КлассНовогоДокументаУвед := ссПоиск.Поле('DestProgIndex').КакЦелое; 
        СсылкаНовогоДокументаУвед := ссПоиск.Поле('DestRecordIndex').КакЦелое;
      конец; 
  Обязательно
    УдалитьОбъект(ссПоиск);
  конец;
конец;


функция ПолучитьЗапросДеталиНевыясненных : строка;
начало
  результат := ' [PumpData]{ 
                 select distinct 
                   inc.recordindex id,
                   inc.debit,
                   inc.credit,
                   cast (0 as float) SummaIncDet,
                   lr.parentid
                 from Incomes32 inc
                 LEFT OUTER JOIN LinkRecords lr ON ((lr.childid =  inc.id) and (lr.linktyperef = 550901400))
                 where (lr.parentid is null) and (inc.rejectcls is null) @Id
                 }';
конец;

функция ПолучитьЗапросПоискаИсходногоДок : строка;
начало
  результат := "
               [PumpData]{
                 SELECT   @Field ChildId
                 From LinkRecords lr
                   inner  JOIN LinkType lt ON (lt.id =  lr.LinkTypeRef)        
                 Where ( @Link = @IdCaption) and ( @LinkCLS like @Param ) 
                  }                
  
               ";
конец;

функция ПолучитьЗапросДляЗаменыДИ : строка;
начало
  результат := "  [PumpData] {
                    select DISTINCT
                       edc.InnerNumber         OldDiInnerNumber,
                       edc_new.id              NewDiNumber
                     FROM PaymentSchedule ps 
                       left join LinkRecords lr on (lr.ParentID = ps.id)
                       left join PaymentSchedule ps_new on (ps_new.id =  lr.ChildID)
                       left join ExecutionDocumentsCaption edc on (edc.id = ps.ExecutionRef)
                       left join ExecutionDocumentsCaption edc_new on (edc_new.id = ps_new.ExecutionRef)
                     where 
                       ((ps.ProgIndex =  304)or(ps.ProgIndex =  308))  
                       and (ps_new.LastAdjustment = 1) 
                       and (ps_new.LastAccepted = 1)
                       and (ps_new.summa &lt;&gt; 0)
               }";         
конец;

функция ПолучитьЗапросДляЗаменыБО : строка;
начало
 результат := "  [PumpData] {
                  select DISTINCT
                        ps.InnerPromiseNum      OldInnerPromiseNum,
                        ps.PromiseNumber        OldPromiseNumber,
                        ps_new.InnerPromiseNum  NewInnerPromiseNum,
                        ps_new.PromiseNumber    NewPromiseNumber
                     FROM PaymentSchedule ps 
                       left join LinkRecords lr on (lr.ParentID = ps.id)
                       left join PaymentSchedule ps_new on (ps_new.id =  lr.ChildID)
                     where 
                       ((ps.ProgIndex =  304)or(ps.ProgIndex =  308))
                       and (ps_new.LastAdjustment = 1) 
                       and (ps_new.LastAccepted = 1)
                       and (ps_new.summa &lt;&gt; 0)

               }";
конец;

</value>
    <param value="ЗапросыДляУведомлений" type="3" name="Export">EGORBUNOV\egorbunov\30.07.2012 16:19:57</param>
    <param value="ЗапросыДляУведомлений" type="3" name="version">36.741.00</param>
    <param value="ЗапросыДляУведомлений" type="3" name="crc32">$2C16A68D</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="КонстантыДляУведомлений">//CREATED BY GEN 2007
//
//==========================================================================================//
//Константы, используемые в макросах формирования уведомлений (пзк)                         //
//==========================================================================================//


включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\Reports.lib';

функция nl: строка;
начало
  результат := #13#10;
конец;

функция ПутьКПараметрамУчетаДоговоров : строка;
начало
  Результат := "Бюджет\Параметры\ЗаменаКлассификаторов\УчетДоговоров";
конец;

функция ПутьКПараметрамФормированияДопДокументов : строка;
начало
  Результат := "Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки\ДопДокументы";
конец;

функция ПутьКНастройкамЗначенийНовыхПолей : строка;
начало
  Результат := 'Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки\Значения полей нового документа\';
конец;

функция ПутьКТаблицеПодстановок : строка;
начало
  Результат := "Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки";
конец;

функция СписокПолейДляПодстановокДет : строка;
начало
  Результат := "Тип_Средств=MeansType,Тип_Документа=DocType,ЛицСчет_плат=SourceFacialAcc_Cls,ЛицСчет_получ=DestFacialAcc_Cls,СубкодДохода=SubKD";
конец;

функция СписокПолейДляПодстановокЗаг : строка;
начало
  Результат := "БухПроводка=BuhPaymentCLS,Очередность=PayPriority,ЛицСчет_плат=SourceFacialacc_cls,ЛицСчет_получ=DestFacialacc_cls,ВидПлатежа=PayTypeCLS,Вид_Операции=TYPEOPERATIONCLS,НаправлениеОперации=OperationDirection";
конец;

функция СписокПолейДляПодстановкиВДетализациюУведомления : строка;
начало
  Результат := "Тип_Средств=MeansType,Тип_Документа=DocType,ЛицСчет_получ=Facialacc_Cls";
конец;

функция СписокПолейДляСверкиПриФормировании : строка;
начало
  Результат := 'Класс=Progindex,Тип_Классификации=ClsType' + ',' + СписокПолейДляПодстановокДет + ',' + СписокПолейДляПодстановокЗаг;
конец;

функция СписокПолейДляСверкиПриСинхронизации : строка;
начало
  Результат := 'Класс=DocumentProgindex,Тип_Классификации=ClsType' + ',' + СписокПолейДляПодстановокДет + ',' + СписокПолейДляПодстановокЗаг;
конец;

функция СписокПолейКлассификаторовСРазыменовками : строка;
начало
  результат := "ЛицСчет_получ_нов=Лицевой_Счет.Существует,ЛицСчет_плат_нов=Лицевой_Счет.Существует,Тип_Средств_нов=Тип_Средств.Существует,Тип_Документа_нов=Тип_документа.Существует,БухПроводка_нов=Бух_Операция.Существует";
конец;

// Комментарий
функция СписокПолейДляУстановкиТипаДокумента : строка;
начало
  результат := "KFSR,KCSR,KVR,KESR,KVSR,KD,IFS";
конец;

// Комментарий
функция СписокПолейБлокировок : строка;
начало
  результат := 'IsBlocked,BlockedCause,UnBlockedDate,UnBlockedCause';
конец;


// маппинг для синхронизации данных
функция МаппингДляСинхронизацииДанных : строка;
начало
  Результат := "KFSR=KFSR,KCSR=KCSR,KVR=KVR,KESR=KESR,KVSR=KVSR,ClsType=ClsType,MeansType=MeansType,DirectionCls=DirectionCls,Fact=Fact,RegionCls=RegionCls,FinType=FinType,FinSource=FinSource,FundsSource=FundsSource,DocType=DocType,SubKesr=SubKesr,FacialAcc_Cls=FacialAcc_Cls,Kd=Kd,IFS=IFS,Promise=Promise,BudgetPromise=BudgetPromise,ExecDoc=ExecDoc,TransfertCls=TransfertCls,SUBSIDYCLS=SUBSIDYCLS, BudAllocationCls=BudAllocationCls, PayPromiseCls=PayPromiseCls, IsBlocked=IsBlocked, BlockedCause=BlockedCause, UnBlockedDate=UnBlockedDate, UnBlockedCause=UnBlockedCause";
конец; 

функция МаппингКакиеПоляПереноситьВНовыйДокумент : строка;
начало
  Результат := "MeansType=MeansType,DirectionCls=DirectionCls,Fact=Fact,RegionCls=RegionCls,FinType=FinType,GOSNI=GOSNI,FinSource=FinSource,FundsSource=FundsSource,DocType=DocType,SubKesr=SubKesr,FacialAcc_Cls=FacialAcc_Cls,IsBlocked=IsBlocked, BlockedCause=BlockedCause, UnBlockedDate=UnBlockedDate, UnBlockedCause=UnBlockedCause";
конец; 

функция МаппингПолейОрганизации : строка;
начало
  результат := 'OrgName=OrgName,Acc=Acc,OrgInn=OrgInn,OrgInn20=OrgINN20';  
конец;

функция МаппингОбщихПолей : строка;
начало
  результат := 'BudgetRef=BudgetRef,DocNumber=DocNumber,' + 
               'AcceptorAccRef=AcceptorAccRef,PayerAccRef=PayerAccRef,' + 
               'SourceFacialAcc_Cls=SourceFacialAcc_Cls,DestFacialAcc_Cls=DestFacialAcc_Cls,FacialAcc_Cls=FacialAcc_Cls,Note=Note,TaxNote=TaxNote';
конец;

функция МаппингСсылкиНаОрганизацию : строка;
начало
  Результат := "PayerOrgRef=PayerOrgRef,AcceptorOrgRef=AcceptorOrgRef";
конец;

функция МаппингДопПолейКлассификации : строка;
начало
  результат := 'PayTypeCls=PayTypeCls,PayPriority=PayPriority,Period=Period,TypeOperationCls=TypeOperationCls,BidNumber=BidNumber,CARDNUMBER=CARDNUMBER,DepartmentCls=DepartmentCls,ManagerBid=ManagerBid,SubProgIndex=SubProgIndex,FEDERALFUNDSREF=FEDERALFUNDSREF,OperationDirection=OperationDirection';  
конец;

функция МаппингДопПолейКлассификацииДляНЕЗаголовка : строка;
начало
  результат := 'DocType=DocType,DirectionCls=DirectionCls,SubKesr=SubKesr,Fact=Fact,MeansType=MeansType,RegionCls=RegionCls,FinType=FinType,GOSNI=GOSNI,FinSource=FinSource,FundsSource=FundsSource,PaySymbolCls=PaySymbolCls,SubKD=SubKD,Promise=Promise,BudgetPromise=BudgetPromise,ExecDoc=ExecDoc,DocBase=DocBase';  
конец;


функция НаборКлсДляЗаменыАнг : строка;
начало
  результат :=  "KFSR,KCSR,KVR,KESR,KVSR,DirectionCls,SubKesr,Fact,MeansType,RegionCls,FinType,FacialAcc_Cls,ClsType,Kd,IFS,KdValue,IFSValue,FinSource,FundsSource,DocType";
конец;

функция НаборКлсДляЗаменыРус : строка;
начало
  результат := "КФСР,КЦСР,КВР,КЭСР,КВСР,Направление,СубКЭСР,Мероприятие,СредстваБюджета,Район,ТипФинансирования,ЛицСчет,ТипКлассификации,КодДоходаКлюч,ИстВнутрФинКлюч,КодДохода,ИстВнутрФин,ФинТип,ТипПлатДок";
конец;


функция МаппингНеОсновнойКлс : строка;
начало
  Результат := "DirectionCls=DirectionCls"+nl+
               "SubKesr=SubKesr"+nl+
               "Fact=Fact"+nl+
               "MeansType=MeansType"+nl+
               "RegionCls=RegionCls"+nl+
               "FinType=FinType"+nl+
               "FacialAcc_Cls=FacialAcc_Cls"+nl+
               "FinSource=FinSource"+nl+
               "FundsSource=FundsSource"+nl+
               "DocType=DocType"
конец;

// для фильтрации =1 - значит анг = анг
//  если нет то тогда рус=анг
// так как функция очень часто везде используется - то формируем списки вручную
функция МаппингКлКтаблицеЗамены(ДляФильтрации : целое) : строка;
начало 
  ЕСЛИ ДляФильтрации = 1 тогда
  начало
     /$если Бюджет 
      Результат := "KFSR=KFSR"+nl+
                   "KCSR=KCSR"+nl+
                   "KVR=KVR"+nl+
                   "KESR=KESR"+nl+
                   "KVSR=KVSR"+nl+
                   "DirectionCls=DirectionCls"+nl+
                   "SubKesr=SubKesr"+nl+
                   "Fact=Fact"+nl+
                   "MeansType=MeansType"+nl+
                   "RegionCls=RegionCls"+nl+
                   "FinType=FinType"+nl+
                   "FacialAcc_Cls=FacialAcc_Cls"+nl+
                   "ClsType=ClsType"+nl+
                   "Kd=KD"+nl+
                   "IFS=IFS"+nl+
                   "KdValue=KDValue"+nl+
                   "IFSValue=IFSValue"+nl+
                   "FinSource=FinSource"+nl+
                   "FundsSource=FundsSource" + nl +
                   "DocType=DocType"+nl+
                   "TransfertCls=TransfertCls" +nl+
                   "SUBSIDYCLS=SUBSIDYCLS"+nl+
                   "BudAllocationCls=BudAllocationCls"+nl+
                   "PayPromiseCls=PayPromiseCls" 
     /$иначе              
      Результат := "KFSR=KFSR"+nl+
                   "KCSR=KCSR"+nl+
                   "KVR=KVR"+nl+
                   "KESR=KESR"+nl+
                   "KVSR=KVSR"+nl+
                   "DirectionCls=DirectionCls"+nl+
                   "SubKesr=SubKesr"+nl+
                   "Fact=Fact"+nl+
                   "MeansType=MeansType"+nl+
                   "RegionCls=RegionCls"+nl+
                   "FinType=FinType"+nl+
                   "FacialAcc_Cls=FacialAcc_Cls"+nl+
                   "ClsType=ClsType"+nl+
                   "Kd=KD"+nl+
                   "IFS=IFS"+nl+
                   "FinSource=FinSource"+nl+
                   "FundsSource=FundsSource" +nl+
                   "DocType=DocType"+nl+
                   "TransfertCls=TransfertCls" +nl+
                   "SUBSIDYCLS=SUBSIDYCLS"+nl+
                   "BudAllocationCls=BudAllocationCls"+nl+
                   "PayPromiseCls=PayPromiseCls" 
     /$конец              
  конец                 
  ИНАЧЕ
     начало
        ЕСЛИ ДляФильтрации = 4 тогда // это для детализации внутренней переброски
            Результат := "KFSR=KFSR"+nl+
                         "KCSR=KCSR"+nl+
                         "KVR=KVR"+nl+
                         "KESR=KESR"+nl+
                         "KVSR=KVSR"+nl+
                         "DirectionCls=DirectionCls"+nl+
                         "SubKesr=SubKesr"+nl+
                         "Fact=Fact"+nl+
                         "MeansType=MeansType"+nl+
                         "RegionCls=RegionCls"+nl+
                         "FinType=FinType"+nl+
                         "FacialAcc_Cls=FacialAcc_Cls"+nl+
                         "Kd=KD"+nl+
                         "IFS=IFS"+nl+
                         "IFSValue=IFSValue"+nl+
                         "FinSource=FinSource"+nl+
                         "DocType=DocType"+nl+
                         "TransfertCls=TransfertCls" +nl+
                         "SUBSIDYCLS=SUBSIDYCLS"+nl+
                         "BudAllocationCls=BudAllocationCls"+nl+
                         "PayPromiseCls=PayPromiseCls" 
        ИНАЧЕ
          начало
            Результат := "КФСР=KFSR"+nl+
                         "КЦСР=KCSR"+nl+
                         "КВР=KVR"+nl+
                         "КЭСР=KESR"+nl+
                         "КВСР=KVSR"+nl+
                         "Направление=DirectionCls"+nl+
                         "СубКЭСР=SubKesr"+nl+
                         "Мероприятие=Fact"+nl+
                         "СредстваБюджета=MeansType"+nl+
                         "Район=RegionCls"+nl+
                         "ТипФинансирования=FinType"+nl+
                         "ИсточникФинансирования=FinSource"+nl+
                         "ЛицСчет=FacialAcc_Cls"+nl+
                         "ТипКлассификации=ClsType"+nl+
                         "КодДоходаКлюч=KD"+nl+
                         "ИстВнутрФинКлюч=IFS"+nl+
                         "КодДохода=KDValue"+nl+
                         "ИстВнутрФин=IFSValue"+nl+
                         "ФинТип=FinSource"+nl+
                         "ИсточникОбразованияСредств=FundsSource" +nl+
                         "КодЦелевыхСредствКлюч=TransfertCls" +nl+
                         "КодЦелевыхСредств=TransfertClsValue" + nl+
                         "КодСубсидии=SUBSIDYCLSValue" + nl+
                         "КодСубсидииКлюч=SUBSIDYCLS" + nl +
                         "КодБюджетногоАссигнования=BudAllocationClsValue"+nl+
                         "КодБюджетногоАссигнованияКлюч=BudAllocationCls"+nl+
                         "КодРасходногоОбязательства=PayPromiseClsValue"+nl+
                         "КодРасходногоОбязательстваКлюч=PayPromiseCls"+nl+
                         "ТипПлатДок=DocType";
            Если ДляФильтрации = 3 тогда 
              Результат := Результат + nl + 'НомерРеестраДог=ReestrNumber';
          конец;              
     конец;
конец;

функция МаппингСтроковыхПолей : строка;
начало                                  
  Результат := "ReestrNumber=ReestrNumber";
конец;

функция СтроковоеПоле(имяПоля: строка) : целое;
переменные
  ткст_Список : Текст;
  Счетчик, Колво : целое;
начало
  Результат := Ложь;
  ткст_Список := СоздатьТекст;
  ткст_Список.Значение := МаппингСтроковыхПолей;
  Колво := ткст_Список.Количество-1;
  Пока (счетчик &lt;= Колво) делать 
  начало
    попытка
      если ткст_Список.ИмяПараметра(Счетчик) = имяПоля тогда Результат := Истина;
    неудача
    конец;    
    Счетчик := Счетчик +1;
  конец; //  пока
конец;

функция ПолныйМаппингДокумента(СКлассификацией, ЭтоЗаголовок : целое) : строка;
начало
  результат := МаппингОбщихПолей + ',' + МаппингДопПолейКлассификации;
  Если не ЭтоЗаголовок тогда 
    Результат :=Результат + ',' + МаппингДопПолейКлассификацииДляНЕЗаголовка;
  Если Склассификацией тогда 
    Результат := Результат + ',' + МаппингКлКтаблицеЗамены(1)
конец;

// НАЗВАНИЯ ПОЛЕЙ ---------------------------------- НАЧАЛО
функция ИмяПоляОчередность : строка;
начало
  Результат := 'Очередность'; 
конец;

функция ИмяПоляБухПроводка : строка;
начало
  Результат := 'БухПроводка';    
конец;

функция ИмяПоляЛС : строка;
начало
  Результат := 'ЛицевойСчет';    
конец;

функция ИмяПоляЛСПлат : строка;
начало
  Результат := 'ЛицевойСчетПлательщика';    
конец;

функция ИмяПоляВидОперации : строка;
начало
  Результат := 'ВидОперации';    
конец;
// НАЗВАНИЯ ПОЛЕЙ ---------------------------------- КОНЕЦ


функция ИмяПараметра_СписокИдКорДокументов : строка;
начало
  Результат := 'СписокИдКорДокументов'; 
конец;

функция ИмяПараметра_СписокИдНовДокументов : строка;
начало
  Результат := 'СписокИдНовДокументов'; 
конец;


функция ИмяПараметра_ТекущийКласс : строка;
начало
  Результат := 'ТекущийКласс'; 
конец;

функция ИмяПараметра_ТекущийСписокИд : строка;
начало
  Результат := 'ТекущийСписокИд'; 
конец;

функция ИмяПараметра_ДатаПринятия : строка;
начало
  Результат := 'ДатаПринятия'; 
конец;

функция ИмяПараметра_ПризнакПринятия : строка;
начало
  Результат := 'ПризнакПринятия'; 
конец;

функция ПризнакПринятия_УстановкаДатыПринятия : целое;
начало
  Результат := 1; 
конец;

функция ПризнакПринятия_СнятиеДатыПринятия : целое;
начало
  Результат := 2; 
конец;

функция ПризнакПринятия_СменаДатыПринятия : целое;
начало
  Результат := 3; 
конец;

функция Постфикс_ИмяДействияПослеФормированияДокумента : строка;
начало
   Результат := '(ИмяДПФД)';
конец;
 
функция Постфикс_ИмяДействияПередПринятиемДокумента : строка;
начало
   Результат := '(ИмяДППД)';
конец;

функция Постфикс_ИмяДействияСистСостНаПринятие : строка;
начало
  результат := '(ДССНаП)';
конец;

функция Постфикс_ИмяДействияСистСостНаСнятие : строка;
начало
  результат := '(ДССНаС)';
конец;

функция ПустьКПараметрамПереноса : строка;
начало
  результат := 'Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки\Уведомление по ексел';
конец;

функция Группа_Поступление : целое;
начало
  Результат := 1;
конец;

функция Группа_Выбытие : целое;
начало
  Результат := 2;
конец;

функция Группа_Доходы : целое;
начало
  Результат := 3;
конец;

функция Группа_КазначействоПоступление : целое;
начало
  Результат := 4;
конец;

функция Группа_КазначействоВыбытие : целое;
начало
  Результат := 5;
конец;

функция Группа_Казначейство : целое;
начало
  Результат := 6;
конец;

функция Группа_Кредиты : целое;
начало
  Результат := 7;
конец;

функция Группа_Ссуды : целое;
начало
  Результат := 8;
конец;

функция Группа_Заимствования : целое;
начало
  Результат := 9;
конец;

функция Группа_Финансирование : целое;
начало
  Результат := 10;
конец;

функция Группа_Некассовые : целое;
начало
  Результат := 11;
конец;

функция Группа_Реестр : целое;
начало
  Результат := 12;
конец;

функция Группа_ВнутренниеПереброскиРасходов : целое;
начало
  Результат := 13;
конец;

функция Группа_Уведомления : целое;
начало
  Результат := 14;
конец;

функция Группа_ВнутренниеПлатежиРасходов : целое;
начало
  Результат := 15;
конец;

функция  Класс_Неуказанный : целое;
начало
  Результат := 0;
конец;

функция  Класс_ПоступлениеДоходов : целое;
начало
  Результат := 45;
конец;


функция  Класс_ВозвратДоходов : целое;
начало
  Результат := 145;
конец;

функция  Класс_ВнутренниеПереброскиДоходов : целое;
начало
  Результат := 38;
конец;


функция  Класс_ВыяснениеНевыясненных: целое;
начало
  Результат := 42;
конец;

функция  Класс_ПоступлениеНевыясненных : целое;
начало
  Результат := 41;
конец;

функция  Класс_ПлатежныеПоручения : целое;
начало
  Результат := 63;
конец;

функция Класс_УчетКассовыхВыплат : целое;
начало
  Результат := 73; 
конец;

функция  Класс_ПриходОтПрочих : целое;
начало
  Результат := 61;
конец;

функция  Класс_ПриходПоОбъявлениям : целое;
начало
  Результат := 62;
конец;

функция  Класс_РасходПоЧекам : целое;     
начало
  Результат := 64;
конец;

функция  Класс_Разассигновка : целое;
начало
  Результат := 65;
конец;

функция  Класс_ВнутренниеПереброскиРасходов : целое;
начало
  Результат := 66;
конец;

функция  Класс_ВнутренниеПлатежиРасходов : целое;
начало
  Результат := 67;
конец;

функция  Класс_ПеречислениеНаСчетаДляНаличности : целое;
начало
  Результат := 68;
конец;

функция  Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности : целое;
начало
  Результат := 69;
конец;

функция  Класс_ВозвратСоСчетовДляНаличности : целое;
начало
  Результат := 70;
конец;

функция  Класс_ПодтверждениеВозвратаСоСчетовДляНаличности : целое;
начало
  Результат := 71;
конец;


функция  Класс_УтверждениеОФ : целое;
начало
  Результат := 75;
конец;

функция  Класс_РаспределениеОФ : целое;
начало
  Результат := 76;
конец;

функция  Класс_ВП_Поступление : целое;
начало
  Результат := 999;
конец;

функция  Класс_ВП_Выбытие : целое;
начало
  Результат := 888
конец;

функция  Класс_ВПл_Поступление : целое;
начало
  Результат := 555;
конец;

функция  Класс_ВПл_Выбытие : целое;
начало
  Результат := 444
конец;

функция  Класс_ПогашениеКредита : целое;
начало
  Результат := 132;
конец;

функция  Класс_ПолучениеКредита : целое;
начало
  Результат := 131;
конец;

функция  Класс_ВыдачаСсуды : целое;
начало
  Результат := 121;
конец;

функция  Класс_ПогашениеСсуды : целое;
начало
  Результат := 122;
конец;

функция  Класс_КредитыЗаголовок : целое;
начало
  Результат := 130;
конец;

функция  Класс_СсудыЗаголовок : целое;
начало
  Результат := 120;
конец;

функция  Класс_Роспись : целое;
начало
  Результат := 32;
конец;

функция  Класс_Лимиты : целое;
начало
  Результат := 57;
конец;


функция  Класс_графикфинансирования : целое;
начало
  Результат := 550;
конец;


функция  Класс_ПланДоходов : целое;
начало
  Результат := 46;
конец;

функция  Класс_УчетДоговоров : целое;
начало
  Результат := 304;
конец;


функция Класс_ГосКонтракты : целое;
начало
  Результат := 305;
конец;


функция Класс_ГосКонтрактыПФ : целое;
начало
  Результат := 318;
конец;


функция Класс_ДокИсполнения : целое;
начало
  Результат := 308;
конец;


функция  Класс_ЗаявкиНаЗакупку : целое;
начало
  Результат := 230;
конец;

функция  Класс_БюджетныеОбязательства : целое;
начало
  Результат := 345;
конец;

функция  Класс_ИтогиКонкурсов : целое;
начало
  Результат := 234;
конец;

функция Класс_РаспоряжениеНаФинансирование : целое;
начало
  Результат := 23;
конец;

функция Класс_СводноеРаспоряжениеНаФинансирование : целое;
начало
  Результат := 223;
конец;

функция Класс_КазначейскийРеестр : целое;
начало
  Результат := 777; // у реестров нет прогиндекса, но  чтобы поддержать единообразие приходится вот так извращаться
конец;

функция Класс_КассовыйРасход : целое;
начало
  Результат := 111; // это обобщающий класс
конец;


функция ту_УточнениеПоступлений : целое;
начало
  Результат := 312; 
конец;

функция ту_УточнениеВыбытий : целое;
начало
  Результат := 313; 
конец;



функция Класс_УточнениеВыбытий : целое;
начало
  Результат := ту_УточнениеВыбытий;
конец;

функция Класс_УточнениеПоступлений : целое;
начало
  Результат := ту_УточнениеПоступлений;
конец;


функция Класс_КассовыйПланРасходы : целое ;
начало
  Результат := 261;
конец;


функция Класс_КассовыйПланПБСРасходы : целое ;
начало
  Результат := 268;
конец;


функция Класс_ПомесячныйКассовыйПлан : целое;
начало
  Результат := 272;
конец;


функция Класс_ПомесячныйКассовыйПланПБС : целое;
начало
  Результат := 273;
конец;

функция Класс_ПодневнойКассовыйПлан : целое;
начало
  Результат := 274;
конец;


функция Класс_СБРКассовыйПланРасходы : целое;
начало
  Результат := 260;
конец;


функция Класс_СметаПДРасходы : целое;
начало
  Результат := 262
конец;


функция Класс_СметаПДДоход : целое;

начало
  Результат := 269
конец;

функция Класс_СБРИсточники : целое;
начало
  Результат := 264
конец;

функция Класс_КассовыйПланИсточники : целое;
начало
  Результат := 265
конец;

функция Класс_РосписьПоАИФИсточники : целое;
начало
  Результат := 215
конец;

функция Класс_СметаПоПДИсточники : целое;
начало
  Результат := 266
конец;


функция ПустойКласс : целое;
начало
  результат := 0;
конец;


функция прогиндекс_ИсходнаяКлассификация : целое;
начало
  Результат := 315;
конец;

функция прогиндекс_НоваяКлассификация : целое;
начало
  Результат := 316;
конец;

функция прогиндекс_ПротоколИсходнаяКлассификация : целое;
начало
  Результат := 515;
конец;

функция прогиндекс_ПротоколНоваяКлассификация : целое;
начало
  Результат := 516;
конец;



функция ИмяПоляИзмененияКлассификации : строка;
начало
  Результат := 'ChangeCls';
конец;

функция ЭтоКорректирующийДокумент : целое;
начало
  Результат := 2;
конец; 

функция ЭтоНовыйДокумент : целое;
начало
  Результат := 3;
конец;

// КОНСТАНТЫ СООБЩЕНИЙ ------------------------------- НАЧАЛО
функция с_СозданоУведомление : целое;
начало
  Результат := 1;
конец;

функция с_СозданНовыйДокумент : целое;
начало
  Результат := 2;
конец;

функция с_СозданКорректирующийДокумент : целое;
начало
  Результат := 3;
конец;

функция с_ПринятНовыйДокумент : целое;
начало
  Результат := 4;
конец;

функция с_ПринятКорректирующийДокумент : целое;
начало
  Результат := 5;
конец;

функция с_СозданРеестр : целое;
начало
  Результат := 6;
конец;


функция с_СозданаВП : целое;
начало
  Результат := 7;
конец;

функция с_СнятиеПринятияНовыйДокумент : целое; 
начало
  Результат := 8;
конец;

функция с_СнятиеПринятияКорректирующийДокумент : целое;
начало
  Результат := 9;
конец;

функция сообщение_СозданоУведомление : целое;
начало
  Результат := 10;
конец;

функция сообщение_СозданоУведомление_ИсходнаяКлассификация : целое;
начало
  Результат := 11;
конец;

функция сообщение_СозданоУведомление_НоваяКлассификация : целое;
начало
  Результат := 12;
конец; 

функция сообщение_ПринятСвязанныйДокумент : целое;
начало
  Результат := 13;
конец;
 
функция сообщение_СнятиеПринятияСвязанныйДокумент : целое;
начало
  Результат := 14;
конец; 


функция сообщение_ИсключениеИсходныхДокументовБОИзВыборкиПЗК : целое;
начало
  Результат := 15;
конец;

функция сообщение_ИсключениеИсходныхДокументовДиИзВыборкиПЗК : целое;
начало
  Результат := 16;
конец;

функция сообщение_ДокументыПротоколаПЗКОтконены : целое;
начало
  Результат := 17;
конец;

функция сообщение_ДокументыПротоколаПЗКУдалены : целое;
начало
  Результат := 18;
конец;

функция сообщение_ПротоколаПЗКОтклоненСвязанныйДокумент : целое;
начало
  Результат := 19;
конец;

функция сообщение_ПротоколаПЗКУдаленСвязанныйДокумент : целое;
начало
  Результат := 20;
конец;

функция сообщение_ЕстьПринятыеДокументыПриОтклонении : целое;
начало
  Результат := 21;
конец;

функция сообщение_ЕстьПринятыеДокументыПриУдалении : целое;
начало
  Результат := 22;
конец;


// КОНСТАНТЫ СООБЩЕНИЙ =============================== КОНЕЦ

функция  МаппингОграничение_Доходы1 : строка;
начало
  Результат := "КодЗаписи=inc.id,КодЗаголовка=qt.id,КодБюджета=inc.BudgetRef%d,ТипКлассификации=inc.ClsType,КодДокументаЭО=inc.eldocref,КодДохода=kd_o.KDValue%l,КодДоходаКлюч=inc.KD%d,ЛицСчет=inc.facialacc_cls%d,ИндексыДанных=inc.ProgIndex,ИндексыДанныхДоходовЗаголовок=qt.Progindex,КодЦелевыхСредств=tc.Code%l,КодЦелевыхСредствКлюч=inc.TransfertCls%d,КодСубсидииКлюч=inc.SUBSIDYCLS%d,КодБюджетногоАссигнованияКлюч=inc.BudAllocationCls%d,КодРасходногоОбязательства=inc.PayPromiseCls%d,";
конец;

функция  МаппингОграничение_Доходы2 : строка;
начало
  Результат := "СчетПолуч=inc.IncAccount%d,СчетПлат=inc.AccountRef,Сумма=( (inc.credit%f) or (inc.Debit%f) ),СчетФО=qt.incaccount%d,";
конец;
                                                                                                          
функция  МаппингОграничение_Доходы3 : строка;
начало
  Результат := "ЛицСчет=inc.FacialAcc_Cls,Примечание=inc.Note%s,ИстВнутрФин=ifs.FinSourceValue%l,ИстВнутрФинКлюч=inc.Ifs%d,СредстваБюджета=inc.MeansType%d";
конец;

функция  МаппингОграничение_Доходы4 : строка;
начало
  Результат := "СчетПолуч=inc.IncAccount%d,СчетПлат=inc.AccountRef,Сумма=( (inc.credit%f) or (inc.Debit%f) ),СчетФО=inc.incaccount%d,";
конец;

функция  МаппингТребуемыхПолейПЗК_Доходы : строка;
начало
  Результат := "MeansType,FacialAcc_Cls,KD,IFS,FinSource,TransfertCls,SUBSIDYCLS,BudAllocationCls,PayPromiseCls,RegionCls";
конец;


функция  МаппингОграничение_Казначейство1 : строка;
начало
  Результат := "КодЗаписи=ffd.id,КодЗаголовка=cpt.id,КодБюджета=ffd.BudgetRef%d,КодДокументаЭО=cpt.ElDocRef,ТипКлассификации=ffd.ClsType,КодДОкументаЭОВыбытие=pde.id,Сумма=cpt.Credit%f,НомерДок=cpt.DocNumber%s,НаправлениеОперации=cpt.OperationDirection,";
конец;

функция  МаппингОграничение_Казначейство2 : строка;
начало
  Результат := "ИстВнутрФин=ifs.FinSourceValue%l,ИндексыДанных=cpt.ProgIndex,Примечание=cpt.Note%s,НомерРеестраДог=a.ReestrNumber%s,";
конец;

функция  МаппингОграничение_Казначейство3 : строка;
начало
  Результат := "СчетПолуч=cpt.DestAccount%d,СчетПлат=cpt.SourceAccount,КФСР=ffd.SourceKFSR%d,КВСР=ffd.SourceKVSR,КВР=ffd.SourceKVR,КЦСР=ffd.SourceKCSR,КЭСР=ffd.SourceKESR,Направление=ffd.SourceDirectionCls,СубКЭСР=ffd.SourceSubKESR,Мероприятие=ffd.SourceFact,СредстваБюджета=ffd.SourceMeansType,Район=ffd.SourceRegionCls,ТипФинансирования=ffd.SourceFinType,ИсточникФинансирования=ffd.SourceFinSource,Лицсчет=ffd.SourceFacialAcc_Cls,СчетФО=cpt.SourceAccount%d,КодДохода=kd.KDValue%l,КодДоходаКлюч=ffd.SourceKD%d,ИстВнутрФинКлюч=ffd.Sourceifs%d,ИстВнутрФин=Ifs.FinSourceValue%l, КодЦелевыхСредств=tc.Code%l,КодЦелевыхСредствКлюч=ffd.SourceTransfertCls%d, КодСубсидииКлюч=ffd.SourceSUBSIDYCLS%d, КодБюджетногоАссигнованияКлюч=ffd.SourceBudAllocationCls%d, КодРасходногоОбязательстваКлюч=ffd.SourcePayPromiseCls%d";
конец;

функция  МаппингОграничение_Казначейство4 : строка;
начало
  Результат := "СчетПлат=cpt.DestAccount%d,СчетПолуч=cpt.SourceAccount,КФСР=ffd.DestKFSR%d,КВСР=ffd.DestKVSR,КВР=ffd.DestKVR,КЦСР=ffd.DestKCSR,КЭСР=ffd.DestKESR,Направление=ffd.DestDirectionCls,СубКЭСР=ffd.DestSubKESR,Мероприятие=ffd.DestFact,СредстваБюджета=ffd.DestMeansType,Район=ffd.DestRegionCls,ТипФинансирования=ffd.DestFinType,ИсточникФинансирования=ffd.DestFinSource,Лицсчет=ffd.DestFacialAcc_Cls,СчетФО=cpt.DestAccount%d,КодДохода=kd.KDValue%l,КодДоходаКлюч=ffd.destKD%d,ИстВнутрФинКлюч=ffd.destifs%d,ИстВнутрФин=Ifs.FinSourceValue%l,КодЦелевыхСредств=tc.Code%l,КодЦелевыхСредствКлюч=ffd.DestTransfertCls%d, КодСубсидииКлюч=ffd.DestSUBSIDYCLS, КодБюджетногоАссигнованияКлюч=ffd.DestBudAllocationCls%d, КодРасходногоОбязательстваКлюч=ffd.DestPayPromiseCls%d";
конец;

функция  МаппингТребуемыхПолейПЗК_Казначейство : строка;
начало
  Результат := "KVSR,KFSR,KCSR,KVR,KESR,SubKESR,Fact,DirectionCls,MeansType,FinType,FacialAcc_Cls,KD,IFS,FinSource,TransfertCls,SUBSIDYCLS,BudAllocationCls,PayPromiseCls,RegionCls";
конец;

// для внутренних перебросок
функция МаппингОграничение_КазначействоВП1 : строка;
начало
  Результат := 'ИндексыДанных=ffd.ProgIndex,КодЗаписи=ffd.id,КодБюджета=ffd.BudgetRef%d,КодЗаголовка=cpt.id,Сумма=cpt.Credit%f,ТипКлассификации=ffd.ClsType,НомерДок=cpt.DocNumber%s,НаправлениеОперации=cpt.OperationDirection,СчетПолуч=cpt.DestAccount%d,СчетПлат=cpt.SourceAccount,КФСР=(ffd.SourceKFSR%d)or(ffd.DestKFSR%d),КВСР=(ffd.SourceKVSR%d)or(ffd.DestKVSR%d),КВР=(ffd.SourceKVR%d)or(ffd.DestKVR%d),КЦСР=(ffd.SourceKCSR%d)or(ffd.DestKCSR%d),КЭСР=(ffd.SourceKESR%d)or(ffd.DestKESR%d),';
конец;

функция МаппингОграничение_КазначействоВП2 : строка;
начало                                                                                                                                                                                                                                                                                                                                                                                                                                
  Результат := 'Направление=(ffd.SourceDirectionCls%d)or(ffd.DestDirectionCls%d),СубКЭСР=(ffd.SourceSubKESR%d)or(ffd.DestSubKESR%d),Мероприятие=(ffd.SourceFact%d)or(ffd.DestFact%d),СредстваБюджета=(ffd.SourceMeansType%d)or(ffd.DestMeansType%d),Район=(ffd.SourceRegionCls%d)or(ffd.DestRegionCls%d),ТипФинансирования=(ffd.SourceFinType%d)or(ffd.DestFinType%d),Лицсчет=(ffd.SourceFacialAcc_Cls%d)or(ffd.DestFacialAcc_Cls%d),КодЦелевыхСредств=(tc_dest.Code%l)or(tc_source.Code%l),КодЦелевыхСредствКлюч=(ffd.SourceTransfertCls%d)or(ffd.DestTransfertCls%d), КодСубсидииКлюч=(sourceSUBSIDYCLS%d) or (DestSUBSIDYCLS%d), КодБюджетногоАссигнованияКлюч=(SourceBudAllocationCls%d) or (DestBudAllocationCls%d), КодРасходногоОбязательства=(SourcePayPromiseCls%d) or (DestPayPromiseCls%d)';
конец;

функция  МаппингТребуемыхПолейПЗК_КазначействоВП : строка;
начало
  Результат := "KVSR,KFSR,KCSR,KVR,KESR,SubKESR,Fact,DirectionCls,MeansType,FinType,FacialAcc_Cls,FinSource,TransfertCls,SUBSIDYCLS,BudAllocationCls,PayPromiseCls,RegionCls";
конец;


функция МаппингОграничение_Реестр1 : строка;
начало
  Результат := 'КодРеестра=ffr.Id%d,КодБюджета=ffr.BudgetRef%d,Пользователь=ffr.CreaterUser%s,ТипРеестра=ffr.REESTRTYPEEX%d,НомерДокИсточн=ffr.ReestrNumber%s,СостояниеРеестра=ffr.DOCSTATEREF%d,ДатаРеестра=ffr.ReestrDate,ПринятиеРеестра=ffr.ACCEPTED';
конец;

функция МаппингОграничение_Финансирование1 : строка;
начало
  Результат := 'КодЗаписи=fdd.Id,КодЗаголовка=fdc.id,КодБюджета=fdd.BudgetRef%d,КодДОкументаЭОВыбытие=pde.Id,Сумма=fdd.Credit%f,НомерДок=pd.Number%s,';
конец;

функция МаппингОграничение_Финансирование2 : строка;
начало
  Результат := "ИстВнутрФин=ifs.FinSourceValue%l,ИндексыДанных=fdc.ProgIndex,Примечание=pd.TextNote%s,";
конец;

функция МаппингОграничение_Финансирование3 : строка;
начало
  Результат := "СчетПлат=fdd.DFAccount%d,СчетПолуч=fdd.AcceptorAccRef,КФСР=fdd.KFSR%d,КВСР=fdd.KVSR%d,КВР=fdd.KVR,КЦСР=fdd.KCSR,КЭСР=fdd.KESR,Направление=fdd.DirectionCls,СубКЭСР=fdd.SubKESR,Мероприятие=fdd.Fact,СредстваБюджета=fdd.MeansType,Район=fdd.RegionCls,ТипФинансирования=fdd.FinType,Лицсчет=fdd.FacialAcc_Cls,КодЦелевыхСредств=tc.Code%l,КодЦелевыхСредствКлюч=fdd.TransfertCls%d";
конец;

функция  МаппингТребуемыхПолейПЗК_Финансирование : строка;
начало
  Результат := "KVSR,KFSR,KCSR,KVR,KESR,SubKESR,Fact,DirectionCls,MeansType,FinType,FacialAcc_Cls,IFS,FinSource,TransfertCls,RegionCls";
конец;


функция МаппингОграничение_Заимствования1 : строка;
начало
  Результат := 'КодЗаписи=d.id';
конец;

функция МаппингОграничение_Заимствования2 : строка;
начало
  Результат := '';
конец;

функция МаппингОграничение_Заимствования3 : строка;
начало
  Результат := '';
конец;

функция  МаппингИсключенияПЗК_Заимствования : строка;
начало
  Результат := "";
конец;


функция МаппингОграничение_КредитыЗаголовок : строка;
начало
  Результат := ',ИндексыДанных=lc.ProgIndex, Кредитор = lc.Org_ref';
конец;

функция МаппингОграничение_СсудыЗаголовок : строка;
начало
  Результат := ',ИндексыДанных=lc.ProgIndex, Получатель = lc.Org_ref';
конец;

функция МаппингОграничение_Уведомления1 : строка;
начало
  Результат := 'КодЗаписи=cor_d_dest.Id,КодЗаголовка=cor_c.id,КодБюджета=cor_c.BudgetRef%d,Сумма=cor_c.Summa%f,НомерДок=cor_c.DocNumber%s,НомерРеестраДог=a.ReestrNumber%s,';
конец;

функция МаппингОграничение_Уведомления2 : строка;
начало
  Результат := "ИстВнутрФин=((ifs_Source.FinSourceValue%l)or(ifs_Dest.FinSourceValue%l)),ИндексыДанных=cor_c.ProgIndex,Примечание=cor_c.Note%s,";
конец;

функция МаппингОграничение_Уведомления2_Exel : строка;
начало
  Результат := "ИстВнутрФинКлюч=((cor_d_dest.IFS%d)),ИндексыДанных=cor_c.ProgIndex,Примечание=cor_c.Note%s,";
конец;

функция МаппингОграничение_Уведомления3 : строка;
начало
  Результат := "СчетПлат=cor_c.OriginalPayerAcc_Ref%d,СчетПолуч=OriginalAcceptorAcc_Ref%d,КодДоходаКлюч=(cor_d_dest.KD%d),КФСР=(cor_d_source.KFSR%d)or(cor_d_dest.KFSR%d),КВСР=(cor_d_source.KVSR%d)or(cor_d_dest.KVSR%d),КВР=(cor_d_source.KVR%d)or(cor_d_dest.KVR%d),КЦСР=(cor_d_source.KCSR%d)or(cor_d_dest.KCSR%d),КЭСР=(cor_d_source.KESR%d)or(cor_d_dest.KESR%d),";
конец;

функция МаппингОграничение_Уведомления3_Exel : строка;
начало
  Результат := "СчетПлат=cor_c.OriginalPayerAcc_Ref%d,СчетПолуч=OriginalAcceptorAcc_Ref%d,КодДоходаКлюч=(cor_d_dest.KD%d),КФСР=(cor_d_dest.KFSR%d),КВСР=(cor_d_dest.KVSR%d),КВР=(cor_d_dest.KVR%d),КЦСР=(cor_d_dest.KCSR%d),КЭСР=(cor_d_dest.KESR%d),";
конец;


функция МаппингОграничение_Уведомления4 : строка;
начало
  Результат := 'СубКЭСР=(cor_d_source.SubKESR%d)or(cor_d_dest.SubKESR%d),Мероприятие=(cor_d_source.Fact%d)or(cor_d_dest.Fact%d),СредстваБюджета=(cor_d_source.MeansType%d)or(cor_d_dest.MeansType%d),Район=(cor_d_source.RegionCls%d)or(cor_d_dest.RegionCls%d),ТипФинансирования=(cor_d_source.FinType%d)or(cor_d_dest.FinType%d),ИсточникФинансирования=(cor_d_source.FinSource%d)or(cor_d_dest.FinSource%d),Лицсчет=(cor_d_source.FacialAcc_Cls%d)or(cor_d_dest.FacialAcc_Cls%d)';
конец;

функция МаппингОграничение_Уведомления4_Exel : строка;
начало
  Результат := 'КодЦелевыхСредств=tc_dest.Code%l,КодЦелевыхСредствКлюч=cor_d_dest.TransfertCls%d,КодСубсидииКлюч=cor_d_dest.SUBSIDYCLS%d,КодБюджетногоАссигнованияКлюч=cor_d_dest.BudAllocationCls%d,КодРасходногоОбязательстваКлюч=cor_d_dest.PayPromiseCls%d,СубКЭСР=(cor_d_dest.SubKESR%d),Мероприятие=(cor_d_dest.Fact%d),СредстваБюджета=(cor_d_dest.MeansType%d),Район=(cor_d_dest.RegionCls%d),ТипФинансирования=(cor_d_dest.FinType%d),ИсточникФинансирования=(cor_d_dest.FinSource%d),Лицсчет=(cor_d_dest.FacialAcc_Cls%d)';
конец;

функция  МаппингТребуемыхПолейПЗК_Уведомления : строка;
начало
  Результат := "KVSR,KFSR,KCSR,KVR,KESR,SubKESR,Fact,DirectionCls,MeansType,FinType,FacialAcc_Cls,KD,IFS,FinSource,TransfertCls,SUBSIDYCLS,BudAllocationCls,PayPromiseCls,RegionCls";
конец;

функция ип_СвязанныйДокумент_Исходный_Прогиндекс : строка;
начало
  Результат := "СвязанныйДокумент_Исходный_Прогиндекс";
конец;

функция ип_СвязанныйДокумент_Исходный_Деталь_Ссылка : строка;
начало
  Результат := "СвязанныйДокумент_Исходный_Деталь_Ссылка";
конец;

функция ип_СвязанныйДокумент_Исходный_Заголовок_Ссылка : строка;
начало
  Результат := "СвязанныйДокумент_Исходный_Заголовок_Ссылка";
конец;

функция ип_СвязанныйДокумент_Новый_Прогиндекс : строка;
начало
  Результат := "СвязанныйДокумент_Новый_Прогиндекс";
конец;

функция ип_СвязанныйДокумент_Новый_Деталь_Ссылка : строка;
начало
  Результат := "СвязанныйДокумент_Новый_Деталь_Ссылка";
конец;

функция ип_СвязанныйДокумент_Новый_Заголовок_Ссылка : строка;
начало
  Результат := "СвязанныйДокумент_Новый_Заголовок_Ссылка";
конец;

функция ип_КлассИсходногоДокумента : строка;
начало
  Результат := "КлассИсходногоДокумента";
конец;

функция ип_СтарыйКлассИсходногоДокумента : строка;
начало
  Результат := "СтарыйКлассИсходногоДокумента";
конец;

функция ип_КлассКорректирующегоДокумента : строка;
начало
  Результат := "КлассКорректирующегоДокумента";
конец;

функция ип_СтарыйКлассКорректирующегоДокумента : строка;
начало
  Результат := "СтарыйКлассКорректирующегоДокумента";
конец;

функция ип_КлассНовогоДокумента : строка;
начало
  Результат := "КлассНовогоДокумента";
конец;

функция ип_СтарыйКлассНовогоДокумента : строка;
начало
  Результат := "СтарыйКлассНовогоДокумента";
конец;

функция ип_ссИсходнаяКлассификация : строка;
начало
  Результат := "ссИсходнаяКлассификация";
конец;
 
функция ип_ссНоваяКлассификация : строка;
начало
  Результат := "ссНоваяКлассификация";
конец;

функция ип_КлассИсходногоДокумента_Наименование : строка;
начало
  Результат := "КлассИсходногоДокумента_Наименование";
конец;

функция ип_КлассКорректирующегоДокумента_Наименование : строка;
начало
  Результат := "КлассКорректирующегоДокумента_Наименование";
конец;

функция ип_КлассНовогоДокумента_Наименование : строка;
начало
  Результат := "КлассНовогоДокумента_Наименование";
конец;

функция но_пост_ВозвратРасходаПриход : целое;
начало
  Результат := 0;
конец;

функция но_пост_ВозвратРасходаВозвратРасхода : целое;
начало
  Результат := 1;
конец;

функция но_пост_ПриходПриход : целое;
начало
  Результат := 2;
конец;

функция но_пост_ПриходВозвратРасхода : целое;
начало
  Результат := 3;
конец;

функция но_выб_ВозвратПриходаРасход : целое;
начало
  Результат := 0;
конец;

функция но_выб_ВозвратПриходаВозвратПрихода : целое;
начало
  Результат := 1;
конец;

функция но_выб_РасходРасход : целое;
начало
  Результат := 2;
конец;

функция но_выб_РасходВозвратПрихода : целое;
начало
  Результат := 3;
конец;

функция ип_СсылкаНаУведомление : строка;
начало
  Результат := "ссылкаНаУведомление";
конец;

функция ип_УточнятьТолькоОтправленные : строка;
начало
  Результат := "УточнятьТолькоОтправленныеДокументы";
конец;

функция ип_НеВыбиратьСПринятымРеестром : строка;
начало
  результат := "НеВыбиратьСПринятымРеестром";
конец;

функция ип_НаправлениеОперации : строка;
начало
  результат := "направлениеОперации_";
конец;

функция ип_ТекущийКлассДокумента : строка;
начало
  результат := "ТекущийКлассДокумента";
конец;

функция ип_ИскатьДокументыБезДопОграничений : строка;
начало
  результат := "ИскатьДокументыБезДопОграничений";
конец;

функция тк_Источниковая : целое;
начало
  результат := 1;
конец;

функция тк_Расходная : целое;
начало
  результат := 0;
конец;

функция тк_Доходная : целое;
начало
  результат := 2;
конец;

функция нп_Погашение : целое;
начало
  результат := -1;
конец;

функция нп_Поступление : целое;
начало
  результат := 1;
конец;

функция нк_Расход : целое;
начало
  результат := 1;
конец;

функция нк_Доход : целое;
начало
  результат := 2;
конец;

// Определяем, является ли данный реестр Новосибирским =)
Функция ЭтоНовосибирск : целое;
начало
  Попытка
    Если Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('ЭтоНовосибирск').КакФлаг тогда
      результат := истина
    иначе
      результат := ложь;
  Неудача
    результат := ложь;
  конец;
конец;

// Определяем, требуется ли проверка на БО и ДИ
Функция НужнаПроверкаБОиДИ : целое;
начало
  Попытка
    Если Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('НужнаПроверкаБОиДИ').КакФлаг тогда
      результат := истина
    иначе
      результат := ложь;
  Неудача
    результат := истина;
  конец;
конец;

// Определяем, является ли данный реестр Омским =)
Функция ЭтоОмск : целое;
начало
  Попытка
    Если Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('ЭтоОмск').КакФлаг тогда
      результат := истина
    иначе
      результат := ложь;
  Неудача
    результат := ложь;
  конец;
конец;


Функция ОтключитьЗаполнениеПоляОперация : целое;
начало
  Попытка
    Если Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('ОтключитьЗаполнениеПоляОперация').КакФлаг тогда
      результат := истина
    иначе
      результат := ложь;
  Неудача
    результат := ложь;
  конец;
конец;

Функция РежимЗаменыРсПриПЗК : целое;
начало
  Попытка
    Если Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('ЗаменаРС').КакФлаг тогда
      результат := истина
    иначе
      результат := ложь;
  Неудача
    результат := ложь;
  конец;
конец;


// получить настройку кассовый расход
Функция ИспользоватьКассовыйРасход : целое;
начало
  Попытка
    Если Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('ИспользоватьКассовыйРасход').КакФлаг тогда
      результат := истина
    иначе
      результат := ложь;
  Неудача
    результат := ложь;
  конец;
конец;


Функция СписокКлассовДляКассовогоРасхода : строка;
начало
  Попытка
    результат := Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('СписокКлассовДляКассовогоРасхода').какстрока;
  Неудача
    результат := '';
  конец;
конец;

// Комментарий
функция УточнениеПриСменеЛС : целое;
начало
  Попытка
    Если Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('УточнениеПриСменеЛС').КакФлаг тогда
      результат := истина
    иначе
      результат := ложь;
  Неудача
    результат := ложь;
  конец;
конец;




Функция ПолучитьПризнакНачальногоОстатка : целое;
начало
  Попытка
    результат := Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('ПризнакНачальногоОстатка').КакЦелое;
  Неудача
    результат := -1;
  конец;
конец;



// Определяем, добовлять ИНН получателя в диалог ПЗК или нет
Функция СчетВДиалог : целое;
начало
  Попытка
    Если Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки\Уведомление по ексел').Значение('СчетВДиалог').КакФлаг тогда
      результат := истина
    иначе
      результат := ложь;
  Неудача
    результат := ложь;
  конец;
конец;


Функция ПолучитьСписокКлассовИсключений : Текст;
переменные 
  ткст_СписокКлассовИсключений : текст;
начало
  ткст_СписокКлассовИсключений := СоздатьТекст;
  Попытка
    ткст_СписокКлассовИсключений.РазделенноеЗначение := Реестр.Узел('Бюджет\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\Настройки').Значение('СписокКлассовИсключений').КакСтрока; 
    результат := ткст_СписокКлассовИсключений;
  Неудача
    ткст_СписокКлассовИсключений.РазделенноеЗначение := '';
    результат := ткст_СписокКлассовИсключений;
  конец;
конец;


функция ПостфиксДляКонСостояния: строка;
начало
  результат := "(консостояние)";
конец;

функция ПостфиксДляНачСостояния: строка;
начало
  результат := "(начсостояние)";
конец;

функция кфУФК2009: целое;
начало
  результат := 21;
конец;

// Типы результата работы переноса БО и ДИ

функция т_БезОшибок : целое;
начало
  результат := 0;
конец;

функция т_ОшибкаНетТаблицыСоответствия : целое;
начало
  результат := 1;
конец;

функция т_ОшибкаЕстьНеПеренесенныеБОиДИ : целое;
начало
  результат := 2;
конец;

функция т_ОшибкаНетДанныхИСпользующихБОиДИ : целое;
начало
  результат := 3;
конец;

// Типы вызова макросов
  
функция т_ПередСозданиемЗаголовкаУведомлений : целое;
начало
  результат := -1;
конец;


функция т_СозданиеЗаголовкаУведомлений : целое;
начало
  результат := 0;
конец;

функция т_СозданиеИсходнойКлассификации : целое;
начало
  результат := 1;
конец;

функция т_СозданиеНовойКлассификации : целое;
начало
  результат := 2;
конец;

функция т_СозданиеИсходногоДокументаЗаголовок : целое;
начало
  результат := 3;
конец;

функция т_СозданиеИсходногоДокументаДеталь : целое;
начало
  результат := 4;
конец;

функция т_СозданиеНовогоДокументаЗаголовок : целое;
начало
  результат := 5;
конец;

функция т_СозданиеНовогоДокументаДеталь : целое;
начало
  результат := 6;
конец;

функция т_ПередМодальнымФормированиемУведомления : целое;
начало
  результат := 7;
конец;

функция т_ПослеПоискаИсходныхДокументов : целое;
начало
  результат := 8;
конец;


//новые классификаторы (код бюджетного ассигнования и код расходного обязательства)

функция т_КодБюджетногоАссигнования : целое;
начало
  результат := 90;
конец;

функция т_КодРасходногоОбязательства : целое;
начало
  результат := 91;
конец;



</value>
    <param value="КонстантыДляУведомлений" type="3" name="Export">EGORBUNOV\egorbunov\07.04.2013 13:24:56</param>
    <param value="КонстантыДляУведомлений" type="3" name="version">36.741.00</param>
    <param value="КонстантыДляУведомлений" type="3" name="crc32">$8F4BE995</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ПлатформоЗависимыеФункцииДляУведомлений">включить '\Библиотеки\DataTools.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
//включить '\Макросы\ДляИмпорта.abl';
включить "\Макросы\Отчеты\ПоддержкаПечатныхДокументов";
включить '\Библиотеки\ABLTools.lib';      
включить '\Библиотеки\Documents.lib';                                                
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Output.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Библиотеки\LinkInfo2.lib';

константы
  nl= #13#10;

функция ПолучитьПараметрИзНастроек(Блок, Формат : целое; имяПараметра : строка) : строка;
переменные
  ОВ : ОкноВывода;
начало
  попытка
    результат := GetParamEx(Блок, формат, ИмяПараметра);    
  неудача
    // Убираем вывод сообщения в окно вывода
    //ОВ := ОкноВывода;
    //ОВ.Вывести('ПолучитьПараметр:' + nl + последняяошибка); 
  конец;
конец;

// реализован для совместимости
функция ПолучитьПараметр(Блок, Формат : целое; имяПараметра : строка) : строка;
переменные
  ОВ : ОкноВывода;
начало
  попытка
    результат := GetParamEx(Блок, формат, ИмяПараметра);    
  неудача
    // Убираем вывод сообщения в окно вывода
    //ОВ := ОкноВывода;
    //ОВ.Вывести('ПолучитьПараметр:' + nl + последняяошибка); 
  конец;
конец;


функция УстановитьПараметр(Блок, Формат : целое; имяПараметра, значениеПараметра : строка);
начало
  SetParamEx(Блок, Формат, имяПараметра, значениеПараметра);
конец;

функция СтатусДокумента_Проведен : целое;
начало
  результат := сд_Проведен;
конец;

функция ДобавитьРасходнуюКлассификациюВДиалог(Диалог: ДиалогПараметров);
начало
  
  Диалог.ДобавитьКлассификатор("КВСР",тк_КВСР,0);
  Диалог.ДобавитьКлассификатор("КФСР",тк_КФСР,0);
  Диалог.ДобавитьКлассификатор("КВР",тк_КВР,0);
  Диалог.ДобавитьКлассификатор("КЦСР",тк_КЦСР,0);
  Диалог.ДобавитьКлассификатор("КЭСР",тк_КЭСР,0);
  Диалог.ДобавитьКлассификатор("СубКЭСР",тк_СубКЭСР,0);
  
конец;

функция СчитатьРасходнуюКлассификациюИзДиалога(Диалог: ДиалогПараметров; Коллекция: IVariables);
переменные
  ПараметрыРазыменовки: IVariables;
  стрПарам : строка;
начало
  // проверяем если есть параметр - тогда запихиваем его в коллекцию
  // так как почему то метод ПараметрСуществует не работает будем заключать всё операторы в попытку неудачу
  ПараметрыРазыменовки := Интерфейс(Mapper).ЗапроситьИнтерфейс("{6BB402A0-922E-11D5-9B6E-5254AB1A8A09}");
  если ЕстьМногобюджетность тогда
    ПараметрыРазыменовки.Значение("Знач_Бюджет") := Коллекция.Значение('КодБюджета');
  попытка
    стрПарам := ЗаменитьСтроку(Диалог.Значение(тк_КВСР),'.','');
    Коллекция.Значение('КВСР') := Разыменовать("КВСР.ключ", стрПарам);
  неудача 
  конец;
  попытка Коллекция.Значение('КФСР') := Диалог.Значение(тк_КФСР); неудача конец;
  попытка 
    стрПарам := ЗаменитьСтроку(Диалог.Значение(тк_КВР),'.','');
    Коллекция.Значение('КВР') := Разыменовать("КВР.ключ", стрПарам); 
  неудача 
  конец;
  попытка
    стрПарам := ЗаменитьСтроку(Диалог.Значение(тк_КЦСР),'.',''); 
    Коллекция.Значение('КЦСР') := Разыменовать("КЦСР.ключ", стрПарам);
  неудача 
  конец;
  попытка Коллекция.Значение('КЭСР') := Диалог.Значение(тк_КЭСР); неудача конец;
  попытка Коллекция.Значение('СубКЭСР') := Диалог.Значение(тк_СубКЭСР); неудача конец;
конец;

функция ДобавитьБюджетВДиалог(Диалог: ДиалогПараметров);
начало
  Если ЕстьМногобюджетность тогда  
  начало
    // создаем параметр Бюджет в ручную
    Диалог.Добавить("Бюджет","Бюджет", 0);
    Диалог.Добавить("","RefBudget", 0).Видимость := ложь;
    // значения по умолчанию
    Диалог.Значение("Бюджет") := разыменовать("Бюджет.Имя",целаяконстанта(-1,3));
    Диалог.Значение("RefBudget") := целаяконстанта(-1,3);
    
  конец;  
конец;

функция СчитатьБюджетИзДиалога(Диалог: ДиалогПараметров; Коллекция: IVariables);
начало
  Если ЕстьМногоБюджетность тогда 
    Если (Диалог.Значение("Бюджет")&lt;&gt;"") и (Диалог.Значение("RefBudget")&lt;&gt;0) тогда 
      Коллекция.Значение('КодБюджета') := Диалог.Значение("RefBudget");
конец;

функция ДобавитьОрганизациюПлательщикаВДиалог(Диалог: ДиалогПараметров);
начало
    Диалог.ДобавитьОрганизацию("Плательщик", "GroupPayer.ACC", 0).ТолькоЧтение := истина;
    Диалог.ДобавитьОрганизацию("ИНН", "GroupPayer.INN", 1);
    Диалог.ДобавитьОрганизацию("КПП", "GroupPayer.KPP", 1).ТолькоЧтение := истина;
    Диалог.ДобавитьОрганизацию("Наим. организации", "GroupPayer.ORG_NAME", 1).ТолькоЧтение := истина;
    Диалог.ДобавитьОрганизацию("", "GroupPayer.ORG_REF",0);
    Диалог.ДобавитьСчет("Счет", "GroupPayer.ACC", 1).ТолькоЧтение := истина;
    Диалог.ДобавитьСчет("", "GroupPayer.ACC_REF",0);
конец;

функция СчитатьОрганизациюПлательщикаИзДиалога(Диалог: ДиалогПараметров; Коллекция: IVariables);
начало
  Коллекция.Значение('СчетПлат') := Диалог.Значение('GroupPayer.ACC_REF');
конец;

функция ДобавитьОрганизациюПолучателяВДиалог(Диалог: ДиалогПараметров);
начало
    Диалог.ДобавитьОрганизацию("Получатель", "GroupAcceptor.ACC", 0).ТолькоЧтение := истина;
    Диалог.ДобавитьОрганизацию("ИНН", "GroupAcceptor.INN", 1);
    Диалог.ДобавитьОрганизацию("КПП", "GroupAcceptor.KPP", 1).ТолькоЧтение := истина;
    Диалог.ДобавитьОрганизацию("Наим. организации", "GroupAcceptor.ORG_NAME", 1).ТолькоЧтение := истина;
    Диалог.ДобавитьОрганизацию("", "GroupAcceptor.ORG_REF",0);
    Диалог.ДобавитьСчет("Счет", "GroupAcceptor.ACC", 1).ТолькоЧтение := истина;
    Диалог.ДобавитьСчет("", "GroupAcceptor.ACC_REF",0);
конец;

функция СчитатьОрганизациюПолучателяИзДиалога(Диалог: ДиалогПараметров; Коллекция: IVariables);
начало
  Коллекция.Значение('СчетПолуч') := Диалог.Значение('GroupAcceptor.ACC_REF');
конец;


функция ДобавитьСчетФОВДиалог (Диалог: ДиалогПараметров);
начало
  Диалог.ДобавитьСчетФО("Счет ФО","AccountFO.Acc",0);
  Диалог.ДобавитьСчетФО("",'AccountFO.DFACC_REF',0);
  Диалог.ДобавитьСчетФО("",'AccountFO.BUDGETREF',0).Видимость := ложь;
  // по умолчанию единый счет бюджета
  Диалог.Значение("AccountFO.Acc") := разыменовать("Р/с.Имя",разыменовать("Бюджет.ЕдиныйСчет",целаяконстанта(-1,3)));
  Диалог.Значение("AccountFO.DFACC_REF") :=разыменовать("Бюджет.ЕдиныйСчет",целаяконстанта(-1,3));
конец;

функция СчитатьСчетФОИзДиалога(Диалог: ДиалогПараметров; Коллекция: IVariables);
начало
  если  Диалог.Значение('AccountFO.Acc') &lt;&gt; '' тогда
    Коллекция.Значение('СчетФО') := Диалог.Значение('AccountFO.DFACC_REF')
  иначе 
    Коллекция.Значение('СчетФО') := '';
конец;




функция РассчитатьСтарыеОбластиФорматирования(ссЗаголовки, ссДетализация: СтатическиеДанные; Ограничения: Ivariables; РезультирующиеПоля: строка);
переменные
  Автозамена: IVariables;
начало
  Ограничения.Значение("ссПлатежкиФорм") := ссЗаголовки;
  Ограничения.Значение("ссДетальКлассификацийФорм") := ссДетализация;
  
  ОпределитьПризнакиПП(Ограничения);
  // заменяем запрещенные для редактора областей символы, потом их восстановим
  Автозамена := CreateVariables;
  Автозамена.Values("{") := "&amp;фл";
  Автозамена.Values("}") := "&amp;фп";
  ЗаменитьСимволыВЗначенииПоля(ссЗаголовки,"Примечание", Автозамена, нет);
  FillPayDoc(ссЗаголовки, ссДетализация, Ограничения.Значение("Признаки"), РезультирующиеПоля);
конец;

функция ДатаНаПолучитьТекст(П: Поле; Ткст: Строка; Показывать: целое);
начало
  если не П.Пустое тогда 
  начало
    попытка
      Ткст := ФорматироватьВремя('DD.MM.YYYY', РасширДатаВОбычную(П.КакЦелое));
    неудача
    конец;
  конец
  иначе 
    Ткст := "";
конец;

Функция ИнициализацияСеткиДляПоискаЗаголовкаДоходов(СеткаНаФорме: СеткаДанных);
// функция для настройки вида СеткиНаФорме - какие столбцы видимы, какие нет, заголовки столбцов и т.п.
переменные 
  цц: целое;
  вн:внешнийобъект;
начало
// все столбцы сделаем доступными только для чтения
  от цц := 0 до СеткаНаФорме.КоличествоКолонок - 1 делать 
  начало  
     СеткаНаФорме.Колонка(цц).ТолькоДляЧтения := Да;
     вн := СеткаНаФорме.Колонка(цц).DefProps('Title');
     вн.DefProps('Color') := 15 или $80000000;
  конец;
  СеткаНаФорме.КолонкаПоИмени("BuildDate").Заголовок := "Дата ввода";
  СеткаНаФорме.КолонкаПоИмени("BuildDate").Ширина := 65;
  СеткаНаФорме.КолонкаПоИмени("BuildDate").Поле.НаПолучитьТекст := Address("ДатаНаПолучитьТекст");
                                       
  СеткаНаФорме.КолонкаПоИмени("AcceptDate").Заголовок := "Дата принятия";
  СеткаНаФорме.КолонкаПоИмени("AcceptDate").Ширина := 81;
  СеткаНаФорме.КолонкаПоИмени("AcceptDate").Поле.НаПолучитьТекст := Address("ДатаНаПолучитьТекст");
  
  СеткаНаФорме.КолонкаПоИмени("ACC").Заголовок := "Счет ФО";
  СеткаНаФорме.КолонкаПоИмени("ACC").Ширина := 130;
  СеткаНаФорме.КолонкаПоИмени("DocNumber").Заголовок := "Номер документа"; 
  СеткаНаФорме.КолонкаПоИмени("DocNumber").Ширина := 60;  
  СеткаНаФорме.КолонкаПоИмени("ReestrNumber").Заголовок := "Номер реестра фед. ср.";
  СеткаНаФорме.КолонкаПоИмени("ReestrNumber").Ширина := 60;
  СеткаНаФорме.КолонкаПоИмени("ReestrDate").Заголовок := "Дата реестра фед. ср.";
  СеткаНаФорме.КолонкаПоИмени("ReestrDate").Ширина := 60;
  СеткаНаФорме.КолонкаПоИмени("CreaterUser").Заголовок := "Автор";
  СеткаНаФорме.КолонкаПоИмени("CreaterUser").Ширина := 60;
  СеткаНаФорме.КолонкаПоИмени("CreateDate").Заголовок := "Дата создания";
  СеткаНаФорме.КолонкаПоИмени("CreateDate").Ширина := 110;
  СеткаНаФорме.КолонкаПоИмени("UpdaterUser").Заголовок := "Изменил";
  СеткаНаФорме.КолонкаПоИмени("UpdaterUser").Ширина := 60;
  СеткаНаФорме.КолонкаПоИмени("Updatedate").Заголовок := "Дата изменения";
  СеткаНаФорме.КолонкаПоИмени("Updatedate").Ширина := 110;
  
  СеткаНаФорме.КолонкаПоИмени("ID").Видима := нет;
  СеткаНаФорме.КолонкаПоИмени("SENDERID").Видима := нет;
  
  СеткаНаФорме.Выравнивание := Выравнивание_Везде;        
конец;  


функция ВернутьЗаголовокДоходов(Счет,Дата:целое; ДатаРеестра,НомерРеестра: Строка): целое;
переменные
  ссВспом : СтатическиеДанные;
  ФедеральныеСредства, ПустаяДата: Целое;
  Форма: ФормаДиалога;                  // форма, в которую будут выведены полученные данные
  СеткаНаФорме: СеткаДанных;            // сетка на Форме, в которую будут выведены данные
начало
  ФедеральныеСредства := (ДатаРеестра&lt;&gt;'')или(НомерРеестра&lt;&gt;'');
  если Дата = 0 тогда
    ПустаяДата := Истина
  иначе
    ПустаяДата := Ложь;  
  ссВспом := СоздатьСтатическиеДанные;
  ссВспом.СоединитьБД;
  ссВспом.Запрос := "[PumpData]"+
  "{select q.ID, oa.ACC, q.BuildDate BuildDate,q.AcceptDate, q.DocNumber, q.ReestrNumber,q.ReestrDate,q.CreaterUser,q.CreateDate,q.UpdaterUser,q.Updatedate,q.SenderID from QuotesTitle q
      left join ORG_ACCOUNTS oa  on (q.IncAccount = oa.ID)
      where (q.progindex=45)and(q.INCACCOUNT=@ACC)  and (q.SENDERID is null) and (@AcceptDateConstr)  and (@ReestrConstr) @UserConstraint @BuildDate}";
  // дату принятия тоже нужно учитывать.
  // реализовано по аналогии с функциями ЭО
  если (Дата&lt;&gt;0) тогда
    ссВспом.Параметр("AcceptDateConstr") := "q.AcceptDate = "+ЦелоеВСтроку(Дата)
  иначе
    ссВспом.Параметр("AcceptDateConstr") := "q.AcceptDate is null";
  если (GetParamEx(dbElExch,кфОбщий,"УчитыватьАвтора") &lt;&gt; 0) тогда 
    ссВспом.Параметр("UserConstraint") := "and (q.CreaterUser ='"+ ТекущийПользователь +"')";
  ссВспом.Параметр("ACC") := Счет;

  если ПустаяДата тогда
    ссВспом.Параметр("BUILDDATE") := ""
  иначе
    ссВспом.Параметр("BUILDDATE") := "and (q.BuildDate = "+ЦелоеВСтроку(Дата) +")";
  
  Если ФедеральныеСредства тогда начало
    ссВспом.Параметр("ReestrConstr") := "(q.REESTRNUMBER = '"+НомерРеестра+"')and(q.REESTRDATE = "+ДатаРеестра+")";
  конец иначе начало
    ссВспом.Параметр("ReestrConstr") := "((q.REESTRNUMBER is null)or(q.REESTRNUMBER = ''))and(q.REESTRDATE is null)";
  конец;
  ссВспом.Открыть;
  Результат := Нет;
  если  ссВспом.ЧислоЗаписей &gt; 1 тогда
  начало
       // Создадим форму
      Форма := СоздатьФормуДиалога("Выберите заголовок доходов для вставки и нажмите 'Ок', либо нажмите 'Отмена' для добавления нового заголовка", 870, 200, Да);
      попытка
        СеткаНаФорме := СоздатьСеткуДанных(ссВспом, Форма);
        ИнициализацияСеткиДляПоискаЗаголовкаДоходов(СеткаНаФорме);           //задание столбцов на сетке
        если Форма.Показать=Результат_ОК тогда
        начало       

           Результат := СеткаНаФорме.Данные.Поле("ID").КакЦелое;  
        конец; 
      обязательно
        УдалитьОбъект(СеткаНаФорме,Форма);  
      конец;           
  конец
  иначе
  начало
    если ссВспом.ЧислоЗаписей = 1 тогда
      результат := ссВспом.Поле("ID").КакЦелое
  конец;      
  УдалитьОбъект(ссВспом);  
конец;


функция ИспользуетсяМногоБюджетность: целое;
начало
  результат := естьМногобюджетность;
конец;

функция БлокОбменаСБанком: целое;
начало
  результат := dbElExch;
конец;

функция ФорматУФК: целое;
начало
  результат := кфУФК2006;
конец;



</value>
    <param value="ПлатформоЗависимыеФункцииДляУведомлений" type="3" name="Export">EGORBUNOV\egorbunov\10.04.2013 17:56:56</param>
    <param value="ПлатформоЗависимыеФункцииДляУведомлений" type="3" name="version">36.741.00</param>
    <param value="ПлатформоЗависимыеФункцииДляУведомлений" type="3" name="crc32">$4E6AF21D</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="СервисныеФункцииДляУведомлений">включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Библиотеки\Documents.lib';
включить "\Библиотеки\ModalFormEx.lib";
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений';


включить 'project';

константы
  ПутьКПараметрам = "Уведомления об уточнении\ЗначенияПараметровДиалога";  
  ПолныйПутьКПараметрам = "%root%\Параметры\Уведомления об уточнении\ЗначенияПараметровДиалога";

// todo переделать передаваемый параметр - нужно передавать просто значение
функция ОпределитьНаправлениеИсточниковойКлассификации(ссИсходныеДокументы : СтатическиеДанные) : Целое;
переменные
  сс_Направление : СтатическиеДанные;
начало
  сс_Направление := СоздатьСтатическиеДанные;
  сс_Направление.СоединитьБД;
  попытка
    сс_Направление.Запрос := "[PumpData] {Select ifs.Direction from InnerFinSource ifs where (1=1) and (ifs.id = @Id)}";
    сс_Направление.Параметр('Id') := ссИсходныеДокументы.Поле('ifs').КакСтрока;
    сс_Направление.Открыть;
    Результат := сс_Направление.Поле('Direction').КакЦелое;
    выбрать результат из
      -1: результат := 1;
       1: результат := 0;
    конец;
  неудача
  конец;
конец;

// возвращаем часть исходной строки до переданного символа
функция ПолучитьЗначениеДоСимвола(исходнаяСтрока, символ : строка) : строка;
переменные
  позСимвол : целое;
начало
  результат := исходнаяСтрока;
  позСимвол := Позиция(символ, исходнаяСтрока);
  если позСимвол &gt; 0 тогда 
    результат := Подстрока(исходнаяСтрока, 1, позСимвол - 1);
конец;

// для контроля сохранения
функция СохранитьИзменения_(ссДанные : СтатическиеДанные);
начало
  попытка
    ссДанные.СохранитьИзменения;
  неудача
    ОтменитьТранзакцию;
    ВызватьОшибку('Произошла ошибка при сохранении в базу данных'+ #13#10 +ПоследняяОшибка);    
  конец;
конец;

// функция формирует ограничение через или на основе двух строк  
функция ОграничениеЧерезИЛИ(ПервоеОграничение, ВтороеОграничение : строка) : строка;
начало
  Результат := 'and(  ( (1=1)  ' + ПервоеОграничение + ') or ( (1=1) ' + ВтороеОграничение + ') )';  
конец; 

функция ПолучитьТекущую(ДанныеРезультат : СтатическиеДанные; Данные : СтатическиеДанные);
начало
  ДанныеРезультат := СоздатьСтатическиеДанные; 
  ДанныеРезультат.ПрисвоитьПоля(Данные);
  ДанныеРезультат.Открыть;
  ДанныеРезультат.СкопироватьЗапись(1, Данные);
  ДанныеРезультат.Поле('ID').КакЦелое := Данные.Поле('ID').КакЦелое;
конец;

// в стандартной функции, которая описана в печатных документах не копировалось ИД при копировании одной записи, 
// поэтому пришлось написать свою функцию 
функция ПолучитьВыделенныеИлиТекущую(ДанныеРезультат : СтатическиеДанные; СеткаВвода : СеткаДанных; Данные : СтатическиеДанные);
начало
  ЕСЛИ СеткаВвода.ЕстьВыделенныеСтроки тогда 
    ДанныеРезультат := СеткаВвода.ПолучитьВыделенныеСтроки
  ИНАЧЕ
    ПолучитьТекущую(ДанныеРезультат, Данные);
конец; 

функция ПолучитьТипИнтерфейса(КодИнтерфейса : целое) : целое;
начало
  Выбрать КодИнтерфейса из
    5501 : Результат := ту_УточнениеПоступлений;
    5502 : Результат := ту_УточнениеВыбытий;
  конец;
конец;

функция ПолучитьКодИнтерфейса(ТипИнтерфейса : целое) : целое;
начало
  Выбрать ТипИнтерфейса из
    ту_УточнениеПоступлений : Результат := 5501;
    ту_УточнениеВыбытий : Результат := 5502;
  конец;
конец;


функция ФорматироватьКодИнтерфейса(Код : целое) : строка;
начало
  Результат := ФорматироватьКлассификатор(Код, '00.00');
конец;

// по ид деталям получаем коды заголовков. Так как система состояний у нас пока предусмотрена только для казначейства
функция НайтиИдЗаголовков(ПП_ИД : строка; Класс : целое) : строка;
переменные
  ссЗаголовки : СтатическиеДанные;
начало
  Результат := '';
  Если не ВходитВГруппу(Класс, группа_Казначейство) тогда 
   ВызватьОшибку('НайтиИдЗаголовков: не предусмотрена обработка для классов, не принадлежащих казначейству');
  ссЗаголовки := СоздатьСтатическиеДанные;
  ссЗаголовки.СоединитьБД;
  попытка
    ссЗаголовки.Запрос := '[PumpData]{select ffc.id from FacialFinCaption ffc
                                          inner join FacialFinDetail ffd on (ffd.RecordIndex=ffc.id) 
                                       where ffd.id in (~var_id)}'; 
    ссЗаголовки.Параметр('var_id') := ПП_ИД;
    ссЗаголовки.Открыть;
    Если ссЗаголовки.RecordCount&lt;&gt;0 тогда 
      Результат := GetLimitStr(ссЗаголовки, 'ID'); 
  обязательно
    УдалитьОбъект(ссЗаголовки);
  конец; 
конец;

//для системы состояний
Функция ВыполнитьПереход(ПП_ИД : Строка; ИмяДействия : Строка; Класс,  ДатаПринятия, ПризнакПринятия : целое);
переменные
  ЛокКоллекция  : IVariables; 
начало
  если ИмяДействия &lt;&gt; "" тогда
    начало
      ЛокКоллекция := CreateVariables();
      попытка
        ЛокКоллекция.Values(stVarIsAdmin) := "1";
        ЛокКоллекция.Values(stVarIntfCode) := ПолучитьКодДокументаПоКлассу(Класс); 
        ЛокКоллекция.Values(stVarActionName) := ИмяДействия;
        ЛокКоллекция.Values(stVarUserName) := ТекущийПользователь;
        ЛокКоллекция.Values("КодДокумента") := НайтиИдЗаголовков(ПП_ИД, Класс);
        ЛокКоллекция.Values(ИмяПараметра_ПризнакПринятия) := ПризнакПринятия;
        ЛокКоллекция.Values(ИмяПараметра_ДатаПринятия) := ДатаПринятия; 
       //обработка платежных поручений с выборкой из базы      
        MakeAction(ЛокКоллекция); // в коллекции только ограничение, данных нет
        если целое(ЛокКоллекция.Values(stDocNotChangeState)) &lt;&gt; целое(ЛокКоллекция.Values(stDocChangeState)) тогда
          ВызватьОшибку("Не удалось выполнить действие " + ИмяДействия);
      обязательно
        ЛокКоллекция.Clear;
        Интерфейс(ЛокКоллекция).Освободить;
      конец
    конец;    
конец;

// разбиваем список ИД по 256 значения 
функция ПолучитьОграничениеПоСпискуИд(ИмяПоля : строка; СписокИд : Текст; ИспользоватьНЕ : целое) : строка;
переменные
  Счетчик : Целое;
  Ст, Оператор: строка;
начало
  Результат := '';
  Если ИспользоватьНЕ тогда 
    Оператор := ' and not ( ' 
  иначе 
    Оператор := ' and ( ';
  От Счетчик := 0 до СписокИд.Количество-1 делать 
  начало
     Ст := Ст + ',' + СписокИд.стр(Счетчик);
     Если (Счетчик+1) ост 256 = 0 тогда
       начало
         ст := Подстрока(ст, 2, Длина(Ст)-1);
         Результат := Результат +  Оператор + ' (' + ИмяПоля + ' in (' + ст + ') )' + #13#10;
         ст := '';
         Оператор := ' or ';       
       конец;
  конец;
  
  Если ст&lt;&gt;'' тогда 
    начало
      ст := Подстрока(ст, 2, Длина(Ст)-1);
      Результат := Результат + Оператор + ' (' + ИмяПоля + ' in (' + ст + ') )';
    конец;
  
  Если (Результат&lt;&gt;'') тогда 
    Результат := Результат + ')';
конец;

// переоткрываем заголовок уведомления (чтобы отобразились наши изменения)
// и ставим курсор на нужное место
функция ПереоткрытьЗаголовок(ФормаВводаИнтерфейса : ФормаВвода; КодЗаписи : целое);
начало
  // нажимаем на выполнить
  /$если Бюджет
    DoPrimary(получитьтекущийинтерфейс);
  /$иначе  
    формаВводаИнтерфейса.Заголовки.Открыть;
  /$конец  
 
  // а теперь позиционируем курсор
  ФормаВводаИнтерфейса.Заголовки.Таблица.Локализовать('id', КодЗаписи, 0 );
конец;

функция ПереоткрытьДетализацию(ФормаВводаИнтерфейса : ФормаВвода; КодЗаписи : целое);
начало
  формаВводаИнтерфейса.Детализация.Открыть;
  // а теперь позиционируем курсор
  ФормаВводаИнтерфейса.Заголовки.Таблица.Локализовать('id', КодЗаписи, 0 );

конец;


функция ЕстьРасходнаяВИсхКлс(ТаблицаЗамены : СтатическиеДанные) :  целое;
начало
  Результат := Ложь;
  Если не ТаблицаЗамены.Поле('SourceKVSR').Пустое тогда Результат := Истина иначе 
    Если не ТаблицаЗамены.Поле('SourceKFSR').Пустое тогда Результат := Истина иначе
      Если не ТаблицаЗамены.Поле('SourceKCSR').Пустое тогда Результат := Истина иначе
        Если не ТаблицаЗамены.Поле('SourceKVR').Пустое тогда Результат := Истина иначе
          Если не ТаблицаЗамены.Поле('SourceKESR').Пустое тогда Результат := Истина; 
конец;


функция ЕстьДоходнаяКлассификацияВИсхКлс(ТаблицаЗамены : СтатическиеДанные) :  целое;
начало
  Результат := Ложь;
  Если не ТаблицаЗамены.Поле('SourceKD').Пустое тогда Результат := Истина;
конец;

функция ЕстьИсточниковаяКлассификацияВИсхКлс(ТаблицаЗамены : СтатическиеДанные) :  целое;
начало
  Результат := Ложь;
  Если не ТаблицаЗамены.Поле('SourceIFS').Пустое тогда Результат := Истина;
конец;

функция ЕстьРасходнаяВНовойКлс(ТаблицаЗамены : СтатическиеДанные) :  целое;
начало
  Результат := Ложь;
  Если не ТаблицаЗамены.Поле('DestKVSR').Пустое тогда Результат := Истина иначе 
    Если не ТаблицаЗамены.Поле('DestKFSR').Пустое тогда Результат := Истина иначе
      Если не ТаблицаЗамены.Поле('DestKCSR').Пустое тогда Результат := Истина иначе
        Если не ТаблицаЗамены.Поле('DestKVR').Пустое тогда Результат := Истина иначе
          Если не ТаблицаЗамены.Поле('DestKESR').Пустое тогда Результат := Истина; 
конец;

функция ЕстьДоходнаяКлассификацияВНовойКлс(ТаблицаЗамены : СтатическиеДанные) :  целое;
начало
  Результат := Ложь;
  Если не ТаблицаЗамены.Поле('DestKD').Пустое тогда Результат := Истина;
конец;

функция ЕстьИсточниковаяКлассификацияВНовойКлс(ТаблицаЗамены : СтатическиеДанные) :  целое;
начало
  Результат := Ложь;
  Если не ТаблицаЗамены.Поле('DestIFS').Пустое тогда Результат := Истина;
конец;

// если МаппингКлассификаторов нуловый, тогда создаём текст на основе маппинга
// Если ЗаменятьНаПустые равно истина тогда ставим новое значение даже если оно пустое  
Функция ЗаменитьПоляПоМаппингу(сс_Откуда, сс_Куда: СтатическиеДанные; префикс_Откуда, префикс_Куда, постфикс_Откуда, постфикс_Куда : строка; МаппингКлассификаторов: Текст; Маппинг : строка; ЗаменятьНаПустые : целое);
переменные
  Индекс, мыСоздалиТекст : целое;
  ИмяПоляОткуда, ИмяПоляКуда, ПолеКпп, ПолеИнн : строка;
  ткстМаппингКлассификаторов : Текст;
начало
  мыСоздалиТекст := Ложь;
  попытка
    ЕСЛИ МаппингКлассификаторов &lt;&gt; nil тогда 
      ткстМаппингКлассификаторов := МаппингКлассификаторов
    ИНАЧЕ 
      начало
        мыСоздалиТекст := Истина;
        ткстМаппингКлассификаторов := СоздатьТекст;
        ткстМаппингКлассификаторов.РазделенноеЗначение := Маппинг;
      конец;
    //Бежим по маппингу и проставляем значения полей
    от Индекс := 0 до ткстМаппингКлассификаторов.Количество-1 делать
    начало
      ИмяПоляОткуда := ткстМаппингКлассификаторов.ИмяПараметра(Индекс);
      ИмяПоляКуда := префикс_куда + ткстМаппингКлассификаторов.ЗначениеПараметра(ИмяПоляОткуда) + постфикс_Куда;
      ИмяПоляОткуда :=  префикс_Откуда + ИмяПоляОткуда + постфикс_Откуда;
        если ((не сс_Откуда.Поле(ИмяПоляОткуда).Пустое) и ( сс_Откуда.Поле(ИмяПоляОткуда).КакСтрока &lt;&gt; '') ) или ЗаменятьНаПустые  тогда 
          сс_куда.Поле(ИмяПоляКуда).КакСтрока := сс_Откуда.Поле(ИмяПоляОткуда).КакСтрока
        иначе
        начало
          ПолеКпп := префикс_Откуда + 'OrgInn20' + постфикс_Откуда;
          ПолеИнн := префикс_Откуда + 'OrgInn' + постфикс_Откуда;
          // в новых форматах поле инн и кпп не нужно заполнять нулями (так как они стали необязательными) - поэтому следующие две строчки закоментированы
          //если ПолеКпп = ИмяПоляОткуда тогда сс_куда.Поле(ИмяПоляКуда).КакСтрока := '000000000';
          //если ПолеИнн = ИмяПоляОткуда тогда сс_Куда.Поле(ИмяПоляКуда).КакСтрока := '0';
        конец;  
    конец; // конец маппинга классификаторов
  обязательно
    Если мыСоздалиТекст тогда
      УдалитьОбъект(ткстМаппингКлассификаторов);
  конец;  
конец;

функция РазыменоватьНаправлениеОперации(НаправлениеОперации : целое) : строка;
начало
  Результат := '';
  Выбрать НаправлениеОперации из
    0 : Результат := 'Прямая операция';
    1 : Результат := 'Уточнение расхода';
    2 : Результат := 'Распределение ОФ';
    3 : Результат := 'Отзывающая операция'; 
  конец;
конец;

функция КодНаправленияОперацииПоНаименованию(НаправлениеОперации : строка) : целое;
начало
  Если НаправлениеОперации = 'Прямая операция' тогда Результат := 0 иначе 
    Если НаправлениеОперации = 'Уточнение расхода' тогда Результат := 1 иначе
      Если НаправлениеОперации = 'Распределение ОФ' тогда Результат := 2 иначе
        Если НаправлениеОперации = 'Отзывающая операция' тогда Результат := 3 
          иначе 
            ВызватьОшибку('КодНаправленияОперацииПоНаименованию : Неизвестное направление операции - ' + НаправлениеОперации);      
конец;

// это чтобы не ругалась если дата пустая бужет
функция РасширДатаВОбычную_(Дата : целое) : целое;
начало
  Если Дата&lt;&gt;0 тогда 
    результат := РасширДатаВОбычную(Дата)
  иначе 
    результат := 0;
конец;

функция СоздатьСтатикСет : СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  Результат.СоединитьБД;
конец;

функция СоздатьСтатикСетРасш(СтатикСетДляКопированияПолей : СтатическиеДанные; Запрос : строка) : СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  Если СтатикСетДляКопированияПолей &lt;&gt; nil тогда
    Результат.ПрисвоитьПоля(СтатикСетДляКопированияПолей);
  Результат.Открыть;
  Результат.СоединитьБД;
  Результат.CachedUpdates := Истина;
  Результат.Запрос := Запрос;
конец;

// убираем все пробелы в строке
функция УбратьВсеПробелы(Исходник : строка) : строка;
переменные
  ст_Врем, ст_Врем2 : строка;
  Счетчик, ДлинаСтроки : целое;
начало
  ст_Врем := УбратьПробелы(Исходник);
  Результат := ст_Врем;
 //  Теперь идём и проверяем если символ пробел то тогда его не копируем в результирующую строку, 
 //  иначе копируем
  ДлинаСтроки := Длина(ст_Врем);
  Счетчик := 1;
  ст_Врем2 := '';
  Пока Счетчик &lt;= ДлинаСтроки делать 
    начало
      Если ст_Врем[Счетчик] &lt;&gt; ' ' тогда ст_Врем2 := ст_Врем2 + ст_Врем[Счетчик];  
      Счетчик := Счетчик+1;
    конец;
  Результат := ст_Врем2;
конец;

функция ПолучитьСсылкуПоСчету(Счет : строка) : строка;
переменные
  ссСчет : СтатическиеДанные;
начало
  Результат := '';
  Если Счет&lt;&gt; '' тогда начало 
      ссСчет := СоздатьСтатическиеДанные;
      Попытка
        ссСчет.соединитьБД;
        ссСчет.Запрос := "[Pumpdata]{select oa.id Acc_Ref from Org_Accounts oa where oa.Acc='~val_Acc'}";
        ссСчет.Параметр('val_Acc') := Счет;
        ссСчет.Открыть;
        Если ссСчет.RecordCount&lt;&gt;0 тогда Результат := ссСчет.Поле('Acc_Ref').КакЦелое;
      Обязательно
        УдалитьОБъект(ссСчет);
      конец;
  конец; 
конец;

функция РазыменоватьТипКлассификации(ТИпКлассификации : целое) : строка;
начало
  Выбрать ТипКлассификации из 
    0 : Результат := 'Расходная';
    1 : Результат := 'Источниковая';
    2 : Результат := 'Доходная';
  конец;   
конец;

// обнуляем классификацию по списку
функция ОбнулитьПоляПоСписку(сс_ИсходныеДокументы : СтатическиеДанные; ст_СписокКлассификаторов : строка);
переменные 
 ткст_СписокКлс : Текст;
 Сч : целое; 
начало
  ткст_СписокКлс := СоздатьТекст;
  ткст_СписокКлс.РазделенноеЗначение := ст_СписокКлассификаторов;
  Попытка
    От Сч :=  0 до (ткст_СписокКлс.Количество-1) делать 
      сс_ИсходныеДокументы.Поле(ткст_СписокКлс.Стр(сч)).КакСтрока := '';
  Обязательно
    УдалитьОбъект(ткст_СписокКлс);
  конец;
конец;

функция ВернутьСписокЗначенийПоля(ссДанные : СтатическиеДанные; имяПоля : строка) : строка;
переменные 
  поз: целое;
  ткстСписок: текст;
начало
  попытка
    Результат := GetLimitStr(ссДанные, имяПоля);
    //удаляем символы с нулом
    ткстСписок := СоздатьТекст;
    ткстСПисок.РАзделенноеЗначение := результат;
    поз := ткстСПисок.Поиск("Null");
    если поз &lt;&gt; -1 тогда
     ткстСПисок.Удалить(поз);
    результат := ткстСПисок.РАзделенноеЗначение;
    Если (Результат='') тогда 
      Результат := '-1';
      
  неудача
    Результат := "-1";  
  конец;  
конец;

// проверяется если есть в списке в ИмяПараметра значение - то ничего не делается, иначе добавляется к содержимому параметра
функция ДобавитьИдВСписок(Список : Текст; ИмяПараметра, Значение : целое);
переменные
  ПараметрЗначение, ПараметрЛокально : строка;
начало
  ПараметрЛокально := ИмяПараметра;
  //Если у нас параметр - входит в группу вп - то присваиваем ему стандартный прогиндекс вп
  Если ф_ЭтоВП(ПараметрЛокально) тогда 
    ПараметрЛокально := Класс_ВнутренниеПереброскиРасходов;
  ПараметрЗначение := Список.ЗначениеПараметра(ПараметрЛокально);
  Если Позиция(Значение, ПараметрЗначение) = 0 тогда 
    начало
      Если ПараметрЗначение = '' тогда 
        ПараметрЗначение := ЦелоеВСтроку(Значение)
      иначе
        ПараметрЗначение := ПараметрЗначение + ',' + ЦелоеВСтроку(Значение);
      Список.ЗначениеПараметра(ПараметрЛокально) := ПараметрЗначение;         
    конец; 
конец;

//Используется в УРМ для получения информации о клиенте. В бюджете возвращает пустую строку
функция ПолучитьДанныеУдКлиента(ИмяПоля: строка): строка;
переменные
  сд: СтатическиеДанные;
начало
  если ЭтоУРМ тогда
  начало
    сд := СоздатьСтатическиеДанные;
    попытка
      сд.СоединитьБД;
      сд.Запрос := "[PumpData]{select * from RemoteClient}";
      сд.Открыть;
      если сд.ЧислоЗаписей &lt;&gt; 1 тогда
        ВозбудитьОшибку("Ошибка чтения данных уд. клиента (RecordCount &lt;&gt; 1)");
      результат := сд.ПолеПоИмени(ИмяПоля).КакСтрока;
    обязательно
      УдалитьОбъект(сд);
    конец;  
  конец
  иначе
    результат := "";   
конец;

// Возвращает начальн0е состояние документа скодом КодИнтерфейса
// в качестве КодаИнтерфейса можно передавать прогиндексы уведомлений
функция ПолучитьНачальноеСостояние(КодИнтерфейса: целое): целое;
переменные
  Ф: формаВвода;
  коллекция: ivariables;
начало
  Ф := ПолучитьФОрмуВвода;
  коллекция := CreateVariables;
  коллекция.Значение(stVarUserName)  := ТекущийПользователь;
  коллекция.Значение(stVarIntfCode)  := КодИнтерфейса;  // - тип документа
  /$если Бюджет
    коллекция.Значение(stVarIsAdmin)  := Ф.ЯАдмин; // - пользователь является админом (optional)
  /$иначе  
    коллекция.Значение(stVarClientId)  := ПолучитьДанныеУдКлиента("ClientID"); // - код удаленного клиента (optional)
  /$конец  
  результат := GetBeginState(Коллекция);
конец;

// по ссылке на организацию получаем её счет (в первую очередь - не закрытый и по умолчанию, если по умолчанию нет - то просто не закрытый)
функция ПолучитьСчетПлательщикаПоОрганизации(СсылкаНаОрганизацию : целое) : целое;
переменные
  ссСчетаОрганизаций : СтатическиеДанные;
начало
  ссСчетаОрганизаций := СоздатьСтатическиеДанные;
  ссСчетаОрганизаций.СоединитьБД;
  ссСЧетаОрганизаций.Закрыть;
  ссСчетаОрганизаций.Запрос := "[PumpData] {select
  a.id,
  a.Acc,
  a.CLOSED,
  a.IsDefault
from
  Org_Accounts a
  inner join banks b on(b.id=a.BANK_REF)
  inner join Organizations o on(b.id=o.id)
  left join Organizations  oo on(a.SERVICE_ORG_REF=oo.id)
where
  a.Org_REF = @OrgRef 
  @Closed 
  @default }";
  ссСчетаОрганизаций.Параметр('OrgRef') := СсылкаНаОрганизацию;
  ссСчетаОрганизаций.Параметр('Closed') := " and a.Closed is null ";
  ссСчетаОрганизаций.Параметр('Default') := "and a.IsDefault = 1";
  ссСчетаОрганизаций.Открыть;
  если ссСчетаОрганизаций.ЧислоЗаписей = 0 тогда
  начало
    ссСчетаОрганизаций.Закрыть;
    ссСчетаОрганизаций.Параметр('Default') := "";
    ссСчетаОрганизаций.Открыть;
  конец;
  если ссСчетаОрганизаций.ЧислоЗаписей = 0 тогда
    ВызватьОшибку('Отсутствует счет у организации - плательщика!')
  иначе
  начало
    ссСчетаОрганизаций.Вначало;
    результат := ссСчетаОрганизаций.Поле('id').КакЦелое;
  конец
конец;

функция ВернутьПараметр(имяПараметра : строка; коллекция : Ivariables) : строка;
начало
  результат := коллекция.Значение(имяПараметра);
  Если результат = "" тогда
  начало
    результат := ПолучитьПараметрИзНастроек(4, 0, имяПараметра);
    коллекция.Значение(имяПараметра) := результат;
  конец;
конец;

функция ф_НетИсходногоДокументаВЭО(Класс : целое) : целое;
начало
  Результат := Ложь;
  Результат := (класс = Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) или 
               (класс = Класс_РасходПоЧекам) или
               (класс = Класс_Разассигновка) или
               (класс = ту_УточнениеВыбытий) или 
               (класс = ту_УточнениеПоступлений) или 
               ф_ЭтоВП(Класс);
конец;

функция ЭтоКлассификацияДохода(ТипКлс, ИсточникФинансирования: целое): целое;
переменные 
  направлениеИсточника: целое;
начало
  если типКлс = тк_Источниковая тогда
    направлениеИсточника := СтрокаВЦелое(Разыменовать('ИсточникВнутр_ФинансированияКлюч.Направление.Код', ИсточникФинансирования))
  иначе 
    направлениеИсточника := 0;
      
  Если типКлс = тк_Доходная или 
       ((типКлс = тк_Источниковая) и (направлениеИсточника = нп_Поступление ))
  тогда 
    результат := Истина
  иначе 
    результат := Ложь;     
конец;

функция ЭтоКлассификацияРасхода(ТипКлс, ИсточникФинансирования: целое): целое;
переменные
  направлениеИсточника: целое;
начало
  если типКлс = тк_Источниковая тогда
    направлениеИсточника := СтрокаВЦелое(Разыменовать('ИсточникВнутр_ФинансированияКлюч.Направление.Код', ИсточникФинансирования))
  иначе 
    направлениеИсточника := 0;  

  Если типКлс = тк_Расходная или 
       ((типКлс = тк_Источниковая) и (НаправлениеИсточника = нп_Погашение ))
  тогда 
    результат := Истина
  иначе 
    результат := Ложь;     
конец;


функция ВернутьНаправлениеКлассификации(типКлассификации, источникФинансирования: целое): целое;
начало
  результат := нк_Расход;
  Если ЭтоКлассификацияДохода(типКлассификации, источникФинансирования) тогда 
    результат := нк_Доход;
  Если ЭтоКлассификацияРасхода(типКлассификации, источникФинансирования) тогда 
    результат := нк_Расход;
конец;

// если тип классификации у данных не соответсвует классу связанного документа - выводим сообщение пользователю
функция ПроверитьТипКлассификацииСообщение(ссДанные : СтатическиеДанные);
переменные
  коллекция : IVariables;
начало
  коллекция := CreateVariables;
  попытка
    коллекция.Значение("ТипКлассификации") := ссДанные.Поле('ClsType').КакЦелое;
    коллекция.Значение("Класс") := ссДанные.Поле("DocumentProgIndex").КакЦелое;
    Если не ПроверитьТипКлассификации(ссДанные, Коллекция) тогда 
      ВызватьОшибку('Тип классификации:"' + РазыменоватьТипКлассификации(коллекция.Значение("ТипКлассификации")) + '" не предусмотрен для класса: "' + НаименованиеПоКоду(ссДанные.Поле('DocumentProgIndex').КакЦелое) + '"');
  обязательно
    УдалитьОбъект(коллекция);
  конец;
конец;

функция ПолучитьСчетФОдляУчетаКассВыплат(старыйсчет:целое):целое;
переменные
  ссВспомогательный : статическиеданные ;
  имя_счета : строка ;
начало
  результат := старыйсчет;
  имя_счета := Разыменовать("Р/с.Имя",старыйсчет);
  если длина(имя_счета)=11 и подстрока(имя_счета,1,2)="02" тогда
  начало
    имя_счета := Разыменовать("Р/с.ИмяРС",старыйсчет);
    если длина(имя_счета)=20 и подстрока(имя_счета,1,4)="4020" тогда 
    начало
      ссВспомогательный := СоздатьСтатическиеДанные; 
      ссВспомогательный.соединитьБД;
      ссВспомогательный.запрос := "[PumpData] {select oa.id 
                                               from dfaccountsbuhtable df 
                                               left join org_accounts oa on oa.id=df.id 
                                               where oa.acc='"+имя_счета+"'}";
      ссВспомогательный.открыть;
      если ссВспомогательный.числозаписей &gt; 0 тогда
        если ссВспомогательный.поле("id").какцелое &gt; 0 тогда
          результат := ссВспомогательный.поле("id").какцелое;
      ссВспомогательный.очистить; 
      ссВспомогательный.закрыть; 
      удалитьобъект(ссВспомогательный);    
    конец;
  конец;
конец;


// Будем очищать поля блокировок если они всё заполнены
функция РедактироватьПоляБлокировок(ссДанные : СтатическиеДанные);
переменные
  ПоляБлокировок : Текст;
  Индекс, ФлагВсеПоляЗаполнены : целое;
  ПолеБлокировки : поле;
начало
 ПоляБлокировок := СоздатьТекст;
 попытка
   ссДанные.Редактировать;
   ФлагВсеПоляЗаполнены := Истина;
   ПоляБлокировок.РазделенноеЗначение := СписокПолейБлокировок;
   от Индекс := 0 до ПоляБлокировок.Количество-1 делать
   начало
     ПолеБлокировки := ссДанные.Поле(ПоляБлокировок.Стр(Индекс));
     если (ПолеБлокировки.Пустое) и (ФлагВсеПоляЗаполнены) тогда
       ФлагВсеПоляЗаполнены := Ложь;
   конец;
   // очистить поля блокировок
   если ФлагВсеПоляЗаполнены тогда
     от Индекс := 0 до ПоляБлокировок.Количество-1 делать
     начало
       ПолеБлокировки := ссДанные.Поле(ПоляБлокировок.Стр(Индекс));
       ПолеБлокировки.КакСтрока := '';
     конец;
   ссДанные.Сохранить;  
 Обязательно
   УдалитьОбъект(ПоляБлокировок);
 конец;
конец;

функция ВызватьДиалогДляВыбораЛС(ссДанные : СтатическиеДанные; МастерИд : строка) : целое;
переменные
  ссВспомогательный : статическиеданные;
  СписокЛСДляДиалога, ФорматированныеЛС : строка;
  СписокЛС : текст;
  ЗначениеВыбрано, Индекс : целое;
начало
  // формирование данных
  СписокЛС := СоздатьТекст;
  ссВспомогательный := СоздатьСтатикСет; 
  ссВспомогательный.ПрисвоитьПоля(ссДанные);
  ссВспомогательный.Открыть;
  ссВспомогательный := ссДанные;
  //ссВспомогательный.Группировать(ссДанные, "keys=id");
  если МастерИд &lt;&gt; '' тогда
  начало
    ссВспомогательный.Фильтр := "MasterID = " + МастерИд;
    если ссВспомогательный.ЧислоЗаписей &gt; 1 тогда
    начало
      // сформировать список ЛС для диалога
      СписокЛС.РазделенноеЗначение := GetLimitStr(ссВспомогательный,'FacialAcc_Cls');
      если СписокЛС.Количество &gt; 1 тогда
      начало
        ФорматированныеЛС := '';
        Индекс := 0;
        Пока (Индекс&lt; СписокЛС.Количество) делать 
        начало
          ФорматированныеЛС := ФорматированныеЛС +','+ФорматироватьКлассификатор(СтрокаВЦелое(СписокЛС.Стр(Индекс)),'000.00.000.0');
          Индекс := Индекс + 1;
        конец;
        СписокЛСДляДиалога := ЗаменитьСтроку(ФорматированныеЛС,',',nl,истина);
        // формируем диалог
        Диалог.Очистить;
        Диалог.Заголовок := "Выбор л/c для заголовка Уведомлений(Номер исходного документа №" + ссВспомогательный.Поле('DocNumber').какстрока + ")";
        Диалог.Добавить("Л/C", "ЗначениеЛС", 0, ТолькоЧтение + Список, '', СписокЛСДляДиалога);
        ЗначениеВыбрано := Ложь;
        // значение в диалоге должно быть выбрано
        Если диалог.Выполнить тогда ЗначениеВыбрано := Истина;
        // получаем значение из диалога
        если ЗначениеВыбрано тогда
        начало
          если Диалог.Значение("ЗначениеЛС") &lt;&gt; '' тогда
            результат := Диалог.Значение("ЗначениеЛС")
          иначе
            результат := ссВспомогательный.Поле('FacialAcc_Cls').КакЦелое;
        конец
        иначе
          результат := ссВспомогательный.Поле('FacialAcc_Cls').КакЦелое;
      конец
      иначе
        результат :=  ссВспомогательный.Поле('FacialAcc_Cls').КакЦелое;
    конец
    иначе
      результат :=  ссВспомогательный.Поле('FacialAcc_Cls').КакЦелое;  
  конец
  иначе
    результат :=  ссВспомогательный.Поле('FacialAcc_Cls').КакЦелое;    
  ссВспомогательный.Фильтр := '';
конец;


// Проставить направление операции в у связанных документов
функция ПроставитьНаправлениеОперацииДляСвязанныхУведомлений(типИнтерфейса, КлассИсходногоДокумента, ТипКлассификации, ИсточникФинансирования : целое) : целое;
переменные
  НаправлениеКлассификации, НаправлениеОперации : целое;
начало
   Выбрать типИнтерфейса из 
    ту_УточнениеВыбытий :
      начало
        НаправлениеКлассификации := ВернутьНаправлениеКлассификации(ТипКлассификации, ИсточникФинансирования);
        если НаправлениеКлассификации = нк_Расход тогда 
          НаправлениеОперации := 0
        иначе
          НаправлениеОперации := 3;
      конец;
    ту_УточнениеПоступлений : 
      начало
        НаправлениеКлассификации := ВернутьНаправлениеКлассификации(ТипКлассификации, ИсточникФинансирования);
        если НаправлениеКлассификации = нк_Доход тогда 
          НаправлениеОперации := 0
        иначе
          НаправлениеОперации := 3;
      конец;
    иначе 
      ВызватьОшибку("ВернутьНовоеНаправлениеОперацииРасш: не заполнен параметр 'ТипИнтерфейса'");
  конец;
  результат :=  НаправлениеОперации;
  если (КлассИсходногоДокумента = класс_УтверждениеОФ) или (КлассИсходногоДокумента = Класс_Разассигновка)  или (КлассИсходногоДокумента = Класс_УчетКассовыхВыплат) тогда
    результат := 0;
  если КлассИсходногоДокумента = класс_РаспределениеОФ тогда
    результат := 2;
  // проставляем направление операции для ВП  
  если ф_ЭтоВП(КлассИсходногоДокумента, Истина) и (типИнтерфейса = ту_УточнениеВыбытий) тогда
    результат := 1;
  если ф_ЭтоВП(КлассИсходногоДокумента, Истина) и (типИнтерфейса = ту_УточнениеПоступлений) тогда
    результат := 2;
  если ф_ЭтоВПл(КлассИсходногоДокумента, Истина) и (типИнтерфейса = ту_УточнениеВыбытий) тогда
    результат := 1;
  если ф_ЭтоВПл(КлассИсходногоДокумента, Истина) и (типИнтерфейса = ту_УточнениеПоступлений) тогда
    результат := 2;      
конец;

// Проверка исходных данных ПЗК на перенос БО 
функция ПроверкаПереносаБО(ссДанные : СтатическиеДанные; Коллекция  : IVariables) : целое;
переменные
  текст_СтарыеБО, текст_ДанныеДляОчистки : Текст;
  СтарыеИНовыеБО, ссВспомогательный : СтатическиеДанные;
  типСообщения : целое;
начало
  текст_СтарыеБО := СоздатьТекст;
  текст_ДанныеДляОчистки := СоздатьТекст;
  текст_ДанныеДляОчистки.РазделенноеЗначение := '';
  ссВспомогательный := СоздатьСтатикСет;
  типСообщения := т_БезОшибок;
  // получаем таблицу соответствия старых и новых БО
  СтарыеИНовыеБО := Коллекция.Значение('СтарыеИНовыеБО'); 
  если  СтарыеИНовыеБО.ЧислоЗаписей = 0  тогда
  начало
    СтарыеИНовыеБО := СоздатьСтатикСет;
    СтарыеИНовыеБО.Запрос := ПолучитьЗапросДляЗаменыБО;
    СтарыеИНовыеБО.Открыть;
  конец;
  попытка
    // Блок №1 Получения списка ИД для их удаления из выборки
    // расматриваем случай когда таблици соответствия нет, а данные использующие БО есть
    если  СтарыеИНовыеБО.числоЗаписей = 0 тогда
    начало
      // смотрим есть в исходных данных записи использующие БО
      ссДанные.Фильтр := 'not (BudgetPromise is null)';
      если ссДанные.ЧислоЗаписей &lt;&gt; 0 тогда
        типСообщения := т_ОшибкаНетТаблицыСоответствия
      иначе  
      начало
        ссДанные.Фильтр := 'not (Promise is null)';
        если ссДанные.ЧислоЗаписей &lt;&gt; 0 тогда
          типСообщения := т_ОшибкаНетТаблицыСоответствия
        иначе 
          типСообщения := т_БезОшибок;  
      конец;
      Если типСообщения = т_ОшибкаНетТаблицыСоответствия тогда текст_ДанныеДляОчистки.РазделенноеЗначение := GetLimitStr(ссДанные,'id') ;    
    конец
    иначе // в таблице соответствия присудствуют записи
    начало
      текст_СтарыеБО.РазделенноеЗначение := GetLimitStr(СтарыеИНовыеБО,'OldInnerPromiseNum');
      ссДанные.Фильтр := 'not (BudgetPromise is null)';
      если ссДанные.Числозаписей &lt;&gt; 0 тогда
      начало
        // используем вспомогательный статик сет для обнаружениея не перенесенных БО
        ссВспомогательный.Закрыть;
        ссВспомогательный.ПрисвоитьПоля(ссДанные);
        ссВспомогательный.Открыть;
        ссВспомогательный.Группировать(ссДанные, "keys=id");
        // сформируем фильтр по старым БО
        ссВспомогательный.Фильтр := "(1=1)" + ПолучитьОграничениеПоСпискуИд('BudgetPromise',текст_СтарыеБО,Истина);
        если ссВспомогательный.Числозаписей &lt;&gt; 0 тогда
          типСообщения := т_ОшибкаЕстьНеПеренесенныеБОиДИ
        иначе
          типСообщения := т_БезОшибок; 
      конец
      иначе
      начало
        текст_СтарыеБО.РазделенноеЗначение := GetLimitStr(СтарыеИНовыеБО,'OldPromiseNumber');
        ссДанные.Фильтр := 'not (Promise is null)';
        если ссДанные.Числозаписей &lt;&gt; 0 тогда
        начало
          // используем вспомогательный статик сет для обнаружениея не перенесенных БО
          ссВспомогательный.Закрыть;
          ссВспомогательный.ПрисвоитьПоля(ссДанные);
          ссВспомогательный.Открыть;
          ссВспомогательный.Группировать(ссДанные, "keys=id");
          // сформируем фильтр по старым БО
          ссВспомогательный.Фильтр := "(1=1)" + ПолучитьОграничениеПоСпискуИд('Promise',текст_СтарыеБО,Истина);
          если ссВспомогательный.Числозаписей &lt;&gt; 0 тогда
            типСообщения := т_ОшибкаЕстьНеПеренесенныеБОиДИ
          иначе
            типСообщения := т_БезОшибок; 
        конец
        иначе
          типСообщения := т_ОшибкаНетДанныхИСпользующихБОиДИ;
      конец;
      Если типСообщения = т_ОшибкаЕстьНеПеренесенныеБОиДИ тогда текст_ДанныеДляОчистки.РазделенноеЗначение := GetLimitStr(ссВспомогательный,'id') ;
    конец;
    // Блок №2 Испключение требуемых данных из выборки
    если текст_ДанныеДляОчистки.РазделенноеЗначение &lt;&gt; '' тогда
    начало
      Коллекция.Значение('ФильтрНеПерененныхБО') := "(1=1)" + ПолучитьОграничениеПоСпискуИд('id',текст_ДанныеДляОчистки,Ложь);
    конец;
  обязательно
    результат := типСообщения;
    ссДанные.Фильтр := '';
  конец;  
конец;

// Проверка исходных данных ПЗК на перенос ДИ 
функция ПроверкаПереносаДИ(ссДанные : СтатическиеДанные; Коллекция  : IVariables) : целое;
переменные
  текст_СтарыеДИ, текст_ДанныеДляОчистки : Текст;
  СтарыеИНовыеДИ, ссВспомогательный : СтатическиеДанные;
  типСообщения : целое;
начало
  текст_СтарыеДИ := СоздатьТекст;
  текст_ДанныеДляОчистки := СоздатьТекст;
  текст_ДанныеДляОчистки.РазделенноеЗначение := '';
  ссВспомогательный := СоздатьСтатикСет;
  типСообщения := т_БезОшибок;
  // получаем таблицу соответствия старых и новых ДИ
  СтарыеИНовыеДИ := Коллекция.Значение('СтарыеИНовыеДИ');   
  если  СтарыеИНовыеДИ.ЧислоЗаписей = 0 тогда
  начало
    СтарыеИНовыеДИ := СоздатьСтатикСет;
    СтарыеИНовыеДИ.Запрос := ПолучитьЗапросДляЗаменыДИ;
    СтарыеИНовыеДИ.Открыть;
  конец;
  попытка
    // Блок №1 Получения списка ИД для их удаления из выборки
    // расматриваем случай когда таблици соответствия нет, а данные использующие ДИ есть
    если  СтарыеИНовыеДИ.числоЗаписей = 0 тогда
    начало
      // смотрим есть в исходных данных записи использующие ДИ
      ссДанные.Фильтр := 'not (ExecDoc is null)';
      если ссДанные.ЧислоЗаписей &lt;&gt; 0 тогда
        типСообщения := т_ОшибкаНетТаблицыСоответствия
      иначе  
        типСообщения := т_БезОшибок;  
      Если типСообщения = т_ОшибкаНетТаблицыСоответствия тогда текст_ДанныеДляОчистки.РазделенноеЗначение := GetLimitStr(ссДанные,'id') ;    
    конец
    иначе // в таблице соответствия присудствуют записи
    начало    
      текст_СтарыеДИ.РазделенноеЗначение := GetLimitStr(СтарыеИНовыеДИ,"OldDiInnerNumber"); // было 'OldDiNumber'
      ссДанные.Фильтр := 'not (ExecDoc is null)';                            
      если ссДанные.Числозаписей &lt;&gt; 0 тогда
      начало
        // используем вспомогательный статик сет для обнаружениея не перенесенных ДИ
        ссВспомогательный.Закрыть;
        ссВспомогательный.ПрисвоитьПоля(ссДанные);
        ссВспомогательный.Открыть;
        ссВспомогательный.Группировать(ссДанные, "keys=id");
        // сформируем фильтр по старым ДИ
        ссВспомогательный.Фильтр := "(1=1)" + ПолучитьОграничениеПоСпискуИд('ExecInnerNUmber',текст_СтарыеДИ,Истина); // было 'ExecDoc'
        если ссВспомогательный.Числозаписей &lt;&gt; 0 тогда
          типСообщения := т_ОшибкаЕстьНеПеренесенныеБОиДИ
        иначе
          типСообщения := т_БезОшибок; 
      конец
      иначе
        типСообщения := т_ОшибкаНетДанныхИСпользующихБОиДИ;
      Если типСообщения = т_ОшибкаЕстьНеПеренесенныеБОиДИ тогда текст_ДанныеДляОчистки.РазделенноеЗначение := GetLimitStr(ссВспомогательный,'id') ;
    конец;
    // Блок №2 Испключение требуемых данных из выборки
    если текст_ДанныеДляОчистки.РазделенноеЗначение &lt;&gt; '' тогда
    начало
      Коллекция.Значение('ФильтрНеПерененныхДИ') := "(1=1)" + ПолучитьОграничениеПоСпискуИд('id',текст_ДанныеДляОчистки,Ложь);
    конец;
  обязательно
    результат := типСообщения;
    ссДанные.Фильтр := '';
  конец;  
конец;

Функция ЕстьСвязанныйДокумент(ссДетализация : СтатическиеДанные) : целое;
переменные
  класс, ссылка : целое;
начало
  Результат := Ложь;
  класс := ссДетализация.Поле('DocumentProgIndex').КакЦелое; 
  ссылка := ссДетализация.Поле('DocumentRecordIndex').КакЦелое;
  Результат := (класс &lt;&gt; 0) и (ссылка &lt;&gt; 0);
конец;



функция ПолучитьИдКодаЦелевыхСредств (КодЦелевыхСредств : целое) : строка;
переменные
  ссДанные : СтатическиеДанные;
начало
  ссДанные := СоздатьСтатикСет;
  ссДанные.СоединитьБД;
  ссДанные.запрос := "[PumpData]{
                         SELECT   Id
                         From TransfertCls
                         Where Code = @Param  
                      }";
  ссДанные.Параметр('Param') := КодЦелевыхСредств; 
  ссДанные.Открыть; 
  если (ссДанные.Поле('Id').Пустое) или (ссДанные.Поле('Id').Какстрока = '') тогда
    результат :=  ЦелоеВСтроку(КодЦелевыхСредств)
  иначе
    результат :=  ссДанные.Поле('Id').Какстрока; 
  УдалитьОбъект(ссДанные);               
конец;

// Найдем по операции (получение или передача) и коду КЦС его ИД
// Если не найдем, то вернем старый ИД
Функция ПолучитьПравильныйКЦСпоНеправильному(Операция, ИДКцс, КодКЦС: целое): Строка;
переменные
  ссДанные: СтатическиеДанные;
начало
  ссДанные := СоздатьСтатическиеДанные;
  ссДанные.СоединитьБД;
  ссДанные.Запрос := "[PumpData] {Select id from transfertCLS where (targetmeanssign = ~tms) and (code = ~code)}";
  ссДанные.Параметр("tms") := Операция;
  ссДанные.Параметр("code") := КодКЦС;
  ссДанные.Открыть;
  Если ссДанные.ЧислоЗаписей &gt; 0 тогда
    результат := ссДанные.Поле("id").КакСтрока
  иначе
    результат := ИдКЦС;
  УдалитьОбъект(ссДанные);
конец;


// Проверяем КЦС на соответствие классу исходного документа (поступление или выбытие)
// Заменяем если не подходит
функция ПроверитьКодыЦелевыхСредств(ссТаблицаЗамены: СтатическиеДанные; ЭтоВыбытие: целое);
переменные
  т_Префиксы: Текст;
  сч: целое;
начало
  т_Префиксы := СоздатьТекст;
  т_Префиксы.РазделенноеЗначение := "Dest,Source";
  ссТаблицаЗамены.Вначало;
  Пока не ссТаблицаЗамены.Вконце делать
  начало
    от сч := 0 до 1 делать
    начало
      если ссТаблицаЗамены.Поле(т_Префиксы.Стр(сч) + "TransfertCLS").КакСтрока &lt;&gt; '' тогда
      начало
        // если не совпадает признак целевых средств и группа класса исходного документа (поступление/выбытие)
        Если Разыменовать("ВидыЦелевыхСредствКлюч.ПризнакЦелевыхСредств", ссТаблицаЗамены.Поле(т_Префиксы.Стр(сч) + "TransfertCLS").КакЦелое) &lt;&gt; ЭтоВыбытие тогда
        начало
          ссТаблицаЗамены.Редактировать;
          ссТаблицаЗамены.Поле(т_Префиксы.Стр(сч) + "TransfertCLS").КакСтрока := ПолучитьПравильныйКЦСпоНеправильному(ЭтоВыбытие,
                                                                                   ссТаблицаЗамены.Поле(т_Префиксы.Стр(сч) + "TransfertCLS").КакЦелое,
                                                                                   разыменовать("ВидыЦелевыхСредствКлюч.Код", ссТаблицаЗамены.Поле(т_Префиксы.Стр(сч) + "TransfertCLS").КакЦелое));
          ссТаблицаЗамены.Сохранить;
        конец
      конец    
    конец;
    ссТаблицаЗамены.Следующая;
  конец;
  УдалитьОбъект(т_Префиксы);
конец;



// заполняет класс нового документа если класс присудствует в списке исключений
функция ЗаполнитьКлассыИсходногоИНовогоДокументаПоПараметруИСключения(КлассИсходногоДокумента : целое; ткст_СписокКлассовИсключений : текст; Коллекция  : IVariables);
переменные
  Индекс, ТребуетсяФормироватьСвязанныеДокументы : целое;
начало
  ТребуетсяФормироватьСвязанныеДокументы := Ложь;
  если ткст_СписокКлассовИсключений.Количество &lt;&gt; 0 тогда
  начало
    Индекс := 0;
    Пока (Индекс &lt;= ткст_СписокКлассовИсключений.Количество-1) делать 
    начало
      если СтрокаВЦелое(ткст_СписокКлассовИсключений.Стр(Индекс)) =  КлассИсходногоДокумента тогда
        ТребуетсяФормироватьСвязанныеДокументы := Истина;
      Индекс  := Индекс + 1;  
    конец;
  конец;
  если ТребуетсяФормироватьСвязанныеДокументы тогда
    начало
       Коллекция.Значение(ип_КлассКорректирующегоДокумента) := КлассИсходногоДокумента;
       Коллекция.Значение(ип_КлассНовогоДокумента) := КлассИсходногоДокумента;
       Коллекция.Значение(ип_КлассКорректирующегоДокумента_Наименование) := НаименованиеПоКоду(Коллекция.Значение(ип_КлассКорректирующегоДокумента));
       Коллекция.Значение(ип_КлассНовогоДокумента_Наименование) := НаименованиеПоКоду(Коллекция.Значение(ип_КлассНовогоДокумента));
    конец
    иначе
    начало
      Коллекция.Значение(ип_КлассКорректирующегоДокумента) := 0;
      Коллекция.Значение(ип_КлассНовогоДокумента) := 0;
      Коллекция.Значение(ип_КлассКорректирующегоДокумента_Наименование) := '';
      Коллекция.Значение(ип_КлассНовогоДокумента_Наименование) := '';
    конец;    
конец;


функция ВыполнитьСкриптИзНастроекУведомлений(Коллекция  : IVariables);
переменные
  ПутьКМакросуТескт : текст;
  Индекс : целое; 
начало
  ПутьКМакросуТескт := СоздатьТекст;
  ПутьКМакросуТескт.Значение := ЗаменитьСтроку(ПолучитьПараметрИзНастроек(4,0,'ПутьКМакросуДляДополнительнойОбработкиДанных'), ";", #13#10, 0);
  если ПутьКМакросуТескт.Количество &gt;= 1 тогда
  начало
    Индекс := 0;
    Пока (Индекс&lt; ПутьКМакросуТескт.Количество) делать 
    начало
      ExecScript(ПутьКМакросуТескт.Стр(Индекс), Коллекция);
      Индекс := Индекс + 1;
    конец;
  конец;   
конец;

//Получение Кода формата по счету, вывбираются только коды относящиеся к обмену с ФК
функция ПолучитьКодФормата(Счет:целое): целое;
переменные
  ссВспом: СтатическиеДанные;
начало
  ссВспом := СоздатьСтатическиеДанные;
  ссВспом.СоединитьБД;
  ссВспом.Запрос := "[PumpData]{Select CodeFormat from ClientDFAccountList where (CodeFormat like '21%') and (ACC_Ref = @Acc)}";
  ссВспом.Параметр("Acc") := ЦелоеВСтроку(Счет);
  ссВспом.Открыть;
  если ссВспом.ЧислоЗаписей &gt; 0 тогда
  начало
    результат := ссВспом.Поле("CodeFormat").КакЦелое;
  конец  
  иначе
    результат := нет;
конец;


функция СоздатьСтатикСетДляСохранинияПараметровДиалога : статическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат.ДобавитьСтроковоеПоле("ParamName", 50);
    результат.ДобавитьСтроковоеПоле("ParamValue", 50);
    результат.Открыть;
  обязательно
  конец;
конец;

функция СоздатьСтатикСетСПараметрамиДиалогаИзРеестра( ТипИнтерфейса : строка) : статическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат := СоздатьДанныеИзРеестра(ПолныйПутьКПараметрам, 'ТаблицаЗначенияПараметровДиалога' +ТипИнтерфейса+ ТекущийПользователь);
    результат.Открыть;
  обязательно
  конец; 
конец;

// Возвращает путь к параметрам
функция ПолучитьПутьКПараметрам(ЛокальныйПуть: Строка): Строка;
переменные
  КорневойУзелРеестра : строка;
начало  
  /$если Бюджет
  КорневойУзелРеестра := "Бюджет";
  /$иначе
  КорневойУзелРеестра := "УРМ";
  /$конец
  если ЛокальныйПуть &lt;&gt; "" тогда
    результат := КорневойУзелРеестра+"\Параметры\"+ЛокальныйПуть
  иначе  
    результат := КорневойУзелРеестра+"\Параметры";
конец;

// Возвращает узел реестра параметров
функция ПолучитьУзелПараметров(Путь: Строка): УзелРеестра;
начало
  результат := Реестр.Узел(ПолучитьПутьКПараметрам(Путь));
конец;


функция ЗаполнитьСтатикСетПараметромИзДиалога(ЗначенияПараметровДиалога :статическиеДанные; ИмяПараметра, ЗначениеПараметра : строка );
начало
  ЗначенияПараметровДиалога.ПолеПоИмени('ParamName').КакСтрока := ИмяПараметра;
  ЗначенияПараметровДиалога.ПолеПоИмени('ParamValue').КакСтрока := ЗначениеПараметра;  
конец;

функция СохранитьПараметрыДиалогаВРеестр(ЗначенияПараметровДиалога :статическиеДанные; ТипИнтерфейса : строка);
переменные
  Буф: Буфер;
начало
  Буф := СоздатьБуфер;
  попытка
    ПолучитьУзелПараметров(ПутьКПараметрам).Значение("ТаблицаЗначенияПараметровДиалога" + ТипИнтерфейса + ТекущийПользователь).Удалить;
    СохранитьОбъект(ЗначенияПараметровДиалога, Буф);
    ПолучитьУзелПараметров(ПутьКПараметрам).Значение("ТаблицаЗначенияПараметровДиалога" + ТипИнтерфейса + ТекущийПользователь).ЗагрузитьИзБуфера(Буф);
    ПолучитьУзелПараметров(ПутьКПараметрам).Значение("ТаблицаЗначенияПараметровДиалога" + ТипИнтерфейса + ТекущийПользователь).ТипДанных := 6;
  неудача
    Сообщение("Произошла ошибка при сохранении в реестр параметров диалога" + #13 + "Выполнение будет продолжено.");
  конец;  
конец;

функция ПолучитьКодПользователяПоИмени(Имя: строка): целое;
переменные
  ссВспом: СтатическиеДанные;
начало
  ссВспом := СоздатьСтатическиеДанные;
  ссВспом.СоединитьБД;
  ссВспом.Запрос := "[PumpData]{Select ID from DBUsers where UserName='" + Имя + "' }";
  ссВспом.Открыть;
  если ссВспом.ЧислоЗаписей &gt; 0 тогда
  начало
    результат := ссВспом.Поле("ID").КакЦелое;
  конец  
  иначе
    результат := -1;
конец;


Функция ОпределитьНапровлениеВнутреннейПереброски(ТипИнтерфейса : целое) : целое;
начало
  если ТипИнтерфейса = ту_УточнениеПоступлений тогда
    результат := Класс_ВП_Поступление
  иначе   
    результат := Класс_ВП_Выбытие;
конец;

Функция ОпределитьНапровлениеВнутреннихПлатежей(ТипИнтерфейса : целое) : целое;
начало
  если ТипИнтерфейса = ту_УточнениеПоступлений тогда
    результат := Класс_ВПл_Поступление
  иначе   
    результат := Класс_ВПл_Выбытие;
конец;


функция СохранитьИзмененияВДатасетеПоВидуИзменения(Датасет: СтатическиеДанные; ВидИзменения: целое);
начало
  если ВидИзменения &lt;&gt; -1 тогда
  начало
    Датасет.ВНачало;
    пока не Датасет.ВКонце делать
    начало
      Датасет.UpdateStatus := ВидИзменения;
      Датасет.Следующая;
    конец;
  конец;  
  Датасет.СохранитьИзменения;
  Датасет.CommitUpdates;
конец; 

функция ВзятьЗначениеДоТочки(Значение: Строка): Строка;
начало
  Результат := Значение;
  если Позиция('.', Результат) &gt; 0 тогда
    Результат := Подстрока(Результат, 1, Позиция('.', Результат)-1); 
конец; 

функция ФорматироватьПоляИНН(ссДанные: СтатическиеДанные);
начало
  ссДанные.ВНачало;
  пока не ссДанные.ВКонце делать
  начало
    если ссДанные.НайтиПоле("PayerOrgInn") тогда
      ссДанные.Поле("PayerOrgInn").КакСтрока := ВзятьЗначениеДоТочки(ссДанные.Поле("PayerOrgInn").КакСтрока);
    если ссДанные.НайтиПоле("AcceptorOrgInn") тогда
      ссДанные.Поле("AcceptorOrgInn").КакСтрока := ВзятьЗначениеДоТочки(ссДанные.Поле("AcceptorOrgInn").КакСтрока);
    ссДанные.Следующая;  
  конец;
конец;

функция ПроверитьПравильностьЗаполненияКлассовДляКассовогоРасхода(СписокКлассов : текст) : целое;
переменные
  Счетчик: целое;
  БезОшибок : целое;
начало
 Счетчик := 0;
 БезОшибок := Ложь;
 Счетчик := 0;
 Пока (Счетчик &lt;= СписокКлассов.Количество - 1) и (не БезОшибок) делать 
 начало
   Если ( не ВходитВГруппу(СписокКлассов.Стр(Счетчик), Группа_КазначействоВыбытие)) и (СписокКлассов.Стр(Счетчик)&lt;&gt;Класс_ПриходОтПрочих) тогда
     БезОшибок := Истина; 
   Счетчик := Счетчик + 1;
 конец;
 результат := БезОшибок;
конец;


функция ИсключитьИзСпискаКлассыПоКассовомуРсходу(СписокКлассов, СписокКассовПоКассовомуРасходу : текст);
переменные
  Счетчик, Индекс: целое;
начало
  Счетчик := 0;
  пока (Счетчик &lt;= СписокКассовПоКассовомуРасходу.Количество - 1) делать
  начало
    Индекс := СписокКлассов.Поиск(СписокКассовПоКассовомуРасходу.Стр(Счетчик)); 
    Если (Индекс&lt;&gt;-1) тогда
    начало
      СписокКлассов.Удалить(Индекс);
    конец;
    Счетчик := Счетчик + 1;
  конец;
конец;

// формирует значение поля DepartmentCls
функция ПолучитьОтделПоПользователю (пользователь: строка): целое;
переменные
  ссПользователи: СтатическиеДанные;  
начало
  ссПользователи := СоздатьСтатическиеДанные;
  попытка
    ссПользователи.СоединитьБД;
    ссПользователи.Запрос := '[PumpData] {select departmentcls from dbusers where username="@username"}';
    ссПользователи.Параметр("username") := пользователь;
    ссПользователи.Открыть;
    если (ссПользователи.ЧислоЗаписей &gt; 0) тогда
      результат := ссПользователи.Поле("DepartmentCls").КакЦелое
    иначе
      результат := 0;
    ссПользователи.Закрыть;
  неудача
    Сообщение("Произошла ошибка при записи значения поля отдела" + #13 + "Выполнение будет продолжено.");
    УдалитьОбъект(ссПользователи);
  конец;
конец;


функция ОчиститьПоляКлассификацииПоТипу(ТипКлассификации : целое; Данные: СтатическиеДанные );
начало
  если ТипКлассификации = 2 тогда
  начало 
    Данные.Поле("kfsr").КакЦелое := 0;
    Данные.Поле("kvr").КакЦелое := 0;
    Данные.Поле("kvsr").КакЦелое := 0;
    Данные.Поле("kesr").КакЦелое := 0;
    Данные.Поле("kcsr").КакЦелое := 0;
    Данные.Поле("ifs").КакЦелое := 0;
  конец
  иначе 
    если ТипКлассификации = 0 тогда
    начало 
      Данные.Поле("kd").КакЦелое := 0;
      Данные.Поле("ifs").КакЦелое := 0;
    конец
    иначе
    начало 
      Данные.Поле("kfsr").КакЦелое := 0;
      Данные.Поле("kvr").КакЦелое := 0;
      Данные.Поле("kvsr").КакЦелое := 0;
      Данные.Поле("kesr").КакЦелое := 0;
      Данные.Поле("kcsr").КакЦелое := 0;
      Данные.Поле("kd").КакЦелое := 0;
    конец;
конец;

</value>
    <param value="СервисныеФункцииДляУведомлений" type="3" name="Export">WKS2375\jurov\06.07.2012 15:01:44</param>
    <param value="СервисныеФункцииДляУведомлений" type="3" name="version">36.741.00</param>
    <param value="СервисныеФункцииДляУведомлений" type="3" name="crc32">$70711E01</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляВизуализацииДокументов">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';      
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\Documents.lib';
                                                
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';

включить 'project';


// делает невидимыми колонки с передаваемыми именами колонок 
функция  СделатьНевидимымиКолонки(СеткаНаФорме : СеткаДанных; Список : строка);
переменные 
  ткст_Список : Текст;
  сч : целое;
начало
  ткст_Список  := СоздатьТекст;
  попытка
    ткст_Список.РазделенноеЗначение := Список;
    от сч := 0 до (ткст_Список.Количество-1) делать СеткаНаФорме.КолонкаПоИмени(ткст_Список.Стр(сч)).Видима := 0;
  обязательно                                 
    УдалитьОбъект(ткст_Список);
  конец; 
конец;

Функция ИнициализацияСетки(СеткаНаФорме : СеткаДанных; КлассИсходногоДокумента : целое);
// функция для настройки вида СеткиНаФорме - какие столбцы видимы, какие нет, заголовки столбцов и т.п.
переменные 
  цц, ЭтоВП, ЭтоВПл, ЭтоУведомления, ДвеКлассификации, Группа : целое;
начало
// все столбцы сделаем доступными только для чтения
  от цц := 0 до СеткаНаФорме.КоличествоКолонок - 1 делать 
  начало  
     СеткаНаФорме.Колонка(цц).ТолькоДляЧтения := Да;
  конец;   
  ЭтоВП := ф_ЭтоВП(КлассИсходногоДокумента);
  ЭтоВПл := ф_ЭтоВПл(КлассИсходногоДокумента); 
  Группа := ПолучитьГруппуПоКлассу(КлассИсходногоДокумента);
  ЭтоУведомления := (Группа=Группа_Уведомления);
  ДвеКлассификации := ЭтоВп или ЭтоУведомления или ЭтоВПл;    
  
  // НАЧАЛО ОБЩИЕ ПОЛЯ
  СеткаНаФорме.КолонкаПоИмени("DocNumber").Заголовок := "Номер";
  СеткаНаФорме.КолонкаПоИмени("DocNumber").Ширина := 50;
  СеткаНаФорме.КолонкаПоИмени("ProgIndexName").Заголовок := "Тип данных";
  СеткаНаФорме.КолонкаПоИмени("ProgIndexName").Ширина := 120;
  СеткаНаФорме.КолонкаПоИмени("InputDate").Заголовок := "Дата документа";
  СеткаНаФорме.КолонкаПоИмени("InputDate").Ширина := 90;
  СеткаНаФорме.КолонкаПоИмени("AcceptDate").Заголовок := "Дата принятия";
  СеткаНаФорме.КолонкаПоИмени("AcceptDate").Ширина := 90;
  СеткаНаФорме.КолонкаПоИмени("Summa").Заголовок := "Сумма";
  СеткаНаФорме.КолонкаПоИмени("Summa").Ширина := 70;
  СеткаНаФорме.КолонкаПоИмени("SummaDetail").Заголовок := "Уточнено";
  СеткаНаФорме.КолонкаПоИмени("SummaDetail").Ширина := 70;
  если (КлассИсходногоДокумента = Класс_ПоступлениеДоходов)  или (КлассИсходногоДокумента = Класс_УточнениеПоступлений) тогда
  начало
    СеткаНаФорме.КолонкаПоИмени("SummaReturn").Заголовок := "Возврат";
    СеткаНаФорме.КолонкаПоИмени("SummaReturn").Ширина := 70;
  конец;  
  СеткаНаФорме.КолонкаПоИмени("SummaRemainder").Заголовок := "Остаток";
  СеткаНаФорме.КолонкаПоИмени("SummaRemainder").Ширина := 70;
  

  СеткаНаФорме.КолонкаПоИмени("PayerParent").Заголовок := "Плательщик";
  СеткаНаФорме.КолонкаПоИмени("PayerParent").Ширина := 255;  
  СеткаНаФорме.КолонкаПоИмени("AcceptorParent").Заголовок := "Получатель";
  СеткаНаФорме.КолонкаПоИмени("AcceptorParent").Ширина := 255;
  СеткаНаФорме.КолонкаПоИмени("BasicNote").Заголовок := "Назначение";
  СеткаНаФорме.КолонкаПоИмени("BasicNote").Ширина := 255;
  СеткаНаФорме.КолонкаПоИмени("ClsTypeName").Заголовок := "Тип классификации";
  СеткаНаФорме.КолонкаПоИмени("ClsTypeName").Ширина := 80;
  
  ЕСЛИ не ДвеКлассификации тогда
  начало
    СеткаНаФорме.КолонкаПоИмени("FacialAcc_Cls_Str").Заголовок := "Лицевой счет";
    СеткаНаФорме.КолонкаПоИмени("FacialAcc_Cls_Str").Ширина := 100;
  конец;  
 
    
  Если ВходитВГруппу(КлассИсходногоДокумента, группа_Поступление) или
       ВходитВГруппу(КлассИсходногоДокумента, группа_Финансирование) 
  тогда
    начало
      СеткаНаФорме.КолонкаПоИмени("ElRefStr").Заголовок := "Документ не участвовал в электронном обмене";
      СеткаНаФорме.КолонкаПоИмени("ElRefStr").Ширина := 20;
    конец  
  иначе 
    СделатьНевидимымиКолонки(СеткаНаФорме,'ElRefStr');
       
  
  // КОНЕЦ ОБЩИЕ ПОЛЯ  
  
  ЕСЛИ не ДвеКлассификации тогда 
    начало
      СеткаНаФорме.КолонкаПоИмени("ClsHeader").Заголовок := "Классификация";
      СеткаНаФорме.КолонкаПоИмени("ClsHeader").Ширина := 140;  
    конец
  ИНАЧЕ 
    начало 
      СеткаНаФорме.КолонкаПоИмени("SourceFacialAcc_Cls_Str").Ширина := 80;
      СеткаНаФорме.КолонкаПоИмени("DestFacialAcc_Cls_Str").Ширина := 80;
      СеткаНаФорме.КолонкаПоИмени("SourceClsHeader").Ширина := 140;
      СеткаНаФорме.КолонкаПоИмени("DestClsHeader").Ширина := 140; 
      Если (ЭтоВП) или (ЭтоВПл) тогда 
        начало
          СеткаНаФорме.КолонкаПоИмени("SourceFacialAcc_Cls_Str").Заголовок := "Л/с плательщика";                
          СеткаНаФорме.КолонкаПоИмени("DestFacialAcc_Cls_Str").Заголовок := "Л/с получателя";
          СеткаНаФорме.КолонкаПоИмени("SourceClsHeader").Заголовок := "Классификация плательщика";
          СеткаНаФорме.КолонкаПоИмени("DestClsHeader").Заголовок := "Классификация получателя";
        конец
      иначе 
        начало                      
          СеткаНаФорме.КолонкаПоИмени("DestFacialAcc_Cls_Str").Заголовок := "Л/с";
          СеткаНаФорме.КолонкаПоИмени("DestClsHeader").Заголовок := "Классификация"; 
        конец;
    конец;
 
// НАЧАЛО ОБЩИЕ НЕВИДИМЫЕ КОЛОНКИ
  СделатьНевидимымиКолонки(СеткаНаФорме, 
         'id,OKATO,ADDOKATO,ElNum,ClsType,Budgetref,ProgIndex,IsPZK,InputDateStr,AcceptDateStr,Note,SummaStr,AcceptorOrgName,PayerOrgName,'  + 
         'OriginalDate,OriginalSumma,OriginalNote,OriginalNumber,FacialCode,' + 
         'MasterId,RecordIndex,BuhOperationCls,SourceFacialAcc_Cls,DestFacialAcc_Cls,FacialAcc_Cls,Reject_Cls,RejectCause,ElRef, ChildId, Reject_Cls_C, TransfertCls, SUBSIDYCLS, BudAllocationCls, PayPromiseCls,'+
         'IsBlocked, BlockedCause, UnBlockedDate, UnBlockedCause');  

  Если не ЭтоУведомления тогда 
    начало
      СделатьНевидимымиКолонки(СеткаНаФорме,
           'RegionCls,SubKd,Kd,Reestr_Ref,Period,TypeOperationCls,BidNumber,CARDNUMBER,DepartmentCls,ManagerBid,SubProgIndex,' + 
           'FEDERALFUNDSREF,OperationDirection,DocStateRef,PaySymbolCls,Debit,PayTypeCls,PayPriority,BuhPaymentCls,' +
           'AcceptorAccRef,AcceptorOrgRef,PayerAccREf,PayerOrgRef,TaxNote,NDS,PayerOrgINN,PayerOrgINN20,PayerACC,' +
           'AcceptorOrgINN,AcceptorOrgINN20,AcceptorACC,' + 
           'GOSNI'); 
    конец;
// КОНЕЦ ОБЩИЕ НЕВИДИМЫЕ КОЛОНКИ     
  
  Если ЭтоУведомления тогда 
    начало
      СделатьНевидимымиКолонки(СеткаНаФорме,
           'SourceClsType, DestClsType,
            OriginalPayerAccRef, OriginalPayerAcc, OriginalPayerOrgName, OriginalPayerOrgINN, OriginalPayerOrgINN20,
            OriginalAcceptorAccRef, OriginalAcceptorAcc, OriginalAcceptorOrgName, OriginalAcceptorOrgINN, OriginalAcceptorOrgINN20,
            SourceProgIndex, SourceRecordIndex, DestProgIndex, DestRecordIndex, DestId, 
            PayerAccRef,PayerOrgINN,PayerOrgINN20
            AcceptorAccRef,AcceptorOrgINN,AcceptorOrgINN20,OperationDirection,' +
            'destBudgetPromise,destPromise,destExecDoc,destExecInnerNUmber,SourceBudgetPromise,SourcePromise,SourceExecDoc,sourceExecInnerNUmber,ChangeAcc_Ref,ChangeAcc,ChangeOrgName,ChangeOrgINN,ChangeOrgINN20,' +
            'debit,paytypecls,buhpaymentcls,subkd,taxnote,NDS,regioncls,gosni,reestr_ref,period,typeoperationcls,bidnumber,cardnumber,departmentcls,managerbid,
            subprogindex,docstateref,federalfundsref,payerorgref,acceptororgref,originalrecordindex,operationdirection_,paysymbolcls,paypriority'); 
    конец;

  Если (ЭтоВП) или (ЭтоВПл) тогда
      СделатьНевидимымиКолонки(СеткаНаФорме, 'SourceClsType,DestClsType,SourceKdValue,DestKdValue,SubKesr,Fact,MeansType,'+
            'DocType,DocBase,DirectionCls,IFS,KVSR,KFSR,KCSR,KVR,KESR,FinType,IFSValue,KDValue,FundsSource,' +
            'Promise,BudgetPromise,ExecDoc,ExecInnerNUmber,FinSource,SourceKVR,SourceKESR,SourceKVSR,SourceKCSR,SourceKFSR,SourceSubKESR,SourceFACT,SourceMeansType,SourceDocType,' +
            'SourceFinType,SourceDirectionCls,SourceFinSource,SourceRegionCls,SourceIFS,SourceKD,SourceIFSValue,SourceTransfertCls,SourceSUBSIDYCLS,SourceBudAllocationCls,SourcePayPromiseCls,SourceFundsSource');        
 

  ЕСЛИ не ДвеКлассификации тогда 
    начало
      СделатьНевидимымиКолонки(СеткаНаФорме,
            'SubKesr,Fact,MeansType,DocType,DocBase,DirectionCls,IFS,KVSR,KFSR,KCSR,KVR,KESR,FinType,IFSValue,KDValue,FundsSource,' +
            'SourceFacialAcc_Cls,DestFacialAcc_Cls,FacialAcc_Cls,Promise,BudgetPromise,ExecDoc,ExecInnerNUmber,FinSource');    
    конец 
  ИНАЧЕ 
    начало
      СделатьНевидимымиКолонки(СеткаНаФорме,
            'SubKesr,Fact,MeansType,DocType,DocBase,DirectionCls,IFS,KVSR,KFSR,KCSR,KVR,KESR,FinType,IFSValue,KDValue,' +
            'SourceFacialAcc_Cls,DestFacialAcc_Cls,FacialAcc_Cls,Promise,BudgetPromise,ExecDoc,ExecInnerNUmber,FinSource,' +
            'DestSubKesr,DestFact,DestMeansType,DestDocType,DestDirectionCls,DestIFS,DestKVSR,DestKFSR,DestKCSR,' + 
            'DestKVR,DestKESR,DestFinType,DestRegionCls,DestKD,DestIFSValue,DestFinSource,DestTransfertCls,DestSUBSIDYCLS,DestBudAllocationCls,DestPayPromiseCls,DestFundsSource');
       ЕСЛИ не ЭтоУведомления тогда 
         начало
           СделатьНевидимымиКолонки(СеткаНаФорме,
              'SourceDocBase,SourcePromise,SourceBudgetPromise,SourceExecDoc,sourceExecInnerNUmber,' + 
              'DestDocBase,DestPromise,DestBudgetPromise,DestExecDoc,destExecInnerNUmber,MemOrderNum');
         конец 
       ИНАЧЕ 
         начало
            СделатьНевидимымиКолонки(СеткаНаФорме,
               'ClsType_Corr,KD,DestKd,DestKdValue,AcceptorAcc,PayerAcc,' + 
               'OriginalProgIndex,OriginalRecordIndex,FacialAcc_Cls_Str,' +                                  
               'SourceFacialAcc_Cls_Str, SourceClsHeader, PayDocRef, DocumentProgIndex, DocumentRecordIndex,OriginalNumberUFC,'+
               'OriginalDateUFC, OriginalSummaUFC, OriginalNoteUFC, OriginalProgIndexUFC,OriginalNoteDet, NotUFC, DocTypeCaption');
         конец;
    конец; 

  если группа = Группа_Доходы тогда 
        СделатьНевидимымиКолонки(СеткаНаФорме,"Org_Ref, SummaIncDet, IncDetDebit");

  если КлассИсходногоДокумента = Класс_ПоступлениеДоходов тогда
   СделатьНевидимымиКолонки(СеткаНаФорме,"SummaReturnInc");      
                    
  СеткаНаФорме.Выравнивание := Выравнивание_Везде; 
конец;

функция ПолучитьСтрокуРасходнойКлассификации(Префикс : строка; ткстСписокФорматов : Текст; Данные : СтатическиеДанные) : строка;
переменные
  ИндексКл:целое;
  формат:строка;
  ПолеКл, КлассификаторСтрока : строка;
начало
  Результат  := '';
  от ИндексКл := 0 до ткстСписокФорматов.Количество-1 делать
  НАЧАЛО 
    попытка
      ПолеКл := ткстСписокФорматов.ИмяПараметра(ИндексКл);
      формат := ткстСписокФорматов.ЗначениеПараметра(ПолеКл);
      ПолеКл := Префикс + ПолеКл;
      Если Формат&lt;&gt;'#'  тогда 
        начало 
          // для буквенных классификаторов нужно выводить не код а занчение 
          КлассификаторСтрока := ФорматироватьКлассификатор(Данные.Поле(ПолеКл).КакЦелое, формат);
          если (Позиция("KVSR", Прописные(ПолеКл)) &lt;&gt; 0) и (Данные.ПолеПоИмени(ПолеКл).КакСтрока &lt;&gt; '') тогда
             КлассификаторСтрока := Разыменовать("КВСРКлюч.Код", Данные.ПолеПоИмени(ПолеКл).КакСтрока);
          если (Позиция("KVR", Прописные(ПолеКл)) &lt;&gt; 0) и (Данные.ПолеПоИмени(ПолеКл).КакСтрока &lt;&gt; '') тогда
            КлассификаторСтрока := Разыменовать("КВРКлюч.Код", Данные.ПолеПоИмени(ПолеКл).КакСтрока);
          если (Позиция("KCSR", Прописные(ПолеКл)) &lt;&gt; 0) и (Данные.ПолеПоИмени(ПолеКл).КакСтрока &lt;&gt; '') тогда
           КлассификаторСтрока := Разыменовать("КЦСРКлюч.Код", Данные.ПолеПоИмени(ПолеКл).КакСтрока);
          если результат="" тогда 
            Результат := КлассификаторСтрока
          иначе 
            Результат := Результат+" "+КлассификаторСтрока;
        конец; 
    неудача
    конец;
  КОНЕЦ;  
конец; 

// преобразует дату к формату гггг.мм.дд
функция ФорматДат(Дата:целое): строка;
переменные
  ДатаСтрока: строка;
  i : целое;
начало
  ДатаСтрока := ЦелоеВСтроку(Дата);
  Результат := '';
  i:=1;
  пока i&lt;=8 делать
  начало
    выбрать i из
      1,2,3,5,7,8 : Результат := Результат + ДатаСтрока[i];
      4,6         : Результат := Результат + ДатаСтрока[i] + '-';  
    конец;
    i := i+1;   
  конец;
конец;



функция ДатаНаПолучитьТекст(П: Поле; Ткст: Строка; Показывать: целое);
начало
  если не П.Пустое тогда 
  начало
    попытка
      Ткст := ФорматироватьВремя('DD.MM.YYYY', РасширДатаВОбычную(П.КакЦелое));
    неудача
    конец;
  конец
  иначе 
    Ткст := "";
конец;

функция ДробноеНаДенежныйФормат(П: Поле; Ткст: Строка; Показывать: целое);
начало
  если не П.Пустое тогда 
  начало
    попытка
      Ткст :=  ФорматироватьДробное("### ### ##0.00",П.КакДробное);
    неудача
    конец;
  конец
  иначе 
    Ткст := "";
конец;


// подготавливаем данные к выводу на форму:
// формируем обобщающее поле классификации, получателя, плательщика
// разыменовка прогиндекса, типа классификации и др. 
функция ПодготовкаДанныхКПоказу(ИсходныеДанные : СтатическиеДанные; ткст_СписокКлассов, ткст_СписокФорматов, ткст_СписокТиповКлассификаций : Текст; КлассИсходногоДокумента : целое);  
переменные
  СтрокаКлассификации : строка;
  
  ПолеДатаВвода, полеНаименованиеПрогиндекса,
  ПолеДатаПринятия, 
  ПолеТипКлассификации, ПолеКлассификация,
  ПолеКодДоходаСтр, ПолеИсточникСтр,
  ПолеТипКлассификацииСтр,
  ПолеПримечание, ПолеПлательщик,
  ПолеПолучатель, ПолеНаименованиеПлательщика,
  ПолеНаименованиеПолучателя, ПолеСчетПлательщика,
  ПолеСчетПолучателя, ПолеПримечаниеРасш, 
  ПолеПрогиндекс, ПолеДатаВводаСтр,
  ПолеКлассификацияПлательщика,ПолеИсточникСтрПлательщика,
  ПолеКлассификацияПолучателя, ПолеИсточникСтрПолучателя,
  ПолеЛицевогоСчета, ПолеЛицевогоСчетаСтр, 
  ПолеЛицевогоСчетаПлательщика, ПолеЛицевогоСчетаПлательщикаСтр,
  ПолеЛицевогоСчетаПолучателя, ПолеЛицевогоСчетаПолучателяСтр,
  ПолеКодДоходаСтрПолучателя, ПолеКодДоходаСтрПлательщика,
  ПолеТипКлассификацииПлательщика, ПолеТипКлассификацииПолучателя,
  ПолеЭЛДок, ПолеЭлДокСтр, ПолеСумма, ПолеУточнено, ПолеОстаток, ПолеВозврат : поле;
   
  КоличествоЗаписей, ЭтоВП, ЭтоВПл, ЭтоУведомление,  
  ТипКлсПолуч, ТипКлсПлат, ЭтоПоступление : целое;
 
  КоличествоЗаписейСтр, НаименованиеПрогиндекса : строка;
  Прогресс : IProgress;
начало
  КоличествоЗаписей := ИсходныеДанные.RecordCount;
  Если КоличествоЗаписей = 0  тогда выход;
  ЭтоВП := ф_ЭтоВП(КлассИсходногоДокумента);
  ЭтоВПл := ф_ЭтоВПл(КлассИсходногоДокумента); 
  ЭтоПоступление := ВходитВГруппу(КлассИсходногоДокумента, группа_Поступление);
  ЭтоУведомление := (КлассИсходногоДокумента = Класс_УточнениеПоступлений) или 
                    (КлассИсходногоДокумента = Класс_УточнениеВыбытий);
  ПолеДатаВвода := ИсходныеДанные.Поле("Inputdate");
  ПолеДатаВвода.НаПолучитьТекст := Address("ДатаНаПолучитьТекст");
  ПолеСумма := ИсходныеДанные.Поле("Summa");
  ПолеСумма.НаПолучитьТекст := Address("ДробноеНаДенежныйФормат");
  ПолеУточнено := ИсходныеДанные.Поле("SummaDetail");
  ПолеУточнено.НаПолучитьТекст := Address("ДробноеНаДенежныйФормат");
  ПолеУточнено := ИсходныеДанные.Поле("SummaRemainder");
  ПолеУточнено.НаПолучитьТекст := Address("ДробноеНаДенежныйФормат");
  если (КлассИсходногоДокумента = Класс_ПоступлениеДоходов)  или (КлассИсходногоДокумента = Класс_УточнениеПоступлений) тогда
  начало
    ПолеВозврат := ИсходныеДанные.Поле("SummaReturn");
    ПолеВозврат.НаПолучитьТекст := Address("ДробноеНаДенежныйФормат");
  конец;
  ПолеДатаВводаСтр := ИсходныеДанные.Поле("InputdateStr");
  полеНаименованиеПрогиндекса := ИсходныеДанные.Поле("ProgIndexName");
  ПолеДатаПринятия := ИсходныеДанные.Поле("AcceptDate");
  полеДатаПринятия.НаПолучитьТекст := Address("ДатаНаПолучитьТекст"); 
  ПолеПримечаниеРасш := ИсходныеДанные.Поле("BasicNote");
  ПолеПримечание := ИсходныеДанные.Поле("Note");                                   
  ПолеПлательщик := ИсходныеДанные.Поле("Payerparent");
  ПолеПолучатель := ИсходныеДанные.Поле("acceptorParent");                         
  ПолеНаименованиеПлательщика := ИсходныеДанные.Поле("PayerOrgname");
  ПолеНаименованиеПолучателя := ИсходныеДанные.Поле("AcceptorOrgname"); 
  ПолеСчетПлательщика := ИсходныеДанные.Поле("PayerAcc");
  ПолеСчетПолучателя := ИсходныеДанные.Поле("AcceptorAcc");
  ПолеТипКлассификации := ИсходныеДанные.Поле("clsType"); 
  ПолеТипКлассификацииСтр := ИсходныеДанные.Поле("ClsTypeName");
  ПолеЭЛДок := ИсходныеДанные.Поле("ElREf"); 
  ПолеЭлДокСтр := ИсходныеДанные.Поле("ElRefStr");
  
  ЕСЛИ (не ЭтоВП) и (не ЭтоУведомление) и (не ЭтоВПл) тогда  
    начало 
      ПолеКодДоходаСтр := ИсходныеДанные.Поле("KdValue"); 
      ПолеИсточникСтр := ИсходныеДанные.Поле("Ifsvalue");
      ПолеКлассификация := ИсходныеДанные.Поле("ClsHeader");
      ПолеЛицевогоСчета := ИсходныеДанные.Поле("FacialAcc_Cls");    
      ПолеЛицевогоСчетаСтр := ИсходныеДанные.Поле("FacialAcc_Cls_Str");    
    конец
  ИНАЧЕ 
    начало
      ПолеКлассификацияПлательщика := ИсходныеДанные.Поле("SourceClsHeader");
      ПолеИсточникСтрПлательщика := ИсходныеДанные.Поле("Ifsvalue");
      
      ПолеКлассификацияПолучателя := ИсходныеДанные.Поле("DestClsHeader");
      ПолеИсточникСтрПолучателя := ИсходныеДанные.Поле("DestIfsvalue");
     

      ПолеЛицевогоСчетаПлательщика := ИсходныеДанные.Поле("SourceFacialAcc_Cls");    
      ПолеЛицевогоСчетаПлательщикаСтр := ИсходныеДанные.Поле("SourceFacialAcc_Cls_Str");
      ПолеЛицевогоСчетаПолучателя := ИсходныеДанные.Поле("DestFacialAcc_Cls");    
      ПолеЛицевогоСчетаПолучателяСтр := ИсходныеДанные.Поле("DestFacialAcc_Cls_Str");

      ПолеТипКлассификацииПлательщика := ИсходныеДанные.Поле("SourceClsType");
      ПолеТипКлассификацииПолучателя := ИсходныеДанные.Поле("DestClsType");
      если ЭтоВПл или ЭтоВП тогда
      начало
        ПолеКодДоходаСтрПлательщика := ИсходныеДанные.Поле("SourceKDValue");
        ПолеКодДоходаСтрПолучателя := ИсходныеДанные.Поле("DestKDValue");
      конец;    

      ЕСЛИ ЭтоУведомление тогда 
        начало
          ПолеКодДоходаСтрПлательщика := ИсходныеДанные.Поле("KDValue");
          ПолеКодДоходаСтрПолучателя := ИсходныеДанные.Поле("DestKDValue");
          ПолеТипКлассификацииПлательщика := ИсходныеДанные.Поле("ClsType");
          ПолеТипКлассификацииПолучателя := ИсходныеДанные.Поле("ClsType_Corr");
        конец;    
    конец;
    
  
  КоличествоЗаписей := ИсходныеДанные.RecordCount;
  КоличествоЗаписейСтр := ЦелоеВСтроку(КоличествоЗаписей);  
  ИсходныеДанные.ВНачало;
  Прогресс := Progress;
  Прогресс.BeginProgress;
  // так как прогиндекс у нас может быть только один - то можно воспользоваться переменной
  попытка
    НаименованиеПрогиндекса := ПолучитьНаименованиеДляДиалога(КлассИсходногоДокумента);
    Пока не ИсходныеДанные.ВКонце делать 
    начало
      Прогресс.SetMessage('Поиск исходного документа: подготовка данных к показу - запись ' +
                           ЦелоеВСтроку(ИсходныеДанные.RecNo) + ' из ' + 
                           КоличествоЗаписейСтр);
      Прогресс.SetProgress(100 * ИсходныеДанные.RecNo/КоличествоЗаписей );
                         
      ПолеНаименованиеПрогиндекса.КакСтрока := НаименованиеПрогиндекса;
      ПолеДатаВводаСтр.КакСтрока := DateExToStr(ПолеДатаВвода.КакЦелое);

      ПолеПримечаниеРасш.КакСтрока := ПолеПримечание.КакСтрока;// назначение
      // плательщик и получатель
      ПолеПлательщик.КакСтрока := ПолеНаименованиеПлательщика.КакСтрока + ' р/с: ' + ПолеСчетПлательщика.КакСтрока ;
      ПолеПолучатель.КакСтрока := ПолеНаименованиеПолучателя.КакСтрока + ' р/с: ' + ПолеСчетПолучателя.КакСтрока ;
    
      ЕСЛИ (не ЭтоВП) и (не ЭтоУведомление) и (не ЭтоВПл)тогда  
        начало
          ПолеЛицевогоСчетаСтр.КакСтрока := ФорматироватьКлассификатор(ПолеЛицевогоСчета.КакЦелое, '000.00.000.0');    
          //  смотрим на тип классификации и в зависимости от этого формируем строку классификации
          Выбрать ПолеТипКлассификации.КакЦелое из
            0 : СтрокаКлассификации := ПолучитьСтрокуРасходнойКлассификации('', ткст_СписокФорматов, ИсходныеДанные); // расходная  'Исправить код получения'  
            1 : СтрокаКлассификации := Разыменовать('ИсточникВнутр_Финансирования.ФорматированныйКод', ПолеИсточникСтр.КакСтрока); // источниковая   
            2 : СтрокаКлассификации := Разыменовать('КД.ФорматированныйКод', ПолеКодДоходаСтр.КакСтрока); // доходная
          конец;                                                                                 
          ПолеКлассификация.КакСтрока := СтрокаКлассификации;
          // разыменовываем тип классификации
          ПолеТипКлассификацииСтр.КакСтрока := ткст_СписокТиповКлассификаций.ЗначениеПараметра(ПолеТипКлассификации.КакЦелое);
        конец 
      ИНАЧЕ 
        начало
          ПолеЛицевогоСчетаПлательщикаСтр.КакСтрока := ФорматироватьКлассификатор(ПолеЛицевогоСчетаПлательщика.КакЦелое, '000.00.000.0');
          ПолеЛицевогоСчетаПолучателяСтр.КакСтрока := ФорматироватьКлассификатор(ПолеЛицевогоСчетаПолучателя.КакЦелое, '000.00.000.0');

          ЕСЛИ (ЭтоУведомление) или (ЭтоВПл) тогда
            начало
              ТипКлсПлат := ПолеТипКлассификацииПлательщика.КакЦелое;
              ТипКлсПолуч := ПолеТипКлассификацииПолучателя.КакЦелое;
            конец  
          ИНАЧЕ
            начало 
              ТипКлсПлат := ПолеТипКлассификации.КакЦелое;
              ТипКлсПолуч := ПолеТипКлассификации.КакЦелое;
            конец;  
                
          Выбрать ТипКлсПлат из
            0 : СтрокаКлассификации := ПолучитьСтрокуРасходнойКлассификации('Source', ткст_СписокФорматов, ИсходныеДанные); // расходная  
            1 : СтрокаКлассификации := Разыменовать('ИсточникВнутр_Финансирования.ФорматированныйКод', ПолеИсточникСтрПлательщика.КакСтрока); // источниковая
            2 : СтрокаКлассификации := Разыменовать('КД.ФорматированныйКод', ПолеКодДоходаСтрПлательщика.КакСтрока); // доходная           
          конец;                                                                                 
          ПолеКлассификацияПлательщика.КакСтрока := СтрокаКлассификации;
          
          Выбрать ТипКлсПолуч из
            0 : СтрокаКлассификации := ПолучитьСтрокуРасходнойКлассификации('Dest', ткст_СписокФорматов, ИсходныеДанные); // расходная  
            1 : СтрокаКлассификации := Разыменовать('ИсточникВнутр_Финансирования.ФорматированныйКод', ПолеИсточникСтрПолучателя.КакСтрока); // источниковая
            2 : СтрокаКлассификации := Разыменовать('КД.ФорматированныйКод', ПолеКодДоходаСтрПолучателя.КакСтрока); // доходная           
          конец;                                                                                 
          ПолеКлассификацияПолучателя.КакСтрока := СтрокаКлассификации;
          
          // разыменовываем тип классификации
          ПолеТипКлассификацииСтр.КакСтрока := ткст_СписокТиповКлассификаций.ЗначениеПараметра(ПолеТипКлассификации.КакЦелое);
        конец;    

      Если ПолеЭлДок.КакСтрока&lt;'1' тогда
        ПолеЭлДокСтр.КакСтрока := 'X';
     
      ИсходныеДанные.Next;
    конец; // конец исходных данных
  обязательно  
    Прогресс.EndProgress;
  конец;  
конец;

</value>
    <param value="ФункцииДляВизуализацииДокументов" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляВизуализацииДокументов" type="3" name="crc32">$F212B7AC</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляПакетнойЗамены">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\Documents.lib';

включить '\макросы\отчеты\поддержкаОтчетов.abl';
                                                
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';

включить 'project';


// списокПолейКлассификаторов ИмяПоляКлассификатора1=ИмяРазыменовки1,ИмяПоляКлассификатора2=ИмяРазыменовки2 и тд
функция ПроверитьЗначенияКлассификаторовНаНаличиеВСправочниках(списокПолейКлассификаторов : строка; данныеТаблицыПодстановок : СтатическиеДанные);
переменные
  ткстСписокПолей : Текст;
  имяПоля, имяРазыменовки : строка;
  сч, значениеПоля : целое;
начало
  ткстСписокПолей := СоздатьТекст;
  ткстСписокПолей.РазделенноеЗначение := списокПолейКлассификаторов;
  попытка
    от сч:=0 до ткстСписокПолей.Количество - 1 делать
    начало
      имяПоля := ткстСписокПолей.ИмяПараметра(сч);
      Если данныеТаблицыПодстановок.Поле(имяПоля).КакСтрока &lt;&gt; '' тогда
      начало
        значениеПоля := данныеТаблицыПодстановок.Поле(имяПоля).КакЦелое;
        имяРазыменовки := ткстСписокПолей.ЗначениеПараметра(имяПоля);
        Если Разыменовать(имяРазыменовки, значениеПоля) &lt;&gt; 1 тогда 
          ВызватьОшибку(Формат("В таблице подстановок не пройдена проверка корректности значений полей классификаторов: для справочника %s не найдено значение %d", ПолучитьЗначениеДоСимвола(имяРазыменовки, "."), значениеПоля));
      конец;
    конец;                                                                                                                                                                             
  обязательно
    УдалитьОбъект(ткстСписокПолей);
  конец;
конец;

// формируем строку ограничения по таблице замены классификаторов (задача переброски классификации)
функция СформироватьСтрокуОграниченияПоТаблицеЗамены(ТаблицаЗамены : СтатическиеДанные; Класс : целое; Коллекция : IVariables) : строка;
переменные
  ткст_СписокКл : Текст;
  Счетчик, Счетчик_Строк, Колво, группа : целое;
  ЛокКоллекция :  IVariables;
  ОдноОграничение, НаборОграничений, ОграничениеПоПрогиндексу : Строка;
начало
  ткст_СписокКл := СоздатьТекст;
  группа := ПолучитьГруппуПоКлассу(класс);
  Если ( не ВходитВГруппу(класс,Группа_Казначейство)) и (группа &lt;&gt; Группа_Уведомления) тогда
    ткст_СписокКл.Значение := МаппингКлКтаблицеЗамены(0)
  иначе
    ткст_СписокКл.Значение := МаппингКлКтаблицеЗамены(3); 
  Колво := ткст_СписокКл.Количество-1;
  ЛокКоллекция := CreateVariables;
  ОдноОграничение := ''; 
  НаборОграничений := '';  
  
  ТаблицаЗамены.ВНачало;
  Счетчик_Строк := 0;
  Пока не ТаблицаЗамены.Вконце делать 
  НАЧАЛО
    Счетчик_Строк := Счетчик_Строк + 1;
    Коллекция.Значение('ЛокКоллекцияПараметров'+ЦелоеВСтроку(Счетчик_Строк)) := CreateVariables;
    ЛокКоллекция.Значение("ЭтоЕксел") := Истина;
    ЛокКоллекция.Значение('КодБюджета') := Коллекция.Значение('КодБюджета');
    ЛокКоллекция.Значение('СчетФО') := Коллекция.Значение('СчетФО');
    ЛокКоллекция.Значение("ТипИнтерфейса") := Коллекция.Значение("ТипИнтерфейса");
    если СчетВДиалог тогда
    начало
      ЛокКоллекция.Значение('СчетПлат') := Коллекция.Значение('СчетПлат');
      ЛокКоллекция.Значение('СчетПолуч') := Коллекция.Значение('СчетПолуч');
    конец;
    Счетчик := 0; 
    Пока (счетчик &lt;= Колво) делать 
    начало
      попытка
        Если ТаблицаЗамены.НайтиПоле('Source' + ткст_СписокКл.ЗначениеПараметра(ткст_СписокКл.ИмяПараметра(Счетчик))) тогда 
          начало
            // все ограничения делаем на равно
            // параметр КодЦелевыхСредствКлюч требуется заменить на КодЦелевыхСредств
            если ткст_СписокКл.ИмяПараметра(Счетчик) &lt;&gt; 'КодЦелевыхСредств' тогда
            начало 
              ЛокКоллекция.Значение(ткст_СписокКл.ИмяПараметра(Счетчик)) := ТаблицаЗамены.Поле('Source' + ткст_СписокКл.ЗначениеПараметра(ткст_СписокКл.ИмяПараметра(Счетчик))).КакСтрока;
              Если не СтроковоеПоле(ткст_СписокКл.ЗначениеПараметра(ткст_СписокКл.ИмяПараметра(Счетчик))) тогда
                Если ЛокКоллекция.Значение(ткст_СписокКл.ИмяПараметра(Счетчик)) &lt;&gt; '' тогда 
                  ЛокКоллекция.Значение(ткст_СписокКл.ИмяПараметра(Счетчик)) := ЛокКоллекция.Значение(ткст_СписокКл.ИмяПараметра(Счетчик));
            конец
            иначе
            начало
              ЛокКоллекция.Значение('КодЦелевыхСредств') := ТаблицаЗамены.Поле('Source' + ткст_СписокКл.ЗначениеПараметра(ткст_СписокКл.ИмяПараметра(Счетчик))).КакСтрока; 
            конец;
                  
          конец;  
      неудача
      конец;    
      Счетчик := Счетчик +1;
    конец; //  пока
    // здесь ставим ограничение по типу классификации - если в новой классификации есть значение у какого нибудь расходного классификатора
    // тогда ставим что выбираем только документы с расходной классификацией
    // 23.04.2012 egorbunov для Внутренних платежей не нужно ограничивать по типу классификации 
    Если не ((Класс=Класс_ВПл_Выбытие) или (Класс=Класс_ВПл_Поступление)) тогда
    начало
      Если  ЕстьРасходнаяВИсхКлс(ТаблицаЗамены) тогда 
        ЛокКоллекция.Значение('ТипКлассификации') := 0
      иначе 
        Если ЕстьДоходнаяКлассификацияВИсхКлс(ТаблицаЗамены) тогда
          ЛокКоллекция.Значение('ТипКлассификации') := 2
        иначе 
          Если ЕстьИсточниковаяКлассификацияВИсхКлс(ТаблицаЗамены) тогда
            ЛокКоллекция.Значение('ТипКлассификации') := 1;  
        конец;
    ОдноОграничение := УниверсальноеОграничение(Класс, ЛокКоллекция);
    //удаляем and и ставим скобочки
    ОдноОграничение := '(' + Подстрока(ОдноОграничение, 5, Длина(ОдноОграничение)-4) + ')';
    Если НаборОграничений ='' тогда 
      НаборОграничений := ОдноОграничение
    иначе 
      НаборОграничений := НаборОграничений + nl + ' or ' + nl + ОдноОграничение;
    IVariables( Коллекция.Значение('ЛокКоллекцияПараметров'+ЦелоеВСтроку(Счетчик_Строк))).PumpData(ЛокКоллекция);
    ЛокКоллекция.Clear;  
    ТаблицаЗамены.Next;  
    
  КОНЕЦ; // прошли всю таблицу замены
    
  // ограничиваем по прогиндексу
  ЛокКоллекция.Значение('ИндексыДанных') := Класс;
  Если (Класс=Класс_ВП_Выбытие) или (Класс=Класс_ВП_Поступление) тогда 
    ЛокКоллекция.Значение('ИндексыДанных') := Класс_ВнутренниеПереброскиРасходов; 
  Если (Класс=Класс_ВПл_Выбытие) или (Класс=Класс_ВПл_Поступление) тогда 
    ЛокКоллекция.Значение('ИндексыДанных') := Класс_ВнутренниеПлатежиРасходов;  
  ОграничениеПоПрогиндексу := УниверсальноеОграничение(Класс, ЛокКоллекция);
  НаборОграничений := '(' + НаборОграничений + ')' + ОграничениеПоПрогиндексу;
  Результат := НаборОграничений; 
конец;

// Записываем в поле ИмяПоляИзмененияКлассификации информацию о том какие классификаторы должны замениться 
функция  СформироватьКлассификациюДляЗаменыВТекущемДокументе(сс_ТаблицаЗамены, сс_ИсходныеДокументы : СтатическиеДанные; МаппингКлассификаторов : текст);
переменные
  ткст_ЗначенияКлассификаторов : текст;                                                          
  счетчик : целое;
  ИмяКлс :  строка;
начало
  ткст_ЗначенияКлассификаторов := СоздатьТекст;
  // сначала загружаем то что уже накопилось и потом это изменяем  
  ткст_ЗначенияКлассификаторов.Значение := сс_ИсходныеДокументы.Поле(ИмяПоляИзмененияКлассификации).КакСтрока;
  от счетчик := 0 до МаппингКлассификаторов.Количество-1 делать 
  НАЧАЛО 
    ИмяКлс := МаппингКлассификаторов.ИмяПараметра(Счетчик);
    попытка
      //Если в таблице замены классификатор не заполнен, то проставлять ничего не надо
      если не сс_ТаблицаЗамены.Поле("Dest"+ИмяКлс).Пустое тогда 
        ткст_ЗначенияКлассификаторов.ЗначениеПараметра(ИмяКлс)  :=  сс_ТаблицаЗамены.Поле("Dest"+ИмяКлс).КакСтрока;
    неудача
    конец; 
  КОНЕЦ; // бежим по маппингу классификаторов
  
  сс_ИсходныеДокументы.Поле(ИмяПоляИзмененияКлассификации).КакСтрока := ткст_ЗначенияКлассификаторов.Значение;
конец;


// считываем из поля ИмяПоляИзмененияКлассификации информацию о том какие классификаторы изменились и их значения и проставляем эти значения 
функция  ПроставитьНовуюКлассификациюВТекущемДокументе(ссИсходныеДокументы : СтатическиеДанные; МаппингКлассификаторов : текст);
переменные
  ткстЗначенияКлассификаторов : текст;
  счетчик : целое;
  ИмяКлс, ЗначениеКлс, ИмяКлсИсходногоДокумента :  строка;
начало
  ткстЗначенияКлассификаторов := СоздатьТекст;
  ПОПЫТКА
    // сначала загружаем то что уже накопилось и потом это изменяем  
    ткстЗначенияКлассификаторов.Значение := ссИсходныеДокументы.Поле(ИмяПоляИзмененияКлассификации).КакСтрока;
    от счетчик := 0 до ткстЗначенияКлассификаторов.Количество-1 делать 
    начало 
      ИмяКлс := ткстЗначенияКлассификаторов.ИмяПараметра(Счетчик);
      ЗначениеКлс := ткстЗначенияКлассификаторов.ЗначениеПараметра(ИмяКлс);
      ИмяКлсИсходногоДокумента := МаппингКлассификаторов.ЗначениеПараметра(ИмяКлс);
      ссИсходныеДокументы.Поле(ИмяКлсИсходногоДокумента).КакСтрока := ЗначениеКлс; 
    конец; // бежим по значениям изменённых классификаторов
  ОБЯЗАТЕЛЬНО
    УдалитьОбъект(ткстЗначенияКлассификаторов);
  КОНЕЦ;
конец;

// проставляем новую классификацию 
функция  ПроставитьНовуюКлассификациюВДокументах(сс_ИсходныеДокументы : СтатическиеДанные; МаппингКлассификаторов : текст);
начало
  сс_ИсходныеДокументы.ВНачало;
  Пока не сс_ИсходныеДокументы.Вконце делать
  начало
    ПроставитьНовуюКлассификациюВТекущемДокументе(сс_ИсходныеДокументы, МаппингКлассификаторов);
    сс_ИсходныеДокументы.Next;
  конец;
конец;

функция ЗаполнитьСтандартныеСписки(ткст_СписокСоответствияКлючевыхПолей,ткст_СписокСоответствияРезультирующихПолей : Текст);
переменные 
  ст_СоответсвиеКлючевыхПолей, ст_СоответствиеРезультирующихПолей, СчетПоУмолчанию : строка;
начало 
  ст_СоответсвиеКлючевыхПолей :=  "ПоляЛицевыхСчетов=FacialAcc_Cls,SourceFacialAcc_Cls,DestFacialAcc_Cls"+';'+
                                  "ПоляОрганизацииПолучателя=AcceptorAccRef,AcceptorOrgRef"+';'+
                                  "ПоляОрганизацииПлательщика=PayerAccREf,PayerOrgRef"+';'+
                                  "ПоляДоговоровИБО=Promise,BudgetPromise,ExecDoc"+';'+
                                  "Направление=DirectionCls"+';'+
                                  "Мероприятие=Fact"+';'+
                                  "ТипСредств=MeansType"+';'+
                                  "ИсточникФинасирования=FinSource"+';'+
                                  "ИсточникОбразования=FundsSource"+';'+
                                  "ТипФинансирования=FinType"+';'+
                                  "ТипДокумента=DocType"+';'+
                                  "ВидЦелевыхСредств=TransfertCls"+';'+
                                  "КодСубсидии=SUBSIDYCLS"+';'+
                                  "КодБюджетногоАссигнования=BudAllocationCls"+';'+                                                      
                                  "КодРасходногоОбязательства=PayPromiseCls"+';'+
                                  "Район=RegionCls"+';'+
                                  "СубКЭСР=SubKesr"+';'+
                                  "ПоляБлокировок=IsBlocked,BlockedCause,UnBlockedDate,UnBlockedCause";

//'OrgName=OrgName,Acc=Acc,OrgInn=OrgInn,OrgInn20=OrgINN20,BankName=Bankname,BankMFO=BankMfo,BankCor=BankCor'
  СчетПоУмолчанию :=  ПолучитьСсылкуПоСчету(ПолучитьПараметрИзНастроек(4, 0, 'Счет организации по умолчанию при пакетной замене'));                                
  ст_СоответствиеРезультирующихПолей := "ПоляЛицевыхСчетов=FacialAcc_Cls=0;SourceFacialAcc_Cls=0;DestFacialAcc_Cls=0"+nl+
                                        "ПоляОрганизацииПолучателя=AcceptorAccRef=" + СчетПоУмолчанию + ";AcceptorOrgRef='';AcceptorACC='';AcceptorOrgName='';AcceptorOrgINN='';AcceptorOrgINN20=''"+nl+
                                        "ПоляОрганизацииПлательщика=PayerAccREf=" + СчетПоУмолчанию + ";PayerOrgRef='';PayerACC='';PayerOrgName='';PayerOrgINN='';PayerOrgINN20=''"+nl+
                                        "ПоляДоговоровИБО=Promise='';BudgetPromise='';ExecDoc=''"+nl+
                                        "Направление=DirectionCls=0"+nl+
                                        "Мероприятие=Fact=0"+nl+
                                        "ТипСредств=MeansType=0"+nl+
                                        "ИсточникФинасирования=FinSource=0"+nl+
                                        "ИсточникОбразования=FundsSource=0"+nl+
                                        "ТипФинансирования=FinType=0"+nl+
                                        "ТипДокумента=DocType=0"+nl+
                                        "КодСубсидии=SUBSIDYCLS=0"+nl+
                                        "КодБюджетногоАссигнования=BudAllocationCls=0"+nl+
                                        "КодРасходногоОбязательства=PayPromiseCls=0"+nl+
                                        "Район=RegionCls=0"+nl+
                                        "СубКЭСР=SubKesr=0"+nl+
                                        "ПоляБлокировок=IsBlocked=0,BlockedCause='',UnBlockedDate='',UnBlockedCause=''";
                                  
  ткст_СписокСоответствияКлючевыхПолей.РазделенноеЗначение(';') := ст_СоответсвиеКлючевыхПолей;
  ткст_СписокСоответствияРезультирующихПолей.РазделенноеЗначение := ст_СоответствиеРезультирующихПолей;
конец;

// эта функция возвращает маппинг, по которому будут сгруппированы исходные документы при 
// обработке через ексел (так как при уточнении множестав документов с одинаковой классификацией)
// нам не нужно указывать в пакете атрибуты исходного документа

// на основе настроек интерфейса возвращаем поля группировки;   
функция ПолныйМаппингГруппировки(ТипИнтерфейса: целое): строка;
переменные 
  МаппингКлючевыхПолей, МаппингРезультирующихПолей, НаименованиеПараметра : строка;
  ткст_СписокПолейГруппировкиИзНастроек,
  ткст_СписокСоответствияКлючевыхПолей, 
  ткст_СписокСоответствияРезультирующихПолей, 
  ткст_СтандартныйСписок : Текст;
  сч : Целое;
начало
  ткст_СтандартныйСписок := СоздатьТекст;
  ткст_СтандартныйСписок.РазделенноеЗначение := 'ПоляЛицевыхСчетов,ПоляОрганизацииПолучателя,ПоляОрганизацииПлательщика,ПоляДоговоровИБО,Направление,Мероприятие,ТипСредств,ИсточникФинасирования,ТипФинансирования,ТипДокумента,ВидЦелевыхСредств,Район,КодРасходногоОбязательства,КодБюджетногоАссигнования,КодСубсидии,СубКЭСР,ПоляБлокировок';
  МаппингКлючевыхПолей := "ProgIndex,BudgetRef,ClsType,KVSR,KFSR,KVR,KCSR,KESR,KD,IFS,OperationDirection";
  МаппингРезультирующихПолей := "PayTypeCls='';PayPriority='';PaySymbolCls='';Note='';TaxNote='';DocBase='';SubKd='';NDS=0;MasterId=0;RecordIndex=0;DocNumber='';InputDate='';AcceptDate='';
                                 ElRef='';OriginalDate='';OriginalSumma=0;OriginalNote='';summa=sum(summa);debit=sum(debit); SummaRemainder=sum(SummaRemainder)";
  ткст_СписокПолейГруппировкиИзНастроек := СоздатьТекст;
  если ТипИнтерфейса = 312 тогда
    ткст_СписокПолейГруппировкиИзНастроек.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4, 0, 'Поля группировки при пакетной замене (поступление)')
  иначе
    ткст_СписокПолейГруппировкиИзНастроек.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4, 0, 'Поля группировки при пакетной замене (выбытие)');
  
  Если ткст_СписокПолейГруппировкиИзНастроек.Количество=0 тогда 
    ткст_СписокПолейГруппировкиИзНастроек.РазделенноеЗначение := 'ПоляЛицевыхСчетов,ПоляОрганизацииПолучателя,ПоляОрганизацииПлательщика,ПоляДоговоровИБО,Направление,Мероприятие,ТипСредств,ИсточникФинасирования,ТипФинансирования,ТипДокумента,ВидЦелевыхСредств,Район,КодРасходногоОбязательства,КодБюджетногоАссигнования,КодСубсидии,СубКЭСР,ПоляБлокировок';
  
  ткст_СписокСоответствияКлючевыхПолей := СоздатьТекст;
  ткст_СписокСоответствияРезультирующихПолей := СоздатьТекст;
  ЗаполнитьСтандартныеСписки( ткст_СписокСоответствияКлючевыхПолей,ткст_СписокСоответствияРезультирующихПолей);
  
  от сч := 0 до (ткст_СтандартныйСписок.Количество-1) делать 
  начало
    НаименованиеПараметра := ткст_СтандартныйСписок.стр(сч);
    Если ткст_СписокПолейГруппировкиИзНастроек.Поиск(НаименованиеПараметра)&lt;&gt;-1 тогда 
      МаппингКлючевыхПолей := МаппингКлючевыхПолей + ',' + ткст_СписокСоответствияКлючевыхПолей.ЗначениеПараметра(НаименованиеПараметра)
    иначе 
      МаппингРезультирующихПолей  := МаппингРезультирующихПолей + ';' + ткст_СписокСоответствияРезультирующихПолей.ЗначениеПараметра(НаименованиеПараметра); 
  конец; 
  
  Результат := "keys=" + МаппингКлючевыхПолей + ";" + МаппингРезультирующихПолей;
конец;

// Формирует строку фильтра для документов по заданному маппингу классификаторов. Может подставлять алиас
функция СобратьФильтрДокументовДляЗамены(ТаблицаЗамены: СтатическиеДанные; Маппинг: Текст; Алиас: строка; ВключатьПустые: целое; ТипИнтерфейса : целое): строка;
переменные
  Индекс: целое;
  ИмяКлс, ИмяПоля: строка;
  Префикс: строка;
  СписокКлсДляГруппировки : строка;
начало
  результат := "";
  Префикс := Алиас;
  СписокКлсДляГруппировки := Прописные(подстрока(ПолныйМаппингГруппировки(ТипИнтерфейса),1,позиция(';',ПолныйМаппингГруппировки(ТипИнтерфейса))-1));
  если Префикс &lt;&gt; "" тогда
    Префикс := Префикс + ".";
  //В цикле формируем строку ограничения типа "(алиас.классификатор1 = значение1) and (алиас.классификатор2 = значение2) ..."
  от Индекс := 0 до Маппинг.Количество-1 делать
  начало    
    ИмяКлс := Маппинг.ИмяПараметра(Индекс);
    попытка
      //если в таблице замены данный классификатор пустой, тогда в строку фильтра этот классификатор не попадает
      если (не ТаблицаЗамены.Поле("Source"+ИмяКлс).Пустое) и (позиция(Прописные(ИмяКлс),СписокКлсДляГруппировки)&lt;&gt;0) тогда
        начало    
          ИмяПоля := Маппинг.ЗначениеПараметра(ИмяКлс);
          если результат &lt;&gt; "" тогда
            результат := результат + " and ";
          ЕСЛИ ВключатьПустые тогда               
            результат := результат + "((" + Префикс + ИмяПоля + " = " + ТаблицаЗамены.Поле("Source"+ИмяКлс).КакСтрока + ")or(" +
                                            Префикс + ИмяПоля + " is null))"
          ИНАЧЕ
            результат := результат + "(" + Префикс + ИмяПоля + " = " + ТаблицаЗамены.Поле("Source"+ИмяКлс).КакСтрока + ")";                                  
        конец;
    неудача
    конец;   
  конец;
конец;

функция ДобавитьПолеВТаблицуЗамены(ТаблицаЗамены: СтатическиеДанные);
переменные
  ссВспомогательный : СтатическиеДанные;
начало
  ссВспомогательный := СоздатьСтатическиеДанные;
  попытка
    ссВспомогательный.ПрисвоитьПоля(ТаблицаЗамены);
    ссВспомогательный.ДобавитьСтроковоеПоле("SourceTransfertClsValue", 500);
    ссВспомогательный.Открыть;
    ссВспомогательный.PumpData(ТаблицаЗамены, '');
    ТаблицаЗамены.Закрыть;
    ТаблицаЗамены.Запрос := '';
    ссВспомогательный.ВНачало;
    Пока не ссВспомогательный.Вконце делать
    начало
      ссВспомогательный.поле('SourceTransfertClsValue').какстрока := Разыменовать('ВидыЦелевыхСредствКлюч.Код', ссВспомогательный.Поле('SourceTransfertCls').КакСтрока);
      ссВспомогательный.Поле('SourceTransfertCls').Очистить;
      ссВспомогательный.Next;
    конец;
    ТаблицаЗамены.ПрисвоитьПоля(ссВспомогательный);
    ТаблицаЗамены.Открыть;
    ТаблицаЗамены.PumpData(ссВспомогательный, '');
  обязательно 
    удалитьОбъект(ссВспомогательный);
  конец;
конец;


// формируем список замены классификаций для каждой записи исходного документа.
// Это будет храниться в отдельном поле в виде разделенного значения

функция  СформироватьКлассификациюДляЗаменыВДокументах(сс_ТаблицаЗамены, сс_ИсходныеДокументы : СтатическиеДанные; МаппингКлассификаторов : текст; ТипИнтерфейса : целое; Коллекция : IVariables);
переменные
  сс_ИсходныеДокументыДляЗамены : СтатическиеДанные;
  Классификаторы: Текст;
  Индекс, ФлагИзменТипаДокумента, Счетчик_Строк: целое;
  ПолеКлс, ПолеТипДокумента: Поле;
  ЛокКоллекция : IVariables;
начало
  // создаём новый статиксет для того чтобы в нём можно было добавить новое поле,
  // в котором будет храниться список замены
//  ЛокКоллекция := CreateVariables;
  сс_ИсходныеДокументыДляЗамены := СоздатьСтатическиеДанные;
  Классификаторы := СоздатьТекст;
  попытка
    Классификаторы.РазделенноеЗначение := СписокПолейДляУстановкиТипаДокумента;
    сс_ИсходныеДокументыДляЗамены.ПрисвоитьПоля(сс_ИсходныеДокументы);
    сс_ИсходныеДокументыДляЗамены.ДобавитьСтроковоеПоле(ИмяПоляИзмененияКлассификации, 500);
    сс_ИсходныеДокументыДляЗамены.Открыть;
    сс_ИсходныеДокументыДляЗамены.PumpData(сс_ИсходныеДокументы, '');
    ПолеТипДокумента :=  сс_ИсходныеДокументыДляЗамены.Поле('NeedChangeDocType');
    сс_ИсходныеДокументы.Закрыть;    
    сс_ИсходныеДокументы.Запрос := '';
    сс_ТаблицаЗамены.ВНачало;
    Счетчик_Строк := 0;
    Пока не сс_ТаблицаЗамены.Вконце делать 
    начало
       Счетчик_Строк := Счетчик_Строк +1;
      // проверям нужно ли менять тип документ у заголовка 
      ФлагИзменТипаДокумента := Ложь;
      от Индекс := 0 до Классификаторы.Количество-1 делать
      начало
        ПолеКлс := сс_ТаблицаЗамены.ПолеПоИмени("Dest"+Классификаторы.Стр(Индекс));
        если (не ПолеКлс.Пустое) и (не ФлагИзменТипаДокумента) тогда
          ФлагИзменТипаДокумента := Истина;
      конец;
//      сс_ИсходныеДокументыДляЗамены.Фильтр :=  СобратьФильтрДокументовДляЗамены(сс_ТаблицаЗамены, МаппингКлассификаторов, "", нет, ТипИнтерфейса);
      сс_ИсходныеДокументыДляЗамены.Фильтр := "(1=1)" + Ограничение(МаппингКлКтаблицеЗамены(3), IVariables( Коллекция.Значение('ЛокКоллекцияПараметров'+ЦелоеВСтроку(Счетчик_Строк))));
      сс_ИсходныеДокументыДляЗамены.ВНачало;
      Пока не сс_ИсходныеДокументыДляЗамены.Вконце делать 
      начало
        СформироватьКлассификациюДляЗаменыВТекущемДокументе(сс_ТаблицаЗамены, сс_ИсходныеДокументыДляЗамены, МаппингКлассификаторов);
        ПолеТипДокумента.КакЦелое := ФлагИзменТипаДокумента;
        сс_ИсходныеДокументыДляЗамены.Next;
      конец;
      сс_ТаблицаЗамены.Next;
    конец;
    сс_ИсходныеДокументыДляЗамены.Фильтр := '';
    сс_ИсходныеДокументы.ПрисвоитьПоля(сс_ИсходныеДокументыДляЗамены);
    сс_ИсходныеДокументы.Открыть;
    сс_ИсходныеДокументы.PumpData(сс_ИсходныеДокументыДляЗамены, '');
  обязательно
    удалитьОбъект(сс_ИсходныеДокументыДляЗамены);  
  конец;
конец;


функция ПроверитьЕкселФайл(ТаблицаЗамены: СтатическиеДанные; Класс : целое) : целое;
переменные
  Маппинг: Текст;
  Индекс, НаличиеОграничения: целое;
  ИмяКлс : строка;
начало
  попытка
  Маппинг := СоздатьТекст;
  Маппинг.РазделенноеЗначение := ПолучитьТребуемыеПоляДляПзк(Класс);
  если  Маппинг.Количество &lt;&gt; 0 тогда
  начало
    НаличиеОграничения := Ложь;
    Индекс := 0;
    Пока (Индекс &lt;&gt; Маппинг.Количество) и (не НаличиеОграничения) делать
    начало    
      ИмяКлс := Маппинг.стр(Индекс);
      //если в таблице замены данный классификатор пустой, тогда в строку фильтра этот классификатор не попадает
      если (не ТаблицаЗамены.Поле("Source"+ИмяКлс).Пустое) или (не ТаблицаЗамены.Поле("Dest"+ИмяКлс).Пустое) тогда
        НаличиеОграничения := Истина;
      Индекс := Индекс + 1;                                        
    конец;
  конец;  
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец; 
  Результат :=  НаличиеОграничения;
конец;


</value>
    <param value="ФункцииДляПакетнойЗамены" type="3" name="Export">EGORBUNOV\egorbunov\06.05.2013 14:15:39</param>
    <param value="ФункцииДляПакетнойЗамены" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляПакетнойЗамены" type="3" name="crc32">$DAECB16B</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляПолученияИсходныхДокументов">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\Documents.lib';                                                
включить '\Библиотеки\Control.lib';
включить "Project";
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляПакетнойЗамены';
включить '\Макросы\Уведомления\ФункцииДляВизуализацииДокументов';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений'; 
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаПроекта.abl';

константы

  к_СписокФорматов = "KVSR=000"#13#10
                     "KFSR=0000"#13#10
                     "KCSR=0000000"#13#10
                     "KVR=000"#13#10
                     "KESR=000"#13#10;
                     
  к_СписокТиповКлассификаций = "0=Расходная"#13#10
                               "1=Источниковая"#13#10
                               "2=Доходная"#13#10 ;
                               
  к_ЗначениеНастройки_ВсеДокументы = '2';
  к_ЗначениеНастройки_ОдинаковаяКлассификация = '1';                              

функция ПроверитьПраваНаЛСУРМ(Коллекция: IVariables); будущая;
функция ПроверитьПраваНаЛС(Коллекция: IVariables); будущая;

функция ПересчетСуммыИсхДокумента(ссДетНевыясненных, сс_ИсходныеДокументы : СтатическиеДанные; СписокИдИхДокументов : строка) ;
переменные
  СуммаДеталиПоступлениеНевыясненныхКредит, СуммаДеталиПоступлениеНевыясненныхДебит, СуммаДеталиПоступлениеНевыясненных,
  СуммаУточнения, СуммаОстаткаУточнения: поле;
  ссДляПодсчета : СтатическиеДанные;
  СписокИдТекст : текст;
начало
  ссДляПодсчета := СоздатьСтатикСет;
  СписокИдТекст := СоздатьТекст;
  попытка
    ссДетНевыясненных.Закрыть;
    ссДетНевыясненных.СоединитьБД;
    ссДетНевыясненных.Запрос := ПолучитьЗапросДеталиНевыясненных;
    СписокИдТекст.РазделенноеЗначение := СписокИдИхДокументов; 
    ссДетНевыясненных.Параметр('id') := ПолучитьОграничениеПоСпискуИд('inc.recordindex',СписокИдТекст,Ложь);
    ссДетНевыясненных.Открыть;
    // вычисляем сумму по каждой записи детали
    // вычисляем сумму по каждой записи детали
    ссДетНевыясненных.вНачало;
    СуммаДеталиПоступлениеНевыясненныхКредит := ссДетНевыясненных.Поле('credit');
    СуммаДеталиПоступлениеНевыясненныхДебит := ссДетНевыясненных.Поле('debit');
    СуммаДеталиПоступлениеНевыясненных := ссДетНевыясненных.Поле('SummaIncDet');
    пока не ссДетНевыясненных.вКонце делать
    начало
      СуммаДеталиПоступлениеНевыясненных.КакДробное := Мод(СуммаДеталиПоступлениеНевыясненныхКредит.какДробное) + Мод(СуммаДеталиПоступлениеНевыясненныхДебит.какДробное); 
      если (СуммаДеталиПоступлениеНевыясненных.КакДробное &lt; 0.005) и (СуммаДеталиПоступлениеНевыясненных.КакДробное &gt; -0.005) тогда
        СуммаДеталиПоступлениеНевыясненных.КакСтрока := ''; // что бы не отображался 0
      ссДетНевыясненных.Следующая;
    конец;
    // вычисляем сумму по всёй детали
    ссДляПодсчета.ПрисвоитьПоля(ссДетНевыясненных);
    ссДляПодсчета.Открыть;
    ссДляПодсчета.GroupData(ссДетНевыясненных, "keys=id;SummaIncDet=sum(SummaIncDet)");
    // перенос суммы в уведомление
    сс_ИсходныеДокументы.GroupData(ссДляПодсчета, "insert=false;default=false;keys=id;SummaIncDet=SummaIncDet");
    сс_ИсходныеДокументы.Фильтр :=  'SummaIncDet&lt;&gt;0';
    сс_ИсходныеДокументы.ВНачало;
    СуммаУточнения := сс_ИсходныеДокументы.Поле('SummaDetail');
    СуммаДеталиПоступлениеНевыясненных := сс_ИсходныеДокументы.Поле('SummaIncDet');
    СуммаОстаткаУточнения := сс_ИсходныеДокументы.Поле('SummaRemainder');
    пока не сс_ИсходныеДокументы.ВКонце  делать
    начало
      СуммаУточнения.КакДробное := СуммаУточнения.КакДробное + СуммаДеталиПоступлениеНевыясненных.какдробное;
      СуммаОстаткаУточнения.КакДробное := СуммаОстаткаУточнения.КакДробное - СуммаУточнения.КакДробное;
      если (СуммаУточнения.КакДробное &lt; 0.005) и (СуммаУточнения.КакДробное &gt; -0.005) тогда
        СуммаУточнения.КакСтрока := ''; // что бы не отображался 0   
      сс_ИсходныеДокументы.Next;
    конец;
    сс_ИсходныеДокументы.Фильтр := '';
  обязательно
    УдалитьОбъект(ссДляПодсчета);
  конец;  
конец;



функция ПодсчитатьСуммуУточненныхДокументов(сс_ИсходныеДокументы: СтатическиеДанные; Класс : целое = 0);
переменные
  ссДляПодсчета, ссДетНевыясненных: СтатическиеДанные;
  СписокИдИхДокументов : строка;
  пОстаток: Поле;
начало
  ссДляПодсчета := СоздатьСтатикСет;
  попытка
    ссДляПодсчета.ПрисвоитьПоля(сс_ИсходныеДокументы);
    ссДляПодсчета.Открыть;
    если (Класс = Класс_УточнениеПоступлений) тогда 
      ссДляПодсчета.GroupData(сс_ИсходныеДокументы, "keys=ID;SummaDetail=sum(SummaDetail);SummaReturn=sum(SummaReturn)")
    иначе
      если (Класс = Класс_ПоступлениеДоходов) тогда
        ссДляПодсчета.GroupData(сс_ИсходныеДокументы, "keys=ID;SummaDetail=sum(SummaDetail);SummaReturn=sum(SummaReturn+SummaReturnInc)")
      иначе  
        ссДляПодсчета.GroupData(сс_ИсходныеДокументы, "keys=ID;SummaDetail=sum(SummaDetail)");

    сс_ИсходныеДокументы.Очистить;
    если (Класс = Класс_ПоступлениеДоходов) или (Класс = Класс_УточнениеПоступлений) тогда 
      сс_ИсходныеДокументы.GroupData(ссДляПодсчета, "keys=id;SummaRemainder=sum(summa-SummaDetail-SummaReturn);")
    иначе  
      сс_ИсходныеДокументы.GroupData(ссДляПодсчета, "keys=id;SummaRemainder=sum(summa-SummaDetail)");
    // если Класс_ПоступлениеНевыясненных то тогда нужно вычесть суммы детали.    
    если Класс = Класс_ПоступлениеНевыясненных тогда
    начало
      ссДетНевыясненных := СоздатьСтатикСет;
      СписокИдИхДокументов := GetLimitStr(сс_ИсходныеДокументы,'Id');
      если СписокИдИхДокументов &lt;&gt; '' тогда
        ПересчетСуммыИсхДокумента(ссДетНевыясненных,сс_ИсходныеДокументы,СписокИдИхДокументов);
    конец;  
    // округляем сумму остатка
    пОстаток := сс_ИсходныеДокументы.Поле("SummaRemainder");
    сс_ИсходныеДокументы.Вначало;
    пока не сс_ИсходныеДокументы.Вконце делать
    начало                   
      пОстаток.КакДробное := ОкруглитьДоЗнака(пОстаток.КакДробное, 2);
      сс_ИсходныеДокументы.Следующий;                                                                                              
    конец;
  обязательно
    УдалитьОбъект(ссДляПодсчета);
  конец;
конец;

// todo переименовать - непонятно что делает исходя из названия
функция ОткрытьДанныеПоОграничениям(класс : целое; локКоллекция : IVariables) : СтатическиеДанные;
переменные 
  ссДанные : СтатическиеДанные;  
начало
  ссДанные := СоздатьСтатикСет;
  ссДанные.Запрос := ПолучитьЗапросПоКлассу(класс, локКоллекция);
  СформироватьОграничения(ссДанные, класс, локКоллекция);    
  ссДанные.Открыть;
  ПодсчитатьСуммуУточненныхДокументов(ссДанные);
  результат := ссДанные;
конец;

функция ЭтоПоступленияИНеУведомления(коллекция : IVariables) : целое;
начало
  результат := (коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений) и (не коллекция.Значение("ЭтоУведомления")); 
конец;

функция ЭтоВыбытияИНеУведомления(коллекция : IVariables) : целое;
начало
  результат := (коллекция.Значение("ТипИнтерфейса") = ту_УточнениеВыбытий) и (не коллекция.Значение("ЭтоУведомления"));
конец;

функция ЭтоУведомления(коллекция : IVariables) : целое;
начало
  результат := коллекция.Значение("ЭтоУведомления");
конец;

функция ВернутьНедостающиеДанные(ссИсходныеДокументы : СтатическиеДанные; коллекция : IVariables) : СтатическиеДанные;
переменные
  локКоллекция : IVariables;
  кодДокументаЭО, кодДокумента : строка;
  класс, исходныйКласс : целое;
начало
  Результат := nil;
  локКоллекция  := CreateVariables;
  локКоллекция.Значение('КодЗаписи') := '#' + GetLimitStr(ссИсходныеДокументы, 'ID');
  кодДокументаЭО := ВернутьСписокЗначенийПоля(ссИсходныеДокументы, "ElRef");
  кодДокумента := ВернутьСписокЗначенийПоля(ссИсходныеДокументы, "MasterId");
  исходныйКласс := ссИсходныеДокументы.Поле("ProgIndex").КакЦелое;
  если (кодДокументаЭО&lt;&gt;"-1") или (кодДокумента&lt;&gt;"-1") тогда 
    начало
      если ЭтоПоступленияИНеУведомления(коллекция) тогда 
        начало
          Если (КодДокументаЭО = "-1") и ((исходныйКласс = Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) или (исходныйКласс = Класс_ПриходОтПрочих)  ) тогда 
            локКоллекция.Значение("КодЗаголовка") := кодДокумента
          иначе  
            локКоллекция.Значение('КодДокументаЭО') := кодДокументаЭО;
          класс := класс_ПриходОтПрочих;  
        конец;
      //  
      если ЭтоВыбытияИНеУведомления(коллекция) тогда
        начало
          Если исходныйКласс &lt;&gt; Класс_РаспоряжениеНаФинансирование тогда
            начало
              локКоллекция.Значение('КодЗаголовка') := кодДокумента;
              класс := класс_ПлатежныеПоручения;
            конец 
          иначе
            начало
              локКоллекция.Значение('КодДОкументаЭОВыбытие') := кодДокументаЭО;
              класс := класс_РаспоряжениеНаФинансирование;              
            конец; 
        конец;
      //  
      если ЭтоУведомления(коллекция) тогда 
        начало
          локКоллекция.Значение("КодЗаголовка") := кодДокумента;
          локКоллекция.Значение('УведомленияКакИсходныйДокументДляКор_или_Нов') := 1;
          класс := коллекция.Значение("ТипИнтерфейса");
        конец; 
      //
      Результат := ОткрытьДанныеПоОграничениям(класс, ЛокКоллекция);
    конец; //коддокумента &lt;&gt;-1 
конец;

функция ДополнитьНедостающими(ссИсходныеДокументы : СтатическиеДанные; Коллекция : IVariables);
переменные 
  ссНедостающие, ссВспомогательный, ссДобавляемые : СтатическиеДанные;
  Прогресс : IProgress;
начало
  Прогресс := Progress;
  Прогресс.BeginProgress;
  Прогресс.SetMessage('Подгрузка дополнительных уведомлений');
  // выбираем [все документы]
  если не Коллекция.Значение("ПоКлассификации") тогда
  начало
    ссНедостающие := ВернутьНедостающиеДанные(ссИсходныеДокументы, коллекция);
    ФорматироватьПоляИНН(ссНедостающие);
    ПодсчитатьСуммуУточненныхДокументов(ссНедостающие, коллекция.Значение(ип_КлассИсходногоДокумента));
    ссНедостающие.Фильтр := '(SummaRemainder &lt; 0,005)';
    ссНедостающие.Очистить;
    ссНедостающие.Фильтр := "";
    Если ссНедостающие &lt;&gt; nil тогда
    начало  
      ссИсходныеДокументы.PumpData(ссНедостающие, '');
      Прогресс.EndProgress;
      Если ссНедостающие.recordCount &lt;&gt; 0 тогда 
      начало
        ВывестиВПротокол(0, nil, '||||||||||||||||||||||||||||||||||||||||||||||||||' + nl);
        ВывестиВПротокол(0, nil, Формат(' Дополнительно подгружено %d документов', ссНедостающие.recordCount) + nl);      
      конец;    
      УдалитьОбъект(ссНедостающие);
    конец;
  конец
  иначе
  // выбираем [c одинаковой классификацией] 
  начало
    ссВспомогательный := СоздатьСтатикСет;
    ссДобавляемые := СоздатьСтатикСет; 
    попытка
      ссДобавляемые.ПрисвоитьПоля(ссИсходныеДокументы);
      ссВспомогательный.ПрисвоитьПоля(ссИсходныеДокументы);
      ссВспомогательный.Открыть;
      ссДобавляемые.Открыть;
      ссВспомогательный.PumpData(ссИсходныеДокументы,''); 
      ссИсходныеДокументы.ВНачало;
      пока не ссИсходныеДокументы.ВКонце  делать
      начало
        ссВспомогательный.Фильтр := 'id = '+ ссИсходныеДокументы.Поле('id').КакСтрока ;
        ссНедостающие := ВернутьНедостающиеДанные(ссВспомогательный, коллекция);
        ФорматироватьПоляИНН(ссНедостающие);
        ссНедостающие.Фильтр := '(KFSR='+ ссИсходныеДокументы.Поле('KFSR').КакСтрока +')'+
                                'and(KCSR='+ ссИсходныеДокументы.Поле('KCSR').КакСтрока  +')'+
                                'and(KVR='+ссИсходныеДокументы.Поле('KVR').КакСтрока+')'+
                                'and(KESR='+ссИсходныеДокументы.Поле('KESR').КакСтрока+')'+
                                'and(KVSR='+ссИсходныеДокументы.Поле('KVSR').КакСтрока+')';
        ссДобавляемые.PumpData(ссНедостающие,'');
        ссНедостающие.Фильтр := '';
        ссВспомогательный.Фильтр := '';
        ссНедостающие.Очистить;                         
        ссИсходныеДокументы.Следующий;
      конец;
      ссВспомогательный.Очистить;  
      ссВспомогательный.GroupData(ссДобавляемые, "keys=id");  
      Если ссВспомогательный &lt;&gt; nil тогда
        ссИсходныеДокументы.PumpData(ссВспомогательный,'');
      ссВспомогательный.Очистить;  
      ссВспомогательный.GroupData(ссИсходныеДокументы, "keys=id");
      Если ссВспомогательный &lt;&gt; nil тогда
      начало 
        ссИсходныеДокументы.Очистить;
        ссИсходныеДокументы.PumpData(ссВспомогательный,'');
      конец;
    обязательно
      Прогресс.EndProgress;
      УдалитьОбъект(ссНедостающие);
      УдалитьОбъект(ссВспомогательный);
      УдалитьОбъект(ссДобавляемые);
    конец;  
  конец;      
конец;

функция ВернутьОбрабатываемыеНаправленияОперации(Коллекция : Ivariables; НаименованиеПараметра : строка) : строка;
переменные
  ткст_СписокНаправленийОпераций : текст;
  Счетчик : целое;
  стр_Список : строка;
начало
  // смотрим в настройках с какими направлениями операции нам придётся работать
  ткст_СписокНаправленийОпераций := СоздатьТекст;
  Попытка 
    стр_Список := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПараметра);
    ткст_СписокНаправленийОпераций.РазделенноеЗначение(',', Ложь)  := стр_Список;
    Если ткст_СписокНаправленийОпераций.Количество=0 тогда 
      Результат := '0,1,2,3'  // по умолчанию обрабатываем все
    иначе 
      начало
        от Счетчик := 0 до ткст_СписокНаправленийОпераций.Количество-1 делать 
          ткст_СписокНаправленийОпераций.Стр(Счетчик) :=  КодНаправленияОперацииПоНаименованию(ткст_СписокНаправленийОпераций.Стр(Счетчик));
        Результат := ткст_СписокНаправленийОпераций.РазделенноеЗначение;    
      конец;
  обязательно
    УдалитьОбъект(ткст_СписокНаправленийОпераций);
  конец;
конец;


функция ф_ФормироватьУведомления(КлассИсходногоДокумента, НаправлениеОперации : целое; Коллекция : IVariables) : целое;
переменные
  стр_Список : строка;
начало
  ЕСЛИ (не ф_ЭтоВП(КлассИсходногоДокумента)) или (не Коллекция.Значение("ЭтоЕксел")) тогда 
    Результат := Истина  // если это не работа с внутренними перебросками тогда всегда формируем 
  ИНАЧЕ  
    начало 
      стр_Список := ВернутьОбрабатываемыеНаправленияОперации(nil, 'Формировать уведомления для направлений');// смотрим в настройках для каких направлений операции формировать уведомления
      Если Позиция(ЦелоеВСтроку(НаправлениеОперации), стр_Список)&lt;&gt;0 тогда 
        Результат := Истина;
    конец; 
конец;


функция ПолучитьИсходныеДокументы(Коллекция : IVariables) : СтатическиеДанные;
переменные
  Прогресс : IProgress;
  ЛокКоллекция : IVariables;
  ЭтоВП, ЭтоУведомления, Класс , ЭтоВПл : целое;
  сс_ИсходныеДокументы : СтатическиеДанные;
  ПричинаОтклонения, Сумма, СуммаДеталиПоступлениеНевыясненных, СуммаДеталиПоступлениеНевыясненныхДебит : поле;
начало
//инициализация переменных
  сс_ИсходныеДокументы := СоздатьСтатикСет;
  сс_ИсходныеДокументы.СоединитьБД;
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  Класс := ЛокКоллекция.Значение(ип_КлассИсходногоДокумента);
  ЭтоУведомления := (Класс=Класс_УточнениеПоступлений) или (Класс=Класс_УточнениеВыбытий);
  ЭтоВП := ф_ЭтоВП(Класс);
  ЭтоВПл := ф_ЭтоВПл(Класс); 
  
//выборка исходных документов
  Прогресс := Progress;
  Прогресс.BeginProgress;
  попытка
    Прогресс.SetMessage('Поиск исходного документа: выборка данных');
    //--// 
    Если не ЛокКоллекция.ПараметрСуществует("ТолькоПринятые") тогда
      ЛокКоллекция.Значение('ТолькоПринятые') := 1; 
    ЛокКоллекция.Значение("НеВыбиратьКорректирующиеДокументы") := Истина;
    Если (не ЭтоВП) и (не ЭтоУведомления) и не локКоллекция.ПараметрСуществует(ип_УточнятьТолькоОтправленные) тогда 
      ЛокКоллекция.Значение(ип_УточнятьТолькоОтправленные) := Истина;
    ЛокКоллекция.Значение(ип_УточнятьТолькоОтправленные) := Ложь;  
    ЛокКоллекция.Значение('НеВыбиратьПлатежкиПоНевыясненным') := Истина;
    //--//
    если ЭтоУведомления тогда 
      ЛокКоллекция.Значение('УведомленияКакИсходныйДокументДляКор_или_Нов') := истина;
    сс_ИсходныеДокументы.Запрос := ПолучитьЗапросПоКлассу(Класс, ЛокКоллекция);
    СформироватьОграничения(сс_ИсходныеДокументы, Класс, ЛокКоллекция);
    Если (ЭтоВП) или (ЭтоВПл) тогда 
      сс_ИсходныеДокументы.Параметр('Limits_Treasure_VP') := сс_ИсходныеДокументы.Параметр('Limits_Treasure_VP') + ' and (cpt.OperationDirection in (' + ВернутьОбрабатываемыеНаправленияОперации(ЛокКоллекция, 'Формировать уведомления для направлений') + '))';
    сс_ИсходныеДокументы.Открыть;
    ФорматироватьПоляИНН(сс_ИсходныеДокументы);
    ПричинаОтклонения := сс_ИсходныеДокументы.Поле('Reject_Cls_C');
    Если (Коллекция.Значение('КлассИсходногоДокумента') = класс_ПоступлениеНевыясненных) или  (Коллекция.Значение('КлассИсходногоДокумента') = Класс_ВыяснениеНевыясненных) тогда
    начало
      Сумма := сс_ИсходныеДокументы.Поле('Summa');
      СуммаДеталиПоступлениеНевыясненных := сс_ИсходныеДокументы.Поле('SummaIncDet');
      СуммаДеталиПоступлениеНевыясненныхДебит := сс_ИсходныеДокументы.Поле('IncDetDebit');
    конец;  
    
    // т.к. в детали нет поля RejectCls то если у заголовка этой детаи есть причина откотклонения
    // будем ставить SummaDetail = 0; если добавить поле в деталь будет все проще.
    сс_ИсходныеДокументы.Фильтр :=  ' (not (Reject_Cls_C is null))';
    сс_ИсходныеДокументы.вНачало;
    пока не сс_ИсходныеДокументы.вКонце делать
    начало
      сс_ИсходныеДокументы.Поле('SummaDetail').КакСтрока := '';
      сс_ИсходныеДокументы.Следующая;
    конец;
    сс_ИсходныеДокументы.Фильтр := '';
   
    Если (Коллекция.Значение('КлассИсходногоДокумента') = Класс_ВыяснениеНевыясненных) тогда 
    Начало
      сс_ИсходныеДокументы.вНачало;
      пока не сс_ИсходныеДокументы.вКонце делать
      начало
        Сумма.КакДробное := Мод(СуммаДеталиПоступлениеНевыясненных.какДробное) + Мод(СуммаДеталиПоступлениеНевыясненныхДебит.какДробное);
        если (Сумма.КакДробное &lt; 0.005) и (Сумма.КакДробное &gt; -0.005) тогда
          Сумма.КакСтрока := ''; // что бы не отображался 0
        сс_ИсходныеДокументы.Следующая;
      конец;
    конец;
    
    
    Если Коллекция.Значение('КлассИсходногоДокумента') = класс_ПодтверждениеВозвратаСоСчетовДляНаличности тогда 
    Начало
      сс_ИсходныеДокументы.вНачало;
      пока не сс_ИсходныеДокументы.вКонце делать
      начало
        сс_ИсходныеДокументы.Поле('AcceptorOrgName').КакСтрока := Разыменовать("Лицевой_Счет.ОрганизацияВладелец.Имя", сс_ИсходныеДокументы.Поле('DestFacialAcc_Cls').КакЦелое);
        сс_ИсходныеДокументы.Следующая;
      конец;
    конец;

    если (не коллекция.значение("ЭтоЕксел")) и (не коллекция.значение("НеОграничиватьПоОстатку")) тогда
    начало
      // подсчет суммы уже уточненных документов и удаление документов, которые были уточнены
      Прогресс.SetMessage('Поиск исходного документа : подсчет суммы уже уточненных документов');
      ПодсчитатьСуммуУточненныхДокументов(сс_ИсходныеДокументы, Класс);
      // Если  установлена галочка Только Уточненные то берем только полностью уточненные документы
      Если Коллекция.Значение('ТолькоУточненные') тогда 
      начало
        сс_ИсходныеДокументы.Фильтр := '(SummaRemainder &gt;= 0,005)';
        сс_ИсходныеДокументы.Очистить;
        сс_ИсходныеДокументы.Фильтр := "";
      конец
      иначе
      начало 
        // те документы, которые уже полностью уточнены нам не нужны
        сс_ИсходныеДокументы.Фильтр :='(-0,005 &lt; SummaRemainder) and (SummaRemainder &lt; 0,005)';
        сс_ИсходныеДокументы.Очистить;
        сс_ИсходныеДокументы.Фильтр := "";
        // так же не нужно уточнять документы уточненные ПЗК
        сс_ИсходныеДокументы.Фильтр :='((isPZK is null)) and (not (SummaDetail is null))';
        сс_ИсходныеДокументы.Очистить;
        сс_ИсходныеДокументы.Фильтр := "";
      конец;
    конец;
    
    Коллекция.Значение("ДанныеИсхЛС") := сс_ИсходныеДокументы;
    /$если Бюджет
      ПроверитьПраваНаЛС(Коллекция);
    /$иначе
      ПроверитьПраваНаЛСУРМ(Коллекция);  
    /$конец  
    
    Результат := сс_ИсходныеДокументы;
  обязательно  
    Прогресс.EndProgress;
  конец;
конец;                                                               


функция ПолучитьИсходныеДокументы_Заголовок(Коллекция : Ivariables) : СтатическиеДанные;
переменные
  ссИсходныеДокументы_Заголовок : СтатическиеДанные;
  Класс : целое;
  ЗапросЗаголовка : строка;
начало
  ссИсходныеДокументы_Заголовок := СоздатьСтатикСет;
  Класс := Коллекция.Значение(ип_КлассИсходногоДокумента);
  ЕСЛИ ф_ТребуетсяФормироватьЗаголовок(Класс) тогда
    начало
      ЗапросЗаголовка := ПолучитьЗапросЗаголовкаПоКлассу(Класс, Коллекция);
      ссИсходныеДокументы_Заголовок.Запрос := ЗапросЗаголовка; 
      СформироватьОграничения(ссИсходныеДокументы_Заголовок, Класс, Коллекция);
      ссИсходныеДокументы_Заголовок.Открыть;
      Результат := ссИсходныеДокументы_Заголовок;
    конец
  ИНАЧЕ
    Результат := nil;    
конец;

функция ПолучитьИсходныйДокументПоИд(КлассДокумента, СсылкаНаДокумент : целое) : СтатическиеДанные;
переменные 
  ссИсходныйДокумент : СтатическиеДанные;
  ЛокКоллекция : IVariables;
начало
  ЛокКоллекция  := CreateVariables;
  ссИсходныйДокумент := СоздатьСтатикСет;
  ссИсходныйДокумент.Запрос := ПолучитьЗапросПоКлассу(КлассДокумента, ЛокКоллекция);
  локКоллекция.Значение("КодЗаписи") := СсылкаНаДокумент;
  СформироватьОграничения(ссИсходныйДокумент, КлассДокумента, ЛокКоллекция);
  ссИсходныйДокумент.Открыть;
  если (ссИсходныйДокумент.ЧислоЗаписей = 0) и (СсылкаНаДокумент &lt;&gt; -1 ) тогда 
  начало
    локКоллекция.Clear;
    локКоллекция.Значение("КодЗаголовка") := СсылкаНаДокумент;
    ссИсходныйДокумент.Закрыть;
    СформироватьОграничения(ссИсходныйДокумент, КлассДокумента, ЛокКоллекция);
    ссИсходныйДокумент.Открыть;
  конец;
  Результат := ссИсходныйДокумент;
конец;

функция ПроверкаТипаДокументаПервыйРазряд (Коллекция : IVariables; ПолеТипДокумента : Поле; ИмяКонстанты : строка) : целое;
начало
  если ((Коллекция.Значение(ИмяКонстанты) ост 10) = (ПолеТипДокумента.КакЦелое ост 10)) или ((Коллекция.Значение(ИмяКонстанты) ост 10 = 0)) тогда
    результат := истина
  иначе
    результат := ложь;
конец;

функция ПроверкаТипаДокументаВторойРазряд (Коллекция : IVariables; ПолеТипДокумента : Поле; ИмяКонстанты : строка) : целое;
начало
  если (((Коллекция.Значение(ИмяКонстанты) ост 1000) цел 10) = ((ПолеТипДокумента.КакЦелое ост 1000) цел 10)) или (((Коллекция.Значение(ИмяКонстанты) ост 1000) цел 10) = 0) тогда
    результат := истина
  иначе
    результат := ложь;
конец;

функция ПроверкаТипаДокументаТретийРазряд (Коллекция : IVariables; ПолеТипДокумента : Поле; ИмяКонстанты : строка) : целое;
начало
  если (Коллекция.Значение(ИмяКонстанты) цел 1000) = (ПолеТипДокумента.КакЦелое цел 1000) тогда
    результат := истина
  иначе
    результат := ложь;
конец;


// если Тип документа равен или входит иерархию константы для отправки в Уфк тогда уведомление предназначено для отправки в УФК
функция ПредназначеноУведомлениеДляОтправкиВУФК(Коллекция : IVariables; ПолеТипДокумента : Поле) : целое;
переменные
  ПризнаОтправкиВУФК : целое;
начало
  ПризнаОтправкиВУФК := Ложь;
  если (Коллекция.Значение("КонстантаТипДокумента") = 0) и (Коллекция.Значение("КонстантаВнутренниеУведомления")=0) тогда
    ПризнаОтправкиВУФК := истина;
  если Коллекция.Значение("КонстантаТипДокумента") &lt;&gt; 0 тогда
  начало
    // разбиваем формат типа документа на составляющие x.yy.z
    // 1. обработка z
    если ПроверкаТипаДокументаПервыйРазряд(Коллекция,ПолеТипДокумента,"КонстантаТипДокумента") тогда
    // 2. обработка yy
      если ПроверкаТипаДокументаВторойРазряд(Коллекция,ПолеТипДокумента, "КонстантаТипДокумента") тогда
    // 3. обработка x  
        если ПроверкаТипаДокументаТретийРазряд(Коллекция,ПолеТипДокумента, "КонстантаТипДокумента") тогда
           ПризнаОтправкиВУФК := Истина;
  конец
  иначе
    если не ПризнаОтправкиВУФК тогда
    начало
    ПризнаОтправкиВУФК := Истина;
    // разбиваем формат типа документа на составляющие x.yy.z
    // 1. обработка z
    если ПроверкаТипаДокументаПервыйРазряд(Коллекция,ПолеТипДокумента,"КонстантаВнутренниеУведомления") тогда
    // 2. обработка yy
      если ПроверкаТипаДокументаВторойРазряд(Коллекция,ПолеТипДокумента, "КонстантаВнутренниеУведомления") тогда
    // 3. обработка x  
        если ПроверкаТипаДокументаТретийРазряд(Коллекция,ПолеТипДокумента, "КонстантаВнутренниеУведомления") тогда
           ПризнаОтправкиВУФК := Ложь;
    конец;  
  Результат := ПризнаОтправкиВУФК;
конец;

// заполнение по умолчанию полей которые были обнулены при группировке
функция ЗаполнитьНужныеПоля(сс_ИсходныеДокументы : СтатическиеДанные);
переменные
  сс_ЗаголовкиДляУведомлений : СтатическиеДанные;
начало
  // проставляем мастер MAsterid для записей ПЗК 
  сс_ЗаголовкиДляУведомлений := СоздатьСтатическиеДанные;
  сс_ЗаголовкиДляУведомлений.ПрисвоитьПоля(сс_ИсходныеДокументы);
  сс_ЗаголовкиДляУведомлений.Открыть;
  сс_ЗаголовкиДляУведомлений.Группировать(сс_ИсходныеДокументы, "keys=AcceptorAccRef,AcceptorOrgRef,PayerAccREf,PayerOrgRef,ProgIndex,BudgetRef,OperationDirection");
  сс_ЗаголовкиДляУведомлений.ВНачало;
  Пока не сс_ЗаголовкиДляУведомлений.ВКонце  делать
  начало
    сс_ЗаголовкиДляУведомлений.ПолеПоИмени('MAsterID').КакЦелое :=  ГенерироватьДиап('G_Shared', 1);
    сс_ЗаголовкиДляУведомлений.Next;
  конец;
  сс_ИсходныеДокументы.Группировать(сс_ЗаголовкиДляУведомлений, "insert=false;default=false;keys=AcceptorAccRef,AcceptorOrgRef,PayerAccREf,PayerOrgRef;MAsterId=MasterId");
  сс_ИсходныеДокументы.ВНачало;
  Пока не сс_ИсходныеДокументы.ВКонце делать 
  начало   
    // у  полей проставляются нули - нужно их сделать пустыми
    Если сс_ИсходныеДокументы.Поле('PayerAccRef').КакСтрока = '0' тогда  сс_ИсходныеДокументы.Поле('PayerAccRef').КакСтрока :=  '';
    Если сс_ИсходныеДокументы.Поле('PayerOrgRef').КакСтрока = '0' тогда  сс_ИсходныеДокументы.Поле('PayerOrgRef').КакСтрока :=  '';
    Если сс_ИсходныеДокументы.Поле('AcceptorAccRef').КакСтрока = '0' тогда  сс_ИсходныеДокументы.Поле('AcceptorAccRef').КакСтрока :=  '';
    Если сс_ИсходныеДокументы.Поле('AcceptorOrgRef').КакСтрока = '0' тогда  сс_ИсходныеДокументы.Поле('AcceptorOrgRef').КакСтрока :=  '';
    Если сс_ИсходныеДокументы.Поле('PayerOrgINN').КакСтрока = '0' тогда  сс_ИсходныеДокументы.Поле('PayerOrgINN').КакСтрока :=  '';
    Если сс_ИсходныеДокументы.Поле('AcceptorOrgINN').КакСтрока = '0' тогда  сс_ИсходныеДокументы.Поле('AcceptorOrgINN').КакСтрока :=  '';
    
    
    попытка
      Если сс_ИсходныеДокументы.Поле('Promise').КакЦелое = 0 тогда
        сс_ИсходныеДокументы.Поле('Promise').КакСтрока :=  '';
    неудача
    конец;
    
    попытка
     Если сс_ИсходныеДокументы.Поле('BudgetPromise').КакЦелое = 0 тогда  
       сс_ИсходныеДокументы.Поле('BudgetPromise').КакСтрока :=  '';
    неудача
    конец;
    
    попытка
    Если сс_ИсходныеДокументы.Поле('PaySymbolCls').КакЦелое=0 тогда 
      сс_ИсходныеДокументы.Поле('PaySymbolCls').КакСтрока := '';
    неудача
    конец;
    
    попытка
      Если сс_ИсходныеДокументы.Поле('ExecDoc').КакЦелое = 0 тогда  
        сс_ИсходныеДокументы.Поле('ExecDoc').КакСтрока :=  '';
    неудача
    конец;
    
    попытка
      Если сс_ИсходныеДокументы.Поле('SUBSIDYCLS').КакЦелое = 0 тогда  
        сс_ИсходныеДокументы.Поле('SUBSIDYCLS').КакСтрока :=  '';
    неудача
    конец;
    
    попытка
      Если сс_ИсходныеДокументы.Поле('BudAllocationCls').КакЦелое = 0 тогда  
        сс_ИсходныеДокументы.Поле('BudAllocationCls').КакСтрока :=  '';
    неудача
    конец;
    
    попытка
      Если сс_ИсходныеДокументы.Поле('PayPromiseCls').КакЦелое = 0 тогда  
        сс_ИсходныеДокументы.Поле('PayPromiseCls').КакСтрока :=  '';
    неудача
    конец;
    
    // пока только дату и номер
    если не ЭтоОмск тогда
      сс_ИсходныеДокументы.Поле('InputDate').КакДробное := ОбычнаяДатавРасшир(ТекущаяДата);
    сс_ИсходныеДокументы.Поле('DocNumber').КакСтрока := ГенерироватьДиап('CorrectionNumber', 1);
    сс_ИсходныеДокументы.Next;
  конец;
конец;

функция ПолучитьИсходныеДокументы_Ексел(Коллекция : IVariables; ссТаблицаЗамены : СтатическиеДанные) : СтатическиеДанные;
переменные
  КлассИсходногоДокумента, ЭтоВП, ПризнакОтправкиУФК, НаличиеОшибокПоБО, НаличиеОшибокПоДИ, ИсходноеКоличествоДокументов, группа : целое;
  НаименованиеКласса, строкаГруппировки,  МаппингЗамены : строка;
  ткстСписокДопДокументов, ткстМаппингКлассификаторов, ткстСписокКлассовДляКассовогоРасхода  : Текст;
  Прогресс : IProgress;
  ссИсходныеДокументы, ссНегруппированныеИсходныеДокументы,  ссВспомогательный : СтатическиеДанные;
  ИдЗаголовкаУведомления, ПолеТипДокумента : Поле;
  стр_ДополнитьНедостающимиИзНастроек, СчетОбслуживающейОрганизации : строка;
  Счетчик : целое;
начало
//Инициализация переменных
  КлассИсходногоДокумента := Коллекция.Значение(ип_КлассИсходногоДокумента);
  ЭтоВП := ф_ЭтоВП(КлассИсходногоДокумента);
  НаименованиеКласса := ПолучитьНаименованиеДляДиалога(КлассИсходногоДокумента);
  ткстСписокДопДокументов := СоздатьТекст;
  ткстСписокДопДокументов.РазделенноеЗначение := Реестр.Узел(ПутьКПараметрамФормированияДопДокументов).Значение(ЦелоеВСтроку(КлассИсходногоДокумента)).КакСтрока;
  ссНегруппированныеИсходныеДокументы  := СоздатьСтатикСет;
  ссИсходныеДокументы := СоздатьСтатикСет;                                                                                                 
  ссВспомогательный := СоздатьСтатикСет;
  ткстМаппингКлассификаторов := СоздатьТекст;
  ткстМаппингКлассификаторов.Значение := МаппингКлКтаблицеЗамены(1);

  Прогресс := Progress;
  Прогресс.BeginProgress;
  Прогресс.SetMessage(НаименованиеКласса + ' - ' + 'Выборка данных для переноса');
  
//Формирование ограничений для выборки 
  Коллекция.Значение('УведомленияКакИсходныйДокументДляКор_или_Нов') := истина;
  коллекция.Значение(ип_УточнятьТолькоОтправленные) := Ложь;
  если не Коллекция.Значение('ИспользуетсяКассовыйРасход') тогда
  начало 
    Коллекция.Значение('СтрокаОграничения') := " and (" + СформироватьСтрокуОграниченияПоТаблицеЗамены(ссТаблицаЗамены, КлассИсходногоДокумента, Коллекция) + ")";
    ссНегруппированныеИсходныеДокументы.Запрос := ПолучитьЗапросПоКлассу(КлассИсходногоДокумента, Коллекция);
    ЗаполнитьДаты(Коллекция);
    ПолучитьОграничениеПоДатам(Коллекция, КлассИсходногоДокумента);
    Если ЭтоВП тогда 
      Коллекция.Значение('СтрокаОграничения') := Коллекция.Значение('СтрокаОграничения') + ' and (cpt.OperationDirection in (' + ВернутьОбрабатываемыеНаправленияОперации(Коллекция, 'Обрабатываемые направления операции ВП') + ') )';
    СформироватьОграничения(ссНегруппированныеИсходныеДокументы, КлассИсходногоДокумента, Коллекция);
  //Получение исходных документов   
    ссНегруппированныеИсходныеДокументы.Закрыть;
    группа := ПолучитьГруппуПоКлассу(КлассИсходногоДокумента);
    Если (ВходитВГруппу(КлассИсходногоДокумента,Группа_Казначейство)) или (группа = Группа_Уведомления)  тогда
      ссНегруппированныеИсходныеДокументы.Параметр('STD') := '1'
    иначе   
      ссНегруппированныеИсходныеДокументы.Параметр('STD') := '';
    если Коллекция.Значение('ГруппироватьДокументыПриПакетнойЗамене') тогда
      ссНегруппированныеИсходныеДокументы.Параметр('LimitGrpPzk') := 'and ((lr.ChildID IS NULL) or ((not (lr.ChildID IS NULL)) and (not (cor_d_cor.id IS NULL))))' //в связи с возможностью повторной ПЗК для нескольких документов
    иначе
      ссНегруппированныеИсходныеДокументы.Параметр('LimitGrpPzk') := '';

    //--//  
    ссНегруппированныеИсходныеДокументы.Открыть;
  конец
  иначе
  начало
    ткстСписокКлассовДляКассовогоРасхода := СоздатьТекст;
    ткстСписокКлассовДляКассовогоРасхода.РазделенноеЗначение := Коллекция.Значение('СписокКлассовДляКассовогоРасхода'); 
    попытка
      Пока (Счетчик &lt;= ткстСписокКлассовДляКассовогоРасхода.Количество - 1) делать 
      начало
        ссВспомогательный.Закрыть;
        КлассИсходногоДокумента := ткстСписокКлассовДляКассовогоРасхода.Стр(Счетчик);
        Коллекция.Значение('СтрокаОграничения') := " and (" + СформироватьСтрокуОграниченияПоТаблицеЗамены(ссТаблицаЗамены, КлассИсходногоДокумента, Коллекция) + ")";
        ссВспомогательный.Запрос := ПолучитьЗапросПоКлассу(КлассИсходногоДокумента, Коллекция);
        ЗаполнитьДаты(Коллекция);
        ПолучитьОграничениеПоДатам(Коллекция, КлассИсходногоДокумента);
        Если ЭтоВП тогда 
          Коллекция.Значение('СтрокаОграничения') := Коллекция.Значение('СтрокаОграничения') + ' and (cpt.OperationDirection in (' + ВернутьОбрабатываемыеНаправленияОперации(Коллекция, 'Обрабатываемые направления операции ВП') + ') )';
        СформироватьОграничения(ссВспомогательный, КлассИсходногоДокумента, Коллекция);
        //Получение исходных документов   
        ссВспомогательный.Закрыть;
        группа := ПолучитьГруппуПоКлассу(КлассИсходногоДокумента);
        Если (ВходитВГруппу(КлассИсходногоДокумента,Группа_Казначейство)) или (группа = Группа_Уведомления)  тогда
          ссВспомогательный.Параметр('STD') := '1'
        иначе   
         ссВспомогательный.Параметр('STD') := '';
        //--//  
        ссВспомогательный.Открыть;
        если Счетчик = 0 тогда
        начало
          ссНегруппированныеИсходныеДокументы.Закрыть;
          ссНегруппированныеИсходныеДокументы.ПрисвоитьПоля(ссВспомогательный);
          ссНегруппированныеИсходныеДокументы.Открыть;
        конец;
        если КлассИсходногоДокумента &lt;&gt; Класс_ПриходОтПрочих тогда
          ссНегруппированныеИсходныеДокументы.Группировать(ссВспомогательный, "keys=id")
        иначе
          ссНегруппированныеИсходныеДокументы.Группировать(ссВспомогательный, "keys=id;SummaDetail=SummaDetail*-1; SummaRemainder=SummaRemainder*-1;Summa=Summa*-1");
        Счетчик := Счетчик + 1;
      конец;
    обязательно
      КлассИсходногоДокумента := Коллекция.Значение(ип_КлассИсходногоДокумента);
      УдалитьОбъект(ткстСписокКлассовДляКассовогоРасхода);
    конец;
  конец;  
     
  ФорматироватьПоляИНН(ссНегруппированныеИсходныеДокументы);
  // т.к. в детали нет поля RejectCls то если у заголовка этой детаи есть причина откотклонения
  // будем ставить SummaDetail = 0; если добавить поле в деталь будет все проще.
  ссНегруппированныеИсходныеДокументы.Фильтр :=  ' (not (Reject_Cls_C is null))';
  ссНегруппированныеИсходныеДокументы.вНачало;
  пока не ссНегруппированныеИсходныеДокументы.вКонце делать
  начало
    ссНегруппированныеИсходныеДокументы.Поле('SummaDetail').КакСтрока := '';
    ссНегруппированныеИсходныеДокументы.Следующая;
  конец;
  ссНегруппированныеИсходныеДокументы.Фильтр := '';
  
  ПодсчитатьСуммуУточненныхДокументов(ссНегруппированныеИсходныеДокументы, коллекция.Значение(ип_КлассИсходногоДокумента));
  ссНегруппированныеИсходныеДокументы.Фильтр := '(-0,005 &lt; SummaRemainder) and (SummaRemainder &lt; 0,005)';
  ссНегруппированныеИсходныеДокументы.Очистить;
  ссНегруппированныеИсходныеДокументы.Фильтр := "";
  // так же не нужно уточнять документы уточненные ПЗК
  ссНегруппированныеИсходныеДокументы.Фильтр :='((isPZK is null)) and (not (SummaDetail is null))';
  ссНегруппированныеИсходныеДокументы.Очистить;
  ссНегруппированныеИсходныеДокументы.Фильтр := "";
  
  // для избежания ошибки вылетания памяти требуется вывоить предупреждение
  если ссНегруппированныеИсходныеДокументы.ЧислоЗаписей &gt;= 2000 тогда
  начало
    если Сообщение('Количество исходных документов превысило 2000 и составляет '+ЦелоевСтроку(ссНегруппированныеИсходныеДокументы.ЧислоЗаписей) + '. ' +
                   'Для избежания переполнения памяти рекомендуется прервать выполнение программы и сократить количество данных. '+
                   'Для этого нажмите ОК, кнопка Отмена продолжит выполнение программы.', Сообщение_Ошибка, Кнопка_ОК + Кнопка_Отмена) = Результат_ОК
    тогда ВызватьОшибку("Действие отменено пользователем");
  конец;
  
  // требуется дополнительная обработка для документов где исполузкется БО и ДИ
  если НужнаПроверкаБОиДИ тогда
    НаличиеОшибокПоБО := ПроверкаПереносаБО(ссНегруппированныеИсходныеДокументы,Коллекция)
  иначе  
    НаличиеОшибокПоБО := т_БезОшибок;
  // если ошибки есть то нужно выдать предупреждение
  если (НаличиеОшибокПоБО = т_ОшибкаНетТаблицыСоответствия) или (НаличиеОшибокПоБО = т_ОшибкаЕстьНеПеренесенныеБОиДИ) тогда
  начало
    попытка
      если  Коллекция.Значение('ФильтрНеПерененныхБО') &lt;&gt; '' тогда
      начало
        ИсходноеКоличествоДокументов := ссНегруппированныеИсходныеДокументы.ЧислоЗаписей; 
        ссНегруппированныеИсходныеДокументы.Фильтр := Коллекция.Значение('ФильтрНеПерененныхБО');
        ВывестиВПротокол(сообщение_ИсключениеИсходныхДокументовБоИзВыборкиПЗК,ссНегруппированныеИсходныеДокументы,'');
        если Сообщение('Среди исходных документов у '+ЦелоевСтроку(ссНегруппированныеИсходныеДокументы.ЧислоЗаписей) + ' из '+ЦелоевСтроку(ИсходноеКоличествоДокументов)+' значение БО не изменилось. ' +
                       'Данные о не перенесенных БО будут помещены в протокол расчетов. При продолжении работы ПЗК эти записи будут исключены из обработки.'+
                       'Для того чтобы продолжить выполнение ПЗК нажмите ДА, для прекращения работы НЕТ.', Сообщение_Ошибка, Кнопка_Да + Кнопка_Нет) = Результат_Нет
        тогда ВызватьОшибку("Действие отменено пользователем");
        ссНегруппированныеИсходныеДокументы.Очистить;
      конец;  
    обязательно
      ссНегруппированныеИсходныеДокументы.Фильтр := '';
    конец; 
  конец;
  
  если НужнаПроверкаБОиДИ тогда 
  начало
    если  ссТаблицаЗамены.Поле('DestFacialAcc_Cls').какцелое &lt;&gt; 0 тогда
      НаличиеОшибокПоДИ := ПроверкаПереносаДИ(ссНегруппированныеИсходныеДокументы,Коллекция)
    иначе
      НаличиеОшибокПоДИ := т_БезОшибок;
  конец
  иначе
    НаличиеОшибокПоДИ := т_БезОшибок;  
  // если ошибки есть то нужно выдать предупреждение
  если (НаличиеОшибокПоДИ = т_ОшибкаНетТаблицыСоответствия) или (НаличиеОшибокПоДИ = т_ОшибкаЕстьНеПеренесенныеБОиДИ) тогда
  начало
    попытка
      если  Коллекция.Значение('ФильтрНеПерененныхДИ') &lt;&gt; '' тогда
      начало
        ИсходноеКоличествоДокументов := ссНегруппированныеИсходныеДокументы.ЧислоЗаписей;
        ссНегруппированныеИсходныеДокументы.Фильтр := Коллекция.Значение('ФильтрНеПерененныхДИ');
        ВывестиВПротокол(сообщение_ИсключениеИсходныхДокументовДиИзВыборкиПЗК,ссНегруппированныеИсходныеДокументы,'');
        если Сообщение('Среди исходных документов у '+ЦелоевСтроку(ссНегруппированныеИсходныеДокументы.ЧислоЗаписей) + ' из '+ЦелоевСтроку(ИсходноеКоличествоДокументов)+' значение ДИ не изменилось. ' +
                       'Данные о не перенесенных ДИ будут помещены в протокол расчетов. При продолжении работы ПЗК эти записи будут исключены из обработки.'+
                       'Для того чтобы продолжить выполнение ПЗК нажмите ДА, для прекращения работы НЕТ.', Сообщение_Ошибка, Кнопка_Да + Кнопка_Нет) = Результат_Нет
        тогда ВызватьОшибку("Действие отменено пользователем");
        ссНегруппированныеИсходныеДокументы.Очистить;
      конец;  
    обязательно
      ссНегруппированныеИсходныеДокументы.Фильтр := '';
    конец; 
  конец;
  
  // используем вспомогательный статик сет для удаления дублирования  
  ссВспомогательный.Закрыть;
  ссВспомогательный.ПрисвоитьПоля(ссНегруппированныеИсходныеДокументы);
  ссВспомогательный.Открыть;
  ссВспомогательный.Группировать(ссНегруппированныеИсходныеДокументы, "keys=id");
  
  ссИсходныеДокументы.Закрыть;
  ссИсходныеДокументы.ПрисвоитьПоля(ссНегруппированныеИсходныеДокументы);
  ссИсходныеДокументы.ДобавитьСтроковоеПоле('ListId', 8000);
  ссИсходныеДокументы.ДобавитьСтроковоеПоле('ListIdCaption', 8000);
  ссИсходныеДокументы.ДобавитьЦелоеПоле('NeedChangeDocType');
  ссИсходныеДокументы.Открыть;
  строкаГруппировки := ПолныйМаппингГруппировки(Коллекция.Значение("ТипИнтерфейса"));
  
  // для Омска делаем эксклюзивно группировку по дате ввода для определенных классов
  если ЭтоОмск и ((классИсходногоДокумента = Класс_РаспределениеОФ) или (классИсходногоДокумента = Класс_УтверждениеОФ)) тогда
  начало
    строкаГруппировки := ЗаменитьСтроку(строкаГруппировки, "InputDate='';", "");
    строкаГруппировки := ЗаменитьСтроку(строкаГруппировки, "keys=", "keys=InputDate,");
  конец;
  если Коллекция.Значение('ИспользуетсяКассовыйРасход') тогда
  начало
    строкаГруппировки := ЗаменитьСтроку(строкаГруппировки, "OperationDirection,", "");
    строкаГруппировки := ЗаменитьСтроку(строкаГруппировки, "Progindex,", "");
    строкаГруппировки := ЗаменитьСтроку(строкаГруппировки, "SourceFacialAcc_Cls,", "");
    строкаГруппировки := ЗаменитьСтроку(строкаГруппировки, "DestFacialAcc_Cls,", "");
    ссНегруппированныеИсходныеДокументы.Закрыть;
    ссНегруппированныеИсходныеДокументы.ПрисвоитьПоля(ссВспомогательный);
    ссНегруппированныеИсходныеДокументы.ДобавитьСтроковоеПоле('ProgIndexId', 8000);
    ссНегруппированныеИсходныеДокументы.Открыть;
    
    ссНегруппированныеИсходныеДокументы.Группировать(ссВспомогательный, "keys=Progindex;SummaDetail=sum(SummaDetail);SummaRemainder=sum(SummaRemainder);Summa=sum(Summa); ProgIndexId=List(id)");
    ссНегруппированныеИсходныеДокументы.Группировать(nil, "ProgIndexId=toString(ProgIndex)+'='+ProgIndexId + ';'");
    
  конец;  
  Если (Коллекция.Значение("ГруппироватьДокументыПриПакетнойЗамене")) или ЭтоВП  тогда
  начало
    если не Коллекция.Значение('ИспользуетсяКассовыйРасход') тогда
    начало
      если ЭтоОмск и (классИсходногоДокумента = Класс_УточнениеПоступлений) тогда 
      начало
        попытка
          // сначала группируем докменты не созданные на основе ОФ
          ссВспомогательный.Фильтр := "(OriginalProgIndexUFC&lt;&gt;75) and (OriginalProgIndexUFC&lt;&gt;76)";
          ссИсходныеДокументы.Группировать(ссВспомогательный, строкаГруппировки + ';ListID=list(id);ListIdCaption=list(MasterId)');
          // сначала группируем докменты не созданные на основе ОФ
          ссВспомогательный.Фильтр := "(OriginalProgIndexUFC=75) or (OriginalProgIndexUFC=76)";
          МаппингЗамены := "OriginalDateUFC=OriginalDate,OriginalNumberUFC=OriginalNumber,OriginalSummaUFC=OriginalSumma,OriginalNoteUFC=OriginalNote,OKATO=OKATO,ADDOKATO=ADDOKATO,OriginalPayerAccRef=PayerAccRef,OriginalAcceptorAccRef=AcceptorAccRef,FacialAcc_Cls=FacialAcc_Cls,OriginalProgIndexUFC=ProgIndex";
          // У уведомлений производим простановку инф об исходном документе 
          ссВспомогательный.ВНачало;
          пока не ссВспомогательный.ВКонце делать
          начало
            ЗаменитьПоляПоМаппингу(ссВспомогательный, ссВспомогательный, '', '', '', '', nil, МаппингЗамены, Истина);
            ссВспомогательный.Следующая;
          конец;
          // замена строки группировки
          строкаГруппировки := ЗаменитьСтроку(строкаГруппировки, "InputDate='';", "");
          строкаГруппировки := ЗаменитьСтроку(строкаГруппировки, "keys=", "keys=InputDate,");
          ссИсходныеДокументы.Группировать(ссВспомогательный, строкаГруппировки + ';ListID=list(id);ListIdCaption=list(MasterId)');
          ссИсходныеДокументы.ВНачало;

       обязательно
          ссВспомогательный.Фильтр := '';
       конец;   
      конец  
      иначе
        // стандартная группировка
        ссИсходныеДокументы.Группировать(ссВспомогательный, строкаГруппировки + ';ListID=list(id);ListIdCaption=list(MasterId)');
    конец  
    иначе
      ссИсходныеДокументы.Группировать(ссНегруппированныеИсходныеДокументы, строкаГруппировки + ';ListID=list(ProgIndexId);Progindex=111');
  конец  
  иначе
    начало
      //ссИсходныеДокументы.PumpData(ссНегруппированныеИсходныеДокументы, "");
      ссИсходныеДокументы.Группировать(ссНегруппированныеИсходныеДокументы, "keys=id");
      если ВходитВГруппу(КлассИсходногоДокумента, Группа_Уведомления ) тогда
/*1*/ начало
        ПолеТипДокумента := ссИсходныеДокументы.Поле('DocTypeCaption');
        Коллекция.Значение("КонстантаТипДокумента") := ЦелаяКонстанта(1, 55); 
        Коллекция.Значение("КонстантаВнутренниеУведомления") := ЦелаяКонстанта(1, 56);
        Коллекция.Значение("ЭтоУведомления") := Истина;
        ИдЗаголовкаУведомления := ссИсходныеДокументы.Поле('MasterID');   
        Коллекция.Значение("ПоКлассификации") := Ложь;
        // требуется пробежать по статик сету и определить какие записи будут являться сложными уведомлениями
        ссИсходныеДокументы.ВНачало;
        пока не ссИсходныеДокументы.ВКонце  делать
        начало
          // если расчетный счет  (плательщика для выбытий, для поступлений - получателя) не был открыт в УФК то тип уведомления остается внутренним  
          если ссИсходныеДокументы.Поле('ProgIndex').какцелое = 312 тогда
            СчетОбслуживающейОрганизации := Разыменовать("Р/с.СчетОбслуживающейОрганизации",ссИсходныеДокументы.Поле('AcceptorAccRef').какцелое)
          иначе
            СчетОбслуживающейОрганизации := Разыменовать("Р/с.СчетОбслуживающейОрганизации",ссИсходныеДокументы.Поле('PayerAccRef').какцелое);
          если СчетОбслуживающейОрганизации  &lt;&gt; '' тогда
            ПризнакОтправкиУФК := ПредназначеноУведомлениеДляОтправкиВУФК(Коллекция, ПолеТипДокумента)
          иначе
            ПризнакОтправкиУФК := Истина;
          если не ПризнакОтправкиУФК тогда
            ссИсходныеДокументы.Поле('NotUFC').КакЦелое := Истина
          иначе
           ссИсходныеДокументы.Поле('NotUFC').КакЦелое := Ложь;  
          ссИсходныеДокументы.Следующая;
        конец;
        // установим фильтр что бы проставить инф только для уведомлений не отправляемых в УФК
        ссИсходныеДокументы.Фильтр := "NotUFC="+ЦелоеВСтроку(Истина);
        ссИсходныеДокументы.ВНачало;
        МаппингЗамены := "OriginalDateUFC=OriginalDate,OriginalNumberUFC=OriginalNumber,OriginalSummaUFC=OriginalSumma,OriginalNoteUFC=OriginalNote,OKATO=OKATO,ADDOKATO=ADDOKATO,OriginalPayerAccRef=PayerAccRef,OriginalAcceptorAccRef=AcceptorAccRef,FacialAcc_Cls=FacialAcc_Cls,OriginalProgIndexUFC=ProgIndex";
        // У уведомлений производим простановку инф об исходном документе 
        пока не ссИсходныеДокументы.ВКонце делать
        начало
          ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссИсходныеДокументы, '', '', '', '', nil, МаппингЗамены, Истина);
          ссИсходныеДокументы.Следующая;
        конец;
        ссИсходныеДокументы.Фильтр := '';         
      конец; /*2*/
      стр_ДополнитьНедостающимиИзНастроек := ПолучитьПараметрИзНастроек(4,0,'Включать в уведомление неизменяющуюся классификацию');
      Если стр_ДополнитьНедостающимиИзНастроек = '' тогда 
        стр_ДополнитьНедостающимиИзНастроек := к_ЗначениеНастройки_ВсеДокументы;
      // для соответствующих классов при условии установления галочки добавляем недостающие документы
      // если галка установлена то выбираем док. из одного заголовка [все документы]
      Если (стр_ДополнитьНедостающимиИзНастроек = к_ЗначениеНастройки_ВсеДокументы) и  
           (не Коллекция.Значение("ЭтоВП")) и 
           (не Коллекция.Значение("ЭтоВыборСуществующихДокументов")) и 
           (не коллекция.Значение(ип_ИскатьДокументыБезДопОграничений)) 
      тогда 
        // ограничение по классу исходного документа 
        если ((КлассИсходногоДокумента = Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) или (КлассИсходногоДокумента = Класс_ПриходОтПрочих) или (ПолучитьГруппуПоКлассу(КлассИсходногоДокумента) = Группа_КазначействоВыбытие) 
              или (КлассИсходногоДокумента = Класс_УточнениеВыбытий) )
        тогда
        начало  
          Коллекция.Значение("ПоКлассификации") := Ложь;
          если ссИсходныеДокументы.ЧислоЗаписей &lt;&gt; 0 тогда  
            ДополнитьНедостающими(ссИсходныеДокументы, Коллекция);
        конец;  
      // если галка не установлена то выбираем док. из одного заголовка[c одинаковой классификацией]
     Если (стр_ДополнитьНедостающимиИзНастроек = к_ЗначениеНастройки_ОдинаковаяКлассификация) и 
           (не Коллекция.Значение("ЭтоВП")) и 
           (не Коллекция.Значение("ЭтоВыборСуществующихДокументов")) и 
           (не коллекция.Значение(ип_ИскатьДокументыБезДопОграничений)) 
      тогда 
        если  (ПолучитьГруппуПоКлассу(КлассИсходногоДокумента) = Группа_КазначействоВыбытие) или (КлассИсходногоДокумента = Класс_УточнениеВыбытий)
        тогда  
        начало
          Коллекция.Значение("ПоКлассификации") := Истина;
          если ссИсходныеДокументы.ЧислоЗаписей &lt;&gt; 0 тогда
            ДополнитьНедостающими(ссИсходныеДокументы, Коллекция);
        конец;
      // до тех пор пока статиксет не сможет обрабатывать только часть маппинга
      ссИсходныеДокументы.ВНачало;
      пока не ссИсходныеДокументы.Вконце делать
      начало
        ссИсходныеДокументы.поле("ListId").КакСтрока := ссИсходныеДокументы.поле("ID").КакСтрока;
        ссИсходныеДокументы.поле("ListIDCaption").КакСтрока := ссИсходныеДокументы.поле("MasterID").КакСтрока;
        ссИсходныеДокументы.Следующий;
      конец;
    конец;
//Дополнительные действия     
    // теперь проставляем поля которые мы выкинули из группировки
  Если Коллекция.Значение("ГруппироватьДокументыПриПакетнойЗамене") или ЭтоВП тогда 
    ЗаполнитьНужныеПоля(ссИсходныеДокументы);
  Прогресс.SetMessage(НаименованиеКласса + ' - ' + 'Формирование классификации для замены');
    // формируем список замены классификаций для каждой записи исходного документа.
  СформироватьКлассификациюДляЗаменыВДокументах(ссТаблицаЗамены, ссИсходныеДокументы, ткстМаппингКлассификаторов, Коллекция.Значение("ТипИнтерфейса"), Коллекция);
  
  Результат := ссИсходныеДокументы;
  Прогресс.EndProgress;
конец;

функция ВыбратьНужныеИсходныеДокументы(сс_ИсходныеДокументы : СтатическиеДанные; Коллекция : IVariables) : СтатическиеДанные;
переменные 
  Форма: ФормаДиалога;                  
  СеткаНаФорме: СеткаДанных;
  сс_ИсходныеДокументы_Выделенные : СтатическиеДанные;
  ткст_СписокКлассов, ткст_СписокФорматов, ткст_СписокТиповКлассификаций  : Текст;
  ИсходныйКласс : целое;  
  стр_ДополнитьНедостающимиИзНастроек : строка;          
начало
//инициализация переменных 
  Форма := СоздатьФормуДиалога("Поиск первичного документа", 927, 300, Да);    
  СеткаНаФорме := СоздатьСеткуДанных(сс_ИсходныеДокументы, Форма);
  ткст_СписокКлассов := СоздатьТекст;
  ткст_СписокФорматов := СоздатьТекст; 
  ткст_СписокТиповКлассификаций := СоздатьТекст;
  СформироватьСписокКлассовИсходногоДокумента(0, Коллекция.Значение("ТипИнтерфейса"), ткст_СписокКлассов.Значение);
  ткст_СписокФорматов.Значение := к_СписокФорматов;
  ткст_СписокТиповКлассификаций.Значение := к_СписокТиповКлассификаций;
    
  ИнициализацияСетки(СеткаНаФорме, Коллекция.Значение(ип_КлассИсходногоДокумента));

//выбор нужных документов  
  ПодготовкаДанныхКПоказу(сс_ИсходныеДокументы, ткст_СписокКлассов, ткст_СписокФорматов, ткст_СписокТиповКлассификаций, Коллекция.Значение(ип_КлассИсходногоДокумента));
  Если Форма.Показать=Результат_ОК тогда 
    начало
      Если (не Коллекция.Значение("ЗаполнятьТолькоИнформациюОбИсходномДокументе")) и (не Коллекция.Значение("ЭтоВыборСуществующихДокументов"))  тогда
        ПолучитьВыделенныеИлиТекущую(сс_ИсходныеДокументы_Выделенные, СеткаНаФорме, сс_ИсходныеДокументы)
      иначе
        ПолучитьТекущую(сс_ИсходныеДокументы_Выделенные, сс_ИсходныеДокументы); 
      Результат := сс_ИсходныеДокументы_Выделенные;
      ИсходныйКласс := сс_ИсходныеДокументы_Выделенные.Поле("ProgIndex").КакЦелое;
      стр_ДополнитьНедостающимиИзНастроек := ПолучитьПараметрИзНастроек(4,0,'Включать в уведомление неизменяющуюся классификацию');
      Если стр_ДополнитьНедостающимиИзНастроек = '' тогда 
        стр_ДополнитьНедостающимиИзНастроек := к_ЗначениеНастройки_ВсеДокументы;
      // если галка установлена то выбираем док. из одного заголовка [все документы]
      Если (стр_ДополнитьНедостающимиИзНастроек = к_ЗначениеНастройки_ВсеДокументы ) и 
           (не Коллекция.Значение("ЭтоВП")) и 
           (не Коллекция.Значение("ЭтоВыборСуществующихДокументов")) и 
           (не коллекция.Значение(ип_ИскатьДокументыБезДопОграничений)) 
      тогда 
        // ограничение по классу исходного документа 
        если ((ИсходныйКласс = Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) или (ИсходныйКласс = Класс_ПриходОтПрочих) или (ПолучитьГруппуПоКлассу(ИсходныйКласс) = Группа_КазначействоВыбытие) 
              или (ИсходныйКласс = Класс_УточнениеВыбытий) )
        тогда
        начало  
          Коллекция.Значение("ПоКлассификации") := Ложь;
          ДополнитьНедостающими(сс_ИсходныеДокументы_Выделенные, Коллекция);
        конец;  
      // если галка не установлена то выбираем док. из одного заголовка[c одинаковой классификацией]
      Если (стр_ДополнитьНедостающимиИзНастроек = к_ЗначениеНастройки_ОдинаковаяКлассификация) и 
           (не Коллекция.Значение("ЭтоВП")) и 
           (не Коллекция.Значение("ЭтоВыборСуществующихДокументов")) и 
           (не коллекция.Значение(ип_ИскатьДокументыБезДопОграничений)) 
      тогда 
        если  (ПолучитьГруппуПоКлассу(ИсходныйКласс) = Группа_КазначействоВыбытие) или (ИсходныйКласс = Класс_УточнениеВыбытий)
        тогда  
          начало
            Коллекция.Значение("ПоКлассификации") := Истина;
            ДополнитьНедостающими(сс_ИсходныеДокументы_Выделенные, Коллекция);
          конец;
    конец 
  иначе
    начало
      Результат := nil;
      ВызватьОшибку("Действие отменено пользователем");
    конец;
конец;


функция НайтиИдИсходногоДокПоСвязям(ИдЗаголовкаУв, КлассИсхДок : целое) : целое;
переменные
  ссИсходныеДокументы : СтатическиеДанные;
начало
  ссИсходныеДокументы := СоздатьСтатическиеДанные;
  ссИсходныеДокументы.СоединитьБД;
  ссИсходныеДокументы.Запрос := ПолучитьЗапросПоискаИсходногоДок;
  ссИсходныеДокументы.Параметр('IdCaption') :=  ИдЗаголовкаУв;
  если КлассИсхДок = Класс_ПоступлениеНевыясненных тогда
    ссИсходныеДокументы.Параметр('Param') := "'%0'"
  иначе
    ссИсходныеДокументы.Параметр('Param') :=  "'%1'";
  ссИсходныеДокументы.Параметр('Link') :=  "lr.parentid";
  ссИсходныеДокументы.Параметр('LinkCLS') :=  "lt.childdoccls";
  ссИсходныеДокументы.Параметр('Field') :=  "lr.childid ";
  ссИсходныеДокументы.Открыть;
  результат := ссИсходныеДокументы.Поле('ChildId').КакЦелое;
конец;

функция ПолучитьСвязанныйДокумент(ссДетализация : СтатическиеДанные) : СтатическиеДанные;
переменные 
  коллекция : IVariables;
начало
  коллекция := CreateVariables;
  результат := nil;
  попытка
    коллекция.Значение('КодЗаписи') := ссДетализация.Поле('DocumentRecordIndex').КакЦелое;
    коллекция.Значение('ВыбиратьОтклоненные') := 1;
    коллекция.Значение("ТолькоПринятые") := Ложь;
    коллекция.Значение(ип_УточнятьТолькоОтправленные) := Ложь;
    коллекция.Значение(ип_КлассИсходногоДокумента) := ссДетализация.Поле('DocumentProgIndex').КакЦелое;
    коллекция.Значение("НеОграничиватьПоОстатку") := Истина;
    результат := ПолучитьИсходныеДокументы(коллекция);
  обязательно
    УдалитьОбъект(коллекция);
  конец;
конец;

функция ПолучитьСвязанныйДокументЗаголовок(ссДетализация : СтатическиеДанные) : СтатическиеДанные;
переменные 
  коллекция : IVariables;
начало
  коллекция := CreateVariables;
  результат := nil;
  попытка
    коллекция.Значение('КодЗаписи') := ссДетализация.Поле('DocumentRecordIndex').КакЦелое;
    коллекция.Значение('ВыбиратьОтклоненные') := 1;
    коллекция.Значение("ТолькоПринятые") := Ложь;
    коллекция.Значение(ип_КлассИсходногоДокумента) := ссДетализация.Поле('DocumentProgIndex').КакЦелое;
    результат := ПолучитьИсходныеДокументы_Заголовок(коллекция);
  обязательно
    УдалитьОбъект(коллекция);
  конец;
конец;

// проверяем есть ли у нас права на уведомления по выбранным лицевым счетам (на основе таблицы DualRights),
// по итогам проверки фильтруем переданный статиксет 
// Коллекция использует следующие значения:
// ТипИнтерфейса - прогиндекс
// ДанныеИсхЛС - исходные документы для проверки на права
// КлассИсходногоДокумента - прогиндекс исходного документа
функция ПроверитьПраваНаЛСУРМ(Коллекция: IVariables);
переменные
  Лицевые, ОгрПоЛС: строка;
  Права: СтатическиеДанные;
  КодИнтерфейса,ЕстьСистемаСостояний: Целое;
  локКоллекция: IVariables;
  ссДанные: СтатическиеДанные;
начало
  если Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеВыбытий тогда
    КодИнтерфейса := 5502           //выбытия
  иначе
    КодИнтерфейса := 5501;          //поступления
  ссДанные := Коллекция.Значение("ДанныеИсхЛС"); 
  Права := СоздатьСтатическиеДанные;
  Права.СоединитьБД;  
  локКоллекция := СоздатьКоллекцию;
  // Если уточняем внутренние платежи - то проверяем найденные документы на право чтения лицевого счета
  если ф_ЭтоВПл(Коллекция.Значение('КлассИсходногоДокумента'),1) тогда
  начало
    Права.Запрос := формат("[PumpData]{SELECT f.id FacialAcc_Cls FROM FacialAcc_CLS f WHERE f.ReadRightOption &gt; 0}");
    Права.Открыть;
    Лицевые := GetLimitStr(Права,"FacialAcc_Cls");
    если (Лицевые &lt;&gt; "")  тогда
      ссДанные.Фильтр := Формат("not (FacialAcc_Cls in (%s))",Лицевые);    
    ссДанные.Очистить; 
    ссДанные.Фильтр := "";  
    Права.Закрыть  
  конец;
  // обработка ситуациии когда на интерфейсе нет системы состояний - в этом случае ограничения по DualRights не нужны
  Права.Запрос := формат("[PumpData]{SELECT dt.UseState UseState FROM DocumentTypes dt WHERE dt.Id=%d}",КодИнтерфейса);
  Права.Открыть;
  ЕстьСистемаСостояний := Права.Поле("UseState").КакЦелое;
  Права.Закрыть;
  если (ссДанные.ЧислоЗаписей &gt; 0) и (ЕстьСистемаСостояний = 1) тогда
  начало
    Права.Запрос := формат("[PumpData]{SELECT dr.ObjRef2 FacialAcc_Cls FROM DualRights dr 
                                       WHERE (dr.ObjRef1=%d) and (dr.isreject=0)}",КодИнтерфейса);
    Права.Открыть;                                   
    Лицевые := GetLimitStr(Права,"FacialAcc_Cls");
              
    локКоллекция.Значение("ЛицСчет") := Лицевые;     
    ОгрПоЛС := FormLimitByParams("ЛицСчет=FacialAcc_Cls","ЛицСчет=999.99.999.9",локКоллекция);
    Права.Закрыть;
    если (ОгрПоЛС &lt;&gt; "")  тогда
      ссДанные.Фильтр := Формат("not %s",ОгрПоЛС);    
    ссДанные.Очистить;   
    // обработка запрещенных лицевых
    Права.Запрос := формат("[PumpData]{SELECT dr.ObjRef2 FacialAcc_Cls FROM DualRights dr 
                                       WHERE (dr.ObjRef1=%d) and (dr.isreject=1)}",КодИнтерфейса);
    Права.Открыть;                                   
    Лицевые := GetLimitStr(Права,"FacialAcc_Cls");                                                                
    локКоллекция.Значение("ЛицСчет") := Лицевые;     
    ОгрПоЛС := FormLimitByParams("ЛицСчет=FacialAcc_Cls","ЛицСчет=999.99.999.9",локКоллекция);
    если (ОгрПоЛС &lt;&gt; "")  тогда
      ссДанные.Фильтр := ОгрПоЛС;
    ссДанные.Очистить;
    Права.Закрыть;            
    ссДанные.Фильтр := "";
  конец;  
  УдалитьОбъект(Права,локКоллекция);  
конец;

// проверяем есть ли у нас права на уведомления по выбранным лицевым счетам (на основе видимости по правам пользователя),
// по итогам проверки фильтруем переданный статиксет 
// Коллекция использует следующие значения:
// ДанныеИсхЛС - исходные документы для проверки на права
// для пользователя, являющемся администратором на интерфейсе, ограничений не накладываем
функция ПроверитьПраваНаЛС(Коллекция: IVariables);
переменные
  локКоллекция: IVariables;
  ссДанные: СтатическиеДанные;
  ОгрПоЛС, ОгрПоРСПлат, ОгрПоРСПолуч, ОгрПрава_БК, ОгрБК: строка;
  Ф : ФормаВвода;
  МаппингКЛСПрава_БК: строка; 
начало
  Ф := ПолучитьФормуВвода;
  локКоллекция := СоздатьКоллекцию;
  ссДанные := Коллекция.Значение("ДанныеИсхЛС"); 
  // проверяем константу использования видимости документов на интерфейсах по правам 
  если (не ф.ЯАдмин) и  (СтрокаВЦелое(ПолучитьКонстантуКЭШ('',-1,24,0)) = 1) тогда
  начало
    ЛокКоллекция.Значение("ОграничВидимостьПоПравамЧек") := да;
    если не Ф.ЕстьПраво("Произвольный ввод счетов ФО") тогда
    начало
      ЛокКоллекция.Values('РСФО') := '';
      СоздатьОграниченияПоПравамКЛС(ЛокКоллекция, 'РСФО', ПолучитьПраваРСФО, '', 'Расчетный счет ФО',0); 
      ОгрПоРСПлат := FormLimitByParams("РСФО=PayerAccRef","",локКоллекция);
      ОгрПоРСПолуч := FormLimitByParams("РСФО=AcceptorAccRef","",локКоллекция); 
      если (ОгрПоРСПлат &lt;&gt; "")  тогда
        ссДанные.Фильтр := Формат("not (%s or %s)",ОгрПоРСПлат,ОгрПоРСПолуч); 
      ссДанные.Очистить;
      ссДанные.Фильтр := "";          
    конец;
    если не Ф.ЕстьПраво("Произвольный ввод БК") тогда
    начало    
      // пока только расходная БК
      МаппингКЛСПрава_БК := 'KFSR=KFSR,KVSR=KVSR,KCSR=KCSR,KESR=KESR,KVR=KVR,SUBKESR=SubKESR,FACT=FACT,FINTYPE=FinType,MEANSTYPE=MeansType,DIRECTIONCLS=DirectionCLS';
      ОгрБК := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БК,ЛокКоллекция,'%s');
      ОгрПрава_БК := формат('((CLSType=0)and(%s))',ОгрБК);
      если (ОгрПрава_БК &lt;&gt; "")  тогда
        ссДанные.Фильтр := Формат("not %s",ОгрПрава_БК) 
      иначе
        ссДанные.Фильтр := "(CLSType=0)";  
      ссДанные.Очистить;
      ссДанные.Фильтр := ""; 
    конец;  
    если не Ф.ЕстьПраво("Произвольный ввод организаций") тогда
    начало
      ЛокКоллекция.Values('ЛИЦСЧЕТ') := '';
      СоздатьОграниченияПоПравамКЛС(ЛокКоллекция, 'ЛИЦСЧЕТ', ПолучитьПраваЛС, '999.99.999.9', 'Лицевой счет',1);
      ОгрПоЛС := FormLimitByParams("ЛицСчет=FacialAcc_Cls","ЛицСчет=999.99.999.9",локКоллекция);
      если (ОгрПоЛС &lt;&gt; "")  тогда
        ссДанные.Фильтр := Формат("not %s",ОгрПоЛС); 
      ссДанные.Очистить;
      ссДанные.Фильтр := "";   
    конец;    
  конец; 
  УдалитьОбъект(локКоллекция);  
конец;









</value>
    <param value="ФункцииДляПолученияИсходныхДокументов" type="3" name="Export">EGORBUNOV\egorbunov\24.04.2013 15:08:00</param>
    <param value="ФункцииДляПолученияИсходныхДокументов" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляПолученияИсходныхДокументов" type="3" name="crc32">$CCC61DFA</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляРаботыСДиалогом">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';      
включить '\Библиотеки\Reports.lib';
                        
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';


// если есть тип данных исходного документа, или тип его классификации - тогда создаём только нужный набор классификаторов.
// А так по идее всегда и будет, потому что тип классификации всегла имеет значение
функция ДобавитьКлассификациюВДиалог(СтандартныйТипКлассификации : целое);
переменные
  ТипКлассификации, ДобавлятьРасходнуюКлассификацию, ДобавлятьДоходнуюКлассификацию, ДобавлятьИсточниковуюКлассификацию : целое;
начало
  Если СтандартныйТипКлассификации&lt;&gt;0 тогда 
    ТипКлассификации := СтандартныйТипКлассификации
  иначе 
    ТипКлассификации := 3; // выводим все типы классификаций

  ДобавлятьРасходнуюКлассификацию := Ложь; 
  ДобавлятьДоходнуюКлассификацию := Ложь; 
  ДобавлятьИсточниковуюКлассификацию := Ложь;   
  Выбрать  ТипКлассификации из
    0:    ДобавлятьРасходнуюКлассификацию := Истина; 
    1:    ДобавлятьИсточниковуюКлассификацию := Истина;   
    2:    ДобавлятьДоходнуюКлассификацию := Истина; 
    3:  начало
          ДобавлятьРасходнуюКлассификацию := Истина; 
          ДобавлятьДоходнуюКлассификацию := Истина; 
          ДобавлятьИсточниковуюКлассификацию := Истина;   
        конец;
     4: начало
          ДобавлятьРасходнуюКлассификацию := Истина; 
          ДобавлятьИсточниковуюКлассификацию := Истина;   
        конец;   
  конец;  // конец выбрать тип классификации

  
  Если  ДобавлятьРасходнуюКлассификацию тогда
    ДобавитьРасходнуюКлассификациюВДиалог(Диалог);
  Если ДобавлятьИсточниковуюКлассификацию тогда 
    Диалог.ДобавитьКлассификатор("Источник",тк_ИсточникВнутрФин,0);
  Если ДобавлятьДоходнуюКлассификацию тогда 
    Диалог.ДобавитьКлассификатор("Код дохода",тк_КД,0); 
конец;


функция ДобавитьСтандартныеПараметрыВДиалог(ДобавлятьВсеТипыКлассификаций : целое);
начало
    Если ЭтоНовосибирск тогда
    начало
      Диалог.Добавить('Фомировать корр. документ', 'ФормироватьКоррДок', 0, Проверка+ТолькоЧтение);    
      Диалог.Флаг('ФормироватьКоррДок') := Истина;
    конец;
    // 07.09.2011 отказ от использования галочки Только уточненные 
    //Диалог.Добавить('Только уточненные', 'ТолькоУточненные', 0, Проверка+ТолькоЧтение);    
    //Диалог.Флаг('ТолькоУточненные') := Ложь;
    
    ДобавитьБюджетВДиалог(Диалог);
    ДобавитьСчетФОВДиалог(Диалог);
    
    Диалог.добавить("Номер документа","НомерДокТип",0,толькочтение+список,"","Содержит строку"+nl+"Начинается с"+nl+"Равно");
    Диалог.Добавить("Номер ", "НомерДок", 1 );

    Диалог.значение('НомерДокТип') := 'Содержит строку';
    
    Диалог.Добавить("Даты:", "Период", 0, ТолькоЧтение);
    Диалог.Добавить("C", "НачальнаяДата", 1, Календарь, "##.##.####");
    Диалог.Добавить("По", "КонечнаяДата", 1, Календарь, "##.##.####");  

    ДобавитьОрганизациюПлательщикаВДиалог(Диалог);
    ДобавитьОрганизациюПолучателяВДиалог(Диалог);
    
    Диалог.ДобавитьКлассификатор("Лицевой счет", тк_ЛицСчет, 0);
    Диалог.ДобавитьКлассификатор("Тип средств", тк_СредстваБюджета, 0);
    ДобавитьКлассификациюВДиалог(ДобавлятьВсеТипыКлассификаций);
    Диалог.ДобавитьКлассификатор("Мероприятие", тк_Мероприятие, 0);
    Диалог.ДобавитьКлассификатор("Направление", тк_Направление, 0);
    
    Диалог.Добавить("Сумма документа", "Сумма", 0, Проверка);
    Диалог.добавить("Назначение","НазначениеТип",0,толькочтение+список,"","Содержит строку"+nl+"Начинается с"+nl+"Равно");            
    Диалог.Добавить("Назначение", "Назначение", 1);
    
    Диалог.Значение('НазначениеТип') := 'Содержит строку'; 
конец; 


Функция ЗаполнитьСтандартноКоллекциюПоДиалогу_Ексел(Коллекция : Ivariables);
начало
  СчитатьБюджетИзДиалога(Диалог, Коллекция);
  СчитатьСчетФОИзДиалога(Диалог, Коллекция);
  коллекция.Значение("ЭтоОмск") := ЭтоОмск;    
  Коллекция.Значение('НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента') := ПолучитьПараметрИзНастроек(4, 0, 'НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента') = 1;   
конец;

функция ЗаполнитьСтандартноКоллекциюПоДиалогу(Коллекция : Ivariables);
переменные
  ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой, Класс, 
  ЭтоВП, ЭтоВПл, ЭтоУведомления, ФормироватьКорректирующийДокументФлаг, КлассНовогоДокумента, 
  ФормироватьКорректирующийДокумент, ФормироватьКорДокДляУточненияПоступлений : целое;
  ткстСписокКлассов, ткстСписокКлассовНовогоДокумента : Текст;
начало
  СчитатьБюджетИзДиалога(Диалог, Коллекция);
  Если Коллекция.Значение("ткстСписокКлассов_Значение") &lt;&gt; "" тогда
    начало
      ткстСписокКлассов := СоздатьТекст;
      попытка
        ткстСписокКлассов.Значение := Коллекция.Значение("ткстСписокКлассов_Значение");
        Коллекция.Значение('ИндексыДанных') := КодПоНаименованию(Диалог.Значение('Класс'), ткстСписокКлассов);
      обязательно
        УдалитьОбъект(ткстСписокКлассов);
      конец;
    конец;  
  
//разные параметры
  СчитатьОрганизациюПлательщикаИзДиалога(Диалог, Коллекция);
  СчитатьОрганизациюПолучателяИзДиалога(Диалог, Коллекция);  
  СчитатьСчетФОИзДиалога(Диалог, Коллекция); 
  Коллекция.Значение('ЛицСчет') := Диалог.Значение(тк_ЛицСчет);
  Коллекция.Значение('СредстваБюджета') := Диалог.Значение(тк_СредстваБюджета); 
  Коллекция.Значение('Сумма') := Диалог.Значение('Сумма');
  Коллекция.Значение('Мероприятие') := Диалог.Значение(тк_Мероприятие);
  Коллекция.Значение('Направление') := Диалог.Значение(тк_Направление);

//номер и примечание   
  Коллекция.Значение('НомерДок') := Диалог.Значение('НомерДок');    
  Если диалог.значение('НомерДокТип')='Равно' тогда 
    Коллекция.Значение('НомерДокПрост') := '=';
  Если диалог.значение('НомерДокТип')='Содержит строку' тогда 
    Коллекция.Значение('НомерДокПрост') := ' containing ';
  Если диалог.значение('НомерДокТип')='Начинается с' тогда 
    Коллекция.Значение('НомерДокПрост') := ' starting ';
  Коллекция.Значение('ТипПримечания') := Диалог.Значение('НазначениеТип');    
  Коллекция.Значение('Примечание') := Диалог.Значение('Назначение');
  Если диалог.значение('НазначениеТип')='Равно' тогда 
    Коллекция.Значение('ТипПримечания') := '=';
  Если диалог.значение('НазначениеТип')='Содержит строку' тогда 
    Коллекция.Значение('ТипПримечания') := ' containing ';
  Если диалог.значение('НазначениеТип')='Начинается с' тогда 
    Коллекция.Значение('ТипПримечания') := ' starting ';
            
//даты 
  Если Диалог.Значение('НачальнаяДата') = '' тогда 
    Коллекция.Значение('НачальнаяДата') := '00000000'
  иначе 
    Коллекция.Значение('НачальнаяДата') := StrToDateEx(Диалог.Значение('НачальнаяДата'));
  Если Диалог.Значение('КонечнаяДата') = '' тогда 
    Коллекция.Значение('КонечнаяДата') := '99999999'
  иначе 
    Коллекция.Значение('КонечнаяДата') := StrToDateEx(Диалог.Значение('КонечнаяДата'));
    
  // проверяем если есть параметр - тогда запихиваем его в коллекцию
  // так как почему то метод ПараметрСуществует не работает будем заключать всё операторы в попытку неудачу
  СчитатьРасходнуюКлассификациюИзДиалога(Диалог, Коллекция);
  попытка Коллекция.Значение('ИстВнутрФин') := Диалог.Значение(тк_ИсточникВнутрФин);неудача конец;
  попытка Коллекция.Значение('КодДохода') := Диалог.Значение(тк_КД); неудача конец;

//этовп и этоуведомление
  Коллекция.Значение(ип_КлассИсходногоДокумента) := Коллекция.Значение("ИндексыДанных");
  Класс := Коллекция.Значение(ип_КлассИсходногоДокумента);
  ЭтоВП := ф_ЭтоВП(Класс);
  ЭтоВПл := ф_ЭтоВПл(Класс);
  ЭтоУведомления := (Класс = Класс_УточнениеПоступлений) или (Класс = Класс_УточнениеВыбытий);
  Коллекция.Значение("ЭтоВП") := ЭтоВП;
  Коллекция.Значение("ЭтоВПл") := ЭтоВПл;
  Коллекция.Значение("ЭтоУведомления") := ЭтоУведомления;
  Коллекция.Значение('ТолькоУточненные') := Ложь; 
  
  если (ПолучитьПараметрИзНастроек(4,0,"НеФормироватьСвязанныеДокументы")) тогда
  начало
    Диалог.Значение(ип_КлассНовогоДокумента) := 0;
    КлассНовогоДокумента := 0;
  конец
  иначе
  начало
    ткстСписокКлассовНовогоДокумента := СоздатьТекст;
    попытка
      ткстСписокКлассовНовогоДокумента.Значение := Коллекция.Значение("ткстСписокКлассовНовогоДокумента_Значение");
      попытка
        КлассНовогоДокумента := КодПоНаименованию(Диалог.Значение(ип_КлассНовогоДокумента), ткстСписокКлассовНовогоДокумента);
      неудача
      конец;
    обязательно
      УдалитьОбъект(ткстСписокКлассовНовогоДокумента);
    конец;
  конец;
  попытка
  ФормироватьКорДокДляУточненияПоступлений := ПолучитьПараметрИзНастроек(4,0,'Брать класс нового документа из диалога');
  Если КлассНовогоДокумента &lt;&gt; 0 тогда
    ФормироватьКорректирующийДокументФлаг := Истина
  иначе если не ФормироватьКорДокДляУточненияПоступлений и ЭтоУведомления тогда
    ФормироватьКорректирующийДокументФлаг := Ложь;
  неудача
    ФормироватьКорректирующийДокументФлаг := Ложь;
  конец;
  Если ЭтоУведомления тогда 
    если не ФормироватьКорДокДляУточненияПоступлений тогда
    начало
      КлассНовогоДокумента := 0;
      // настройка для Нового реестра
      ФормироватьКорректирующийДокументФлаг := Ложь;
    конец;
// для новосибирска есть галочка в диалоге поиска "Формировать корр документ", специально для них тут дополнительная обработка
  Если ЭтоНовосибирск тогда
  начало
    Коллекция.Значение("ФормироватьКоррДок") := Диалог.Флаг('ФормироватьКоррДок');
    Если не диалог.Флаг('ФормироватьКоррДок') тогда
      ФормироватьКорректирующийДокументФлаг := Ложь
    иначе
      ФормироватьКорректирующийДокументФлаг := Истина; 
  конец;

  ФормироватьКорректирующийДокумент := ((ФормироватьКорректирующийДокументФлаг) и  
                                       (КлассНовогоДокумента &lt;&gt; Класс_ВнутренниеПереброскиДоходов) и 
                                       ((КлассНовогоДокумента &lt;&gt; Класс_ВыяснениеНевыясненных) или (Класс = Класс_ВыяснениеНевыясненных)) и
                                       (КлассНовогоДокумента &lt;&gt; Класс_ВнутренниеПереброскиРасходов)
                                       );
  Если ФормироватьКорректирующийДокумент и не ЭтоУведомления тогда                                     
    Коллекция.Значение(ип_КлассКорректирующегоДокумента) := ВернутьКлассКорректирующегоДокумента(Класс)
  иначе
    Коллекция.Значение(ип_КлассКорректирующегоДокумента)  := 0;
  Коллекция.Значение(ип_КлассНовогоДокумента) := КлассНовогоДокумента;
  
  //наименования классов
  
  Коллекция.Значение(ип_КлассИсходногоДокумента_Наименование) := НаименованиеПоКоду(Коллекция.Значение(ип_КлассИсходногоДокумента));
  Коллекция.Значение(ип_КлассКорректирующегоДокумента_Наименование) := НаименованиеПоКоду(Коллекция.Значение(ип_КлассКорректирующегоДокумента));
  Коллекция.Значение(ип_КлассНовогоДокумента_Наименование) := НаименованиеПоКоду(Коллекция.Значение(ип_КлассНовогоДокумента));
  
  Коллекция.Значение("ТекущаяДата") := ОбычнаяДатаВРасшир(ТекущаяДата);

  /$если Бюджет
  Если ПолучитьПараметрИзНастроек(4, 0, 'ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой')=1 тогда 
    ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой := Истина
  иначе 
    ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой := Ложь;
  /$иначе
    ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой := Истина;
  /$конец  
  Коллекция.Значение('ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой') := ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой;
  
  Если коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда 
    коллекция.Значение("Номер операции в уведомлении (поступление)") := ПолучитьПараметрИзНастроек(4, 0, 'Номер операции в уведомлении (поступление)');
  Если коллекция.Значение("ТипИнтерфейса") = ту_УточнениеВыбытий тогда 
    коллекция.Значение("Номер операции в уведомлении (выбытие)") := ПолучитьПараметрИзНастроек(4, 0, 'Номер операции в уведомлении (выбытие)');
 
конец;

// если в диалоге не указан класс документа - то ругаемся и опять показываем диалог,
// и так до тех пор пока не будет указано значение класса или пользователь нажмёт на отмену
функция ПолучаемЗначениеКлассаИзДиалога(Коллекция : IVariables);
переменные
  Класс : целое;
  ткстСписокКлассов : Текст;
начало
  Класс := 0;
  ткстСписокКлассов := СоздатьТекст;
  попытка
    ткстСписокКлассов.Значение := Коллекция.Значение("ткстСписокКлассов_Значение");
    Пока Класс=0 делать 
    начало
      Если Диалог.Значение('Класс')='' тогда 
        начало 
          Сообщение('Класс документа должен быть указан');
          Если не Диалог.Выполнить тогда 
            выход;
        конец   
      иначе
      начало 
        Класс := КодПоНаименованию(Диалог.Значение('Класс'), ткстСписокКлассов);
        // если осталось старое наименование класса, которое сейчас по новому называется
        Если Класс = 0 тогда 
          Диалог.Значение('Класс') := '';
      конец;    
    конец;
  обязательно
    УдалитьОбъект(ткстСписокКлассов);
  конец;    
конец;

// Функция получает строку групп параметров из общих настроек и выдает строку параметров диалога   
функция УстановитьСоответствие(СтрокаПараметровГрупп: текст): строка;
Переменные
  сч: целое;
Начало
  Результат := '';
  от сч := 0 до (СтрокаПараметровГрупп.Количество-1) делать
  начало
    Если СтрокаПараметровГрупп.стр(сч) = 'ФормироватьКорректирующийДокумент' тогда
      результат := результат + ' ФормироватьКорректирующийДокумент';
    Если СтрокаПараметровГрупп.стр(сч) = 'КлассИсходногоДокумента' тогда
      результат := результат + ' класс';
    Если СтрокаПараметровГрупп.стр(сч) = 'НомерДокумента' тогда
      результат := результат + ' НомерДокТип,НомерДок';
    Если СтрокаПараметровГрупп.стр(сч) = 'КлассНовогоДокумента' тогда
      результат := результат + ' КлассНовогоДокумента';
    Если СтрокаПараметровГрупп.стр(сч) = 'Даты' тогда
      результат := результат + ' НачальнаяДата,КонечнаяДата';
    Если СтрокаПараметровГрупп.стр(сч) = 'Получатель' тогда
      результат := результат + ' GroupAcceptor.ACC,GroupAcceptor.INN,GroupAcceptor.KPP,GroupAcceptor.ORG_NAME';
    Если СтрокаПараметровГрупп.стр(сч) = 'Плательщик' тогда
      результат := результат + ' GroupPayer.ACC,GroupPayer.INN,GroupPayer.KPP,GroupPayer.ORG_NAME';
    Если СтрокаПараметровГрупп.стр(сч) = 'ЛицевойСчет' тогда
      результат := результат + ' 41';
    Если СтрокаПараметровГрупп.стр(сч) = 'РасходнаяКлассификация' тогда
      результат := результат + ' 3,2,4,5,7';
    Если СтрокаПараметровГрупп.стр(сч) = 'Источник' тогда
      результат := результат + ' 52';   
    Если СтрокаПараметровГрупп.стр(сч) = 'КодДохода' тогда
      результат := результат + ' 9';
    Если СтрокаПараметровГрупп.стр(сч) = 'Сумма' тогда
      результат := результат + ' Сумма';
    Если СтрокаПараметровГрупп.стр(сч) = 'Назначение' тогда
      результат := результат + ' НазначениеТип,Назначение';    
    Если СтрокаПараметровГрупп.стр(сч) = 'СчетФО' тогда
      результат := результат + ' RefBudget,AccountFO.BUDGETREF,AccountFO.Acc,AccountFO.DFACC_REF';      
  конец;
Конец;

функция ВставитьЗначенияВРеестр(ТипИнтерфейса : строка; Коллекция : IVariables) ;
Переменные
  СтрокаГотовыхПараметров, СтрокаПараметровГрупп,
  ткст_СписокКлассовНовогоДокумента, ткст_СписокКлассовИсходногоДокумента : текст;
  сч, Код : целое;
  ЗначенияПараметровДиалога : СтатическиеДанные;
Начало 
  ЗначенияПараметровДиалога := СоздатьСтатикСетДляСохранинияПараметровДиалога;
  СтрокаПараметровГрупп := СоздатьТекст;
  СтрокаГотовыхПараметров := СоздатьТекст;
  ткст_СписокКлассовИсходногоДокумента :=СоздатьТекст;
  ткст_СписокКлассовИсходногоДокумента.значение := Коллекция.Значение("ткстСписокКлассов_Значение");
  ткст_СписокКлассовНовогоДокумента := СоздатьТекст;
  ткст_СписокКлассовНовогоДокумента.Значение := Коллекция.Значение("ткстСписокКлассовНовогоДокумента_Значение");
  попытка  
    СтрокаПараметровГрупп.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4,0,'ЗначенияПараметровДиалога');
    СтрокаГотовыхПараметров.РазделенноеЗначение := УстановитьСоответствие(СтрокаПараметровГрупп);
    попытка
      от сч := 0 до (СтрокаГотовыхПараметров.Количество - 1) делать
      начало
        ЗначенияПараметровДиалога.Добавить;
        выбрать СтрокаГотовыхПараметров.стр(сч) из
        'класс':
           если (Диалог.значение(СтрокаГотовыхПараметров.стр(сч)) &lt;&gt; '') тогда 
           начало
             код := КодПоНаименованию(Диалог.значение(СтрокаГотовыхПараметров.стр(сч)), ткст_СписокКлассовИсходногоДокумента);
             ЗаполнитьСтатикСетПараметромИзДиалога(ЗначенияПараметровДиалога, СтрокаГотовыхПараметров.стр(сч), ЦелоеВСтроку(Код));
           конец
           иначе
           начало
             ЗаполнитьСтатикСетПараметромИзДиалога(ЗначенияПараметровДиалога, СтрокаГотовыхПараметров.стр(сч), '');
           конец;
        'КлассНовогоДокумента':
         /$если Бюджет
           если (Диалог.значение(СтрокаГотовыхПараметров.стр(сч)) &lt;&gt; '') тогда 
           начало
             код := КодПоНаименованию(Диалог.значение(СтрокаГотовыхПараметров.стр(сч)), ткст_СписокКлассовНовогоДокумента);
             ЗаполнитьСтатикСетПараметромИзДиалога(ЗначенияПараметровДиалога, СтрокаГотовыхПараметров.стр(сч), ЦелоеВСтроку(Код));
           конец
           иначе
           начало
             ЗаполнитьСтатикСетПараметромИзДиалога(ЗначенияПараметровДиалога, СтрокаГотовыхПараметров.стр(сч), '');
           конец;
          /$иначе
           начало
           конец;
          /$конец
         'RefBudget':  // egorbunov 30.01.2012 обработка нужна если нет многобюджетности или она была отключена  
          начало
            если ЕстьМногобюджетность тогда
              ЗаполнитьСтатикСетПараметромИзДиалога(ЗначенияПараметровДиалога, СтрокаГотовыхПараметров.стр(сч), Диалог.значение(СтрокаГотовыхПараметров.стр(сч)));
          конец;
        иначе
        начало  
          ЗаполнитьСтатикСетПараметромИзДиалога(ЗначенияПараметровДиалога, СтрокаГотовыхПараметров.стр(сч), Диалог.значение(СтрокаГотовыхПараметров.стр(сч)));
        конец;
        конец;
        ЗначенияПараметровДиалога.Сохранить; 
      конец;  
    неудача
      сообщение(последняяошибка);
    конец;
  СохранитьПараметрыДиалогаВРеестр(ЗначенияПараметровДиалога, ТипИнтерфейса);    
  обязательно
    УдалитьОбъект(СтрокаПараметровГрупп, СтрокаГотовыхПараметров);
    УдалитьОбъект(ткст_СписокКлассовИсходногоДокумента, ткст_СписокКлассовНовогоДокумента);
  конец;  
Конец;

функция ВставитьЗначенияИзРеестраВДиалог(ТипИнтерфейса : строка; Коллекция : IVariables);
Переменные
  сч, Код : целое;
  СтрокаГотовыхПараметров, СтрокаПараметровГрупп : текст;
  значениеПараметраДиалога, наименование: строка;
  ткст_СписокКлассовНовогоДокумента, ткст_СписокКлассовИсходногоДокумента : Текст;
  ЗначенияПараметровДиалога : СтатическиеДанные;
  ИмяПараметра, ЗначениеПараметра : строка;
Начало 
  ЗначенияПараметровДиалога := СоздатьСтатикСетСПараметрамиДиалогаИзРеестра(ТипИнтерфейса);
  СтрокаПараметровГрупп := СоздатьТекст;
  СтрокаГотовыхПараметров := СоздатьТекст;
  ткст_СписокКлассовИсходногоДокумента :=СоздатьТекст;
  ткст_СписокКлассовИсходногоДокумента.значение := Коллекция.Значение("ткстСписокКлассов_Значение");
  ткст_СписокКлассовНовогоДокумента := СоздатьТекст;
  ткст_СписокКлассовНовогоДокумента.Значение := Коллекция.Значение("ткстСписокКлассовНовогоДокумента_Значение"); 
  попытка
    если ЗначенияПараметровДиалога.ЧислоЗаписей &lt;&gt; 0 тогда
    начало
      ЗначенияПараметровДиалога.ВНачало;
      пока не ЗначенияПараметровДиалога.ВКонце делать
      начало
        ИмяПараметра := ЗначенияПараметровДиалога.Поле('ParamName').какстрока;
        ЗначениеПараметра := ЗначенияПараметровДиалога.Поле('ParamValue').какстрока;
        выбрать ИмяПараметра из
          'класс':
            начало
              Наименование := ПолучитьНаименованиеДляДиалога(ЗначениеПараметра) + ' [' + ФорматироватьКлассификатор(ПолучитьКодОбъектаПоКодуКласса(ЗначениеПараметра), '00.00') + ']';
              Код := КодПоНаименованию(Наименование, ткст_СписокКлассовИсходногоДокумента);
              если Код &lt;&gt; 0 тогда
              начало
                Диалог.Значение(ИмяПараметра) := Наименование
              конец
              иначе
              начало
                Диалог.Значение(ИмяПараметра) := '';   
              конец;
            конец;
          'КлассНовогоДокумента':
            начало
              Наименование := ПолучитьНаименованиеДляДиалога(ЗначениеПараметра) + ' [' + ФорматироватьКлассификатор(ПолучитьКодОбъектаПоКодуКласса(ЗначениеПараметра), '00.00') + ']';
              Код := КодПоНаименованию(Наименование, ткст_СписокКлассовНовогоДокумента); 
              если Код &lt;&gt; 0 тогда
              начало
                Диалог.Значение(ИмяПараметра) := Наименование
              конец
              иначе
              начало
                Диалог.Значение(ИмяПараметра) := '';  
              конец;
            конец;
          'RefBudget':  // egorbunov 30.01.2012 обработка нужна если нет многобюджетности или она была отключена
           начало
             если ЕстьМногобюджетность тогда
               если ЗначениеПараметра &lt;&gt; '' тогда
                 Диалог.Значение(ИмяПараметра) := ЗначениеПараметра;
           конец;  
          иначе
           начало
             если ЗначениеПараметра &lt;&gt; '' тогда
               Диалог.Значение(ИмяПараметра) := ЗначениеПараметра;
           конец;
        конец;
        ЗначенияПараметровДиалога.Next;   
      конец;
    конец;
   
  обязательно
    УдалитьОбъект(СтрокаПараметровГрупп, СтрокаГотовыхПараметров);
    УдалитьОбъект(ткст_СписокКлассовИсходногоДокумента, ткст_СписокКлассовНовогоДокумента);
  конец;  
Конец;

</value>
    <param value="ФункцииДляРаботыСДиалогом" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляРаботыСДиалогом" type="3" name="crc32">$2FDEF7D6</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляРаботыСКазначейскимРеестром">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\ABLTools.lib';
      
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';



константы
  nl= #13#10;
  НаименованиеПараметра_ТипРеестраУведомлений = 'Тип казначейского реестра для уведомлений';
  НаименованиеПараметра_ТипРестраКласс = 'ТипКазнРеестр'; // + наименование класса
  НаименованиеПараметра_СоздаватьРеестрВРазрезеПользователей = 'Создавать реестр в разрезе пользователей';
  НаименованиеПараметра_ПутьКМакросуДляНумерацииРеестра = "ПутьКМакросуДляНумерацииРеестров";  


//если есть реестр - тогда возвращается ссылка на него, иначе возвращается -1
функция ВозвратитьРеестрЗаДату(Дата : целое; КлассДокумента : целое; Коллекция : IVariables) : целое;
переменные
  ЛокКоллекция : IVariables;
  сс_Реестры : СтатическиеДанные;
  ТипРеестра, ОграничиватьПоПользователю : целое;
начало
  Результат := -1;
  ТипРеестра := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПараметра_ТипРестраКласс+ НаименованиеПоКоду(КлассДокумента));
  если ТипРеестра = 0 тогда
    ТипРеестра := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПараметра_ТипРеестраУведомлений); 
  ОграничиватьПоПользователю := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПараметра_СоздаватьРеестрВРазрезеПользователей);
  Если ТипРеестра &lt;&gt; 0 тогда
    НАЧАЛО      
      сс_Реестры := СоздатьСтатическиеДанные;
      ЛокКоллекция := CreateVariables;
      Попытка
        сс_Реестры.СоединитьБД;
        сс_Реестры.Запрос := ПолучитьЗапросПоКлассу(Класс_КазначейскийРеестр, ЛокКоллекция);
        ЛокКоллекция.Значение('ДатаРеестра') := Дата;
        ЛокКоллекция.Значение('ТипРеестра') := ТипРеестра;
        ЛокКоллекция.Значение('КодБюджета') := Коллекция.Значение('КодБюджета');
        если ЛокКоллекция.Значение('КодБюджета') = '' или ЛокКоллекция.Значение('КодБюджета') = 0 тогда
          ЛокКоллекция.Значение('КодБюджета') := Коллекция.Значение('кодБюджетаДляРеестра');
        Если ОграничиватьПоПользователю=1 тогда 
          ЛокКоллекция.Значение('Пользователь') :=  ТекущийПользователь;
        СформироватьОграничения(сс_Реестры, Класс_КазначейскийРеестр, ЛокКоллекция);
        сс_Реестры.Открыть;
        Если сс_Реестры.RecordCount&lt;&gt;0 тогда 
          Результат := сс_Реестры.Поле('ID').КакЦелое;
      Обязательно
        УдалитьОбъект(ЛокКоллекция, сс_Реестры);
      конец;
    КОНЕЦ;// если у нас задан тип реестра для уведомлений
конец;

// генерируем номер реестра для уведомлений
функция СгенерироватьНомерРеестра(Коллекция : IVariables) : строка;
переменные
  День, Месяц, Год : целое;
  путьКМакросу: строка;
начало
  ПутьКМакросу := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПараметра_ПутьКМакросуДляНумерацииРеестра);
  если ПутьКМакросу &lt;&gt; '' тогда 
  начало
    ExecScript(ПутьКМакросу, коллекция);
    результат := коллекция.Значение("номерРеестра");
  конец
  иначе
  начало
    ПолучитьДату(ТекущаяДата, Год, Месяц, День);
    Результат := ЦелоеВСтроку(День) + '-' + ЦелоеВСтроку(Месяц) + '\' + ЦелоеВСтроку(ГенерироватьДиап("G_OUTREESTR_NUMBER",1)) + 'ИСПР';
  конец;
конец;

// создаём казначейский реестр, чтобы потом включить в него корректирующие и новые документы
функция СоздатьРеестр(Коллекция : IVariables; КлассДокумента : целое) : целое;
переменные
  сс_Реестры : СтатическиеДанные;
  ТипРеестра, ИдРеестра : целое;
  ЛокКоллекция : IVariables;
  Состояние : строка;
начало
  сс_Реестры := СоздатьСтатическиеДанные;
  ЛокКоллекция := CreateVariables;
  попытка
    сс_Реестры.СоединитьБД;
    сс_Реестры.CachedUpdates := Истина;
    сс_Реестры.Запрос := ПолучитьЗапросПоКлассу(Класс_КазначейскийРеестр, локКоллекция);

    ЛокКоллекция.Значение('КодРеестра') := -1;
    
    СформироватьОграничения(сс_Реестры, Класс_КазначейскийРеестр, ЛокКоллекция );
    сс_Реестры.Открыть;
    сс_Реестры.Вставить;
    сс_Реестры.Поле('ReestrDate').КакЦелое := Коллекция.Значение('ДатаИзДиалога');
    ТипРеестра := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПараметра_ТипРестраКласс + НаименованиеПоКоду(КлассДокумента));
    если ТипРеестра = 0 тогда
      ТипРеестра := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПараметра_ТипРеестраУведомлений); 
    Если ТипРеестра=0 тогда 
      ВызватьОшибку('Не указан тип реестра по умолчанию. Указать тип реестра можно в настройках на интерфейсе "Уведомление об уточнении вида платежа(выбытие)"'); 
    сс_Реестры.Поле('ReestrTypeEX').КакЦелое := ТипРеестра;
    сс_Реестры.Поле('REESTRNUMBER').КакСтрока := СгенерироватьНомерРеестра(Коллекция);
    сс_Реестры.Поле('Note').КакСтрока := 'Реестр для документов, уточняющих классификацию';
    Состояние := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(Класс_КазначейскийРеестр)  + ПостфиксДляНачСостояния);
    Если (Состояние&lt;&gt;'') и (Состояние&lt;&gt;'0') тогда 
      сс_Реестры.Поле('DocStateRef').КакСтрока := Состояние
    иначе 
      сс_Реестры.Поле('DocStateRef').КакСтрока := '';
    
    Если Коллекция.Значение('КодБюджета')&lt;&gt; '' тогда 
      сс_Реестры.Поле('BudgetRef').КакЦелое := Коллекция.Значение('КодБюджета');    
    
    ИдРеестра := ГенерироватьДиап('G_Shared', 1);
    сс_Реестры.Поле('ID').КАкЦелое := ИдРеестра;
    сс_Реестры.Сохранить;
    СохранитьИзменения_(сс_Реестры);
    ВывестиВПротокол(с_СозданРеестр, сс_Реестры, '');
    Результат := ИдРеестра;
  Обязательно
    УдалитьОбъект(сс_Реестры, ЛокКоллекция);
  конец;
конец;


// объединение функций ВозвратитьРеестрЗаДату и СоздатьРеестр
функция  УстановитьРеестрУведомлений(Дата : целое; ип_КлассДокумента : строка;  Коллекция : IVariables) : строка;
переменные
  СсылкаНаРеестр : целое;
начало
  Результат := '';
  /$если Бюджет
  если НеобходимоВключатьВРеестр(Коллекция.Значение(ип_КлассДокумента)) тогда
  Начало
    ЕСЛИ (ПолучитьПараметрИзНастроек(4,0,'УстанавливатьДатуСозданияРеестра')) и (Коллекция.Значение('ДатаИзДиалога') = '') тогда
      начало
        Диалог.Очистить;
        Диалог.Заголовок := "Дата реестра";
        Диалог.Добавить("Дата","Дата",0,Календарь,"00.00.0000");  
        Диалог.Значение("Дата"):=ДатаВСтроку(ТекущаяДата);
        Если не Диалог.Выполнить тогда
          Вызватьошибку('Нужно ввести дату создания реестра!');
        Дата := StrToDateEx(Диалог.Значение("Дата"));  
      конец;
  конец;  
  Если (Коллекция.Значение('ДатаИзДиалога') = '') тогда 
    Коллекция.Значение('ДатаИзДиалога'):= Дата
  иначе
    дата := Коллекция.Значение('ДатаИзДиалога');

  Если ип_КлассДокумента = 'ВП' тогда
  начало
    СсылкаНаРеестр := ВозвратитьРеестрЗаДату(Дата,66,Коллекция);
    Если СсылкаНаРеестр &lt;&gt; -1 тогда 
      Результат := СсылкаНаРеестр
    иначе 
      Результат := СоздатьРеестр(Коллекция,66);
  конец
  Иначе
    ЕСЛИ НеобходимоВключатьВРеестр(Коллекция.Значение(ип_КлассДокумента))  ТОГДА 
    начало     
      СсылкаНаРеестр := ВозвратитьРеестрЗаДату(Дата,Коллекция.Значение(ип_КлассДокумента),Коллекция);
      Если СсылкаНаРеестр &lt;&gt; -1 тогда 
        Результат := СсылкаНаРеестр
      иначе 
        Результат := СоздатьРеестр(Коллекция,Коллекция.Значение(ип_КлассДокумента));
    конец;
  /$конец
конец;

</value>
    <param value="ФункцииДляРаботыСКазначейскимРеестром" type="3" name="Export">DJON2\egorbunov\07.09.2011 16:05:23</param>
    <param value="ФункцииДляРаботыСКазначейскимРеестром" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляРаботыСКазначейскимРеестром" type="3" name="crc32">$02D73CA2</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляРаботыСКлассами">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Variables.lib';

включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';

включить 'project';


переменные
  сс_МестаИнтерфейсы : СтатическиеДанные;
  // глобальные переменные для кэширования результатов
  группыКлассов, 
  запросыКлассов, 
  заголовкиКлассов: IVariables; 
 
функция ПолучитьИнтерфейсыИНаименованияПоПравам; будущая;

// возвращает номер группы в которую входит данный класс
// причём возвращается группа самого нижнего уровня.
// Например, ПлатежныеПоручения принадлежат группе КазначействоВыбытие, Выбытие, Казначейство
// возвратится группа казначейство выбытие 
Функция ПолучитьГруппуПоКлассу(КлассДокумента : целое) : целое;
переменные
  кэшЗначение: целое;
начало
  если группыКлассов = nil тогда
    группыКлассов := CreateVariables;
  кэшЗначение := группыКлассов.Значение(классДокумента);  
  если (кэшЗначение &lt;&gt; '') и (кэшЗначение &lt;&gt; 0) тогда
    результат := кэшЗначение
  иначе 
  начало
    Выбрать КлассДокумента из
        // доходы 
        Класс_ВнутренниеПереброскиДоходов,
        Класс_ПоступлениеНевыясненных,
        Класс_ВыяснениеНевыясненных,
        Класс_ПоступлениеДоходов,
        Класс_ВозвратДоходов : результат := Группа_Доходы;
        // казначейство поступление    
        Класс_ПриходОтПрочих,
        Класс_ПриходПоОбъявлениям,
        Класс_Разассигновка,
        Класс_УтверждениеОФ,
        класс_РаспределениеОФ,
        Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности,
        Класс_ПодтверждениеВозвратасоСчетовДляНаличности,
        Класс_ВП_Поступление,
        Класс_ВПл_Поступление : Результат := Группа_КазначействоПоступление;
        // казначейство выбытие
        
        Класс_ПлатежныеПоручения,
        Класс_РасходПоЧекам,
        Класс_ПеречислениеНаСчетаДляНаличности,
        Класс_ВозвратСоСчетовДляНаличности,
        Класс_УчетКассовыхВыплат,
        Класс_ВП_Выбытие,
        Класс_ВПл_Выбытие,
        Класс_КассовыйРасход : Результат := Группа_КазначействоВыбытие; 
        // ссуды
        Класс_ВыдачаСсуды,
        Класс_ПогашениеСсуды : Результат := Группа_Ссуды; 
        // кредиты
        Класс_ПолучениеКредита,
        Класс_ПогашениеКредита : Результат := Группа_Кредиты; 
        // некассовые
        Класс_Роспись, 
        Класс_Лимиты,
        Класс_ПланДоходов,
        Класс_УчетДоговоров,
        Класс_ЗаявкиНаЗакупку,
        Класс_ИтогиКонкурсов, 
        Класс_БюджетныеОбязательства,
        Класс_КассовыйПланРасходы,
        Класс_КассовыйПланПБСРасходы,
        Класс_ПомесячныйКассовыйПлан,
        Класс_ПомесячныйКассовыйПланПБС,
        Класс_СметаПДРасходы,
        Класс_СметаПДДоход,
        Класс_СБРКассовыйПланРасходы,
        класс_графикфинансирования,
        Класс_СБРИсточники,
        Класс_РосписьПоАИФИсточники,
        Класс_КассовыйПланИсточники,
        Класс_ПодневнойКассовыйПлан,
        Класс_СметаПоПДИсточники : Результат := Группа_Некассовые;
        // казначейский реестр
        Класс_КазначейскийРеестр : Результат := Группа_Реестр;
        // внутренние переброски 
        Класс_ВнутренниеПереброскиРасходов : Результат :=  Группа_ВнутренниеПереброскиРасходов;
        Класс_ВнутренниеПлатежиРасходов : Результат :=  Группа_ВнутренниеПлатежиРасходов;
        // распоряжения на финансирование
        Класс_РаспоряжениеНаФинансирование,
        Класс_СводноеРаспоряжениеНаФинансирование  : Результат := Группа_Финансирование;
        // уведомления 
        Класс_УточнениеПоступлений,
        Класс_УточнениеВыбытий : Результат := Группа_Уведомления;
      Иначе 
        Результат := 0;
    конец;
    группыКлассов.Значение(классДокумента) := результат;
  конец;  
конец;


// получить код класса по его наименованию 
функция КодПоНаименованию(Наименование : Строка; СписокКлассов : Текст) : целое;
переменные
  Нашли, Счетчик : целое;
начало
  Счетчик := 0;
  Нашли := 0;
  Пока  (Счетчик &lt;= СписокКлассов.Количество-1) и (не Нашли=1) делать 
  начало
    Если СписокКлассов.ЗначениеПараметра(СписокКлассов.ИмяПараметра(Счетчик)) = Наименование тогда 
      Нашли := 1
    иначе 
      Счетчик := Счетчик + 1;
  конец;
  Если (Нашли=1) тогда 
    Результат := СтрокаВЦелое(СписокКлассов.ИмяПараметра(Счетчик))
  иначе 
    Результат := 0;
конец;

функция НаименованиеПоКоду(КодКласса : целое) : строка;
начало
  Выбрать КодКласса из
      0 : Результат := '';
      Класс_ВнутренниеПереброскиДоходов : Результат := 'Внутренние операции доходов';// 38
      Класс_ПоступлениеНевыясненных : Результат := 'Поступление невыясненных';// 41
      Класс_ВыяснениеНевыясненных : Результат := 'Возврат невыясненных';// 42
      Класс_ПоступлениеДоходов : Результат := 'Поступление доходов';// 45
      Класс_ПриходОтПрочих : Результат := 'Приход от прочих';// 61
      Класс_ПриходПоОбъявлениям : Результат := 'Приход по объявлениям';// 62
      Класс_ПлатежныеПоручения : Результат := 'Платежные поручения';// 63
      Класс_УчетКассовыхВыплат : Результат := 'Учет кассовых выплат';//73
      Класс_РасходПоЧекам : Результат := 'Расход по чекам';// 64
      Класс_Разассигновка : Результат := 'Разассигновка';// 65
      Класс_УтверждениеОФ : Результат := 'Утверждение ОФ';// 75
      класс_РаспределениеОФ: результат := "Распределение ОФ"; //76 
      Класс_ПеречислениеНаСчетаДляНаличности : Результат := 'Перечисление на счета для наличности';// 68
      Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности : Результат := 'Подтверждение перечисления на счета для наличности';// 69
      Класс_ВозвратСоСчетовДляНаличности : Результат := 'Возврат со счетов для наличности';// 70
      Класс_ПодтверждениеВозвратасоСчетовДляНаличности : Результат := 'Подтверждение возврата со счетов для наличности';// 71
      Класс_ВыдачаСсуды : Результат := 'Выдача ссуды';// 121
      Класс_ПогашениеСсуды : Результат := 'Погашение ссуды';// 122
      Класс_ПолучениеКредита : Результат := 'Получение кредита';// 131
      Класс_ПогашениеКредита : Результат := 'Погашение кредита';// 132
      Класс_ВозвратДоходов : Результат := 'Возврат доходов';// 145
      Класс_Роспись : Результат := 'Роспись';// 32;
      Класс_Лимиты : Результат := 'Лимиты';// 57;
      Класс_графикфинансирования : Результат := 'График финансирования';// 550;
      Класс_ПланДоходов : Результат := 'ПланДоходов'; //46
      Класс_УчетДоговоров : Результат := 'Учет договоров';//  304;
      Класс_ГосКонтракты : Результат := 'Контракты (с договорами)';// 305;
      Класс_ГосКонтрактыПФ : Результат := 'Контракты (с договорами)';// 318;
      Класс_ДокИсполнения : Результат := 'Документы исполнения';// 308;
      Класс_ЗаявкиНаЗакупку : Результат := 'Заявки на закупку';//  230;
      Класс_ИтогиКонкурсов : Результат := 'Итоги конкурсов';//  234;
      Класс_БюджетныеОбязательства : результат := "Бюджетные обязательства"; //345
      Класс_КазначейскийРеестр : Результат := 'Реестры казначейства';//  777;
      Класс_ВнутренниеПереброскиРасходов : Результат := 'Внутренние переброски';//  66;
      Класс_ВП_Выбытие : Результат := 'Внутренние переброски (выбытие)';//  888;
      Класс_ВП_Поступление : Результат := 'Внутренние переброски (поступление)';//  999;
      Класс_ВнутренниеПлатежиРасходов : Результат := 'Внутренние платежи';//  67;
      Класс_ВПл_Выбытие : Результат := 'Внутренние платежи (выбытие)';//  444;
      Класс_ВПл_Поступление : Результат := 'Внутренние платежи (поступление)';//  555;
      Класс_РаспоряжениеНаФинансирование : Результат := 'Распоряжение на финансирование';//  23;
      Класс_СводноеРаспоряжениеНаФинансирование : Результат := 'Сводное распоряжение на финансирование';//  223;        
      ту_УточнениеПоступлений : Результат := 'Уточнение поступлений';// 312 
      ту_УточнениеВыбытий : Результат := 'Уточнение выбытий';// 313
      Класс_КассовыйПланРасходы : Результат := 'КассовыйПланРасходы'; //261
      Класс_КассовыйПланПБСРасходы : Результат := 'КассовыйПланПБСРасходы'; //268
      Класс_ПомесячныйКассовыйПлан : Результат := 'ПомесячныйКассовыйПлан'; //272
      Класс_ПодневнойКассовыйПлан : Результат := 'КассовыйПланПодневной'; //274
      Класс_ПомесячныйКассовыйПланПБС : Результат := 'ПомесячныйКассовыйПланПБС'; //273
      Класс_СБРКассовыйПланРасходы : Результат := 'СБРКассовыйПланРасходы'; // 260
      Класс_СметаПДРасходы : Результат := 'СметаПДРасходы';//262
      Класс_СметаПДДоход : Результат := 'СметаПДДоходы'; //269
      Класс_СБРИсточники : Результат := 'СБРИсточники'; //264
      Класс_РосписьПоАИФИсточники : Результат := 'РосписьПоАИФИсточники'; //215
      Класс_КассовыйПланИсточники : Результат := 'КассовыйПланИсточники'; //265
      Класс_СметаПоПДИсточники : Результат := 'СметаПоПДИсточники'; //266
    иначе 
      Результат := 'неизвестный код класса:' + ЦелоеВСтроку(КодКласса);
  конец;
конец;

функция ПолучитьКодОбъектаПоКодуКласса(КодКласса :целое) : целое;
начало
  Выбрать КодКласса из
      0 : Результат := 0;
      Класс_ВнутренниеПереброскиДоходов : Результат := 902;// 38
      Класс_ПоступлениеНевыясненных : Результат := 906;// 41
      Класс_ВыяснениеНевыясненных : Результат := 906 ;// 42
      Класс_ПоступлениеДоходов : Результат := 903;// 45
      Класс_ПриходОтПрочих : Результат := 305;// 61
      Класс_ПриходПоОбъявлениям : Результат := 306;// 62
      Класс_ПлатежныеПоручения : Результат := 302;// 63
      Класс_УчетКассовыхВыплат : Результат := 322;//73
      Класс_РасходПоЧекам : Результат :=304;// 64
      Класс_Разассигновка : Результат := 303;// 65
      Класс_УтверждениеОФ : Результат := 323;// 75
      класс_РаспределениеОФ: результат := 324; //76 
      Класс_ПеречислениеНаСчетаДляНаличности : Результат := 311;// 68
      Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности : Результат := 312;// 69
      Класс_ВозвратСоСчетовДляНаличности : Результат := 314;// 70
      Класс_ПодтверждениеВозвратасоСчетовДляНаличности : Результат := 315;// 71
      
      Класс_ПолучениеКредита : Результат := 401;// 131
      Класс_ПогашениеКредита : Результат := 401;// 132
      Класс_ВыдачаСсуды : Результат := 501;// 121
      Класс_ПогашениеСсуды : Результат := 501;// 122

      Класс_ГрафикФинансирования : 
         если ЭтоОмск тогда 
           Результат := 3610 
         иначе Результат := 0;// 57;  /*Омск*/
      
      Класс_УчетДоговоров : Результат := 2502;//  304; 
      Класс_ГосКонтракты : Результат := 2501; // 305;
      Класс_ГосКонтрактыПФ : Результат := 2501; // 318;
      Класс_ДокИсполнения : Результат := 2503; // 308;
      Класс_ЗаявкиНаЗакупку : Результат := 3001;//  230;   
      Класс_ИтогиКонкурсов : Результат := 0;//  234;    
      
      Класс_ВозвратДоходов : Результат := 901;// 145
      Класс_БюджетныеОбязательства : результат := 1601; //345
      Класс_КазначейскийРеестр : Результат := 307;//  777;
      Класс_ВнутренниеПереброскиРасходов : Результат := 301;//  66;
      Класс_ВП_Выбытие : Результат := 301;//  888;
      Класс_ВП_Поступление : Результат := 301;//  999;
      Класс_ВнутренниеПлатежиРасходов : Результат := 308;//  67;
      Класс_ВПл_Выбытие : Результат := 308;//  444;
      Класс_ВПл_Поступление : Результат := 308;//  555;
      Класс_РаспоряжениеНаФинансирование : Результат := 701;//  23;
      Класс_СводноеРаспоряжениеНаФинансирование : Результат := 101;//  223;        
      ту_УточнениеПоступлений : Результат := 5501;// 312 
      ту_УточнениеВыбытий : Результат := 5502;// 313
      
      Класс_КассовыйПланРасходы : Результат := 203; //261
      Класс_КассовыйПланПБСРасходы : Результат := 206; //268
      Класс_ПомесячныйКассовыйПлан : Результат := 207; //272
      Класс_ПодневнойКассовыйПлан : Результат := 209; //274
      Класс_ПомесячныйКассовыйПланПБС : Результат := 208; //273
      Класс_СБРКассовыйПланРасходы : Результат := 202; // 260
      Класс_СметаПДРасходы : Результат := 204;//262
      Класс_СметаПДДоход : Результат := 2203; //269
      Класс_СБРИсточники : Результат := 1901; //264
      Класс_РосписьПоАИФИсточники : Результат := 1902; //215
      Класс_КассовыйПланИсточники : Результат := 1903; //265
      Класс_СметаПоПДИсточники : Результат := 1904; //266
      Класс_ПланДоходов : Результат := 2201; //46
      Класс_Лимиты : Результат := 801;// 57;
      Класс_Роспись : Результат := 201;// 32;
    иначе 
      Результат := 0; //неизвестный код класса
  конец;
конец;

функция ПолучитьНаименованиеДляДиалога(КодКласса : целое) : строка;
начало
  выбрать КодКласса  из
    Класс_ВыдачаСсуды : Результат := 'Выдача ссуды';// 121
    Класс_ПогашениеСсуды : Результат := 'Погашение ссуды';// 122
    Класс_ПолучениеКредита : Результат := 'Получение кредита';// 131
    Класс_ПогашениеКредита : Результат := 'Погашение кредита';// 132
    Класс_ПоступлениеНевыясненных : Результат := 'Поступление невыясненных';// 41
    Класс_ВыяснениеНевыясненных : Результат := 'Возврат невыясненных';// 42
    Класс_ВнутренниеПереброскиРасходов : Результат := 'Внутренние переброски';//  66;
    Класс_ВП_Выбытие : Результат := 'Внутренние переброски (выбытие)';//  888;
    Класс_ВП_Поступление : Результат := 'Внутренние переброски (поступление)';//  999;
    Класс_ВнутренниеПлатежиРасходов : Результат := 'Внутренние платежи';//  66;
    Класс_ВПл_Выбытие : Результат := 'Внутренние платежи (выбытие)';//  888;
    Класс_ВПл_Поступление : Результат := 'Внутренние платежи (поступление)';//  999
    Класс_КассовыйРасход : Результат := 'Кассовый расход' // 111
  иначе Результат := '';   
  конец;

  если результат = '' тогда 
  /$если Бюджет
    попытка
      если сс_МестаИнтерфейсы = nil тогда
        ПолучитьИнтерфейсыИНаименованияПоПравам; // Получаем глобальный статиксет сс_МестаИнтерфейсы           
        
    //заменяю на локализовать с целью оптимизации - теперь можно, так как изменён запрос ранее(cls в пределах статиксета теперь уникален)
      если сс_МестаИнтерфейсы.Локализовать('cls', ЦелоеВСтроку(ПолучитьКодОбъектаПоКодуКласса(КодКласса)), 0) тогда
        если сс_МестаИнтерфейсы.Поле('Note').какСтрока &lt;&gt; '' тогда
          результат := сс_МестаИнтерфейсы.Поле('Note').какСтрока
        иначе
          результат := сс_МестаИнтерфейсы.Поле('DefaultNote').какСтрока; 
    неудача
      УдалитьОбъект(сс_МестаИнтерфейсы);
    конец;
  /$иначе
    результат := НаименованиеПоКоду(КодКласса);
  /$конец
конец;

 // проверяет вхождение указанного класса документа в указанную группу
// Если входит возвращается 1 , иначе 0 
функция ВходитВГруппу(КлассДокумента, Группа : целое) : целое;
переменные 
  ТекущаяГруппа : целое;
начало
  
 
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(КлассДокумента);
  
  Выбрать Группа из
      Группа_Поступление                : Результат := (ТекущаяГруппа = Группа_КазначействоПоступление) или
                                                       (ТекущаяГруппа = Группа_Доходы) или 
                                                       (КлассДокумента = Класс_ПогашениеСсуды) или
                                                       (КлассДокумента = Класс_ПолучениеКредита) и
                                                       (КлассДокумента &lt;&gt; Класс_ВозвратДоходов);
      Группа_Выбытие                    : Результат := (ТекущаяГруппа = Группа_КазначействоВыбытие) или
                                                       (КлассДокумента = Класс_ВыдачаСсуды) или
                                                       (КлассДокумента = Класс_ПогашениеКредита) или
                                                       (КлассДокумента = Класс_ВозвратДоходов);
      Группа_Доходы                     : Результат := ТекущаяГруппа = Группа_Доходы;
      Группа_КазначействоПоступление    : Результат := ТекущаяГруппа = Группа_КазначействоПоступление;
      Группа_КазначействоВыбытие        : Результат := ТекущаяГруппа = Группа_КазначействоВыбытие;
      Группа_Казначейство               : Результат := (ТекущаяГруппа = Группа_КазначействоПоступление) или 
                                                       (ТекущаяГруппа = Группа_КазначействоВыбытие) или 
                                                       (ТекущаяГруппа = Группа_ВнутренниеПереброскиРасходов) или
                                                       (ТекущаяГруппа = Группа_ВнутренниеПлатежиРасходов);
      Группа_Кредиты                    : Результат := ТекущаяГруппа = Группа_Кредиты;
      Группа_Ссуды                      : Результат := ТекущаяГруппа = Группа_Ссуды;
      Группа_Заимствования              : Результат := (ТекущаяГруппа = Группа_Ссуды) или 
                                                       (ТекущаяГруппа = Группа_Кредиты);
      Группа_Финансирование             : Результат := (КлассДокумента = Класс_ВыдачаСсуды) или 
                                                       (КлассДокумента = Класс_ПогашениеСсуды) или 
                                                       (ТекущаяГруппа = Группа_Финансирование);
      Группа_Некассовые                 : Результат := (ТекущаяГруппа = Группа_Некассовые);
      Группа_Реестр                     : Результат := (ТекущаяГруппа = Группа_Реестр);
      Группа_ВнутренниеПереброскиРасходов : Результат := (ТекущаяГруппа = Группа_ВнутренниеПереброскиРасходов);
      Группа_Уведомления                :                                            Результат := ТекущаяГруппа=Группа_Уведомления;
                                            
    иначе 
      ВызватьОшибку('Не обнаружена группа с таким номером : ' + ЦелоеВСтроку(Группа));
    
  конец;
      
конец;



функция ПолучитьФорматированныйКодОбъектаПоКодуКласса(КодКласса : целое) : строка;
начало
  результат := ' [' + ФорматироватьКлассификатор(ПолучитьКодОбъектаПоКодуКласса(КодКласса), '00.00') + ']';
конец;


// эта функция нужна для построения списка наименований по классам для диалогов в виде:
//  наименование1 + #13#10 +
//  наименование2 + #13#10 +
//  и т.д. 
функция ПолучитьСписокНаименованийКлассовПоИхКодам(СписокКлассов : строка) : строка;
переменные
  ткст_СписокКлассов : Текст;
  Индекс : целое;
  СтрокаРезультата : строка;
начало
  СтрокаРезультата := '';
  Если СписокКлассов&lt;&gt;'' тогда 
    начало
      ткст_СписокКлассов := СоздатьТекст;
      ткст_СписокКлассов.РазделенноеЗначение := СписокКлассов;
      Индекс := 0;
      Пока (Индекс &lt; ткст_СписокКлассов.Количество-1) делать 
      начало
        СтрокаРезультата := СтрокаРезультата + ПолучитьНаименованиеДляДиалога(ткст_СписокКлассов.Стр(Индекс)) + 
                          ' [' + ФорматироватьКлассификатор(ПолучитьКодОбъектаПоКодуКласса(ткст_СписокКлассов.Стр(Индекс)), '00.00') + ']' + nl;    
        Индекс  := Индекс + 1;
      конец;
      СтрокаРезультата := СтрокаРезультата + ПолучитьНаименованиеДляДиалога(ткст_СписокКлассов.Стр(Индекс)) + 
                          ' [' + ФорматироватьКлассификатор(ПолучитьКодОбъектаПоКодуКласса(ткст_СписокКлассов.Стр(Индекс)), '00.00') + ']';
    конец;
  Результат := СтрокаРезультата ;
конец;

// эта функция нужна для построения строки, которая потом будет загружена в список в виде
//  Класс1 + '=' + НаименованиеКласса1 + #13#10 +
//  Класс2 + '=' + НаименованиеКласса2 + #13#10 +
//  и т.д. 
функция ПолучитьСтрокуКлассовСНаименованиями (СписокКлассов : строка) : строка;
переменные
  ткст_СписокКлассов : Текст;
  Индекс : целое;
  СтрокаРезультата : строка;
начало
  СтрокаРезультата := '';
  Если СписокКлассов&lt;&gt;'' тогда 
    начало
      ткст_СписокКлассов := СоздатьТекст;
      ткст_СписокКлассов.РазделенноеЗначение := СписокКлассов;
      Индекс := 0;
      Пока (Индекс&lt; ткст_СписокКлассов.Количество-1) делать 
      начало
        СтрокаРезультата := СтрокаРезультата + ткст_СписокКлассов.Стр(Индекс) + '=' + ПолучитьНаименованиеДляДиалога(ткст_СписокКлассов.Стр(Индекс)) + 
                            ' [' + ФорматироватьКлассификатор(ПолучитьКодОбъектаПоКодуКласса(ткст_СписокКлассов.Стр(Индекс)), '00.00') + ']' + nl;    
        Индекс  := Индекс + 1;
      конец;
      СтрокаРезультата := СтрокаРезультата + ткст_СписокКлассов.Стр(Индекс) + '=' + ПолучитьНаименованиеДляДиалога(ткст_СписокКлассов.Стр(Индекс)) + 
                          ' [' + ФорматироватьКлассификатор(ПолучитьКодОбъектаПоКодуКласса(ткст_СписокКлассов.Стр(Индекс)), '00.00') + ']';
    конец;
  Результат := СтрокаРезультата ;
конец;

функция ЕстьПравоНаСозданиеКласса(КлассДокумента : целое) : целое;
переменные                                                    
  ф : ФормаВвода;
начало
  Ф := ПолучитьФормуВвода;
  Результат := Ложь;  
  /$если Бюджет
  ЕСЛИ Ф.ЯАдмин тогда 
    Результат := Истина// админу можно всё
  ИНАЧЕ 
    начало
       Выбрать КлассДокумента из
            Класс_ВнутренниеПереброскиДоходов : Результат := Ф.ЕстьПраво('Создание внутренних перебросок доходов');// 38
            Класс_ПоступлениеНевыясненных : Результат := Ф.ЕстьПраво('Создание поступления невыясненых');// 41
            Класс_ВыяснениеНевыясненных : Результат := Ф.ЕстьПраво('Создание возврата невыясненых');// 42
            Класс_ПоступлениеДоходов : Результат := Ф.ЕстьПраво('Создание поступления доходов');// 45
            Класс_ПриходОтПрочих : Результат := Ф.ЕстьПраво('Создание прихода от прочих');// 61
            Класс_ПриходПоОбъявлениям : Результат := Ф.ЕстьПраво('Создание прихода по объявлениям');// 62
            Класс_ПлатежныеПоручения : Результат := Ф.ЕстьПраво('Создание платежного поручения');// 63            
            Класс_РасходПоЧекам : Результат := Ф.ЕстьПраво('Создание расхода по чекам');// 64
            Класс_Разассигновка : Результат := Ф.ЕстьПраво('Создание разассигновки');// 65
            Класс_УтверждениеОФ : Результат := Ф.ЕстьПраво('Создание утверждения ОФ');// 75
            Класс_РаспределениеОФ : Результат := истина;// 76
            Класс_ПеречислениеНаСчетаДляНаличности : Результат := Ф.ЕстьПраво('Создание перечисления на счета наличности');// 68
            Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности : Результат := Ф.ЕстьПраво('Создание возврата со счетов для наличности');// 69
            Класс_ВозвратСоСчетовДляНаличности : Результат := Ф.ЕстьПраво('Создание возврата со счетов для наличности');// 70
            Класс_ПодтверждениеВозвратасоСчетовДляНаличности : Результат := Ф.ЕстьПраво('Создание подтверждения возврата со счетов для наличности');// 71
            Класс_ВыдачаСсуды : Результат := Ф.ЕстьПраво('Создание выдачи ссуды');// 121
            Класс_ПогашениеСсуды : Результат := Ф.ЕстьПраво('Создание погашения ссуды');// 122
            Класс_ПолучениеКредита : Результат := Ф.ЕстьПраво('Создание получения кредита');// 131
            Класс_ПогашениеКредита : Результат := Ф.ЕстьПраво('Создание погашения кредита');// 132
            Класс_ВозвратДоходов : Результат := Ф.ЕстьПраво('Создание возврата доходов');// 145
            Класс_КазначейскийРеестр : Результат := Истина;// 777
            Класс_ВнутренниеПереброскиРасходов,
            Класс_ВП_Поступление,
            Класс_ВП_Выбытие : Результат := Ф.ЕстьПраво('Создание внутренней переброски казначейства');// 66,888,999
            Класс_ВнутренниеПлатежиРасходов,
            Класс_ВПл_Поступление,
            Класс_ВПл_Выбытие : Результат := Ф.ЕстьПраво('Создание внутренних платежей казначейства');// 67,444,555
            Класс_РаспоряжениеНаФинансирование : Результат := Ф.ЕстьПраво('Создание распоряжения на финансирование'); //23
            Класс_СводноеРаспоряжениеНаФинансирование : Результат := Ф.ЕстьПраво('Создание сводного распоряжения на финансирование'); //223
            Класс_УчетКассовыхВыплат : Результат := Ф.ЕстьПраво('Создание учета кассовых выплат');// 73
            Класс_УточнениеВыбытий, Класс_УточнениеПоступлений : Результат := Истина;
           
            Класс_Роспись : Результат := Ф.ЕстьПраво('Создание роспись по пбс(расходы)');
            Класс_Лимиты : Результат := Ф.ЕстьПраво('Создание уведомления по объемам финансирования');
            Класс_КассовыйПланРасходы : Результат := Ф.ЕстьПраво('Создание кассовый план (расходы)');
            Класс_КассовыйПланПБСРасходы : Результат := Ф.ЕстьПраво('Создание поф по пбс (расходы)');
            Класс_ПомесячныйКассовыйПлан : Результат := Ф.ЕстьПраво('Создание помесячный кассовый план');
            Класс_ПомесячныйКассовыйПланПБС: Результат := Ф.ЕстьПраво('Создание помесячные поф по пбс');
            Класс_ПодневнойКассовыйПлан: Результат := Ф.ЕстьПраво('Создание подневной кассовый план'); 
            Класс_СБРКассовыйПланРасходы : Результат := Ф.ЕстьПраво('Создание сбр (расходы)');
            Класс_СметаПДРасходы : Результат := Ф.ЕстьПраво('Создание смета по пд');
             
            Класс_СБРИсточники : Результат := Ф.ЕстьПраво('Создание сбр (источники)');
            Класс_РосписьПоАИФИсточники : Результат := Ф.ЕстьПраво('Создание роспись по аиф (источники)');
            Класс_КассовыйПланИсточники : Результат := Ф.ЕстьПраво('Создание кассовый план (источники)');
            Класс_ПланДоходов : Результат := Ф.ЕстьПраво('Создание кассовый план (доходы)');
            Класс_УчетДоговоров : Результат := Ф.ЕстьПраво('Создание учета договоров');
            Класс_БюджетныеОбязательства : Результат := Ф.ЕстьПраво('Создание бюджетных обязательств');
            Класс_ЗаявкиНаЗакупку : Результат := Ф.ЕстьПраво('Создание заявки на закупку');
            Класс_графикфинансирования : Результат := Ф.ЕстьПраво('Создание графика финансирования'); 
            
            0 : Результат := Истина;
          иначе 
            Результат := Ложь;
       конец;
    конец;
  /$иначе
    Результат := Истина// админу можно всё  
  /$конец  
конец;

// в списке классов остаются только те на которые у пользователя есть права 
функция ОтфильтроватьПоПравамНаСозданиеСписокКлассовДокументов(СписокКлассов : Строка) : строка;
переменные
  ткст_СписокКлассов : текст;
  Счетчик : целое;
  СписокРазрешенныхКлассов : строка;
начало
  ткст_СписокКлассов := СоздатьТекст;
  ткст_СписокКлассов.РазделенноеЗначение := СписокКлассов;
  СписокРазрешенныхКлассов := '';
  Счетчик := 0;
  пока Счетчик &lt;= ткст_СписокКлассов.Количество-1 делать 
  начало
    Если ЕстьПравоНаСозданиеКласса(ткст_СписокКлассов.Стр(Счетчик)) тогда 
      СписокРазрешенныхКлассов := СписокРазрешенныхКлассов + ткст_СписокКлассов.Стр(Счетчик) + ',';   
    Счетчик := Счетчик + 1;
  конец;
  //  удаляем последнюю запятую
  Если СписокРазрешенныхКлассов&lt;&gt;'' тогда 
    СписокРазрешенныхКлассов := ПодСтрока(СписокРазрешенныхКлассов,1,Длина(СписокРазрешенныхКлассов)-1);
    
  Результат := СписокРазрешенныхКлассов   
конец;


// Добавляет значение в список
функция ДобавитьКодВСписок(Список : строка; Значение : целое);
начало
  если Список &lt;&gt; '' тогда
    Список := Список + ',' + ЦелоеВСтроку(Значение)
  иначе
    Список := ЦелоеВСтроку(Значение);   
конец;

функция ПолучитьЗапросДляПолученияНаименованияКлассов: строка;
начало
  результат := "[PumpData] 
                {
                 select
                   i.cls CLS,
                   max (i.Note) DefaultNote,
                   max (wi.NOTE) Note
                 from
                   Interfaces i
                   inner join Workplaces_Interface wi on (i.id = wi.interfaces_ref)
                   @JoinLimits
                 where
                  (i.cls is not null) and (i.cls &lt;&gt; 0) 
                  @UserLimit
                  GROUP BY i.cls
                }";
конец;                                      

// Комментарий
функция ПолучитьИнтерфейсыИНаименованияПоПравам;
начало
  попытка
    если сс_МестаИнтерфейсы = nil тогда
    начало
      если CheckParam('МестаИнтерфейсы') тогда
        сс_МестаИнтерфейсы := Values('МестаИнтерфейсы')
      иначе
      начало  
        сс_МестаИнтерфейсы := СоздатьСтатическиеДанные;
        сс_МестаИнтерфейсы.СоединитьБД;
        сс_МестаИнтерфейсы.Запрос := ПолучитьЗапросДляПолученияНаименованияКлассов;
                                      
        сс_МестаИнтерфейсы.Параметр('JoinLimits') := '';
        сс_МестаИнтерфейсы.Параметр('UserLimit') := '';
        если ТекущийПользователь &lt;&gt; 'SYSDBA' тогда 
        начало
          сс_МестаИнтерфейсы.Параметр('JoinLimits') :=
                                         "left join GroupsWorkplaces gw on (wi.workplaces_ref = gw.workplaceref)
                                          left join UsersInGroups ug on (gw.groupref = ug.groupref)
                                          left join User_Workplaces uw on (wi.workplaces_ref = uw.workplaces_ref)
                                          left JOIN dbUsers du1 ON (uw.users_ref =  du1.id)
                                          left JOIN dbUsers du2 ON (ug.userref =  du2.id) ";
          если ПолучитьПараметрИзНастроек(4,0,'ФильтроватьСписокКлассовПоПравамПользователя') тогда //для учета по правам текущего пользователя
            сс_МестаИнтерфейсы.Параметр('UserLimit') := " and ((du1.username ='" + ТекущийПользователь + "')or (du2.username ='" + ТекущийПользователь + "'))"
          иначе//если есть права хотя бы у одного пользователя за исключением SYSDBA
            сс_МестаИнтерфейсы.Параметр('UserLimit') := " and ((du1.username &lt;&gt;  'SYSDBA') or (du2.username &lt;&gt;  'SYSDBA'))";
        конец;
          
          Values('МестаИнтерфейсы') := сс_МестаИнтерфейсы;
      конец;    
    сс_МестаИнтерфейсы.Открыть;
    конец;
  неудача
    УдалитьОбъект(сс_МестаИнтерфейсы);
  конец;
конец;

// Исключает классы из списка с учётом прав пользователей на них.
/*Если пользователь SYSDBA:  
    Он имеет право на классы для которых интерфейсы, ведущие их данные, добавлены на рабочие места.
  Для других пользователей:
    Если хотя бы один из пользователей, за исключением 'SYSDBA' имеет право на интерфейс, ведущий данные определённого
    класса, то класс будет включён. Права(*) определяются из прав пользователя на рабочее место, за которым закреплен 
    интерфейс или прав группы, в которую входит пользователь, на рабочее место за которым закреплен интерфейс.
    Если установлена настройка "ФильтроватьСписокКлассовПоПравамПользователя", то класс будет включён, если на него 
    имеет права(*) текущий пользователь.*/
функция СписокКлассовПоПравам(Список : строка) : строка; 
переменные
  Классы : текст;
  КолВо, Счетчик : Целое;
  СписокКлассовПоПравам : строка;
начало
  /$если Бюджет
  попытка
    если сс_МестаИнтерфейсы = nil тогда
      ПолучитьИнтерфейсыИНаименованияПоПравам; // Получаем глобальный статиксет сс_МестаИнтерфейсы   
    
    Счетчик := 0;
    Классы := СоздатьТекст;
    Классы.РазделенноеЗначение := Список;  
    КолВо := Классы.Количество;
    Пока (Счетчик &lt;= Классы.Количество - 1) делать 
      начало
        если сс_МестаИнтерфейсы.Локализовать('cls', ЦелоеВСтроку(ПолучитьКодОбъектаПоКодуКласса(Классы.Стр(Счетчик))), 0) тогда  
          ДобавитьКодВСписок(СписокКлассовПоПравам, Классы.Стр(Счетчик));
        Счетчик := Счетчик + 1;
      конец;
    Список := СписокКлассовПоПравам;   
    результат := Список;   
  неудача
    УдалитьОбъект(сс_МестаИнтерфейсы);
  конец;
  /$иначе
  /$конец  
конец;

функция СформироватьСписокКлассовИсходногоДокумента(ТипКлассификации, ТипИнтерфейса : целое; СтрокаСписка : строка; ФильтроватьПоПравамНаСоздание: Целое = да) : строка;
переменные
  СписокКодовКлассов : строка;
  Строка_ВнутренниеПлатежиРасходов : строка;
начало
    Строка_ВнутренниеПлатежиРасходов := ',' + ЦелоеВСтроку(Класс_ВнутренниеПлатежиРасходов);
    Выбрать ТипИнтерфейса из    
      ту_УточнениеВыбытий :
        начало
          /$если Бюджет
            СписокКодовКлассов :=  
                     ЦелоеВСтроку(Класс_ПлатежныеПоручения) + ',' +
                     ЦелоеВСтроку(Класс_РасходПоЧекам) + ',' +
                     ЦелоеВСтроку(Класс_ПеречислениеНаСчетаДляНаличности) + ',' +
                     ЦелоеВСтроку(Класс_ВозвратСоСчетовДляНаличности) + ',' +
                     ЦелоеВСтроку(Класс_УчетКассовыхВыплат) + ',' + 
                     ЦелоеВСтроку(Класс_ВнутренниеПереброскиРасходов) + ',' +

                     ЦелоеВСтроку(Класс_ВозвратДоходов) + "," +
                     ЦелоеВСтроку(Класс_УточнениеВыбытий) + "," +
                     ЦелоеВСтроку(Класс_РаспоряжениеНаФинансирование) + ',' +
                     ЦелоеВСтроку(Класс_СводноеРаспоряжениеНаФинансирование) +
                     Строка_ВнутренниеПлатежиРасходов;
          /$иначе           
            СписокКодовКлассов :=  
                     ЦелоеВСтроку(Класс_ПлатежныеПоручения) + ',' +
                     ЦелоеВСтроку(Класс_РасходПоЧекам) + ',' +
                     ЦелоеВСтроку(Класс_ПеречислениеНаСчетаДляНаличности) + ',' +
                     ЦелоеВСтроку(Класс_ВозвратСоСчетовДляНаличности) + ',' +
                     ЦелоеВСтроку(Класс_ВнутренниеПереброскиРасходов) + ',' + 
                     ЦелоеВСтроку(Класс_ВозвратДоходов) + "," +
                     ЦелоеВСтроку(Класс_УточнениеВыбытий) + 
                     Строка_ВнутренниеПлатежиРасходов;
          /$конец           
       конец;                                
      ту_УточнениеПоступлений :
        начало
          /$если Бюджет
            СписокКодовКлассов :=
                ЦелоеВСтроку(Класс_ПоступлениеДоходов) + ',' + 
                ЦелоеВСтроку(Класс_ПоступлениеНевыясненных) + ',' +
                ЦелоеВСтроку(Класс_ВыяснениеНевыясненных) + ',' +
                ЦелоеВСтроку(Класс_ПриходОтПрочих) + ',' +
                ЦелоеВСтроку(Класс_ПриходПоОбъявлениям) + ',' +
                ЦелоеВСтроку(Класс_Разассигновка) + ',' +
                ЦелоеВСтроку(Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности) + ',' + 
                ЦелоеВСтроку(Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) + ',' +
                ЦелоеВСтроку(Класс_ВнутренниеПереброскиРасходов) + ',' +
                ЦелоеВСтроку(Класс_УточнениеПоступлений)+
                Строка_ВнутренниеПлатежиРасходов;
         /$иначе
          СписокКодовКлассов :=
              ЦелоеВСтроку(Класс_ПоступлениеДоходов) + ',' + 
              ЦелоеВСтроку(Класс_ПоступлениеНевыясненных) + ',' +
              ЦелоеВСтроку(Класс_ВыяснениеНевыясненных) + ',' +
              ЦелоеВСтроку(Класс_ПриходОтПрочих) + ',' +
              ЦелоеВСтроку(Класс_ПриходПоОбъявлениям) + ',' +
              ЦелоеВСтроку(Класс_Разассигновка) + ',' +
              ЦелоеВСтроку(Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности) + ',' + 
              ЦелоеВСтроку(Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) + ',' +
              ЦелоеВСтроку(Класс_ВнутренниеПереброскиРасходов) + ',' + 
              ЦелоеВСтроку(Класс_УточнениеПоступлений) +
              Строка_ВнутренниеПлатежиРасходов;
         /$конец     
       конец;                             
                                    
      ////////////****************  начало стандартная сборка *********************************//
      // для стандартной сборки покажем  классы документов, какие есть в ПЗК
      // исходные документы 
      ту_УточнениеПоступлений + 2 :  СписокКодовКлассов :=
                                    ЦелоеВСтроку(Класс_ПоступлениеДоходов) + ',' + 
                                    ЦелоеВСтроку(Класс_ПоступлениеНевыясненных) + ',' +
                                    ЦелоеВСтроку(Класс_ВыяснениеНевыясненных) + ',' +
                                    ЦелоеВСтроку(Класс_ПриходОтПрочих) + ',' +
                                    ЦелоеВСтроку(Класс_ПриходПоОбъявлениям) + ',' +
                                    ЦелоеВСтроку(Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности) + ',' + 
                                    ЦелоеВСтроку(Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) + ',' + 
                                    ЦелоеВСтроку(Класс_УточнениеПоступлений);
                                      
                                      
      ту_УточнениеВыбытий + 2 : СписокКодовКлассов :=
                                       ЦелоеВСтроку(Класс_ПлатежныеПоручения) + ',' +
                                       ЦелоеВСтроку(Класс_ПеречислениеНаСчетаДляНаличности) + ',' +
                                       ЦелоеВСтроку(Класс_ВозвратСоСчетовДляНаличности) + ',' +
                                       ЦелоеВСтроку(Класс_УчетКассовыхВыплат) + ',' +
                                       ЦелоеВСтроку(Класс_ВнутренниеПереброскиРасходов) + ',' +
                                       ЦелоеВСтроку(Класс_ВозвратДоходов) + ',' +
                                       ЦелоеВСтроку(Класс_УточнениеВыбытий) + ',' + 
                                       ЦелоеВСтроку(Класс_РаспоряжениеНаФинансирование) + ',' +
                                       ЦелоеВСтроку(Класс_СводноеРаспоряжениеНаФинансирование) + 
                                       Строка_ВнутренниеПлатежиРасходов;
                                      
      // корректирующие документы 
      ту_УточнениеПоступлений + 4 :  СписокКодовКлассов :=
                                    ЦелоеВСтроку(Класс_ПоступлениеДоходов) + ',' + 
                                    ЦелоеВСтроку(Класс_ПоступлениеНевыясненных) + ',' +
                                    ЦелоеВСтроку(Класс_ПриходОтПрочих) + ',' +
                                    ЦелоеВСтроку(Класс_ПриходПоОбъявлениям) + ',' +
                                    ЦелоеВСтроку(Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности) + ',' + 
                                    ЦелоеВСтроку(Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) + ',' +
                                    ЦелоеВСтроку(Класс_ВыяснениеНевыясненных);
                                      
      ту_УточнениеВыбытий + 4 : СписокКодовКлассов :=
                                      ЦелоеВСтроку(Класс_ПлатежныеПоручения) + ',' +
                                      ЦелоеВСтроку(Класс_ПеречислениеНаСчетаДляНаличности) + ',' +
                                      ЦелоеВСтроку(Класс_ВозвратСоСчетовДляНаличности) + ',' +
                                      ЦелоеВСтроку(Класс_РаспоряжениеНаФинансирование); 
                                                                      
      // новые документы 
      ту_УточнениеПоступлений + 6 :  СписокКодовКлассов :=
                                      ЦелоеВСтроку(Класс_ПоступлениеДоходов) + ',' + 
                                      ЦелоеВСтроку(Класс_ПоступлениеНевыясненных) + ',' + 
                                      ЦелоеВСтроку(Класс_ПриходОтПрочих) + ',' +
                                      ЦелоеВСтроку(Класс_ПриходПоОбъявлениям) + ',' + 
                                      ЦелоеВСтроку(Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) + ',' + 
                                      ЦелоеВСтроку(Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности) + ',' +
                                      ЦелоеВСтроку(Класс_ВыяснениеНевыясненных);
                                        
      ту_УточнениеВыбытий + 6 : СписокКодовКлассов :=
                                      ЦелоеВСтроку(Класс_ПлатежныеПоручения) + ',' +
                                      ЦелоеВСтроку(Класс_ПеречислениеНаСчетаДляНаличности) + ',' +
                                      ЦелоеВСтроку(Класс_ВозвратСоСчетовДляНаличности) + ',' +
                                      ЦелоеВСтроку(Класс_РаспоряжениеНаФинансирование); 
           
      ////////////****************  конец стандартная сборка *********************************//                                                           
                                                                      
      Иначе 
        СписокКодовКлассов := 'Не найден тип интерфейса:' + ЦелоеВСтроку(ТипИнтерфейса);                                       
    конец;

   если ФильтроватьПоПравамНаСоздание тогда
     СписокКодовКлассов := ОтфильтроватьПоПравамНаСозданиеСписокКлассовДокументов(СписокКодовКлассов);
   СписокКлассовПоПравам(СписокКодовКлассов);
   СтрокаСписка := ПолучитьСтрокуКлассовСНаименованиями(СписокКодовКлассов);
   Результат := ПолучитьСписокНаименованийКлассовПоИхКодам(СписокКодовКлассов);
конец;                                 

функция СформироватьСписокКлассовНовогоДокумента(ТипИнтерфейса : целое; СписокКлассов : строка; ФильтроватьПоПравамНаСоздание: Целое = да) : текст;
переменные
  ткс_СписокНовыхДокументов : Текст;
  СписокКодовКлассов : строка;  
  Строка_ВнутренниеПлатежиРасходов : строка;
начало
  Строка_ВнутренниеПлатежиРасходов := ',' + ЦелоеВСтроку(Класс_ВнутренниеПлатежиРасходов);
  ткс_СписокНовыхДокументов := СоздатьТекст;
  СписокКлассов := '';
  Выбрать ТипИнтерфейса из
    ту_УточнениеПоступлений : СписокКодовКлассов :=
                                 ЦелоеВСтроку(Класс_ПриходОтПрочих) + ',' +
                                 ЦелоеВСтроку(Класс_УчетКассовыхВыплат) + ',' +
                                 ЦелоеВСтроку(Класс_Разассигновка) + ',' +                                          
                                 ЦелоеВСтроку(Класс_ПриходПоОбъявлениям) + ',' +
                                 ЦелоеВСтроку(Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности) + ',' + 
                                 ЦелоеВСтроку(Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) + ',' +
                                 ЦелоеВСтроку(Класс_ВнутренниеПереброскиРасходов) + ',' +
                                 ЦелоеВСтроку(Класс_ВнутренниеПереброскиДоходов) + ',' + 
                                 ЦелоеВСтроку(Класс_ПоступлениеДоходов) + ',' + 
                                 ЦелоеВСтроку(Класс_ВыяснениеНевыясненных) + 
                                 Строка_ВнутренниеПлатежиРасходов;
                                  
     ту_УточнениеВыбытий :   СписокКодовКлассов := 
                                 ЦелоеВСтроку(Класс_ПлатежныеПоручения) + ',' +
                  
                                 ЦелоеВСтроку(Класс_РасходПоЧекам) + ',' +
                                 ЦелоеВСтроку(Класс_ПеречислениеНаСчетаДляНаличности) + ',' +
                                 ЦелоеВСтроку(Класс_ВозвратСоСчетовДляНаличности) + ',' +
                                 ЦелоеВСтроку(Класс_УчетКассовыхВыплат) + ',' + 
                                 ЦелоеВСтроку(Класс_ВнутренниеПереброскиРасходов) + ',' +
                                 ЦелоеВСтроку(Класс_ВозвратДоходов) + ',' + 
                                 ЦелоеВСтроку(Класс_РаспоряжениеНаФинансирование) + 
                                 Строка_ВнутренниеПлатежиРасходов;  
   конец; 
   если ФильтроватьПоПравамНаСоздание тогда
     СписокКодовКлассов := ОтфильтроватьПоПравамНаСозданиеСписокКлассовДокументов(СписокКодовКлассов);
   СписокКлассовПоПравам(СписокКодовКлассов);
   СписокКлассов := ПолучитьСписокНаименованийКлассовПоИхКодам(СписокКодовКлассов);
   ткс_СписокНовыхДокументов.Значение := ПолучитьСтрокуКлассовСНаименованиями(СписокКодовКлассов);
   Результат := ткс_СписокНовыхДокументов;
конец;

функция СтандартныйСписокКлассовДляПереброскиКлассификации(ТипИнтерфейса : целое) : строка;
начало
    // добавляем некассовые классы для переброски классификации
  Результат := ЦелоеВСтроку(Класс_Роспись) + ',' + //32
               ЦелоеВСтроку(Класс_Лимиты) + ',' + //57
               ЦелоеВСтроку(Класс_КассовыйПланРасходы) + ',' + //261
               ЦелоеВСтроку(Класс_КассовыйПланПБСРасходы) + ',' + //268
               ЦелоеВСтроку(Класс_ПомесячныйКассовыйПлан) + ',' + //272
               ЦелоеВСтроку(Класс_ПомесячныйКассовыйПланПБС) + ',' + //273
               ЦелоеВСтроку(Класс_ПодневнойКассовыйПлан) + ',' + //274
               ЦелоеВСтроку(Класс_СБРКассовыйПланРасходы) + ',' + //260
               ЦелоеВСтроку(Класс_СметаПДРасходы) + ',' + //262
               
               ЦелоеВСтроку(Класс_СБРИсточники)+ ',' + //264 
               ЦелоеВСтроку(Класс_РосписьПоАИФИсточники) + ',' + //215
               ЦелоеВСтроку(Класс_КассовыйПланИсточники)+ ',' + //265
               ЦелоеВСтроку(Класс_СметаПоПДИсточники)+ ',' + //266
               
               ЦелоеВСтроку(Класс_СметаПДДоход) + ',' + //269    
               ЦелоеВСтроку(Класс_ПланДоходов) + ',' + //46
               
               ЦелоеВСтроку(Класс_БюджетныеОбязательства)+ ',' + //345
                              
               Целоевстроку(класс_графикфинансирования) + ',' + //550
               ЦелоеВСтроку(Класс_ЗаявкиНаЗакупку)+ ',' +  //230
                           ЦелоеВСтроку(Класс_УчетДоговоров); //304
               
  // добавляем кассовые классы для переброски классификации               
  Результат := Результат + ',' +
               
               //Казначейство поступление
               ЦелоеВСтроку(Класс_ПриходОтПрочих) + ',' + //61
               ЦелоеВСтроку(Класс_ПриходПоОбъявлениям) + ',' + //62
               ЦелоеВСтроку(Класс_Разассигновка) + ',' + //65
               ЦелоеВСтроку(Класс_УтверждениеОФ) + ',' + //75
               ЦелоеВСтроку(Класс_РаспределениеОФ) + ',' + //76
               ЦелоеВСтроку(Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности) + ',' + //69
               ЦелоеВСтроку(Класс_ПодтверждениеВозвратаСоСчетовДляНаличности) + ',' + //71
                              
               // Казначейство выбытие
               ЦелоеВСтроку(Класс_ПлатежныеПоручения) + ',' + //63
               //в связи с задачей http://brooklyn.krista.ru/layout.aspx?obj=ObjectTask&amp;id=28645 класс чеков исключен из диалогов
               ЦелоеВСтроку(Класс_РасходПоЧекам) + ',' + //64
               ЦелоеВСтроку(Класс_ПеречислениеНаСчетаДляНаличности) + ',' + //68
               ЦелоеВСтроку(Класс_ВозвратСоСчетовДляНаличности) + ',' + //70
               ЦелоеВСтроку(Класс_УчетКассовыхВыплат)+ ',' +  //73
               
               //Внутренние переброски расходов
               ЦелоеВСтроку(Класс_ВнутренниеПереброскиРасходов)+ ',' + //66
               // Внутренние платежи
               ЦелоеВСтроку(Класс_ВнутренниеПлатежиРасходов)+ ',' + //67
               
               // Доходы
               ЦелоеВСтроку(Класс_ПоступлениеДоходов)+ ',' + //45         
               
               // Уведомления
               ЦелоеВСтроку(Класс_УточнениеПоступлений) + ',' + //312
               ЦелоеВСтроку(Класс_УточнениеВыбытий); //313
конец;


функция ПолучитьКодДокументаПоКлассу(Класс : целое) : целое;
начало
  Выбрать Класс из
       Класс_ПлатежныеПоручения : Результат := 302;
       Класс_РасходПоЧекам : Результат := 304;
       Класс_ПеречислениеНаСчетаДляНаличности : Результат := 311;
       Класс_ВнутренниеПереброскиРасходов : Результат := 301;
       Класс_ВнутренниеПлатежиРасходов : Результат := 308; 
       Класс_ПриходОтПрочих : Результат := 305;
       Класс_ВозвратСоСчетовДляНаличности : Результат := 314;
       Класс_КазначейскийРеестр : Результат := 307;
     иначе 
       ВызватьОшибку('ПолучитьКодДокументаПоКлассу: не обработанный класс - ' + ЦелоеВСтроку(Класс));     
  конец;
конец;


функция ПолучитьЗапросПоКлассу(Класс : целое; Коллекция : IVariables) : строка;
переменные
  ТекущаяГруппа : целое;
  кэшЗначение: строка;
начало
  если запросыКлассов = nil тогда
    запросыКлассов := CreateVariables;
  кэшЗначение := запросыКлассов.Значение(класс);
  если кэшЗначение &lt;&gt; '' тогда
    результат := кэшЗначение
  иначе 
  начало
    ТекущаяГруппа := ПолучитьГруппуПоКлассу(Класс);
    Коллекция.Значение('Класс') := Класс;
    Результат := '';
    // если определен тип данных - тогда подставляем соответствующий запрос
    Выбрать ТекущаяГруппа из
        Группа_Доходы  : Результат := ПолучитьЗапрос_Доходы(Коллекция); 
        Группа_КазначействоВыбытие : Результат := ПолучитьЗапрос_Казначейство_Выбытие(Коллекция);
        Группа_КазначействоПоступление  : Результат := ПолучитьЗапрос_Казначейство_Поступление(Коллекция);
        Группа_Кредиты : Результат := ПолучитьЗапрос_Заимствования(Коллекция);
        Группа_Ссуды  : начало
                          Коллекция.Значение('РаспоряжениеНаФинансирование') := Ложь;
                          Результат := ПолучитьЗапрос_Финансирование(Коллекция);
                        конец;  
        Группа_Реестр : Результат := ПолучитьЗапрос_Казначейство_Реестр;
         Группа_ВнутренниеПереброскиРасходов, Группа_ВнутренниеПлатежиРасходов : Результат := ПолучитьЗапрос_КазначействоВП(коллекция);
        Группа_Финансирование : начало 
                                  Коллекция.Значение('РаспоряжениеНаФинансирование') := Истина;
                                  Результат := ПолучитьЗапрос_Финансирование(Коллекция);
                                конец;
        Группа_Уведомления : Результат := ПолучитьЗапрос_Уведомления(Коллекция);                          
      // нет такой группы, к которой бы принадлежал данный класс  
      иначе   
        ВызватьОшибку('ПолучитьЗапросПоКлассу : неуказанная группа. Класс:' + ЦелоеВСтроку(Класс)); 
    конец;
    запросыКлассов.Значение(класс) := результат; 
  конец;
конец;

// функция используется для корректирующего и нового документов
функция ф_ТребуетсяФормироватьЗаголовок(КлассДокумента : целое) : целое;
переменные
  кэшЗначения: целое;
начало
  если заголовкиКлассов = nil тогда
    заголовкиКлассов := CreateVariables;
  кэшЗначения := заголовкиКлассов.Значение(классДокумента);
  если (кэшЗначения &lt;&gt; '') и (кэшЗначения &lt;&gt; 0) тогда
    результат := кэшЗначения
  иначе 
  начало  
    Результат := Ложь;
    Результат := ВходитВГруппу(КлассДокумента, Группа_Казначейство)  или
                 ВходитВГруппу(КлассДокумента, Группа_Заимствования) или
                 (КлассДокумента=Класс_ВозвратДоходов)               или 
                 (КлассДокумента=Класс_ПоступлениеДоходов)           или 
                 (КлассДокумента=Класс_РаспоряжениеНаФинансирование) или
                 (КлассДокумента=Класс_СводноеРаспоряжениеНаФинансирование);
    заголовкиКлассов.Значение(классДокумента) := результат;             
  конец;              
конец;


функция ПолучитьЗапросЗаголовкаПоКлассу(КлассДокумента : целое; Коллекция : IVariables) : строка;
переменные
  ТекущаяГруппа : целое;
начало
  Результат := '';
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(КлассДокумента);  
  Выбрать ТекущаяГруппа из
    Группа_КазначействоПоступление  : Результат := ПолучитьЗапрос_Казначейство_Заголовок_Поступление(Коллекция);
    Группа_КазначействоВыбытие      : Результат := ПолучитьЗапрос_Казначейство_Заголовок_Выбытие(Коллекция);
    Группа_доходы                   : Результат := ПолучитьЗапрос_Доходы_Заголовок(Коллекция);
    Группа_ссуды, 
    Группа_Кредиты                  : Результат := ПолучитьЗапрос_Заимствования_Заголовок(Коллекция);
    Группа_Финансирование           : Результат := ПолучитьЗапрос_Финансирование_Заголовок(Коллекция);     
  конец;

 // это из за того что возникают путанницы с прогиндексом, 
 // так как на него (45) повешено сразу два блока  
  Если КлассДокумента = Класс_ВозвратДоходов тогда 
    Коллекция.Значение('ЭтоВозвратДоходов') := Истина
  иначе
    Коллекция.Значение('ЭтоВозвратДоходов') := Ложь; 
конец;

// здесь нам нужно решить какой запрос использовать для принятия документа
// если есть заголовок у класса (кроме кредитов и ссуд), то нам нужен этот 
// заголовок чтобы там поставить дату принятия
// если заголовке не требуется - тогда простой запрос нужно брать 
функция ПолучитьЗапросПоКлассуДляОбновленияДаты(Класс : целое; Коллекция : IVariables) : строка;
начало
  Если (ф_ТребуетсяФормироватьЗаголовок(Класс))  и 
       (Класс &lt;&gt; Класс_ПолучениеКредита) и 
       (Класс &lt;&gt; Класс_ПогашениеКредита) и 
       (Класс &lt;&gt; Класс_ВыдачаСсуды) и 
       (Класс &lt;&gt; Класс_ПогашениеСсуды)
  тогда 
    Результат := ПолучитьЗапросЗаголовкаПоКлассу(Класс, Коллекция)
  иначе 
    Результат := ПолучитьЗапросПоКлассу(Класс, Коллекция);     
конец;

функция ВернутьКлассКорректирующегоДокумента( КлассИсходногоДокумента : целое) : целое;
переменные
  Наименование_Результат: Целое;
начало
  Наименование_Результат := ПолучитьПараметрИзНастроек(4,0,НаименованиеПоКоду(КлассИсходногоДокумента)+ '(класс)');
  Если ВходитВГруппу(КлассИсходногоДокумента, Группа_Поступление) тогда
    Выбрать Наименование_Результат из
         0 : результат := -1;
         1 : результат := Класс_ВыяснениеНевыясненных;
         2 : результат := Класс_ПодтверждениеВозвратаСоСчетовДляНаличности;
         3 : результат := Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности;
         4 : результат := Класс_ПоступлениеДоходов;
         5 : результат := Класс_ПоступлениеНевыясненных;
         6 : результат := Класс_ПриходОтПрочих;
         7 : результат := Класс_ПриходПоОбъявлениям;
         8 : результат := Класс_ВнутренниеПереброскиДоходов;
         9 : результат := Класс_Разассигновка;
        10 : результат := 0;
    конец
    иначе
    Выбрать Наименование_Результат из
         0 : результат := -1;
         1 : результат := Класс_ВозвратСоСчетовДляНаличности;
         2 : результат := Класс_ПеречислениеНаСчетаДляНаличности;
         3 : результат := Класс_ПлатежныеПоручения;
         4 : результат := Класс_РасходПоЧекам;
         5 : результат := Класс_УчетКассовыхВыплат;
         6 : результат := Класс_РаспоряжениеНаФинансирование;
         7 : результат := Класс_ВозвратДоходов;
         8 : результат := 0;
    конец;
  Если (Результат = -1) тогда   
  Начало
  Выбрать КлассИсходногоДокумента из
      Класс_ПоступлениеНевыясненных : Результат := Класс_ВыяснениеНевыясненных;
      Класс_СводноеРаспоряжениеНаФинансирование : Результат := Класс_РаспоряжениеНаФинансирование;
    иначе 
      Результат := КлассИсходногоДокумента;
  конец;
  Если (Результат = Класс_ПогашениеСсуды) или (Результат = Класс_ПолучениеКредита) или (результат = Класс_ВыдачаСсуды) или (результат = Класс_ПогашениеКредита) тогда
    ВызватьОшибку('Данный класс не может быть классом корректирующего документа: ' + ПолучитьНаименованиеДляДиалога(Результат) + '.');    
  Если Результат = 0 тогда 
    ВызватьОшибку('Неопределен класс данных корректирующего документа. Прогиндекс:' + ЦелоеВСтроку(КлассИсходногоДокумента));
  Конец;
конец;

функция ПроверитьТипКлассификацииНаСоответствиеКлассу(ТипКлассификации, Класс : целое) : целое;
начало
  Результат := Ложь;
  Если ВходитВГруппу(Класс, Группа_Доходы) и ((2 = ТИпКлассификации)или(1=ТипКлассификации)) тогда Результат := Истина иначе 
    Если ВходитВГруппу(Класс, Группа_Кредиты) и (1 = ТИпКлассификации) тогда Результат := Истина иначе
      Если ВходитВГруппу(Класс, Группа_Ссуды) и (0 = ТИпКлассификации) тогда Результат := Истина иначе
        Если ВходитВГруппу(Класс, Группа_Финансирование) и (0 = ТИпКлассификации) тогда Результат := Истина иначе     
          Если ВходитВГруппу(Класс, Группа_Казначейство) и ((1=ТИпКлассификации) или (0=ТИпКлассификации) или (2=ТипКлассификации)) тогда 
            Результат := Истина;
конец;

функция ПроставитьТипКлассификации(ссНовыйДокумент : СтатическиеДанные) : целое;
переменные
  Класс : целое;
начало
  Класс := ссНовыйДокумент.Поле('ProgIndex').КакЦелое;
  Если ВходитВГруппу(Класс, Группа_Доходы) и (ссНовыйДокумент.Поле('IFS').КакЦелое=0) тогда Результат := 2 иначе
    Если ВходитВГруппу(Класс, Группа_Доходы) и (ссНовыйДокумент.Поле('IFS').КакЦелое&lt;&gt;0) тогда Результат := 1 иначе   
      Если ВходитВГруппу(Класс, Группа_Кредиты)тогда Результат := 1 иначе
        Если ВходитВГруппу(Класс, Группа_Ссуды)тогда Результат := 0 иначе 
          Если ВходитВГруппу(Класс, Группа_Казначейство) и (ссНовыйДокумент.Поле('IFS').КакЦелое&lt;&gt;0) тогда 
            Результат := 1 
          иначе 
            Результат := 0;
конец;

функция ПроверитьТипКлассификации(ссДанные : СтатическиеДанные; Коллекция : IVariables) : целое;
переменные 
  ТипКлассификации, Класс : Целое;
начало
  Результат := Ложь;
  Класс := Коллекция.Значение("Класс");
  ЕСЛИ Класс=0 тогда 
    Результат := Истина 
  ИНАЧЕ 
    начало
      ТИпКлассификации :=  Коллекция.Значение('ТипКлассификации');
      Результат := ПроверитьТипКлассификацииНаСоответствиеКлассу(ТипКлассификации, Класс);
    конец;  
конец;

функция НеобходимоВключатьВРеестр(КлассДокумента : целое) : целое; 
начало
  Результат := Ложь;
  Выбрать КлассДокумента из
    Класс_ПлатежныеПоручения,
    Класс_РасходПоЧекам,
    Класс_Разассигновка,
    Класс_УтверждениеОФ,
    Класс_РаспределениеОФ,
    Класс_ВнутренниеПереброскиРасходов,
    Класс_ПеречислениеНаСчетаДляНаличности, 
    Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности,
    Класс_ВозвратСоСчетовДляНаличности : Результат := Истина; 
  конец;
конец;

функция ВернутьИмяСвязиПоКлассу(классДокумента, классУведомления, этоЗаголовок, этоПорожденныйДокумент : целое; ЭтоИсходнаяКлассификация : целое = ложь; ЭтоПЗК : целое = ложь; ЭтоПлюс: целое = нет  ) : строка;
переменные
  префикс, постфикс, имяКласса, постфиксДляПЗК : строка;
начало   
  если ЭтоПлюс тогда
    постфиксДляПЗК := "Плюс"
  иначе
    постфиксДляПЗК := "";                                                  
  Выбрать классДокумента из
      Класс_ПлатежныеПоручения : имяКласса := "ПлатежныеПоручения";
      Класс_УчетКассовыхВыплат : имяКласса := 'УчетКассовыхВыплат';//73                   322
      Класс_РасходПоЧекам : имяКласса := 'РасходПоЧекам';// 64                            304
      Класс_ПеречислениеНаСчетаДляНаличности : имяКласса := 'ПеречНаСчетаДляНал';// 68 311
      Класс_ВозвратСоСчетовДляНаличности : имяКласса := 'ВозврСоСчетовДляНал';// 70   314
      Класс_ВнутренниеПереброскиРасходов : имяКласса := 'ВнутрПеребКазначейства';//  66; 301
      Класс_ВП_Выбытие : имяКласса := 'ВнутрПеребКазначействаВыб';//  888;        301
      Класс_ВП_Поступление : имяКласса := 'ВнутрПеребКазначействаПост';//  999; 301
      Класс_ВнутренниеПлатежиРасходов : имяКласса := 'ВнутрПлатКазначейства';//  67; 308
      Класс_ВПл_Выбытие : имяКласса := 'ВнутрПлатКазначействаВыб';//  444;        308
      Класс_ВПл_Поступление : имяКласса := 'ВнутрПлатКазначействаПост';//  555; 308
      Класс_РаспоряжениеНаФинансирование : имяКласса := 'РаспНаФинансирование';//  23; 701
      Класс_СводноеРаспоряжениеНаФинансирование : имяКласса := 'СводРаспНаФинансирование_';//  223; 701       
      ту_УточнениеВыбытий : имяКласса := 'УточнениеВыбытий';// 313          5502
      Класс_ВозвратДоходов : имяКласса := 'ВозвратДоходов';// 145     901
      
      Класс_ПоступлениеДоходов : имяКласса := 'ПоступлениеДоходов';// 45                   903
      Класс_ВнутренниеПереброскиДоходов : имяКласса := 'ВнутрОперДоходов';// 38  902
      Класс_ПоступлениеНевыясненных : имяКласса := 'ПоступлениеНевыясненных';// 41         906
      Класс_ВыяснениеНевыясненных : имяКласса := 'ВозвратНевыясненных';// 42               906
      Класс_ПриходОтПрочих : имяКласса := 'ПриходОтПрочих';// 61                          305
      Класс_ПриходПоОбъявлениям : имяКласса := 'ПриходПоОбъявлениям';// 62                306
      Класс_Разассигновка : имяКласса := 'Разассигновка';// 65                              303
      Класс_УтверждениеОФ : имяКласса := 'УтверждениеОФ';// 75                             323
      класс_РаспределениеОФ: имяКласса := "РаспределениеОФ";  // 76
      Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности : имяКласса := 'ПодтверПеречНаСчетаДляНал';// 69 312
      Класс_ПодтверждениеВозвратасоСчетовДляНаличности : имяКласса := 'ПодтверВозврСоСчетовДляНал';// 71 315
      Класс_ВыдачаСсуды : имяКласса := 'ВыдачаСсуды';
      ту_УточнениеПоступлений : имяКласса := 'УточнениеПоступлений';// 312  5501
      
      Класс_Роспись : имяКласса := "РосписьПоПЗК" + постфиксДляПЗК;  //32
      Класс_Лимиты : имяКласса := "ЛимитыПоПЗК" + постфиксДляПЗК; //57
      Класс_КассовыйПланРасходы : имяКласса := "КассовыйПланРасходыПоПЗК" + постфиксДляПЗК; //261
      Класс_КассовыйПланПБСРасходы : имяКласса := "КассовыйПланПБСРасходыПоПЗК" + постфиксДляПЗК; //268
      Класс_ПомесячныйКассовыйПлан : имяКласса := "ПомесячныйКассовыйПланПоПЗК" + постфиксДляПЗК;  //272
      Класс_ПомесячныйКассовыйПланПБС : имяКласса := "ПомесячныйКассовыйПланПБСПоПЗК" + постфиксДляПЗК; //273
      Класс_ПодневнойКассовыйПлан : имяКласса := "КассовыйПланПодневнойПЗК" + постфиксДляПЗК; //274
      Класс_СБРКассовыйПланРасходы : имяКласса := "СБРКассовыйПланРасходыПоПЗК" + постфиксДляПЗК; //260
      Класс_СметаПДРасходы : имяКласса := "СметаПДРасходыПоПЗК" + постфиксДляПЗК; //262               
      Класс_СБРИсточники : имяКласса := "СБРИсточникиПоПЗК" + постфиксДляПЗК; //264 
      Класс_РосписьПоАИФИсточники : имяКласса := "РосписьПоАИФИсточникиПоПЗК" + постфиксДляПЗК; //215
      Класс_КассовыйПланИсточники : имяКласса := "КассовыйПланИсточникиПоПЗК" + постфиксДляПЗК;  //265              
      Класс_ПланДоходов : имяКласса := "ПланДоходовПоПЗК" + постфиксДляПЗК; //46               
      Класс_УчетДоговоров : имяКласса := "ДоговораПоПЗК" + постфиксДляПЗК; //304     
      Класс_ГосКонтракты : имяКласса := "ГосКонтрактыПоПЗК" + постфиксДляПЗК; // 305
      Класс_ГосКонтрактыПФ : имяКласса := "ГосКонтрактыПоПЗК" + постфиксДляПЗК; // 318
      Класс_ДокИсполнения : имяКласса := "ДокИсполненияПоПЗК" + постфиксДляПЗК; // 308
      Класс_БюджетныеОбязательства : имяКласса := "БюджОбязДетальПоПЗК" + постфиксДляПЗК;
    иначе  
      ВызватьОшибку("Нет типа связи для данного класса документа : " + ЦелоеВСтроку(классДокумента));
  конец;
  
  если не ЭтоПЗК тогда
  начало
    Если классУведомления = ту_УточнениеВыбытий тогда 
      префикс := "УведВыб_"
    иначе
      префикс := "УведПост_";

    Если этоПорожденныйДокумент тогда 
    начало
      если (этоЗаголовок) или (классДокумента = Класс_ПоступлениеНевыясненных ) тогда 
        постфикс := "_порожд_заг"
      иначе 
        постфикс := "_порожд_дет"  
    конец
    иначе
    начало
      если ЭтоИсходнаяКлассификация тогда
      начало
        постфикс := "_кор_дет";
        Если классДокумента = Класс_ПоступлениеНевыясненных тогда
          постфикс := "_кор_заг";
      конец
      иначе
      начало
        если ЭтоЗаголовок тогда
          постфикс := "_исх_заг"
        иначе 
          постфикс := "_исх_дет"; 
        Если классДокумента = Класс_ПоступлениеНевыясненных тогда 
          постфикс := "_исх_заг";
        Если классДокумента = Класс_ВыяснениеНевыясненных тогда 
          постфикс := "_исх_дет";
        Если классДокумента = Класс_ВнутренниеПереброскиДоходов тогда 
          постфикс := "_исх_заг";
      конец; 
    конец;  
    
    результат := префикс + имяКласса + постфикс;
  конец
  иначе
    результат := имяКласса;         
конец;

функция НужноСвязыватьЗаголовокИсходногоДокумента(классИсходногоДокумента : целое) : целое;
переменные 
  группа : целое;
начало
  Результат := ложь;
  группа := ПолучитьГруппуПоКлассу(классИсходногоДокумента);
  Выбрать группа из
      Группа_Доходы,
      Группа_Ссуды, 
      Группа_Кредиты
            : Результат := Ложь;
      Группа_КазначействоВыбытие, 
      Группа_КазначействоПоступление,
      Группа_ВнутренниеПереброскиРасходов,
      Группа_Финансирование
           : Результат := Истина;
      иначе 
        Результат := Ложь;
  конец;
конец;

функция НужноСоздаватьВПНаОсновеЭтогоКласс(КлассИсходногоДокумента : целое) : целое;
переменные
  ткст_СписокКлассов : Текст;
начало
  Результат := Ложь;
  ткст_СписокКлассов := СоздатьТекст;
  Попытка
    ткст_СписокКлассов.РазделенноеЗначение(',', Ложь) := ПолучитьПараметрИзНастроек(4, 0, 'СоздаватьВП_ПриПакетнойЗамене_ДляСледующихКлассов');
    Если ткст_СписокКлассов.Поиск(НаименованиеПоКоду(КлассИсходногоДокумента)) &lt;&gt; -1 тогда Результат := Истина;
  Обязательно
    УдалитьОбъект(ткст_СписокКлассов);
  конец; 
конец;

функция ПроверитьПраваНаСозданиеКлассов(Коллекция : IVariables);
начало
  Если не ЕстьПравоНаСозданиеКласса(Коллекция.Значение(ип_КлассКорректирующегоДокумента)) тогда 
    ВызватьОшибку('У вас нет прав создания этого типа документа:' + ПолучитьНаименованиеДляДиалога(Коллекция.Значение(ип_КлассКорректирующегоДокумента)));
  Если не ЕстьПравоНаСозданиеКласса(Коллекция.Значение(ип_КлассНовогоДокумента)) тогда 
    ВызватьОшибку('У вас нет прав создания этого типа документа:' + ПолучитьНаименованиеДляДиалога(Коллекция.Значение(ип_КлассНовогоДокумента)));   
конец;

функция ПроставитьКлассКорректирующегоДокумента(ссИсходныйДокумент : СтатическиеДанные) : целое;
начало
  Результат := 0;
  Выбрать ссИсходныйДокумент.Поле('ProgIndex').КакЦелое из
      Класс_ПоступлениеНевыясненных : Результат := Класс_ВыяснениеНевыясненных;
      Класс_СводноеРаспоряжениеНаФинансирование : Результат := Класс_РаспоряжениеНаФинансирование;
    иначе 
      Результат := ссИсходныйДокумент.Поле('ProgIndex').КакЦелое;
  конец;
  Если Результат = 0 тогда 
    ВызватьОшибку('Неопределен класс данных корректирующего документа. Прогиндекс:' + ссИсходныйДокумент.Поле('ProgIndex').КакСтрока);
конец;

// в некоторых случаях - мы сохраняем в OriginalRecordIndex ссылку на заголовок исходного документа, а в некоторых - ссылку на детализацию
функция НужнаСсылкаНаЗаголовокИсходногоДокумента(классИсходногоДокумента : целое) : целое;
переменные
  группаИсходногоДокумента : целое;
начало
  результат := Ложь;
  группаИсходногоДокумента := ПолучитьГруппуПоКлассу(классИсходногоДокумента);
  Выбрать группаИсходногоДокумента из
    группа_КазначействоВыбытие,  
    группа_Финансирование, 
    группа_Уведомления : 
       результат := Истина;
  конец;
конец;


// это внутренняя переброска
функция ф_ЭтоВП(КлассИсходногоДокумента : целое; ЭтоПЗК : целое = Ложь) : целое;
начало
  если ЭтоПЗК тогда
    Результат := (КлассИсходногоДокумента=Класс_ВнутренниеПереброскиРасходов) или 
                 (КлассИсходногоДокумента=Класс_ВП_Поступление) или
                 (КлассИсходногоДокумента=Класс_ВП_Выбытие)
  иначе 
    Результат := (КлассИсходногоДокумента=Класс_ВнутренниеПереброскиРасходов);             
                 
конец;

// это внутренняя переброска
функция ф_ЭтоВПл(КлассИсходногоДокумента : целое; ЭтоПЗК : целое = Ложь) : целое;
начало
  если ЭтоПЗК тогда
    Результат := (КлассИсходногоДокумента=Класс_ВнутренниеПлатежиРасходов) или 
                 (КлассИсходногоДокумента=Класс_ВПл_Поступление) или
                 (КлассИсходногоДокумента=Класс_ВПл_Выбытие)
  иначе
    Результат := (КлассИсходногоДокумента=Класс_ВнутренниеПлатежиРасходов);             
               
конец;

/* Удаляет глобальный статиксет, вызывается из других макросов; 
"сс_МестаИнтерфейсы" сделан глобальным с целью оптимизации быстродействия*/
функция УдалитьСС_МестаИнтерфейсы;
начало
  если сс_МестаИнтерфейсы &lt;&gt; nil тогда
    УдалитьОбъект(сс_МестаИнтерфейсы);
конец;

функция ПолучитьТипИнтерфейсаПоПараметру(Параметр : строка) : целое;
начало
  если Параметр = 'поступление' тогда
    результат := ту_УточнениеПоступлений
  иначе 
    результат := ту_УточнениеВыбытий;
конец;


функция ТребуетсяОтправлятьВУФК(Класс : целое) : целое;
начало
  Выбрать Класс из
    Класс_ПоступлениеНевыясненных,
    Класс_ПоступлениеДоходов, 
    Класс_ПриходОтПрочих, 
    Класс_ПодтверждениеВозвратаСоСчетовДляНаличности, 
    Класс_УточнениеПоступлений,
    Класс_ПлатежныеПоручения, 
    Класс_ПеречислениеНаСчетаДляНаличности, 
    Класс_УчетКассовыхВыплат,  
    Класс_ВозвратДоходов, 
    Класс_УточнениеВыбытий,
    ПустойКласс : результат := истина;
  иначе
    результат := Ложь
  конец;
конец;


</value>
    <param value="ФункцииДляРаботыСКлассами" type="3" name="Export">EGORBUNOV\egorbunov\23.04.2013 9:30:14</param>
    <param value="ФункцииДляРаботыСКлассами" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляРаботыСКлассами" type="3" name="crc32">$809F1B22</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляРаботыСОбластямиФорматирования">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        

включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить "\Макросы\отчеты\ФормированиеОбластей.abl";


// Переносим значения полей из СтатикСетаОтКуда в СтатиСетКуда, в маппингах указаны названия полей
функция ПереместитьЗначенияПолей(СтатикСетОткуда1, СтатикСетОткуда2, СтатикСетОткуда3, СтатикСетКуда : СтатическиеДанные; Маппинг1, Маппинг2, Маппинг3 : строка);
переменные
  текст_Маппинг1, текст_Маппинг2, текст_Маппинг3 : текст;
  счетчик : целое;
начало
  текст_Маппинг1 := СоздатьТекст;
  текст_Маппинг1.РазделенноеЗначение := Маппинг1;
  текст_Маппинг2 := СоздатьТекст;
  текст_Маппинг2.РазделенноеЗначение := Маппинг2;
  текст_Маппинг3 := СоздатьТекст;
  текст_Маппинг3.РазделенноеЗначение := Маппинг3;
  от счетчик := 0 до текст_Маппинг1.Количество - 1 делать
    СтатикСетКуда.ПолеПоИмени(текст_Маппинг1.ИмяПараметра(Счетчик)).КакСтрока := СтатикСетОтКуда1.ПолеПоИмени(текст_Маппинг1.ЗначениеПараметра(текст_Маппинг1.ИмяПараметра(Счетчик))).КакСтрока;
  от счетчик := 0 до текст_Маппинг2.Количество - 1 делать
    СтатикСетКуда.ПолеПоИмени(текст_Маппинг2.ИмяПараметра(Счетчик)).КакСтрока := СтатикСетОтКуда2.ПолеПоИмени(текст_Маппинг2.ЗначениеПараметра(текст_Маппинг2.ИмяПараметра(Счетчик))).КакСтрока;
  от счетчик := 0 до текст_Маппинг3.Количество - 1 делать
    если СтатикСетОтКуда3.НайтиПоле(текст_Маппинг3.ЗначениеПараметра(текст_Маппинг3.ИмяПараметра(Счетчик))) тогда
      СтатикСетКуда.ПолеПоИмени(текст_Маппинг3.ИмяПараметра(Счетчик)).КакСтрока := СтатикСетОтКуда3.ПолеПоИмени(текст_Маппинг3.ЗначениеПараметра(текст_Маппинг3.ИмяПараметра(Счетчик))).КакСтрока;
конец;

// создаем поля, прописанные в МаппингРезСтатикСета, в СтатикСете
функция СоздатьПоляВКопииЗаголовка(СтатикСет : СтатическиеДанные; МаппингРезСтатикСета : строка);
переменные
  текст_Маппинг : текст;
  счетчик : целое;
начало
  текст_Маппинг := СоздатьТекст;
  текст_Маппинг.РазделенноеЗначение := МаппингРезСтатикСета;
  от счетчик := 0 до текст_Маппинг.Количество - 1 делать
    СтатикСет.ДобавитьСтроковоеПоле(текст_Маппинг.ИмяПараметра(счетчик), 255);
конец;

// значения полей из СтрРезПолей заносится в статиксет Заголовок по маппингу
Функция КопироватьРезПоля(Заголовок: СтатическиеДанные; СтрРезПолей,Маппинг: Строка);
переменные
  СписокРезПолей,СписокМаппинга: Текст;
  инд: Целое;
  ПолеПриемника: Поле;
начало
  если СтрРезПолей &lt;&gt; "" тогда начало
    СписокРезПолей := СоздатьТекст;
    СписокРезПолей.РазделенноеЗначение := СтрРезПолей;
    СписокМаппинга := СоздатьТекст;
    Попытка
      СписокМаппинга.РазделенноеЗначение := Маппинг;
      От инд := 0 до СписокРезПолей.Количество-1 делать 
      начало
        если Заголовок.НайтиПоле(СписокМаппинга.ЗначениеПараметра(СписокРезПолей.ИмяПараметра(инд)),ПолеПриемника) тогда
          ПолеПриемника.КакСтрока := СписокРезПолей.ЗначениеПараметра(СписокРезПолей.ИмяПараметра(инд));
      конец;
    обязательно
      УдалитьОбъект(СписокРезПолей,СписокМаппинга);
    конец;
  конец;
конец;

// Заполнение полей новой организации с помощью старых областей форматирования
Функция ЗаполнитьОбластиФорматирования(ВнешПараметры: IVariables; ФорматируемДетализацию: Целое);
переменные
  ЗаголовокКопия: СтатическиеДанные;
  ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация: СтатическиеДанные;
  СтрокаРезПолей: Строка;
  МаппингИсходный1, МаппингИсходный2, МаппингИсходный3, МаппингДляЗамены: Строка;
Начало
  ссИсходныеДокументы := ВнешПараметры.Значение("ссИсходныеДокументы");
  ссУведомления := ВнешПараметры.Значение("ссУведомления"); 
  ссУведомления_НоваяКлассификация := ВнешПараметры.Значение("ссУведомления_НоваяКлассификация");  
  МаппингИсходный1 := ВнешПараметры.Значение("МаппингИсходный1");
  МаппингИсходный2 := ВнешПараметры.Значение("МаппингИсходный2");
  МаппингИсходный3 := ВнешПараметры.Значение("МаппингИсходный3");
  МаппингДляЗамены := МаппингИсходный1 + "," + МаппингИсходный2 + "," + МаппингИсходный3;
  попытка
    ЗаголовокКопия := СоздатьСтатическиеДанные;
    СоздатьПоляВКопииЗаголовка(ЗаголовокКопия, МаппингДляЗамены);
    ЗаголовокКопия.Открыть;
    ЗаголовокКопия.Редактировать;
    ПереместитьЗначенияПолей(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация, ЗаголовокКопия, МаппингИсходный1, МаппингИсходный2, МаппингИсходный3);
    Если ЗаголовокКопия.Поле('ТипСредств').КакСтрока = '' тогда
      ЗаголовокКопия.Поле('ТипСредств').КакСТрока := '0';
    ЗаголовокКопия.Поле('ЛицевойСчетНовый').КакСтрока := УбратьТочки(ЗаголовокКопия.Поле('ЛицевойСчетНовый').КакСтрока);
    Если ЗаголовокКопия.Поле('ЛицевойСчетНовый').КакСтрока = '000000000' тогда
      ЗаголовокКопия.Поле('ЛицевойСчетНовый').КакСтрока := '0';
    ВнешПараметры.Значение("ЗаголовокКопия") := ЗаголовокКопия;
    СтрокаРезПолей := '0';
    если (ЗаголовокКопия.Поле('СчетПлат').Пустое) или (ЗаголовокКопия.Поле('СчетПлат').какстрока = '') или (ЗаголовокКопия.Поле('СчетПлат').какстрока = "0")
         или (ЗаголовокКопия.Поле('СчетПолуч').Пустое) или (ЗаголовокКопия.Поле('СчетПолуч').какстрока = '') или (ЗаголовокКопия.Поле('СчетПолуч').какстрока = "0")
    тогда
      ВнешПараметры.Значение("БезОшибок") := истина;
    РассчитатьСтарыеОбластиФорматирования(ЗаголовокКопия, ЗаголовокКопия,ВнешПараметры,СтрокаРезПолей);
    ВнешПараметры.Значение("СтрокаРезПолей") := СтрокаРезПолей;
    Если ФорматируемДетализацию тогда
      ссУведомления_НоваяКлассификация.Поле('Note').Очистить;
    КопироватьРезПоля(ссУведомления_НоваяКлассификация, СтрокаРезПолей, ВнешПараметры.Значение("МаппингРезПолей"));
  Обязательно
    УдалитьОбъект(ЗаголовокКопия);
    ВнешПараметры.Delete("ЗаголовокКопия");
  конец;  
конец;

Функция СформироватьПоСтарымОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация: СтатическиеДанные; КодИнтерфейса, ФорматируемДетализацию: Целое);
переменные
  МаппингИсходный1, МаппингИсходный2, МаппингИсходный3, МапингРезПолей: Строка;
  ГлобПараметры: IVariables;
начало
  МаппингИсходный1 := "ЛицевойСчетСтарый=Facialacc_Cls,ЛицевойСчетНовый=Facialacc_Cls,ЛицСчетПлательщика=Facialacc_Cls,ЛицСчетПолучателя=Facialacc_Cls";
  МаппингИсходный2 := "СчетПолуч=OriginalAcceptorAcc_Ref,СчетПлат=OriginalPayerAcc_Ref,ОргПолучСчет=OriginalAcceptorAcc,ОргПолучИмя=OriginalAcceptorOrgName,ОргПолучИНН=OriginalAcceptorOrgINN,ОргПолучКПП=OriginalAcceptorOrgInn20,ОргПлатСчет=OriginalPayerAcc,ОргПлатИмя=OriginalPayerOrgName,ОргПлатИНН=OriginalPayerOrgINN,ОргПлатКПП=OriginalPayerOrgInn20"; 
  Если ФорматируемДетализацию тогда
  начало
    МаппингИсходный3 := "ClsType=ClsType,НоваяОрганизацияСсылка=ChangeAcc_Ref,НоваяОрганизацияСчет=ChangeAcc,НоваяОрганизацияИмя=ChangeOrgName,НоваяОрганизацияИНН=ChangeOrgINN,НоваяОрганизацияКПП=ChangeOrgInn20,ТипСредств=MeansType,Примечание=Note," +
                        "КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,КВСР=KVSR,Направление=DirectionCls,Мероприятие=FACT,Район=RegionCls,ТипФинансирования=FinType,ИсточникОбразования=FinSource," + 
                        "ТипДокумента=DocType,СубКЭСР=SubKesr,КД=Kd,ИВФ=IFS";
    Если ссУведомления_НоваяКлассификация.Поле("progindex").КакЦелое = 315 тогда
      МапингРезПолей := 'Примечание=Note'
    иначе
      МапингРезПолей := 'НоваяОрганизацияСчет=ChangeAcc, НоваяОрганизацияИмя=ChangeOrgName, НоваяОрганизацияИНН=ChangeOrgINN, НоваяОрганизацияКПП=ChangeOrgInn20,Примечание=Note';                    
  конец
  иначе
  начало
    МаппингИсходный3 := "НоваяОрганизацияСсылка=ChangeAcc_Ref,НоваяОрганизацияСчет=ChangeAcc,НоваяОрганизацияИмя=ChangeOrgName,НоваяОрганизацияИНН=ChangeOrgINN,НоваяОрганизацияКПП=ChangeOrgInn20,ТипСредств=MeansType,Примечание=Note";
    МапингРезПолей := 'НоваяОрганизацияСчет=ChangeAcc, НоваяОрганизацияИмя=ChangeOrgName, НоваяОрганизацияИНН=ChangeOrgINN, НоваяОрганизацияКПП=ChangeOrgInn20, ПримечаниеЗаголовок=Note';
  конец;
  ГлобПараметры := CreateVariables; 
  Если КодИнтерфейса = ту_УточнениеПоступлений тогда
    ГлобПараметры.Значение("КодДокумента") := 5501
  иначе
    ГлобПараметры.Значение("КодДокумента") := 5502;
  ГлобПараметры.Значение("ссИсходныеДокументы") := ссИсходныеДокументы;
  ГлобПараметры.Значение("ссУведомления") := ссУведомления;
  ГлобПараметры.Значение("ссУведомления_НоваяКлассификация") := ссУведомления_НоваяКлассификация;  
  ГлобПараметры.Значение("МаппингИсходный1") := МаппингИсходный1;
  ГлобПараметры.Значение("МаппингИсходный2") := МаппингИсходный2;
  ГлобПараметры.Значение("МаппингИсходный3") := МаппингИсходный3;
  ГлобПараметры.Значение("МаппингРезПолей") := МапингРезПолей;
  ЗаполнитьОбластиФорматирования(ГлобПараметры, ФорматируемДетализацию);
конец;

Функция СформироватьПоНовымОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация: СтатическиеДанные; КодИнтерфейса, ФорматируемДетализацию: Целое);
переменные
  параметры: IVariables;
начало
  Параметры := CreateVariables;
  Если КодИнтерфейса = ту_УточнениеПоступлений тогда
    Параметры.Значение("КодИнтерфейса") := 5501
  иначе
    Параметры.Значение("КодИнтерфейса") := 5502;
  Параметры.Значение("ссЗаголовок") := ссУведомления; 
  Параметры.Значение("ссДеталь") := ссУведомления_НоваяКлассификация;
  если ФорматируемДетализацию тогда
  начало
    Если ссУведомления_НоваяКлассификация.Поле("progindex").КакЦелое = 315 тогда
      Параметры.Значение("МапингРезПолей") := 'Примечание\Примечание=Note'
    иначе
      Параметры.Значение("МапингРезПолей") := 'НоваяОрганизация\Счет=ChangeAcc,НоваяОрганизация\Имя=ChangeOrgName,НоваяОрганизация\ИНН=ChangeOrgINN,НоваяОрганизация\КПП=ChangeOrgInn20,НазначениеПлатежа\НазначениеПлатежа=Note';         
    Параметры.Значение("ссРезультат") := ссУведомления_НоваяКлассификация
  конец 
  иначе
  начало
    Параметры.Значение("МапингРезПолей") := 'ПримечаниеЗаголовок\ПримечаниеЗаголовок=Note';
    Параметры.Значение("ссРезультат") := ссуведомления;
  конец;  
  Параметры.Значение("НаимМаппинга") := "МапОсновной";   
  ЗаполнитьОбласти(Параметры);
конец;

функция СформироватьПоОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация: СтатическиеДанные; КодИнтерфейса, ФорматируемДетализацию: Целое);
переменные
  ид : целое;
  СтарыйФильтр : строка;
начало
/$если Бюджет
  если Реестр.Узел("Бюджет\Объекты\Документы\Настройки\ФорматыОбластей").Значение("Использовать").КакФлаг = истина тогда
  начало                                                                                                                                     
    ид:= ссУведомления_НоваяКлассификация.Поле("id").КакЦелое;
    СтарыйФильтр := ссУведомления_НоваяКлассификация.Фильтр;
    ссУведомления_НоваяКлассификация.Фильтр := Формат("id=%s", ЦелоеВСтроку(ид));
    СформироватьПоНовымОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация, КодИнтерфейса, ФорматируемДетализацию);
    ссУведомления_НоваяКлассификация.Фильтр := СтарыйФильтр;
    ссУведомления_НоваяКлассификация.Локализовать('id',ид,0);
  конец  
  иначе
    СформироватьПоСтарымОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация, КодИнтерфейса, ФорматируемДетализацию); 
/$иначе
  ид:= ссУведомления_НоваяКлассификация.Поле("id").КакЦелое;
  СтарыйФильтр := ссУведомления_НоваяКлассификация.Фильтр;
  ссУведомления_НоваяКлассификация.Фильтр := Формат("id=%s", ЦелоеВСтроку(ид));
  СформироватьПоНовымОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация, КодИнтерфейса, ФорматируемДетализацию);
  ссУведомления_НоваяКлассификация.Фильтр := СтарыйФильтр;
  ссУведомления_НоваяКлассификация.Локализовать('id',ид,0);  
/$конец    
конец;

</value>
    <param value="ФункцииДляРаботыСОбластямиФорматирования" type="3" name="Export">WKS2375\jurov\25.10.2012 17:37:39</param>
    <param value="ФункцииДляРаботыСОбластямиФорматирования" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляРаботыСОбластямиФорматирования" type="3" name="crc32">$E7E9D902</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляРаботыСПротоколом">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';                                                
включить '\Библиотеки\Output.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\Control.lib';

включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';


// получаем классификацию в соответсвтвии с типов классификации (доходная, расходная или источниковая) и возвращаем это в строковом виде
функция ПолучитьКлассификацию(Данные : СтатическиеДанные; МаппингКлассификации : строка) : строка;
переменные
  МаппингКлс : строка;
  ткст_МК : Текст;
начало
  Результат := '';
  МаппингКлс := МаппингКлассификации;
  ткст_МК := СоздатьТекст;
  // если маппинг пустой - берём стандартный
  ЕСЛИ МаппингКлс = '' тогда 
    начало 
       МаппингКлс := МаппингКлКтаблицеЗамены(1);
       ткст_МК.Значение := МаппингКлс;     
    конец
  ИНАЧЕ 
    ткст_МК.РазделенноеЗначение  := МаппингКлс;  
  
  ПОПЫТКА 
    Выбрать Данные.Поле(ткст_МК.ЗначениеПараметра('ClsType')).КакЦелое из 
      0 : Результат := ФорматироватьКлассификатор(Данные.Поле(ткст_МК.ЗначениеПараметра('KVSR')).КакСтрока, м_КВСР) + ' ' + 
                       ФорматироватьКлассификатор(Данные.Поле(ткст_МК.ЗначениеПараметра('KFSR')).КакСтрока, м_КФСР) + ' ' + 
                       ФорматироватьКлассификатор(Разыменовать('КЦСРКлюч.код',Данные.Поле(ткст_МК.ЗначениеПараметра('KCSR')).КакЦелое), м_КЦСР) + ' ' + 
                       ФорматироватьКлассификатор(Разыменовать('КВРКлюч.код',Данные.Поле(ткст_МК.ЗначениеПараметра('KVR')).КакЦелое), м_КВР) + ' ' + 
                       ФорматироватьКлассификатор(Данные.Поле(ткст_МК.ЗначениеПараметра('KESR')).КакСтрока, м_КЭСР) ;// расходная 
      1 : Результат := Разыменовать('ИсточникВнутр_ФинансированияКлюч.ФорматированныйКод', Данные.Поле(ткст_МК.ЗначениеПараметра('IFS')).КакСтрока);// источниковая
      2 : Результат := Разыменовать('КДКлюч.ФорматированныйКод', Данные.Поле(ткст_МК.ЗначениеПараметра('KD')).КакСтрока);// доходная
    конец; // конец выбор типа классификации
  ОБЯЗАТЕЛЬНО                                   
    УдалитьОбъект(ткст_МК);
  КОНЕЦ;  
конец;

// выводим в протокол сообщение о произведённых действиях
// Если в коллекции.Значение('СообщениеВПротокол') пустое ,
// тогда находим сообщение по коду сообщения и выводим в протокол
// Доп. информация о сообщении берётся из данных (типа номер, даты и пр)
функция ВывестиВПротокол(КодСообщения : целое; Данные : СтатическиеДанные; СообщениеВОкноВывода : строка);
переменные
  Сообщение : Строка;
  ОВ : ОкноВывода;
начало
  ОВ := ОкноВывода;
  Сообщение := СообщениеВОкноВывода; 
      
  Если Сообщение = '' тогда 
    Выбрать КодСообщения из
      с_СозданоУведомление : Сообщение := 'Создано новое уведомление -' + nl +
                                          '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                          '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('Dat').КакЦелое)) + nl +
                                          '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +
                                          '   Уточняемая классификация  : '  + ПолучитьКлассификацию(Данные, '') + nl +
                                          '   Тип уведомления  : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое) + nl +
                                          '   Класс исходного документа  : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('OriginalProgIndex').КакЦелое);
      с_СозданНовыйДокумент : Сообщение := 'Создан новый документ -' + nl +
                                           '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                           '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('InputDate').КакЦелое)) + nl +
                                           '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                         
                                           '   Классификация  : '  + ПолучитьКлассификацию(Данные, '') + nl +
                                           '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое);
      с_СозданКорректирующийДокумент : Сообщение := 'Создан корректирующий документ -' + nl +
                                           '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                           '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('InputDate').КакЦелое)) + nl +
                                           '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                          
                                           '   Классификация  : '  + ПолучитьКлассификацию(Данные, '') + nl +
                                           '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое);
      с_ПринятНовыйДокумент      : Сообщение := 'Принят новый документ -' + nl +
                                           '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                           '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('AcceptDate').КакЦелое)) + nl +
                                           '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                         
                                           '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое); 
      с_ПринятКорректирующийДокумент : Сообщение := 'Принят корректирующий документ -' + nl +
                                           '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                           '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('AcceptDate').КакЦелое)) + nl +
                                           '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                          
                                           '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое);
      с_СозданРеестр              : Сообщение :=  'Создан реестр для уведомлений - ' + nl + 
                                           '   Номер : ' + Данные.Поле('ReestrNumber').КакСтрока + nl + 
                                           '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('ReestrDate').КакЦелое)) + nl +
                                           '   Тип реестра: ' + Данные.Поле('ReestrTypeEx').КакСтрока;
      с_СозданаВП                 : Сообщение :=  'Создана внутренняя переброска - ' + nl + 
                                           '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                           '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('InputDate').КакЦелое)) + nl +
                                           '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +
                                           '   Направление операции : ' + РазыменоватьНаправлениеОперации(Данные.Поле('OperationDirection').КакЦелое) + nl + 
                                           '   Классификация  плательщика : '  + ПолучитьКлассификацию(Данные, 'ClsType=ClsType,KVSR=SourceKVSR,KFSR=SourceKFSR,KCSR=SourceKCSR,KVR=SourceKVR,Kesr=SourceKESR,Kd=SourceKd,IFS=SourceIFS') + nl +
                                           '   Классификация  получателя : '  + ПолучитьКлассификацию(Данные, 'ClsType=ClsType,KVSR=DestKVSR,KFSR=DestKFSR,KCSR=DestKCSR,KVR=DestKVR,Kesr=DestKESR,Kd=DestKd,IFS=DestIFS');
      с_СнятиеПринятияНовыйДокумент      : Сообщение := 'Снята дата принятия в новом документе -' + nl +
                                           '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                           '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                         
                                           '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое); 
      с_СнятиеПринятияКорректирующийДокумент : Сообщение := 'Снята дата принятия в корректирующем документе -' + nl +
                                           '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                           '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                          
                                           '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое);
                                           
      сообщение_СозданоУведомление : Сообщение := 'Создано новое уведомление -' + nl +
                                          '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                          '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('InputDate').КакЦелое)) + nl +
                                          '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +
                                          '   Тип уведомления  : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое) + nl +
                                          '   Класс исходного документа  : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('OriginalProgIndex').КакЦелое);
      сообщение_СозданоУведомление_ИсходнаяКлассификация : 
                                     Сообщение := '       Исходная классификация -' + nl +
                                                  "       " + ПолучитьКлассификацию(Данные, "");
      сообщение_СозданоУведомление_НоваяКлассификация : 
                                     Сообщение := '       Новая классификация -' + nl +
                                                  "       " + ПолучитьКлассификацию(Данные, "");
      сообщение_ПринятСвязанныйДокумент : Сообщение := 'Принят связанный документ -' + nl +
                                                   '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                                   '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('AcceptDate').КакЦелое)) + nl +
                                                   '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                          
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое);
      сообщение_СнятиеПринятияСвязанныйДокумент : Сообщение := 'Снята дата принятия в связанном документе -' + nl +
                                                   '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                                   '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                          
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое);
      сообщение_ИсключениеИсходныхДокументовБоИзВыборкиПЗК :Сообщение := 'Список номеров БО исключенных из ПЗК -' + nl +
                                                   '   Номера БО : ' + GetLimitStr(Данные,'Promise') + nl +
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое);
      сообщение_ИсключениеИсходныхДокументовДиИзВыборкиПЗК :Сообщение := 'Список номеров ДИ исключенных из ПЗК -' + nl +
                                                   '   Номера ДИ : ' + GetLimitStr(Данные,'ExecDoc') + nl +
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое);
      сообщение_ДокументыПротоколаПЗКОтконены :  Сообщение :=  'Документ отклонен -' + nl +
                                                   '   Дата отклонения : '+ ДатаВСтроку(ТекущаяДата) + nl +
                                                   '   Время отклонения : '+ ВремяВСтроку(ТекущаяДата) + nl +    
                                                   '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                                   '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                          
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('Class').КакЦелое);
      сообщение_ДокументыПротоколаПЗКУдалены :  Сообщение :=  'Документ удален -' + nl +
                                                   '   Дата удаления : '+ ДатаВСтроку(ТекущаяДата) + nl +
                                                   '   Время удаления : '+ ВремяВСтроку(ТекущаяДата) + nl +    
                                                   '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                                   '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                          
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('Class').КакЦелое);
      сообщение_ПротоколаПЗКОтклоненСвязанныйДокумент :  Сообщение :=  'Связанный документ отклонен -' + nl +
                                                   '   Дата отклонения : '+ ДатаВСтроку(ТекущаяДата) + nl +
                                                   '   Время отклонения : '+ ВремяВСтроку(ТекущаяДата) + nl +    
                                                   '   Номер : ' + Данные.Поле('DocNumber').КакСтрока + nl + 
                                                   '   Сумма  : '  + Данные.Поле('Summa').КакСтрока + nl +                                          
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('ProgIndex').КакЦелое); 
      сообщение_ЕстьПринятыеДокументыПриОтклонении: Сообщение := 'Документ принят и не может быть отклонен -' + nl +
                                                   '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('Дата').КакЦелое)) + nl +
                                                   '   Номер : ' + Данные.Поле('Номер').КакСтрока + nl + 
                                                   '   Сумма  : '  + Данные.Поле('Сумма').КакСтрока + nl +                                          
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('Класс').КакЦелое);                                                                                                                                                                                      
      сообщение_ЕстьПринятыеДокументыПриУдалении: Сообщение := 'Документ принят и не может быть удален -' + nl +
                                                   '   Дата  : '  + ДатаВСтроку(РасширДатаВОбычную_(Данные.Поле('Дата').КакЦелое)) + nl +
                                                   '   Номер : ' + Данные.Поле('Номер').КакСтрока + nl + 
                                                   '   Сумма  : '  + Данные.Поле('Сумма').КакСтрока + nl +                                          
                                                   '   Класс   : '  + ПолучитьНаименованиеДляДиалога(Данные.Поле('Класс').КакЦелое);                                                   
                                                                                                                                              
    иначе 
      Сообщение  := 'Не предусмотрено сообщение для следующего кода : ' + ЦелоеВСтроку(КодСообщения);
    конец; // конец выбрать код сообщения
  
  Сообщение := '==================================================' + nl + Сообщение + nl;
  Ов.Вывести(Сообщение); 
конец;

// Для вывода информации в проткол для N записей 
Функция ВывестиВПротоколNЗаписей(КодСообщения : целое; Данные : СтатическиеДанные; СообщениеВОкноВывода : строка);
начало
  Данные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    ВывестиВПротокол(КодСообщения, Данные, СообщениеВОкноВывода);
    Данные.Next;
  конец;
конец;


// это чтобы не нужно было самому создавать везде окно вывода ----------------
функция ПоказатьОкноВывода;
переменные
  ОВ : ОкноВывода;
начало
  ОВ := ОкноВывода;
  ОВ.Показать;
конец;

функция ОчиститьОкноВывода;
переменные
  ОВ : ОкноВывода;
начало
  Если ЕстьОкноВывода тогда 
    начало 
      ОВ := ОкноВывода;
      ОВ.Очистить;
    конец;  
конец;

// функция для тайминга операторов
функция ВывестиВЛогРазницу(ПервоначальноеВремя : дробное; СообщениеДляЛога : Строка);
переменные
  разница : дробное;
начало
  Разница := ТекущаяДата - ПервоначальноеВремя;
  ВывестиВПротокол(0, nil, СообщениеДляЛога + ' : ' +  ФорматироватьВремя('SS', Разница) + "-" + ФорматироватьВремя('zzz', Разница) + #13#10);
  //первоначальноевремя := ПолучитьТекущееСистемноеВремя;
конец;

</value>
    <param value="ФункцииДляРаботыСПротоколом" type="3" name="Export">AGMIRONOV\agmironov\09.04.2013 14:17:22</param>
    <param value="ФункцииДляРаботыСПротоколом" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляРаботыСПротоколом" type="3" name="crc32">$D2A4EF9B</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляСвязыванияДокументов">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\LinkInfo2.lib';

включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';

переменные
  коллекцияДляСвязей: IVariables;  

функция ВернутьКодСвязиПоИмени(linkInfo : ILinkInfo2;имяСвязи: строка): целое;
переменные
  ссДанные: IStaticSet;
начало
  если коллекцияДляСвязей = nil тогда
    коллекцияДляСвязей := CreateVariables;
  если коллекцияДляСвязей.Значение(имяСвязи) = '' тогда
  начало
    коллекцияДляСвязей.Значение('Name') := имяСвязи;
    попытка
      ссДанные := LinkInfo.GetLinkTypes(коллекцияДляСвязей);
    неудача
  //    коллекция.Значение('Name') := "'" + имяСвязи + "'";
      ссДанные := LinkInfo.GetLinkTypes(коллекцияДляСвязей);
    конец;
    если ссДанные.ЧислоЗаписей &lt;&gt; 0 тогда
    начало
      результат := ссДанные.Поле("Id").КакЦелое;
      коллекцияДляСвязей.Значение(имяСвязи) := результат;
    конец  
    иначе 
      ВызватьОшибку("ВернутьКодСвязиПоИмени: не найдена связь с именем '" + имяСвязи + "'");
  конец
  иначе 
    результат := коллекцияДляСвязей.Значение(имяСвязи)  
конец;

функция ВставитьСвязьВПротокол(СсылкаНаСвязь, СсылкаНаЗаголовок: целое);
начало
  ВыполнитьЗапрос("insert into ReplacementClsDetail(LinkID, RecordIndex) values("+ЦелоеВСтроку(СсылкаНаСвязь)+", "+ЦелоеВСтроку(СсылкаНаЗаголовок)+")");  
конец;

функция СвязатьДокументы(linkInfo : ILinkInfo2; классДокумента, классУведомления : целое; кодРодительскогоДокумента, кодДочернегоДокумента, проверятьДубликаты, этоЗаголовок, этоПорожденныйДокумент : целое; ЭтоИсходнаяКлассификация : целое; Коллекция : IVariables; ЭтоПЗК : целое = ложь; ЭтоПлюс: целое = нет );
переменные
  кодСвязи, СсылкаНаСвязь : целое;
  мыСоздали : целое;
  ссУжеСозданныеСвязи : СтатическиеДанные;
  коллекцияДляВыбора: IVariables;
начало
  мыСоздали  := Ложь;
  попытка
    Если linkInfo = nil тогда 
    начало
      linkInfo := CreateComObject(TLinkInfo2);
      СоединитьИнтерфейс(LinkInfo);
      мыСоздали := Истина;
    конец;
      
    кодСвязи := ВернутьКодСвязиПоИмени(linkInfo, ВернутьИмяСвязиПоКлассу(классДокумента, классУведомления, этоЗаголовок, этоПорожденныйДокумент, ЭтоИсходнаяКлассификация, ЭтоПЗК, ЭтоПлюс));
    если проверятьДубликаты тогда 
    начало
      коллекцияДляВыбора := CreateVariables;
      коллекцияДляВыбора.Значение('ParentId') := кодРодительскогоДокумента;
      коллекцияДляВыбора.Значение('ChildId') := кодДочернегоДокумента;
      ссУжеСозданныеСвязи := linkInfo.GetLinks(коллекцияДляВыбора);
      Если ссУжеСозданныеСвязи.RecordCount = 0 тогда
      начало
        СсылкаНаСвязь := linkInfo.CreateLink(кодСвязи, кодРодительскогоДокумента, кодДочернегоДокумента);
        если Коллекция.ПараметрСуществует("ЭтоЛогПЗК") тогда
          если Коллекция.Значение("ЭтоЛогПЗК") тогда            
            ВставитьСвязьВПротокол(СсылкаНаСвязь, Коллекция.Значение("ИДЗаголовкаЛогаПЗК"));
      конец;
        
      УдалитьОбъект(ссУжеСозданныеСвязи);  
    конец  
    иначе
    начало
      СсылкаНаСвязь := linkInfo.CreateLink(кодСвязи, кодРодительскогоДокумента, кодДочернегоДокумента);
      если Коллекция.ПараметрСуществует("ЭтоЛогПЗК") тогда
        если Коллекция.Значение("ЭтоЛогПЗК") тогда            
          ВставитьСвязьВПротокол(СсылкаНаСвязь, Коллекция.Значение("ИДЗаголовкаЛогаПЗК"));
    конец;        
  обязательно
    Если мыСоздали тогда 
      УдалитьОбъект(linkInfo);
  конец;  
конец;

функция СвязатьДокументыЕкселКор(linkInfo : ILinkInfo2; классДокумента, классУведомления : целое; списокРодительскогоДокумента : строка; кодКодовДочернегоДокумента : целое; Коллекция : IVariables; ЭтоПЗК : целое = ложь; ЭтоПлюс: целое = нет);
переменные
  ткстСписокИд : Текст;
  сч : целое;
начало
  ткстСписокИд := СоздатьТекст;
  ткстСписокИд.РазделенноеЗначение := списокРодительскогоДокумента;
  попытка
    От сч := 0 до (ткстСписокИд.Количество-1) делать
    начало
      СвязатьДокументы(linkInfo, классДокумента, классУведомления, СтрокаВЦелое(ткстСписокИд.Стр(сч)), кодКодовДочернегоДокумента, ложь, ложь, ложь, истина, Коллекция, ЭтоПЗК, ЭтоПлюс);
    конец;
  обязательно
    УдалитьОбъект(ткстСписокИд);
  конец;
конец;

// связать документу по списку исходных ид
функция СвязатьДокументыЕксел(linkInfo : ILinkInfo2; классДокумента, классУведомления : целое; кодРодительскогоДокумента : целое; списокКодовДочернегоДокумента : строка; Коллекция : IVariables);
переменные
  ткстСписокИд : Текст;
  сч : целое;
начало
  ткстСписокИд := СоздатьТекст;
  ткстСписокИд.РазделенноеЗначение := списокКодовДочернегоДокумента;
  попытка
    От сч := 0 до (ткстСписокИд.Количество-1) делать
    начало
      СвязатьДокументы(linkInfo, классДокумента, классУведомления, кодРодительскогоДокумента, СтрокаВЦелое(ткстСписокИд.Стр(сч)), истина, ложь, ложь, ложь, Коллекция);
    конец;
  обязательно
    УдалитьОбъект(ткстСписокИд);
  конец;
конец;

функция СвязатьДокументыЕкселЗаголовокУведомление(linkInfo : ILinkInfo2; классДокумента, классУведомления : целое; списокРодительскогоДокумента : строка; кодКодовДочернегоДокумента : целое; Коллекция : IVariables);
переменные
  ткстСписокИд : Текст;
  сч : целое;
начало
  ткстСписокИд := СоздатьТекст;
  ткстСписокИд.РазделенноеЗначение := списокРодительскогоДокумента;
  попытка
    От сч := 0 до (ткстСписокИд.Количество-1) делать
    начало
      СвязатьДокументы(linkInfo, классДокумента, классУведомления, СтрокаВЦелое(ткстСписокИд.Стр(сч)), кодКодовДочернегоДокумента, истина, истина, ложь, ложь, Коллекция);
    конец;
  обязательно
    УдалитьОбъект(ткстСписокИд);
  конец;
конец;

функция СвязатьДокументыЕкселУведомление(linkInfo : ILinkInfo2; классДокумента, классУведомления: целое; списокРодительскогоДокумента : строка; кодКодовДочернегоДокумента : целое; Коллекция : IVariables);
переменные
  ткстСписокИд : Текст;
  сч : целое;
начало
  ткстСписокИд := СоздатьТекст;
  ткстСписокИд.РазделенноеЗначение := списокРодительскогоДокумента;
  попытка
    От сч := 0 до (ткстСписокИд.Количество-1) делать
    начало
      СвязатьДокументы(linkInfo, классДокумента, классУведомления, СтрокаВЦелое(ткстСписокИд.Стр(сч)), кодКодовДочернегоДокумента, истина, ложь, ложь, ложь, Коллекция);
    конец;
  обязательно
    УдалитьОбъект(ткстСписокИд);
  конец;
конец;

функция СвязатьДокументыЕкселЗаголовок(linkInfo : ILinkInfo2; классДокумента, классУведомления, кодРодительскогоДокумента : целое; списокКодовДочернегоДокумента : строка; Коллекция : IVariables);
переменные
  ткстСписокИд : Текст;
  сч : целое;
начало
  ткстСписокИд := СоздатьТекст;
  ткстСписокИд.РазделенноеЗначение := списокКодовДочернегоДокумента;
  попытка
    От сч := 0 до (ткстСписокИд.Количество-1) делать
    начало
      СвязатьДокументы(linkInfo, классДокумента, классУведомления, кодРодительскогоДокумента, СтрокаВЦелое(ткстСписокИд.Стр(сч)), истина, истина, ложь, ложь, Коллекция);
    конец;
  обязательно
    УдалитьОбъект(ткстСписокИд);
  конец;
конец;

функция СвязатьИсходныеДокументыСУведомлением(ссИсходныеДокументы, ссУведомления : СтатическиеДанные; коллекция : IVariables);
переменные
  кодРодительскогоДокумента : целое; 
  кодДочернегоДокумента : целое;
  кодДочернегоДокументаЗаголовок : целое; 
  этоУведомления : целое;
  списокКодовЗаголовковДочернихДокументов : строка;
  списокКодовДочернихДокументов : строка;
  классИсходногоДокумента : целое;
  типИнтерфейса : целое;
начало
  кодРодительскогоДокумента := ссУведомления.Поле("ID").КакЦелое;
  этоУведомления  :=  коллекция.Значение("ЭтоУведомления");
  классИсходногоДокумента := коллекция.Значение(ип_КлассИсходногоДокумента);
  типИнтерфейса  := коллекция.Значение("ТипИнтерфейса");
  Если не коллекция.Значение("ЭтоЕксел") тогда 
    начало
      кодДочернегоДокумента := ссИсходныеДокументы.Поле("ID").КакЦелое;
      если этоУведомления тогда
        начало
          // связываем и заголовок уведомления и детализацию 
          кодРодительскогоДокумента := ссИсходныеДокументы.Поле("MasterID").КакЦелое;
          кодДочернегоДокумента := ссУведомления.Поле("ID").КакЦелое;
          СвязатьДокументы(коллекция.Значение("linkInfo"), классИсходногоДокумента, типИнтерфейса, кодРодительскогоДокумента, кодДочернегоДокумента, истина, истина, ложь, ложь, коллекция);
          кодРодительскогоДокумента := ссИсходныеДокументы.Поле("ID").КакЦелое;
        конец;
      СвязатьДокументы(коллекция.Значение("linkInfo"), классИсходногоДокумента, типИнтерфейса, кодРодительскогоДокумента, кодДочернегоДокумента, истина, ложь, ложь, ложь, коллекция);
      Если НужноСвязыватьЗаголовокИсходногоДокумента(классИсходногоДокумента) тогда 
        начало
          кодДочернегоДокументаЗаголовок := ссИсходныеДокументы.Поле("MasterId").КакЦелое;
          СвязатьДокументы(коллекция.Значение("linkInfo"), классИсходногоДокумента, типИнтерфейса, кодРодительскогоДокумента, кодДочернегоДокументаЗаголовок, истина, истина, ложь, ложь, коллекция);
        конец;
    конец
  иначе
    начало
      если не этоУведомления тогда
      начало
        списокКодовЗаголовковДочернихДокументов := ссИсходныеДокументы.Поле("ListIdCaption").КакСтрока;
        СвязатьДокументыЕкселЗаголовок(коллекция.Значение("linkInfo"), классИсходногоДокумента, типИнтерфейса, кодРодительскогоДокумента, списокКодовЗаголовковДочернихДокументов, коллекция);
        списокКодовДочернихДокументов := ссИсходныеДокументы.Поле("ListId").КакСтрока;
        СвязатьДокументыЕксел(коллекция.Значение("linkInfo"), классИсходногоДокумента, типИнтерфейса, кодРодительскогоДокумента, списокКодовДочернихДокументов, коллекция);
      конец
      иначе
      начало
        // поменял местами Дочерние и Родительские коды  
        списокКодовЗаголовковДочернихДокументов := ссИсходныеДокументы.Поле("ListIdCaption").КакСтрока;
        СвязатьДокументыЕкселЗаголовокУведомление(коллекция.Значение("linkInfo"), классИсходногоДокумента, типИнтерфейса, списокКодовЗаголовковДочернихДокументов, кодРодительскогоДокумента, коллекция);
        списокКодовДочернихДокументов := ссИсходныеДокументы.Поле("ListId").КакСтрока;
        СвязатьДокументыЕкселУведомление(коллекция.Значение("linkInfo"), классИсходногоДокумента, типИнтерфейса, списокКодовДочернихДокументов, кодРодительскогоДокумента, коллекция);
      конец;  
    конец;      
конец;

</value>
    <param value="ФункцииДляСвязыванияДокументов" type="3" name="Export">ERSHOV\ershov\13.12.2011 17:08:24</param>
    <param value="ФункцииДляСвязыванияДокументов" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляСвязыванияДокументов" type="3" name="crc32">$5DC31756</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляСозданияДокументов">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\Documents.lib';                                                

включить '\макросы\отчеты\поддержкаОтчетов.abl';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСвязыванияДокументов';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляСозданияНестандартныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКазначейскимРеестром';

включить 'project'; 

константы
  МаппингБухов = ",BuhOperationCls=BuhOperationCls,BuhPaymentCls=BuhPaymentCls";
  МаппингПолейЗагловкаУведомлений = "BudgetRef=BudgetRef,OriginalAcceptorAcc_Ref=AcceptorAccRef,OriginalAcceptorAcc=AcceptorAcc,OriginalPayerAcc_Ref=PayerAccRef,OriginalPayerAcc=PayerAcc,Note=Note";
  ПостфиксДляОперацииКор  = '(кор)';
  ПостфиксДляОперацииНов = "";
  

функция ПолучитьПризнакПринятия(полеДатаПринятия : Поле; ДатаПринятия : целое; ПризнакПринятияИзОбмена: целое) : целое;
начало
  Результат := 0;
  если ПризнакПринятияИзОбмена = 0 тогда 
  начало
    ЕСЛИ (полеДатаПринятия.Пустое) и (ДатаПринятия&lt;&gt;0) тогда
      Результат := ПризнакПринятия_УстановкаДатыПринятия
    ИНАЧЕ 
      Если (не полеДатаПринятия.Пустое) и (ДатаПринятия=0) тогда
        Результат := ПризнакПринятия_СнятиеДатыПринятия
      иначе 
        Если (не полеДатаПринятия.Пустое) и (ДатаПринятия&lt;&gt;0) тогда
          Результат := ПризнакПринятия_СменаДатыПринятия;
  конец
  иначе
  начало
    Выбрать ПризнакПринятияИзОбмена из
     1 : результат := ПризнакПринятия_УстановкаДатыПринятия;
     4,5 : результат := ПризнакПринятия_СменаДатыПринятия;
    конец;
  конец;      
конец;

функция ВыполнитьДопМакросНадСвязаннымДокументом(КлассДокумента, СсылкаНаДокумент, ПризнакПринятия, ДатаПринятия, ЭтоНовыйДокумент : целое);
переменные 
  КоллекцияДляМакросов : IVariables;
  ПутьКМакросу : строка;
начало
  КоллекцияДляМакросов := CreateVariables;
  КоллекцияДляМакросов.Значение(ИмяПараметра_ПризнакПринятия) := ПризнакПринятия;      
  КоллекцияДляМакросов.Значение(ИмяПараметра_ТекущийКласс) := КлассДокумента;
  КоллекцияДляМакросов.Значение(ИмяПараметра_ТекущийСписокИд) := СсылкаНаДокумент;
  КоллекцияДляМакросов.Значение(ИмяПараметра_ДатаПринятия) := ДатаПринятия;
  Если ф_ЭтоВП(КлассДокумента) тогда
     ПутьКМакросу := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(Класс_ВнутренниеПереброскиРасходов) + Постфикс_ИмяДействияПередПринятиемДокумента)
  иначе                        
     ПутьКМакросу := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(КлассДокумента) + Постфикс_ИмяДействияПередПринятиемДокумента);
     
  ПОПЫТКА
    Если (ПутьКМакросу &lt;&gt; '') и ( (не ф_этовп(КлассДокумента)) или ЭтоНовыйДокумент ) тогда
      начало
        ExecScript(ПутьКМакросу, КоллекцияДляМакросов);
        ВывестиВПротокол(0, nil, 'Над связанным документом выполнено следующее действие: ' + ПутьКМакросу + nl);            
      конец; 
  НЕУДАЧА
    ВывестиВПротокол(0, nil, 'Произошла ошибка при выполнении дополнительных действий над связанным документам: ' + ПоследняяОшибка + nl);            
  КОНЕЦ;
конец;

функция ВыполнитьПереходНадСвязаннымДокументом(КлассДокумента, СсылкаНаДокумент, ПризнакПринятия, ЭтоНовыйДокумент,  ДатаПринятия : целое);
переменные 
  ИмяПерехода : строка;
начало
  Если ((не ф_ЭтоВП(КлассДокумента)) или ЭтоНовыйДокумент) и (ПризнакПринятия = ПризнакПринятия_УстановкаДатыПринятия) тогда
    НАЧАЛО
      ИмяПерехода  :=  ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(КлассДокумента) + Постфикс_ИмяДействияСистСостНаПринятие);
      попытка
        Если ИмяПерехода&lt;&gt;'' тогда 
          начало 
            ВыполнитьПереход(СсылкаНаДокумент, ИмяПерехода, КлассДокумента,  ДатаПринятия ,ПризнакПринятия);
            ВывестиВПротокол(0, nil, 'Успешно выполнено действие системы состояний над связанным документом: ' + ИмяПерехода + nl);              
          конец;  
      неудача
        ВывестиВПротокол(0, nil, 'Произошла ошибка при выполнении действий системы состояний над связанным документом: ' + ПоследняяОшибка + nl);          
      конец;
    КОНЕЦ;
    
  Если ((не ф_ЭтоВП(КлассДокумента)) или ЭтоНовыйДокумент) и (ПризнакПринятия = ПризнакПринятия_СнятиеДатыПринятия) тогда
    НАЧАЛО
      ИмяПерехода  :=  ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(КлассДокумента) + Постфикс_ИмяДействияСистСостНаСнятие);
      попытка
        Если ИмяПерехода&lt;&gt;'' тогда 
          начало 
            ВыполнитьПереход(СсылкаНаДокумент, ИмяПерехода, КлассДокумента,  ДатаПринятия ,ПризнакПринятия);
            ВывестиВПротокол(0, nil, 'Успешно выполнено действие системы состояний над связанным документом: ' + ИмяПерехода + nl);              
          конец;  
      неудача
        ВывестиВПротокол(0, nil, 'Произошла ошибка при выполнении действий системы состояний над связанным документом: ' + ПоследняяОшибка + nl);          
      конец;
    КОНЕЦ;  
конец;

// функция обновления (проставления даты принятия) корректирующего и нового документов
// при обработке выписки. Это делается потому что при первичном создании документов не ставятся
// датя чтобы они не попадали в отчетность. А когда выписка пришла - то нужно всё проставить

// также возможно и ручное принятие, когда что то в не ладах со всязью с УФК

// ИДУведомления - то уведомление у которого нужно принять документы
// ДатаПринятия - эта такая дата, которая будет ставится в документы
// (по умолчанию наверное будет текущая дата, но возможны и другие варианты )   

функция ПринятьНовыйИКорретирующийДокумент(ИдУведомления : целое; ДатаПринятия : целое; ПризнакПринятияИзОбмена: целое = 0);
переменные
  ссУведомление, ссСвязанныйДокумент, ссСвязанныйДокументДеталь : СтатическиеДанные;
  Коллекция : IVariables;
  Состояние, КлассДокумента, СсылкаНаДокумент, ПризнакПринятия, ЭтоНовыйДокумент, МемОрден : целое;
  СсылкаНаСвязанныйДокумент, ПрогиндексСвязанногоДокумента, ПрогиндексДетализации, ДатаПринятияУведомления: поле;
начало
// находим наше уведомление
  ссСвязанныйДокумент := СоздатьСтатикСет;
  ссСвязанныйДокументДеталь := СоздатьСтатикСет; 
  Коллекция := CreateVariables;
//Получаем уведомление со всеми детализациями

  ссУведомление := ПолучитьУведомлениеПоИД(ИдУведомления);
  СсылкаНаСвязанныйДокумент := ссУведомление.Поле('DocumentRecordIndex'); 
  ПрогиндексСвязанногоДокумента := ссУведомление.Поле('DocumentProgIndex'); 
  ПрогиндексДетализации := ссУведомление.Поле("ProgIndex"); 
  ДатаПринятияУведомления := ссУведомление.Поле('AcceptDate');

  ссУведомление.ВНачало;
  Пока не ссУведомление.ВКонце делать
  НАЧАЛО
    Если (не СсылкаНаСвязанныйДокумент.Пустое) и (не ПрогиндексСвязанногоДокумента.Пустое) тогда 
      начало
        //Инициализация переменных
          ЭтоНовыйДокумент := ПрогиндексДетализации.КакЦелое = прогиндекс_НоваяКлассификация;
          КлассДокумента := ПрогиндексСвязанногоДокумента.КакЦелое;
          СсылкаНаДокумент := СсылкаНаСвязанныйДокумент.КакЦелое;
          ПризнакПринятия := ПолучитьПризнакПринятия(ДатаПринятияУведомления, ДатаПринятия, ПризнакПринятияИзОбмена);
        
        //Выполнение допдействий над связанным документом
          ВыполнитьДопМакросНадСвязаннымДокументом(КлассДокумента, СсылкаНаДокумент, ПризнакПринятия, ДатаПринятия, ЭтоНовыйДокумент);
          ВыполнитьПереходНадСвязаннымДокументом(КлассДокумента, СсылкаНаДокумент, ПризнакПринятия, ЭтоНовыйДокумент,  ДатаПринятия );
        
        //Получаем связанный документ 
          ссСвязанныйДокумент.Запрос := ПолучитьЗапросПоКлассуДляОбновленияДаты(КлассДокумента, Коллекция); 
          Коллекция.Значение('КодЗаписи') := СсылкаНаДокумент;
          СформироватьОграничения(ссСвязанныйДокумент, КлассДокумента, Коллекция);
          ссСвязанныйДокумент.Закрыть;
          ссСвязанныйДокумент.Открыть;
        
          ЕСЛИ ссСвязанныйДокумент.RecordCount=0 тогда 
            начало
              ВывестиВПротокол('', nil, Формат('НЕ НАЙДЕН СВЯЗАННЫЙ ДОКУМЕНТ УВЕДОМЛЕНИЯ!!! НОМЕР УВЕДОМЛЕНИЯ: %s; ДАТА: %s; СУММА : %s',
                                                ссУведомление.Поле('DocNumber').КакСтрока,
                                                ДатаВСтроку(РасширДатаВОбычную_(ссУведомление.Поле('InputDate').КакЦелое)), 
                                                ФорматироватьДробное("### ### ##0.00", ссУведомление.Поле('Summa').КакДробное)));      
            конец
          ИНАЧЕ 
            НАЧАЛО
            //Редактирование связанного документа
              ссСвязанныйДокумент.Редактировать;
              // в случае невыясненных если сумма в дебите  - не нужно обновлять кредит
              Если (КлассДокумента = Класс_ВыяснениеНевыясненных) или 
                   (КлассДокумента = Класс_ВнутренниеПереброскиДоходов) 
              тогда               
                Если (мод(ссСвязанныйДокумент.Поле('Debit').КакДробное) &gt; 0.005) тогда 
                  ссСвязанныйДокумент.Поле('Summa').КакЦелое := 0;
              //--//    
              Если ДатаПринятия = 0 тогда 
                ссСвязанныйДокумент.Поле('AcceptDate').КакСтрока := ''
              иначе 
                начало 
                    ссСвязанныйДокумент.Поле('AcceptDate').КакЦелое := ДатаПринятия;
                    Состояние := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(КлассДокумента) + ПостфиксДляКонСостояния);
                    Если (Состояние&lt;&gt;'') и (Состояние&lt;&gt;'0') тогда 
                      ссСвязанныйДокумент.Поле('DocStateRef').КакСтрока := Состояние;
                конец;  
              // если класс Разассигновка то нужно для детализаций проставить мемордера
              // т.к. для в детализации создается только одна запись то в проверка на л/с нет необходимости
              если (КлассДокумента = Класс_Разассигновка) и ДатаПринятия &lt;&gt; 0  тогда
              начало
                // получаем детализации связанного документа
                МемОрден := ГенерироватьДиап('GEN_KAZN_MEMORDER', 1);
                ссСвязанныйДокументДеталь.СоединитьБД;
                ссСвязанныйДокументДеталь.Запрос := '[PumpData]{
                                                                Select id ,DESTFACIALACC_CLS, MEMORDERNUM
                                                                From FacialFindetail
                                                                Where RecordIndex = ~MasterKey
                                                               }
                                                     
                                                               ';
                ссСвязанныйДокументДеталь.Параметр('MasterKey') := ссСвязанныйДокумент.Поле('id').КакЦелое;
                ссСвязанныйДокументДеталь.Открыть;
                если ссСвязанныйДокументДеталь.Поле('MEMORDERNUM').Пустое тогда
                  ВыполнитьЗапрос('Update FacialFinDetail set MEMORDERNUM= '+ ЦелоеВСтроку(МемОрден) + ' where id= ' + ЦелоеВСтроку(ссСвязанныйДокументДеталь.Поле('id').КакЦелое) );
                ссСвязанныйДокументДеталь.Закрыть;
               конец; 
                
              ссСвязанныйДокумент.Сохранить;
              СохранитьИзменения_(ссСвязанныйДокумент);

            
            //Выводим информацию в протокол  
              Если ПризнакПринятия = ПризнакПринятия_СменаДатыПринятия тогда
                ВывестиВПротокол(сообщение_ПринятСвязанныйДокумент, ссСвязанныйДокумент, '')
              иначе 
                Если ПризнакПринятия = ПризнакПринятия_СнятиеДатыПринятия тогда
                  ВывестиВПротокол(сообщение_СнятиеПринятияСвязанныйДокумент, ссСвязанныйДокумент, '');
            КОНЕЦ;      
      конец;
     ссУведомление.Следующий; 
  КОНЕЦ;   
конец;

// пока только проставляет статус в PayDocExchange
функция  ПринятьЭлектронныйДокумент(Ссылка, ДатаПринятия : целое);
начало
  Если ДатаПринятия&lt;&gt;0 тогда 
    ВыполнитьЗапрос('Update PayDocExchange  set Status=' + ЦелоеВСтроку(СтатусДокумента_Проведен) + ' where PayDocRef= ' + ЦелоеВСтроку(Ссылка) )
  иначе 
    ВыполнитьЗапрос('Update PayDocExchange  set Status=' + ЦелоеВСтроку(СтатусДокумента_Проведен) + ' where PayDocRef= ' + ЦелоеВСтроку(Ссылка) );
конец;

функция ВыполнитьДопМакросыНадДокументами(строкаСпискаПрогиндексовСИд : строка);
переменные
  сч, класс : целое;
  ПутьКМакросу : строка;
  ткст_СписокИд : Текст;
  ЛокКоллекция : IVariables;
начало
  ткст_СписокИД := СоздатьТекст;
  ЛокКоллекция := CreateVariables;
  Попытка
    ткст_СписокИД.Значение := строкаСпискаПрогиндексовСИд;
    от сч :=0 до ткст_СписокИд.Количество - 1 делать
    начало
      Класс := ткст_СписокИд.ИмяПараметра(сч);
      ПутьКМакросу := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(Класс) + Постфикс_ИмяДействияПослеФормированияДокумента);
      Если ПутьКМакросу &lt;&gt; '' тогда
        начало
          ЛокКоллекция.Значение(ИмяПараметра_ТекущийКласс) := Класс;
          ЛокКоллекция.Значение(ИмяПараметра_ТекущийСписокИд) := ткст_СписокИд.ЗначениеПараметра(Класс);             
          попытка
            ExecScript(ПутьКМакросу, ЛокКоллекция);
            ВывестиВПротокол(0, nil, 'Успешно выполнено дополнительное действие над сформированными документами: ' + ПутьКМакросу + nl);        
          неудача
            ВывестиВПротокол(0, nil, 'Произошла ошибка при выполнении дополнительных действий над сформированными документами: ' + ПоследняяОшибка + nl);            
          конец;
        конец; // если ПутьКМакросу&lt;&gt;''
    конец;
  обязательно
    УдалитьОбъект(ткст_СписокИД, ЛокКоллекция);
  конец;
конец;

функция ВернутьОперациюУведомления(коллекция : IVariables) : целое;
переменные 
  имяПараметра : строка;
начало
   Если Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда 
     имяПараметра := 'Номер операции в уведомлении (поступление)'
   иначе 
     имяПараметра := 'Номер операции в уведомлении (выбытие)';
   результат := коллекция.Значение(имяПараметра);
   
   Если (результат = "") или (результат = 0) тогда 
     результат := ПолучитьПараметрИзНастроек(4, 0, имяПараметра);
конец;

функция ОперацияПуста(Операция : строка) : целое;
начало
  Результат := (Операция = "") или (Операция = "0") или (Операция = "99999");
конец;

// todo переделать функции по определению направления операции
функция ВернутьНовоеНаправлениеОперацииПоПараметрам(типИнтерфейса, текКласс, ноУведомление: целое) : целое;
начало

  Выбрать типИнтерфейса из 
    ту_УточнениеВыбытий :
      начало
        Если этоНовыйДокумент тогда 
          Выбрать ноУведомление из
            0 : результат := 0; //Отнесение возврата поступлений на выплаты
            1 : результат := 3; //Уточнение возврата поступлений
            2 : результат := 0; //Уточнение выплат
            3 : результат := 3; //Отнесение выплат на возврат поступлений
          конец
        иначе
          Выбрать ноУведомление из
            0 : результат := 0; //Отнесение возврата поступлений на выплаты
            1 : результат := 3; //Уточнение возврата поступлений
            2 : результат := 0; //Уточнение выплат
            3 : результат := 3; //Отнесение выплат на возврат поступлений
          конец;
      конец;
    ту_УточнениеПоступлений : 
      начало
        Выбрать ноУведомление из
            0 : результат := 0; //Отнесение восстановления выплат на поступления
            1 : результат := 3; //Уточнение восстановления выплат
            2 : результат := 0; //Уточнение поступлений
            3 : если текКласс = класс_УчетКассовыхВыплат тогда 
                  результат := 0
                иначе  
                  результат := 3; //Отнесение поступлений на восстановление выплат;
        конец;
      конец;
    иначе 
      ВызватьОшибку("ВернутьНовоеНаправлениеОперацииРасш: не заполнен параметр 'ТипИнтерфейса'");
  конец;
  
  // проставляем направление операции у документов, где может быть только одно направление
  если (текКласс = класс_УтверждениеОФ) или (текКласс = Класс_Разассигновка) тогда
    результат := 0;
  если текКласс = класс_РаспределениеОФ тогда
    результат := 2;
  // проставляем направление операции для ВП  
  если ф_ЭтоВП(текКласс) и (типИнтерфейса = ту_УточнениеВыбытий) тогда
    результат := 1;
  если ф_ЭтоВП(текКласс) и (типИнтерфейса = ту_УточнениеПоступлений) тогда
    результат := 2;      
конец;

// в этой функции мы учитываем направление операции в самом уведомлении
функция ВернутьНовоеНаправлениеОперацииРасш(коллекция : IVariables) : целое;
начало
  // в зависимости от типа интерфейса и группы связанного документа по разному формируем направление операции
   результат := ВернутьНовоеНаправлениеОперацииПоПараметрам(коллекция.Значение("типИнтерфейса"), коллекция.Значение(ип_ТекущийКлассДокумента), коллекция.Значение(ип_НаправлениеОперации));
конец;

функция ВернутьНовоеНаправлениеОперации(НаправлениеОперации : Целое; исходныеДокументы: СтатическиеДанные; Коллекция : Ivariables) : целое;
начало
  Результат := НаправлениеОперации; // по умолчанию тоже самое
  // если в коллекции указано значение - тогда ставим его
  если коллекция.ПараметрСуществует(ип_НаправлениеОперации) и не Ф_ЭтоВП(Коллекция.Значение(ип_КлассНовогоДокумента)) тогда 
    результат := ВернутьНовоеНаправлениеОперацииРасш(коллекция)
конец;

// проставляем информацию о созданном связанном документе в соответствующей детализации уведомления
функция ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_Классификация: СтатическиеДанные; Коллекция : IVariables; ЭтоНовыйДокумент : целое);
начало
  ссУведомления_Классификация.Редактировать;
  если не ЭтоНовыйДокумент тогда 
  начало
    ссУведомления_Классификация.Поле("DocumentProgIndex").КакЦелое := Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс);
    ссУведомления_Классификация.Поле("DocumentRecordIndex").КакЦелое := Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка);  
  конец 
  иначе 
  начало
    ссУведомления_Классификация.Поле("DocumentProgIndex").КакЦелое := Коллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс);
    ссУведомления_Классификация.Поле("DocumentRecordIndex").КакЦелое := Коллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка);  
  конец;
  ссУведомления_Классификация.Сохранить;      
конец;



функция ЗаполнитьПоляКорректирующегоДокумента(ссУведомления_Классификация, ссИсходныеДокументы, ссКорректирующийДокумент, ссКорректирующийДокумент_Заголовок : СтатическиеДанные;
                                              КлассКорректирующегоДокумента : целое; коллекция, глобальнаяКоллекция : IVariables);
переменные
  НаименованиеКорректирующегоКласса, операцияДокумента, операцияУведомления : строка;
  текст_параметры: текст;
  ЛокКоллекция  : IVariables;
начало
  ссКорректирующийДокумент.Вставить;
  Для ссКорректирующийДокумент делать 
  начало
  //Простое заполнение полей
    ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссКорректирующийДокумент, '', '', '', '', nil, ПолныйМаппингДокумента(Истина, Ложь) + ",ClsType=ClsType" + МаппингБухов, ложь);
    .Поле("Id").КакЦелое := ГенерироватьДиап('G_Shared', 1);
    .Поле('DocNumber').КакСтрока := глобальнаяКоллекция.Значение("ФорматированныйНомерУведомления");   
    текст_параметры := СоздатьТекст;
    текст_параметры.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4,0,'СинхронизироватьПримечание');  
    если текст_параметры.Поиск('КорректирующийДокументДеталь') &lt;&gt; -1 тогда
      .Поле('Note').КакСтрока := глобальнаяКоллекция.Значение("Note")
    иначе   
      .Поле("Note").КакСтрока := ссИсходныеДокументы.Поле('Note').КакСтрока;
    если глобальнаяКоллекция.Значение("ДатаИзДиалога") &gt; '' тогда
      .Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ДатаИзДиалога")
    иначе 
      .Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ТекущаяДата");
      
    .Поле('ProgIndex').КакЦелое := КлассКорректирующегоДокумента;
    .Поле('BuhOperationCls').КакСтрока := ссИсходныеДокументы.Поле('BuhOperationCls').КакСтрока;
    .Поле('TransfertCls').КакСтрока := ссИсходныеДокументы.Поле('TransfertCls').КакСтрока;
    .Поле('SUBSIDYCLS').КакСтрока := ссИсходныеДокументы.Поле('SUBSIDYCLS').КакСтрока; 
    .Поле('BudAllocationCls').КакСтрока := ссИсходныеДокументы.Поле('BudAllocationCls').КакСтрока;
    .Поле('PayPromiseCls').КакСтрока := ссИсходныеДокументы.Поле('PayPromiseCls').КакСтрока;
    // поля блокировок
    .Поле("IsBlocked").КакЦелое := ссИсходныеДокументы.Поле("IsBlocked").КакЦелое;
    .Поле("BlockedCause").КакСтрока := ссИсходныеДокументы.Поле("BlockedCause").КакСтрока;
    .Поле("UnBlockedDate").КакСтрока := ссИсходныеДокументы.Поле("UnBlockedDate").КакСтрока;
    .Поле("UnBlockedCause").КакСтрока := ссИсходныеДокументы.Поле("UnBlockedCause").КакСтрока;
    
    Если (КлассКорректирующегоДокумента = Класс_ВыяснениеНевыясненных) и (ПолучитьПараметрИзНастроек(4,0,"Формирование дебета с плюсом для возврата невыясненных поступлений") &lt;&gt; 0) тогда
      .Поле('Debit').КакДробное :=  ссУведомления_Классификация.Поле('Summa').КакДробное
    Иначе  
      Если КлассКорректирующегоДокумента = Класс_ВозвратДоходов тогда
        .Поле('Summa').КакДробное :=  ссУведомления_Классификация.Поле('Summa').КакДробное
      иначе
        .Поле('Summa').КакДробное :=  -ссУведомления_Классификация.Поле('Summa').КакДробное;
      // если класс кор. документа Кассовый выплаты и и/ф Поступления
     если (КлассКорректирующегоДокумента = Класс_УчетКассовыхВыплат) и (глобальнаяКоллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений) тогда
       .Поле('Summa').КакДробное :=   ссУведомления_Классификация.Поле('Summa').КакДробное;   
     // если исх. док Класс_ВыяснениеНевыясненных и кор Класс_ВыяснениеНевыясненных то тогда нужно определять в куда ставить сумму
     Если (КлассКорректирующегоДокумента = Класс_ВыяснениеНевыясненных) и (глобальнаяКоллекция.значение("КлассИсходногоДокумента") = Класс_ВыяснениеНевыясненных)  тогда
       если не ((ссИсходныеДокументы.поле('Debit').КакДробное &gt; -0.005) и (ссИсходныеДокументы.поле('Debit').КакДробное &lt; 0.005)) тогда
       начало
         // если сумма в дебите с минусом то нужно поменять знак
         если ссИсходныеДокументы.поле('Debit').КакДробное &lt; 0 тогда 
           .Поле('Debit').КакДробное := - ссИсходныеДокументы.Поле('Summa').КакДробное
         иначе
           .Поле('Debit').КакДробное := ссИсходныеДокументы.Поле('Summa').КакДробное;
         .Поле('Summa').КакДробное := 0; 
       конец
       иначе
       начало
         // если сумма в кредите с минусом то нужно поменять знак
         если ссИсходныеДокументы.поле('SummaIncDet').КакДробное &lt; 0 тогда 
            .Поле('Summa').КакДробное := - ссИсходныеДокументы.Поле('Summa').КакДробное
         иначе
            .Поле('Summa').КакДробное := ссИсходныеДокументы.Поле('Summa').КакДробное;
       конец; 
  //чтобы не создавалось платежного поручения
    Если (КлассКорректирующегоДокумента = Класс_ВыяснениеНевыясненных) или  
         (КлассКорректирующегоДокумента = Класс_РаспоряжениеНаФинансирование) или 
         (КлассКорректирующегоДокумента = Класс_ВозвратДоходов)  
    тогда 
       .Поле('DocType').КакЦелое := 0;
  //заполнение полей из настроек   
    НаименованиеКорректирующегоКласса := НаименованиеПоКоду(классКорректирующегоДокумента);
    операцияУведомления := ВернутьОперациюУведомления(глобальнаяКоллекция);
    операцияДокумента := ВернутьПараметр(НаименованиеКорректирующегоКласса + ПостфиксДляОперацииКор, глобальнаяКоллекция);
    Если не ОперацияПуста(операцияДокумента) тогда 
      .Поле('BuhOperationCls').КакСтрока := операцияДокумента;
    Если (не ОперацияПуста(операцияДокумента)) и (не ОперацияПуста(операцияУведомления)) тогда 
      .Поле('BuhOperationCls').КакСтрока := 0;
    Если (ОперацияПуста(операцияДокумента)) и ( не ОперацияПуста(операцияУведомления)) тогда
      .Поле('BuhOperationCls').КакСтрока := 99999;
    
  //Дополнительные действия над полями  
    Если  Коллекция.Значение("ТребуетсяФормироватьЗаголовок") тогда 
      ссКорректирующийДокумент.Поле('RecordIndex').КакЦелое := ссКорректирующийДокумент_Заголовок.Поле('Id').КакЦелое;
    Если КлассКорректирующегоДокумента = Класс_ПоступлениеДоходов и (ГлобальнаяКоллекция.Значение('ИДЗаголовкаВыписки') &gt; 0) тогда
      ссКорректирующийДокумент.Поле('RecordIndex').КакЦелое := ГлобальнаяКоллекция.Значение('ИДЗаголовкаВыписки');
    Если не глобальнаяКоллекция.Значение("СоздаемСвязанныйДокумент") тогда
    начало 
      Если (КлассКорректирующегоДокумента = Класс_ВыяснениеНевыясненных) и (глобальнаяКоллекция.значение("КлассИсходногоДокумента") &lt;&gt; Класс_ВыяснениеНевыясненных) тогда 
        ссКорректирующийДокумент.Поле('RecordIndex').КакЦелое := ссИсходныеДокументы.Поле('id').КакЦелое;
      Если (КлассКорректирующегоДокумента = Класс_ВыяснениеНевыясненных) и (глобальнаяКоллекция.значение("КлассИсходногоДокумента") = Класс_ВыяснениеНевыясненных)  тогда 
        ссКорректирующийДокумент.Поле('RecordIndex').КакЦелое := ссИсходныеДокументы.Поле('RecordIndex').КакЦелое;
    конец
    иначе
    Если (КлассКорректирующегоДокумента = Класс_ВыяснениеНевыясненных) тогда 
        ссКорректирующийДокумент.Поле('RecordIndex').КакЦелое := ссИсходныеДокументы.Поле('RecordIndex').КакЦелое;
//    коллекция.значение("КлассИсходногоДокумента")  
    Если КлассКорректирующегоДокумента = Класс_ВозвратДоходов тогда
      ссКорректирующийДокумент.Поле("Progindex").КакЦелое := Класс_ПоступлениеДоходов;  
    // Если отсутствует класс исходного документа в диалоге, тогда заполняем кор док по таблице подстановок
    Если ссИсходныеДокументы.Поле('Progindex').Пустое тогда
      ЗаполнитьПоляПоТаблицеПодстановок(ссКорректирующийДокумент,ссКорректирующийДокумент,ссУведомления_Классификация,'класс=progindex',СписокПолейДляПодстановокДет);
  конец;
  
  // так как в некоторых отчетах по доходам организация получается по ссылке на организацию, а не 
  // по ссылке на счет  - то нужно заполнить ссылку на организацию плательщика
  // для и/ф доходов требуется заполнить ссылку на Организацию
  ссКорректирующийДокумент.Поле("PayerOrgRef").КакЦелое := Разыменовать("р/с.организация", ссИсходныеДокументы.Поле("PayerAccRef").какЦелое);
    
  ссКорректирующийДокумент.Сохранить;
   // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_СозданиеИсходногоДокументаДеталь;
  ЛокКоллекция.Значение('Данные') := ссКорректирующийДокумент;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ЛСИзменен') := глобальнаяКоллекция.Значение("ЛСИзменен");
  ЛокКоллекция.Значение('ВнешняяКоллекция') := глобальнаяКоллекция;
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
  УдалитьОбъект(ЛокКоллекция);
  // конец вызыва макроса
  УдалитьОбъект(текст_параметры);
конец;

функция ЗаполнитьПоляКорректирующегоДокументаЗаголовок(ссУведомления_Классификация, ссИсходныеДокументы, ссКорректирующийДокумент_Заголовок : СтатическиеДанные; 
                                                       КлассКорректирующегоДокумента : целое ; коллекция, глобальнаяКоллекция : IVariables);
переменные
  НаименованиеКорректирующегоКласса, Состояние, ОперацияДокумента, ОперацияУведомления : строка;
  ТекущаяГруппа : целое;
  текст_параметры: текст;
  ЛокКоллекция : IVariables;
начало

  ТекущаяГруппа := ПолучитьГруппуПоКлассу(КлассКорректирующегоДокумента);
  ссКорректирующийДокумент_Заголовок.Вставить;
  Для ссКорректирующийДокумент_Заголовок делать 
  начало
  //Простое заполнение полей
    ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссКорректирующийДокумент_Заголовок, '', '', '', '', nil, ПолныйМаппингДокумента(Ложь, Истина) + ",Nds=Nds" + МаппингБухов, ложь);
    .Поле("Id").КакЦелое := ГенерироватьДиап('G_Shared', 1);
    .Поле('DocNumber').КакСтрока := глобальнаяКоллекция.Значение("ФорматированныйНомерУведомления");
    .Поле('BuhOperationCls').КакСтрока := ссИсходныеДокументы.Поле('BuhOperationCls').КакСтрока;
    если глобальнаяКоллекция.Значение("ЭтоОмск") и ((классКорректирующегоДокумента = Класс_РаспределениеОФ) или  (классКорректирующегоДокумента = Класс_УтверждениеОФ)) тогда
      .Поле('Inputdate').КакСтрока := ссИсходныеДокументы.Поле('InputDate').КакЦелое
    иначе 
      если глобальнаяКоллекция.Значение("ДатаИзДиалога") &gt; '' тогда
        .Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ДатаИзДиалога")
      иначе 
        .Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ТекущаяДата");


    .Поле('Summa').КакДробное :=  -ссУведомления_Классификация.Поле('Summa').КакДробное;
    если (КлассКорректирующегоДокумента = Класс_УчетКассовыхВыплат) и (глобальнаяКоллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений) тогда
      .Поле('Summa').КакДробное :=  ссУведомления_Классификация.Поле('Summa').КакДробное; 
    текст_параметры := СоздатьТекст;
    текст_параметры.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4,0,'СинхронизироватьПримечание');  
    если текст_параметры.Поиск('КорректирующийДокументЗаголовок') &lt;&gt; -1 тогда
      .Поле('Note').КакСтрока := глобальнаяКоллекция.Значение("Note")
    иначе   
      .Поле("Note").КакСтрока := ссИсходныеДокументы.Поле('Note').КакСтрока;
    .Поле('ProgIndex').КакЦелое := КлассКорректирующегоДокумента;
  //Заполнение полей из настроек    
     НаименованиеКорректирующегоКласса := глобальнаяКоллекция.Значение(ип_КлассКорректирующегоДокумента_Наименование);
     операцияУведомления := ВернутьОперациюУведомления(глобальнаяКоллекция);
     операцияДокумента := ВернутьПараметр(НаименованиеКорректирующегоКласса + ПостфиксДляОперацииКор, глобальнаяКоллекция);
     // .Поле('BuhOperationCls').КакСтрока := 0;
     Если не ОперацияПуста(операцияДокумента)  тогда 
       .Поле('BuhOperationCls').КакСтрока := операцияДокумента;
     Если (не ОперацияПуста(операцияДокумента)) и (не ОперацияПуста(операцияУведомления)) тогда 
       .Поле('BuhOperationCls').КакСтрока := 0;
     Если (ОперацияПуста(операцияДокумента)) и ( не ОперацияПуста(операцияУведомления)) тогда
      .Поле('BuhOperationCls').КакСтрока := 99999;  
     .Поле('OperationDirection').КакЦелое := ПроставитьНаправлениеОперацииДляСвязанныхУведомлений(глобальнаяКоллекция.Значение("типИнтерфейса"),КлассКорректирующегоДокумента,ссИсходныеДокументы.Поле("ClsType").Какцелое,ссИсходныеДокументы.Поле("IFS").Какцелое);

     Состояние := ВернутьПараметр(НаименованиеКорректирующегоКласса + ПостфиксДляНачСостояния, глобальнаяКоллекция);
     Если (Состояние&lt;&gt;'') и (Состояние&lt;&gt;'0') тогда 
       .Поле('DocStateRef').КакСтрока := Состояние
     иначе 
       .Поле('DocStateRef').КакСтрока := '';
     Если НеобходимоВключатьВРеестр(КлассКорректирующегоДокумента) тогда 
       .Поле('Reestr_Ref').КакСтрока := глобальнаяКоллекция.Значение('КодРеестраУведомленийКор');
     Если глобальнаяКоллекция.Значение('ДатаПринятия')&gt;'' тогда 
       .Поле('AcceptDate').КакСтрока := глобальнаяКоллекция.Значение('ДатаПринятия');
       
     Если ссКорректирующийДокумент_Заголовок.Поле("PayerAccRef").Пустое тогда 
       ссКорректирующийДокумент_Заголовок.Поле("PayerAccRef").КакЦелое := НайтиОсновнойСчетПоБюджету(ссКорректирующийДокумент_Заголовок.Поле('BudgetRef').КакЦелое);
     Если ссКорректирующийДокумент_Заголовок.Поле("AcceptorAccRef").Пустое тогда 
       ссКорректирующийДокумент_Заголовок.Поле("AcceptorAccRef").КакЦелое := НайтиОсновнойСчетПоБюджету(ссКорректирующийДокумент_Заголовок.Поле('BudgetRef').КакЦелое);
     // для учета кассовых выплат
     Если (КлассКорректирующегоДокумента = Класс_УчетКассовыхВыплат) и (глобальнаяКоллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений) тогда
       ссКорректирующийДокумент_Заголовок.Поле("PayerAccRef").КакЦелое := НайтиОсновнойСчетПоБюджету(ссКорректирующийДокумент_Заголовок.Поле('BudgetRef').КакЦелое);    
    // изменения полей заголовка
    Выбрать ТекущаяГруппа из 
     Группа_КазначействоВыбытие:
         начало
         Выбрать КлассКорректирующегоДокумента из
             Класс_Разассигновка : ссКорректирующийДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,8);
             Класс_РасходПоЧекам,
             Класс_ПлатежныеПоручения, Класс_УчетКассовыхВыплат : ссКорректирующийДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,7);
             Класс_ВозвратСоСчетовДляНаличности,
             Класс_ПеречислениеНаСчетаДляНаличности : ссКорректирующийДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(1000,20);
           иначе
             если ((ссКорректирующийДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое = 0) или (ссКорректирующийДокумент_Заголовок.Поле('DESTFACIALACC_CLS').Пустое) ) тогда
               ссКорректирующийДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,7); 
           конец;
         конец;  
       Группа_КазначействоПоступление:
         начало
           Выбрать КлассКорректирующегоДокумента из
             Класс_РаспределениеОФ,
             Класс_УтверждениеОФ : ссКорректирующийДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,8);
             Класс_ПриходОтПрочих,
             Класс_ПриходПоОбъявлениям : ссКорректирующийДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,7);
           иначе
             если ((ссКорректирующийДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').КакЦелое = 0) или (ссКорректирующийДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').Пустое) ) тогда
               ссКорректирующийДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,7) 
           конец;
         конец;
     конец;
    попытка 
      ЗаполнитьПоляПоТаблицеПодстановок(ссИсходныеДокументы,ссКорректирующийДокумент_Заголовок,ссУведомления_Классификация,СписокПолейДляСверкиПриФормировании,СписокПолейДляПодстановокЗаг);   
    неудача
    конец;
  конец;
  ссКорректирующийДокумент_Заголовок.Сохранить;
 // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_СозданиеИсходногоДокументаЗаголовок;
  ЛокКоллекция.Значение('Данные') := ссКорректирующийДокумент_Заголовок;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ВнешняяКоллекция') := глобальнаяКоллекция;
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
  УдалитьОбъект(ЛокКоллекция);
  // конец вызыва макроса
  УдалитьОбъект(текст_параметры);
конец;

функция НайтиЗаголовокДоходовСредиСозданных(СсылкаНаСчет: целое; ссКорректирующийДокумент_Заголовок: СтатическиеДанные): целое;
начало
  результат := 0;
  ссКорректирующийДокумент_Заголовок.Фильтр := "(AcceptorAccRef=" + ЦелоеВСтроку(СсылкаНаСчет) + ")and(progindex=45)";
  Если ссКорректирующийДокумент_Заголовок.ЧислоЗаписей &gt; 0 тогда 
    результат := ссКорректирующийДокумент_Заголовок.Поле("ID").КакЦелое;
  ссКорректирующийДокумент_Заголовок.Фильтр := "";
конец;

функция СоздатьОдинКорректирующийДокумент(ссУведомления_Классификация, ссИсходныеДокументы, ссКорректирующийДокумент, ссКорректирующийДокумент_Заголовок, ссНовыйДокумент_Заголовок : СтатическиеДанные; 
                                          коллекция : IVariables)  ;
переменные
  Запрос, ЗапросЗаголовка: строка;             
  ТребуетсяФормироватьЗаголовок, Класс, кодРодительскогоДокумента, кодДочернегоДокумента, кодДочернегоДокументаЗаголовок : целое;
  ЛокКоллекция : IVariables;
начало
  если (коллекция.значение("КлассКорректирующегоДокумента") = Класс_ВыяснениеНевыясненных)  //Возврат невыясненных
       и (коллекция.значение("КлассИсходногоДокумента") &lt;&gt; Класс_ПоступлениеНевыясненных)
       и (коллекция.значение("КлассИсходногоДокумента") &lt;&gt; Класс_ВыяснениеНевыясненных) тогда
  начало
    ошибка('Для класса "' + коллекция.значение("КлассКорректирующегоДокумента_Наименование") + '" классом исходного документа не может являться' + ' "' + НаименованиеПоКоду(коллекция.значение("КлассИсходногоДокумента")) + '". (Только "Поступление невыясненных"). ');
  конец
  иначе
  начало
    ЛокКоллекция := CreateVariables;
    //ЛокКоллекция.PumpData(Коллекция);
    ЛокКоллекция.Значение("СтрокаОграничения") := "";
    ЛокКоллекция.Значение("КодДохода") := "";
    ЛокКоллекция.Значение("ИстВнутрФин") := "";
    Класс := Коллекция.Значение(ип_КлассКорректирующегоДокумента);
    коллекция.Значение(ип_ТекущийКлассДокумента) := класс;
    // Поля группировки при пакетной замене
    Если (Класс = Класс_ПоступлениеДоходов) и ( не Коллекция.Значение("РежимЗаменыРс")) тогда
    начало
      Если Коллекция.Значение("ЭтоЕксел") тогда
      начало
        если ПолучитьПараметрИзНастроек(4,0,"НеобходимоВставлятьВУжеСуществующийЗаголовокДоходов") тогда
        начало
          если (ссИсходныеДокументы.Поле('AcceptorAccRef').какЦелое &lt;&gt; 0)  тогда
          начало
            попытка
              Коллекция.Значение('ИДЗаголовкаВыписки') := НайтиЗаголовокДоходовСредиСозданных(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое, ссКорректирующийДокумент_Заголовок);
              Если Коллекция.Значение('ИДЗаголовкаВыписки') = 0 тогда 
                Коллекция.Значение('ИДЗаголовкаВыписки') := НайтиЗаголовокДоходовСредиСозданных(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое, ссНовыйДокумент_Заголовок);
            неудача
              Коллекция.Значение('ИДЗаголовкаВыписки') := 0;
            конец;
          конец    
          иначе
            Коллекция.Значение('ИДЗаголовкаВыписки') := 0;
        конец
        иначе    
          Коллекция.Значение('ИДЗаголовкаВыписки') := 0;
      конец
      иначе
        если ПолучитьПараметрИзНастроек(4,0,"НеобходимоВставлятьВУжеСуществующийЗаголовокДоходов") тогда
        начало
          попытка
            Коллекция.Значение('ИДЗаголовкаВыписки') := НайтиЗаголовокДоходовСредиСозданных(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое, ссКорректирующийДокумент_Заголовок);
            Если Коллекция.Значение('ИДЗаголовкаВыписки') = 0 тогда 
              Коллекция.Значение('ИДЗаголовкаВыписки') := НайтиЗаголовокДоходовСредиСозданных(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое, ссНовыйДокумент_Заголовок);
          неудача
            Коллекция.Значение('ИДЗаголовкаВыписки') := 0;
          конец;  
          если  (Коллекция.Значение('ИДЗаголовкаВыписки') = 0)   тогда
          начало
            Коллекция.Значение('ИДЗаголовкаВыписки') := ВернутьЗаголовокДоходов(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое,0, '','')
           /* если не Разыменовать("Р/с.Предпринимательский",ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое) тогда
              Коллекция.Значение('ИДЗаголовкаВыписки') := ВернутьЗаголовокДоходов(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое,0, '','')
            иначе
              Коллекция.Значение('ИДЗаголовкаВыписки') := ВернутьЗаголовокДоходов(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое,ОбычнаяДатавРасшир(ТекущаяДата), '','')*/ 
          конец;  
          Если Коллекция.Значение('ИДЗаголовкаВыписки') = 0 тогда
            Коллекция.Значение('ИДЗаголовкаВыписки') := -1;
        конец
    конец  
    иначе
      Коллекция.Значение('ИДЗаголовкаВыписки') := -1;
    ТребуетсяФормироватьЗаголовок := ф_ТребуетсяФормироватьЗаголовок(Класс) и не (Коллекция.Значение('ИДЗаголовкаВыписки') &gt; 0);
    ЛокКоллекция.Значение("ТребуетсяФормироватьЗаголовок") := ТребуетсяФормироватьЗаголовок;
  //Формирование статиксетов детализации и заголовка документа  
    Если ЛокКоллекция.Значение(ип_СтарыйКлассКорректирующегоДокумента) &lt;&gt; Класс тогда
      начало
        если ссКорректирующийДокумент.ЧислоЗаписей &lt;&gt; 0 тогда 
        начало
          ссКорректирующийДокумент_Заголовок.СохранитьИзменения;
          ссКорректирующийДокумент.СохранитьИзменения;
        конец;
        Запрос := ПолучитьЗапросПоКлассу(Класс, ЛокКоллекция);
        Если ф_ТребуетсяФормироватьЗаголовок(Класс) тогда  
          ЗапросЗаголовка := ПолучитьЗапросЗаголовкаПоКлассу(Класс, ЛокКоллекция);
        ссКорректирующийДокумент.Закрыть;
        ссКорректирующийДокумент.Запрос := Запрос;
        ЛокКоллекция.Значение('КодЗаписи') := -1;   
        СформироватьОграничения(ссКорректирующийДокумент, Класс, ЛокКоллекция );
        ссКорректирующийДокумент.Открыть;
        //ссКорректирующийДокумент := СоздатьОбщийСтатиксетДляСозданияДокументов(запрос);
        Если ф_ТребуетсяФормироватьЗаголовок(Класс) тогда 
          начало
            ссКорректирующийДокумент_Заголовок.Закрыть;
            ссКорректирующийДокумент_Заголовок.Запрос := ЗапросЗаголовка;
            ЛокКоллекция.Значение('КодЗаписи') := -1;
            СформироватьОграничения(ссКорректирующийДокумент_Заголовок, Класс, ЛокКоллекция );
            ссКорректирующийДокумент_Заголовок.Открыть;
            //ссКорректирующийДокумент_Заголовок := СоздатьЗаголовочныйСтатиксетДляСозданияДокументов(запросЗаголовка);
          конец;  
      конец;
  //Заполняем поля статиксетов заголовка и детализации  
    Если ТребуетсяФормироватьЗаголовок тогда 
      ЗаполнитьПоляКорректирующегоДокументаЗаголовок(ссУведомления_Классификация, ссИсходныеДокументы, ссКорректирующийДокумент_Заголовок, Класс, ЛокКоллекция, коллекция);
    ЗаполнитьПоляКорректирующегоДокумента(ссУведомления_Классификация, ссИсходныеДокументы, ссКорректирующийДокумент, ссКорректирующийДокумент_Заголовок, Класс, ЛокКоллекция, коллекция);
  //Заполняем служебную информацию, которая нужно для уведомлений
    Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс) := Класс;
    Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка) := ссКорректирующийДокумент.Поле("ID").КакЦелое;
    Если ТребуетсяФормироватьЗаголовок тогда
      Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Заголовок_Ссылка) := ссКорректирующийДокумент_Заголовок.Поле("ID").КакЦелое;
  //Связываем документы                      
    // связываем порожденный документ с детализацией уведомления, чтобы нормально отработало удаление порожденного документа
    кодРодительскогоДокумента := ссУведомления_Классификация.Поле("Id").КакЦелое;
    кодДочернегоДокумента := ссКорректирующийДокумент.Поле("ID").КакЦелое;
    Если требуетсяФормироватьЗаголовок тогда
      начало
        Если класс = класс_ВыяснениеНевыясненных тогда 
          кодДочернегоДокументаЗаголовок := ссИсходныеДокументы.Поле("Id").КакЦелое
        иначе  
          кодДочернегоДокументаЗаголовок := ссКорректирующийДокумент_Заголовок.Поле("Id").КАкЦелое;
        СвязатьДокументы(коллекция.Значение("linkInfo"), класс, Коллекция.Значение("типИнтерфейса"), кодРодительскогоДокумента, кодДочернегоДокументаЗаголовок, ложь, истина, истина, ложь, коллекция);
      конец;
    СвязатьДокументы(коллекция.Значение("linkInfo"), класс, Коллекция.Значение("типИнтерфейса"), кодРодительскогоДокумента, кодДочернегоДокумента, ложь, ложь, истина, ложь, коллекция);
    
    
    ВывестиВПротокол(с_СозданКорректирующийДокумент, ссКорректирующийДокумент, '');  
  конец;
конец;

функция ЗаполнитьПоляНовогоДокумента(ссУведомления_Классификация, ссИсходныеДокументы, ссНовыйДокумент, ссНовыйДокумент_Заголовок : СтатическиеДанные; 
                                              КлассНовогоДокумента : целое; коллекция, глобальнаяКоллекция : Ivariables );
переменные
  КорКласс, НовКласс, МожноПроставлятьНовуюКлассификацию, ТипКлассификации : целое;
  НаименованиеНовогоКласса, операцияДокумента, операцияУведомления : строка;
  текст_параметры: текст;
начало
  КорКласс  := глобальнаяКоллекция.Значение(ип_КлассКорректирующегоДокумента);
  НовКласс := глобальнаяКоллекция.Значение(ип_КлассНовогоДокумента);

  ссНовыйДокумент.Вставить;
  Для ссНовыйДокумент делать 
  начало
  //Простое заполнение полей 
    ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссНовыйДокумент, '', '', '', '', nil, ПолныйМаппингДокумента(Ложь, Ложь), истина);
    текст_параметры := СоздатьТекст;
    текст_параметры.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4,0,'СинхронизироватьПримечание');  
    если текст_параметры.Поиск('НовыйДокументДеталь') &lt;&gt; -1 тогда
      .Поле('Note').КакСтрока := глобальнаяКоллекция.Значение("Note")
    иначе   
      .Поле("Note").КакСтрока := ссИсходныеДокументы.Поле('Note').КакСтрока;
    .Поле("Id").КакЦелое := ГенерироватьДиап('G_Shared', 1);
    .Поле('DocNumber').КакСтрока := глобальнаяКоллекция.Значение("ФорматированныйНомерУведомления");    
    если глобальнаяКоллекция.Значение("ДатаИзДиалога") &gt; '' тогда
      .Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ДатаИзДиалога")
    иначе 
      .Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ТекущаяДата");

    .Поле('Summa').КакДробное := ссУведомления_Классификация.Поле('Summa').КакДробное;    
    .Поле('ProgIndex').КакЦелое := КлассНовогоДокумента;
    Если (КорКласс=НовКласс) тогда 
      начало
        .Поле('BuhpaymentCls').КакСтрока := ссИсходныеДокументы.Поле('BuhPaymentCls').КакСтрока;
        .Поле('BuhOperationCls').КакСтрока := ссИсходныеДокументы.Поле('BuhOperationCls').КакСтрока;
      конец;
   // поля блокировок
    .Поле("IsBlocked").КакЦелое := ссИсходныеДокументы.Поле("IsBlocked").КакЦелое;
    .Поле("BlockedCause").КакСтрока := ссИсходныеДокументы.Поле("BlockedCause").КакСтрока;
    .Поле("UnBlockedDate").КакСтрока := ссИсходныеДокументы.Поле("UnBlockedDate").КакСтрока;
    .Поле("UnBlockedCause").КакСтрока := ссИсходныеДокументы.Поле("UnBlockedCause").КакСтрока;   
  //Чтобы не создавалось платежного поручения
    Если (НовКласс = Класс_ВыяснениеНевыясненных) или  
         (НовКласс = Класс_РаспоряжениеНаФинансирование) или 
         (НовКласс = Класс_ВозвратДоходов)  
    тогда 
      начало
        .Поле('DocType').КакЦелое := 0;
        ссУведомления_Классификация.Редактировать;
        ссУведомления_Классификация.Поле('DocType').КакЦелое := 0;
        ссУведомления_Классификация.Сохранить; 
      конец;
  //Заполнение классификации нового документа
    //ТипКлассификации := ПроставитьТипКлассификации(ссНовыйДокумент);
    ТипКлассификации := ссУведомления_Классификация.Поле('ClsType').КакЦелое;    
    Если ссИсходныеДокументы.НайтиПоле('ChangeCls') тогда
      если не ГлобальнаяКоллекция.Значение("РежимЗаменыРс") тогда
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссНовыйДокумент, '','' ,'' ,'' , nil, МаппингКлКтаблицеЗамены(1), ложь);
    Если ТипКлассификации = ссУведомления_Классификация.Поле('ClsType').КакЦелое тогда 
      МожноПроставлятьНовуюКлассификацию := Истина
    иначе 
      МожноПроставлятьНовуюКлассификацию := Ложь;  
    Если ( глобальнаяКоллекция.Значение('БратьКлассификациюИзЗаголовка')=Истина или глобальнаяКоллекция.Значение('ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой') ) и  
          МожноПроставлятьНовуюКлассификацию 
    тогда 
      ЗаменитьПоляПоМаппингу(ссУведомления_Классификация, ссНовыйДокумент, '','' ,'' ,'' , nil, МаппингКлКтаблицеЗамены(1), ложь)
    иначе
      Если (глобальнаяКоллекция.Значение("ЭтоЕксел")) тогда
        ЗаменитьПоляПоМаппингу(ссУведомления_Классификация, ссНовыйДокумент, '', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Ложь)
      иначе   
        .Поле('ClsType').КакЦелое := ТипКлассификации;
  //Заполнение полей из настроек    
    НаименованиеНовогоКласса := НаименованиеПоКоду(новКласс);
    // Если установлена какая нибудь операция в настройках - тогда ставим её
    операцияУведомления := ВернутьОперациюУведомления(глобальнаяКоллекция);
    операцияДокумента := ВернутьПараметр(НаименованиеНовогоКласса + ПостфиксДляОперацииНов, глобальнаяКоллекция);
    //.Поле('BuhOperationCls').КакСтрока := 0;
    Если не ОперацияПуста(операцияДокумента) тогда 
      .Поле('BuhOperationCls').КакСтрока := операцияДокумента;
    Если (не ОперацияПуста(операцияДокумента)) и (не ОперацияПуста(операцияУведомления)) тогда 
      .Поле('BuhOperationCls').КакСтрока := 0;
    Если (ОперацияПуста(операцияДокумента)) и (не ОперацияПуста(операцияУведомления)) тогда
      .Поле('BuhOperationCls').КакСтрока := 99999; 
    .Поле('TransfertCls').КакСтрока := ссИсходныеДокументы.Поле('TransfertCls').КакСтрока;
    .Поле('SUBSIDYCLS').КакСтрока := ссИсходныеДокументы.Поле('SUBSIDYCLS').КакСтрока;
    .Поле('BudAllocationCls').КакСтрока := ссИсходныеДокументы.Поле('BudAllocationCls').КакСтрока;
    .Поле('PayPromiseCls').КакСтрока := ссИсходныеДокументы.Поле('PayPromiseCls').КакСтрока;
   ЗаполнитьПоляПоТаблицеПодстановок(ссИсходныеДокументы,ссНовыйДокумент,ссУведомления_Классификация,СписокПолейДляСверкиПриФормировании,СписокПолейДляПодстановокДет);

    
      
      
  //Дополнительные действия над полями
    Если Коллекция.Значение("ТребуетсяФормироватьЗаголовок") тогда 
      ссНовыйДокумент.Поле('RecordIndex').КакЦелое := ссНовыйДокумент_Заголовок.Поле('Id').КакЦелое
    иначе если КлассНовогоДокумента = Класс_ПоступлениеДоходов тогда
    начало
      ссНовыйДокумент.Поле('RecordIndex').КакЦелое := ГлобальнаяКоллекция.Значение('ИДЗаголовкаВыписки');
      ГлобальнаяКоллекция.Значение('ИДЗаголовкаВыписки') := 0;
    конец;
        
  конец;
  // так как в некоторых отчетах по доходам организация получается по ссылке на организацию, а не 
  // по ссылке на счет  - то нужно заполнить ссылку на организацию плательщика
  ссНовыйДокумент.Поле("PayerOrgRef").КакЦелое := Разыменовать("р/с.организация", ссИсходныеДокументы.Поле("PayerAccRef").какЦелое);
  ссНовыйДокумент.Сохранить;
  УдалитьОбъект(текст_параметры);           
конец;

функция ЗаполнитьПоляНовогоДокументаЗаголовок(ссУведомления_Классификация, ссИсходныеДокументы, ссНовыйДокумент_Заголовок : СтатическиеДанные; 
                                              КлассНовогоДокумента : целое; коллекция, глобальнаяКоллекция : IVariables );
переменные
  КорКласс, НовКласс : целое;
  НаименованиеНовогоКласса, Состояние, операцияДокумента, операцияУведомления : строка;
  ТекущаяГруппа, ссылкаНаСчет : целое;
  текст_параметры: текст;  
  ЛокКоллекция : IVariables;      
начало
  ссУведомления_Классификация.Редактировать;
  ссНовыйДокумент_Заголовок.Вставить;
  
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(КлассНовогоДокумента);
  Для ссНовыйДокумент_Заголовок делать 
  начало
  //Простое заполнение полей
    ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссНовыйДокумент_Заголовок, '', '', '', '', nil, ПолныйМаппингДокумента(Ложь, Истина) + ',Nds=Nds', ложь);
    текст_параметры := СоздатьТекст;
    текст_параметры.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4,0,'СинхронизироватьПримечание');  
    если текст_параметры.Поиск('НовыйДокументЗаголовок') &lt;&gt; -1 тогда
      .Поле('Note').КакСтрока := глобальнаяКоллекция.Значение("Note")
    иначе   
      .Поле("Note").КакСтрока := ссИсходныеДокументы.Поле('Note').КакСтрока;
      .Поле("Id").КакЦелое := ГенерироватьДиап('G_Shared', 1);
      .Поле('DocNumber').КакСтрока := глобальнаяКоллекция.Значение("ФорматированныйНомерУведомления");
//    если Коллекция.Значение("ЭтоОмск") и (классНовогоДокумента = Класс_РаспределениеОФ ) тогда
//      .Поле('Inputdate').КакСтрока := ссИсходныеДокументы.Поле('InputDate').КакЦелое
//    иначе 
      если глобальнаяКоллекция.Значение("ДатаИзДиалога") &gt; '' тогда
        .Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ДатаИзДиалога")
       иначе 
        .Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ТекущаяДата");
    // если уточняем уведомление на уведомление и в качестве нового документа у него указана ВП тогда нужно заменить progindex на 66
    если (глобальнаяКоллекция.Значение("ЭтоУведомления")) и ((КлассНовогоДокумента=Класс_ВП_Выбытие) или (КлассНовогоДокумента=Класс_ВП_Поступление))
    тогда
      .Поле('ProgIndex').КакЦелое := Класс_ВнутренниеПереброскиРасходов
    иначе
      .Поле('ProgIndex').КакЦелое := КлассНовогоДокумента;
    .Поле('Summa').КакДробное :=  ссУведомления_Классификация.Поле('Summa').КакДробное;
    
    если (КлассНовогоДокумента = Класс_УчетКассовыхВыплат) и глобальнаяКоллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений тогда
      .Поле('Summa').КакДробное := -мод(.Поле('Summa').КакДробное);
    Если глобальнаяКоллекция.Значение('ДатаПринятия')&gt;'' тогда 
      .Поле('AcceptDate').КакСтрока := глобальнаяКоллекция.Значение('ДатаПринятия');
    если .Поле('Note').Пустое или (УбратьПробелы(.Поле('Note').КакСтрока) = "") тогда 
      .Поле('Note').КакСтрока := 'новый(уточнённый) документ : ' + ссИсходныеДокументы.Поле('DocNumber').КакСтрока;
    КорКласс  := глобальнаяКоллекция.Значение(ип_КлассКорректирующегоДокумента);
    НовКласс := глобальнаяКоллекция.Значение(ип_КлассНовогоДокумента);
    Если (КорКласс=НовКласс) тогда 
      начало
        .Поле('BuhpaymentCls').КакСтрока := ссИсходныеДокументы.Поле('BuhPaymentCls').КакСтрока;
        .Поле('BuhOperationCls').КакСтрока := ссИсходныеДокументы.Поле('BuhOperationCls').КакСтрока;
      конец;
    .Поле('OperationDirection').КакЦелое := ПроставитьНаправлениеОперацииДляСвязанныхУведомлений(глобальнаяКоллекция.Значение("типИнтерфейса"),КлассНовогоДокумента,ссИсходныеДокументы.Поле("ClsType").Какцелое,ссИсходныеДокументы.Поле("IFS").Какцелое);
   // .Поле('Reestr_Ref').КакСтрока := УстановитьРеестрУведомлений(ОбычнаяДатавРасшир(ТекущаяДата),'ВП', Коллекция);
   Если НеобходимоВключатьВРеестр(КлассНовогоДокумента) тогда 
     .Поле('Reestr_Ref').КакСтрока := глобальнаяКоллекция.Значение('КодРеестраУведомленийНов');
  //Заполнение полей из настроек  
    НаименованиеНовогоКласса := глобальнаяКоллекция.Значение(ип_КлассНовогоДокумента_Наименование);
    операцияУведомления := ВернутьОперациюУведомления(глобальнаяКоллекция);
    операцияДокумента := ВернутьПараметр(НаименованиеНовогоКласса + ПостфиксДляОперацииНов, глобальнаяКоллекция);
  // .Поле('BuhOperationCls').КакСтрока := 0;
    Если не ОперацияПуста(операцияДокумента) тогда 
      .Поле('BuhOperationCls').КакСтрока := операцияДокумента;
    Если  (не ОперацияПуста(операцияДокумента)) и (не ОперацияПуста(операцияУведомления)) тогда 
      .Поле('BuhOperationCls').КакСтрока := 0;
    Если (ОперацияПуста(операцияДокумента)) и (не ОперацияПуста(операцияУведомления)) тогда
      .Поле('BuhOperationCls').КакСтрока := 99999;  
    //--//  
    Состояние := ВернутьПараметр(НаименованиеНовогоКласса + ПостфиксДляНачСостояния, глобальнаяКоллекция);
    Если (Состояние&lt;&gt;'') и (Состояние&lt;&gt;'0') тогда 
      .Поле('DocStateRef').КакСтрока := Состояние
    иначе 
      .Поле('DocStateRef').КакСтрока := '';
    //--//  
 
    попытка 
      ЗаполнитьПоляПоТаблицеПодстановок(ссИсходныеДокументы,ссНовыйДокумент_Заголовок,ссУведомления_Классификация,СписокПолейДляСверкиПриФормировании,СписокПолейДляПодстановокЗаг);   
    неудача
    конец;
 
  //Дополнительные действия       
    Если глобальнаяКоллекция.Значение('БратьКлассификациюИзЗаголовка') тогда 
      ЗаменитьПоляПоМаппингу(ссУведомления_Классификация, ссНовыйДокумент_Заголовок, '','' ,'' ,'' , nil, "FacialAcc_Cls=FacialAcc_Cls", ложь);
    // если лицевой счет не указан или нулевой - то подставляем лс невыясненных из коснтант
    Если  (ссНовыйДокумент_Заголовок.Поле('DestFacialAcc_Cls').КакЦелое = 0) и 
          (ссНовыйДокумент_Заголовок.Поле('FacialAcc_Cls').КакЦелое = 0) и 
          (НовКласс = Класс_ПриходОтПрочих) 
    тогда 
      ссНовыйДокумент_Заголовок.Поле('DestFacialAcc_Cls').КакЦелое := ЦелаяКонстанта(30,12);
      
    Если ссНовыйДокумент_Заголовок.Поле("PayerAccRef").Пустое тогда 
      ссНовыйДокумент_Заголовок.Поле("PayerAccRef").КакЦелое := НайтиОсновнойСчетПоБюджету(ссНовыйДокумент_Заголовок.Поле('BudgetRef').КакЦелое);
    Если ссНовыйДокумент_Заголовок.Поле("AcceptorAccRef").Пустое тогда 
      ссНовыйДокумент_Заголовок.Поле("AcceptorAccRef").КакЦелое := НайтиОсновнойСчетПоБюджету(ссНовыйДокумент_Заголовок.Поле('BudgetRef').КакЦелое);
       
    если (КлассНовогоДокумента = Класс_УчетКассовыхВыплат) и глобальнаяКоллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений тогда
    начало
      ссылканаСчет := .Поле('PayerAccRef').КакЦелое;
     .Поле('PayerAccRef').КакЦелое := .Поле('AcceptorAccRef').КакЦелое;
     .Поле('AcceptorAccref').КакЦелое := ссылкаНаСчет;
     .Поле('PayerAccRef').КакЦелое := ПолучитьСчетФОдляУчетаКассВыплат(.Поле('PayerAccRef').КакЦелое);
    конец;
    
    если ПолучитьГруппуПоКлассу(глобальнаяКоллекция.Значение('КлассИсходногоДокумента')) = Группа_КазначействоВыбытие тогда
     начало
       если глобальнаяКоллекция.Значение("ДатаИзДиалога") &gt; '' тогда
         ссНовыйДокумент_Заголовок.Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ДатаИзДиалога")
       иначе 
         ссНовыйДокумент_Заголовок.Поле('Inputdate').КакСтрока := глобальнаяКоллекция.Значение("ТекущаяДата");
     конец;
     
     Выбрать ТекущаяГруппа из 
       Группа_КазначействоВыбытие:
         начало
         Выбрать КлассНовогоДокумента из
             Класс_Разассигновка : ссНовыйДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,8);
             Класс_РасходПоЧекам,
             Класс_ПлатежныеПоручения, Класс_УчетКассовыхВыплат : ссНовыйДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,7);
             Класс_ВозвратСоСчетовДляНаличности,
             Класс_ПеречислениеНаСчетаДляНаличности : ссНовыйДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(1000,20);
           иначе
             если ((ссНовыйДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое = 0) или (ссНовыйДокумент_Заголовок.Поле('DESTFACIALACC_CLS').Пустое) ) тогда
               ссНовыйДокумент_Заголовок.Поле('DESTFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,7); 
           конец;
         конец;  
       Группа_КазначействоПоступление:
         начало
           Выбрать КлассНовогоДокумента из
             Класс_РаспределениеОФ,
             Класс_УтверждениеОФ : ссНовыйДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,8);
             Класс_ПриходОтПрочих,
             Класс_ПриходПоОбъявлениям : ссНовыйДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,7);
           иначе
             если ((ссНовыйДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').КакЦелое = 0) или (ссНовыйДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').Пустое) ) тогда
               ссНовыйДокумент_Заголовок.Поле('SOURCEFACIALACC_CLS').КакЦелое := ЦелаяКонстанта(30,7) 
           конец;
         конец;
     конец;
        
  конец;
  ссНовыйДокумент_Заголовок.Сохранить;
  ссУведомления_Классификация.Сохранить;
  // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_СозданиеНовогоДокументаЗаголовок;
  ЛокКоллекция.Значение('Данные') := ссНовыйДокумент_Заголовок;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ВнешняяКоллекция') := глобальнаяКоллекция;
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
  УдалитьОбъект(ЛокКоллекция);
  // конец вызыва макроса
  УдалитьОбъект(текст_параметры);
конец;
  
функция ИзменитьЗначенияПолейНовогоДокумента(ссУведомления_Классификация, ссИсходныеДокументы, ссНовыйДокумент, ссНовыйДокумент_Заголовок : СтатическиеДанные; 
                                             Коллекция : IVariables);
переменные 
  КлассНовогоДокумента : целое;
  ТекущаяГруппа : целое;  
  ЛокКоллекция : IVariables;                                             
начало
//Инициализация переменных
  КлассНовогоДокумента := Коллекция.Значение(ип_КлассНовогоДокумента);
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(КлассНовогоДокумента);
  
  ссНовыйДокумент.Редактировать;
//Изменение значений полей    
  Выбрать ТекущаяГруппа из 
    Группа_Доходы  : 
      начало
         Выбрать КлассНовогоДокумента из
           Класс_ВыяснениеНевыясненных : 
               начало 
                 Если не Коллекция.Значение("СоздаемСвязанныйДокумент") тогда
                   ссНовыйДокумент.Поле('RecordIndex').КакЦелое := ссИсходныеДокументы.Поле('Id').КакЦелое
                 иначе  
                   ссНовыйДокумент.Поле('RecordIndex').КакЦелое := ссИсходныеДокументы.Поле('RecordIndex').КакЦелое;
                 Если (коллекция.значение("КлассИсходногоДокумента") = Класс_ВыяснениеНевыясненных)  тогда
                 начало 
                   ссНовыйДокумент.Поле('RecordIndex').КакЦелое := ссИсходныеДокументы.Поле('RecordIndex').КакЦелое;
                   если не ((ссИсходныеДокументы.поле('Debit').КакДробное &gt; -0.005) и (ссИсходныеДокументы.поле('Debit').КакДробное &lt; 0.005)) тогда
                   начало
                     // если сумма в дебите с минусом то нужно поменять знак
                     если ссИсходныеДокументы.поле('Debit').КакДробное &lt; 0 тогда 
                       ссНовыйДокумент.Поле('Debit').КакДробное := - ссИсходныеДокументы.Поле('Summa').КакДробное
                     иначе
                       ссНовыйДокумент.Поле('Debit').КакДробное := ссИсходныеДокументы.Поле('Summa').КакДробное;
                     ссНовыйДокумент.Поле('Summa').КакДробное := 0; 
                   конец
                   иначе
                   начало
                     // если сумма в кредите с минусом то нужно поменять знак
                     если ссИсходныеДокументы.поле('SummaIncDet').КакДробное &lt; 0 тогда 
                       ссНовыйДокумент.Поле('Summa').КакДробное := - ссИсходныеДокументы.Поле('Summa').КакДробное
                     иначе
                       ссНовыйДокумент.Поле('Summa').КакДробное := ссИсходныеДокументы.Поле('Summa').КакДробное;
                   конец; 
                 конец;  
               конец;
           Класс_ВозвратДоходов,
           Класс_ВнутренниеПереброскиДоходов : 
               начало
                 Если КлассНовогоДокумента = Класс_ВозвратДоходов тогда 
                   ссНовыйДокумент.Поле('ProgIndex').КакЦелое := Класс_ПоступлениеДоходов;
                 ссНовыйДокумент.Поле('Debit').КакДробное := ссИсходныеДокументы.Поле('Summa').КакДробное;
                 ссНовыйДокумент.Поле('Summa').КакДробное := 0 ; 
               конец;
          конец; 
       конец;
    Группа_Кредиты : 
      начало
        ссНовыйДокумент.Поле('RecordIndex').КакЦелое := Коллекция.Значение('СсылкаНаКредитныйДоговор');
        Если КлассНовогоДокумента=Класс_ПогашениеКредита тогда
          начало
            ссНовыйДокумент.Поле('Debit').КакДробное := ссНовыйДокумент.Поле('Summa').КакДробное;
            ссНовыйДокумент.Поле('Summa').КакДробное := 0;
          конец;
      конец;                                            
    Группа_Ссуды   : 
      начало
        ссНовыйДокумент.Поле('RecordIndex').КакЦелое := Коллекция.Значение('СсылкаНаСсудныйДоговор');
        Если КлассНовогоДокумента=Класс_ПогашениеСсуды тогда 
          начало
            ссНовыйДокумент.Поле('Debit').КакДробное := ссНовыйДокумент.Поле('Summa').КакДробное;
            ссНовыйДокумент.Поле('Summa').КакДробное := 0;                                    
          конец;
      конец;
    Группа_КазначействоВыбытие:
      начало
        если (классНовогоДокумента = класс_УчетКассовыхВыплат)и (коллекция.Значение('типИнтерфейса') = ту_УточнениеПоступлений) тогда  
          ссНовыйДокумент.Поле('Summa').КакДробное :=  -мод(ссНовыйДокумент.Поле('Summa').КакДробное);
      конец; 
  конец;
    
  ссНовыйДокумент.Сохранить; 
  // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_СозданиеНовогоДокументаДеталь;
  ЛокКоллекция.Значение('Данные') := ссНовыйДокумент;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ЛСИзменен') := Коллекция.Значение("ЛСИзменен");
  ЛокКоллекция.Значение('ВнешняяКоллекция') := Коллекция;
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
  УдалитьОбъект(ЛокКоллекция);
  // конец вызыва макроса
  //ссНовыйДокумент_Заголовок.Сохранить;
конец;                                                                   

функция ДополнительнаяОбработкаЗаголовкаНовогоДокумента(ссНовыйДокументЗаголовок : СтатическиеДанные; Коллекция : IVariables);
начало
  Если Коллекция.Значение('ЭтоКредиты')=1 тогда 
    начало
      ВыбратьДоговор(ссНовыйДокументЗаголовок, Коллекция);
      Коллекция.Значение('СсылкаНаКредитныйДоговор') := ссНовыйДокументЗаголовок.Поле('ID').КакЦелое;
    конец;
  Если Коллекция.Значение('ЭтоСсуды')=1 тогда 
    начало 
      ВыбратьДоговор(ссНовыйДокументЗаголовок, Коллекция);  
      Коллекция.Значение('СсылкаНаСсудныйДоговор') := ссНовыйДокументЗаголовок.Поле('ID').КакЦелое;  
    конец;
конец;

функция СоздатьОдинНовыйДокумент(ссУведомления_Классификация, ссИсходныеДокументы, ссНовыйДокумент, ссНовыйДокумент_Заголовок, ссКорректирующийДокумент_Заголовок : СтатическиеДанные; 
                                          Коллекция : IVariables);
переменные
  Запрос, ЗапросЗаголовка : строка; 
  ТребуетсяФормироватьЗаголовок, СсылкаНаВторуюЗаписьВО, Класс , 
  кодРодительскогоДокумента, кодДочернегоДокумента, кодДочернегоДокументаЗаголовок : целое;
  ЛокКоллекция : IVariables;                         
начало
  если (коллекция.значение("КлассНовогоДокумента") = Класс_ВыяснениеНевыясненных) //Возврат невыясненных
        и (коллекция.значение("КлассИсходногоДокумента") &lt;&gt; Класс_ПоступлениеНевыясненных)
        и (коллекция.значение("КлассИсходногоДокумента") &lt;&gt; Класс_ВыяснениеНевыясненных) тогда
  начало
    ошибка('Для класса "' + коллекция.значение("КлассНовогоДокумента_Наименование") + '" классом исходного документа не может являться' + ' "' + НаименованиеПоКоду(коллекция.значение("КлассИсходногоДокумента")) + '". (Только "Поступление невыясненных"). ');
  конец
  иначе
  начало
    ЛокКоллекция := CreateVariables;
    //ЛокКоллекция.PumpData(Коллекция);
    ЛокКоллекция.Значение("СтрокаОграничения") := "";
    ЛокКоллекция.Значение("КодДохода") := "";
    ЛокКоллекция.Значение("ИстВнутрФин") := "";
    Класс := Коллекция.Значение(ип_КлассНовогоДокумента);
    коллекция.Значение(ип_ТекущийКлассДокумента) := класс;
    Если (Класс = Класс_ПоступлениеДоходов) и ( не Коллекция.Значение("РежимЗаменыРс")) тогда
    начало
      Если (Коллекция.Значение('ИДЗаголовкаВыписки') = 0) или (Коллекция.Значение('ИДЗаголовкаВыписки') = -1) тогда
      Начало
        если Коллекция.Значение("ЭтоЕксел") тогда
        начало
          если ПолучитьПараметрИзНастроек(4,0,"НеобходимоВставлятьВУжеСуществующийЗаголовокДоходов") тогда
          начало
            если ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое &lt;&gt; 0 тогда
            начало 
              попытка
                Коллекция.Значение('ИДЗаголовкаВыписки') := НайтиЗаголовокДоходовСредиСозданных(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое, ссНовыйДокумент_Заголовок);
                Если Коллекция.Значение('ИДЗаголовкаВыписки') = 0 тогда 
                  Коллекция.Значение('ИДЗаголовкаВыписки') := НайтиЗаголовокДоходовСредиСозданных(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое, ссКорректирующийДокумент_Заголовок);
              неудача
                Коллекция.Значение('ИДЗаголовкаВыписки') := 0;
              конец;
            конец
            иначе    
              Коллекция.Значение('ИДЗаголовкаВыписки') := 0;
          конец
          иначе    
            Коллекция.Значение('ИДЗаголовкаВыписки') := 0;
        конец  
        иначе
        начало
          попытка
            Коллекция.Значение('ИДЗаголовкаВыписки') := НайтиЗаголовокДоходовСредиСозданных(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое, ссНовыйДокумент_Заголовок);
            Если Коллекция.Значение('ИДЗаголовкаВыписки') = 0 тогда 
            Коллекция.Значение('ИДЗаголовкаВыписки') := НайтиЗаголовокДоходовСредиСозданных(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое, ссКорректирующийДокумент_Заголовок);
          неудача
            Коллекция.Значение('ИДЗаголовкаВыписки') := 0;
          конец;  
          если (ПолучитьПараметрИзНастроек(4,0,"НеобходимоВставлятьВУжеСуществующийЗаголовокДоходов")) и (Коллекция.Значение('ИДЗаголовкаВыписки') = 0)   тогда
            Коллекция.Значение('ИДЗаголовкаВыписки') := ВернутьЗаголовокДоходов(ссИсходныеДокументы.Поле('AcceptorAccRef').КакЦелое,0, '','');
        конец;
      конец;
    конец    
    иначе
      Коллекция.Значение('ИДЗаголовкаВыписки') := -1;
    ТребуетсяФормироватьЗаголовок := ф_ТребуетсяФормироватьЗаголовок(Класс) и не (Коллекция.Значение('ИДЗаголовкаВыписки') &gt; 0);
    ЛокКоллекция.Значение("ТребуетсяФормироватьЗаголовок") := ТребуетсяФормироватьЗаголовок;
  //Формирование статиксетов детализации и заголовка документа  
    Если ЛокКоллекция.Значение(ип_СтарыйКлассНовогоДокумента) &lt;&gt; Класс тогда 
      начало                                    
        если ссНовыйДокумент.ЧислоЗаписей &lt;&gt; 0 тогда 
        начало
          ссНовыйДокумент_Заголовок.СохранитьИзменения;
          ссНовыйДокумент.СохранитьИзменения;
        конец;

        Запрос := ПолучитьЗапросПоКлассу(Класс, ЛокКоллекция);
        Если ф_ТребуетсяФормироватьЗаголовок(Класс) тогда 
          начало
            СформироватьДопОграниченияЗаголовкаДляКредитовИлиСсуд(ссИсходныеДокументы, Класс, ЛокКоллекция);  
            ЗапросЗаголовка := ПолучитьЗапросЗаголовкаПоКлассу(Класс, ЛокКоллекция);
          конец;   
        ссНовыйДокумент.Закрыть;
        ссНовыйДокумент.Запрос := Запрос;
        ЛокКоллекция.Значение('КодЗаписи') := -1; 
        СформироватьОграничения(ссНовыйДокумент, Класс, ЛокКоллекция );
        ссНовыйДокумент.Открыть;
        //ссНовыйДокумент := СоздатьОбщийСтатиксетДляСозданияДокументов(запрос);
        Если ф_ТребуетсяФормироватьЗаголовок(Класс) тогда 
          начало
            ссНовыйДокумент_Заголовок.Закрыть;
            ссНовыйДокумент_Заголовок.Запрос := ЗапросЗаголовка;
            ЛокКоллекция.Значение('КодЗаписи') := -1;
            ЛОкКоллекция.Значение('ОграничениеЗаголовка') := 1; 
            СформироватьОграничения(ссНовыйДокумент_Заголовок, Класс, ЛокКоллекция );
            ссНовыйДокумент_Заголовок.Открыть;
            //ссНовыйДокумент_Заголовок := СоздатьЗаголовочныйСтатиксетДляСозданияДокументов(запросзаголовка);
          конец;
      конец;
  //Заполняем поля статиксетов заголовка и детализации 
    Если (ТребуетсяФормироватьЗаголовок) и 
         (не ЛокКоллекция.Значение('ЭтоКредиты')) и 
         (не ЛокКоллекция.Значение('ЭтоСсуды')) 
    тогда 
      ЗаполнитьПоляНовогоДокументаЗаголовок(ссУведомления_Классификация, ссИсходныеДокументы, ссНовыйДокумент_Заголовок, Класс, ЛокКоллекция, коллекция); 
    ДополнительнаяОбработкаЗаголовкаНовогоДокумента(ссНовыйДокумент_Заголовок,ЛокКоллекция); 
    ЗаполнитьПоляНовогоДокумента(ссУведомления_Классификация, ссИсходныеДокументы, ссНовыйДокумент, ссНовыйДокумент_Заголовок, Класс, ЛокКоллекция, коллекция);
    ИзменитьЗначенияПолейНовогоДокумента(ссУведомления_Классификация, ссИсходныеДокументы, ссНовыйДокумент, ссНовыйДокумент_Заголовок, Коллекция);
    //Создаём вторую запись внутренних операций
    Если Класс = Класс_ВнутренниеПереброскиДоходов тогда 
      начало 
        СсылкаНаВторуюЗаписьВО := СоздатьВторуюЗаписьВнутреннихПеребросок(ссНовыйДокумент, ЛокКоллекция);
        ссНовыйДокумент.Редактировать;
        ссНовыйДокумент.Поле('RecordIndex').КакЦелое :=  СсылкаНаВторуюЗаписьВО;
        ссНовыйДокумент.Сохранить;
      конец;
  //Заполняем служебную информацию, которая нужно для уведомлений
    Коллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс) := Класс;
    Коллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка) := ссНовыйДокумент.Поле("ID").КакЦелое;
    Если ТребуетсяФормироватьЗаголовок тогда
      Коллекция.Значение(ип_СвязанныйДокумент_Новый_Заголовок_Ссылка) := ссНовыйДокумент_Заголовок.Поле("ID").КакЦелое;  
    Если Класс = Класс_ВнутренниеПереброскиДоходов тогда 
      начало
        Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка) := ссНовыйДокумент.Поле('id').КакЦелое;
        Коллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка) := ссНовыйДокумент.Поле('RecordIndex').КакЦелое;
      конец;
  //Связываем документы
    // связываем порожденный документ с детализацией уведомления, чтобы нормально отработало удаление порожденного документа
    кодРодительскогоДокумента := ссУведомления_Классификация.поле("id").какцелое;
    кодДочернегоДокумента := ссНовыйДокумент.Поле("ID").КакЦелое;
    Если ТребуетсяФормироватьЗаголовок тогда
    начало
      кодДочернегоДокументаЗаголовок := ссНовыйДокумент_Заголовок.Поле("Id").КАкЦелое;
      СвязатьДокументы(коллекция.Значение("linkInfo"), класс, Коллекция.Значение("типИнтерфейса"), кодРодительскогоДокумента, кодДочернегоДокументаЗаголовок, ложь, истина, истина, ложь, Коллекция);
    конец;
    СвязатьДокументы(коллекция.Значение("linkInfo"), класс, Коллекция.Значение("типИнтерфейса"), кодРодительскогоДокумента, кодДочернегоДокумента, ложь, ложь, истина, ложь, Коллекция);
    ВывестиВПротокол(С_СозданНовыйДокумент, ссНовыйДокумент, '');  
  конец;
конец;

функция СформироватьДопКорДокументы(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, ссКорректирующийДокумент, ссКорректирующийДокумент_Заголовок : СтатическиеДанные; 
                                    Коллекция : IVariables; ткстСписокДопДокументов : Текст);
переменные
  сч : целое;
  ЛокКоллекция : IVariables;                                    
начало
  ЛокКоллекция := CreateVariables;
  ЛОкКоллекция.PumpData(Коллекция);
  ПОПЫТКА
    от сч :=0 до ткстСписокДопДокументов.Количество-1 делать 
    начало
      локКоллекция.Значение(ип_КлассКорректирующегоДокумента) := ткстСписокДопДокументов.Стр(сч);
      Если не ф_ЭтоВп(локКоллекция.Значение(ип_КлассКорректирующегоДокумента)) тогда 
      начало
        СоздатьОдинКорректирующийДокумент(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, ссКорректирующийДокумент, ссКорректирующийДокумент_Заголовок, nil, ЛокКоллекция);    
        локКоллекция.Значение(ип_СтарыйКлассКорректирующегоДокумента) := ткстСписокДопДокументов.Стр(сч);
        СохранитьИзменения_(ссКорректирующийДокумент_Заголовок);
        ссКорректирующийДокумент_Заголовок.UpdateStatus := 0;
        СохранитьИзменения_(ссКорректирующийДокумент);
        ссКорректирующийДокумент.UpdateStatus := 0;
      конец;
    конец;
  ОБЯЗАТЕЛЬНО
    УдалитьОбъект(ЛокКоллекция);
  КОНЕЦ;                      
конец;                                    

функция СформироватьДопНовДокументы(ссУведомления_ИсходнаяКлассификация, ссУведомления_НоваяКлассификация, ссИсходныеДокументы, ссНовыйДокумент, ссНовыйДокумент_Заголовок : СтатическиеДанные; 
                                    Коллекция : IVariables; ткстСписокДопДокументов : Текст);
переменные
  сч : целое;                                  
  ЛокКоллекция : IVariables;
  ссИсходныеДокументыЛок : СтатическиеДанные;
  ссВп, ссВПЗаголовок : СтатическиеДанные;                                    
начало
  ЛокКоллекция := CreateVariables;
  ЛОкКоллекция.PumpData(Коллекция);
  ПОПЫТКА
    от сч :=0 до ткстСписокДопДокументов.Количество-1 делать 
    начало
      локКоллекция.Значение(ип_КлассНовогоДокумента) := ткстСписокДопДокументов.Стр(сч);
      Если не ф_ЭтоВп(локКоллекция.Значение(ип_КлассНовогоДокумента)) тогда
        СоздатьОдинНовыйДокумент(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, ссНовыйДокумент, ссНовыйДокумент_Заголовок, nil, ЛокКоллекция)
      иначе 
        начало 
          ПолучитьСтатикСетыВП(ссВП, ссВпЗаголовок);
          ссИсходныеДокументыЛок := СоздатьСтатическиеДанные;
          попытка
            ссИсходныеДокументыЛок.присвоитьполя(ссИсходныеДокументы);
            ссИсходныеДокументыЛок.Открыть;
            ссИсходныеДокументыЛок.СкопироватьЗапись(Ложь, ссИсходныеДокументы);
            ЗаменитьПоляПоМаппингу(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументыЛок, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) + ",FacialAcc_Cls=SourceFacialAcc_Cls", Истина);            
            СоздатьВП(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументыЛок, ссВп, ссВпЗаголовок, ЛокКоллекция, Истина);
            ЗаменитьПоляПоМаппингу(ссУведомления_НоваяКлассификация, ссИсходныеДокументыЛок, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) + ",FacialAcc_Cls=DestFacialAcc_Cls", Истина);           
            СоздатьВП(ссУведомления_НоваяКлассификация, ссИсходныеДокументыЛок, ссВп, ссВпЗаголовок, ЛокКоллекция, Ложь);
            СохранитьИзменения_(ссВПЗаголовок);
            СохранитьИзменения_(ссВП);
          обязательно
            УдалитьОбъект(ссИсходныеДокументыЛок, ссВП, ссВпЗаголовок); 
          конец;
        конец;      
      локКоллекция.Значение(ип_СтарыйКлассНовогоДокумента) := ткстСписокДопДокументов.Стр(сч);
      СохранитьИзменения_(ссНовыйДокумент_Заголовок);
      ссНовыйДокумент_Заголовок.UpdateStatus := 0;    
      СохранитьИзменения_(ссНовыйДокумент);
      ссНовыйДокумент.UpdateStatus := 0;
    конец;
  ОБЯЗАТЕЛЬНО
    УдалитьОбъект(ЛокКоллекция);
  КОНЕЦ;                      
конец;                                    

// функция вызывается когда на интерфейсе выбирается какое-то значение из выпадающего списка поля "Класс документа".
// Создаётся связанный документ выбранного класса документа
функция СоздатьСвязанныйДокументПоСобытию(ссУведомления_Детализация : СтатическиеДанные; Коллекция : IVariables);
переменные
  ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок, ссВП, ссВП_Заголовок, ссВПл, ссВПл_Заголовок, 
  ссУведомления_Классификация, ссУведомления_ИсходнаяКлассификация, ссУведомления_НоваяКлассификация, 
  ссИсходныеДокументы, ссЗаголовокУведомления, ссВспомогательный : СтатическиеДанные;
  ткстСписокИдДокументов, ткстСписокДопДокументов : Текст;
  КлассСвязанногоДокумента, ЭтоНовыйДокумент, КодЗаписи,  
  ссылкаНаСчетПлательщика, ссылкаНаСчетПолучателя : целое;
  СсылкаНаГруппу, НаименованиеСвязанногоДокумента : строка;
  Прогресс : IProgress;
  ЛокКоллекция : IVariables;
начало
   // проверяем тип классификации
  ПроверитьТипКлассификацииСообщение(ссУведомления_Детализация);
  //Инициализация переменных
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  ссСвязанныйДокумент := СоздатьСтатикСет;
  ссСвязанныйДокумент_Заголовок := СоздатьСтатикСет;
  ссУведомления_Классификация := СоздатьСтатикСетРасш(ссУведомления_Детализация, ссУведомления_Детализация.Запрос);
  ПолучитьСтатикСетыВП(ссВП, ссВП_Заголовок);
  ПолучитьСтатикСетыВП(ссВПл, ссВПл_Заголовок);
  КодЗаписи := ссУведомления_Детализация.Поле("Id").КакЦелое;
  ссУведомления_Классификация.Закачать(ссУведомления_Детализация, "");
  ссУведомления_Детализация.Локализовать("ID", КодЗаписи, 0);
  ткстСписокИдДокументов := СоздатьТекст;
  ткстСписокДопДокументов := СоздатьТекст;
  ссВспомогательный := СоздатьСтатикСет;
  КлассСвязанногоДокумента := ссУведомления_Детализация.Поле("DocumentProgIndex").КакЦелое;
  НаименованиеСвязанногоДокумента := ПолучитьНаименованиеДляДиалога(КлассСвязанногоДокумента);
  ткстСписокДопДокументов.РазделенноеЗначение := Реестр.Узел(ПутьКПараметрамФормированияДопДокументов).Значение(целоеВСтроку(КлассСвязанногоДокумента)).КакСтрока;
  ЭтоНовыйДокумент := Коллекция.Значение("ЭтоНовыйДокумент");
  СсылкаНаГруппу := ссУведомления_Детализация.Поле("ParentId").КакСтрока;
  
  попытка
    Прогресс := Progress;
    Прогресс.BeginProgress;
  //Получаем статиксет исходной и новой классификации
    Прогресс.SetMessage("Получение исходной и новой классификации");
     
    ЕСЛИ ЭтоНовыйДокумент тогда 
      начало
        ссУведомления_НоваяКлассификация := СоздатьСтатикСетРасш(ссУведомления_Детализация, ссУведомления_Детализация.Запрос);
        ссУведомления_НоваяКлассификация.СкопироватьЗапись(0, ссУведомления_Детализация);
        ссУведомления_ИсходнаяКлассификация := СоздатьСтатикСетРасш(ссУведомления_Детализация, ссУведомления_Детализация.Запрос);
        ссУведомления_Классификация.Фильтр := "(ParentId=" + СсылкаНаГруппу + ")and (ProgIndex=315)";
        ссУведомления_ИсходнаяКлассификация.Закачать(ссУведомления_Классификация, "");
      конец 
    ИНАЧЕ
      начало
        ссУведомления_ИсходнаяКлассификация := СоздатьСтатикСетРасш(ссУведомления_Детализация, ссУведомления_Детализация.Запрос);
        ссУведомления_ИсходнаяКлассификация.СкопироватьЗапись(0, ссУведомления_Детализация);
        ссУведомления_НоваяКлассификация := СоздатьСтатикСетРасш(ссУведомления_Детализация, ссУведомления_Детализация.Запрос);
        ссУведомления_Классификация.Фильтр := "(ParentId=" + СсылкаНаГруппу + ")and (ProgIndex=316)";
        ссУведомления_НоваяКлассификация.Закачать(ссУведомления_Классификация, "");
         
      конец;
       
  //Получаем исходный документ текущего уведомления (так как связанный документ мы формируем на его основе)
    Прогресс.SetMessage("Получение исходного документа");
      
    ссИсходныеДокументы := ПолучитьИсходныйДокументПоИд(КлассСвязанногоДокумента, -1);

    если ссИсходныеДокументы = nil тогда
     ссИсходныеДокументы := СоздатьСтатическиеДанные;
    если ссИсходныеДокументы.RecordCount = 0 тогда
    начало
      // у уведомления нет исходного документа - придётся нам его формировать самим
      ссЗаголовокУведомления := коллекция.Значение("ссЗаголовокУведомления");
      // требуется заполнять ссылку на исходный документ, если он был с УРМ то  ссылка может быть пустой
      ссЗаголовокУведомления.Поле('OriginalRecordIndex').КакЦелое := коллекция.Значение("СсылкаНаИсходныйДокумент");
      ссИсходныеДокументы.Вставить;
      ЗаменитьПоляПоМаппингу(ссЗаголовокУведомления, ссИсходныеДокументы, "", "", "", "", nil, МаппингПолейЗагловкаУведомлений, Истина);
      если ЭтоНовыйДокумент тогда
        ЗаменитьПоляПоМаппингу(ссУведомления_НоваяКлассификация, ссИсходныеДокументы, "", "", "", "", nil, МаппингДляСинхронизацииДанных, Истина)
      иначе 
        ЗаменитьПоляПоМаппингу(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, "", "", "", "", nil, МаппингДляСинхронизацииДанных, Истина);
      если КлассСвязанногоДокумента = Класс_ВыяснениеНевыясненных тогда
      начало
        если коллекция.значение("КлассИсходногоДокумента") = Класс_ПоступлениеНевыясненных тогда
        начало
          ЗаменитьПоляПоМаппингу(ссЗаголовокУведомления, ссИсходныеДокументы, "", "", "", "", nil, "OriginalRecordIndex=RecordIndex", Истина);
          ссВспомогательный.СоединитьБД;
          ссВспомогательный.Запрос := "
                                      [PumpData]{
                                                 SELECT SubKd   
                                                 From Incomes32 inc
                                                 Where id = @OriginalRecordIndex 
                                                }         
                                     " ;
         ссВспомогательный.Параметр('OriginalRecordIndex') := ссЗаголовокУведомления.Поле('OriginalRecordIndex').какцелое;
         ссВспомогательный.Открыть;
         ЗаменитьПоляПоМаппингу(ссВспомогательный, ссИсходныеДокументы, "", "", "", "", nil, "SubKd=SubKd", Истина)                                      
        конец;
      конец;


      //ищем ссылки на счета при условии что ссылки на счета не указаны
      Если (ссИсходныеДокументы.Поле("AcceptorAcc").Пустое) или (ссИсходныеДокументы.Поле("AcceptorAcc").какстрока = "")  тогда
      начало
        // если поле счет отсутствует то берем его из общих настроек интерфейсов если есть ПЗК
        если (ПолучитьПараметрИзНастроек(4, 0, 'Счет организации по умолчанию при пакетной замене') &gt; "0") тогда
          ссИсходныеДокументы.Поле("AcceptorAcc").КакЦелое := ПолучитьПараметрИзНастроек(4, 0, 'Счет организации по умолчанию при пакетной замене')
        иначе
          начало
                        если ссИсходныеДокументы.Поле("AcceptorAccRef").Пустое тогда
              ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое := ПолучитьКонстантуКЭШ("",-1,2,0);
            ссИсходныеДокументы.Поле("AcceptorAcc").КакСтрока := Разыменовать("р/с.имя",ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое);
          конец;  
      конец;
      
       //ищем ссылки на счета при условии что ссылки на счета не указаны
      Если (ссИсходныеДокументы.Поле("PayerAcc").Пустое) или (ссИсходныеДокументы.Поле("PayerAcc").какстрока = "")  тогда
      начало
        // если поле счет отсутствует то берем его из общих настроек интерфейсов если есть ПЗК
        если (ПолучитьПараметрИзНастроек(4, 0, 'Счет организации по умолчанию при пакетной замене') &gt; "0") тогда
          ссИсходныеДокументы.Поле("PayerAcc").КакЦелое := ПолучитьПараметрИзНастроек(4, 0, 'Счет организации по умолчанию при пакетной замене')
        иначе
          начало
                        если ссИсходныеДокументы.Поле("PayerAccRef").Пустое тогда
              ссИсходныеДокументы.Поле("PayerAccRef").КакЦелое := ПолучитьКонстантуКЭШ("",-1,2,0);
            ссИсходныеДокументы.Поле("PayerAcc").КакСтрока := Разыменовать("р/с.имя",ссИсходныеДокументы.Поле("PayerAccRef").КакЦелое);
          конец;  
      конец;


    
      если ссИсходныеДокументы.Поле("PayerAccRef").Пустое тогда
      начало
        ссылкаНаСчетПлательщика := НайтиССылкуНаСчет(ссИсходныеДокументы.Поле("PayerAcc").КакСтрока);
        если ссылкаНаСчетПлательщика = 0 тогда
          ВызватьОшибку("Значение поля 'Счет плательщика' не найдено в справочнике счетов. Значение: " + ссИсходныеДокументы.Поле("PayerAcc").КакСтрока)
        иначе
          ссИсходныеДокументы.Поле("PayerAccRef").какЦелое := ссылкаНаСЧетПлательщика;
      конец;       
      если ссИсходныеДокументы.Поле("AcceptorAccRef").Пустое тогда
      начало
        ссылкаНаСчетПолучателя := НайтиССылкуНаСчет(ссИсходныеДокументы.Поле("AcceptorAcc").КакСтрока);
        если ссылкаНаСчетПолучателя = 0 тогда
          ВызватьОшибку("Значение поля 'Счет получателя' не найдено в справочнике счетов. Значение: " + ссИсходныеДокументы.Поле("AcceptorAcc").КакСтрока)
        иначе
          ссИсходныеДокументы.Поле("AcceptorAccRef").какЦелое := ссылкаНаСЧетПолучателя;
      конец;       
    конец; 
    
    // для и/ф доходов требуется заполнить ссылку на Организацию
    ссИсходныеДокументы.Поле("AcceptorOrgREf").какЦелое := Разыменовать("р/с.организация", ссИсходныеДокументы.Поле("AcceptorAccRef").какЦелое);  
    ссИсходныеДокументы.Поле("PayerOrgREf").какЦелое := Разыменовать("р/с.организация", ссИсходныеДокументы.Поле("PayerAccRef").какЦелое);
    
    ссЗаголовокУведомления := коллекция.Значение("ссЗаголовокУведомления");
    Коллекция.Значение(ип_КлассНовогоДокумента) := классСвязанногоДокумента;
    Коллекция.Значение(ип_КлассНовогоДокумента_Наименование) := НаименованиеПоКоду(классСвязанногоДокумента);
    Коллекция.Значение('БратьКлассификациюИзЗаголовка') := Истина;
    Коллекция.Значение(ип_КлассКорректирующегоДокумента) := классСвязанногоДокумента;
    Коллекция.Значение(ип_КлассКорректирующегоДокумента_Наименование) := НаименованиеПоКоду(классСвязанногоДокумента);
    Коллекция.Значение('КодРеестраУведомленийКор') := УстановитьРеестрУведомлений(ссЗаголовокУведомления.поле("InputDate").какЦелое,ип_КлассКорректирующегоДокумента,Коллекция);
    Коллекция.Значение('КодРеестраУведомленийНов') := УстановитьРеестрУведомлений(ссЗаголовокУведомления.поле("InputDate").какЦелое,ип_КлассНовогоДокумента,Коллекция);
    
    Прогресс.SetMessage("Формирование связанного документа");
   
    ЕСЛИ (не ф_ЭтоВП(КлассСвязанногоДокумента, истина)) и (не ф_ЭтоВПл(КлассСвязанногоДокумента, истина)) тогда  
      начало
      //Формируем корректирующий и(или) новый документ
        ЕСЛИ ЭтоНовыйДокумент тогда 
          начало  
            СоздатьОдинНовыйДокумент(ссУведомления_НоваяКлассификация, ссИсходныеДокументы, ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок, nil, Коллекция);
            ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_НоваяКлассификация, Коллекция, Истина);
            ДобавитьИдВСписок(ткстСписокИдДокументов, Коллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс), Коллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка));
            СформироватьДопНовДокументы(ссУведомления_НоваяКлассификация, ссУведомления_НоваяКлассификация, ссИсходныеДокументы, ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок, Коллекция, ткстСписокДопДокументов);
            ВыполнитьДопМакросыНадДокументами(Коллекция.Значение(ИмяПараметра_СписокИдНовДокументов)); 
          конец
        ИНАЧЕ
          начало
            СоздатьОдинКорректирующийДокумент(ссУведомления_Детализация, ссИсходныеДокументы, ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок, nil, Коллекция);
            ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_ИсходнаяКлассификация, Коллекция, Истина);
            ДобавитьИдВСписок(ткстСписокИдДокументов, Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс), Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка));
            СформироватьДопКорДокументы(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок, Коллекция, ткстСписокДопДокументов);
            ВыполнитьДопМакросыНадДокументами(Коллекция.Значение(ИмяПараметра_СписокИдКорДокументов));
          конец;
        Сообщение("Был успешно сформирован связанный документ класса '" + НаименованиеСвязанногоДокумента + "'. Более подробная информация есть в окне вывода.");
      конец
    ИНАЧЕ
      //Формируем внутреннюю переброску
      начало
        если ф_ЭтоВП(КлассСвязанногоДокумента, истина) тогда
        начало
          ЗаменитьПоляПоМаппингу(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) + ",FacialAcc_Cls=SourceFacialAcc_Cls", Истина);
          СоздатьВП(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, ссВп, ссВП_Заголовок, Коллекция, Истина);
          ЗаменитьПоляПоМаппингу(ссУведомления_НоваяКлассификация, ссИсходныеДокументы, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) +  ",FacialAcc_Cls=DestFacialAcc_Cls", Истина);
          СоздатьВП(ссУведомления_НоваяКлассификация, ссИсходныеДокументы, ссВп, ссВП_Заголовок, Коллекция, Ложь);                 
          ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_ИсходнаяКлассификация, Коллекция, Ложь);
          ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_НоваяКлассификация, Коллекция, Истина);
          ДобавитьИдВСписок(ткстСписокИдДокументов, Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс), Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка));
          ВыполнитьДопМакросыНадДокументами(Коллекция.Значение(ИмяПараметра_СписокИдНовДокументов));
          Сообщение("Был успешно сформирован связанный документ класса 'Внутренняя переброска расходов'. Более подробная информация есть в окне вывода. ");
        конец
        иначе       // Внутренние платежи
        начало
          // проставим типы классификаций
          ссИсходныеДокументы.Поле('DestClsType').КакЦелое := 2;
          ссИсходныеДокументы.Поле('SourceClsType').КакЦелое := 0;
          ЗаменитьПоляПоМаппингу(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) + ",FacialAcc_Cls=SourceFacialAcc_Cls", Истина);
          СоздатьВПл(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы, ссВПл, ссВПл_Заголовок, Коллекция, Истина);
          ЗаменитьПоляПоМаппингу(ссУведомления_НоваяКлассификация, ссИсходныеДокументы, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) +  ",FacialAcc_Cls=DestFacialAcc_Cls", Истина);
          СоздатьВПл(ссУведомления_НоваяКлассификация, ссИсходныеДокументы, ссВПл, ссВПл_Заголовок, Коллекция, Ложь);                 
          ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_ИсходнаяКлассификация, Коллекция, Ложь);
          ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_НоваяКлассификация, Коллекция, Истина);
          ДобавитьИдВСписок(ткстСписокИдДокументов, Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс), Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка));
          ВыполнитьДопМакросыНадДокументами(Коллекция.Значение(ИмяПараметра_СписокИдНовДокументов));
          Сообщение("Был успешно сформирован связанный документ класса 'Внутренние платежи '. Более подробная информация есть в окне вывода. ");
      конец;
      конец;
   
    //При сохранении UpdateStatus не устанавливается в usModified, поэтому устанавливаем его сами  
    ссУведомления_ИсходнаяКлассификация.UpdateStatus := usModified;
    СохранитьИзменения_(ссУведомления_ИсходнаяКлассификация);
    ссУведомления_НоваяКлассификация.UpdateStatus := usModified;
    СохранитьИзменения_(ссУведомления_НоваяКлассификация);
    СохранитьИзменения_(ссСвязанныйДокумент_Заголовок);
    СохранитьИзменения_(ссСвязанныйДокумент);
    СохранитьИзменения_(ссВП_Заголовок);
    СохранитьИзменения_(ссВП);
    СохранитьИзменения_(ссВПл_Заголовок);
    СохранитьИзменения_(ссВПл);
  обязательно
    Прогресс.EndProgress;
  конец;
конец;


функция ОтклонитьСвязанныеДокументыПоИД(ИдУведомления, КодПричиныОтконения : целое);
переменные 
  ссДанные, ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок : СтатическиеДанные; 
  ЕстьЗаголовок : целое; 
  ПрогиндексСвязанногоДокумента, ПрогиндексДетализации : поле;
начало
  попытка
    // Получаем исходные данные по ID заголовка уведомления
    ссДанные := ПолучитьУведомлениеПоИД(ИдУведомления);
    ПрогиндексСвязанногоДокумента := ссДанные.Поле('DocumentProgIndex');
    ПрогиндексДетализации := ссДанные.Поле('ProgIndex');
    ссДанные.ВНачало;
    Пока не ссДанные.ВКонце делать
    начало
      если ЕстьСвязанныйДокумент(ссДанные) тогда
      начало
        ссСвязанныйДокумент := ПолучитьСвязанныйДокумент(ссДанные);
        Если ссСвязанныйДокумент.RecordCount &lt;&gt; 0 тогда 
        начало
          ссСвязанныйДокумент.Редактировать;
          Если (ссДанные.Поле("DocumentProgIndex").КакЦелое = Класс_ВыяснениеНевыясненных) тогда
            ссСвязанныйДокумент.Поле('Reject_Cls').КакЦелое := КодПричиныОтконения;
          ссСвязанныйДокумент.Сохранить;
          //Если есть заголовок у связанного документа - синхронизируем его 
          ЕстьЗаголовок := ф_ТребуетсяФормироватьЗаголовок(ПрогиндексСвязанногоДокумента.КакЦелое);
          Если ЕстьЗаголовок тогда
          начало
            ссСвязанныйДокумент_Заголовок := ПолучитьСвязанныйДокументЗаголовок(ссДанные);
            // деталь
            ссСвязанныйДокумент.Редактировать;    
            ссСвязанныйДокумент.Поле('Reject_Cls').КакЦелое := КодПричиныОтконения;
            ссСвязанныйДокумент.Сохранить;
            // заголовок
            ссСвязанныйДокумент_Заголовок.Редактировать;
            ссСвязанныйДокумент_Заголовок.Поле('Reject_Cls').какЦелое := КодПричиныОтконения; 
            ссСвязанныйДокумент_Заголовок.Сохранить;
            ссСвязанныйДокумент_Заголовок.СохранитьИзменения;
          конец;
          ссСвязанныйДокумент.СохранитьИзменения;   
        конец;
      конец;
      ссДанные.Next;
    конец;
  обязательно
    УдалитьОбъект(ссДанные,ссСвязанныйДокумент,ссСвязанныйДокумент_Заголовок);
  конец;    
конец;



</value>
    <param value="ФункцииДляСозданияДокументов" type="3" name="Export">DJON2\egorbunov\18.01.2012 11:30:17</param>
    <param value="ФункцииДляСозданияДокументов" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляСозданияДокументов" type="3" name="crc32">$9E773B7A</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляСозданияНестандартныхДокументов">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\ABLTools.lib';      

включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляСвязыванияДокументов';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляПакетнойЗамены';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКазначейскимРеестром';



// выбираем договор для кредитов или ссуд чтобы туда в одну и детализаций запихнуть наш вновь сформированный документ 
функция ВыбратьДоговор(ссНовыйДокументЗаголовок : СтатическиеДанные; Коллекция : IVariables);
переменные 
  Форма: ФормаДиалога;                  // форма, в которую будут выведены полученные данные
  СеткаНаФорме: СеткаДанных;            // сетка на Форме, в которую будут выведены данные
  цц: целое;
  НазваниеИнтерфейса : строка;  
начало
  Если Коллекция.Значение('ЭтоСсуды') = 1 тогда 
    НазваниеИнтерфейса := "'Ссуды юридическим лицам'";
  Если Коллекция.Значение('ЭтоКредиты') = 1 тогда 
    НазваниеИнтерфейса := "'Кредиты от кредитных организаций'";   
  Если ссНовыйДокументЗаголовок.RecordCount = 0 тогда 
    ВызватьОшибку('Нет ни одного договора в интерфейсе ' + НазваниеИнтерфейса + '. Формирование уведомления отменено.');
  //создаём форму диалога. Тут будут договоры 
  Форма := СоздатьФормуДиалога("Поиск договора", 580, 300, Да);    
  СеткаНаФорме := СоздатьСеткуДанных(ссНовыйДокументЗаголовок, Форма);
  // все столбцы сделаем доступными только для чтения
  от цц := 0 до СеткаНаФорме.КоличествоКолонок - 1 делать СеткаНаФорме.Колонка(цц).ТолькоДляЧтения := Да;
  
  ссНовыйДокументЗаголовок.ВНачало;
  Пока не ссНовыйДокументЗаголовок.ВКонце делать 
  начало
    ссНовыйДокументЗаголовок.Поле('InputDateStr').КакСтрока := DateExToStr(ссНовыйДокументЗаголовок.Поле('InputDate').КакЦелое);
    ссНовыйДокументЗаголовок.Next;
  конец;

  СеткаНаФорме.КолонкаПоИмени("DocNumber").Заголовок := "Номер";
  СеткаНаФорме.КолонкаПоИмени("DocNumber").Ширина := 70;
  СеткаНаФорме.КолонкаПоИмени("InputDateStr").Заголовок := "Дата";
  СеткаНаФорме.КолонкаПоИмени("InputDateStr").Ширина := 60;
  СеткаНаФорме.КолонкаПоИмени("OrgName").Заголовок := "Организация";
  СеткаНаФорме.КолонкаПоИмени("OrgName").Ширина := 450;
  // невидимые колонки
  СеткаНаФорме.КолонкаПоИмени("ID").Видима := 0 ;
  СеткаНаФорме.КолонкаПоИмени("InputDate").Видима := 0; 
  СеткаНаФорме.КолонкаПоИмени("Note").Видима := 0;
  СеткаНаФорме.КолонкаПоИмени("Summa").Видима := 0;
                  
  СеткаНаФорме.Выравнивание := Выравнивание_Везде;
  
  Если Форма.Показать&lt;&gt;Результат_ОК тогда 
    начало
      Сообщение('Действие отменено');
      Выход;
    конец; 
конец;

функция ПолучитьСтатикСетыВП(ссВП, ссВпЗаголовок : СтатическиеДанные);
переменные
  локКоллекция: IVariables;
начало
  локКоллекция := CreateVariables;
  попытка
    ЛокКоллекция.Значение('КодЗаписи') := -1;
    ссВП := СоздатьСтатикСет;
    ссВП.CachedUpdates := Истина;
    ссВП.Запрос := ПолучитьЗапрос_КазначействоВП(локКоллекция);
    ссВПЗаголовок := СоздатьСтатикСет;
    ссВПЗаголовок.Запрос := ПолучитьЗапрос_Казначейство_Заголовок_Выбытие(ЛокКоллекция);
    ссВПЗаголовок.CachedUpdates := Истина;
    СформироватьОграничения(ссВП, Класс_ВнутренниеПереброскиРасходов, ЛокКоллекция);
    ссВп.Открыть;
    ЛокКоллекция.Значение('КодЗаписи') := -1;
    СформироватьОграничения(ссВПЗаголовок, Класс_ВнутренниеПереброскиРасходов, ЛокКоллекция);
    ссВпЗаголовок.Открыть;
  обязательно
    УдалитьОбъект(локКоллекция);
  конец;
конец;

функция ДругаяСторонаВП(КлассИсходногоДОкумента : целое) : целое;
начало
  Если КлассИсходногоДокумента =  Класс_ВП_Выбытие  тогда 
    Результат := Класс_ВП_Поступление
  иначе 
    Результат := Класс_ВП_Выбытие;  
конец;

// находим префикс для маппинга 
функция ВернутьПрефикс(Коллекция : IVariables) : строка;
переменные
  ПрямаяОперация, КлассИсходногоДокумента : целое;  
начало
  ПрямаяОперация := Коллекция.Значение('ПрямаяОперация');
  КлассИсходногоДокумента := Коллекция.Значение("КлассИсходногоДокументаДляВП");
  Результат := '';
  Если ПрямаяОперация и (КлассИсходногоДокумента=Класс_ВП_Выбытие) тогда Результат := 'Dest'  иначе  
    Если ПрямаяОперация и (КлассИсходногоДокумента=Класс_ВП_Поступление) тогда Результат := 'Source'  иначе  
      Если (не ПрямаяОперация) и (КлассИсходногоДокумента=Класс_ВП_Выбытие) тогда Результат := 'Source'  иначе  
        Если (не ПрямаяОперация и (КлассИсходногоДокумента=Класс_ВП_Поступление)) тогда Результат := 'Dest' иначе
          если ПрямаяОперация тогда результат := "Dest" 
          иначе результат := "source";  
конец;

функция ВернутьПрефиксВПл(Коллекция : IVariables) : строка;
переменные
  ПрямаяОперация, КлассИсходногоДокумента : целое;  
начало
  ПрямаяОперация := Коллекция.Значение('ПрямаяОперация');
  КлассИсходногоДокумента := Коллекция.Значение("КлассИсходногоДокументаДляВПл");
  Результат := '';
  Если ПрямаяОперация и (КлассИсходногоДокумента=Класс_ВПл_Выбытие) тогда Результат := 'Source'  иначе  
    Если ПрямаяОперация и (КлассИсходногоДокумента=Класс_ВПл_Поступление) тогда Результат := 'Dest'  иначе  
      Если (не ПрямаяОперация) и (КлассИсходногоДокумента=Класс_ВПл_Выбытие) тогда Результат := 'Dest'  иначе  
        Если (не ПрямаяОперация и (КлассИсходногоДокумента=Класс_ВПл_Поступление)) тогда Результат := 'Source' иначе
          если ПрямаяОперация тогда результат := "source" 
          иначе результат := "Dest";  
конец;

функция ВернутьНовоеНаправлениеОперацииВП(НаправлениеОперации : Целое; исходныеДокументы: СтатическиеДанные; Коллекция : Ivariables) : целое;
переменные 
  КлассНовогоДокумента, Группа_ИсходногоДокумента: целое;
начало
  Результат := НаправлениеОперации; // по умолчанию тоже самое
  КлассНовогоДокумента := Коллекция.Значение(ип_КлассНовогоДокумента);
  Группа_ИсходногоДокумента := ПолучитьГруппуПоКлассу(Коллекция.Значение(ип_КлассИсходногоДокумента));  
  ЕСЛИ не ф_ЭтоВП(КлассНовогоДокумента) тогда 
    начало
      Выбрать КлассНовогоДокумента из
        Класс_ПриходОтПрочих,
        Класс_ПриходПоОбъявлениям : Результат := 3; // восстановление расхода
      конец;
    конец
  ИНАЧЕ 
    начало
      // если мы формируем вп на основе вп тогда в направлении операции мы должны поставить обратную операцию
      ЕСЛИ не ф_ЭтоВп(Коллекция.Значение(ип_КлассИсходногоДокумента)) тогда 
      начало
        Если Группа_ИсходногоДокумента = Группа_КазначействоВыбытие тогда  
          Результат := 1;
        Если Группа_ИсходногоДокумента = Группа_КазначействоПоступление тогда
        начало  
          если ((Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ПриходОтПрочих) или (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ПодтверждениеВозвратаСоСчетовДляНаличности)) и
               (исходныеДокументы.Поле('clsTYpe').какцелое = тк_Расходная)
          тогда
            Результат := 1
          иначе  
            Результат := 2;
        конец;        
      конец; 
    конец;  // конец это вп
конец;

функция ВернутьНовоеНаправлениеОперацииВПл(НаправлениеОперации : Целое; исходныеДокументы: СтатическиеДанные; Коллекция : Ivariables) : целое;
переменные 
  КлассНовогоДокумента, Группа_ИсходногоДокумента: целое;
начало
  Результат := НаправлениеОперации; // по умолчанию тоже самое
  КлассНовогоДокумента := Коллекция.Значение(ип_КлассНовогоДокумента);
  Группа_ИсходногоДокумента := ПолучитьГруппуПоКлассу(Коллекция.Значение(ип_КлассИсходногоДокумента));  
  ЕСЛИ не ф_ЭтоВПл(КлассНовогоДокумента) тогда 
    начало
      Выбрать КлассНовогоДокумента из
        Класс_ПриходОтПрочих,
        Класс_ПриходПоОбъявлениям : Результат := 3; // восстановление расхода
      конец;
    конец
  ИНАЧЕ 
    начало
      // если мы формируем вп на основе вп тогда в направлении операции мы должны поставить обратную операцию
      ЕСЛИ не ф_ЭтоВпл(Коллекция.Значение(ип_КлассИсходногоДокумента)) тогда 
      начало
        Если Группа_ИсходногоДокумента = Группа_КазначействоВыбытие тогда  
          Результат := 1;
        Если Группа_ИсходногоДокумента = Группа_КазначействоПоступление тогда
        начало  
          если ((Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ПриходОтПрочих) или (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ПодтверждениеВозвратаСоСчетовДляНаличности)) и
               (исходныеДокументы.Поле('clsTYpe').какцелое = тк_Расходная)
          тогда
            Результат := 1
          иначе  
            Результат := 2;
        конец;        
      конец; 
    конец;  // конец это вп
конец;


функция ЗаполнитьПоляПоТаблицеПодстановок(ссИсходныеДокументы, ссНовыйДокумент, ссУведомления_Классификация : СтатическиеДанные; МаппингПолейДляСверки, МаппингПолейДляЗамены : Строка);
переменные
  ПрефиксСчета, русПолеВТаблицеПодстановок, ангПолеВИсходныхДокументах, ангПолеВДокументах, ПрефиксСчетаРус : строка;
  СписокПолей_Замена, СписокПолей_Сверка: текст;
  Счетчик, УсловияФильтраВыполнены,НаправлениеОперации : целое;
  ТаблицаПодстановок : СтатическиеДанные;  
начало
  // определяем префикс полей. Например, для платежек это Source, а для разассигновки это Dest
  Если ВходитВГруппу(ссНовыйДокумент.Поле('Progindex').КакЦелое,Группа_Поступление) тогда
  начало
    ПрефиксСчета := 'Dest';
    ПрефиксСчетаРус := '_получ_нов';
  конец
  иначе
  начало 
    ПрефиксСчета := 'Source';
    ПрефиксСчетаРус := '_плат_нов';
  конец;
  СписокПолей_Сверка := СоздатьТекст;
  СписокПолей_Сверка.РазделенноеЗначение := МаппингПолейДляСверки;
  СписокПолей_Замена := СоздатьТекст;
  СписокПолей_Замена.РазделенноеЗначение := МаппингПолейДляЗамены;
  ТаблицаПодстановок := СоздатьДанныеИзРеестра(ПутьКТаблицеПодстановок,'ТаблицаПодстановок');
  ТаблицаПодстановок.Фильтр := 'класс = ' + ссНовыйДокумент.Поле('Progindex').КакСтрока;
  ТаблицаПодстановок.Открыть;
  если ((ссНовыйДокумент.Поле('Progindex').КакСтрока = "888") или (ссНовыйДокумент.Поле('Progindex').КакСтрока = "999")) и (ТаблицаПодстановок.RecordCount = 0) тогда
  начало
    ТаблицаПодстановок.Закрыть;
    ТаблицаПодстановок.Фильтр := 'класс = 66';
    ТаблицаПодстановок.Открыть;                                                                   
  конец;
  если ((ссНовыйДокумент.Поле('Progindex').КакСтрока = "444") или (ссНовыйДокумент.Поле('Progindex').КакСтрока = "555")) и (ТаблицаПодстановок.RecordCount = 0) тогда
  начало
    ТаблицаПодстановок.Закрыть;
    ТаблицаПодстановок.Фильтр := 'класс = 67';
    ТаблицаПодстановок.Открыть;                                                                   
  конец;
  ТаблицаПодстановок.Вначало;
  пока не ТаблицаПодстановок.Вконце делать
  начало
 //   ПроверитьЗначенияКлассификаторовНаНаличиеВСправочниках(кСписокПолейКлассификаторовСРазыменовками,ТаблицаПодстановок);
    УсловияФильтраВыполнены := да;              
    // фильтруем исходные документы по текущей строке с условиями (левая часть таблицы подстановки) 
    от счетчик := 1 до (СписокПолей_Сверка.Количество - 1) делать
    начало
      русПолеВТаблицеПодстановок := СписокПолей_Сверка.ИмяПараметра(Счетчик);
      ангПолеВИсходныхДокументах := СписокПолей_Сверка.ЗначениеПараметра(русПолеВТаблицеПодстановок);
      если ТаблицаПодстановок.Поле(русПолеВТаблицеПодстановок).КакСтрока &lt;&gt; '' и ссИсходныеДокументы.НайтиПоле(ангПолеВИсходныхДокументах) &lt;&gt; 0 тогда
        если СтрокаВЦелое(ТаблицаПодстановок.Поле(русПолеВТаблицеПодстановок).КакСтрока) &lt;&gt; СтрокаВЦелое(ссИсходныеДокументы.Поле(ангПолеВИсходныхДокументах).КакСтрока) тогда
          УсловияФильтраВыполнены := нет;
    конец;
    // фильтруем по направлению только для источниковой классификации
    Если ссНовыйДокумент.Поле('ClsType').КакЦелое = тк_Источниковая тогда
    начало
      НаправлениеОперации := ОпределитьНаправлениеИсточниковойКлассификации(ссИсходныеДокументы);
      Если ТаблицаПодстановок.Поле('Погашение').КакЦелое &lt;&gt; НаправлениеОперации тогда
        УсловияФильтраВыполнены := нет;
    конец;    
    // Если данный исходный документ удовлетворяет условиям, то проставляем значения полей в новый документ                                           
    если УсловияФильтраВыполнены тогда 
    начало
      ПроверитьЗначенияКлассификаторовНаНаличиеВСправочниках(СписокПолейКлассификаторовСРазыменовками,ТаблицаПодстановок);
      от счетчик := 0 до (СписокПолей_Замена.Количество - 1) делать
      начало
        русПолеВТаблицеПодстановок := СписокПолей_Замена.ИмяПараметра(Счетчик);
        ангПолеВДокументах := СписокПолей_Замена.ЗначениеПараметра(русПолеВТаблицеПодстановок);
        если (ТаблицаПодстановок.Поле(русПолеВТаблицеПодстановок + '_нов').КакСтрока &lt;&gt; '') и (ссНовыйДокумент.НайтиПоле(ангПолеВДокументах) &lt;&gt; 0) тогда
        начало
          ссНовыйДокумент.Поле(ангПолеВДокументах).КакСтрока := ТаблицаПодстановок.Поле(русПолеВТаблицеПодстановок + '_нов').КакСтрока;
          если ссУведомления_Классификация.НайтиПоле(ангПолеВДокументах) &lt;&gt; nil тогда
          начало
            ссУведомления_Классификация.Поле(ангПолеВДокументах).КакСтрока := ТаблицаПодстановок.Поле(русПолеВТаблицеПодстановок + '_нов').КакСтрока;
          конец;
        конец;
      конец;
      Если (ссНовыйДокумент.НайтиПоле('FacialAcc_CLS') &lt;&gt; nil) и (ссНовыйДокумент.НайтиПоле(ПрефиксСчета + 'FacialAcc_CLS') &lt;&gt; nil) и (ТаблицаПодстановок.Поле('ЛицСчет' + ПрефиксСчетаРус).КакСтрока &lt;&gt;'') тогда  
        ссНовыйДокумент.Поле('Facialacc_cls').КакСтрока := ссНовыйДокумент.Поле(ПрефиксСчета + 'Facialacc_Cls').КакСтрока;
      Если (ссУведомления_Классификация.НайтиПоле('FacialAcc_CLS') &lt;&gt; nil) и (ТаблицаПодстановок.Поле('ЛицСчет' + ПрефиксСчетаРус).КакСтрока &lt;&gt;'') тогда        
        ссУведомления_Классификация.Поле('Facialacc_cls').КакСтрока := ссНовыйДокумент.Поле(ПрефиксСчета + 'Facialacc_Cls').КакСтрока;
    конец;
    ТаблицаПодстановок.Следующая;
  конец;
конец;

функция СоздатьЗаголовокВП(ссУведомления_Классификация, ссИсходныеДанные, ссВПЗаголовок : СтатическиеДанные; Коллекция : IVariables);
переменные
  Состояние, Постфикс : строка;
  Узел : УзелРеестра;
  Счет, счетДляОбменаЗначений : целое;
  СчетИзНастроек : строка;  
начало
  Если Коллекция.Значение("ПрямаяОперация") тогда 
    ссВПЗаголовок.Вставить;
                 
  Для ссВпЗаголовок делать 
  начало
    ЕСЛИ Коллекция.Значение('ПрямаяОперация') тогда 
      начало
      //*1_1*Простое заполнение полей --- начало
        ЗаменитьПоляПоМаппингу(ссИсходныеДанные, ссВпЗаголовок, '', '', '', '', nil, ПолныйМаппингДокумента(Ложь, Истина) + ',Nds=Nds', ложь);
        .Поле('ID').КакЦелое := ГенерироватьДиап('G_Shared', 1);
        .Поле('Note').КакСтрока := 'уточнение';
        .Поле('DOCNUMBER').КакСтрока := Коллекция.Значение('НомерУведомления');
        .Поле('ProgIndex').КакЦелое := Класс_ВнутренниеПереброскиРасходов;
        .Поле('Inputdate').КакСтрока := ОбычнаяДатавРасшир(ТекущаяДата);
        .Поле('OperationDirection').КакЦелое := ВернутьНовоеНаправлениеОперацииВП(.Поле('OperationDirection').КакЦелое, ссИсходныеДанные, Коллекция);
        .Поле('Summa').КакДробное :=  Мод(ссУведомления_Классификация.Поле('Summa').КакДробное); 
        Коллекция.Значение('НаправлениеОперации') := .Поле('OperationDirection').КакЦелое;      
//      .Поле('Reestr_Ref').КакСтрока := Коллекция.Значение('КодРеестраУведомлений');
        .Поле('Reestr_Ref').КакСтрока := УстановитьРеестрУведомлений(ОбычнаяДатавРасшир(ТекущаяДата),'ВП',Коллекция); 
        // если у нас не формируются уведомления - тогда мы должны сразу принять переброску
        Если не Коллекция.Значение('ФормироватьУведомления') тогда 
          .Поле('AcceptDate').КакСтрока := .Поле('Inputdate').КакСтрока;
        Коллекция.Значение('СсылкаНаЗаголовокВП') := .Поле('ID').КакЦелое;
        Если Позиция('груп', Коллекция.Значение('НомерУведомления')) &lt;&gt; -1 тогда 
          ссИсходныеДанные.Поле('DocNumber').КакСтрока := Коллекция.Значение('НомерУведомления');  
      //*1_1*Простое заполнение полей --- конец   
      
      //*1_2*Заполнение полей из настроек --- начало  
        Счет := НайтиОсновнойСчетПоБюджету(.Поле('BudgetRef').КакЦелое);
        СчетИзНастроек := ПолучитьСсылкуПоСчету(ПолучитьПараметрИзНастроек(4, 0, 'Счет организации по умолчанию при пакетной замене'));
        // меняем местами счета, если уведомление по поступлениям
        если Коллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений тогда
        начало
         счетДляОбменаЗначений := .Поле('PayerAccREf').какцелое;
         .Поле('PayerAccREf').какцелое := .Поле('AcceptorAccREf').какцелое;
         .Поле('AcceptorAccREf').какцелое := счетДляОбменаЗначений;
        конец; 
      
        // заполняем поля расчетных счетов основным счетом соответствующего бюджета, если они непустые            
        Если (.Поле('PayerAccREf').КакСтрока = '') тогда                           
        начало
          если (СчетИзНастроек&lt;&gt;'') тогда 
            .Поле('PayerAccREf').КакЦелое := СчетИзНастроек
          иначе 
            .Поле('PayerAccREf').КакЦелое := Счет;
        конец;
       
        Если (.Поле('AcceptorAccRef').КакСтрока = '') тогда 
        начало
          если (СчетИзНастроек&lt;&gt;'') тогда 
            .Поле('AcceptorAccRef').КакЦелое := СчетИзНастроек
          иначе 
            .Поле('AcceptorAccRef').КакЦелое := Счет;
        конец
        иначе 
          .Поле('AcceptorAccRef').КакЦелое := .Поле('PayerAccREf').КакЦелое;   
          
        //--//       
        Если Коллекция.Значение('ФормироватьУведомления') тогда 
          Постфикс := ПостфиксДляНачСостояния
        иначе 
          Постфикс := ПостфиксДляКонСостояния;
        //--//  
        Состояние := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(Класс_ВнутренниеПереброскиРасходов) + Постфикс);
        Если (Состояние&lt;&gt;'') и (Состояние&lt;&gt;'0') тогда 
          .Поле('DocStateRef').КакСтрока := Состояние
        иначе 
          .Поле('DocStateRef').КакСтрока := '';
        попытка 
          Узел := Реестр.Узел(ПутьКНастройкамЗначенийНовыхПолей + ЦелоеВСтроку(66));
          Если Узел.Значение(ИмяПоляБухПроводка).КакСтрока &lt;&gt; '' тогда 
            .Поле('BuhPaymentCls').КакСтрока := Узел.Значение(ИмяПоляБухПроводка).КакСтрока;
          Если Узел.Значение(ИмяПоляОчередность).КакСтрока &lt;&gt; '' тогда 
            .Поле('PayPriority').КакСтрока := Узел.Значение(ИмяПоляОчередность).КакСтрока;
          Если Узел.Значение(ИмяПоляВидОперации).КакСтрока &lt;&gt; '' тогда 
           .Поле('TypeOperationCls').КакСтрока := Узел.Значение(ИмяПоляВидОперации).КакСтрока;
        неудача
        конец;
      //*1_2*Заполнение полей из настроек --- конец  
      конец 
    ИНАЧЕ 
      начало // обработка второй части внутренней переброски 
        Если Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВП_Выбытие  тогда 
          .Поле('FacialAcc_Cls').КакЦелое := ссИсходныеДанные.Поле('FacialAcc_Cls').КакЦелое;
        Если Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВП_Поступление тогда 
          .Поле('DestFacialAcc_Cls').КакЦелое := ссИсходныеДанные.Поле('FacialAcc_Cls').КакЦелое;      
      конец;
  конец;

  Коллекция.Значение("СсылкаНаЗаголовокВП") := ссВПЗаголовок.Поле("ID").КакЦелое;
  
  Если не Коллекция.Значение("ПрямаяОперация") тогда 
    ссВПЗаголовок.Сохранить;
конец;

функция СоздатьДетализациюВП(ссУведомления_Классификация, ссИсходныеДанные, ссВП : СтатическиеДанные; Коллекция : IVariables);
переменные
  НаименованиеКласса, Операция : строка;
начало
  Если Коллекция.Значение("ПрямаяОперация") тогда 
    ссВП.Вставить;
    
  Для ссВП делать
  начало 
    Если Коллекция.Значение('ПрямаяОперация') тогда 
      начало
      //*1_1*Простое заполнение полей --- начало
        .Поле('ID').КакЦелое := ГенерироватьДиап('G_Shared', 1);
        .Поле('DocNumber').КакСтрока := ссИсходныеДанные.Поле('DocNumber').КакСтрока;
        .Поле('Note').КакСтрока := 'уточнение' + ссИсходныеДанные.Поле('DocNumber').КакСтрока;
        .Поле('Inputdate').КакСтрока := ОбычнаяДатавРасшир(ТекущаяДата);
        .Поле('OperationDirection').КакСтрока := Коллекция.Значение('НаправлениеОперации');
        .Поле('ProgIndex').КакЦелое := Класс_ВнутренниеПереброскиРасходов;
        .Поле('BudgetRef').КакЦелое := ссИсходныеДанные.Поле('BudgetRef').КакЦелое; 
        .Поле('RecordIndex').КакЦелое := Коллекция.Значение('СсылкаНаЗаголовокВП');
        .Поле('BuhpaymentCls').КакСтрока := ссИсходныеДанные.Поле('BuhPaymentCls').КакСтрока;
        .Поле('BuhOperationCls').КакСтрока := ссИсходныеДанные.Поле('BuhOperationCls').КакСтрока;
        .Поле('Summa').КакДробное := Мод(ссУведомления_Классификация.Поле('Summa').КакДробное);    
        .Поле('MemOrderNum').КакЦелое := ГенерироватьДиап('GEN_KAZN_MEMORDER', 1);
        .Поле('ClsType').КакЦелое := ссИсходныеДанные.Поле('ClsType').КакЦелое;
        .Поле('DestPromise').КакСтрока := ссУведомления_Классификация.Поле('Promise').КакСтрока;
        .Поле('DestBudgetPromise').КакСтрока := ссУведомления_Классификация.Поле('BudgetPromise').КакСтрока;
        .Поле('DestExecDoc').КакСтрока := ссУведомления_Классификация.Поле('ExecDoc').КакСтрока;
      //*1_1*Простое заполнение полей --- конец
      
      //*1_2*Заполнение полей из настроек --- начало  
         НаименованиеКласса := НаименованиеПоКоду(Класс_ВнутренниеПереброскиРасходов);
         // Если установлена какая нибудь операция в настройках - тогда ставим её
         Операция := ПолучитьПараметрИзНастроек(4, 0, НаименованиеКласса);
         Если Операция&lt;&gt;'0' тогда 
           .Поле('BuhOperationCls').КакСтрока := Операция;
      //*1_2*Заполнение полей из настроек --- конец     
      конец
      иначе
      начало
        .Поле('SourcePromise').КакСтрока := ссУведомления_Классификация.Поле('Promise').КакСтрока;
        .Поле('SourceBudgetPromise').КакСтрока := ссУведомления_Классификация.Поле('BudgetPromise').КакСтрока;
        .Поле('SourceExecDoc').КакСтрока := ссУведомления_Классификация.Поле('ExecDoc').КакСтрока;
      конец;
    ЗаменитьПоляПоМаппингу(ссИсходныеДанные, ссВП, '', ВернутьПрефикс(Коллекция), '', '', nil, МаппингКлКтаблицеЗамены(4), ложь);
  конец;
  
  Если не Коллекция.Значение("ПрямаяОперация") тогда 
    ссВП.Сохранить;
конец;

функция СоздатьЗаголовокВПл(ссУведомления_Классификация, ссИсходныеДанные, ссВПлЗаголовок : СтатическиеДанные; Коллекция : IVariables);
переменные
  Состояние, Постфикс : строка;
  Узел : УзелРеестра;
  Счет, счетДляОбменаЗначений : целое;
  СчетИзНастроек : строка;  
начало
  Если Коллекция.Значение("ПрямаяОперация") тогда 
    ссВПлЗаголовок.Вставить;
                 
  Для ссВплЗаголовок делать 
  начало
    ЕСЛИ Коллекция.Значение('ПрямаяОперация') тогда 
      начало
      //*1_1*Простое заполнение полей --- начало
        ЗаменитьПоляПоМаппингу(ссИсходныеДанные, ссВплЗаголовок, '', '', '', '', nil, ПолныйМаппингДокумента(Ложь, Истина) + ',Nds=Nds', ложь);
        .Поле('ID').КакЦелое := ГенерироватьДиап('G_Shared', 1);
        .Поле('Note').КакСтрока := 'уточнение';
        .Поле('DOCNUMBER').КакСтрока := Коллекция.Значение('НомерУведомления');
        .Поле('ProgIndex').КакЦелое := Класс_ВнутренниеПлатежиРасходов;
        .Поле('Inputdate').КакСтрока := ОбычнаяДатавРасшир(ТекущаяДата);
        .Поле('OperationDirection').КакЦелое := ВернутьНовоеНаправлениеОперацииВПл(.Поле('OperationDirection').КакЦелое, ссИсходныеДанные, Коллекция);
        .Поле('Summa').КакДробное :=  Мод(ссУведомления_Классификация.Поле('Summa').КакДробное); 
        Коллекция.Значение('НаправлениеОперации') := .Поле('OperationDirection').КакЦелое;      
//      .Поле('Reestr_Ref').КакСтрока := Коллекция.Значение('КодРеестраУведомлений');
        .Поле('Reestr_Ref').КакСтрока := УстановитьРеестрУведомлений(ОбычнаяДатавРасшир(ТекущаяДата),'ВП',Коллекция); 
        // если у нас не формируются уведомления - тогда мы должны сразу принять переброску
        Если не Коллекция.Значение('ФормироватьУведомления') тогда 
          .Поле('AcceptDate').КакСтрока := .Поле('Inputdate').КакСтрока;
        Коллекция.Значение('СсылкаНаЗаголовокВПл') := .Поле('ID').КакЦелое;
        Если Позиция('груп', Коллекция.Значение('НомерУведомления')) &lt;&gt; -1 тогда 
          ссИсходныеДанные.Поле('DocNumber').КакСтрока := Коллекция.Значение('НомерУведомления');  
      //*1_1*Простое заполнение полей --- конец   
      
      //*1_2*Заполнение полей из настроек --- начало  
        Счет := НайтиОсновнойСчетПоБюджету(.Поле('BudgetRef').КакЦелое);
        СчетИзНастроек := ПолучитьСсылкуПоСчету(ПолучитьПараметрИзНастроек(4, 0, 'Счет организации по умолчанию при пакетной замене'));
        // меняем местами счета, если уведомление по поступлениям
        если Коллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений тогда
        начало
         счетДляОбменаЗначений := .Поле('PayerAccREf').какцелое;
         .Поле('PayerAccREf').какцелое := .Поле('AcceptorAccREf').какцелое;
         .Поле('AcceptorAccREf').какцелое := счетДляОбменаЗначений;
        конец; 
      
        // заполняем поля расчетных счетов основным счетом соответствующего бюджета, если они непустые            
        Если (.Поле('PayerAccREf').КакСтрока = '') тогда                           
        начало
          если (СчетИзНастроек&lt;&gt;'') тогда 
            .Поле('PayerAccREf').КакЦелое := СчетИзНастроек
          иначе 
            .Поле('PayerAccREf').КакЦелое := Счет;
        конец;
       
        Если (.Поле('AcceptorAccRef').КакСтрока = '') тогда 
        начало
          если (СчетИзНастроек&lt;&gt;'') тогда 
            .Поле('AcceptorAccRef').КакЦелое := СчетИзНастроек
          иначе 
            .Поле('AcceptorAccRef').КакЦелое := Счет;
        конец
        иначе 
          .Поле('AcceptorAccRef').КакЦелое := .Поле('PayerAccREf').КакЦелое;   
          
        //--//       
        Если Коллекция.Значение('ФормироватьУведомления') тогда 
          Постфикс := ПостфиксДляНачСостояния
        иначе 
          Постфикс := ПостфиксДляКонСостояния;
        //--//  
        Состояние := ПолучитьПараметрИзНастроек(4, 0, НаименованиеПоКоду(Класс_ВнутренниеПереброскиРасходов) + Постфикс);
        Если (Состояние&lt;&gt;'') и (Состояние&lt;&gt;'0') тогда 
          .Поле('DocStateRef').КакСтрока := Состояние
        иначе 
          .Поле('DocStateRef').КакСтрока := '';
        попытка 
          Узел := Реестр.Узел(ПутьКНастройкамЗначенийНовыхПолей + ЦелоеВСтроку(66));
          Если Узел.Значение(ИмяПоляБухПроводка).КакСтрока &lt;&gt; '' тогда 
            .Поле('BuhPaymentCls').КакСтрока := Узел.Значение(ИмяПоляБухПроводка).КакСтрока;
          Если Узел.Значение(ИмяПоляОчередность).КакСтрока &lt;&gt; '' тогда 
            .Поле('PayPriority').КакСтрока := Узел.Значение(ИмяПоляОчередность).КакСтрока;
          Если Узел.Значение(ИмяПоляВидОперации).КакСтрока &lt;&gt; '' тогда 
           .Поле('TypeOperationCls').КакСтрока := Узел.Значение(ИмяПоляВидОперации).КакСтрока;
        неудача
        конец;
      //*1_2*Заполнение полей из настроек --- конец  
      конец 
    ИНАЧЕ 
      начало // обработка второй части внутренней переброски 
        Если Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВПл_Выбытие  тогда 
          .Поле('FacialAcc_Cls').КакЦелое := ссИсходныеДанные.Поле('FacialAcc_Cls').КакЦелое;
        Если Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВПл_Поступление тогда 
          .Поле('DestFacialAcc_Cls').КакЦелое := ссИсходныеДанные.Поле('FacialAcc_Cls').КакЦелое;      
      конец;
  конец;

  Коллекция.Значение("СсылкаНаЗаголовокВПл") := ссВПлЗаголовок.Поле("ID").КакЦелое;
  
  Если не Коллекция.Значение("ПрямаяОперация") тогда 
    ссВПлЗаголовок.Сохранить;
конец;

функция СоздатьДетализациюВПл(ссУведомления_Классификация, ссИсходныеДанные, ссВПл : СтатическиеДанные; Коллекция : IVariables);
переменные
  НаименованиеКласса, Операция : строка;
начало
  Если Коллекция.Значение("ПрямаяОперация") тогда 
    ссВПл.Вставить;
    
  Для ссВПл делать
  начало 
    Если Коллекция.Значение('ПрямаяОперация') тогда 
      начало
      //*1_1*Простое заполнение полей --- начало
        .Поле('ID').КакЦелое := ГенерироватьДиап('G_Shared', 1);
        .Поле('DocNumber').КакСтрока := ссИсходныеДанные.Поле('DocNumber').КакСтрока;
        .Поле('Note').КакСтрока := 'уточнение' + ссИсходныеДанные.Поле('DocNumber').КакСтрока;
        .Поле('Inputdate').КакСтрока := ОбычнаяДатавРасшир(ТекущаяДата);
        .Поле('OperationDirection').КакСтрока := Коллекция.Значение('НаправлениеОперации');
        .Поле('ProgIndex').КакЦелое := Класс_ВнутренниеПлатежиРасходов;
        .Поле('BudgetRef').КакЦелое := ссИсходныеДанные.Поле('BudgetRef').КакЦелое; 
        .Поле('RecordIndex').КакЦелое := Коллекция.Значение('СсылкаНаЗаголовокВПл');
        .Поле('BuhpaymentCls').КакСтрока := ссИсходныеДанные.Поле('BuhPaymentCls').КакСтрока;
        .Поле('BuhOperationCls').КакСтрока := ссИсходныеДанные.Поле('BuhOperationCls').КакСтрока;
        .Поле('Summa').КакДробное := Мод(ссУведомления_Классификация.Поле('Summa').КакДробное);    
        .Поле('MemOrderNum').КакЦелое := ГенерироватьДиап('GEN_KAZN_MEMORDER', 1);
        .Поле('DestClsType').КакЦелое := ссИсходныеДанные.Поле('ClsType').КакЦелое;
        .Поле('ClsType').КакЦелое := ссИсходныеДанные.Поле('ClsType').КакЦелое;
      //*1_1*Простое заполнение полей --- конец
      
      //*1_2*Заполнение полей из настроек --- начало  
         НаименованиеКласса := НаименованиеПоКоду(Класс_ВнутренниеПлатежиРасходов);
         // Если установлена какая нибудь операция в настройках - тогда ставим её
         Операция := ПолучитьПараметрИзНастроек(4, 0, НаименованиеКласса);
         Если Операция&lt;&gt;'0' тогда 
           .Поле('BuhOperationCls').КакСтрока := Операция;
      //*1_2*Заполнение полей из настроек --- конец     
      конец;
    ЗаменитьПоляПоМаппингу(ссИсходныеДанные, ссВПл, '', ВернутьПрефиксВПл(Коллекция), '', '', nil, МаппингКлКтаблицеЗамены(4), ложь);
  конец;
  
  Если не Коллекция.Значение("ПрямаяОперация") тогда 
    ссВПл.Сохранить;
конец;


// если на входе вппостуление то возвращается впвыбытие, и наоборот
функция ВП_Обратно(ИсходныйКласс : целое) : целое;
начало
  Если ИсходныйКласс = Класс_ВП_Поступление тогда 
    Результат := Класс_ВП_Выбытие
  иначе 
    Результат := Класс_ВП_Поступление;
конец;

// если на входе вппостуление то возвращается впвыбытие, и наоборот
функция ВПл_Обратно(ИсходныйКласс : целое) : целое;
начало
  Если ИсходныйКласс = Класс_ВПл_Поступление тогда 
    Результат := Класс_ВПл_Выбытие
  иначе 
    Результат := Класс_ВПл_Поступление;
конец;


// ПрямаяОперация - оформляется корректировка по старой классификации
// для выбытий  - соответветственно зачисление(dest)
// для поступлений - выбытие (source)
// Если прямаяОперация = Ложь - тогда осуществляется обработная операция
функция СоздатьВП(ссУведомления_Классификация, сс_ИсходныеДокументы, ссВп, ссВпЗаголовок : СтатическиеДанные; Коллекция : Ivariables; ПрямаяОперация : целое);
переменные
  ЛокКоллекция : IVariables;
  КлассИсходногоДокумента, Группа : целое;
начало
//Инициализация переменных
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  //Определение класса исходного документа
  ЛокКоллекция.Значение('ФормироватьУведомления') := Истина;  
    КлассИсходногоДокумента := ЛокКоллекция.Значение(ип_КлассИсходногоДокумента);
    // для корректного формирования ВП
    Если коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда
      Коллекция.Значение(ип_КлассНовогоДокумента) := Класс_ВП_Поступление
    иначе
      Коллекция.Значение(ип_КлассНовогоДокумента) := Класс_ВП_Выбытие;
    Если не ф_ЭтоВп(КлассИсходногоДокумента) 
    тогда 
      начало
        Группа := ПолучитьГруппуПоКлассу(КлассИсходногоДокумента);
        Выбрать Группа из
          Группа_КазначействоВыбытие, Группа_Финансирование : КлассИсходногоДокумента := Класс_ВП_Выбытие;
          Группа_КазначействоПоступление : КлассИсходногоДокумента := Класс_ВП_Поступление;
          Группа_Уведомления : начало
                                 если КлассИсходногоДокумента = Класс_УточнениеВыбытий тогда
                                   КлассИсходногоДокумента := Класс_ВП_Выбытие
                                 иначе
                                   КлассИсходногоДокумента := Класс_ВП_Поступление;       
                               конец;   
          иначе 
            ВызватьОшибку('СоздатьВП: внутренняя переброска может создаваться только на основе документов казначейства. Класс - ' + ПолучитьНаименованиеДляДиалога(КлассИсходногоДокумента));
        конец;
      конец;
    ЛокКоллекция.Значение("КлассИсходногоДокументаДляВП") := КлассИсходногоДокумента;  
 
  ПОПЫТКА
//Формирование ВП  
    ЛокКоллекция.Значение('ПрямаяОперация') := ПрямаяОперация;
    СоздатьЗаголовокВП(ссУведомления_Классификация, сс_ИсходныеДокументы, ссВпЗаголовок, ЛокКоллекция);
    СоздатьДетализациюВП(ссУведомления_Классификация, сс_ИсходныеДокументы, ссВп, ЛокКоллекция);
    // заполняем служебную информацию для уведомлений 
    Если ПрямаяОперация=Ложь тогда 
      начало
        Если ЛокКоллекция.Значение('ФормироватьУведомления') тогда 
          начало
            ЗаполнитьПоляПоТаблицеПодстановок(сс_ИсходныеДокументы,ссВп,ссУведомления_Классификация,СписокПолейДляСверкиПриФормировании,СписокПолейДляПодстановокДет);
            ЗаполнитьПоляПоТаблицеПодстановок(сс_ИсходныеДокументы,ссВпЗаголовок,ссУведомления_Классификация,СписокПолейДляСверкиПриФормировании,СписокПолейДляПодстановокЗаг);
            Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс) := ВП_Обратно(КлассИсходногоДокумента);
            Коллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс) := Коллекция.Значение(ип_КлассНовогоДокумента);
            Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка) := ссВП.Поле("ID").КакЦелое;
            Коллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка) := ссВП.Поле("ID").КакЦелое;
            СвязатьДокументы(локКоллекция.Значение("linkInfo"), Класс_ВнутренниеПереброскиРасходов, Коллекция.Значение("ТипИнтерфейса"), ссУведомления_Классификация.Поле("Id").КакЦелое, ссВпЗаголовок.Поле("ID").КакЦелое, ложь, истина, истина, ложь, Коллекция);
            СвязатьДокументы(локКоллекция.Значение("linkInfo"), Класс_ВнутренниеПереброскиРасходов, Коллекция.Значение("ТипИнтерфейса"), ссУведомления_Классификация.Поле("Id").КакЦелое, ссВп.Поле("ID").КакЦелое, ложь, ложь, истина, ложь, Коллекция);
            
//            СвязатьДокументы(коллекция.Значение("linkInfo"), Коллекция.Значение(ип_КлассИсходногоДокумента), Коллекция.Значение("ТипИнтерфейса"), кодРодительскогоДокумента, кодДочернегоДокумента, ложь, ложь, ложь, истина, Коллекция);
          конец; 
        ВывестиВПротокол(с_СозданаВП, ссВП, '');    
      конец;
  ОБЯЗАТЕЛЬНО
    УдалитьОбъект(ЛокКоллекция); 
  КОНЕЦ;   
конец;


// ПрямаяОперация - оформляется корректировка по старой классификации
// для выбытий  - соответветственно зачисление(dest)
// для поступлений - выбытие (source)
// Если прямаяОперация = Ложь - тогда осуществляется обработная операция
функция СоздатьВПл(ссУведомления_Классификация, сс_ИсходныеДокументы, ссВПл, ссВПлЗаголовок : СтатическиеДанные; Коллекция : Ivariables; ПрямаяОперация : целое);
переменные
  ЛокКоллекция : IVariables;
  КлассИсходногоДокумента, Группа : целое;
начало
//Инициализация переменных
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  //Определение класса исходного документа
  ЛокКоллекция.Значение('ФормироватьУведомления') := Истина;  
    КлассИсходногоДокумента := ЛокКоллекция.Значение(ип_КлассИсходногоДокумента);
    // для корректного формирования ВП
    Если коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда
      Коллекция.Значение(ип_КлассНовогоДокумента) := Класс_ВПл_Поступление
    иначе
      Коллекция.Значение(ип_КлассНовогоДокумента) := Класс_ВПл_Выбытие;
    Если не ф_ЭтоВпл(КлассИсходногоДокумента) 
    тогда 
      начало
        Группа := ПолучитьГруппуПоКлассу(КлассИсходногоДокумента);
        Выбрать Группа из
          Группа_КазначействоВыбытие, Группа_Финансирование : КлассИсходногоДокумента := Класс_ВПл_Выбытие;
          Группа_КазначействоПоступление : КлассИсходногоДокумента := Класс_ВПл_Поступление;
          Группа_Уведомления : начало
                                   если КлассИсходногоДокумента = Класс_УточнениеВыбытий тогда
                                   КлассИсходногоДокумента := Класс_ВПл_Выбытие
                                 иначе
                                   КлассИсходногоДокумента := Класс_ВПл_Поступление;       
                               конец;   
          иначе 
            ВызватьОшибку('СоздатьВПл: внутренние платежи могут создаваться только на основе документов казначейства. Класс - ' + ПолучитьНаименованиеДляДиалога(КлассИсходногоДокумента));
        конец;
      конец;
    ЛокКоллекция.Значение("КлассИсходногоДокументаДляВПл") := КлассИсходногоДокумента;  
 
  ПОПЫТКА
//Формирование ВПл  
    ЛокКоллекция.Значение('ПрямаяОперация') := ПрямаяОперация;
    СоздатьЗаголовокВПл(ссУведомления_Классификация, сс_ИсходныеДокументы, ссВПлЗаголовок, ЛокКоллекция);
    СоздатьДетализациюВПл(ссУведомления_Классификация, сс_ИсходныеДокументы, ссВПл, ЛокКоллекция);
    // заполняем служебную информацию для уведомлений 
    Если ПрямаяОперация=Ложь тогда 
      начало
        Если ЛокКоллекция.Значение('ФормироватьУведомления') тогда 
          начало
            ЗаполнитьПоляПоТаблицеПодстановок(сс_ИсходныеДокументы,ссВПл,ссУведомления_Классификация,СписокПолейДляСверкиПриФормировании,СписокПолейДляПодстановокДет);
            ЗаполнитьПоляПоТаблицеПодстановок(сс_ИсходныеДокументы,ссВПлЗаголовок,ссУведомления_Классификация,СписокПолейДляСверкиПриФормировании,СписокПолейДляПодстановокЗаг);
            Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс) := ВПл_Обратно(КлассИсходногоДокумента);
            Коллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс) := Коллекция.Значение(ип_КлассНовогоДокумента);
            Коллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка) := ссВПл.Поле("ID").КакЦелое;
            Коллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка) := ссВПл.Поле("ID").КакЦелое;
            СвязатьДокументы(локКоллекция.Значение("linkInfo"), Класс_ВнутренниеПлатежиРасходов, Коллекция.Значение("ТипИнтерфейса"), ссУведомления_Классификация.Поле("Id").КакЦелое, ссВПлЗаголовок.Поле("ID").КакЦелое, ложь, истина, истина, ложь, Коллекция);
            СвязатьДокументы(локКоллекция.Значение("linkInfo"), Класс_ВнутренниеПлатежиРасходов, Коллекция.Значение("ТипИнтерфейса"), ссУведомления_Классификация.Поле("Id").КакЦелое, ссВПл.Поле("ID").КакЦелое, ложь, ложь, истина, ложь, Коллекция);
          конец; 
        ВывестиВПротокол(с_СозданаВП, ссВПл, '');    
      конец;
  ОБЯЗАТЕЛЬНО
    УдалитьОбъект(ЛокКоллекция); 
  КОНЕЦ;   
конец;


функция СоздатьВторуюЗаписьВнутреннихПеребросок(ссНовыйДокумент : СтатическиеДанные ; Коллекция : IVariables) : целое;
переменные
  ссВнутрПереброска : СтатическиеДанные;
начало
  Результат := 0;
  ссВнутрПереброска := СоздатьСтатикСет;
  Попытка
  //Формирование статиксета внутренней переброски
    ссВнутрПереброска.Запрос := ПолучитьЗапросПоКлассу(Класс_ВнутренниеПереброскиДоходов, Коллекция);
    Коллекция.Значение('КодЗаписи') := -1;
    СформироватьОграничения(ссВнутрПереброска, Класс_ВнутренниеПереброскиДоходов, Коллекция);
    ссВнутрПереброска.Открыть;
  //Заполнение полей документа  
    ссВнутрПереброска.Вставить;
    ЗаменитьПоляПоМаппингу(ссНовыйДокумент, ссВнутрПереброска, '', '', '', '', nil, "DocNumber=DocNumber,Summa=Debit,InputDate=InputDate,AcceptDate=AcceptDate,PayerAccRef=PayerAccRef,PayerOrgRef=PayerOrgRef,AcceptorAccRef=AcceptorAccRef,AcceptorOrgRef=AceptorOrgRef,BudgetRef=BudgetRef,Note=Note,ProgIndex=ProgIndex", ложь);
    ссВнутрПереброска.Поле("ID").КакЦелое := ГенерироватьДиап('G_Shared', 1); 
    ссВнутрПереброска.Сохранить;
    ссВнутрПереброска.СохранитьИзменения;
  //Дополнительные действия  
    Коллекция.Значение('КодЗаголовка') := '';
    Результат := ссВнутрПереброска.Поле('Id').КакЦелое;
    // обновляем поле DocCount - оно уже вроде нигде не используется, но так на всякий случай
    ВыполнитьЗапрос('update Incomes32 set DocCount=0 where id = ' + ссВнутрПереброска.Поле('Id').КакСтрока);
  Обязательно
    УдалитьОбъект(ссВнутрПереброска);
  конец;  
конец;

</value>
    <param value="ФункцииДляСозданияНестандартныхДокументов" type="3" name="Export">DJON2\egorbunov\18.01.2012 11:30:21</param>
    <param value="ФункцииДляСозданияНестандартныхДокументов" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляСозданияНестандартныхДокументов" type="3" name="crc32">$61DDA300</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляСозданияУведомления">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\Documents.lib';                                                
включить '\Библиотеки\Output.lib';
включить '\Библиотеки\LinkInfo2.lib';
включить '\Библиотеки\OptionTools.lib';

включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';
включить '\Макросы\Уведомления\ФункцииДляПакетнойЗамены';
включить '\Макросы\Уведомления\ФункцииДляРаботыСОбластямиФорматирования';
включить '\Макросы\Уведомления\ФункцииДляСвязыванияДокументов';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить '\Макросы\Уведомления\ФункцииДляСозданияНестандартныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКазначейскимРеестром';
/$если Бюджет  
включить '\Макросы\ДляОбменаСБанком.abl';
/$конец

включить 'project';

константы
  констаНеФормироватьСвязанныеДокументы = '2';
  констаНеФормироватьСвязанныеДокументыПЗК = '3';
   

функция  ПроставитьАтрибутыОрганизации(сс_ИсходныеДокументы, сс_Эпд: СтатическиеДанные; ТипИнтерфейса , Префикс : строка; МыУжеРугнулись : целое);
переменные
  НазваниеИнтерфейсаОбмена, РешениеПроблемы, 
  АтрибутыПредметногоДокумента, Номер, СуммаСтр, ОКАТО : строка;
начало
  ЕСЛИ (сс_ИсходныеДокументы.Поле('ElRef').КакСтрока &lt;&gt; '') и (сс_ИсходныеДокументы.Поле('ElRef').КакСтрока &lt;&gt; '0')  тогда 
    начало
        ЕСЛИ сс_ЭПД.числоЗаписей &lt;&gt; 0
        //сс_ЭПД.Поле(Префикс + 'OrgName').КакСтрока &lt;&gt; '' 
        тогда 
          начало  
            // обновляем атрибуты в исходном документе 
            ЗаменитьПоляПоМаппингу(сс_Эпд, сс_ИсходныеДокументы, Префикс, Префикс, '', '', nil, 
                                   МаппингПолейОрганизации , истина);
            ЗаменитьПоляПоМаппингу(сс_Эпд, сс_ИсходныеДокументы, '', '', '', '', nil,'Note=OriginalNote', истина);
            ЗаменитьПоляПоМаппингу(сс_Эпд, сс_ИсходныеДокументы, '', '', '', '', nil,'OriginalSumma=OriginalSumma,OriginalDate=OriginalDate,OriginalNumber=OriginalNumber,ElNum=ElNum', истина);
            // выбираем и вставляем ОКАТО
            если (сс_Эпд.Поле('TaxNote').КакСтрока &lt;&gt; '') или (сс_Эпд.Поле('TaxNote').КакСтрока &lt;&gt; nil) 
            тогда
            начало
              ОКАТО := Разыменовать("Налог.ОКАТО.Код",сс_Эпд.Поле('TaxNote').КакСтрока);
              сс_ИсходныеДокументы.ПолеПоИмени('OKATO').КакСтрока := Подстрока(ОКАТО,1,8);
              сс_ИсходныеДокументы.ПолеПоИмени('ADDOKATO').КакСтрока := Подстрока(ОКАТО,9,3);
            конец           
            иначе 
            начало
              сс_ИсходныеДокументы.ПолеПоИмени('OKATO').КакСтрока := '';
              сс_ИсходныеДокументы.ПолеПоИмени('ADDOKATO').КакСтрока :='';
            конец;
          конец                
        ИНАЧЕ 
          начало 
            //бывает так что ссылка есть а самого документа в мердоке нет
            // Мы возможно уже для этой записи уже ругнулись, одного раза достаточно
            Если не МыУжеРугнулись тогда 
              начало
                  МыУжеРугнулись := Истина;
                  Если ТипИнтерфейса = ту_УточнениеПоступлений  тогда 
                    начало 
                        НазваниеИнтерфейсаОбмена := "'Входящие платежи'";
                        РешениеПроблемы := '   Обратитесь к администратору электронного обмена.';
                    конец
                  иначе 
                    начало 
                        НазваниеИнтерфейсаОбмена := "'Электронный обмен с банком'";
                        РешениеПроблемы := "   Вероятное решение проблемы: стоит провести исправление наименований организаций с"+ 
                                            "помощью АБЛ кнопки 'Исправление наименований организаций в таблице обмена с УФК'"+ 
                                            "(эта функция доступна только администраторам системы).";            
                    конец; 
                  Номер := сс_ИсходныеДокументы.Поле('DocNumber').КакСтрока;
                  АтрибутыПредметногоДокумента := 'Документ №' + Номер + '; Сумма: ' + ФорматироватьДробное("### ### ##0.00", сс_ИсходныеДокументы.Поле('Summa').КакДробное) + 
                                                  '. Интерфейс: ' + НаименованиеПоКоду(сс_ИсходныеДокументы.Поле('ProgIndex').КакЦелое);  
                  Если Сообщение(АтрибутыПредметногоДокумента + nl + 
                                '   В исходном документе таблицы обмена с УФК -' + НазваниеИнтерфейсаОбмена + ' не заполнены наименования плательщика и получателя.' + 
                                'Атрибуты исходного документа уведомления будут заполнены неверно (взяты из предметного интерфейса). ' + nl + 
                                 РешениеПроблемы + 
                                 'Продолжить?', сообщение_вопрос ,  Кнопка_Да+Кнопка_Нет) = Результат_Нет 
                  тогда 
                    ВызватьОшибку('Формирование уведомлений отменено'); 
             конец; // мы ещё не ругнулись               
          конец 
    конец  // берём из таблички отправленных(Ed_OutPayDoc) или полученных (BankExch_Merdoc)
  ИНАЧЕ 
    начало 
      // берём из первичного документа
      Если сс_ИсходныеДокументы.Поле('OriginalSumma').КакСтрока&gt;'0' тогда
        СуммаСтр := 'OriginalSumma'
      иначе
        СуммаСтр := 'Summa';   
        // Получаем поле ОКАТО из предметной таблицы
      если (сс_ИсходныеДокументы.Поле('TaxNote').КакСтрока &lt;&gt; '') или (сс_ИсходныеДокументы.Поле('TaxNote').КакСтрока &lt;&gt; nil)  
      тогда
      начало
        ОКАТО := Разыменовать("Налог.ОКАТО.Код",сс_ИсходныеДокументы.Поле('TaxNote').КакСтрока);
        если СтрокаВЦелое(Подстрока(ОКАТО,1,8)) &lt;&gt; 0 тогда
        начало 
          сс_ИсходныеДокументы.ПолеПоИмени('OKATO').КакЦелое := СтрокаВЦелое(Подстрока(ОКАТО,1,8));  
          сс_ИсходныеДокументы.ПолеПоИмени('ADDOKATO').КакЦелое := СтрокаВЦелое(Подстрока(ОКАТО,9,3));
        конец
        иначе
        начало
        сс_ИсходныеДокументы.ПолеПоИмени('OKATO').КакСтрока := '';
        сс_ИсходныеДокументы.ПолеПоИмени('ADDOKATO').КакСтрока :='';
        конец;  
      конец
      иначе
      начало
        сс_ИсходныеДокументы.ПолеПоИмени('OKATO').КакСтрока := '';
        сс_ИсходныеДокументы.ПолеПоИмени('ADDOKATO').КакСтрока :='';
      конец;       
      ЗаменитьПоляПоМаппингу(сс_ИсходныеДокументы, сс_ИсходныеДокументы, '', '', '', '', nil, 'Note=OriginalNote,' + СуммаСтр + '=OriginalSumma,AcceptDate=OriginalDate,DocNumber=OriginalNumber,OKATO=OKATO,ADDOKATO=ADDOKATO,ElNum=ElNum', истина);
    конец;                             
конец;

// проставляем атрибуты исходного документа 
функция ПроставитьАтрибуты(сс_ИсходныеДокументы : СтатическиеДанные; ТипИнтерфейса : строка);
переменные
  сс_ЭПД : СтатическиеДанные;
  МыУжеРугнулись : Целое;                                                                     
начало
  сс_ЭПД := СоздатьСтатическиеДанные;
  сс_ЭПД.Запрос := ПолучитьЗапросКБуфернойТаблице(сс_ИсходныеДокументы.Поле('ProgIndex').КакЦелое, ТипИнтерфейса);
  сс_ЭПД.СоединитьБД;
  попытка
    сс_ЭПД.Параметр('ElRef') := сс_ИсходныеДокументы.Поле('ElRef').КакЦелое;
  неудача
    сс_ЭПД.Параметр('ElRef') := 0;  
  конец;
  
  Попытка
    сс_ЭПД.Открыть;

//подтягивание казн.счета, если он отсутствует, из счета УФК (при обмене с банком)
    если сс_ЭПД.НайтиПоле('PayerAccUFK') тогда
    начало
      сс_ЭПД.ВНачало;
      пока не сс_ЭПД.ВКонце делать
      начало
        если (сс_ЭПД.Поле('PayerAcc').Пустое) или (сс_ЭПД.Поле('PayerAcc').КакСтрока = "") тогда
          сс_ЭПД.Поле('PayerAcc').КакСтрока := сс_ЭПД.Поле('PayerAccUFK').КакСтрока;
        сс_ЭПД.Следующая;
      конец;
      сс_ЭПД.ВНачало;
    конец;

    МыУжеРугнулись := Истина;// это сделано потому что в новом обновлении таких случаев не предвидится
    // плательщик
    ПроставитьАтрибутыОрганизации(сс_ИсходныеДокументы, сс_ЭПД,  ТипИнтерфейса, 'Payer', МыУжеРугнулись);
    // получатель
    ПроставитьАтрибутыОрганизации(сс_ИсходныеДокументы, сс_ЭПД, ТипИнтерфейса, 'Acceptor', МыУжеРугнулись);
  обязательно
    УдалитьОбъект(сс_ЭПД);
  конец;
конец;



// при включении документа в уведомления проверяем одна ли детализация у заголовка 
// (это нужно только для казначейства, чтобы потом не огрести проблем при отклонении уведомления - причина отклонения в казн в заголовке)
функция ПроверкаНаОдинКОдному(Класс, ИД : целое) : целое;
переменные 
  сс_Кол : СтатическиеДанные; 
начало
  Если ВходитВГруппу(Класс, Группа_Казначейство) тогда 
    начало
      сс_Кол := СоздатьСтатическиеДанные;
      Попытка                                                                    
        сс_Кол.СоединитьБД;
        сс_Кол.Запрос := '[PumpData]{select count(ffd.id) cntId 
                                      from FacialFinDetail ffd2
                                        left join FacialFinDetail ffd on (ffd.RecordIndex=ffd2.RecordIndex)
                                      where (ffd2.id=@id_val) }';
        сс_Кол.Параметр('Id_Val') := Ид;
        сс_Кол.Открыть;
        Если сс_Кол.Поле('cntId').КакЦелое &gt; 1 тогда 
        начало
          Результат := ложь;
          MsgBox('Включаемый документ является частью заголовка, который содержит более одной детализации, а это недопустимо. Действие отменено.');                              
        конец
        иначе
          Результат := истина;
      Обязательно
        УдалитьОбъект(сс_Кол);
      конец;
    конец
  иначе
    результат := истина;
конец;



функция ЗаполнитьОрганизациюАтрибутамиФО(ссДанные : СтатическиеДанные; Префикс : строка; КодБюджета : целое);
переменные
  ссылкаНаОсновнойСЧет : целое;
начало
  ссылкаНаОсновнойСЧет := НайтиОсновнойСчетПоБюджету(КодБюджета);
  для ссДанные делать
  начало
    .Поле(Префикс + "Acc_Ref").КакСтрока := ссылкаНаОсновнойСчет;
    .Поле(Префикс + "Acc").КакСтрока := Разыменовать("р/с.имя",ссылкаНаОсновнойСчет);
    .Поле(Префикс + "OrgName").КакСтрока := Разыменовать("р/с.организация.имя", ссылкаНаОсновнойСчет);
    .Поле(Префикс + "OrgINN").КакСтрока := Разыменовать("р/с.организация.инн", ссылкаНаОсновнойСчет);
    .Поле(Префикс + "OrgINN20").КакСтрока := Разыменовать("р/с.организация.кпп", ссылкаНаОсновнойСчет);
  конец;
конец;

// Комментарий
функция ЗаполнитьОрганизациюАтрибутамиНовойОрганизации(сс_Откуда, сс_Куда: СтатическиеДанные; Префикс : строка );
начало
  Для сс_Куда делать
  начало
    .Поле(Префикс + "Acc_Ref").КакСтрока := сс_Откуда.Поле('ChangeAcc_Ref').КакСтрока;
    .Поле(Префикс + "Acc").КакСтрока := сс_Откуда.Поле('ChangeAcc').КакСтрока;
    .Поле(Префикс + "OrgName").КакСтрока := сс_Откуда.Поле('ChangeOrgName').КакСтрока;
    .Поле(Префикс + "OrgINN").КакСтрока := сс_Откуда.Поле('ChangeOrgINN').КакСтрока;
    .Поле(Префикс + "OrgINN20").КакСтрока := сс_Откуда.Поле('ChangeOrgINN20').КакСтрока;
  конец;
конец;

функция ВернутьПрогИндексОригинала(кодЗаписи: целое): целое;
переменные 
  ссПоиск : СтатическиеДанные;
начало
  результат := 0;
  ссПоиск := СоздатьСтатическиеДанные;
  Попытка
    ссПоиск.СоединитьБД;
    ссПоиск.СоединитьБД;
    ссПоиск.Запрос := '[PumpData]{select OriginalProgIndex
                                     from CorrectionCaption 
                                     where id=@id_}';
    ссПоиск.Параметр('Id_') := кодЗаписи;
    ссПоиск.Открыть;
    Если ссПоиск.RecordCount&lt;&gt;0 тогда результат := ссПоиск.Поле('OriginalProgIndex').КакЦелое; 
  Обязательно
    УдалитьОбъект(ссПоиск);
  конец;
конец;

функция ПроставитьАтрибутыОрганизаций(ссУведомления, ссИсходныеДокументы : СтатическиеДанные; ЭтоУведомления, ЭтоУведомлениеПоЕксел, ТипИнтерфейса : целое);
начало
  Если не ЭтоУведомления тогда 
    ПроставитьАтрибуты(ссИсходныеДокументы, ТипИнтерфейса)
  иначе
  начало
    //  если уведомление используется в качестве исходного документа, а это уведомление было сформировано на основе ексел файла, 
    //  т.е. информация об исходном документе пустая - то тогда делаем и плательщика и получателя равным фо
    если (ТипИнтерфейса = ту_УточнениеПоступлений) или (ТипИнтерфейса = ту_УточнениеВыбытий) тогда 
    начало
      если (ссИсходныеДокументы.Поле("ProgIndex").КакЦелое = ту_УточнениеПоступлений) и 
           (ВернутьПрогИндексОригинала(ссИсходныеДокументы.ПолеПоИмени("MasterID").КакЦелое) = Класс_ПриходОтПрочих) 
      тогда
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'OriginalAcceptor','OriginalPayer' , '', '', nil, МаппингПолейОрганизации + ',AccRef=Acc_Ref' , истина)
      иначе
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'OriginalPayer','OriginalPayer' , '', '', nil, МаппингПолейОрганизации + ',AccRef=Acc_Ref' , истина);
      если ТипИнтерфейса = ту_УточнениеВыбытий   тогда
        //ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'OriginalAcceptor','OriginalAcceptor' , '', '', nil, МаппингПолейОрганизации + ',AccRef=Acc_Ref' , истина)
        ЗаполнитьОрганизациюАтрибутамиНовойОрганизации(ссИсходныеДокументы, ссУведомления,'OriginalAcceptor')
      иначе  
        ЗаполнитьОрганизациюАтрибутамиНовойОрганизации(ссИсходныеДокументы, ссУведомления,'OriginalAcceptor');
    конец
    иначе
    начало  
      // gen 2009 04 09: теперь не нужно в уведомлениях проставлять атрибуты ФО, нужно просто из исходного документа
      //коммент ЗаполнитьОрганизациюАтрибутамиФО(ссУведомления, 'OriginalPayer', ссИсходныеДокументы.Поле("BudgetREf").КакЦелое);
      //коммент ЗаполнитьОрганизациюАтрибутамиФО(ссУведомления, 'OriginalAcceptor', ссИсходныеДокументы.Поле("BudgetREf").КакЦелое);
      ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'Acceptor','OriginalAcceptor' , '', '', nil, МаппингПолейОрганизации + ',AccRef=Acc_Ref' , истина);
      ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'Payer','OriginalPayer' , '', '', nil, МаппингПолейОрганизации + ',AccRef=Acc_Ref' , истина);
    конец;  
  конец; 
конец;

Функция ЗаполнитьДатуВводаУведомления(пПоле : Поле; Коллекция : IVariables);
начало
  Если пПоле.КакЦелое=0 тогда  
    пПоле.КакЦелое := Коллекция.Значение("ТекущаяДата");
конец;

функция ЗаполнитьДатуУчетаУведомления(пДатаФормирования, пДатаУчета : поле; Коллекция : IVariables);
начало
  // определяем значение параметра, если мы к нему не обращались - то кэшируем
  Если не коллекция.ПараметрСуществует("ДатаУчета=ДатаФормирования") тогда 
    коллекция.Значение("ДатаУчета=ДатаФормирования") := ПолучитьПараметрИзНастроек(4, 0, "ДатаУчета=ДатаФормирования");
  
  Если коллекция.Значение("ДатаУчета=ДатаФормирования") тогда 
    пДатаУчета.КакСтрока := пДатаФормирования.КакСтрока;  
конец;


Функция ЗаполнитьСуммуУведомления(пПоле : Поле; ссИсходныеДокументы : СтатическиеДанные; Коллекция : IVariables);
переменные
  пСумма: Поле;
начало
  если не Коллекция.Значение("ЭтоЕксел") тогда
  начало
    Если Коллекция.Значение('ТолькоУточненные') тогда
      пСумма := ссИсходныеДокументы.Поле("Summa")
    иначе 
      пСумма := ссИсходныеДокументы.Поле("SummaRemainder");
  конец  
  иначе
    пСумма := ссИсходныеДокументы.Поле("SummaRemainder");  
//  Если Коллекция.Значение("ТипИнтерфейса") =  ту_УточнениеПоступлений тогда
//    пПоле.КакДробное := ссИсходныеДокументы.Поле("Summa").КакДробное
//  иначе
//    пПоле.КакДробное := ссИсходныеДокументы.Поле("OriginalSumma").КакДробное;
  пПоле.КакДробное := пСумма.КакДробное;
конец;


функция  ЗаполнитьПоляОрганизацииФК(Префикс : строка; ссУведомления,ссИсходныеДокументы : СтатическиеДанные; ссылкаНаСчет : целое; Мнемокод : строка; Коллекция : IVariables);
переменные
  кол: IVariables;
  ссылкаНаСчетФК, БратьЛСФКпоЛС: целое;
  путьКПараметрам, лс, МнемокодАДБ: строка;
  КодФормата : Целое;
начало
  для ссУведомления делать
  начало
    .Поле(Префикс + "OrgINN").КакСтрока := Разыменовать("Р/с.Организация_ФК.ИНН", ссылкаНаСчет);
    //теперь нужно заполнять из констант, так как уведомление отправляется в отделение
    // 29.06.2010 вновь возвращаем вариант когда значение берутся из констант, см задачу 21416
    //.Поле(Префикс + "OrgName").КакСтрока := Разыменовать("Р/с.Организация_ФК.Имя", ссылкаНаСчет); 
    //.Поле(Префикс + "Code").КакСтрока := Разыменовать("Р/с.Организация_ФК.КодВУФК", ссылкаНаСчет);
   
    // для Москвы, моисеев 20101208. для поддержания настроек - разыменовок
    кол := CreateVariables;
    ссылкаНаСчетФК := Разыменовать("Лицевой_Счет.СчетФК", ссИсходныеДокументы.Поле("FacialAcc_cls").КакЦелое);
    если ссылкаНаСЧетФК &lt;&gt; 0 тогда
      кол.Значение("счетПлательщика") := ссылкаНаСчетФК
    иначе
    начало
      если коллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений тогда
        кол.Значение("счетПлательщика") := ссИсходныеДокументы.Поле("acceptor" + "Accref").Какцелое
      иначе 
        кол.Значение("счетПлательщика") := ссИсходныеДокументы.Поле("payer" + "Accref").Какцелое;
    конец;    
    /$если Бюджет  
    КодФормата := ПолучитьКодФормата(кол.Значение("счетПлательщика"));
    если кодФормата = 0 тогда кодФормата := кфУФК2009;
    попытка
      .Поле(Префикс + "OrgName").КакСтрока := ПараметрСРазыменовкой(КодФормата, "Уведомление_НаименованиеОрФК", кол); //ПолучитьПараметр(0, кфУФК2009, 'ПолучательИмя');
      .Поле(Префикс + "Code").КакСтрока := ПараметрСРазыменовкой(КодФормата, "Уведомление_КодОрФК", кол); //ПолучитьПараметр(0, кфУФК2009, 'ПолучательКод');
    неудача
    конец;
    /$иначе
    попытка
//    КодФормата := ПолучитьКодФормата(кол.Значение("счетПлательщика"));
      если кодФормата = 0 тогда кодФормата := кфУФК2009;
      .Поле(Префикс + "OrgName").КакСтрока := ПолучитьПараметр(0, кфУФК2009, 'Уведомление_НаименованиеОрФК');
      .Поле(Префикс + "Code").КакСтрока := ПолучитьПараметр(0, кфУФК2009, 'Уведомление_КодОрФК');
    неудача
    конец;
    /$конец

    // 09.12.2010 для Омска
    // подставляем из настроек 04 счет, если есть настройка и это уточнение поступлений по доходной классификации
    /$если Бюджет  
      путьКПараметрам := "Бюджет\Объекты\Настройки\Уведомление об уточнении\Общие";
    /$иначе
      путьКПараметрам := "урм\Объекты\Настройки\Уведомление об уточнении\Общие";
    /$конец
    если (ПолучитьПараметрИзНастроек(4, 0, "ИспользоватьАДБ")) и 
         (коллекция.Значение("типИнтерфейса") = ту_УточнениеПоступлений) и 
         ссИсходныеДокументы.Поле("clsType").КакЦелое = 2  
    тогда
    начало
    // переделали на разыменовку для получения мнемокода
      лс := Разыменовать("Р/с.лс_АДБ", ссИсходныеДокументы.Поле("acceptor" + "Accref").Какцелое);
      МнемокодАДБ := Разыменовать("Лицевой_Счет.МнемоКод", лс);    
      если МнемокодАДБ &lt;&gt; '' тогда
        Мнемокод := МнемокодАДБ;
    конец;  
  

    // у некоторых клиентов на одном лс сразу и федеральные и бюджетные средства. Поэтому для таких клиентов не 
    // нужно подставлять мнемокод в лс ФК (должен быть 02) Но это не касается 04 счетов
    БратьЛСФКпоЛС := Параметр(0, 0, "Брать счет в ФК по лицевому счету");
    
    // 28.09.2010 Если у л/c есть мнемокод то будем подставлять его.
    если  ((Мнемокод &lt;&gt; '') и (БратьЛСФКпоЛС = да)) или (Подстрока(мнемокод, 1, 2) = "04") тогда
      .Поле(Префикс + "LS").КакСтрока := Мнемокод
    иначе
      .Поле(Префикс + "LS").КакСтрока := Разыменовать("Р/с.ИмяЛСФК", ссылкаНаСчет);

    // если мнемокодом является 04 счет - тогда нужно брать информацию об УФК из разыменовок, 
    // так как в этом случае уведомление должно отправляться не в ОФК, а в УФК
   // если Подстрока(мнемокод, 1, 2) = "04" тогда
   // начало
   //   .Поле(Префикс + "OrgName").КакСтрока := Разыменовать("Р/с.Организация_ФК.Имя", ссылкаНаСчет); 
   //   .Поле(Префикс + "Code").КакСтрока := Разыменовать("Р/с.Организация_ФК.КодВУФК", ссылкаНаСчет);
   // конец;   Обмен добавил вторую пару настроек, откуда они возьмут почтовую информацию. А мы будем заполнять из других настроек

  конец;
конец;

функция ЗаполнитьСчетОрганизации(Префикс : строка; ссИсходныеДокументы : СтатическиеДанные; ссылкаНаСчет : целое; Коллекция : IVariables);
переменные
  ссылкаНаСЧет_, СсылкаНаТекБюджета: целое;
начало
 // в поле счета должен всегда стоять двадцатизначный код
    Если Длина(ссИсходныеДокументы.Поле(Префикс + "ACC").КакСтрока) = 11 тогда 
    начало
    /$если Бюджет  
      ссИсходныеДокументы.Поле(Префикс + "ACC").КакСтрока := Разыменовать("Р/с.СчетОбслуживающейОрганизации.Имя", ссылкаНаСчет);
    /$иначе
      ссИсходныеДокументы.Поле(Префикс + "ACC").КакСтрока := Разыменовать("Р/с.СубСчет", ссылкаНаСчет);
    /$конец
    конец;
 // если ссылка на счет не найдена - пробуем найти счет в справочнике
    если ссылканасчет = 0 тогда 
    начало
      ссылкаНаСЧет_ := НайтиСсылкуНаСчет(ссИсходныеДокументы.Поле(Префикс + "ACC").КакСтрока);
      если ссылкаНаСчет_&lt;&gt; 0 тогда 
        ссИсходныеДокументы.Поле(Префикс + "ACCref").какцелое := ссылкаНаСЧет_;
      // убираем заполнение ссылко на ед счет для МО  
      /*иначе
      начало
        СсылкаНаТекБюджета := целаяконстанта(-1,3);
        ссИсходныеДокументы.Поле(Префикс + "ACCref").какцелое := разыменовать("Бюджет.ЕдиныйСчет",СсылкаНаТекБюджета);
      конец;*/      
    конец;    
конец;

// если это тип документа, по которому не нужно отсылать уведомления - тогда тип нулевой, иначе из константы
функция ЗаполнитьТипУведомления(классИсходногоДокумента : целое; ссУведомления, ссИсходныеДокументы : СтатическиеДанные; Коллекция : IVariables);
переменные
  типУведомления : целое;
  СчетОбслуживающейОрганизации : строка;
начало
  если не ТребуетсяОтправлятьВУФК(классИсходногоДокумента) тогда  
    типУведомления  := ЦелаяКонстанта(1, 56)
  иначе 
    попытка
      если не Коллекция.Значение("ЭтоЕксел") тогда
        типУведомления  := ЦелаяКонстанта(1, 56)
      иначе
      начало
        // если расчетный счет  (плательщика для выбытий, для поступлений - получателя) не был открыт в УФК то тип уведомления остается внутренним  
        если ссУведомления.Поле('ProgIndex').какцелое = 312 тогда
          СчетОбслуживающейОрганизации := Разыменовать("Р/с.СчетОбслуживающейОрганизации",ссУведомления.Поле('OriginalAcceptorAcc_Ref').какцелое)
        иначе
          СчетОбслуживающейОрганизации := Разыменовать("Р/с.СчетОбслуживающейОрганизации",ссУведомления.Поле('OriginalPayerAcc_Ref').какцелое);
        если СчетОбслуживающейОрганизации &lt;&gt; '' тогда
        начало 
          если ссИсходныеДокументы.Поле("NeedChangeDocType").КакЦелое тогда
            типУведомления  := ЦелаяКонстанта(1, 55)
          иначе  
            типУведомления  := ЦелаяКонстанта(1, 56);
        конец
        иначе
          типУведомления  := ЦелаяКонстанта(1, 56);                                
        конец;  
    неудача
      типУведомления  := ЦелаяКонстанта(1, 56);
    конец;
  ссУведомления.Поле("DocType").КакЦелое := типУведомления;
конец;

функция ВернутьПрефиксПолейФинОргана(коллекция : IVariables) : строка;
начало
  // в зависимости от типа интерфейса определяем кто является финорганом
  если коллекция.Значение("ТипИнтерфейса") &lt;&gt; "" тогда 
  начало
    если коллекция.Значение("ТипИнтерфейса") = ту_УточнениеВыбытий тогда 
      результат := "Payer"
    иначе
      результат := "Acceptor";
  конец
  иначе
    ВызватьОшибку("ВернутьПрефиксПолейФинОргана: в коллекции нет параметра 'ТипИнтерфейса'. Невозможно определить поля финоргана."); 
конец;

// администратором поступлений является сам финорган, поэтому поля берём из плательщика или получателя исходного документа (в зависимости от вида уведомления
функция ЗаполнитьПоляАдминистратораПоступлений(ссУведомления, ссИсходныеДокументы : СтатическиеДанные; коллекция : IVariables);
переменные
  префикс : строка;
начало
  префикс := ВернутьПрефиксПолейФиноргана(коллекция);
  // заполняем только для уведомления по поступлениям
  Если коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда
  начало
    ссУведомления.Поле("AdminAcceptorInn").КакСтрока := ссИсходныеДокументы.Поле(префикс + "OrgINN").КакСтрока; 
    ссУведомления.Поле("AdminAcceptorInn20").КакСтрока := ссИсходныеДокументы.Поле(префикс + "OrgINN20").КакСтрока;
  конец;    
конец;

функция ЗаполнитьПоляФедеральногоКазначейства(ссУведомления, ссИсходныеДокументы : СтатическиеДанные; коллекция : IVariables);
переменные
  префикс : строка;
начало
  префикс := ВернутьПрефиксПолейФиноргана(коллекция);
  /$если Бюджет
  ссУведомления.Поле("FKInn").КакСтрока := Разыменовать("Р/с.СчетОбслуживающейОрганизации.Организация.ИНН", ссИсходныеДокументы.Поле(префикс + "AccRef").КакЦелое); 
  ссУведомления.Поле("FKInn20").КакСтрока := Разыменовать("Р/с.СчетОбслуживающейОрганизации.Организация.КПП", ссИсходныеДокументы.Поле(префикс + "AccRef").КакЦелое);
  ссУведомления.Поле("FKName").КакСтрока := Разыменовать("Р/с.СчетОбслуживающейОрганизации.Организация.Имя", ссИсходныеДокументы.Поле(префикс + "AccRef").КакЦелое);
  /$иначе
  ссУведомления.Поле("FKInn").КакСтрока := Разыменовать("Р/с.Организация_ФК.ИНН", ссИсходныеДокументы.Поле(префикс + "AccRef").КакЦелое); 
  ссУведомления.Поле("FKInn20").КакСтрока := Разыменовать("Р/с.Организация_ФК.КПП", ссИсходныеДокументы.Поле(префикс + "AccRef").КакЦелое);
  ссУведомления.Поле("FKName").КакСтрока := Разыменовать("Р/с.Организация_ФК.Имя", ссИсходныеДокументы.Поле(префикс + "AccRef").КакЦелое);  
  /$конец  
конец;

функция ЗаполнитьПоляТерриториальногоОргана(ссУведомления, ссИсходныеДокументы : СтатическиеДанные; коллекция : IVariables);
переменные
  префикс : строка;
начало
  префикс := ВернутьПрефиксПолейФиноргана(коллекция);
  // заполняем только для уведомления по поступлениям
  Если коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда
  начало
    ссУведомления.Поле("TerritorialFKInn").КакСтрока := Разыменовать("Р/с.СчетОбслуживающейОрганизации.Организация.ИНН", ссИсходныеДокументы.Поле(префикс + "AccRef").КакЦелое); 
    ссУведомления.Поле("TerritorialFKInn20").КакСтрока := Разыменовать("Р/с.СчетОбслуживающейОрганизации.Организация.КПП", ссИсходныеДокументы.Поле(префикс + "AccRef").КакЦелое);
  конец;  
конец;

функция ЗаполнитьНомерЗаявки(пНомерЗаявки : Поле); 
переменные
  НомерЗаявки: ЦЕЛОЕ;
  УзелУведомления: УзелРеестра;
начало
  /$если Бюджет
  /$иначе
  УзелУведомления:= Реестр.Узел('УРМ\объекты\настройки\Уведомление об уточнении\Общие');
  попытка
    НомерЗаявки:= СтрокаВЦелое(УзелУведомления.Значение('НомерЗаявки').КакСтрока);
  неудача
    НомерЗаявки:= 0;
  конец;
  НомерЗаявки:= НомерЗаявки + 1;
  УзелУведомления.Значение('НомерЗаявки').КакСтрока := ЦелоеВСтроку(НомерЗаявки);
  пНомерЗаявки.КакСтрока:= ЦелоеВСтроку(НомерЗаявки);
  /$конец
конец;

функция СоздатьОдноУведомление(ссИсходныеДокументы, ссУведомления : СтатическиеДанные; Коллекция : IVariables);
переменные
  ЭтоУведомления, ЭтоВП, ЭтоВПл, ТипИнтерфейса, ЭтоУведомлениеПоЕксел, 
  классИсходногоДокумента, ЭтоУведомлениеДляАтрибутовОрг : целое;
  ПрефиксАтрибутов, МаппингЗамены, полеСсылкиНаИсходныйДокумент : строка;  
  МнемокодПолучателя, МнемокодПлатильшика : строка; 
  ЛокКоллекция : IVariables;
начало
  ВывестиВПротокол(0, nil, '||||||||||||||||||||||||||||||||||||||||||||||||||' + nl);
//инициализация параметров
  классИсходногоДокумента  := коллекция.Значение(ип_КлассИсходногоДокумента);
  коллекция.Значение(ип_ТекущийКлассДокумента) := классИсходногоДокумента;
  ЭтоУведомления := (Коллекция.Значение("ЭтоУведомления"));
  ЭтоУведомлениеДляАтрибутовОрг :=  ЭтоУведомления;
  /$если Бюджет
  Если ЭтоУведомления тогда 
    ЭтоУведомления := (Коллекция.Значение("ЭтоУведомления")) и ((ссИсходныеДокументы.Поле('PayDocRef').КакЦелое &lt;&gt; 0) или (не(ссИсходныеДокументы.Поле('PayDocRef').IsNull)));
  /$конец
  Если ЭтоУведомления тогда 
    ПрефиксАтрибутов := "Original"
  иначе 
    ПрефиксАтрибутов := "";
  
  ТипИнтерфейса := Коллекция.Значение("ТипИнтерфейса");
  ЭтоВП := Коллекция.Значение("ЭтоВП");
  ЭтоВПл := Коллекция.Значение("ЭтоВПл");
  Если ЭтоУведомления тогда 
    ЭтоУведомлениеПоЕксел := ф_УведомлениеПоЕксел(ссИсходныеДокументы.Поле("id").КакЦелое)
  иначе  
    ЭтоУведомлениеПоЕксел := Ложь;  
//формирование уведомления
  ссУведомления.Вставить;
  // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_ПередСозданиемЗаголовкаУведомлений;
  ЛокКоллекция.Значение('Данные') := ссУведомления;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ВнешняяКоллекция') := коллекция;
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
  УдалитьОбъект(ЛокКоллекция);
  // конец вызыва макроса
  ПроставитьАтрибутыОрганизаций(ссУведомления, ссИсходныеДокументы, ЭтоУведомлениеДляАтрибутовОрг, ЭтоУведомлениеПоЕксел, ТипИнтерфейса);  
  
  Коллекция.Значение('OKATO') := ссИсходныеДокументы.Поле('OKATO').какСтрока;
  Коллекция.Значение('ADDOKATO') := ссИсходныеДокументы.Поле('ADDOKATO').какСтрока;
  Для ссУведомления делать 
  начало
      .Поле('Id').КакЦелое := ГенерироватьДиап('G_Shared', 1);
      /$если Бюджет
      .Поле('DepartmentCls').КакЦелое := ПолучитьОтделПоПользователю(ТекущийПользователь);
      /$иначе
      /$конец
      .Поле("DocNumber").КакСтрока := Коллекция.Значение("НомерУведомления");
      ЗаполнитьНомерЗаявки(.Поле("REQUESTNUMBER"));
      /$если Бюджет
          если Коллекция.Значение("ЭтоЕксел") и Коллекция.Значение("ГруппироватьДокументыПриПакетнойЗамене") тогда
            .Поле("FacialAcc_Cls").КакЦелое := 0
          иначе
            .Поле("FacialAcc_Cls").КакЦелое := ссИсходныеДокументы.Поле('FacialAcc_Cls').КакЦелое;
      /$иначе
          .Поле("FacialAcc_Cls").КакЦелое :=  Коллекция.Значение("ЛсДляЗаголовкаУведомления");
      /$конец
//    .Поле("ProgIndex").КакЦелое := ТипИнтерфейса;
      если не Коллекция.Значение("ЭтоЕксел") тогда
        .Поле("ProgIndex").КакЦелое := ТипИнтерфейса
      иначе
      начало
        если классИсходногоДокумента = Класс_ВП_Выбытие 
        тогда 
          .Поле("ProgIndex").КакЦелое := 313                                                             
        иначе
          если классИсходногоДокумента = Класс_ВП_Поступление 
          тогда 
            .Поле("ProgIndex").КакЦелое := 312 
          иначе 
            .Поле("ProgIndex").КакЦелое := ТипИнтерфейса;
        
      конец;     
      //первое выбранное состояние запоминается и проставляется для всех оставшихся уведомлений
      если Коллекция.Значение("НачальноеСостояние") = 0 тогда Коллекция.Значение("НачальноеСостояние") := ПолучитьНачальноеСостояние(ПолучитьКодИнтерфейса(ТипИнтерфейса));
      .Поле('BudgetRef').КакЦелое := ссИсходныеДокументы.Поле('BudgetRef').КакЦелое;
      Если Коллекция.Значение("НачальноеСостояние") &gt; 0 тогда
        .Поле('DocStateRef').КакЦелое := СтрокаВЦелое(Коллекция.Значение("НачальноеСостояние"));
        
      /$если Бюджет
        МаппингЗамены := "Note=Note,ProgIndex=OriginalProgIndex";
      /$иначе 
        МаппингЗамены := "Note=Note,ProgIndex=OriginalProgIndex";
      /$конец
      //При формировании Уведомления номер ЭД (ElNum) берётся из Исходного Документа, а при формировании Уведомления на Уведомление оно должно быть пустым. Иначе СЭД такой документ не пропустит.
      если не ВходитВГруппу(классИсходногоДокумента, Группа_Уведомления) тогда
        МаппингЗамены := МаппингЗамены + ",ElNum=ElNum";
        
      ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, '', '', '', '', nil, МаппингЗамены, Истина);
      ЗаполнитьДатуВВодаУведомления(.Поле('InputDate'), Коллекция);
      // обработка исключений для Омска
      если (ЭтоОмск) и ((ссИсходныеДокументы.Поле("Progindex").КакЦелое =  Класс_РаспределениеОФ) или 
       (ссИсходныеДокументы.Поле("Progindex").КакЦелое =  Класс_УтверждениеОФ))
      тогда
      начало
        // egorbunov 13.01.2012 если исходный документом является уведомление то дату ввода нужно заполнять по дате принятия
         если ссИсходныеДокументы.НайтиПоле("OriginalProgindex") тогда
        начало
          если ссИсходныеДокументы.Поле("OriginalProgindex").КакЦелое = 312 тогда
            .Поле('InputDate').КакЦелое := ссИсходныеДокументы.Поле("AcceptDate").КакЦелое
          иначе  
            .Поле('InputDate').КакЦелое := ссИсходныеДокументы.Поле("InputDate").КакЦелое;
        конец  
        иначе
          .Поле('InputDate').КакЦелое := ссИсходныеДокументы.Поле("InputDate").КакЦелое;
      конец;   

      ЗаполнитьДатуУчетаУведомления(.Поле('InputDate'), .Поле('RecordDate'), Коллекция);
      ЗаполнитьСуммуУведомления(.Поле("Summa"), ссИсходныеДокументы, Коллекция);  
      если Коллекция.Значение('ТипИнтерфейса') = ту_УточнениеПоступлений тогда
      начало
        МнемокодПолучателя :=  ссИсходныеДокументы.Поле('FacialCode').КакСтрока;
        МнемокодПлатильшика := '';
      конец  
      иначе 
      начало
        МнемокодПлатильшика :=  ссИсходныеДокументы.Поле('FacialCode').КакСтрока;
        МнемокодПолучателя :=  '';
      конец;       
      // дублируем выполнение процедур ЗаполнитьСчетОрганизации что бы корректно заполнялась секция Исходного документа
      ЗаполнитьСчетОрганизации("Payer", ссИсходныеДокументы, ссИсходныеДокументы.Поле("PayerAccRef").КакЦелое, Коллекция);
      ЗаполнитьСчетОрганизации("Acceptor", ссИсходныеДокументы, ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое, Коллекция);
      ЗаполнитьПоляОрганизацииФК("OriginalPayerFK", ссУведомления, ссИсходныеДокументы, ссИсходныеДокументы.Поле("PayerAccRef").КакЦелое,МнемокодПлатильшика,Коллекция);
      ЗаполнитьПоляОрганизацииФК("OriginalAcceptorFK", ссУведомления, ссИсходныеДокументы, ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое,МнемокодПолучателя,Коллекция);
      ЗаполнитьПоляАдминистратораПоступлений(ссУведомления, ссИсходныеДокументы, коллекция);
      ЗаполнитьПоляФедеральногоКазначейства(ссУведомления, ссИсходныеДокументы, коллекция);
      ЗаполнитьПоляТерриториальногоОргана(ссУведомления, ссИсходныеДокументы, коллекция);
      
      Если не ссИсходныеДокументы.Поле('ElRef').Пустое тогда
        Если не (ссИсходныеДокументы.Поле('ElRef').КакСтрока = '')  тогда
          .Поле('ElDocRef').КакЦелое := ссИсходныеДокументы.Поле('ElRef').КакЦелое;
        
      Если (не ЭтоУведомлениеПоЕксел) и (не ЭтоУведомления) тогда 
      начало  
        // плательщик
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, ПрефиксАтрибутов + 'Payer', 'OriginalPayer', '', '', nil, МаппингПолейОрганизации , Ложь);
        // получатель
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, ПрефиксАтрибутов + 'Acceptor', 'OriginalAcceptor', '', '', nil, МаппингПолейОрганизации , Ложь);
        // заполняем ссылки на счет
        если классИсходногоДокумента = класс_ВозвратДоходов тогда // переворачиваем ссылки (сами поля уже перевёрнуты в Ed_OutPayDoc)
          ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, ПрефиксАтрибутов + '', 'Original', '', '', nil, 'PayerAccRef=AcceptorAcc_Ref,AcceptorAccRef=PayerAcc_Ref', ложь)
        иначе 
          ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, ПрефиксАтрибутов + '', 'Original', '', '', nil, 'AcceptorAccRef=AcceptorAcc_Ref,PayerAccRef=PayerAcc_Ref', ложь);
      конец;
      Если НужнаСсылкаНаЗаголовокИсходногоДокумента(классИсходногоДокумента) тогда 
        полеСсылкиНаИсходныйДокумент := "MasterId"
      иначе
        полеСсылкиНаИсходныйДокумент := "ID";
      ЕСЛИ (Коллекция.Значение('НеЗаполнятьНекоторыеПоляИсходногоДокумента')&lt;&gt;1) тогда 
        начало   
          //другие поля
          если ВходитВГруппу(классИсходногоДокумента, Группа_Уведомления) тогда
            ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'Original', 'Original', '', '', nil, 'Number=Number,Summa=Summa,NoteDet=Note', ложь)
          иначе
            ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'Original', 'Original', '', '', nil, 'Number=Number,Summa=Summa,Note=Note', ложь);
          если (ВходитВГруппу(классИсходногоДокумента, Группа_Поступление)) или (классИсходногоДокумента = Класс_УточнениеПоступлений) тогда
            если getParam(4, 0, 'ДатаИсходногоДокументаПоступления=ДатаВвода') = 1 тогда
              ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, '', '', '', '', nil, 'InputDate=OriginalDate', ложь)         
            иначе
              ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'Original', 'Original', '', '', nil, 'Date=Date', ложь)  
          иначе       
            если (ВходитВГруппу(классИсходногоДокумента, Группа_Выбытие)) или (классИсходногоДокумента = Класс_УточнениеВыбытий) тогда
              если getParam(4, 0, 'ДатаИсходногоДокументаВыбытия=ДатаВвода') = 1 тогда
                ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, '', '', '', '', nil, 'InputDate=OriginalDate', ложь)
              иначе  
                ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'Original', 'Original', '', '', nil, 'Date=Date', ложь)
            иначе
              ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления, 'Original', 'Original', '', '', nil, 'Date=Date', ложь);
              
          /$если Бюджет
            .Поле('OriginalRecordIndex').КакСтрока := ссИсходныеДокументы.Поле(полеСсылкиНаИсходныйДокумент).КакСтрока;
          /$конец  
        конец // через ексел не нужно заполнять некоторые поля
      ИНАЧЕ  
        Если (ЭтоВП) или (ЭтоВПл) тогда 
          начало
            /$если Бюджет
              .Поле('OriginalRecordIndex').КакСтрока := ссИсходныеДокументы.Поле(полеСсылкиНаИсходныйДокумент).КакСтрока;
            /$конец           
            .Поле('OriginalProgIndex').КакСтрока := Коллекция.Значение('КлассИсходногоДокумента');
          конец;
  конец; // для ссУведомления
  ЗаполнитьТипУведомления(классИсходногоДокумента, ссУведомления, ссИсходныеДокументы ,Коллекция);
  коллекция.Значение(ип_СсылкаНаУведомление) := ссУведомления.Поле("Id").КакЦелое;
  если коллекция.Значение('ТипИнтерфейса') = ту_УточнениеВыбытий тогда
    ссУведомления.Поле('ElNum').КакСтрока := '';
  ссУведомления.Сохранить;
 // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_СозданиеЗаголовкаУведомлений;
  ЛокКоллекция.Значение('Данные') := ссУведомления;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ВнешняяКоллекция') := коллекция;
  
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
  УдалитьОбъект(ЛокКоллекция);
  // конец вызыва макроса
  ВывестиВПротокол(сообщение_СозданоУведомление, ссУведомления, '');      
конец;


// берём таблицу соответсвия старых и новых ДИ и в соответствии с ней заменяем ДИ
функция ЗаменаДИ(ссИсходныеДокументы, СтарыеИНовыеДИ : СтатическиеДанные; Коллекция : IVariables);
начало
  СтарыеИНовыеДИ.Фильтр := "1&lt;&gt;1";
  ЕСЛИ ссИсходныеДокументы.Поле('ExecDoc').КакСтрока&lt;&gt;'' тогда 
    СтарыеИНовыеДИ.Фильтр := 'OldDiInnerNumber=' + ссИсходныеДокументы.Поле('ExecInnerNUmber').КакСтрока;  
      
  Если СтарыеИНовыеДИ.RecordCount&gt;0 тогда 
  начало
    ссИсходныеДокументы.Поле('ExecDoc').КакСтрока := СтарыеИНовыеДИ.Поле('NewDiNumber').КакСтрока;
    если ВходитВГруппу(Коллекция.Значение(ип_КлассИсходногоДокумента), Группа_Уведомления) тогда
    начало
      ссИсходныеДокументы.Поле('destExecDoc').КакСтрока := СтарыеИНовыеДИ.Поле('NewDiNumber').КакСтрока;
    конец;
    если (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВнутренниеПереброскиРасходов) или (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВнутренниеПлатежиРасходов) тогда
    начало
      ссИсходныеДокументы.Поле('SourceExecDoc').КакСтрока := СтарыеИНовыеДИ.Поле('NewDiNumber').КакСтрока;
    конец;
/*  конец
  иначе
  начало
    ссИсходныеДокументы.Поле('ExecDoc').Очистить;
    если ВходитВГруппу(ссИсходныеДокументы.Поле('ProgIndex').КакЦелое, Группа_Уведомления) тогда
    начало
      ссИсходныеДокументы.Поле('destExecDoc').Очистить;
    конец;
    если (ссИсходныеДокументы.Поле('ProgIndex').КакЦелое = Класс_ВнутренниеПереброскиРасходов) или (ссИсходныеДокументы.Поле('ProgIndex').КакЦелое = Класс_ВнутренниеПлатежиРасходов) тогда
    начало
      ссИсходныеДокументы.Поле('SourceExecDoc').Очистить;
    конец;*/

  конец;
  СтарыеИНовыеДИ.Фильтр := '';
конец;

// берём таблицу соответсвия старых и новых Бо и в соответствии с ней заменяем БО
функция ЗаменаБО(ссИсходныеДокументы, СтарыеИНовыеБО : СтатическиеДанные; Коллекция : IVariables);
начало
  СтарыеИНовыеБО.Фильтр := "1&lt;&gt;1";
  ЕСЛИ ссИсходныеДокументы.Поле('BudgetPromise').КакСтрока&lt;&gt;'' тогда 
    СтарыеИНовыеБО.Фильтр := 'OldInnerPromiseNum=' + ссИсходныеДокументы.Поле('BudgetPromise').КакСтрока 
  иначе
    ЕСЛИ ссИсходныеДокументы.Поле('Promise').КакСтрока&lt;&gt;'' тогда
      СтарыеИНовыеБО.Фильтр := 'OldPromiseNumber=' + ссИсходныеДокументы.Поле('Promise').КакСтрока;
      
  Если СтарыеИНовыеБО.RecordCount&gt;0 тогда
  начало
    ссИсходныеДокументы.Поле('BudgetPromise').КакСтрока := СтарыеИНовыеБО.Поле('NewInnerPromiseNum').КакСтрока;
    ссИсходныеДокументы.Поле('Promise').КакСтрока := СтарыеИНовыеБО.Поле('NewPromiseNumber').КакСтрока;
    если ВходитВГруппу(Коллекция.Значение(ип_КлассИсходногоДокумента), Группа_Уведомления) тогда
    начало
      ссИсходныеДокументы.Поле('destBudgetPromise').КакСтрока := СтарыеИНовыеБО.Поле('NewInnerPromiseNum').КакСтрока;
      ссИсходныеДокументы.Поле('destPromise').КакСтрока := СтарыеИНовыеБО.Поле('NewPromiseNumber').КакСтрока;
    конец;
    если (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВнутренниеПереброскиРасходов) или (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВнутренниеПлатежиРасходов) тогда
    начало
      ссИсходныеДокументы.Поле('SourceBudgetPromise').КакСтрока := СтарыеИНовыеБО.Поле('NewInnerPromiseNum').КакСтрока;
      ссИсходныеДокументы.Поле('SourcePromise').КакСтрока := СтарыеИНовыеБО.Поле('NewPromiseNumber').КакСтрока;
    конец;
  конец
  // для Омска нужно очистить поля БО
  иначе
  начало
    ссИсходныеДокументы.Поле('BudgetPromise').Очистить;
    ссИсходныеДокументы.Поле('Promise').Очистить;
    если ВходитВГруппу(Коллекция.Значение(ип_КлассИсходногоДокумента), Группа_Уведомления) тогда
    начало
      ссИсходныеДокументы.Поле('destBudgetPromise').Очистить;
      ссИсходныеДокументы.Поле('destPromise').Очистить;
    конец;
    если (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВнутренниеПереброскиРасходов) или (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_ВнутренниеПлатежиРасходов) тогда
    начало
      ссИсходныеДокументы.Поле('SourceBudgetPromise').Очистить;
      ссИсходныеДокументы.Поле('SourcePromise').Очистить;
    конец;
  конец;
  СтарыеИНовыеБО.Фильтр := '';
конец;


функция ПолучитьИнформациюОНовомДокументеУведомления(Коллекция : IVariables) : СтатическиеДанные;
переменные
  ЛокКоллекция : IVariables;
  КлассНовогоДокумента, СсылкаНаНовыйДокумент : целое;
  ссНовыйДокументИсходногоУведомления : СтатическиеДанные;
  стАтрибутыНовогоДокумента : строка;
  ОВ : ОкноВывода;
начало
//Инициализация переменных
  ЛокКоллекция  := CreateVariables;
  ОВ := ОкноВывода;
  ссНовыйДокументИсходногоУведомления := СоздатьСтатикСет;
  Результат := nil;
  
  /$если Бюджет
    //Работа с новым документом исходного уведомления
    НайтиНовыйДокументУведомления(Коллекция.Значение("СсылкаНаИсходныйДокумент"), КлассНовогоДокумента, СсылкаНаНовыйДокумент);
    Если СсылкаНаНовыйДокумент&lt;&gt;0 тогда 
      начало
        Результат := ссНовыйДокументИсходногоУведомления;
        ЛокКоллекция.Значение('КодЗаписи') := СсылкаНаНовыйДокумент;
        ЛокКоллекция.Значение("ВыбиратьОтклоненные") := Истина;
        ссНовыйДокументИсходногоУведомления.Запрос := ПолучитьЗапросПоКлассу(КлассНовогоДокумента, ЛокКоллекция);
        СформироватьОграничения(ссНовыйДокументИсходногоУведомления, КлассНовогоДокумента, ЛокКоллекция);        
        ссНовыйДокументИсходногоУведомления.Открыть;
        ссНовыйДокументИсходногоУведомления.Фильтр := 'Reject_Cls is null';
        Если ссНовыйДокументИсходногоУведомления.RecordCount &gt; 0 тогда 
          начало
            Если не ф_ЭтоВП(КлассНовогоДокумента) тогда
              начало
                Коллекция.Значение("ФормироватьУведомление")  := Ложь;
                Коллекция.Значение("КлассКорректирующегоДокумента_Уведомление") := КлассНовогоДокумента;
              конец  
            иначе 
              Коллекция.Значение('ФормироватьУведомления') := Истина;
            Коллекция.Значение("КлассНовогоДокумента_Уведомление") := КлассНовогоДокумента;  
          конец 
        иначе
          начало // не нашли документ - значит он отклонен, выводим сообщение об этом
            ссНовыйДокументИсходногоУведомления.Фильтр := '';
            стАтрибутыНовогоДокумента :=  '  Номер : ' + ссНовыйДокументИсходногоУведомления.Поле('DocNumber').КакСтрока + nl +
                                          '  Дата  : ' + ДатаВСтроку(РасширДатаВОбычную_(ссНовыйДокументИсходногоУведомления.Поле('InputDate').КакЦелое)) + nl +
                                          '  Сумма : ' + ссНовыйДокументИсходногоУведомления.Поле('Summa').КакСтрока + nl +
                                          '  Класс : ' + ПолучитьНаименованиеДляДиалога(КлассНовогоДокумента);
            Если ссНовыйДокументИсходногоУведомления.RecordCount&gt;0 тогда
              ВывестиВПротокол(0, nil, 'У исходного уведомления новый документ отклонён или снята дата принятия, поэтому у этого уведомления не будут сформированы корректирующий и новый документы.' + nl + 
                                       'Атрибуты нового документа: ' + nl + 
                                        стАтрибутыНовогоДокумента)
            иначе 
              Ов.Вывести("Не найден новый документ исходного уведомления." + nl +       
                         "Атрибуты нового документа : " + nl + 
                         стАтрибутыНовогоДокумента);
//   Переделано на вывод этого сообщения в Окно сообщений                     
/*              ВызватьОшибку("Не найден новый документ исходного уведомления." + nl +       
                            "Атрибуты нового документа : " + nl + 
                            стАтрибутыНовогоДокумента);*/                           
          конец; 
      конец;
  /$конец  
конец;

функция СоздатьИсходнуюКлассификацию(ссИсходныеДокументы, ссУведомления, ссУведомления_ИсходнаяКлассификация : СтатическиеДанные; Коллекция : IVariables);
переменные
  текст_параметры, ткст_СписокИДПоКлассам: текст;
  кодРодительскогоДокумента, кодДочернегоДокумента, НапровлениеКлассификации : целое;
  списокРодительскихДокументов, СтарыйФильтр, КлассДокумента, ИдИсходногоДокумента : строка;
  ПолеЭЛДок: поле;
  ОКАТО : строка;
  ид, Индекс, ТипИнтерфейса : ЦЕЛОЕ;
  ЛокКоллекция : IVariables;
начало
  ссУведомления_ИсходнаяКлассификация.Вставить;
  ПолеЭЛДок := ссИсходныеДокументы.Поле("ElREf");
  ткст_СписокИДПоКлассам := СоздатьТекст;
//заполняем классификацию
  ссУведомления_ИсходнаяКлассификация.Поле('ClsType').КакЦелое := ссИсходныеДокументы.Поле('ClsType').КакЦелое;
  ссУведомления_ИсходнаяКлассификация.Поле('ORIGINALCLSSUMMA').КакДробное := ссИсходныеДокументы.Поле('SUMMAREMAINDER').КакДробное;
  ЕСЛИ (Коллекция.Значение(ип_КлассИсходногоДокумента)&lt;&gt;Класс_ВнутренниеПереброскиРасходов) и (не Коллекция.Значение("ЭтоУведомления"))
       и (Коллекция.Значение(ип_КлассИсходногоДокумента)&lt;&gt;Класс_ВнутренниеПлатежиРасходов)
  тогда 
    ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_ИсходнаяКлассификация, '', '', '', '', nil, МаппингКлКтаблицеЗамены(1), ложь)
  ИНАЧЕ
    // из внутренней переброски в исходную классификацию копируем получателя
    ЕСЛИ (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПереброскиРасходов) тогда
    начало
    // нужно учитывать направление операции исходного документа 
      если ссИсходныеДокументы.Поле('OperationDirection').КакЦелое = 2 тогда
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_ИсходнаяКлассификация, 'Dest', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина)
      иначе
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_ИсходнаяКлассификация, 'Source', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина);
    конец    
    ИНАЧЕ  
      ЕСЛИ (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПлатежиРасходов) тогда
      начало
        ссУведомления_ИсходнаяКлассификация.Поле('ClsType').КакЦелое := ссИсходныеДокументы.Поле('SourceClsType').КакЦелое;
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_ИсходнаяКлассификация, 'Source', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина);
      конец
      Иначе
        // в качестве исходного документа выступает уведомление
        если  (Коллекция.Значение("ЭтоУведомления")) и (не  (Коллекция.Значение("ЭтоЕксел")) ) тогда
        начало
          ссУведомления_ИсходнаяКлассификация.Поле('ClsType').КакЦелое := ссИсходныеДокументы.Поле('ClsType_Corr').КакЦелое;            
          ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_ИсходнаяКлассификация, 'Dest', '', '', '', nil, МаппингКлКтаблицеЗамены(1), ложь);
        конец
        иначе
          Если (Коллекция.Значение("ЭтоЕксел")) тогда
            начало
              ссУведомления_ИсходнаяКлассификация.Поле('ClsType').КакЦелое := ссИсходныеДокументы.Поле('ClsType_Corr').КакЦелое;
              ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_ИсходнаяКлассификация, '', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина)
            конец;  

//заполняем другие поля
  ссУведомления_ИсходнаяКлассификация.Поле("Id").КакЦелое := ГенерироватьДиап('G_Shared', 1);
  Если ПолеЭлДок.КакСтрока &lt; '1' тогда 
  начало
    ОКАТО := Разыменовать("Налог.ОКАТО.Код",ссИсходныеДокументы.Поле('TaxNote').КакСтрока);
    если СтрокаВЦелое(Подстрока(ОКАТО,1,8)) &lt;&gt; 0 тогда
    начало 
      ссУведомления_ИсходнаяКлассификация.ПолеПоИмени('OKATO').КакЦелое := СтрокаВЦелое(Подстрока(ОКАТО,1,8));  
      ссУведомления_ИсходнаяКлассификация.ПолеПоИмени('ADDOKATO').КакЦелое := СтрокаВЦелое(Подстрока(ОКАТО,9,3));
    конец
    иначе
    начало
     ссУведомления_ИсходнаяКлассификация.ПолеПоИмени('OKATO').КакСтрока := '';
     ссУведомления_ИсходнаяКлассификация.ПолеПоИмени('ADDOKATO').КакСтрока := '';
    конец;  
  конец
  иначе
  начало
    ссУведомления_ИсходнаяКлассификация.ПолеПоИмени('OKATO').КакСтрока := Коллекция.Значение("OKATO");
    ссУведомления_ИсходнаяКлассификация.ПолеПоИмени('ADDOKATO').КакСтрока := Коллекция.Значение("ADDOKATO");
  конец;
  // поля блокировок
  ссУведомления_ИсходнаяКлассификация.Поле("IsBlocked").КакЦелое := ссИсходныеДокументы.Поле("IsBlocked").КакЦелое;
  ссУведомления_ИсходнаяКлассификация.Поле("BlockedCause").КакСтрока := ссИсходныеДокументы.Поле("BlockedCause").КакСтрока;
  ссУведомления_ИсходнаяКлассификация.Поле("UnBlockedDate").КакСтрока := ссИсходныеДокументы.Поле("UnBlockedDate").КакСтрока;
  ссУведомления_ИсходнаяКлассификация.Поле("UnBlockedCause").КакСтрока := ссИсходныеДокументы.Поле("UnBlockedCause").КакСтрока;
  ссУведомления_ИсходнаяКлассификация.Поле("BudgetRef").КакЦелое := ссИсходныеДокументы.Поле("BudgetRef").КакЦелое;
  ссУведомления_ИсходнаяКлассификация.Поле("ParentId").КакЦелое := ссУведомления_ИсходнаяКлассификация.Поле("Id").КакЦелое;
  если не Коллекция.Значение("ЭтоЕксел") тогда
  начало
    Если Коллекция.Значение('ТолькоУточненные') тогда
      ссУведомления_ИсходнаяКлассификация.Поле("Summa").КакДробное := ссИсходныеДокументы.Поле("Summa").КакДробное
    иначе 
      ссУведомления_ИсходнаяКлассификация.Поле("Summa").КакДробное := ссИсходныеДокументы.Поле("SummaRemainder").КакДробное
  конец  
  иначе 
    ссУведомления_ИсходнаяКлассификация.Поле("Summa").КакДробное := ссИсходныеДокументы.Поле("SummaRemainder").КакДробное;  
  ссУведомления_ИсходнаяКлассификация.Поле("RecordIndex").КакЦелое := ссУведомления.Поле("Id").КакЦелое;
  ссУведомления_ИсходнаяКлассификация.Поле("ProgIndex").КакЦелое := прогиндекс_ИсходнаяКлассификация;
  текст_параметры := СоздатьТекст;
  текст_параметры.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4,0,'СинхронизироватьПримечание');  
  если Коллекция.Значение("ЭтоУведомления") тогда
    ссУведомления_ИсходнаяКлассификация.Поле("Note").КакСтрока := ссИсходныеДокументы.Поле("OriginalNoteDet").КакСтрока
  иначе  
    начало 
    Если ПолеЭлДок.КакСтрока&lt;'1' тогда 
      ссУведомления_ИсходнаяКлассификация.Поле("Note").КакСтрока := ссИсходныеДокументы.Поле("Note").КакСтрока
    иначе
      ссУведомления_ИсходнаяКлассификация.Поле("Note").КакСтрока := ссУведомления.Поле("OriginalNote").КакСтрока
  конец; 
  
  если (не ВходитВГруппу(ссИсходныеДокументы.Поле('ProgIndex').КакЦелое, Группа_Уведомления)) и (не (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПереброскиРасходов)) тогда 
  начало
    ссУведомления_ИсходнаяКлассификация.Поле("Promise").КакСтрока := ссИсходныеДокументы.Поле("Promise").КакСтрока;
    ссУведомления_ИсходнаяКлассификация.Поле("BudgetPromise").КакСтрока := ссИсходныеДокументы.Поле("BudgetPromise").КакСтрока;
    ссУведомления_ИсходнаяКлассификация.Поле("ExecDoc").КакСтрока := ссИсходныеДокументы.Поле("ExecDoc").КакСтрока;
  конец
  иначе
  начало
    если (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПереброскиРасходов) или (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПлатежиРасходов) тогда
    начало
      ссУведомления_ИсходнаяКлассификация.Поле("Promise").КакСтрока := ссИсходныеДокументы.Поле("destPromise").КакСтрока;
      ссУведомления_ИсходнаяКлассификация.Поле("BudgetPromise").КакСтрока := ссИсходныеДокументы.Поле("destBudgetPromise").КакСтрока;
      ссУведомления_ИсходнаяКлассификация.Поле("ExecDoc").КакСтрока := ссИсходныеДокументы.Поле("destExecDoc").КакСтрока;
    конец
    иначе
    начало
      ссУведомления_ИсходнаяКлассификация.Поле("Promise").КакСтрока := ссИсходныеДокументы.Поле("DestPromise").КакСтрока;
      ссУведомления_ИсходнаяКлассификация.Поле("BudgetPromise").КакСтрока := ссИсходныеДокументы.Поле("DestBudgetPromise").КакСтрока;
      ссУведомления_ИсходнаяКлассификация.Поле("ExecDoc").КакСтрока := ссИсходныеДокументы.Поле("DestExecDoc").КакСтрока;
    конец;

  конец;  
  
  // проставляем связь для Кор документа
  если  не Коллекция.Значение("ЭтоЕксел") тогда
  начало
    кодРодительскогоДокумента := ссИсходныеДокументы.Поле("Id").КакЦелое ;
    кодДочернегоДокумента := ссУведомления_ИсходнаяКлассификация.Поле("Id").КакЦелое;
    СвязатьДокументы(коллекция.Значение("linkInfo"), Коллекция.Значение(ип_КлассИсходногоДокумента), Коллекция.Значение("ТипИнтерфейса"), кодРодительскогоДокумента, кодДочернегоДокумента, ложь, ложь, ложь, истина, Коллекция);
  конец                                                                                                    
  иначе
  начало
    кодДочернегоДокумента := ссУведомления_ИсходнаяКлассификация.Поле("Id").КакЦелое;
    списокРодительскихДокументов := ссИсходныеДокументы.Поле("ListId").КакСтрока;
    если не Коллекция.Значение('ИспользуетсяКассовыйРасход') тогда
    начало
      СвязатьДокументыЕкселКор(коллекция.Значение("linkInfo"),Коллекция.Значение(ип_КлассИсходногоДокумента), Коллекция.Значение("ТипИнтерфейса"), списокРодительскихДокументов, кодДочернегоДокумента, Коллекция);
    конец
    иначе
    начало
      списокРодительскихДокументов := ЗаменитьСтроку(списокРодительскихДокументов, ";,", ";");
      ткст_СписокИДПоКлассам.РазделенноеЗначение(";") := списокРодительскихДокументов;
      Индекс := 0;
      пока Индекс &lt;= ткст_СписокИДПоКлассам.Количество-1 делать
      начало
        КлассДокумента := ткст_СписокИДПоКлассам.ИмяПараметра(Индекс);
        ИдИсходногоДокумента := ткст_СписокИДПоКлассам.ЗначениеПараметра(КлассДокумента);
        ТипИнтерфейса := Коллекция.Значение("ТипИнтерфейса");
        если КлассДокумента = Класс_ПриходОтПрочих тогда
          ТипИнтерфейса := ту_УточнениеПоступлений;
        СвязатьДокументыЕкселКор(коллекция.Значение("linkInfo"),КлассДокумента, ТипИнтерфейса, ИдИсходногоДокумента, кодДочернегоДокумента, Коллекция);
        Индекс := Индекс + 1;
      конец; 
    конец;
  конец;
  
  если /*(Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений) и*/ (ссИсходныеДокументы.Поле("AcceptorAccRef").КакСтрока &gt; "0") и (не (Коллекция.Значение("ЭтоЕксел"))) тогда
  начало
    /$если Бюджет
      Если (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ПоступлениеДоходов) и (ссИсходныеДокументы.Поле('PayerAccRef').КакСтрока = '') тогда
        ссУведомления.Поле('OriginalPayerAcc_Ref').КакЦелое := ПолучитьСчетПлательщикаПоОрганизации(ссИсходныеДокументы.Поле('Org_Ref').КакЦелое);
     /*Если ссИсходныеДокументы.Поле('PayerAccRef').КакСтрока = '' или ссИсходныеДокументы.Поле('PayerAccRef').КакСтрока = '0' тогда
        ВызватьОшибку('Формирование уведомления остановлено, так как в исходном документе не указан счет плательщика')
      иначе*/
        СформироватьПоОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_ИсходнаяКлассификация,Коллекция.Значение("ТипИнтерфейса"), 1);
    /$иначе
       ид:= ссУведомления_ИсходнаяКлассификация.Поле("id").КакЦелое;
       СтарыйФильтр := ссУведомления_ИсходнаяКлассификация.Фильтр;
       ссУведомления_ИсходнаяКлассификация.Фильтр := Формат("id=%s", ЦелоеВСтроку(ид));
       СформироватьПоНовымОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_ИсходнаяКлассификация,Коллекция.Значение("ТипИнтерфейса"), 1);
       ссУведомления_ИсходнаяКлассификация.Фильтр := СтарыйФильтр;
//т.к. функция СформироватьПоНовымОбластям перемещает курсор на первую запись, необходимо спозиционироваться на обрабатываемую запись
       ссУведомления_ИсходнаяКлассификация.Локализовать('id',ид,0);
    /$конец  
  конец;
  // области форматирования почему то не заполняют ссылку на счет - сделаем это руками 
  если ((ссУведомления_ИсходнаяКлассификация.Поле("ChangeAcc_Ref").какСтрока = "") или (ссУведомления_ИсходнаяКлассификация.Поле("ChangeAcc_Ref").какСтрока = "0"))
       и (ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое &lt;&gt; 0) тогда
    начало 
      ссУведомления_ИсходнаяКлассификация.редактировать;  
      ссУведомления_ИсходнаяКлассификация.Поле("ChangeAcc_Ref").КакЦелое := ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое;
    конец;   
  
  // заполнить напровление операции в детали
  НапровлениеКлассификации :=  ВернутьНаправлениеКлассификации(ссУведомления_ИсходнаяКлассификация.Поле('ClsType').КакЦелое, ссУведомления_ИсходнаяКлассификация.Поле('Ifs').КакЦелое);
  если ссУведомления.Поле('ProgIndex').какцелое = ту_УточнениеПоступлений тогда
  начало
    выбрать НапровлениеКлассификации из
      нк_Доход : ссУведомления_ИсходнаяКлассификация.Поле('OperationType').КакЦелое := -1;
      нк_Расход : ссУведомления_ИсходнаяКлассификация.Поле('OperationType').КакЦелое := 1;  
    конец;
  конец
  иначе
  начало
    выбрать НапровлениеКлассификации из
      нк_Доход : ссУведомления_ИсходнаяКлассификация.Поле('OperationType').КакЦелое := 1;
      нк_Расход : ссУведомления_ИсходнаяКлассификация.Поле('OperationType').КакЦелое := -1;  
    конец;
  конец;
  // обработка исключений
  // 1. Класс_РаспределениеОФ, Класс_УтверждениеОФ, Класс_Разассигновка  -  являются исходными
  если (ссИсходныеДокументы.Поле("Progindex").КакЦелое =  Класс_РаспределениеОФ) или 
       (ссИсходныеДокументы.Поле("Progindex").КакЦелое =  Класс_УтверждениеОФ) или
       (ссИсходныеДокументы.Поле("Progindex").КакЦелое =  Класс_Разассигновка)
  тогда
    ссУведомления_ИсходнаяКлассификация.Поле('OperationType').КакЦелое := -1;
  Коллекция.Значение(ип_КлассКорректирующегоДокумента);
  // обработка исключений конец
  
  ссУведомления_ИсходнаяКлассификация.Редактировать;
  ссУведомления_ИсходнаяКлассификация.Сохранить;
  // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_СозданиеИсходнойКлассификации;
  ЛокКоллекция.Значение('Данные') := ссУведомления_ИсходнаяКлассификация;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ВнешняяКоллекция') := коллекция;
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
  УдалитьОбъект(ЛокКоллекция);
  // конец вызыва макроса
  УдалитьОбъект(текст_параметры);
//заполняем служебную информацию 
  Коллекция.Значение("ТекущийИДИсходнойКлассификации") := ссУведомления_ИсходнаяКлассификация.Поле("Id").КакЦелое;
  ВывестиВПротокол(сообщение_СозданоУведомление_ИсходнаяКлассификация, ссУведомления_ИсходнаяКлассификация, '');  
конец;


функция МожноСтавитьСтаруюКлсВНовую(ТипКлассификации , КлассСвязанногоДокумента : целое) : целое;
начало
  результат := Истина;
  Если не классСвязанногоДокумента = 0 тогда
    Результат := ПроверитьТипКлассификацииНаСоответствиеКлассу(ТипКлассификации, КлассСвязанногоДокумента);
конец;

функция СоздатьНовуюКлассификацию(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация : СтатическиеДанные; Коллекция : IVariables);
переменные
  текст_параметры: текст;
  ПолеЭЛДок : поле;
  ОКАТО, НапровлениеКлассификации, СтарыйФильтр : строка;
  ид: ЦЕЛОЕ;
  ЛокКоллекция : IVariables;
начало
  ссУведомления_НоваяКлассификация.Вставить; 
  ПолеЭЛДок := ссИсходныеДокументы.Поле("ElREf"); 
//заполняем классификацию 
  ссУведомления_НоваяКлассификация.Поле("ClsType").КакЦелое := ссИсходныеДокументы.Поле("ClsType").КакЦелое;

  ЕСЛИ (Коллекция.Значение(ип_КлассИсходногоДокумента)&lt;&gt;Класс_ВнутренниеПереброскиРасходов) и (не Коллекция.Значение("ЭтоУведомления"))
       и (Коллекция.Значение(ип_КлассИсходногоДокумента)&lt;&gt;Класс_ВнутренниеПлатежиРасходов) 
    тогда
    начало 
      Если ((Коллекция.Значение('ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой')) или 
           (Коллекция.Значение('ЭтоДопУведомление')=Истина) или 
           (Коллекция.Значение("ЭтоЕксел"))) 
      тогда
        начало
          Если  МожноСтавитьСтаруюКлсВНовую(ссИсходныеДокументы.Поле("ClsType").КакЦелое, Коллекция.Значение(ип_КлассНовогоДокумента)) тогда
          начало
            ссУведомления_НоваяКлассификация.Поле("ClsType").КакЦелое := ссИсходныеДокументы.Поле("ClsType").КакЦелое;
            ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_НоваяКлассификация, '', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина);
          конец
          Иначе 
            ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_НоваяКлассификация, '', '', '', '', nil, МаппингНеОсновнойКлс, Истина);              
        конец;  
    конец    
  ИНАЧЕ
    // из внутренней переброски в новую классификацию копируем плательщика
    Если (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПереброскиРасходов) тогда
    начало
    // нужно учитывать направление операции исходного документа 
      если ссИсходныеДокументы.Поле('OperationDirection').КакЦелое = 2 тогда
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_НоваяКлассификация, 'Source', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина)
      иначе
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_НоваяКлассификация, 'Dest', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина)
    конец    
    иначе
      Если (Коллекция.Значение(ип_КлассИсходногоДокумента)= Класс_ВнутренниеПлатежиРасходов) тогда
      начало
        ссУведомления_НоваяКлассификация.Поле('ClsType').КакЦелое := ссИсходныеДокументы.Поле('DestClsType').КакЦелое;
        ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_НоваяКлассификация, 'Dest', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина);
      конец
      иначе // в качестве исходного документа выступает уведомление 
      Если (Коллекция.Значение('ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой')) тогда 
        начало
          ссУведомления_НоваяКлассификация.Поле('ClsType').КакЦелое := ссИсходныеДокументы.Поле('ClsType_Corr').КакЦелое;
          ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_НоваяКлассификация, 'Dest', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина)
        конец
      иначе
        Если (Коллекция.Значение("ЭтоЕксел")) тогда
        начало
          ссУведомления_НоваяКлассификация.Поле('ClsType').КакЦелое := ссИсходныеДокументы.Поле('ClsType_Corr').КакЦелое;
          ЗаменитьПоляПоМаппингу(ссИсходныеДокументы, ссУведомления_НоваяКлассификация, '', '', '', '', nil, МаппингКлКтаблицеЗамены(1), Истина)
        конец;  
  если ВходитВГруппу(Коллекция.Значение(ип_КлассНовогоДокумента),Группа_Казначейство) и ( ВходитВГруппу(Коллекция.Значение(ип_КлассИсходногоДокумента),Группа_Доходы)) 
       и ( не (Коллекция.Значение("ЭтоЕксел")))
  тогда
  начало
    ссУведомления_НоваяКлассификация.Поле("ClsType").КакЦелое := 0;
    ссУведомления_НоваяКлассификация.Поле("kfsr").КакЦелое := 0;
    ссУведомления_НоваяКлассификация.Поле("kvr").КакЦелое := 0;
    ссУведомления_НоваяКлассификация.Поле("kvsr").КакЦелое := 0;
    ссУведомления_НоваяКлассификация.Поле("kesr").КакЦелое := 0;
    ссУведомления_НоваяКлассификация.Поле("kcsr").КакЦелое := 0;
    ссУведомления_НоваяКлассификация.Поле("kd").КакЦелое := 0;
    ссУведомления_НоваяКлассификация.Поле("ifs").КакЦелое := 0;
  конец;   
  // реализация для ПЗК переноса на другую классификацию
  если (Коллекция.Значение("ТипНовойКлассификации") &lt;&gt; '') и (Коллекция.Значение("ТипНовойКлассификации") &lt;&gt; ссИсходныеДокументы.Поле("ClsType").КакЦелое) тогда
  начало
    ссУведомления_НоваяКлассификация.Поле("ClsType").КакЦелое := Коллекция.Значение("ТипНовойКлассификации");
    ОчиститьПоляКлассификацииПоТипу(Коллекция.Значение("ТипНовойКлассификации"), ссУведомления_НоваяКлассификация);
  конец;       
//заполняем другие поля
  ссУведомления_НоваяКлассификация.Поле("Id").КакЦелое := ГенерироватьДиап('G_Shared', 1);
  Если ПолеЭлДок.КакСтрока&lt;'1' тогда 
  начало
    ОКАТО := Разыменовать("Налог.ОКАТО.Код",ссИсходныеДокументы.Поле('TaxNote').КакСтрока);
    если СтрокаВЦелое(Подстрока(ОКАТО,1,8)) &lt;&gt; 0 тогда
    начало 
      ссУведомления_НоваяКлассификация.ПолеПоИмени('OKATO').КакЦелое := СтрокаВЦелое(Подстрока(ОКАТО,1,8));  
      ссУведомления_НоваяКлассификация.ПолеПоИмени('ADDOKATO').КакЦелое := СтрокаВЦелое(Подстрока(ОКАТО,9,3));
    конец
    иначе
    начало
     ссУведомления_НоваяКлассификация.ПолеПоИмени('OKATO').КакСтрока := '';
     ссУведомления_НоваяКлассификация.ПолеПоИмени('ADDOKATO').КакСтрока := '';
    конец;  
  конец
  иначе
  начало
    ссУведомления_НоваяКлассификация.ПолеПоИмени('OKATO').КакСтрока := Коллекция.Значение("OKATO");
    ссУведомления_НоваяКлассификация.ПолеПоИмени('ADDOKATO').КакСтрока := Коллекция.Значение("ADDOKATO");
  конец;
   // поля блокировок
  ссУведомления_НоваяКлассификация.Поле("IsBlocked").КакЦелое := ссИсходныеДокументы.Поле("IsBlocked").КакЦелое;
  ссУведомления_НоваяКлассификация.Поле("BlockedCause").КакСтрока := ссИсходныеДокументы.Поле("BlockedCause").КакСтрока;
  ссУведомления_НоваяКлассификация.Поле("UnBlockedDate").КакСтрока := ссИсходныеДокументы.Поле("UnBlockedDate").КакСтрока;
  ссУведомления_НоваяКлассификация.Поле("UnBlockedCause").КакСтрока := ссИсходныеДокументы.Поле("UnBlockedCause").КакСтрока;
  ссУведомления_НоваяКлассификация.Поле("BudgetRef").КакЦелое := ссИсходныеДокументы.Поле("BudgetRef").КакЦелое;
  
  если ссИсходныеДокументы.Поле("IsBlocked").КакЦелое тогда
  начало
    ссУведомления_НоваяКлассификация.Поле("UnBlockedDate").КакСтрока := Коллекция.Значение("ТекущаяДата");
  конец;
    
  ссУведомления_НоваяКлассификация.Поле("ParentId").КакЦелое := Коллекция.Значение("ТекущийИДИсходнойКлассификации");
  
  если не Коллекция.Значение("ЭтоЕксел") тогда
  начало
    Если Коллекция.Значение('ТолькоУточненные') тогда
      ссУведомления_НоваяКлассификация.Поле("Summa").КакДробное := ссИсходныеДокументы.Поле("Summa").КакДробное
    иначе 
      ссУведомления_НоваяКлассификация.Поле("Summa").КакДробное := ссИсходныеДокументы.Поле("SummaRemainder").КакДробное
  конец
  иначе 
    ссУведомления_НоваяКлассификация.Поле("Summa").КакДробное := ссИсходныеДокументы.Поле("SummaRemainder").КакДробное;  
  ссУведомления_НоваяКлассификация.Поле("RecordIndex").КакЦелое := ссУведомления.Поле("Id").КакЦелое;
  ссУведомления_НоваяКлассификация.Поле("ProgIndex").КакЦелое := прогиндекс_НоваяКлассификация;
  если ВходитВГруппу(Коллекция.Значение(ип_КлассИсходногоДокумента), Группа_Уведомления) тогда
    ссУведомления_НоваяКлассификация.Поле('BuhOperationCls').КакЦелое := ссИсходныеДокументы.Поле('BuhOperationCls').КакЦелое 
  иначе  
    ссУведомления_НоваяКлассификация.Поле('BuhOperationCls').КакЦелое := ВернутьОперациюУведомления(коллекция);
  текст_параметры := СоздатьТекст;
  текст_параметры.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4,0,'СинхронизироватьПримечание');  
  если Коллекция.Значение("ЭтоУведомления") тогда
    ссУведомления_НоваяКлассификация.Поле("Note").КакСтрока := ссИсходныеДокументы.Поле("OriginalNoteDet").КакСтрока
  иначе
  начало 
    Если ПолеЭлДок.КакСтрока&lt;'1' тогда 
      ссУведомления_НоваяКлассификация.Поле("Note").КакСтрока := ссИсходныеДокументы.Поле("Note").КакСтрока
    иначе
      ссУведомления_НоваяКлассификация.Поле("Note").КакСтрока := ссУведомления.Поле("OriginalNote").КакСтрока
  конец;
  
  если (не ВходитВГруппу(ссИсходныеДокументы.Поле('ProgIndex').КакЦелое, Группа_Уведомления)) и (не (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПереброскиРасходов)) 
       и (не (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПлатежиРасходов))
  тогда  
  начало
    ссУведомления_НоваяКлассификация.Поле("Promise").КакСтрока := ссИсходныеДокументы.Поле("Promise").КакСтрока;
    ссУведомления_НоваяКлассификация.Поле("BudgetPromise").КакСтрока := ссИсходныеДокументы.Поле("BudgetPromise").КакСтрока;
    ссУведомления_НоваяКлассификация.Поле("ExecDoc").КакСтрока := ссИсходныеДокументы.Поле("ExecDoc").КакСтрока;
  конец
  иначе
  начало
   если (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПереброскиРасходов) или ((Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ВнутренниеПлатежиРасходов)) тогда
    начало
      ссУведомления_НоваяКлассификация.Поле("Promise").КакСтрока := ссИсходныеДокументы.Поле("sourcePromise").КакСтрока;
      ссУведомления_НоваяКлассификация.Поле("BudgetPromise").КакСтрока := ссИсходныеДокументы.Поле("sourceBudgetPromise").КакСтрока;
      ссУведомления_НоваяКлассификация.Поле("ExecDoc").КакСтрока := ссИсходныеДокументы.Поле("sourceExecDoc").КакСтрока;
    конец
    иначе
    начало
      ссУведомления_НоваяКлассификация.Поле("Promise").КакСтрока := ссИсходныеДокументы.Поле("destPromise").КакСтрока;
      ссУведомления_НоваяКлассификация.Поле("BudgetPromise").КакСтрока := ссИсходныеДокументы.Поле("destBudgetPromise").КакСтрока;
      ссУведомления_НоваяКлассификация.Поле("ExecDoc").КакСтрока := ссИсходныеДокументы.Поле("destExecDoc").КакСтрока;
    конец;
  конец;  
  

  если /*(Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений) и*/ (ссИсходныеДокументы.Поле("AcceptorAccRef").КакСтрока &gt; "0") и (не (Коллекция.Значение("ЭтоЕксел"))) тогда
  начало
    /$если Бюджет
      Если (Коллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ПоступлениеДоходов) и (ссИсходныеДокументы.Поле('PayerAccRef').КакСтрока = '') тогда
        ссУведомления.Поле('OriginalPayerAcc_Ref').КакЦелое := ПолучитьСчетПлательщикаПоОрганизации(ссИсходныеДокументы.Поле('Org_Ref').КакЦелое);
     /* Если ссИсходныеДокументы.Поле('PayerAccRef').КакСтрока = '' или ссИсходныеДокументы.Поле('PayerAccRef').КакСтрока = '0' тогда
        ВызватьОшибку('Формирование уведомления остановлено, так как в исходном документе не указан счет плательщика')
      иначе*/
        СформироватьПоОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация,Коллекция.Значение("ТипИнтерфейса"), 1);
    /$иначе
       ид:= ссУведомления_НоваяКлассификация.Поле("id").КакЦелое;
       СтарыйФильтр := ссУведомления_НоваяКлассификация.Фильтр;
       ссУведомления_НоваяКлассификация.Фильтр := Формат("id=%s", ЦелоеВСтроку(ид));
       СформироватьПоНовымОбластям(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация,Коллекция.Значение("ТипИнтерфейса"), 1);
       ссУведомления_НоваяКлассификация.Фильтр := СтарыйФильтр;
//т.к. функция СформироватьПоНовымОбластям перемещает курсор на первую запись, необходимо спозиционироваться на обрабатываемую запись
       ссУведомления_НоваяКлассификация.Локализовать('id',ид,0);
    /$конец  
  конец;
  // области форматирования почему то не заполняют ссылку на счет - сделаем это руками 
  если ((ссУведомления_НоваяКлассификация.Поле("ChangeAcc_Ref").какСтрока = "") или (ссУведомления_НоваяКлассификация.Поле("ChangeAcc_Ref").какСтрока = "0"))
       и (ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое &lt;&gt; 0) тогда
    начало 
      ссУведомления_НоваяКлассификация.редактировать;  
      ссУведомления_НоваяКлассификация.Поле("ChangeAcc_Ref").КакЦелое := ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое;
    конец; 
 // заполнить напровление операции в детали
  НапровлениеКлассификации :=  ВернутьНаправлениеКлассификации(ссУведомления_НоваяКлассификация.Поле('ClsType').КакЦелое, ссУведомления_НоваяКлассификация.Поле('Ifs').КакЦелое);
  если ссУведомления.Поле('ProgIndex').какцелое = ту_УточнениеПоступлений тогда
  начало
    выбрать НапровлениеКлассификации из
      нк_Доход : ссУведомления_НоваяКлассификация.Поле('OperationType').КакЦелое := 1; // прямая
      нк_Расход : ссУведомления_НоваяКлассификация.Поле('OperationType').КакЦелое := -1; // обратная 
    конец;
  конец
  иначе
  начало
    выбрать НапровлениеКлассификации из
      нк_Доход : ссУведомления_НоваяКлассификация.Поле('OperationType').КакЦелое := -1; // обратная
      нк_Расход : ссУведомления_НоваяКлассификация.Поле('OperationType').КакЦелое := 1; // прямая  
    конец;
  конец;
  
  // обработка исключений
  // 1. Класс_РаспределениеОФ, Класс_УтверждениеОФ, Класс_Разассигновка -  являются исходными
  если (ссИсходныеДокументы.Поле("Progindex").КакЦелое =  Класс_РаспределениеОФ) или 
       (ссИсходныеДокументы.Поле("Progindex").КакЦелое =  Класс_УтверждениеОФ) или
       (ссИсходныеДокументы.Поле("Progindex").КакЦелое =  Класс_Разассигновка)
  тогда
    ссУведомления_НоваяКлассификация.Поле('OperationType').КакЦелое := 1;
  Коллекция.Значение(ип_КлассКорректирующегоДокумента);
    
  ссУведомления_НоваяКлассификация.Редактировать;       
  ссУведомления_НоваяКлассификация.Сохранить;
  // заполнить коллекцию и выполняем макрос из настроек уведомлений
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Значение('ТипВызова') := т_СозданиеНовойКлассификации;
  ЛокКоллекция.Значение('Данные') := ссУведомления_НоваяКлассификация;
  ЛокКоллекция.Значение('Уведомления') := ссУведомления;
  ЛокКоллекция.Значение('ИсходныеДанные') := ссИсходныеДокументы;
  ЛокКоллекция.Значение('ВнешняяКоллекция') := коллекция;
  ВыполнитьСкриптИзНастроекУведомлений(ЛокКоллекция);
  УдалитьОбъект(ЛокКоллекция);
  // конец вызыва макроса
  
  УдалитьОбъект(текст_параметры);
  
  ВывестиВПротокол(сообщение_СозданоУведомление_НоваяКлассификация, ссУведомления_НоваяКлассификация, '');  
конец;

функция ВернутьИмяПоляЭлДок(Коллекция : Ivariables) : строка;
начало
  Результат := "MasterId";
// Закомментировано для того чтобы обеспечить добавление недостающих документов и для 
//  того что выбранные документы из одного заголовка попадали в одно уведомление.  
/*  Если  (коллекция.Значение("ЭтоЕксел")) тогда
    Результат := "MasterId"
  иначе
    Результат := "id";*/
конец;

функция ПроставитьСуммуУведомления(ссУведомления: СтатическиеДанные; суммаУведомления: дробное);
начало
  Если ссУведомления.ЧислоЗаписей &lt;&gt; 0 тогда
  начало
    ссУведомления.Редактировать;
    ссУведомления.Поле("Summa").КакДробное := СуммаУведомления;
    ссУведомления.Сохранить;
    СуммаУведомления  := 0;
  конец;
конец;

функция ВернутьИсходныйДокументИКлассыКорИНовДокументов(ЭтоУведомление: целое; ссИсходныеДокументы: СтатическиеДанные; КлассКорректирующегоДокумента, КлассНовогоДокумента: целое; ЛокКоллекция: IVariables): СтатическиеДанные;
переменные
  ФормироватьКорДокДляУточненияПоступлений: целое;
  ссНовыйДокументУведомления: СтатическиеДанные; 
начало
  результат := ссИсходныеДокументы;

  ЕСЛИ ЭтоУведомление тогда
    начало
      ФормироватьКорДокДляУточненияПоступлений := ПолучитьПараметрИзНастроек(4,0,"Брать класс нового документа из диалога");
      Если не ф_ЭтоВП(КлассНовогоДокумента) тогда
      начало
        локКоллекция.Значение("ФормироватьУведомление")  := Ложь;
        локКоллекция.Значение("КлассКорректирующегоДокумента_Уведомление") := ссИсходныеДокументы.Поле('DocumentProgIndex').какцелое;
      конец  
      иначе 
        локКоллекция.Значение('ФормироватьУведомления') := Истина;
      локКоллекция.Значение("КлассНовогоДокумента_Уведомление") :=  ссИсходныеДокументы.Поле('DocumentProgIndex').какцелое;
       Если ((ЛокКоллекция.Значение("КлассКорректирующегоДокумента_Уведомление") &lt;&gt; 0) и( не ФормироватьКорДокДляУточненияПоступлений)) или (ЛокКоллекция.Значение("ЭтоЕксел")) тогда
        Если не ЭтоНовосибирск тогда   // Для Новосибирска уникальная галочка в диалоге есть "Формировать корр. документ", для неё спец. обработка
        начало  
          ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента) := ЛокКоллекция.Значение("КлассКорректирующегоДокумента_Уведомление");
          ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента_Наименование) := НаименованиеПоКоду(ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента));
        конец  
        иначе если (локКоллекция.Значение("ФормироватьКоррДок") = да) тогда
        начало
          ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента) := ЛокКоллекция.Значение("КлассКорректирующегоДокумента_Уведомление");
          ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента_Наименование) := НаименованиеПоКоду(ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента));                            
        конец;
      Если ((ЛокКоллекция.Значение("КлассНовогоДокумента_Уведомление") &lt;&gt; 0) и (не ФормироватьКорДокДляУточненияПоступлений)) или (ЛокКоллекция.Значение("ЭтоЕксел")) тогда
      начало 
        ЛокКоллекция.Значение(ип_КлассНовогоДокумента) := ЛокКоллекция.Значение("КлассНовогоДокумента_Уведомление");
        ЛокКоллекция.Значение(ип_КлассНовогоДокумента_Наименование) := НаименованиеПоКоду(ЛокКоллекция.Значение(ип_КлассНовогоДокумента));
      конец;  
      КлассКорректирующегоДокумента := ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента);
      КлассНовогоДокумента := ЛокКоллекция.Значение(ип_КлассНовогоДокумента);
      ПроверитьПраваНаСозданиеКлассов(ЛокКоллекция);
      если (локКоллекция.Значение(ип_КлассКорректирующегоДокумента) &lt;&gt; 0) и (локКоллекция.Значение('КодРеестраУведомленийКор') = 0) тогда 
        локКоллекция.Значение('КодРеестраУведомленийКор') := УстановитьРеестрУведомлений(ОбычнаяДатавРасшир(ТекущаяДата),ип_КлассКорректирующегоДокумента,локКоллекция);
      если (локКоллекция.Значение(ип_КлассНовогоДокумента) &lt;&gt; 0) и (локКоллекция.Значение('КодРеестраУведомленийНов') = 0) тогда   
        локКоллекция.Значение('КодРеестраУведомленийНов') := УстановитьРеестрУведомлений(ОбычнаяДатавРасшир(ТекущаяДата),ип_КлассНовогоДокумента, локКоллекция);    
    конец;      
конец;


функция ЭтоДопУведомление(ЭлДОк: строка; полеЭлДок: поле; ЭлДОк2: строка; полеЭлДок2: поле; ЭлДОк3: строка; полеЭлДок3: поле; ЛокКоллекция: IVariables): целое;
начало
  Если ЛокКоллекция.Значение('НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента')  тогда
  Начало
    Если ((ЭлДок&lt;&gt;ПолеЭлДок.КакСтрока) или (ЭлДок='')) или ((ЭлДок2&lt;&gt;ПолеЭлДок2.КакСтрока) или (ЭлДок2='')) или ((ЭлДок3&lt;&gt;ПолеЭлДок3.КакСтрока) или (ЭлДок3='')) тогда 
    начало
      ЭлДок := ПолеЭлДок.КакСтрока;
      ЭлДок2 := ПолеЭлДок2.КакСтрока;
      ЭлДок3 := ПолеЭлДок3.КакСтрока;
      результат := Ложь;
    конец
    иначе 
      результат := Истина;
  конец
  Иначе
  начало 
    Если ((ЭлДок&lt;&gt;ПолеЭлДок.КакСтрока) или (ЭлДок='')) и ((ЭлДок2&lt;&gt;ПолеЭлДок2.КакСтрока) или (ЭлДок2='')) и ((ЭлДок3&lt;&gt;ПолеЭлДок3.КакСтрока) или (ЭлДок3=''))тогда 
    начало
      ЭлДок := ПолеЭлДок.КакСтрока;
      ЭлДок2 := ПолеЭлДок2.КакСтрока;
      ЭлДок3 := ПолеЭлДок3.КакСтрока;
      результат := Ложь;
    конец
    иначе 
      результат := Истина;
  конец;   
конец;

функция ПолучитьНомерКлиентаУРМ: строка;
переменные
  ссПоиск: СтатическиеДанные;
начало
  результат := '0';
  ссПоиск := СоздатьСтатическиеДанные;
  ссПоиск.СоединитьБД;
  ссПоиск.Запрос := "[PumpData]{select max(clientId) clientId from RemoteClient}";
  ссПоиск.Открыть;
  если ссПоиск.ЧислоЗаписей &lt;&gt; 0 тогда
   результат := ссПоиск.Поле("clientId").КакСтрока;
конец;

функция ВернутьНомерУведомления(ЭтоДопУведомление: целое; НомерУведомления: строка): строка;
начало
  Если ЭтоДопУведомление тогда
    результат := НомерУведомления
  иначе 
    результат := ГенерироватьДиап('CorrectionNumber', 1);
 // для УРМа прибавляем к номеру номер клиента
    /$если Бюджет  
    /$иначе
      результат := результат + '_' + ПолучитьНомерКлиентаУРМ;
    /$конец  
конец;

// приводит номер уведомления к виду, заданному в общих настройках уведомления и возвращает его(форматированный номер уведомления для связанного документа)
функция ФорматироватьНомерУведДляСвязанного(НомерУведомления : строка): строка;
переменные
  СтрокаФормата : строка;
начало
  СтрокаФормата := ПолучитьПараметрИзНастроек(4, 0, "Формат номера связанного документа");
  если Позиция("№", СтрокаФормата) &lt;&gt; 0 тогда
  начало
    Результат := Подстрока(СтрокаФормата, 1, Позиция("№", СтрокаФормата) - 1) + НомерУведомления + Подстрока(СтрокаФормата, Позиция("№", СтрокаФормата) + 1, Длина(СтрокаФормата)); 
  конец
  иначе
  начало
    Результат := НомерУведомления;
    //ВывестиВПротокол(0, nil, "Формат номера связанного документа в общих настройках уведомления об уточнении вида платежа задан неверно. Номер будет создан без его учёта");
  конец;
конец;

функция ЗаполнитьПараметрыДляЕкселя(Коллекция : IVariables);
начало
  если не ((Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_УточнениеПоступлений) или (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_УточнениеВыбытий)) тогда
  начало
    Коллекция.Значение(ип_КлассКорректирующегоДокумента) := Коллекция.Значение(ип_КлассИсходногоДокумента);
    Коллекция.Значение(ип_КлассНовогоДокумента) := Коллекция.Значение(ип_КлассИсходногоДокумента);
    Если НужноСоздаватьВПНаОсновеЭтогоКласс(Коллекция.Значение(ип_КлассИсходногоДокумента)) тогда
      Коллекция.Значение(ип_КлассНовогоДокумента)  := Класс_ВнутренниеПереброскиРасходов;
  конец;
  если (Коллекция.Значение("РаботаСоСвязаннымиДокументами") = констаНеФормироватьСвязанныеДокументы)
       или (Коллекция.Значение("РаботаСоСвязаннымиДокументами") = констаНеФормироватьСвязанныеДокументыПЗК)
  тогда
    ЗаполнитьКлассыИсходногоИНовогоДокументаПоПараметруИСключения(Коллекция.Значение(ип_КлассИсходногоДокумента),ПолучитьСписокКлассовИсключений,Коллекция);  
конец;


функция СформироватьУведомления(Ф : ФормаВвода; Прогресс : IProgress; ссИсходныеДокументы, ссУведомления : СтатическиеДанные; Коллекция : IVariables; ФДеталь:СтатическиеДанные=nil);
переменные
  ЛокКоллекция : IVariables;
  НомерУведомления, ЭлДок, ЭлДок2, ЭлДок3, НаименованиеПоляЭлДок, КоличествоЗаписей_стр : строка;
  КоличествоСозданныхУведомлений, КоличествоЗаписей, 
  КлассКорректирующегоДокумента, КлассНовогоДокумента, ФормироватьУведомление, КлассИсходногоДокумента, ЭтоВП, ЭтоВПл,
  ЭтоЕксел, ЭтоУведомление, ФормироватьДопДокументы, ЭтоВП_Исходный, ЭтоВПл_Исходный : целое;
  ссУведомления_ИсходнаяКлассификация, ссУведомления_НоваяКлассификация, 
  ссКорректирующийДокумент_Заголовок, ссКорректирующийДокумент,
  ссНовыйДокумент_Заголовок, ссНовыйДокумент,
  ссВП, ссВПЗаголовок, ссВПл, ссВПлЗаголовок, СтарыеИНовыеБО, СтарыеИНовыеДИ, ссДопДокументы, ссДопДокументы_Заголовок, ссИсходныеДокументы_ : СтатическиеДанные;
  ткстСписокИДКорДокументов, ткстСписокИДНовДокументов, ткстСписокДопДокументов, ткстМаппингКлассификаторов : Текст;
  ПолеЭлДок, ПолеЭлДок2, ПолеЭлДок3: Поле;
  СуммаНовыхКлассификацийУведомления : дробное;
  ткстИсходныеНаправленияКлассификации, ткстНовыеНаправленияКлассификации : Текст; // сюда будут записываться типы классификаций исходных и новых строк текущего 
                                                                                  // уведомления для того чтобы потом на основании этой информации поставить направление операции у уведомления
  linkInfo : ILinkInfo2;
начало
//инициализация переменных
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  ткстСписокИДКорДокументов := СоздатьТекст;
  ткстСписокИДНовДокументов := СоздатьТекст;
  если ФДеталь &lt;&gt; nil тогда
  начало
    ссУведомления_ИсходнаяКлассификация := СоздатьСтатикСетРасш(ФДеталь, ФДеталь.Запрос);
    ссУведомления_НоваяКлассификация := СоздатьСтатикСетРасш(ФДеталь, ФДеталь.Запрос);
  конец
  иначе
  начало
    ссУведомления_ИсходнаяКлассификация := СоздатьСтатикСетРасш(Ф.Детализация.Таблица, Ф.Детализация.Таблица.Запрос);
    ссУведомления_НоваяКлассификация := СоздатьСтатикСетРасш(Ф.Детализация.Таблица, Ф.Детализация.Таблица.Запрос);
  конец;  
  ткстИсходныеНаправленияКлассификации := СоздатьТекст;
  ткстНовыеНаправленияКлассификации := СоздатьТекст;
  linkInfo := CreateComObject(TLinkInfo2);
  СоединитьИнтерфейс(LinkInfo);
  ЛокКоллекция.Значение("linkInfo") := linkInfo;
  ссКорректирующийДокумент_Заголовок := СоздатьСтатикСет;
  ссКорректирующийДокумент := СоздатьСтатикСет;
  ссДопДокументы := СоздатьСтатикСет;
  ссДопДокументы_Заголовок := СоздатьСтатикСет;
  ссНовыйДокумент_Заголовок := СоздатьСтатикСет;
  ссНовыйДокумент := СоздатьСтатикСет;
  ПолучитьСтатикСетыВП(ссВП, ссВПЗаголовок);
  ПолучитьСтатикСетыВП(ссВПл, ссВПлЗаголовок);
  НаименованиеПоляЭлДок := ВернутьИмяПоляЭлДок(ЛокКоллекция); 
  ПолеЭлДок := ссИсходныеДокументы.Поле(НаименованиеПоляЭлДок);  
  ПолеЭлДок2 := ссИсходныеДокументы.Поле('ElRef'); // ссылка на эл. документ 
  ПолеЭлДок3 := ссИсходныеДокументы.Поле('FACIALCODE'); // мнемокод л/c
  ЭлДок := '';
  ЭлДок2 := '';
  ЭлДок3 := '';
  ссИсходныеДокументы.Индекс :=  'ElRef;MasterId';
  КоличествоЗаписей := ссИсходныеДокументы.RecordCount;  
  КоличествоЗаписей_стр := целоеВСтроку(КоличествоЗаписей);
  КоличествоСозданныхУведомлений := 0;
  КлассИсходногоДокумента := ЛокКоллекция.Значение(ип_КлассИсходногоДокумента);
  ткстСписокДопДокументов := СоздатьТекст;
  ткстСписокДопДокументов.РазделенноеЗначение := Реестр.Узел(ПутьКПараметрамФормированияДопДокументов).Значение(ЦелоеВСтроку(КлассИсходногоДокумента)).КакСтрока;
  Если ткстСписокДопДокументов.Количество &lt;&gt; 0 тогда 
    ФормироватьДопДокументы  := Истина;
  ткстМаппингКлассификаторов := СоздатьТекст;
  ткстМаппингКлассификаторов.РазделенноеЗначение := МаппингКлКтаблицеЗамены(1);
  ЭтоЕксел := ЛокКоллекция.Значение("ЭтоЕксел");
  Если ЭтоЕксел тогда 
  начало
    если не ЛокКоллекция.Значение('ИспользуетсяКассовыйРасход') тогда
      ЗаполнитьПараметрыДляЕкселя(ЛокКоллекция);
    
    СтарыеИНовыеБО := Коллекция.Значение('СтарыеИНовыеБО'); 
    если  СтарыеИНовыеБО.ЧислоЗаписей = 0  тогда
    начало
      СтарыеИНовыеБО := СоздатьСтатикСет;
      СтарыеИНовыеБО.Запрос := ПолучитьЗапросДляЗаменыБО;
      СтарыеИНовыеБО.Открыть;
    конец;
    
    СтарыеИНовыеДИ := Коллекция.Значение('СтарыеИНовыеДИ');   
    если  СтарыеИНовыеДИ.ЧислоЗаписей = 0 тогда
    начало
      СтарыеИНовыеДИ := СоздатьСтатикСет;
      СтарыеИНовыеДИ.Запрос := ПолучитьЗапросДляЗаменыДИ;
      СтарыеИНовыеДИ.Открыть;
    конец;
      
  конец;   
  ЭтоВП := Ф_ЭтоВП(ЛокКоллекция.Значение(ип_КлассНовогоДокумента), ЭтоЕксел);
  ЭтоВП_Исходный := Ф_ЭтоВП(ЛокКоллекция.Значение(ип_КлассИсходногоДокумента),ЭтоЕксел);
  ЭтоВПл := Ф_ЭтоВПл(ЛокКоллекция.Значение(ип_КлассНовогоДокумента), ЭтоЕксел);
  ЭтоВПл_Исходный := Ф_ЭтоВПл(ЛокКоллекция.Значение(ип_КлассИсходногоДокумента), ЭтоЕксел);
  ЭтоУведомление := ЛокКоллекция.Значение("ЭтоУведомления");
  КлассКорректирующегоДокумента := ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента);
  КлассНовогоДокумента := ЛокКоллекция.Значение(ип_КлассНовогоДокумента);
  ПроверитьПраваНаСозданиеКлассов(ЛокКоллекция);
  номерУведомления := "";
  ЛокКоллекция.Значение("НачальноеСостояние") := 0;
ПОПЫТКА
//по каждому исходному документу или создаём новое уведомление или создаём новую детализацию у текущего уведомления
  Прогресс.BeginProgress;
  ссИсходныеДокументы.ВНачало;
  Пока не ссИсходныеДокументы.ВКонце делать 
  начало
    Прогресс.SetMessage('Формирование уведомления:' + nl +
                        'документ ' + ЦелоеВСтроку(ссИсходныеДокументы.RecNo) + ' из ' + КоличествоЗаписей_Стр);
    Прогресс.SetProgress(100 * ссИсходныеДокументы.RecNo / КоличествоЗаписей);
    ЛокКоллекция.Значение("ЭтоДопУведомление") := ЭтоДопУведомление(ЭлДОк, полеЭлДок, ЭлДОк2, полеЭлДок2, ЭлДОк3, полеЭлДок3, ЛокКоллекция);    
    ЛокКоллекция.Значение("НомерУведомления") := ВернутьНомерУведомления(ЛокКоллекция.Значение("ЭтоДопУведомление"), НомерУведомления);
    НомерУведомления := ЛокКоллекция.Значение("НомерУведомления");
    
    ЛокКоллекция.Значение("ФорматированныйНомерУведомления") := ФорматироватьНомерУведДляСвязанного(НомерУведомления);
    РедактироватьПоляБлокировок(ссИсходныеДокументы);    
    ФормироватьУведомление := не ЛокКоллекция.Значение("ЭтоДопУведомление");
    // заполним счета организациий у исходного документа
    ЗаполнитьСчетОрганизации("Payer", ссИсходныеДокументы, ссИсходныеДокументы.Поле("PayerAccRef").КакЦелое, Коллекция);
    ЗаполнитьСчетОрганизации("Acceptor", ссИсходныеДокументы, ссИсходныеДокументы.Поле("AcceptorAccRef").КакЦелое, Коллекция);
    Если ФормироватьУведомление тогда
    начало
      ПроставитьСуммуУведомления(ссУведомления, СуммаНовыхКлассификацийУведомления);
      // для УРМ если несколько исходных документов с разным л/c то нужно вызывать диалог выбора нужного для вставки в заголовок
      /$если Бюджет
      /$иначе     
       если (не ЛокКоллекция.Значение('НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента'))  тогда
         ЛокКоллекция.Значение("ЛсДляЗаголовкаУведомления") := ВызватьДиалогДляВыбораЛС(ссИсходныеДокументы,ссИсходныеДокументы.Поле('MasterID').КакСтрока)
       иначе
         ЛокКоллекция.Значение("ЛсДляЗаголовкаУведомления") := ссИсходныеДокументы.Поле("FacialAcc_Cls").КакЦелое;   
      /$конец 
      СоздатьОдноУведомление(ссИсходныеДокументы, ссУведомления, ЛокКоллекция);
      КоличествоСозданныхУведомлений := КоличествоСозданныхУведомлений + 1;
      локКоллекция.Значение(ип_НаправлениеОперации) := ссУведомления.Поле("OperationDirection").КакЦелое;
      // запоминаем ссылку на первое сформированное уведомление
      если коллекция.Значение("кодЗаписи") = "" тогда 
        коллекция.Значение("кодЗаписи") := ссУведомления.Поле("ID").КакЦелое;
      ЛокКоллекция.Значение("Note") := ссУведомления.Поле("OriginalNote").КакСтрока;  
    конец
    иначе
      Если (не ЛокКоллекция.Значение('НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента')) и (ЛокКоллекция.Значение(ип_КлассИсходногоДокумента)=Класс_ПоступлениеДоходов)  тогда
      начало                                                                    
        // требуеться очистьть секцию исходного документа
        ссУведомления.Поле('OriginalSumma').Очистить;
        ссУведомления.Поле('OriginalDate').Очистить;
        ссУведомления.Поле('OriginalNumber').Очистить;
        ссУведомления.Поле('ElNum').Очистить;
        ссУведомления.Поле('OriginalNote').Очистить;
        ссУведомления.Поле('FacialAcc_Cls').Очистить;
        // нужно очистить еще и ссылку на электронный документ
        ссУведомления.Поле('ElDocRef').Очистить;
      конец;
    /$Если бюджет
      ссИсходныеДокументы_ := ВернутьИсходныйДокументИКлассыКорИНовДокументов(ЭтоУведомление, ссИсходныеДокументы, КлассКорректирующегоДокумента, КлассНовогоДокумента, ЛокКоллекция);
    /$иначе
      ссИсходныеДокументы_ := ссИсходныеДокументы;
    /$конец
    // Значение параметра ЭтоВП могло измениться
    ЭтоВП := Ф_ЭтоВП(ЛокКоллекция.Значение(ип_КлассНовогоДокумента), ЭтоЕксел);
    ЭтоВПл := Ф_ЭтоВПл    (ЛокКоллекция.Значение(ип_КлассНовогоДокумента), ЭтоЕксел);
    СоздатьИсходнуюКлассификацию(ссИсходныеДокументы, ссУведомления, ссУведомления_ИсходнаяКлассификация, ЛокКоллекция);
    
    //Формирование корректирующего документа
    ЕСЛИ (не ЭтоВП) и (не ЭтоВПл) и  (КлассКорректирующегоДокумента &lt;&gt; 0)  тогда
    начало
      СоздатьОдинКорректирующийДокумент(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы_, ссКорректирующийДокумент, ссКорректирующийДокумент_Заголовок, ссНовыйДокумент_Заголовок, ЛокКоллекция);
      ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_ИсходнаяКлассификация, ЛокКоллекция, Ложь);
      ДобавитьИдВСписок(ткстСписокИдКорДокументов, ЛокКоллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс), ЛокКоллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка));
      Если ФормироватьДопДокументы тогда                             
        СформироватьДопКорДокументы(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы_, ссДопДокументы, ссДопДокументы_Заголовок, ЛокКоллекция, ткстСписокДопДокументов);             
    конец;
    
  //Дополнительные действия над исходными документами пакетной замены        
    ЕСЛИ (ЭтоЕксел) тогда 
    начало  
      если не Коллекция.Значение("РежимЗаменыРс") тогда
      начало
        ПроставитьНовуюКлассификациюВТекущемДокументе(ссИсходныеДокументы, ткстМаппингКлассификаторов);
        ЗаменаБО(ссИсходныеДокументы, СтарыеИНовыеБО, ЛокКоллекция);                                      
        ЗаменаДИ(ссИсходныеДокументы, СтарыеИНовыеДИ, ЛокКоллекция);
      конец;
    конец;
      
    СоздатьНовуюКлассификацию(ссИсходныеДокументы, ссУведомления, ссУведомления_НоваяКлассификация, ЛокКоллекция);
    если (ЭтоЕксел) тогда
       ссУведомления_НоваяКлассификация.Поле('IsClsChanged').Какцелое := 1;
    СуммаНовыхКлассификацийУведомления := СуммаНовыхКлассификацийУведомления + ссУведомления_НоваяКлассификация.Поле("Summa").КакДробное;
    //Формирование нового документа
    если (не ЭтоВП) и (не ЭтоВПл) тогда
    начало
      Если КлассНовогоДокумента &lt;&gt; 0 тогда
      начало   
        СоздатьОдинНовыйДокумент(ссУведомления_НоваяКлассификация, ссИсходныеДокументы_, ссНовыйДокумент, ссНовыйДокумент_Заголовок, ссКорректирующийДокумент_Заголовок, ЛокКоллекция);
        ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_НоваяКлассификация, ЛокКоллекция, Истина);
        ДобавитьИдВСписок(ткстСписокИдНовДокументов, ЛокКоллекция.Значение(ип_СвязанныйДокумент_Новый_Прогиндекс), ЛокКоллекция.Значение(ип_СвязанныйДокумент_Новый_Деталь_Ссылка));
        Если ФормироватьДопДокументы тогда
          СформироватьДопНовДокументы(ссУведомления_ИсходнаяКлассификация, ссУведомления_НоваяКлассификация, ссИсходныеДокументы_, ссДопДокументы, ссДопДокументы_Заголовок, ЛокКоллекция, ткстСписокДопДокументов);             
      конец;  
    конец
    иначе
    начало
      если ЭтоВП тогда
      начало
        ЗаменитьПоляПоМаппингу(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы_, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) + ",FacialAcc_Cls=SourceFacialAcc_Cls", Истина);
        СоздатьВП(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы_, ссВп, ссВпЗаголовок, ЛокКоллекция, Истина);
        ЗаменитьПоляПоМаппингу(ссУведомления_НоваяКлассификация, ссИсходныеДокументы_, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) +  ",FacialAcc_Cls=DestFacialAcc_Cls", Истина);
        СоздатьВП(ссУведомления_НоваяКлассификация, ссИсходныеДокументы_, ссВп, ссВпЗаголовок, ЛокКоллекция, Ложь);                 
        ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_ИсходнаяКлассификация, ЛокКоллекция, Ложь);
        ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_НоваяКлассификация, ЛокКоллекция, Истина);
        ДобавитьИдВСписок(ткстСписокИдКорДокументов, ЛокКоллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс), ЛокКоллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка));
      конец
      иначе       // Внутренние платежи
      начало
        ЗаменитьПоляПоМаппингу(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы_, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) + ",FacialAcc_Cls=SourceFacialAcc_Cls", Истина);
        СоздатьВПл(ссУведомления_ИсходнаяКлассификация, ссИсходныеДокументы_, ссВПл, ссВПлЗаголовок, ЛокКоллекция, Истина);
        ЗаменитьПоляПоМаппингу(ссУведомления_НоваяКлассификация, ссИсходныеДокументы_, '', "", '', '', nil, МаппингКлКтаблицеЗамены(1) +  ",FacialAcc_Cls=DestFacialAcc_Cls", Истина);
        СоздатьВПл(ссУведомления_НоваяКлассификация, ссИсходныеДокументы_, ссВПл, ссВПлЗаголовок, ЛокКоллекция, Ложь);                 
        ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_ИсходнаяКлассификация, ЛокКоллекция, Ложь);
        ЗаполнитьИнформациюОСвязанномДокументе(ссУведомления_НоваяКлассификация, ЛокКоллекция, Истина);
        ДобавитьИдВСписок(ткстСписокИдКорДокументов, ЛокКоллекция.Значение(ип_СвязанныйДокумент_Исходный_Прогиндекс), ЛокКоллекция.Значение(ип_СвязанныйДокумент_Исходный_Деталь_Ссылка));
      конец;           
    конец;
    ЛокКоллекция.Значение(ип_СтарыйКлассКорректирующегоДокумента) := ЛокКоллекция.Значение(ип_КлассКорректирующегоДокумента);
    ЛокКоллекция.Значение(ип_СтарыйКлассНовогоДокумента) := ЛокКоллекция.Значение(ип_КлассНовогоДокумента);  
      
    Если (ссИсходныеДокументы_.Поле('ElRef').КакСтрока &lt; '1') и не Коллекция.Значение('ПакетнаяЗамена') тогда
      ВывестиВПротокол(0, nil, 'Это уведомление создано на основе документа, который не участвовал в электронном обмене!!!');
    
    ссИсходныеДокументы.Следующий;
  конец;

  ПроставитьСуммуУведомления(ссУведомления, суммаНовыхКлассификацийУведомления);
 
  СохранитьИзменения_(ссУведомления);
  СохранитьИзменения_(ссУведомления_ИсходнаяКлассификация);
  СохранитьИзменения_(ссУведомления_НоваяКлассификация);
 
  //Почему то после сохранения updatestatus не устанавливается в UnModified - поэтому устанавливаем его сами
  ссУведомления_ИсходнаяКлассификация.UpdateStatus := usUnModified;
  ссУведомления_НоваяКлассификация.UpdateStatus := usUnModified;
  //--//
  
  СохранитьИзменения_(ссКорректирующийДокумент_Заголовок);
  СохранитьИзменения_(ссКорректирующийДокумент);
  СохранитьИзменения_(ссНовыйДокумент_Заголовок);
  СохранитьИзменения_(ссНовыйДокумент);
  СохранитьИзменения_(ссВПЗаголовок);
  СохранитьИзменения_(ссВП);
  СохранитьИзменения_(ссВПлЗаголовок);
  СохранитьИзменения_(ссВПл);
  
  
  
  Коллекция.Значение(ип_ссИсходнаяКлассификация) := ссУведомления_ИсходнаяКлассификация;
  Коллекция.Значение(ип_ссНоваяКлассификация) := ссУведомления_НоваяКлассификация;
  Коллекция.Значение(ИмяПараметра_СписокИдКорДокументов) := ткстСписокИДКорДокументов.Значение;
  Коллекция.Значение(ИмяПараметра_СписокИдНовДокументов) := ткстСписокИДНовДокументов.Значение;
ОБЯЗАТЕЛЬНО

  УдалитьОбъект(ссУведомления, ссУведомления_ИсходнаяКлассификация, ссУведомления_НоваяКлассификация, ссНовыйДокумент, ссНовыйДокумент_Заголовок, ссКорректирующийДокумент, ссКорректирующийДокумент_Заголовок, ссВП, ссВПЗаголовок, ткстСписокИДКорДокументов, ткстСписокИДНовДокументов);
  Прогресс.EndProgress;
КОНЕЦ;
  Если Коллекция.ПараметрСуществует("КоличествоСозданныхУведомлений") тогда
    Коллекция.Значение("КоличествоСозданныхУведомлений") := Коллекция.Значение("КоличествоСозданныхУведомлений") + КоличествоСозданныхУведомлений
  иначе
    Коллекция.Значение("КоличествоСозданныхУведомлений") := КоличествоСозданныхУведомлений;
// todo: необходимо предусмотреть ситуацию когда исходная классификация одинаковая у разных детализаций одного заголовка, в этом случае нужно группировать исх. клас. в одну строчку
конец;


</value>
    <param value="ФункцииДляСозданияУведомления" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляСозданияУведомления" type="3" name="crc32">$A40D5430</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляФормированияОграниченийПоЗапросам">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';      
включить '\Библиотеки\Reports.lib';                        

включить '\макросы\отчеты\поддержкаОтчетов.abl';

включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';



функция ПолучитьОграничениеПоИд(КлассИсходногоДокумента : целое; ткст_СписокИД : Текст; ЗаголовокСИнтерфейса : СтатическиеДанные) : строка;
переменные
  ИмяПоля: строка;
  Группа, Кол, Счетчик, ИдЗаголовка, ЭтоВП : целое;
  ткст_СписокИДДляОграничения : Текст;
  ссУведомления : СтатическиеДанные; 
начало
  Результат := '';
  ткст_СписокИДДляОграничения := СоздатьТекст;
  ссУведомления := ПолучитьВсеУведомления;
  ткст_СписокИД.РазделенноеЗначение(';') := Реестр.Узел(ПустьКПараметрамПереноса).Значение(ЦелоеВСтроку(КлассИсходногоДокумента)).КакСтрока;
  Кол := ткст_СписокИД.Количество;              
  Счетчик := 0;
  ЭтоВП := ф_ЭтоВП(КлассИсходногоДокумента);
  Пока Счетчик &lt;= (Кол-1) делать 
  начало                                                                                                             
    ИдЗаголовка := ткст_СписокИД.ИмяПараметра(Счетчик);
    ЕСЛИ ссУведомления.Локализовать('id', ИдЗаголовка, 0) или ЭтоВП тогда 
      начало 
        ткст_СписокИДДляОграничения.РазделенноеЗначение := ткст_СписокИДДляОграничения.РазделенноеЗначение + ',' + 
                                                           ткст_СписокИД.ЗначениеПараметра(ИдЗаголовка);
      конец 
    ИНАЧЕ 
      начало 
          ткст_СписокИД.Удалить(Счетчик);
          Счетчик := Счетчик -1;
          Кол := Кол-1;
      конец;  
    Счетчик := Счетчик + 1;
  конец;
  ткст_СписокИДДляОграничения.РазделенноеЗначение := подстрока(ткст_СписокИДДляОграничения.РазделенноеЗначение, 2, Длина(ткст_СписокИДДляОграничения.РазделенноеЗначение)-1);

  Если Кол &lt;&gt; 0 тогда 
    начало
      // выбираем имя поля в зависимости от группы класса
      Группа := ПолучитьГруппуПоКлассу(КлассИсходногоДокумента);
      Выбрать Группа из
          Группа_Доходы : имяПоля := 'inc.Id';
          
          Группа_КазначействоПоступление,
          Группа_КазначействоВыбытие : имяПоля := 'ffd.id';
        иначе 
          ВызватьОшибку('ПолучитьОграничениеПоИд:' + 'Для данной группы не предусмотрена обработка');
      конец; 
      Результат := ПолучитьОграничениеПоСпискуИд(ИмяПоля, ткст_СписокИДДляОграничения, Истина);
    конец;
конец;

// у передаваемой строчки убираются все точки: 
// потребовалось для кода дохода и кода источника. Так как 
// при возврате значения диалогом точки автоматически не убираются
// пришлось сделать функцию.
функция УбратьТочки(СтрокаСТочками : Строка) : строка;
переменные
  ПозицияТочки : целое;
начало
  Результат := СтрокаСТочками;
  ПозицияТочки := Позиция('.', СтрокаСТочками);
  Пока ПозицияТочки&lt;&gt;0 делать
  начало
    СтрокаСТочками := ПодСтрока(СтрокаСТочками, 1, ПозицияТочки-1) + ПодСтрока(СтрокаСТочками, ПозицияТочки+1, Длина(СтрокаСТочками)-ПозицияТочки);  
    ПозицияТочки := Позиция('.', СтрокаСТочками); 
  конец;
  Результат := СтрокаСТочками;
конец;

// так как функция Ограничение код дохода и код источника ограничивает как строку - то нам придётся 
// убрать все точки  в их значениях
функция ЗамочитьТочкиВКодеДоходаиИсточника(Коллекция : IVariables);
переменные
  КодДоходаСтр, ИсточникСтр : строка;
начало
  КодДоходаСтр := Коллекция.Значение('КодДохода'); 
  ИсточникСтр  := Коллекция.Значение('ИстВнутрФин');
  Если КодДоходаСтр &lt;&gt; '' тогда 
    Коллекция.Значение('КодДохода') := УбратьТочки(КодДоходаСтр);
  Если ИсточникСтр &lt;&gt; '' тогда 
    Коллекция.Значение('ИстВнутрФин') := УбратьТочки(ИсточникСтр); 
конец;

// функция отличается от стандартной только проверкой на необходимость ограничения
// и возможность указать чтобы выбирать непустые даты 
функция ПолучитьОграничениеПоТипуДатыРасш(Маппинг : строка;Коллекция : IVariables; ПолеДатыПоУмолчанию : строка):строка;
начало
  Результат := '';
  Если не ((Коллекция.Значение('НачальнаяДата')=0) и Коллекция.Значение('КонечнаяДата')=99999999)  тогда 
    Результат :=  ПолучитьОграничениеПоТипуДаты(Маппинг, Коллекция, ПолеДатыПоУмолчанию);
  Если Коллекция.Значение('ТолькоПринятые')=1 тогда 
    Результат :=  Результат + ' and (not ' + ПолеДатыПоУмолчанию + ' is null)';                                                  
конец;

// в зависимости от класса документа выбирается соответствующий маппинг
// и соответсвующий параметр в запросе куда будут переданы ограничения 
функция УниверсальноеОграничение(Класс : Целое; Коллекция : IVariables) : строка;
переменные
  СтрокаОграничения, 
  ОгрПоДате, ОгрПоРеестру, 
  МаппингОграничения, ОгрПоПричинеОтклонения, ОгрПоНомеру  : строка; 
  ТекущаяГруппа : целое;
  ткст_СписокИД : Текст;
начало
  Результат := '';
  СтрокаОграничения := '';
  ОгрПоДате := '';
  ЗамочитьТочкиВКодеДоходаиИсточника(Коллекция);
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(Класс);
  Если Коллекция.Значение('НачальнаяДата')='' тогда 
    Коллекция.Значение('НачальнаяДата') := 0;
  Если Коллекция.Значение('КонечнаяДата')='' тогда 
    Коллекция.Значение('КонечнаяДата') := 99999999;
  ОгрПоДате :=  '';
  ОгрПоРеестру  := "";
  ОгрПоПричинеОтклонения := '';
  Выбрать ТекущаяГруппа из            
          Группа_Доходы     :                начало
                                                Если Коллекция.Значение("ИндексыДанных") = Класс_ВозвратДоходов тогда
                                                  начало
                                                    ОгрПоДате :=  ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=qt.AcceptDate', Коллекция, 'qt.AcceptDate');
                                                    /$если Бюджет
                                                    ОгрПоНомеру := Ограничение('НомерДок=pd.Number',Коллекция);
                                                    /$иначе
                                                    ОгрПоНомеру := Ограничение('НомерДок=inc.DocNum',Коллекция);
                                                    /$конец                                                                                                      
                                                  конец
                                                иначе
                                                  начало 
                                                    ОгрПоДате :=  ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=inc.IDate', Коллекция, 'inc.IDate');
                                                    ОгрПоНомеру := Ограничение('НомерДок=inc.DocNum%s',Коллекция);                                                  
                                                  конец;
                                                Если Коллекция.Значение('ВыбиратьОтклоненные')&lt;&gt;1 тогда 
                                                  ОгрПоПричинеОтклонения := ' and (qt.RejectCls is null) and (inc.RejectCls is null)';
                                                если  Коллекция.Значение("ИндексыДанных") = Класс_ПоступлениеДоходов тогда                                                   
                                                  МаппингОграничения := МаппингОграничение_Доходы1 + МаппингОграничение_Доходы2 +  МаппингОграничение_Доходы3
                                                иначе
                                                  МаппингОграничения := МаппингОграничение_Доходы1 + МаппингОграничение_Доходы4 +  МаппингОграничение_Доходы3
                                             конец;
          Группа_КазначействоВыбытие  :      начало
                                                Если не(коллекция.Значение('КодЗаписи')&gt;0 или коллекция.Значение('КодДокумента')&gt;0) тогда 
                                                начало
                                                  Если (ПолучитьПараметрИзНастроек(4,0,"ОграничениеДокументВключенВРеестр")) тогда
                                                    ОгрПоРеестру := ' and (((cpt.reestr_ref is not null) and (ffr.accepted = 1)) or ((cpt.reestr_ref is null) ' + ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=cpt.AcceptDate', Коллекция, 'cpt.AcceptDate') + ' and (not cpt.AcceptDate is null)))'
                                                  иначе  
                                                    ОгрПоДате :=  ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=cpt.AcceptDate', Коллекция, 'cpt.AcceptDate');
                                                конец;  
                                                Если Коллекция.Значение('ВыбиратьОтклоненные')&lt;&gt;1 тогда 
                                                  ОгрПоПричинеОтклонения := ' and (cpt.REJECT_CLS is null)';                                                 
                                                МаппингОграничения := МаппингОграничение_Казначейство1 + МаппингОграничение_Казначейство2 +  МаппингОграничение_Казначейство3;
                                             конец  ;
          Группа_КазначействоПоступление   : начало
                                                Если не(коллекция.Значение('КодЗаписи')&gt;0 или коллекция.Значение('КодДокумента')&gt;0) тогда 
                                                начало
                                                  Если (ПолучитьПараметрИзНастроек(4,0,"ОграничениеДокументВключенВРеестр")) тогда
                                                    ОгрПоРеестру := ' and (((cpt.reestr_ref is not null) and (ffr.accepted = 1)) or ((cpt.reestr_ref is null) ' + ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=cpt.AcceptDate', Коллекция, 'cpt.AcceptDate') + ' and (not cpt.AcceptDate is null)))'
                                                  иначе 
                                                    ОгрПоДате :=  ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=cpt.AcceptDate', Коллекция, 'cpt.AcceptDate');
                                                конец;  
                                                Если Коллекция.Значение('ВыбиратьОтклоненные')&lt;&gt;1 тогда 
                                                  ОгрПоПричинеОтклонения := ' and (cpt.REJECT_CLS is null)';                                                 
                                                МаппингОграничения := МаппингОграничение_Казначейство1 + МаппингОграничение_Казначейство2 +  МаппингОграничение_Казначейство4;
                                             конец;
          Группа_Кредиты             :    начало
                                                Если Коллекция.Значение('ОграничениеЗаголовка') = 1 тогда 
                                                  Коллекция.Значение('КодЗаголовка') := '';
                                                Коллекция.Значение('ЭтоКредиты') := 1;
                                                Коллекция.Значение('ИндексыДанных')  := Класс_КредитыЗаголовок;
                                                МаппингОграничения := МаппингОграничение_Заимствования1 + МаппингОграничение_Заимствования2 +  МаппингОграничение_Заимствования3 + МаппингОграничение_КредитыЗаголовок;
                                          конец;      
          Группа_Ссуды                :   начало
                                                Если Коллекция.Значение('ОграничениеЗаголовка') = 1 тогда 
                                                  Коллекция.Значение('КодЗаголовка') := '';
                                                Коллекция.Значение('ЭтоСсуды') := 1;                           
                                                Коллекция.Значение('ИндексыДанных')  := Класс_СсудыЗаголовок;                                                                     
                                                МаппингОграничения := МаппингОграничение_Финансирование1 + МаппингОграничение_СсудыЗаголовок;
                                          конец;
          Группа_Реестр                 : МаппингОграничения := МаппингОграничение_Реестр1;
    Группа_ВнутренниеПереброскиРасходов,
    Группа_ВнутренниеПлатежиРасходов    : начало
                                            Если Коллекция.Значение('ВыбиратьОтклоненные')&lt;&gt;1 тогда 
                                              ОгрПоПричинеОтклонения := ' and (cpt.REJECT_CLS is null)';                                                 
                                            МаппингОграничения := МаппингОграничение_КазначействоВП1 + МаппингОграничение_КазначействоВП2;
                                          конец;  
         Группа_Финансирование          : начало
                                            //т.к. часто распоряжения на финансирование не проводятся в качестве пп, ограничение по дате 
                                            //принятия пп заменено на ограничение по дате принятия документа
                                            ОгрПоДате :=  ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=fdd.AcceptDate', Коллекция, 'fdd.AcceptDate');
                                            МаппингОграничения := МаппингОграничение_Финансирование1 + МаппингОграничение_Финансирование2 + МаппингОграничение_Финансирование3;
                                          конец;
         Группа_Уведомления             : начало
                                            ОгрПоДате :=  ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=cor_c.AcceptDate', Коллекция, 'cor_c.AcceptDate');
                                            если коллекция.Значение("ЭтоЕксел") тогда
                                              МаппингОграничения := МаппингОграничение_Уведомления1  + МаппингОграничение_Уведомления2_Exel + МаппингОграничение_Уведомления3_Exel + МаппингОграничение_Уведомления4_Exel
                                            иначе
                                              МаппингОграничения := МаппингОграничение_Уведомления1  + МаппингОграничение_Уведомления2 + МаппингОграничение_Уведомления3 + МаппингОграничение_Уведомления4;  
                                           //  в зависимости от типа интерфейса будем добавлять свой маппинг Счета ФО
                                            если Коллекция.Значение("ТипИнтерфейса") = ту_УточнениеПоступлений тогда
                                              МаппингОграничения := МаппингОграничения + ',СчетФО=cor_c.OriginalAcceptorAcc_Ref%d'
                                            иначе 
                                              МаппингОграничения := МаппингОграничения + ',СчетФО=cor_c.OriginalPayerAcc_Ref%d'; 
                                            ОгрПоПричинеОтклонения := ' and (Cor_c.REJECT_CLS is null)';   
                                          конец;                                   
                                   
  конец;
  
  Если Коллекция.Значение("ИндексыДанных") = Класс_ВозвратДоходов тогда 
    начало
      Коллекция.Значение("ИндексыДанных") := Класс_ПоступлениеДоходов;
      Коллекция.Значение("ИндексыДанныхДоходовЗаголовок") := Класс_ВозвратДоходов;
    конец;
  
  СтрокаОграничения := Ограничение(МаппингОграничения, Коллекция) + ОгрПоДате + ОгрПоПричинеОтклонения + ОгрПоНомеру + ОгрПоРеестру;

 
  Если (Коллекция.Значение("НеВыбиратьКорректирующиеДокументы")) и (ТекущаяГруппа&lt;&gt;Группа_Уведомления) тогда 
    начало
      Если Класс = Класс_ВП_Выбытие тогда 
        СтрокаОграничения := СтрокаОграничения + "";
    конец;  
/*
  Если (  
         Коллекция.Значение(ип_УточнятьТолькоОтправленные) и 
         (ТекущаяГруппа = Группа_КазначействоВыбытие) и 
         (Класс&lt;&gt;Класс_РасходПоЧекам) и (Класс&lt;&gt;Класс_УчетКассовыхВыплат)
       ) 
       или 
       ( 
         Коллекция.Значение(ип_УточнятьТолькоОтправленные) и 
         ( (Класс = Класс_РаспоряжениеНаФинансирование)или
           (Класс = Класс_СводноеРаспоряжениеНаФинансирование)
         )
       )
  тогда 
    СтрокаОграничения := СтрокаОграничения + " and (not pde.id is null) ";
*/

  Если (Коллекция.Значение('УточнятьТолькоДокументыИзБанка')  и (ТекущаяГруппа = Группа_Доходы) )  тогда  
    СтрокаОграничения := СтрокаОграничения + " and (not inc.eldocref is null) "; 
    
  Если Коллекция.Значение('УчитыватьОбработкуДокументовПоЕксел') тогда
    начало
      ткст_СписокИД := СоздатьТекст;
      Попытка
        СтрокаОграничения := СтрокаОграничения + ПолучитьОграничениеПоИд(Класс, ткст_СписокИД, nil);
      обязательно
        УдалитьОбъект(ткст_СписокИД);
      конец;
    конец;
  
  Если Коллекция.Значение('НеВыбиратьПлатежкиПоНевыясненным') и класс = Класс_ПоступлениеНевыясненных тогда
    /$если Бюджет 
      СтрокаОграничения := СтрокаОграничения + 'and( (inc.ProgIndex in(41,42) and (pd.id is null)) or (inc.ProgIndex not in(41,42)))';
    /$иначе 
      СтрокаОграничения := СтрокаОграничения + 'and( (inc.ProgIndex in(41,42)) or (inc.ProgIndex not in(41,42)))';
    /$конец      
         
  Результат := СтрокаОграничения;
конец;

// не выбираем уже уточненные документы или корректирующие документы уведомлений
функция ДобавитьОграничениеПоСвязанности(класс : целое; строкаОграничения : строка; коллекция : IVariables);
начало
  Если (коллекция.Значение("КодЗаписи")="") и 
       (коллекция.Значение("КодДокумента")="") и
       (коллекция.Значение("КодЗаголовка")="") и
       (класс &lt;&gt; Класс_КазначейскийРеестр) и 
       не коллекция.Значение(ип_ИскатьДокументыБезДопОграничений) 
  тогда
  начало
    Если ВходитВГруппу(коллекция.Значение(ип_КлассИсходногоДокумента), группа_Уведомления) тогда
      //строкаОграничения := строкаОграничения + "and (((lt.ChildDocCls &lt;&gt;  550200) and (lt.ChildDocCls &lt;&gt;  550100)) or (lt.ChildDocCls is null)) "
    иначе   
      строкаОграничения := строкаОграничения + " and ((cor_d.id is null))";
    Если  коллекция.Значение("ЭтоЕксел") тогда
    начало
      если (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_УточнениеПоступлений) или (Коллекция.Значение(ип_КлассИсходногоДокумента) = Класс_УточнениеВыбытий) тогда
            строкаОграничения := строкаОграничения + "  and ( not exists(
                                                                 select cor_c_.id from
                                                                  LinkRecords lr1
                                                                   LEFT OUTER JOIN LinkType lt1 ON (lt1.id =  lr1.linktyperef)
                                                                   Inner  JOIN correctioncaption cor_c_ ON (cor_c_.id = lr1.childid)
                                                                   where
                                                                         (lr1.parentid = lr.Parentid) and
                                                                         ((lt1.parentdoccls = 550201) or (lt1.parentdoccls = 550101)) and
                                                                         (cor_c_.reject_cls is null)
                                                             ))"                                  

      иначе  
        строкаОграничения := строкаОграничения + " and ( not exists(
                                                             select cor_c.id from
                                                                   LinkRecords lr1
                                                             INNER JOIN CorrectionCaption cor_c on (lr1.parentid = cor_c.id)
                                                             where
                                                                  (lr1.childid = lr2.childid) and
                                                                  (cor_c.reject_cls is null)
                                                        ))";
    
 
    конец;   
  конец;  
конец;



// функция формирует ограничения для запроса на выборку данных  
функция  СформироватьОграничения(сс_ИсходныеДокументы : СтатическиеДанные; Класс : целое;Коллекция : IVariables);
переменные
  СтрокаОграничения : Строка;
  ТекущаяГруппа : целое;
начало
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(Класс);
  Если Коллекция.Значение('СтрокаОграничения') &lt;&gt; '' тогда 
    СтрокаОграничения := Коллекция.Значение('СтрокаОграничения')
  иначе 
    СтрокаОграничения := УниверсальноеОграничение(Класс, Коллекция);
  ДобавитьОграничениеПоСвязанности(класс, строкаОграничения, коллекция);     
  // если определен тип данных - тогда формируем ограничение по определённому маппингу
  Выбрать ТекущаяГруппа из
    Группа_Доходы                       : сс_ИсходныеДокументы.Параметр('Limits_Incomes') := СтрокаОграничения; 
    Группа_КазначействоПоступление,
    Группа_КазначействоВыбытие          : сс_ИсходныеДокументы.Параметр('Limits_Treasure') := СтрокаОграничения;
    Группа_Кредиты                      : сс_ИсходныеДокументы.Параметр('Limits_Debt') := СтрокаОграничения;
    Группа_Ссуды                        : сс_ИсходныеДокументы.Параметр('Limits_Fin') := СтрокаОграничения;
    Группа_Реестр                       : сс_ИсходныеДокументы.Параметр('Limits_TreasureReestr') := СтрокаОграничения;
    Группа_ВнутренниеПереброскиРасходов,
    Группа_ВнутренниеПлатежиРасходов    : сс_ИсходныеДокументы.Параметр('Limits_Treasure_VP') := СтрокаОграничения;
    Группа_Финансирование               : сс_ИсходныеДокументы.Параметр('Limits_Fin') := СтрокаОграничения;
    Группа_Уведомления                  : сс_ИсходныеДокументы.Параметр('Limits_Correction') := СтрокаОграничения;
    Класс_Неуказанный                   : ВызватьОшибку('Сформировать ограничения: не указан класс документа');             
  конец
конец;

// если у нас тип нового документа - кредитовые или ссудные , то я предлагаю выбрать какой нибудь из договоров 
// чтобы этих договоры не выводить все - нужно ограничивать по организации получателя или кредитора
функция СформироватьДопОграниченияЗаголовкаДляКредитовИлиСсуд(сс_ИсходныеДокументы : СтатическиеДанные;
                                                              Класс : целое;
                                                              Коллекция : IVariables);
начало
  Если (класс = Класс_ПолучениеКредита) или (класс = Класс_ПогашениеКредита) или (класс = Класс_ВыдачаСсуды) или (класс = Класс_ПогашениеСсуды) тогда 
    коллекция.clear;
  Выбрать Класс из
    Класс_ПолучениеКредита : Коллекция.Значение('Кредитор') := сс_ИсходныеДокументы.Поле('PayerOrgRef').КакЦелое; 
    Класс_ПогашениеКредита : Коллекция.Значение('Кредитор') := сс_ИсходныеДокументы.Поле('AcceptorOrgRef').КакЦелое;
    Класс_ВыдачаСсуды : Коллекция.Значение('Получатель') := сс_ИсходныеДокументы.Поле('AcceptorOrgRef').КакЦелое; 
    Класс_ПогашениеСсуды : Коллекция.Значение('Получатель') := сс_ИсходныеДокументы.Поле('PayerOrgRef').КакЦелое; 
  конец;
конец;

функция ЗаполнитьДаты(Коллекция : IVariables);
начало
  Попытка
    Коллекция.Значение('НачальнаяДата') := StrToDateEx(Диалог.Значение('НачальнаяДата'));
  неудача
    Коллекция.Значение('НачальнаяДата') := 0;    
  конец;  
  Попытка 
    Коллекция.Значение('КонечнаяДата') := StrToDateEx(Диалог.Значение('КонечнаяДата'));
  Неудача
    Коллекция.Значение('КонечнаяДата') := 99999999;
  конец;
  если коллекция.Значение("ЭтоНекассовый") тогда   // обработка только для некассовых классов
  начало
    Попытка
      Коллекция.Значение('ДатаПринятия') := StrToDateEx(Диалог.Значение('ДатаПринятия'));  
    Неудача
      Коллекция.Значение('ДатаПринятия') := ОбычнаяДатаВРасшир(ТекущаяДата);
    конец;
  конец;                   
конец;

функция ПолучитьОграничениеПоДатам(Коллекция : Ivariables; Класс : целое);
переменные 
  ТекущаяГруппа : целое;
начало
  Если Коллекция.Значение('НачальнаяДата')='' тогда 
    Коллекция.Значение('НачальнаяДата') := 0;
  Если Коллекция.Значение('КонечнаяДата')='' тогда 
    Коллекция.Значение('КонечнаяДата') := 99999999;
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(Класс);
  Выбрать ТекущаяГруппа из            
     Группа_Доходы     : Коллекция.Значение('СтрокаОграничения') := Коллекция.Значение('СтрокаОграничения') + ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=inc.Idate', Коллекция, 'inc.Idate') + 'and (not inc.Idate is null)';

     Группа_КазначействоПоступление,
     Группа_КазначействоВыбытие :  начало
                                     Если (ПолучитьПараметрИзНастроек(4,0,"ОграничениеДокументВключенВРеестр")) тогда
                                      Коллекция.Значение('СтрокаОграничения') := Коллекция.Значение('СтрокаОграничения') + ' and (((cpt.reestr_ref is not null) and (ffr.accepted = 1)) or ((cpt.reestr_ref is null) '
                                       + ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=cpt.AcceptDate', Коллекция, 'cpt.AcceptDate') + ' and (not cpt.AcceptDate is null)))'
                                     иначе
                                       Коллекция.Значение('СтрокаОграничения') := Коллекция.Значение('СтрокаОграничения') + ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=cpt.AcceptDate', Коллекция, 'cpt.AcceptDate') + ' and (not cpt.AcceptDate is null)'
                                   конец;
     Группа_Уведомления : Коллекция.Значение('СтрокаОграничения') := Коллекция.Значение('СтрокаОграничения') + ПолучитьОграничениеПоТипуДатыРасш('ДатаПринятияТип=cor_c.AcceptDate', Коллекция, 'cor_c.AcceptDate') + ' and (not cor_c.AcceptDate is null)';                               
  конец;
конец;

// функция формирует ограничения для запроса на выборку данных  
функция  ПолучитьТребуемыеПоляДляПзк( Класс : целое) : строка;
переменные
  СтрокаИсключений : Строка;
  ТекущаяГруппа : целое;
начало
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(Класс);
  СтрокаИсключений := '';
  // если определен тип данных - тогда формируем исключения
  Выбрать ТекущаяГруппа из
    Группа_Доходы                       : СтрокаИсключений := МаппингТребуемыхПолейПЗК_Доходы; 
    Группа_КазначействоПоступление,
    Группа_КазначействоВыбытие          : СтрокаИсключений :=  МаппингТребуемыхПолейПЗК_Казначейство;
    Группа_ВнутренниеПереброскиРасходов,
    Группа_ВнутренниеПлатежиРасходов    : СтрокаИсключений := МаппингТребуемыхПолейПЗК_КазначействоВП;
    Группа_Финансирование               : СтрокаИсключений := МаппингТребуемыхПолейПЗК_Финансирование;
    Группа_Уведомления                  : СтрокаИсключений := МаппингТребуемыхПолейПЗК_Уведомления;
    Класс_Неуказанный                   : ВызватьОшибку('Сформировать требуемые поля для проверки не возможно: не указан класс документа');
  конец;
  Результат := СтрокаИсключений;
конец;


</value>
    <param value="ФункцииДляФормированияОграниченийПоЗапросам" type="3" name="Export">WKS2375\jurov\23.01.2012 19:05:55</param>
    <param value="ФункцииДляФормированияОграниченийПоЗапросам" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляФормированияОграниченийПоЗапросам" type="3" name="crc32">$8CABB0DB</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ФункцииДляГенераторов">включить '\Библиотеки\LibRu.lib';

функция гНомерУведомления: Строка;
начало
  результат := "CorrectionNumber";
конец;

функция УстановтьЗначенияГенератораНомераУведомления;
переменные 
  ТекущееЗначениеГенератора, Номер : целое;
начало
  Диалог.Очистить;
  Диалог.Заголовок := "Установить следующий номер уведомления";
  Диалог.Добавить("Номер уведомления", "НомерУвед", 0);
  
  ТекущееЗначениеГенератора := ГенерироватьДиап(гНомерУведомления, 0);
  Диалог.Значение('НомерУвед') := ТекущееЗначениеГенератора + 1;
  Если Диалог.Выполнить тогда
  начало
    Номер := СтрокаВЦелое(Диалог.Значение('НомерУвед'));
    УстановитьГенератор(гНомерУведомления, Номер);
  конец;  
конец;
</value>
    <param value="ФункцииДляГенераторов" type="3" name="Export">DJON2\egorbunov\07.09.2011 16:05:07</param>
    <param value="ФункцииДляГенераторов" type="3" name="version">36.741.00</param>
    <param value="ФункцииДляГенераторов" type="3" name="crc32">$5844A72F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\События">
    <value type="3" name="НаОперациюСТаблицей(10)">ДиспетчерНаПричинуОтклонения</value>
    <param value="НаОперациюСТаблицей(10)" type="3" name="version">36.741.00</param>
    <param value="НаОперациюСТаблицей(10)" type="3" name="crc32">$FBDC50DB</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\События">
    <value type="3" name="НаОперациюСТаблицей(11)">ДиспетчерНаТипУведомления</value>
    <param value="НаОперациюСТаблицей(11)" type="3" name="version">36.741.00</param>
    <param value="НаОперациюСТаблицей(11)" type="3" name="crc32">$3C90BD82</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\События">
    <value type="3" name="НаОперациюСТаблицей(12)">ДиспетчерНаУстановкуПоляОперации</value>
    <param value="НаОперациюСТаблицей(12)" type="3" name="version">36.741.00</param>
    <param value="НаОперациюСТаблицей(12)" type="3" name="crc32">$CC2FC69E</param>
  </node>
  <delnode path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\действия\ЗапросыДляУведомлений" />
  <delnode path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\действия\КонстантыДляУведомлений" />
  <delnode path="%root%\Объекты\Интерфейсы\{2E7A6969-9C20-4CE4-9FA1-A18DE23226F4}\действия\ФункцииДляУведомлений" />
  <script type="abl" exec="after">
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';      
включить '\Библиотеки\Reports.lib';                        
включить '\Библиотеки\Documents.lib';                                                
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Output.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Библиотеки\LinkInfo2.lib';

включить '\макросы\отчеты\поддержкаОтчетов.abl';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляПакетнойЗамены';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляФормированияОграниченийПоЗапросам';
включить '\Макросы\Уведомления\ФункцииДляРаботыСПротоколом';


// для ускорения работы прероносим запросы по доходам и казначейству и убираем лишние поля
функция ПолучитьЗапрос_Доходы_(Коллекция : IVariables) : строка;
начало
  Результат := "[PumpData]{
                select distinct 
                    inc.ID,
                    inc.FacialAcc_Cls FacialAcc_CLS,  
                    inc.ClsType, 
                    0 KVR,
                    0 KESR,
                    0 KVSR,
                    0 KCSR,
                    0 KFSR,
                    0 SubKesr,
                    inc.Fact,
                    inc.MeansType,
                    inc.DocType,
                    inc.RegionCLS, 
                    inc.KD,
                    0 FinType,
                    inc.DirectionCls,
                    inc.IFS,
                    cast('' as varchar(10))   Promise,
                    cast('' as varchar(10))   BudgetPromise,
                    cast('' as varchar(10))   ExecDoc,
                    0 FinSource 
                 from Incomes32 inc
                 where  
                     (1=1)
                     ~Limits_Incomes 
                 };
        ";
конец;

функция ПолучитьЗапрос_Казначейство_Выбытие_( Коллекция : IVariables) : строка;
начало
  Результат := "[PumpData]{
                SELECT distinct 
                    ffd.id,
                    ffd.SourceFacialAcc_CLS FacialAcc_Cls,                    
                    ffd.ClsType ClsType,
                    ffd.SourceKVR KVR,
                    ffd.SourceKESR KESR,
                    ffd.SourceKVSR KVSR,
                    ffd.SourceKCSR KCSR,
                    ffd.SourceKFSR KFSR,
                    ffd.SourceSubKESR SubKesr,
                    ffd.SourceFact Fact,
                    ffd.SourceMeansType MeansType,
                    ffd.SourceDocType DocType,
                    ffd.SourceFinType FinType,
                    ffd.SourceDirectionCls DirectionCls,
                    ffd.SourceFinSource FinSource,
                    ffd.SourceRegionCls RegionCLS, 
                    ffd.SourceKd KD,
                    ffd.SourceIFS IFS,
                    ffd.SourcePromise Promise,
                    ffd.SourceBudgetPromise BudgetPromise,
                    ffd.SourceExecDoc ExecDoc
            FROM   
                    FacialFindetail ffd
            where
              (1=1)  
              ~Limits_Treasure
              }
        ";
конец;

функция ПолучитьЗапрос_Казначейство_поступления_( Коллекция : IVariables) : строка;
начало
  Результат := "[PumpData]{
                SELECT distinct 
                    ffd.id,
                    ffd.destFacialAcc_CLS FacialAcc_Cls,                    
                    ffd.ClsType ClsType,
                    ffd.destKVR KVR,
                    ffd.destKESR KESR,
                    ffd.destKVSR KVSR,
                    ffd.destKCSR KCSR,
                    ffd.destKFSR KFSR,
                    ffd.destSubKESR SubKesr,
                    ffd.destFact Fact,
                    ffd.destMeansType MeansType,
                    ffd.destDocType DocType,
                    ffd.destFinType FinType,
                    ffd.destDirectionCls DirectionCls,
                    ffd.destFinSource FinSource,
                    ffd.destRegionCls RegionCLS, 
                    ffd.destKd KD,
                    ffd.destIFS IFS,
                    ffd.destPromise Promise,
                    ffd.destBudgetPromise BudgetPromise,
                    ffd.destExecDoc ExecDoc
            FROM   
                    FacialFindetail ffd
            where
              (1=1)  
              ~Limits_Treasure
              }
        ";
конец;


функция ПолучитьЗапрос_Уведомления_(Коллекция : IVariables) : строка;
начало
          Результат := "[PumpData]{
                      SELECT distinct 
                          Cor_d_dest.id,
                          Cor_c.ProgIndex,
                          Cor_c.ProgIndex OriginalProgIndex,
                          Cor_d_dest.FacialAcc_Cls FacialAcc_Cls,
                          Cor_d_dest.ClsType,
                          Cor_d_dest.KVR KVR,
                          Cor_d_dest.KESR KESR,
                          Cor_d_dest.KVSR KVSR,
                          Cor_d_dest.KCSR KCSR,
                          Cor_d_dest.KFSR KFSR,
                          Cor_d_dest.SUBKESR SubKESR,
                          Cor_d_dest.FACT Fact,
                          Cor_d_dest.MeansType MeansType,
                          Cor_d_dest.DocTYpe DocType,
                          Cor_d_dest.FINTYpe FinType,
                          Cor_d_dest.RegionCls RegionCls,
                          Cor_d_dest.DirectionCls DirectionCls,
                          Cor_d_dest.KD KD,
                          Cor_d_dest.FinSource FinSource,
                          Cor_d_dest.IFS IFS,
                          Cor_d_Dest.Promise,  
                          Cor_d_Dest.BudgetPromise,
                          Cor_d_Dest.ExecDoc
                  FROM   
                          CorrectionCaption Cor_c
                          left join CorrectionDetail cor_d_dest on ((cor_c.Id = cor_d_dest.RecordIndex) and (cor_d_dest.ProgIndex = 316))
                                                               
                  where
                    (1=1) and
                    (Cor_c.Reject_Cls is null)  
                    ~Limits_Correction
                    }";
     
               
конец;






функция ВернутьКодСвязиПоКлассу_(классДокумента : целое) : строка;
переменные
  префикс, постфикс, имяКласса : строка;
начало                                                     
  Выбрать классДокумента из
      Класс_ПлатежныеПоручения : результат := '35500100';      //63
      Класс_РасходПоЧекам :результат := '35500600';// 64                            304
      Класс_ПеречислениеНаСчетаДляНаличности : результат := '35500700';          // 68 311
      Класс_ВозвратСоСчетовДляНаличности : результат := '35500800';// 70   314
      Класс_ВнутренниеПереброскиРасходов : результат  := '35501000';//  66; 301
      Класс_РаспоряжениеНаФинансирование : результат := '75500100';//  23; 701
      Класс_СводноеРаспоряжениеНаФинансирование : результат := '15500100'; //  223; 701
      Класс_ВыдачаСсуды: результат := '55500100'; //121       
      ту_УточнениеВыбытий : результат := '555500900'; // 313          5502
      Класс_ВозвратДоходов : результат := '95500300';// 145     901
      
      Класс_ПоступлениеДоходов : результат := '95500200';// 45                   903
      Класс_ПоступлениеНевыясненных : результат := '95500400';// 41         906
      Класс_ПриходОтПрочих : результат := '35501200';// 61                          305
      Класс_ПриходПоОбъявлениям : результат := '35500200';// 62                306
      Класс_Разассигновка : результат := '35500300';// 65                              303
      Класс_УтверждениеОФ : результат := '35501400';// 75                             323
      класс_РаспределениеОФ: результат := '35501300'; // 76
      Класс_ПодтверждениеПеречисленияНаСчетаДляНаличности : результат := '35500400';// 69 312
      Класс_ПодтверждениеВозвратасоСчетовДляНаличности : результат := '35500500';// 71 315
      Класс_УчетКассовыхВыплат : результат := '35501500'; // 73
      ту_УточнениеПоступлений : результат := '555500800';// 312  5501
    иначе  
      ВызватьОшибку("Связи для данного класса документа : " + ЦелоеВСтроку(классДокумента) + "");
  конец;
конец;




функция СвязатьДокументыЕкселКор_(linkInfo : ILinkInfo2; классДокумента, классУведомления, списокРодительскогоДокумента : строка; кодКодовДочернегоДокумента : целое);
переменные
  ткстСписокИд : Текст;
  сч : целое;
  кодСвязи : строка;
начало
  ткстСписокИд := СоздатьТекст;
  ткстСписокИд.РазделенноеЗначение := списокРодительскогоДокумента;
  попытка
    От сч := 0 до (ткстСписокИд.Количество-1) делать
    начало
      //СвязатьДокументы(linkInfo, классДокумента, классУведомления,ткстСписокИд.Стр(сч), кодКодовДочернегоДокумента, ложь, ложь, ложь, истина);
      кодСвязи := ВернутьКодСвязиПоКлассу_(классДокумента);
      linkInfo.CreateLink(кодСвязи, ткстСписокИд.Стр(сч), кодКодовДочернегоДокумента);
    конец;
  УдалитьОбъект(ткстСписокИд);  
  неудача
    УдалитьОбъект(ткстСписокИд);
    ВызватьОшибку('Произошла ошибка при проставлении связей:'+ #13#10 +ПоследняяОшибка);
  конец;
конец;

// дубликат функции
функция ПолучитьЗапросПоКлассу_(Класс : целое; Коллекция : IVariables) : строка;
переменные
  ТекущаяГруппа : целое;
начало
  ТекущаяГруппа := ПолучитьГруппуПоКлассу(Класс);
  Коллекция.Значение('Класс') := Класс;
  Результат := '';
  // если определен тип данных - тогда подставляем соответствующий запрос
  Выбрать ТекущаяГруппа из
      Группа_Доходы  : Результат := ПолучитьЗапрос_Доходы_(Коллекция); 
      Группа_КазначействоВыбытие : Результат := ПолучитьЗапрос_Казначейство_Выбытие_(Коллекция);
      Группа_КазначействоПоступление  : Результат := ПолучитьЗапрос_Казначейство_Поступления_(Коллекция);
      Группа_Кредиты : Результат := ПолучитьЗапрос_Заимствования(Коллекция);
      Группа_Ссуды  : начало
                        Коллекция.Значение('РаспоряжениеНаФинансирование') := Ложь;
                        Результат := ПолучитьЗапрос_Финансирование(Коллекция);
                      конец;  
      Группа_Реестр : Результат := ПолучитьЗапрос_Казначейство_Реестр;
      Группа_ВнутренниеПереброскиРасходов : Результат := ПолучитьЗапрос_КазначействоВП(Коллекция);
      Группа_Финансирование : начало 
                                Коллекция.Значение('РаспоряжениеНаФинансирование') := Истина;
                                Результат := ПолучитьЗапрос_Финансирование(Коллекция);
                              конец;
      Группа_Уведомления : Результат := ПолучитьЗапрос_Уведомления_(Коллекция);                          
    // нет такой группы, к которой бы принадлежал данный класс  
    иначе   
      ВызватьОшибку('ПолучитьЗапросПоКлассу : неуказанная группа. Класс:' + ЦелоеВСтроку(Класс)); 
  конец
конец;

функция ПолучитьИсходныеДокументы_(Коллекция : IVariables) : СтатическиеДанные;
переменные
  Прогресс : IProgress;
  ЛокКоллекция : IVariables;
  ЭтоВП, ЭтоУведомления, Класс : целое;
  сс_ИсходныеДокументы : СтатическиеДанные;
начало
//инициализация переменных
  сс_ИсходныеДокументы := СоздатьСтатикСет;
  сс_ИсходныеДокументы.СоединитьБД;
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  Класс := ЛокКоллекция.Значение(ип_КлассИсходногоДокумента);
  ЭтоУведомления := (Класс=Класс_УточнениеПоступлений) или (Класс=Класс_УточнениеВыбытий);
  ЭтоВП := ф_ЭтоВП(Класс);
  
//выборка исходных документов
  Прогресс := Progress;
  Прогресс.BeginProgress;
  попытка
    Прогресс.SetMessage('Поиск исходного документа: выборка данных');
    //--// 
    Если не ЛокКоллекция.ПараметрСуществует("ТолькоПринятые") тогда
      ЛокКоллекция.Значение('ТолькоПринятые') := 1; 
    Если (не ЭтоВП) и (не ЭтоУведомления) и не локКоллекция.ПараметрСуществует(ип_УточнятьТолькоОтправленные) тогда 
      ЛокКоллекция.Значение(ип_УточнятьТолькоОтправленные) := Истина;

    //--//
    если ЭтоУведомления тогда 
      ЛокКоллекция.Значение('УведомленияКакИсходныйДокументДляКор_или_Нов') := истина;
    сс_ИсходныеДокументы.Запрос := ПолучитьЗапросПоКлассу_(Класс, ЛокКоллекция);
    СформироватьОграничения(сс_ИсходныеДокументы, Класс, ЛокКоллекция);
    Если ЭтоВП тогда 
      сс_ИсходныеДокументы.Параметр('Limits_Treasure_VP') := сс_ИсходныеДокументы.Параметр('Limits_Treasure_VP') + ' and (cpt.OperationDirection in (' + ВернутьОбрабатываемыеНаправленияОперации(ЛокКоллекция, 'Формировать уведомления для направлений') + '))';
    сс_ИсходныеДокументы.Открыть;
    Результат := сс_ИсходныеДокументы;
  обязательно  
    Прогресс.EndProgress;
  конец;
конец;

функция ПолучитьСвязанныйДокумент_(ProgIndex : целое; СписокИд : строка) : СтатическиеДанные;
переменные 
  коллекция : IVariables;
начало
  коллекция := CreateVariables;
  результат := nil;
  попытка
    коллекция.Значение('КодЗаписи') := СписокИд;
    коллекция.Значение('ВыбиратьОтклоненные') := 1;
    коллекция.Значение("ТолькоПринятые") := Ложь;
    коллекция.Значение(ип_УточнятьТолькоОтправленные) := Ложь;
    коллекция.Значение(ип_КлассИсходногоДокумента) := ProgIndex;
    коллекция.Значение("НеОграничиватьПоОстатку") := Истина;
    результат := ПолучитьИсходныеДокументы_(коллекция);
  обязательно
    УдалитьОбъект(коллекция);
  конец;
конец;


функция ПолучитьЗапросПоискИсходных : строка;
переменные
  ПараметрЗапроса : строка; 
начало
/*  если Класс = Класс_ПоступлениеНевыясненных тогда
    ПараметрЗапроса := '%0'
  иначе
    ПараметрЗапроса := '%1';   
     Where (lr.parentid = @IdCaption) and (lt.childdoccls like @Param ) lr.ChildId   
    */
  результат := "
               [PumpData]{
                 SELECT   @Field ChildId
                          
                 From LinkRecords lr
                   inner  JOIN LinkType lt ON (lt.id =  lr.LinkTypeRef)        
                 Where ( @Link = @IdCaption) and ( @LinkCLS like @Param ) 
                  }                
  
               ";
               
конец;


функция ПолучитьЗапросДляУведомлений : строка;
начало
  результат := "  [PumpData]{
                      SELECT distinct Cor_c.Id MasterId,
                          cor_d_source.id,
                          cor_d_.id DetCorId,
                                                
                          Cor_c.ProgIndex,                         
                          Cor_c.OriginalProgindex,
                          Cor_c.OriginalRecordindex,
                          
                          lr.ChildId
                          
                  FROM   
                          CorrectionCaption Cor_c  
                          left join CorrectionDetail cor_d_source ON ((cor_d_source.RecordIndex =  cor_c.id) and (cor_d_source.ProgIndex =  315))
                          left join LinkRecords lr on (lr.ChildId = cor_d_source.id)
                          Left join LinkRecords lr2 on ((lr2.ChildId = cor_c.id))
                          left join CorrectionDetail cor_d_ on (cor_d_.id = lr2.ParentId)
                  WHERE not (cor_c.originalrecordindex is null)  and (lr.ChildId is null) and not (cor_c.originalprogindex is null)
                 
                    }";
 
конец;

функция ПолучитьЗапросДляПЗК : строка;
начало
  результат := "  [PumpData]{
                      SELECT distinct Cor_c.Id MasterID,
                          cor_d_source.id,
                          cor_d_.id DetCorId,
                          cor_c.OriginalProgindex,
                          cor_c.OriginalRecordIndex,
                          cor_c.ProgIndex,
                          lr.ChildId,
                          
                          cor_d_source.KVSR,
                          cor_d_source.KFSR,
                          cor_d_source.KVR,
                          cor_d_source.KCSR,
                          cor_d_source.KESR,
                          cor_d_source.KD,
                          cor_d_source.IFS,
                          cor_d_source.FacialAcc_Cls,
                          cor_d_source.Promise,
                          cor_d_source.BudgetPromise,
                          cor_d_source.ExecDoc,
                          cor_d_source.DirectionCls,
                          cor_d_source.Fact,
                          cor_d_source.MeansType,
                          cor_d_source.FinSource,
                          cor_d_source.FInType,
                          cor_d_source.DocType,
                          cor_d_source.RegionCls,
                          cor_d_source.SubKesr,

                          
                          
                          Cor_d_source.ClsType
                          
                  FROM   
                          CorrectionCaption Cor_c  
                          left join CorrectionDetail cor_d_source ON ((cor_d_source.RecordIndex =  cor_c.id) and (cor_d_source.ProgIndex =  315))
                          left join LinkRecords lr on (lr.ChildId = cor_d_source.id)
                          Left join LinkRecords lr2 on ((lr2.ChildId = cor_c.id))
						  left join LinkRecords lr3 on (lr3.parentid = cor_c.id)
                          left join CorrectionDetail cor_d_ on (cor_d_.id = lr2.ParentId)
                  WHERE  (cor_c.originalrecordindex is null)  and (lr.ChildId is null) and (not (cor_c.OriginalProgindex is null))
                          and ( not (lr3.ChildID is null))

                    }";
                    // and (cor_c.acceptdate &gt;= 20090913)  and (cor_c.acceptdate &lt; 20090915)

                    //                       and (cor_c.acceptdate &gt;= 20090901)  and (cor_c.acceptdate &lt; 20090930)
конец;

переменные
 сс_ИсходныеДанные, сс_Вспомогательный, сс_ПервичныеДоументыПЗК, сс_ГруппированныеИсходные,  сс_Хранилище : СтатическиеДанные;
 кодРодительскогоДокумента, кодДочернегоДокумента, ИдЗаголовка : целое;
 списокРодительскихДокументов, СписокИдИсхДокументов : строка;
 Коллекция : IVariables;
 linkInfo : ILinkInfo2;
 СтандартныеПоляГруппировки, ПоляГруппировкиИзНастроек, НаименованиеПараметра, ПромежуточнаяГруппировка : строка;
 сч, счЗаписей, количествозаписей, КодТекБюджета, ГодТекБюджета  : Целое;
 ткст_СписокПолейГруппировкиИзНастроек, ткст_СписокСоответствияКлючевыхПолей, ткст_СписокСоответствияРезультирующихПолей,
 ткст_СписокБезДубликатов : Текст;
 Прогресс : IProgress;
 СсылкаНаИсходныйДокумента, ИдДокумента, КлассИсходногоДокумента, ПрогиндексЗаголовкаУведомлений, ИдДетализацииУВедомления, ИдЗаголовкаУведомления,
 ИдИсходногоДокумента  : Поле;
 кодСвязи, стрКоличествозаписей : строка;

начало
  // проверяем если год не 2010 то скрипт не выполняется
  КодТекБюджета := ПолучитьКонстанту(Project,-1,3);
  ГодТекБюджета := разыменовать("Бюджет.Год",КодТекБюджета);
  если ГодТекБюджета &lt;&gt; 2010 тогда Выход;

  // 0. Подготовка переменных
   
  сс_ИсходныеДанные := СоздатьСтатическиеДанные;
  сс_Вспомогательный := СоздатьСтатическиеДанные;
  сс_ПервичныеДоументыПЗК := СоздатьСтатическиеДанные;
  сс_ГруппированныеИсходные := СоздатьСтатическиеДанные; 
  сс_Хранилище := СоздатьСтатическиеДанные;
  
  Коллекция := CreateVariables;
  linkInfo := CreateComObject(TLinkInfo2);
  СоединитьИнтерфейс(LinkInfo);
  Коллекция.Значение("linkInfo") := linkInfo;
  Прогресс := Progress;
  Прогресс.BeginProgress; 
  Попытка  
    ВывестиВПротокол(0, nil, 'Начальное время : ' +  ФорматироватьВремя('HH',текущаядата) + "-" + ФорматироватьВремя('nn',текущаядата) + "-" + ФорматироватьВремя('SS',текущаядата) + #13#10);
    сс_ИсходныеДанные.СоединитьБД;
    сс_ИсходныеДанные.Запрос := ПолучитьЗапросДляУведомлений;
    Прогресс.SetMessage('Для предотвращения ошибок не рекомендуется нажимать на кнопку “Отмена”. Получение исходных документов');
    сс_ИсходныеДанные.Открыть;
    сс_Вспомогательный.СоединитьБД;
    сс_ПервичныеДоументыПЗК.СоединитьБД;
    // 1. Получить все уведомления e которых нет новых связей
    СсылкаНаИсходныйДокумента := сс_ИсходныеДанные.Поле("OriginalRecordindex"); 
    ИдДокумента := сс_ИсходныеДанные.Поле("Id");
    КлассИсходногоДокумента := сс_ИсходныеДанные.Поле("OriginalProgindex");
    ПрогиндексЗаголовкаУведомлений := сс_ИсходныеДанные.Поле("Progindex");
    ИдДетализацииУВедомления := сс_ИсходныеДанные.Поле("DetCorId");
    ИдЗаголовкаУведомления := сс_ИсходныеДанные.Поле('MasterId');
    // 2. Операции с документами у котрых есть исходный документ
    // 2.1 Если Исходное не Уведомление
    ОткрытьТранзакцию;
    сс_ИсходныеДанные.Фильтр := '(OriginalProgindex &lt;&gt; 312) and (OriginalProgindex &lt;&gt; 313)';
    сс_Вспомогательный.Закрыть;
    сс_Вспомогательный.Запрос :=  ПолучитьЗапросПоискИсходных;
    сс_ИсходныеДанные.ВНачало;
    количествозаписей := сс_ИсходныеДанные.ЧислоЗаписей;
    стрКоличествозаписей := ЦелоеВСтроку(сс_ИсходныеДанные.ЧислоЗаписей);
    Попытка
      пока не сс_ИсходныеДанные.ВКонце  делать
      начало
        Прогресс.SetMessage('Для предотвращения ошибок не рекомендуется нажимать на кнопку “Отмена”.Формирование связей у уведомлений созданных не на основе других уведомлений: ');
        Прогресс.SetProgress(100 * сс_ИсходныеДанные.RecNo/количествозаписей);
        сс_Вспомогательный.Закрыть;
        сс_Вспомогательный.Параметр('IdCaption') :=  ИдЗаголовкаУведомления.КакЦелое;
        если КлассИсходногоДокумента.КакЦелое= Класс_ПоступлениеНевыясненных тогда
          сс_Вспомогательный.Параметр('Param') := "'%0'"
        иначе
          сс_Вспомогательный.Параметр('Param') :=  "'%1'";
        сс_Вспомогательный.Параметр('Link') :=  "lr.parentid";
        сс_Вспомогательный.Параметр('LinkCLS') :=  "lt.childdoccls";
        сс_Вспомогательный.Параметр('Field') :=  "lr.childid ";  
        сс_Вспомогательный.Открыть;
        ИдИсходногоДокумента := сс_Вспомогательный.Поле('ChildId');
        кодРодительскогоДокумента := ИдИсходногоДокумента.КакЦелое ;
        кодДочернегоДокумента := ИдДокумента.КакЦелое;
        кодСвязи := ВернутьКодСвязиПоКлассу_(КлассИсходногоДокумента.КакЦелое);
        linkInfo.CreateLink(кодСвязи, кодРодительскогоДокумента, кодДочернегоДокумента);
        сс_ИсходныеДанные.Следующий;
      конец;
      ЗакрытьТранзакцию;
    Неудача                                                   
      ОтменитьТранзакцию;
      ВызватьОшибку('Произошла ошибка при проставлении связей:'+ #13#10 +ПоследняяОшибка);
    Конец;
    ВывестиВПротокол(0, nil, '2.1 : ' +  ФорматироватьВремя('HH',текущаядата) + "-" + ФорматироватьВремя('nn',текущаядата) + "-" + ФорматироватьВремя('SS',текущаядата) +" -- "+ФорматироватьВремя('zzz',текущаядата) +#13#10);  
    // 2.2 Для исходных уведомлений
    сс_ИсходныеДанные.Очистить;
    сс_ИсходныеДанные.Фильтр := '( ((OriginalProgindex = 312) or (OriginalProgindex = 313)) and (not (DetCorId is null)) )';
    сс_ИсходныеДанные.ВНачало;
    ОткрытьТранзакцию;
    Попытка
      количествозаписей := сс_ИсходныеДанные.ЧислоЗаписей;
      стрКоличествозаписей := ЦелоеВСтроку(сс_ИсходныеДанные.ЧислоЗаписей);
      пока не сс_ИсходныеДанные.ВКонце  делать
      начало
        Прогресс.SetMessage('Для предотвращения ошибок не рекомендуется нажимать на кнопку “Отмена”.Формирование связей у уведомлений созданных на основе других уведомлений: ');
        Прогресс.SetProgress(100 * сс_ИсходныеДанные.RecNo/количествозаписей );
        кодРодительскогоДокумента := ИдДетализацииУВедомления.КакЦелое ;
        кодДочернегоДокумента := ИдДокумента.КакЦелое;
        кодСвязи := ВернутьКодСвязиПоКлассу_(КлассИсходногоДокумента.КакЦелое);
        linkInfo.CreateLink(кодСвязи, кодРодительскогоДокумента, кодДочернегоДокумента);
        сс_ИсходныеДанные.Следующий;
      конец;   
      сс_ИсходныеДанные.Фильтр := '';
      сс_ИсходныеДанные.Закрыть;
      ЗакрытьТранзакцию;
    Неудача
      ОтменитьТранзакцию;
      ВызватьОшибку('Произошла ошибка при проставлении связей:'+ #13#10 +ПоследняяОшибка);
    Конец;   
    ВывестиВПротокол(0, nil, '2.2 : ' +  ФорматироватьВремя('HH',текущаядата) + "-" + ФорматироватьВремя('nn',текущаядата) + "-" + ФорматироватьВремя('SS',текущаядата) +" -- "+ФорматироватьВремя('zzz',текущаядата) +#13#10);        
    // 3. Операции с документами по ПЗК
    СтандартныеПоляГруппировки := 'ClsType,KVSR,KFSR,KVR,KCSR,KESR,KD,IFS,FacialAcc_Cls';
    ПромежуточнаяГруппировка := 'ClsType,KVSR,KFSR,KVR,KCSR,KESR,KD,IFS,FacialAcc_Cls,DirectionCls,Fact,DocType';
    // 3.1 Получаем поля из настроек
   
    ПоляГруппировкиИзНастроек := '';
    ткст_СписокПолейГруппировкиИзНастроек := СоздатьТекст;
    ткст_СписокБезДубликатов := СоздатьТекст;
    ткст_СписокБезДубликатов.Сортированый  := Да;
    ткст_СписокБезДубликатов.Дубликаты := Нет;

    //  ткст_СписокБезДубликатов := СоздатьТекст;
    ткст_СписокПолейГруппировкиИзНастроек.РазделенноеЗначение := ПолучитьПараметрИзНастроек(4, 0, 'Поля группировки при пакетной замене');
    Если ткст_СписокПолейГруппировкиИзНастроек.Количество=0 тогда 
      ткст_СписокПолейГруппировкиИзНастроек.РазделенноеЗначение := 'ПоляДоговоровИБО,Направление,Мероприятие,ТипСредств,ИсточникФинасирования,ТипФинансирования,ТипДокумента,Район,СубКЭСР';
    ткст_СписокСоответствияКлючевыхПолей := СоздатьТекст;
    ткст_СписокСоответствияРезультирующихПолей := СоздатьТекст;
    ЗаполнитьСтандартныеСписки( ткст_СписокСоответствияКлючевыхПолей,ткст_СписокСоответствияРезультирующихПолей);  
      // заполняем  маппинг полей группировки
    от сч := 0 до (ткст_СписокПолейГруппировкиИзНастроек.Количество-1) делать  
    начало
      НаименованиеПараметра := ткст_СписокПолейГруппировкиИзНастроек.стр(сч);
      Если (ткст_СписокПолейГруппировкиИзНастроек.Поиск(НаименованиеПараметра)&lt;&gt; -1) и (НаименованиеПараметра &lt;&gt; 'ПоляЛицевыхСчетов') и (НаименованиеПараметра &lt;&gt;'ПоляОрганизацииПолучателя') и (НаименованиеПараметра &lt;&gt;'ПоляОрганизацииПлательщика') тогда 
        ПоляГруппировкиИзНастроек := ПоляГруппировкиИзНастроек + ',' + ткст_СписокСоответствияКлючевыхПолей.ЗначениеПараметра(НаименованиеПараметра)
    конец;
    сс_ИсходныеДанные.Запрос := ПолучитьЗапросДляПЗК;
    сс_ИсходныеДанные.Открыть;
    // убираем лишниее данные
    сс_Исходныеданные.Фильтр :=  '((OriginalProgindex = 312) or (OriginalProgindex = 313)) and (DetCorId is null)';
    сс_Исходныеданные.Очистить;
    сс_Исходныеданные.Фильтр := '';
    СсылкаНаИсходныйДокумента := сс_ИсходныеДанные.Поле("OriginalRecordindex"); 
    ИдДокумента := сс_ИсходныеДанные.Поле("Id");
    КлассИсходногоДокумента := сс_ИсходныеДанные.Поле("OriginalProgindex");
    ПрогиндексЗаголовкаУведомлений := сс_ИсходныеДанные.Поле("Progindex");
    ИдДетализацииУВедомления := сс_ИсходныеДанные.Поле("DetCorId");
    ИдЗаголовкаУведомления := сс_ИсходныеДанные.Поле('MasterId');
    сс_ИсходныеДанные.IndexFieldNames := 'MasterId';
    сс_Хранилище.Закрыть;
    сс_Хранилище.ПрисвоитьПоля(сс_ИсходныеДанные);
    сс_Хранилище.ДобавитьСтроковоеПоле('ListId', 8000);
    сс_Хранилище.Открыть;
    сс_Хранилище.PumpData(сс_ИсходныеДанные,"");
    сс_ИсходныеДанные.ВНачало;
    ИдЗаголовка := 0;   
    // предварительная обработка данных
    количествозаписей := сс_ИсходныеДанные.ЧислоЗаписей;
    стрКоличествозаписей := ЦелоеВСтроку(сс_ИсходныеДанные.ЧислоЗаписей);
    пока не сс_ИсходныеДанные.ВКонце  делать                                              
    начало
      Прогресс.SetMessage('Для предотвращения ошибок не рекомендуется нажимать на кнопку “Отмена”.Обработка уведомлений созданных на основе ПЗК: ');
      Прогресс.SetProgress(100 * сс_ИсходныеДанные.RecNo/ количествозаписей );
      если (ИдЗаголовка &lt;&gt; ИдЗаголовкаУведомления.КакЦелое)  тогда
      начало
        ИдЗаголовка := ИдЗаголовкаУведомления.КакЦелое; 
        сс_Вспомогательный.Закрыть;
        сс_Вспомогательный.Параметр('IdCaption') :=  ИдЗаголовка;
        // устанавливаем параметр для поиска нужной связи
        если (КлассИсходногоДокумента.КакЦелое= Класс_ПоступлениеНевыясненных)  тогда
          сс_Вспомогательный.Параметр('Param') := "'%0'"
        иначе
          сс_Вспомогательный.Параметр('Param') :=  "'%1'";
        // устанавливаем параметр для поиска нужного поля  
        если ВходитВГруппу(КлассИсходногоДокумента.КакЦелое, Группа_Уведомления) тогда
        начало
          сс_Вспомогательный.Параметр('Link') :=  "lr.childid";
          сс_Вспомогательный.Параметр('LinkCLS') :=  "lt.parentdoccls";
          сс_Вспомогательный.Параметр('Field') :=  "lr.parentid ";
        конец  
        иначе
        начало
          сс_Вспомогательный.Параметр('Link') :=  "lr.parentid";
          сс_Вспомогательный.Параметр('LinkCLS') :=  "lt.childdoccls";
          сс_Вспомогательный.Параметр('Field') :=  "lr.childid ";
        конец;            
        сс_Вспомогательный.Открыть;
        СписокИдИсхДокументов :=  GetLimitStr(сс_Вспомогательный,'ChildId');
        сс_ПервичныеДоументыПЗК :=  ПолучитьСвязанныйДокумент_(КлассИсходногоДокумента.КакЦелое, СписокИдИсхДокументов);
        сс_ГруппированныеИсходные.Закрыть;
        сс_ГруппированныеИсходные.ПрисвоитьПоля(сс_ПервичныеДоументыПЗК);
        сс_ГруппированныеИсходные.ДобавитьСтроковоеПоле('ListId', 8000);
        сс_ГруппированныеИсходные.Открыть; 
        сс_ГруппированныеИсходные.Группировать(сс_ПервичныеДоументыПЗК, "keys=" + СтандартныеПоляГруппировки + ПоляГруппировкиИзНастроек + ";ListID=list(id);");
      конец;   
    // обработка классификации
      сс_Хранилище.Фильтр := 'MasterId =' + ЦелоеВСтроку(ИдЗаголовка);  
      сс_Хранилище.Группировать(сс_ГруппированныеИсходные, "insert=false;default=false;keys="+СтандартныеПоляГруппировки + ПоляГруппировкиИзНастроек +";ListId=ListId;");
      // требуются дополнительные действия для проставления нужных id
      сс_Хранилище.Фильтр := сс_Хранилище.Фильтр + 'and (ListId is null)';
      если сс_Хранилище.ЧислоЗаписей &lt;&gt; 0 тогда
        сс_Хранилище.Группировать(сс_ГруппированныеИсходные, "insert=false;default=false;keys="+ ПромежуточнаяГруппировка +";ListId=ListId;");
      если сс_Хранилище.ЧислоЗаписей &lt;&gt; 0 тогда
        сс_Хранилище.Группировать(сс_ГруппированныеИсходные, "insert=false;default=false;keys="+ СтандартныеПоляГруппировки +";ListId=ListId;");
      если сс_Хранилище.ЧислоЗаписей &lt;&gt; 0 тогда  
        ВывестиВПротокол(0, nil, 'Неудалось проставить связи' +#13#10);
      // сначала используем промежуточный
      сс_Хранилище.Фильтр := '';
      сс_ИсходныеДанные.Следующий;
    конец;
    ВывестиВПротокол(0, nil, '3.1 : ' +  ФорматироватьВремя('HH',текущаядата) + "-" + ФорматироватьВремя('nn',текущаядата) + "-" + ФорматироватьВремя('SS',текущаядата) +" -- "+ФорматироватьВремя('zzz',текущаядата) +#13#10);
      // 3.2 Проставление связей у записей ПЗК
    ОткрытьТранзакцию;
    Попытка
      сс_Хранилище.Фильтр := '(OriginalProgindex &lt;&gt; 312) and (OriginalProgindex &lt;&gt; 313)';
      количествозаписей := сс_Хранилище.ЧислоЗаписей;
      стрКоличествозаписей := ЦелоеВСтроку(сс_Хранилище.ЧислоЗаписей);
      если сс_Хранилище.ЧислоЗаписей &lt;&gt; 0 тогда
      начало
        сс_Хранилище.ВНачало;
        ИдДокумента := сс_Хранилище.Поле("Id");
        КлассИсходногоДокумента := сс_Хранилище.Поле("OriginalProgindex");
        ПрогиндексЗаголовкаУведомлений := сс_Хранилище.Поле("Progindex");
        ИдДетализацииУВедомления := сс_Хранилище.Поле("ListId");
        сч := 0;
        пока не сс_Хранилище.ВКонце делать
        начало
          сч := сч + 1;
          Прогресс.SetMessage('Для предотвращения ошибок не рекомендуется нажимать на кнопку “Отмена”.Формирование связей у уведомлений созданных на основе ПЗК(исходный документ не Уведомление): ');
          Прогресс.SetProgress(100 * сс_Хранилище.RecNo/количествозаписей );
          кодДочернегоДокумента := ИдДокумента.КакЦелое;
          ткст_СписокБезДубликатов.РазделенноеЗначение := сс_Хранилище.Поле("ListId").КакСтрока; 
          списокРодительскихДокументов := ткст_СписокБезДубликатов.РазделенноеЗначение;
          СвязатьДокументыЕкселКор_(коллекция.Значение("linkInfo"),КлассИсходногоДокумента.КакЦелое,ПрогиндексЗаголовкаУведомлений.КакЦелое, списокРодительскихДокументов, кодДочернегоДокумента);
          сс_Хранилище.Следующий;
          если сч = 500 тогда
          начало
            сч := 0;
            ЗакрытьТранзакцию;
            ОткрытьТранзакцию;
          конец;
        конец;
      конец;
      ЗакрытьТранзакцию;
    Неудача
      ОтменитьТранзакцию;
      ВызватьОшибку('Произошла ошибка при проставлении связей:'+ #13#10 +ПоследняяОшибка);
    конец;    
    ВывестиВПротокол(0, nil, '3.2.1 : ' +  ФорматироватьВремя('HH',текущаядата) + "-" + ФорматироватьВремя('nn',текущаядата) + "-" + ФорматироватьВремя('SS',текущаядата) +" -- "+ФорматироватьВремя('zzz',текущаядата) +#13#10);
    ОткрытьТранзакцию;
    Попытка                  
      сс_Хранилище.Фильтр := '( ((OriginalProgindex = 312) or (OriginalProgindex = 313)) and (not (DetCorId is null)) )';
      количествозаписей := сс_Хранилище.ЧислоЗаписей;
      стрКоличествозаписей := ЦелоеВСтроку(сс_Хранилище.ЧислоЗаписей);
      сс_ГруппированныеИсходные.Закрыть;
      сс_ГруппированныеИсходные.ПрисвоитьПоля(сс_Хранилище);
      сс_ГруппированныеИсходные.Открыть;
      если сс_Хранилище.ЧислоЗаписей &lt;&gt; 0 тогда
      начало 
        сс_ГруппированныеИсходные.Очистить;
        сс_ГруппированныеИсходные.Группировать(сс_Хранилище,"keys=id,OriginalProgindex,Progindex");
        сс_Хранилище := сс_ГруппированныеИсходные; 
        сс_Хранилище.ВНачало;
        ИдДокумента := сс_Хранилище.Поле("Id");
        КлассИсходногоДокумента := сс_Хранилище.Поле("OriginalProgindex");
        ПрогиндексЗаголовкаУведомлений := сс_Хранилище.Поле("Progindex");
        ИдДетализацииУВедомления := сс_Хранилище.Поле("ListId");
        сч := 0;
        пока не сс_Хранилище.ВКонце делать
        начало
          сч := сч + 1;
          Прогресс.SetMessage('Для предотвращения ошибок не рекомендуется нажимать на кнопку “Отмена”.Формирование связей у уведомлений созданных на основе ПЗК(исходный документ Уведомление): ');
          Прогресс.SetProgress(100 * сс_Хранилище.RecNo/количествозаписей );
          кодДочернегоДокумента := ИдДокумента.КакЦелое;
          ткст_СписокБезДубликатов.РазделенноеЗначение := сс_Хранилище.Поле("ListId").КакСтрока; 
          списокРодительскихДокументов := ткст_СписокБезДубликатов.РазделенноеЗначение;
          СвязатьДокументыЕкселКор_(коллекция.Значение("linkInfo"),КлассИсходногоДокумента.КакЦелое,ПрогиндексЗаголовкаУведомлений.КакЦелое, списокРодительскихДокументов, кодДочернегоДокумента);
          сс_Хранилище.Следующий;
          если сч = 500 тогда
          начало
            сч := 0;
            ЗакрытьТранзакцию;
            ОткрытьТранзакцию;
          конец;
        конец;
      конец; 
      ЗакрытьТранзакцию;
    Неудача
      ОтменитьТранзакцию;
      ВызватьОшибку('Произошла ошибка при проставлении связей:'+ #13#10 +ПоследняяОшибка);
    конец;   
  обязательно 
    ВывестиВПротокол(0, nil, 'Конечное время : ' +  ФорматироватьВремя('HH',текущаядата) + "-" + ФорматироватьВремя('nn',текущаядата) + "-" + ФорматироватьВремя('SS',текущаядата) + #13#10);
    Прогресс.EndProgress;
  конец;  
конец.
                  	
</script>
  <node path="%root%\Объекты\Настройки\Уведомление об уточнении">
    <value type="6" name="Параметры">
      <table key="Name;Group;CodeFormat" userfields="Path,Order">
        <FDL>
          <FD>
            <CN>TMemoField</CN>
            <N>Path</N>
            <S>0</S>
            <DL>Path</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Group</N>
            <S>50</S>
            <DL>Group</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Order</N>
            <DL>Order</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CodeFormat</N>
            <DL>CodeFormat</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>PickList</N>
            <S>0</S>
            <DL>PickList</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DisplayLabel</N>
            <S>255</S>
            <DL>DisplayLabel</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TWordBoolField</CN>
            <N>Hidden</N>
            <DL>Hidden</DL>
            <FDT>2</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Hint</N>
            <S>500</S>
            <DL>Hint</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Path">Версии</V>
            <V N="Name">Версия</V>
            <V N="Type">0</V>
            <V N="Order">1</V>
            <V N="DisplayLabel">Версия блока</V>
          </R>
          <R>
            <V N="Path">Версии</V>
            <V N="Name">ВерсияПЗК</V>
            <V N="Type">0</V>
            <V N="Order">1</V>
            <V N="DisplayLabel">Версия блока ПЗК</V>
          </R>
          <R>
            <V N="Path">ДействияПередПринятием</V>
            <V N="Name">Внутренние переброски(ИмяДППД)</V>
            <V N="Group">Имена действий перед принятием документов</V>
            <V N="Order">8</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Внутренние переброски</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после принятия уведомления перед принятием соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПередПринятием</V>
            <V N="Name">Возврат со счетов для наличности(ИмяДППД)</V>
            <V N="Group">Имена действий перед принятием документов</V>
            <V N="Order">8</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после принятия уведомления перед принятием соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПередПринятием</V>
            <V N="Name">Перечисление на счета для наличности(ИмяДППД)</V>
            <V N="Group">Имена действий перед принятием документов</V>
            <V N="Order">8</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после принятия уведомления перед принятием соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПередПринятием</V>
            <V N="Name">Платежные поручения(ИмяДППД)</V>
            <V N="Group">Имена действий перед принятием документов</V>
            <V N="Order">8</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после принятия уведомления перед принятием соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПередПринятием</V>
            <V N="Name">Подтверждение перечисления на счета для наличности(ИмяДППД)</V>
            <V N="Group">Имена действий перед принятием документов</V>
            <V N="Order">8</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение перечисления на счета для наличности</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после принятия уведомления перед принятием соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПередПринятием</V>
            <V N="Name">Приход от прочих(ИмяДППД)</V>
            <V N="Group">Имена действий перед принятием документов</V>
            <V N="Order">8</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Приход от прочих</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после принятия уведомления перед принятием соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПередПринятием</V>
            <V N="Name">Учет кассовых выплат(ИмяДППД)</V>
            <V N="Group">Имена действий перед принятием документов</V>
            <V N="Order">8</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Учет кассовых выплат</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после принятия уведомления перед принятием соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПослеФормирования</V>
            <V N="Name">Внутренние переброски(ИмяДПФД)</V>
            <V N="Group">Имена действий после формирования документов</V>
            <V N="Order">7</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Внутренние переброски</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после создания соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПослеФормирования</V>
            <V N="Name">Возврат со счетов для наличности(ИмяДПФД)</V>
            <V N="Group">Имена действий после формирования документов</V>
            <V N="Order">7</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после создания соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПослеФормирования</V>
            <V N="Name">Перечисление на счета для наличности(ИмяДПФД)</V>
            <V N="Group">Имена действий после формирования документов</V>
            <V N="Order">7</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после создания соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПослеФормирования</V>
            <V N="Name">Платежные поручения(ИмяДПФД)</V>
            <V N="Group">Имена действий после формирования документов</V>
            <V N="Order">7</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после создания соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПослеФормирования</V>
            <V N="Name">Подтверждение перечисления на счета для наличности(ИмяДПФД)</V>
            <V N="Group">Имена действий после формирования документов</V>
            <V N="Order">7</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение перечисления на счета для наличности</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после создания соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПослеФормирования</V>
            <V N="Name">Приход от прочих(ИмяДПФД)</V>
            <V N="Group">Имена действий после формирования документов</V>
            <V N="Order">7</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Приход от прочих</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после создания соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ДействияПослеФормирования</V>
            <V N="Name">Учет кассовых выплат(ИмяДПФД)</V>
            <V N="Group">Имена действий после формирования документов</V>
            <V N="Order">7</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Учет кассовых выплат</V>
            <V N="Hint">Путь к макросам определенного формата, которые должны автоматически выполняться после создания соответствующих новых или корреспондирующих документов</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">2</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">2312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">2313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">3</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">3312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">3313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">4</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">41</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">41312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">41313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">4312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">4313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">5</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">52</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">52312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">52313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">5312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">5313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">7</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">7312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">7313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">9</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">9312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">9313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.ACC</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.ACC312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.ACC313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.INN</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.INN312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.INN313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.KPP</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.KPP312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.KPP313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.ORG_NAME</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.ORG_NAME312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupAcceptor.ORG_NAME313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.ACC</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.ACC312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.ACC313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.INN</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.INN312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.INN313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.KPP</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.KPP312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.KPP313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.ORG_NAME</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.ORG_NAME312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">GroupPayer.ORG_NAME313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">класс</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">класс312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">класс313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">КлассНовогоДокумента</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">КлассНовогоДокумента312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">КлассНовогоДокумента313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">КонечнаяДата</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">КонечнаяДата312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">КонечнаяДата313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">Назначение</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">Назначение312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">Назначение313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НазначениеТип</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НазначениеТип312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НазначениеТип313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НачальнаяДата</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НачальнаяДата312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НачальнаяДата313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НомерДок</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НомерДок312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НомерДок313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НомерДокТип</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НомерДокТип312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">НомерДокТип313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">Сумма</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">Сумма312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">Сумма313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">RefBudget312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">RefBudget313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">AccountFO.BUDGETREF312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">AccountFO.BUDGETREF313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">AccountFO.Acc312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">AccountFO.Acc313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">AccountFO.DFACC_REF312</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">ЗначенияПараметровДиалога</V>
            <V N="Name">AccountFO.DFACC_REF313</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при принятии</V>
            <V N="Name">Внутренние переброски(ДССНаП)</V>
            <V N="Group">Имена действий системы состояний при принятии</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Внутренние переброски казначейства</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент принятия документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при принятии</V>
            <V N="Name">Возврат со счетов для наличности(ДССНаП)</V>
            <V N="Group">Имена действий системы состояний при принятии</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент принятия документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при принятии</V>
            <V N="Name">Перечисление на счета для наличности(ДССНаП)</V>
            <V N="Group">Имена действий системы состояний при принятии</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент принятия документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при принятии</V>
            <V N="Name">Платежные поручения(ДССНаП)</V>
            <V N="Group">Имена действий системы состояний при принятии</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент принятия документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при принятии</V>
            <V N="Name">Подтверждение возврата со счета для наличности(ДССНаП)</V>
            <V N="Group">Имена действий системы состояний при принятии</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение возврата со счета для наличности</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент принятия документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при принятии</V>
            <V N="Name">Приход от прочих(ДССНаП)</V>
            <V N="Group">Имена действий системы состояний при принятии</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Приход от прочих</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент принятия документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при принятии</V>
            <V N="Name">Расход по чекам(ДССНаП)</V>
            <V N="Group">Имена действий системы состояний при принятии</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Расход по чекам</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент принятия документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при принятии</V>
            <V N="Name">Реестры казначейства(ДССНаП)</V>
            <V N="Group">Имена действий системы состояний при принятии</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Реестры казначейства</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент принятия документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при снятии принятия</V>
            <V N="Name">Внутренние переброски(ДССНаС)</V>
            <V N="Group">Имена действий системы состояний при снятии даты</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Внутренние переброски казначейства</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент снятия даты принятия у документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при снятии принятия</V>
            <V N="Name">Возврат со счетов для наличности(ДССНаС)</V>
            <V N="Group">Имена действий системы состояний при снятии даты</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент снятия даты принятия у документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при снятии принятия</V>
            <V N="Name">Перечисление на счета для наличности(ДССНаС)</V>
            <V N="Group">Имена действий системы состояний при снятии даты</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент снятия даты принятия у документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при снятии принятия</V>
            <V N="Name">Платежные поручения(ДССНаС)</V>
            <V N="Group">Имена действий системы состояний при снятии даты</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент снятия даты принятия у документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при снятии принятия</V>
            <V N="Name">Подтверждение возврата со счета для наличности(ДССНаС)</V>
            <V N="Group">Имена действий системы состояний при снятии даты</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение возврата со счета для наличности</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент снятия даты принятия у документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при снятии принятия</V>
            <V N="Name">Приход от прочих(ДССНаС)</V>
            <V N="Group">Имена действий системы состояний при снятии даты</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Приход от прочих</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент снятия даты принятия у документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при снятии принятия</V>
            <V N="Name">Расход по чекам(ДССНаС)</V>
            <V N="Group">Имена действий системы состояний при снятии даты</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Расход по чекам</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент снятия даты принятия у документа определенного типа</V>
          </R>
          <R>
            <V N="Path">Имена действий системы состояний при снятии принятия</V>
            <V N="Name">Реестры казначейства(ДССНаС)</V>
            <V N="Group">Имена действий системы состояний при снятии даты</V>
            <V N="Order">6</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Реестры казначейства</V>
            <V N="Hint">Имя действия системы состояний, которое будет автоматически вызываться в момент снятия даты принятия у документа определенного типа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Внутренние операции доходов(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Внутренние операции доходов</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Возврат доходов(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Возврат доходов</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Возврат невыясненных(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Возврат невыясненных</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Возврат со счетов для наличности(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат со счетов для наличности
Перечисление на счета для наличности
Платежные поручения
Расход по чекам
Учет кассовых выплат
Рапоряжения на финансирование
Возврат доходов
Не создавать</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Выдача ссуды(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат со счетов для наличности
Перечисление на счета для наличности
Платежные поручения
Расход по чекам
Учет кассовых выплат
Рапоряжения на финансирование
Возврат доходов
Не создавать</V>
            <V N="DisplayLabel">Выдача ссуды</V>
            <V N="Hidden">1</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Перечисление на счета для наличности(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат со счетов для наличности
Перечисление на счета для наличности
Платежные поручения
Расход по чекам
Учет кассовых выплат
Рапоряжения на финансирование
Возврат доходов
Не создавать</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Платежные поручения(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат со счетов для наличности
Перечисление на счета для наличности
Платежные поручения
Расход по чекам
Учет кассовых выплат
Рапоряжения на финансирование
Возврат доходов
Не создавать</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Погашение кредита(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат со счетов для наличности
Перечисление на счета для наличности
Платежные поручения
Расход по чекам
Учет кассовых выплат
Рапоряжения на финансирование
Возврат доходов
Не создавать</V>
            <V N="DisplayLabel">Погашение кредита</V>
            <V N="Hidden">1</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Погашение ссуды(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Погашение ссуды</V>
            <V N="Hidden">1</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Подтверждение возврата со счетов для наличности(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Подтверждение возврата со счетов для наличности</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Подтверждение перечисления на счета для наличности(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Подтверждение перечисления на счета для наличности</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Получение кредита(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Получение кредита</V>
            <V N="Hidden">1</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Поступление доходов(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Поступление доходов</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Поступление невыясненных(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Поступление невыясненных</V>
            <V N="Hidden">1</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Приход от прочих(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Приход от прочих</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Приход по объявлениям(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Приход по объявлениям</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Разассигновка(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат невыясненных
Подтверждение возврата со счетов для наличности
Подтверждение перечисления на счета для наличности
Поступление доходов
Поступление невыясненных
Приход от прочих
Приход по объявлениям
Внутренние операции доходов
Разассигновка
Не создавать</V>
            <V N="DisplayLabel">Разассигновка</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Распоряжение на финансирование(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат со счетов для наличности
Перечисление на счета для наличности
Платежные поручения
Расход по чекам
Учет кассовых выплат
Рапоряжения на финансирование
Возврат доходов
Не создавать</V>
            <V N="DisplayLabel">Распоряжение на финансирование</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Расход по чекам(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат со счетов для наличности
Перечисление на счета для наличности
Платежные поручения
Расход по чекам
Учет кассовых выплат
Рапоряжения на финансирование
Возврат доходов
Не создавать</V>
            <V N="DisplayLabel">Расход по чекам</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">КлассыКорректирующихДокументов</V>
            <V N="Name">Учет кассовых выплат(класс)</V>
            <V N="Type">3</V>
            <V N="Group">Классы корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Тот же
Возврат со счетов для наличности
Перечисление на счета для наличности
Платежные поручения
Расход по чекам
Учет кассовых выплат
Рапоряжения на финансирование
Возврат доходов
Не создавать</V>
            <V N="DisplayLabel">Учет кассовых выплат</V>
            <V N="Hint">Класс корректирующего документа, который будет автоматически подставляться при формировании уведомления для данного класса исходного документа</V>
          </R>
          <R>
            <V N="Path">Конечные состояния документов</V>
            <V N="Name">Внутренние переброски(консостояние)</V>
            <V N="Type">6</V>
            <V N="Group">Конечные состояния документов</V>
            <V N="Order">5</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Внутренние переброски казначейства</V>
            <V N="Hidden">1</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение конечного состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Конечные состояния документов</V>
            <V N="Name">Возврат со счетов для наличности(консостояние)</V>
            <V N="Type">6</V>
            <V N="Group">Конечные состояния документов</V>
            <V N="Order">5</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hidden">1</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение конечного состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Конечные состояния документов</V>
            <V N="Name">Перечисление на счета для наличности(консостояние)</V>
            <V N="Type">6</V>
            <V N="Group">Конечные состояния документов</V>
            <V N="Order">5</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hidden">1</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение конечного состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Конечные состояния документов</V>
            <V N="Name">Платежные поручения(консостояние)</V>
            <V N="Type">6</V>
            <V N="Group">Конечные состояния документов</V>
            <V N="Order">5</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hidden">1</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение конечного состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Конечные состояния документов</V>
            <V N="Name">Подтверждение возврата со счета для наличности(консостояние)</V>
            <V N="Type">6</V>
            <V N="Group">Конечные состояния документов</V>
            <V N="Order">5</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение возврата со счета для наличности</V>
            <V N="Hidden">1</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение конечного состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Конечные состояния документов</V>
            <V N="Name">Приход от прочих(консостояние)</V>
            <V N="Type">6</V>
            <V N="Group">Конечные состояния документов</V>
            <V N="Order">5</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Приход от прочих</V>
            <V N="Hidden">1</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение конечного состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Конечные состояния документов</V>
            <V N="Name">Расход по чекам(консостояние)</V>
            <V N="Type">6</V>
            <V N="Group">Конечные состояния документов</V>
            <V N="Order">5</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Расход по чекам</V>
            <V N="Hidden">1</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение конечного состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Конечные состояния документов</V>
            <V N="Name">Реестры казначейства(консостояние)</V>
            <V N="Type">6</V>
            <V N="Group">Конечные состояния документов</V>
            <V N="Order">5</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Реестры казначейства</V>
            <V N="Hidden">1</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение конечного состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Начальные состояния документов</V>
            <V N="Name">Внутренние переброски(начсостояние)</V>
            <V N="Group">Начальные состояния документов</V>
            <V N="Order">4</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Внутренние переброски казначейства</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение начального состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Начальные состояния документов</V>
            <V N="Name">Возврат со счетов для наличности(начсостояние)</V>
            <V N="Group">Начальные состояния документов</V>
            <V N="Order">4</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение начального состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Начальные состояния документов</V>
            <V N="Name">Перечисление на счета для наличности(начсостояние)</V>
            <V N="Group">Начальные состояния документов</V>
            <V N="Order">4</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение начального состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Начальные состояния документов</V>
            <V N="Name">Платежные поручения(начсостояние)</V>
            <V N="Group">Начальные состояния документов</V>
            <V N="Order">4</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение начального состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Начальные состояния документов</V>
            <V N="Name">Подтверждение возврата со счета для наличности(начсостояние)</V>
            <V N="Group">Начальные состояния документов</V>
            <V N="Order">4</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение возврата со счета для наличности</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение начального состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Начальные состояния документов</V>
            <V N="Name">Приход от прочих(начсостояние)</V>
            <V N="Group">Начальные состояния документов</V>
            <V N="Order">4</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Приход от прочих</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение начального состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Начальные состояния документов</V>
            <V N="Name">Расход по чекам(начсостояние)</V>
            <V N="Group">Начальные состояния документов</V>
            <V N="Order">4</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Расход по чекам</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение начального состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Начальные состояния документов</V>
            <V N="Name">Реестры казначейства(начсостояние)</V>
            <V N="Group">Начальные состояния документов</V>
            <V N="Order">4</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Реестры казначейства</V>
            <V N="Hint">Код состояния документа, который будет автоматически присваиваться в момент создания документа. Значение начального состояния должно соответствовать настройкам системы состояний</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Внутренние операции доходов(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Внутренние операции доходов</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Возврат доходов(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат доходов</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Возврат невыясненных(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат невыясненных</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Возврат со счетов для наличности(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Выдача ссуды(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Выдача ссуды</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Перечисление на счета для наличности(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Платежные поручения(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Погашение кредита(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Погашение кредита</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Погашение ссуды(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Погашение ссуды</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Подтверждение возврата со счетов для наличности(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение возврата со счетов для наличности</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Подтверждение перечисления на счета для наличности(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение перечисления на счета для наличности</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Получение кредита(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Получение кредита</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Поступление доходов(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Поступление доходов</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Поступление невыясненных(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Поступление невыясненных</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Приход от прочих(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Приход от прочих</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Приход по объявлениям(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Приход по объявлениям</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Распределение ОФ(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Распределение ОФ</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Расход по чекам(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Расход по чекам</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Утверждение ОФ(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Утверждение ОФ</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций корректирующих документов</V>
            <V N="Name">Учет кассовых выплат(кор)</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций корректирующих документов</V>
            <V N="Order">2</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Учет кассовых выплат</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция корректирующего документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Внутренние операции доходов</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Возврат доходов</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Возврат невыясненных</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Возврат со счетов для наличности</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Перечисление на счета для наличности</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Платежные поручения</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Погашение кредита</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Погашение ссуды</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Подтверждение возврата со счетов для наличности</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Подтверждение перечисления на счета для наличности</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Получение кредита</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Поступление доходов</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Поступление невыясненных</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Приход от прочих</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Приход по объявлениям</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Распределение ОФ</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Расход по чекам</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Утверждение ОФ</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Номера операций новых документов</V>
            <V N="Name">Учет кассовых выплат</V>
            <V N="Type">171</V>
            <V N="Group">Номера операций новых документов</V>
            <V N="Order">3</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Параметр для указания кода операции, который будет автоматически подставляться в поле Операция нового документа для формирования по нему проводок при создании уведомления</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">Включать в уведомление неизменяющуюся классификацию</V>
            <V N="Type">3</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">НеВключать
ОдинаковаяКлассификация
ВсеДокументы</V>
            <V N="Hidden">0</V>
            <V N="Hint">Настройка работает только для классов принадлежащих к казначейским интерфейсам по выбытиям + Подтверждение Возврата Со Счетов Для Наличности + Приход От Прочих</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">Номер операции в уведомлении (выбытие)</V>
            <V N="Type">171</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Предназначен для указания кода операции при создании уведомления об уточнении, если не будут формироваться проводки по новому и корректирующему документам</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">Номер операции в уведомлении (поступление)</V>
            <V N="Type">171</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Предназначен для указания кода операции при создании уведомления об уточнении, если не будут формироваться проводки по новому и корректирующему документам</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">Создавать реестр в разрезе пользователей</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="Hint">Определяет, нужно ли при поиске реестра для уведомлений ограничивать по текущему пользователю</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">Брать класс нового документа из диалога</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Брать класс нового документа из диалога при уточнении поступлений или выбытий</V>
            <V N="Hint">Если галочка установлена, то при формировании уведомления с классом исходного документа "уточнение поступлений" или "уточнение выбытий" связанные документы не будут создаваться, если в диалоге не указан класс нового документа</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ОграничениеДокументВключенВРеестр</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Выбирать документы казначейства, включенные в реестр</V>
            <V N="Hint">Учитывать документы казначейства, включенные в принятый реестр</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ДатаИсходногоДокументаВыбытия=ДатаВвода</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Дата исходного документа (выбытия) = Дата ввода </V>
            <V N="Hint">Если галочка установлена, то при формировании уведомления об уточнении выбытий в заголовке в полях исходного документа в качестве даты исходного документа подставится дата ввода исходного документа</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ДатаИсходногоДокументаПоступления=ДатаВвода</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Дата исходного документа (поступления) = Дата ввода </V>
            <V N="Hint">Если галочка установлена, то при формировании уведомления об уточнении поступлений в заголовке в полях исходного документа в качестве даты исходного документа подставится дата ввода исходного документа</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ДатаУчета=ДатаФормирования</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Дата учета = Дата формирования</V>
            <V N="Hint">Если галочка установлена, то при формировании уведомления дата учета будет заполняться значением из даты формирования</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">НеобходимоВставлятьВУжеСуществующийЗаголовокДоходов</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Добавлять в уже существующий заголовок доходов</V>
            <V N="Hint">Определяет необходимость вставки в уже существующий заголовок доходов</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ЗаполнятьНовуюБюджетнуюКлассификациюИзСтарой</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Заполнять новую бюджетную классификацию из старой</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">НеОбъединятьДанныеПоЗаголовкуИсходногоДокумента</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Не объединять данные по заголовку исходного документа</V>
            <V N="Hint">Если галочка установлена, то при создании уведомления документы относящиеся к одному заголовку будут формироваться в отдельные уведомления.</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">НеФормироватьСвязанныеДокументы</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Не формировать связанные документы</V>
            <V N="Hidden">1</V>
            <V N="Hint">Если галочка установлена, то в диалоге скрывается параметр Класс Нового Документа и блокируется от изменений поле Класс документа в детализации</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">НеобходимоЗаполнятьКлассДокументаВДетализации</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Необходимо заполнять класс документа в детализации</V>
            <V N="Hidden">1</V>
            <V N="Hint">Определяет необходимость заполнения класса документа при изменении данных детализации уведомления</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">КолокольчикКлассБратьИзИсходного</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">При формировании уведомлений в интерфейсах первичных данных класс нового и корректирующего документа выбирать из исходного документа</V>
            <V N="Hint">Если галочка установлена, то при формировании уведомления по кнопке колокольчик связанные документы будут создаваться с классом исходного документа</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ПутьКМакросуДляДополнительнойОбработкиДанных</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Путь к макросу для дополнительной обработки данных</V>
            <V N="Hint">В качестве параметра макросу передаётся Коллекция типа IVariables.</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ПутьКМакросуДляНумерацииРеестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Путь к макросу для получения номера реестра</V>
            <V N="Hint">В качестве параметра макросу передаётся Коллекция типа IVariables. После расчета номера реестра значение нужно установить в значение коллекции "НомерРеестра"</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">СинхронизироватьДатуВвода</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Синхронизировать Даты Ввода</V>
            <V N="Hint">Если галочка установлена, то даты ввода нового и корректирующего документа будут синхронизироваться с датой ввода уведомления</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">СинхронизироватьПримечание</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">КорректирующийДокументДеталь
КорректирующийДокументЗаголовок
НовыйДокументДеталь
НовыйДокументЗаголовок
ИсходнаяКлассификация
НоваяКлассификация</V>
            <V N="DisplayLabel">Синхронизировать примечание</V>
            <V N="Hint">Если галочки установлены, то Примечание нового и корректирующего документов будут взяты по исходному документу из буферных таблиц ЭО, иначе из исходного документа с предметного интерфейса</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ЗначенияПараметровДиалога</V>
            <V N="Type">7</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">КлассИсходногоДокумента
КлассНовогоДокумента
НомерДокумента
Даты
Плательщик
Получатель
ЛицевойСчет
РасходнаяКлассификация
Источник
КодДохода
Назначение
Сумма
СчетФО</V>
            <V N="DisplayLabel">Сохранять параметры диалога</V>
            <V N="Hidden">0</V>
            <V N="Hint">Позволяет указать, какие параметры диалога поиска исходного документа запоминать и показывать их значения при следующем вызове диалога поиска</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">СпрашиватьРазрешениеНаСинхронизацию</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Спрашивать разрешение на синхронизацию</V>
            <V N="Hint">Определяет возможность автоматической синхронизации между произведенными изменениями в полях Уведомления об уточнении и полями соответствующих сформированных документов</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">Тип казначейского реестра для уведомлений</V>
            <V N="Type">153</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Тип казначейского реестра по умолчанию</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов, относящихся РМ Казначейство</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">УстанавливатьДатуСозданияРеестра</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Устанавливать дату создания реестра</V>
            <V N="Hint">Определяет возможность диалога выбирать дату реестра при создании казначейского реестра</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">СторнирующиеНаправления</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Учитывать исходную классификацию как сторнирование</V>
            <V N="Hidden">0</V>
            <V N="Hint">Если галочка установлена то в отчетах (контролях и тд) исходная классификация учитывается как сторнирование, иначе как возврат</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ФильтроватьСписокКлассовПоПравамПользователя</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Фильтровать список классов по правам пользователя</V>
            <V N="Hint">Пользователю доступны для работы только те классы, на которые он имеет права. Касается как пакетной замены, так и создания одиночных уведомлений</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">Формат номера связанного документа</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Формат номера связанного документа</V>
            <V N="Hint">Устанавливает формат номера связанного документа</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ФормДебетаПлюсомДляНевыясненных</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Формирование дебета с плюсом для возврата невыясненных поступлений</V>
            <V N="Hint">Если галочка установлена, то при создании уведомления корректирующий документ формируется с положительной суммой в поле Дебет, иначе с отрицательной в поле Кредит</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">ИспользоватьАДБ</V>
            <V N="Type">4</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Использовать АДБ</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">РаботаСоСвязаннымиДокументамиПоступления</V>
            <V N="Type">3</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Пусто
ОбязательноЗаполнятьКлассДокументаВДетализации
НеФормироватьСвязанныеДокументы
НеФормироватьСвязанныеДокументыПриПЗК</V>
            <V N="DisplayLabel">Работа со связанными документами поступления</V>
            <V N="Hidden">0</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">РаботаСоСвязаннымиДокументамиВыбытия</V>
            <V N="Type">3</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Пусто
ОбязательноЗаполнятьКлассДокументаВДетализации
НеФормироватьСвязанныеДокументы
НеФормироватьСвязанныеДокументыПриПЗК</V>
            <V N="DisplayLabel">Работа со связанными документами выбытия</V>
            <V N="Hidden">0</V>
          </R>
          <R>
            <V N="Path">Общие</V>
            <V N="Name">РаботаСоСвязаннымиДокументами</V>
            <V N="Type">3</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Пусто
ОбязательноЗаполнятьКлассДокументаВДетализации
НеФормироватьСвязанныеДокументы
НеФормироватьСвязанныеДокументыПриПЗК</V>
            <V N="DisplayLabel">Работа со связанными документами</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">Работа_с_ВП</V>
            <V N="Name">Обрабатываемые направления операции ВП</V>
            <V N="Type">7</V>
            <V N="Group">Работа с внутренними перебросками казначейства</V>
            <V N="Order">9</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Прямая операция
Уточнение расхода
Распределение ОФ
Отзывающая операция</V>
            <V N="DisplayLabel">Обрабатываемые направления операции во внутренней переброске</V>
            <V N="Hidden">1</V>
          </R>
          <R>
            <V N="Path">Работа_с_ВП</V>
            <V N="Name">Внутренние переброски</V>
            <V N="Type">171</V>
            <V N="Group">Работа с внутренними перебросками казначейства</V>
            <V N="Order">9</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Операция</V>
            <V N="Hint">Номер операции, который будет автоматически подставляться в поле Операция документа при уточнении классификации</V>
          </R>
          <R>
            <V N="Path">Работа_с_ВП</V>
            <V N="Name">Формировать уведомления для направлений</V>
            <V N="Type">7</V>
            <V N="Group">Работа с внутренними перебросками казначейства</V>
            <V N="Order">9</V>
            <V N="CodeFormat">1</V>
            <V N="PickList">Прямая операция
Уточнение расхода
Распределение ОФ
Отзывающая операция</V>
            <V N="DisplayLabel">Формировать уведомления для следующих направлений операций</V>
            <V N="Hidden">1</V>
            <V N="Hint">Параметр  используется для ограничения выборки документов класса "Внутренние переброски" по значению поля Направление операции</V>
          </R>
          <R>
            <V N="Path">ТипКазначейскогоРеестра</V>
            <V N="Name">ТипКазнРеестрВнутренние переброски</V>
            <V N="Type">153</V>
            <V N="Group">Типы казначейских реестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Внутренние переброски</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов.</V>
          </R>
          <R>
            <V N="Path">ТипКазначейскогоРеестра</V>
            <V N="Name">ТипКазнРеестрВозврат со счетов для наличности</V>
            <V N="Type">153</V>
            <V N="Group">Типы казначейских реестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Возврат со счетов для наличности</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов.</V>
          </R>
          <R>
            <V N="Path">ТипКазначейскогоРеестра</V>
            <V N="Name">ТипКазнРеестрПеречисление на счета для наличности</V>
            <V N="Type">153</V>
            <V N="Group">Типы казначейских реестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Перечисление на счета для наличности</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов.</V>
          </R>
          <R>
            <V N="Path">ТипКазначейскогоРеестра</V>
            <V N="Name">ТипКазнРеестрПлатежные поручения</V>
            <V N="Type">153</V>
            <V N="Group">Типы казначейских реестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Платежные поручения</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов.</V>
          </R>
          <R>
            <V N="Path">ТипКазначейскогоРеестра</V>
            <V N="Name">ТипКазнРеестрПодтверждение перечисления на счета для наличности</V>
            <V N="Type">153</V>
            <V N="Group">Типы казначейских реестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Подтверждение перечисления на счета для наличности</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов.</V>
          </R>
          <R>
            <V N="Path">ТипКазначейскогоРеестра</V>
            <V N="Name">ТипКазнРеестрРазассигновка</V>
            <V N="Type">153</V>
            <V N="Group">Типы казначейских реестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Разассигновка</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов.</V>
          </R>
          <R>
            <V N="Path">ТипКазначейскогоРеестра</V>
            <V N="Name">ТипКазнРестрРасход по чекам</V>
            <V N="Type">153</V>
            <V N="Group">Типы казначейских реестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Расход по чекам</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов.</V>
          </R>
          <R>
            <V N="Path">ТипКазначейскогоРеестра</V>
            <V N="Name">ТипКазнРеестрУтверждение ОФ</V>
            <V N="Type">153</V>
            <V N="Group">Типы казначейских реестров</V>
            <V N="Order">1</V>
            <V N="CodeFormat">1</V>
            <V N="DisplayLabel">Утверждение ОФ</V>
            <V N="Hint">Тип казначейского реестра, с которым будет создаваться специальный реестр для казначейских новых и корректирующих документов, сформированных при уточнении классов документов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Параметры" type="3" name="version">36.741.00</param>
  </node>
  <version_info>
    <file>Администратор окружения интерфейсов.xml</file>
    <version>36.042.11</version>
    <info>&lt;p&gt;макросы для администратора отчетов и окружения интерфейсов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:57</buildtime>
  </version_info>
  <description>АБЛ-макросы для администратора окружения интерфейсов</description>
  <node path="%root%\Объекты\Интерфейсы\{81565A31-5DD7-46EA-8C71-C0DE44505474}\Действия\ЭкспортСценария">
    <value type="7" name="Код программы">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\MSXML.lib';
включить 'Project';

константы
  CLASS_DOMDocument = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';
  cVerText = 'version="1.0" encoding="windows-1251"';
  cXMLText = 'xml';
  ПутьЭкспорта = '%root%\Ресурсы\Макросы\Сохранение\Данные';
  ПутьКАвтоисполняемомуМакросу = '%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев';
  ПутьСостоянияДействия = "%root%\Ресурсы\Состояния\Действия\";
  узел_Конфигурация = '%root%\Конфигурация';  
  знач_МакросыДействий = "МакросыДействий";
  ИмяАвтоисполняемогоМакроса = "СохранениеСценариев";
  м_КодСценария = '99.99.99.99';
  ЗапросСценариев = '[PumpData]{SELECT ID, Name, Generation, OptionsPath, IsBudget FROM Scenario}';
  ЗапросЭлементовСценария = '[PumpData]{SELECT * FROM State_JumpControl WHERE ScenarioRef = %d}';
  ЗапросФильтра = '[PumpData]{SELECT Name, Note, FilterValue, FilterValueURM, FilterActive, FilterFormat, IsBudget 
                                FROM State_Filter where ID = %d}';
   
функция ПолучитьПараметрыЭкспорта(КаталогСохранения: строка; вОдинФайл: целое);
начало
  Диалог.Добавить("Каталог для сохранения", "Каталог", 0, Стиль_Каталог);
  Диалог.Требовать("Каталог");
  Диалог.Добавить("Экспортировать в один файл", "вОдинФайл", 0, Стиль_Чек + Стиль_ТолькоЧтение);
  если Диалог.Выполнить тогда
  начало
    КаталогСохранения := Диалог.Параметр("Каталог").Значение;
    вОдинФайл := Диалог.Флаг("вОдинФайл") 
  конец  
  иначе
    Ошибка("Действие прервано пользователем")
конец;

функция CreateDOMDocumnent: IXMLDomDocument;
переменные
  Path, Registry: IXMLDOMElement;
начало
    Результат := CreateComObject(CLASS_DOMDocument);
    Результат.appendChild(Результат.createProcessingInstruction(cXMLText, cVerText));  
    Registry := Результат.createElement('registry');
    Результат.appendChild(Registry);
    Path := Результат.createElement('node');
    Path.setAttribute('path', ПутьЭкспорта);
    Registry.appendChild(Path);
конец;

функция ДобавитьЭлементУзлаРеестра(XML: IXMLDOMDocument; Имя: БезТипа; Тип: целое): IXMLDOMElement;
переменные
  Parent: IXMLDOMElement; 
начало
  Parent := XML.getElementsByTagName('node').item(0);
  Результат := XML.createElement('value');
  Результат.setAttribute('type', Тип);
  Результат.setAttribute('name', Имя); 
  Parent.appendChild(Результат);
конец;

функция ДобавитьСтроку(Исходная, Добавляемая: строка; Разделитель: строка = ',');
начало
  если Исходная = "" тогда
    Исходная := Добавляемая
  иначе
    Исходная := Исходная + Разделитель + Добавляемая;
конец;

функция ДобавитьЦелыйАтрибут(Элемент : IXMLDOMElement; Поле : IField; ПостфиксИмениАтрибута: строка = '');
начало
  если не Поле.Пустое тогда
    Элемент.setAttribute(Поле.Имя + ПостфиксИмениАтрибута, Поле.КакЦелое);   
конец;
  
функция ДобавитьСтроковыйАтрибут(Элемент : IXMLDOMElement; Поле : IField);
начало
  если не Поле.Пустое тогда
    Элемент.setAttribute(Поле.Имя, Поле.КакСтрока);
конец; 

функция ДобавитьМакрос(Parent: IXMLDomElement; КодМакроса, КодИнтерфейса: целое);
переменные
  Конфигурации: СтатическиеДанные;
  ПараметрыМакроса: IField;
  Узел: УзелРеестра;
начало
  Конфигурации := СоздатьДанныеИзРеестра(узел_Конфигурация, знач_МакросыДействий);
  попытка
    если Конфигурации.Локализовать('Cls', КодМакроса, 0) тогда
    начало
      // добавляем конфигурацию макроса
      ДобавитьСтроковыйАтрибут(Parent, Конфигурации.ПолеПоИмени('Script'));
      ДобавитьСтроковыйАтрибут(Parent, Конфигурации.ПолеПоИмени('Name'));
      если Конфигурации.НайтиПоле('Params', ПараметрыМакроса) тогда
        ДобавитьСтроковыйАтрибут(Parent, ПараметрыМакроса);
      // добавляем текст самого макроса  
      Узел := Реестр.Узел(ПутьСостоянияДействия + ЦелоеВСтроку(КодИнтерфейса));
      Parent.setAttribute('Macros', Узел.Значение(Конфигурации.ПолеПоИмени('Script').КакСтрока).КакСтрока);
    конец;
  обязательно
    УдалитьОбъект(Конфигурации)
  конец;
конец;

функция ЭтоПользовательскийМакрос(ЭлементыСценария: СтатическиеДанные): целое;
начало
  Результат := нет;
  если (ЭлементыСценария.ПолеПоИмени('RecordType').КакЦелое = 4) и 
       ((ЭлементыСценария.ПолеПоИмени('ControlCode').КакЦелое ост 100) &lt;&gt; 0) тогда
    Результат := да;
конец;

функция ЭтоПользовательскийФильтр(ЭлементыСценария: СтатическиеДанные): целое;
начало
  Результат := нет;
  если (ЭлементыСценария.ПолеПоИмени('RecordType').КакЦелое = 5) и 
       ((ЭлементыСценария.ПолеПоИмени('FilterCode').КакЦелое ост 100) &lt;&gt; 0) тогда
    Результат := да;
конец;

функция ДобавитьПользовательскийФильтр(Parent: IXMLDomElement; КодФильтра: целое);
переменные
  ДанныеФильтра: СтатическиеДанные;
начало
  ДанныеФильтра := СоздатьСтатическиеДанные;
  попытка
    ДанныеФильтра.Запрос := Формат(ЗапросФильтра, КодФильтра); 
    ДанныеФильтра.СоединитьБД;
    ДанныеФильтра.Открыть;
    ДобавитьСтроковыйАтрибут(Parent, ДанныеФильтра.ПолеПоИмени('Name'));
    ДобавитьСтроковыйАтрибут(Parent, ДанныеФильтра.ПолеПоИмени('Note'));
    ДобавитьСтроковыйАтрибут(Parent, ДанныеФильтра.ПолеПоИмени('FilterValue'));
    ДобавитьСтроковыйАтрибут(Parent, ДанныеФильтра.ПолеПоИмени('FilterValueURM'));
    ДобавитьЦелыйАтрибут(Parent, ДанныеФильтра.ПолеПоИмени('FilterFormat'));
    ДобавитьЦелыйАтрибут(Parent, ДанныеФильтра.ПолеПоИмени('FilterActive'));
    /* т.к. атрибут принадлежности элемента "фильтр" одноименен атрибуту 
       принадлжености самого фильтра, добавляем постфикс к имени атрибута */                                                                                 
    ДобавитьЦелыйАтрибут(Parent, ДанныеФильтра.ПолеПоИмени('IsBudget'), '_FILTER');
  обязательно
    УдалитьОбъект(ДанныеФильтра);
  конец;
конец;

// замена запрещенных символов для имен файлов  &gt; &lt; | ? * / \ : на подчеркивание
функция ЗаменитьЗапрещенныеСимволы(ИмяФайла: строка):строка;
переменные
  сч: целое;
начало
  результат := ИмяФайла;
  от сч :=1 до длина(результат) делать
  начало
     если Позиция(результат[сч],'&gt;&lt;|?*/\:') &gt;0 тогда 
       результат[сч] := '_';
  конец;
конец;

функция ДобавитьЭлементСценария(Parent: IXMLDomElement; ЭлементыСценария: СтатическиеДанные);
переменные
  КодИнтерфейса: целое;
начало 
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('ID'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('JUMPREF'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('CONTROLCODE'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('CONTROLOPTIONS'));
  ДобавитьСтроковыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('CONDITION'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('RECORDTYPE'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('EXECTYPE'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('EXECORDER'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('ENABLED'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('ACTIONREF'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('FILTERCODE'));
  ДобавитьСтроковыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('FILTERNOTE'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('BEGINSTATEREF'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('ENDSTATEREF'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('REFERENCEREF'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('STATICLINKREF'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('SCENARIOREF'));
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('ELEMENTSCENARIOREF')); 
  ДобавитьЦелыйАтрибут(Parent, ЭлементыСценария.ПолеПоИмени('ISBUDGET')); 
  // если вложенный элемент пользовательский макрос и его принадлженость не "УРМ"
  если ЭтоПользовательскийМакрос(ЭлементыСценария) и ЭлементыСценария.ПолеПоИмени('ISBUDGET').КакЦелое &gt; 0 тогда
  начало
    КодИнтерфейса := ЭлементыСценария.ПолеПоИмени('ScenarioRef').КакЦелое цел 10000;
    ДобавитьМакрос(Parent, ЭлементыСценария.ПолеПоИмени('ControlCode').КакЦелое, КодИнтерфейса)
  конец;
  // если вложенный элемент пользовательский фильтр 
  если ЭтоПользовательскийФильтр(ЭлементыСценария) тогда
    ДобавитьПользовательскийФильтр(Parent, ЭлементыСценария.ПолеПоИмени('FilterCode').КакЦелое); 
конец;

функция ФорматироватьЭлементСценария(Element: IXMLDomElement): IXMLDomElement;
переменные
  XMLDocFmt: IXMLDOMDocument;
начало
  XMLDocFmt := CreateComObject(CLASS_DOMDocument);
  XMLDocFmt.appendChild(Element);
  FormatXML(XMLDocFmt);
  Результат := Element; 
конец;

функция ЭкспортСценария(XML: IXMLDOMDocument; Parent: IXMLDOMElement; СписокСценариев: Текст; Сценарии: СтатическиеДанные; КодСценария: целое);
переменные
  Scenario, Element: IXMLDomElement;
  ЭлементыСценария: СтатическиеДанные;
  ВерхнийУзелСценария: целое;
начало 
  если не Сценарии.Локализовать('ID', КодСценария, 0) тогда
    Ошибка(Формат("Сценарий с кодом %s не найден в БД", ФорматироватьКлассификатор(КодСценария, м_КодСценария)));
  если Parent = nil тогда
  начало
    Parent := ДобавитьЭлементУзлаРеестра(XML, КодСценария, 3);
    ВерхнийУзелСценария := да
  конец
  иначе
    ВерхнийУзелСценария := нет;      
  если СписокСценариев = nil тогда
    СписокСценариев := СоздатьТекст;
  попытка
    если СписокСценариев.Поиск(ЦелоеВСтроку(КодСценария)) = -1 тогда
      СписокСценариев.Добавить(ЦелоеВСтроку(КодСценария))
    иначе  
      Ошибка("В экспортируемых данных обнаружена циклическая ссылка. Проверьте корректность данных.");
    // заголовок сценария
    Scenario := XML.createElement('Scenario');
    ДобавитьЦелыйАтрибут(Scenario, Сценарии.ПолеПоИмени('ID'));   
    ДобавитьСтроковыйАтрибут(Scenario, Сценарии.ПолеПоИмени('Name'));
    ДобавитьСтроковыйАтрибут(Scenario, Сценарии.ПолеПоИмени('Generation'));
    ДобавитьЦелыйАтрибут(Scenario, Сценарии.ПолеПоИмени('IsBudget'));
    ДобавитьСтроковыйАтрибут(Scenario, Сценарии.ПолеПоИмени('OptionsPath'));  
    // вложенные элементы
    ЭлементыСценария := СоздатьСтатическиеДанные;
    ЭлементыСценария.Запрос := Формат(ЗапросЭлементовСценария, КодСценария);
    ЭлементыСценария.СоединитьБД;
    ЭлементыСценария.Открыть;
    ЭлементыСценария.ВНачало;
    пока не ЭлементыСценария.ВКонце делать
    начало
      Element := XML.createElement('Element');
      ДобавитьЭлементСценария(Element, ЭлементыСценария);
      Scenario.appendChild(Element);
      // экспорт вложенного сценария или каскадного сценария если он есть
      если (ЭлементыСценария.ПолеПоИмени('RecordType').КакЦелое = 7) или 
           (ЭлементыСценария.ПолеПоИмени('RecordType').КакЦелое = 8) тогда
        ЭкспортСценария(XML, Element, СписокСценариев, Сценарии, ЭлементыСценария.ПолеПоИмени('ControlCode').КакЦелое);
      ЭлементыСценария.Следующая; 
    конец; 
    если ВерхнийУзелСценария тогда
      Parent.text :=  ФорматироватьЭлементСценария(Scenario).XML
    иначе
      Parent.appendChild(ФорматироватьЭлементСценария(Scenario));           
  обязательно
    УдалитьОбъект(СписокСценариев, ЭлементыСценария)  
  конец;  
конец;

функция СохранитьДокумент(XML: IXMLDOMDocument; СписокИменЭлементовСценариев, КаталогСохранения, ПостфиксИмениФайла: строка);
переменные
  Parent, TableParent, Script: IXMLDOMElement;
  СписокСценариев: Текст;
  ТаблицаСценариев: СтатическиеДанные;
  ИмяФайла: строка;
  сч: целое;
начало
  // добавим узел для хранения таблицы экспортированных  кодов сценариев
  Parent := ДобавитьЭлементУзлаРеестра(XML, "СписокСценариев", 6);
  TableParent := XML.createElement('table');
  TableParent.setAttribute('key', 'ID');
  Parent.appendChild(TableParent);
  // добавим узел автоисполняемого макроса
  Parent := XML.getElementsByTagName('registry').item(0);
  Script := XML.createElement('script'); 
  Script.setAttribute('type', 'abl');
  Script.setAttribute('exec', 'after');
  /* для автовыполнения сохранения сценариев проставляем порядок выполнения, меньший 
     чем для автовыполнения раскрадок сценариев, чтобы не было ошибок импорта xml */  
  Script.setAttribute('order', '100'); 
  Script.setAttribute('name', ИмяАвтоисполняемогоМакроса);
  Script.text := ПутьКАвтоисполняемомуМакросу;
  Parent.appendChild(Script);   
  СписокСценариев := СоздатьТекст;
  ТаблицаСценариев := СоздатьСтатическиеДанные;
  попытка
    ТаблицаСценариев.ДобавитьЦелоеПоле('ID');
    ТаблицаСценариев.Открыть;
    СписокСценариев.РазделенноеЗначение(",") := СписокИменЭлементовСценариев;
    ИмяФайла := "";
    от сч := 0 до СписокСценариев.Количество - 1 делать
    начало
      // формируем строку имени файла
      ДобавитьСтроку(ИмяФайла, Формат('(%s)', ФорматироватьКлассификатор(СписокСценариев.Стр(сч), м_КодСценария)), ", ");
      // заполняем данные с кодами экспортируемых сценариев      
      ТаблицаСценариев.Вставить;
      ТаблицаСценариев.ПолеПоИмени('ID').КакЦелое := СтрокаВЦелое(СписокСценариев.Стр(сч));
    конец;
    если СписокСценариев.Количество = 1 тогда
      ИмяФайла := "Сценарий " + ИмяФайла + ПостфиксИмениФайла 
    иначе
      ИмяФайла := "Сценарии " + ИмяФайла;
    если Длина(ИмяФайла) &gt; 200 тогда
      ИмяФайла := Формат("Группа сценариев(%d штук)", СписокСценариев.Количество);
    ТаблицаСценариев.SaveToXMLDOMElement(TableParent, 0);
    FormatXML(XML);
    XML.save(КаталогСохранения + ЗаменитьЗапрещенныеСимволы(ИмяФайла) + '.xml');
  обязательно
    УдалитьОбъект(СписокСценариев, ТаблицаСценариев)
  конец;  
конец;

функция ЭкспортироватьСценарии(ЭкспСценарии: Данные; КаталогСохранения: строка; вОдинФайл: целое);
переменные
  Сценарии: СтатическиеДанные;
  XML: IXMLDomDocument;
  СписокИменЭлементовСценариев: строка;
начало
  Сценарии := СоздатьСтатическиеДанные;
  попытка
    Сценарии.Запрос := ЗапросСценариев;
    Сценарии.СоединитьБД;
    Сценарии.Открыть;
    XML := CreateDOMDocumnent; 
    ЭкспСценарии.ВНачало;
    пока не ЭкспСценарии.ВКонце делать
    начало 
      ЭкспортСценария(XML, nil, nil, Сценарии, ЭкспСценарии.ПолеПоИмени('ID').КакЦелое);
      ДобавитьСтроку(СписокИменЭлементовСценариев, ЭкспСценарии.ПолеПоИмени('ID').КакСтрока);        
      // если экспортируем каждый сценарий в отдельный файл
      если не вОдинФайл тогда
      начало
        СохранитьДокумент(XML, СписокИменЭлементовСценариев, КаталогСохранения, ' ' + ЭкспСценарии.ПолеПоИмени('Name').КакСтрока);
        СписокИменЭлементовСценариев := "";
        // новый документ для следующего сценария
        XML := CreateDOMDocumnent;
      конец;
      ЭкспСценарии.Следующая;      
    конец; 
    // если все в один файл, добавляем узел со списком элементов сценариев и сохраняем
    если вОдинФайл тогда
      СохранитьДокумент(XML, СписокИменЭлементовСценариев, КаталогСохранения, '');
  обязательно
    УдалитьОбъект(Сценарии)
  конец;
конец;

переменные
  вОдинФайл: целое;
  КаталогСохранения: строка;
  ЭкспСценарии: СтатическиеДанные;    
начало
  ЭкспСценарии := ПолучитьФормуВвода.Заголовки.Сетка.ПолучитьВыделенныеСтроки; 
  если ЭкспСценарии.ЧислоЗаписей &gt; 0 тогда
  начало
    ПолучитьПараметрыЭкспорта(КаталогСохранения, вОдинФайл); 
    ЭкспортироватьСценарии(ЭкспСценарии, КаталогСохранения, вОдинФайл);   
    Сообщение("Экспорт завершен успешно") 
  конец  
  иначе    
    Ошибка("Сценарии для экспорта отсутствуют");
конец;
</value>
    <param value="Код программы" type="3" name="Export">GREKOVSV\grekovsv\23.11.2012 13:11:18</param>
    <param value="Код программы" type="3" name="version">36.042.11</param>
    <param value="Код программы" type="3" name="crc32">$D998CB89</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{81565A31-5DD7-46EA-8C71-C0DE44505474}\Панели\Стандартная\ЭкспортСценарияКнопка">
    <value type="3" name="Действие">ЭкспортСценария</value>
    <value type="3" name="Картинка">Экспорт</value>
    <value type="1" name="Порядок">1</value>
    <value type="3" name="Хинт">Экспорт сценария в xml</value>
    <param value="Действие" type="3" name="version">36.042.11</param>
    <param value="Действие" type="3" name="crc32">$42457BC1</param>
    <param value="Картинка" type="3" name="version">36.042.11</param>
    <param value="Картинка" type="3" name="crc32">$62F0FDC5</param>
    <param value="Порядок" type="3" name="version">36.042.11</param>
    <param value="Хинт" type="3" name="version">36.042.11</param>
    <param value="Хинт" type="3" name="crc32">$15F8A825</param>
  </node>
  <version_info>
    <file>Справочник фильтров.xml</file>
    <version>36.042.04</version>
    <info>&lt;p&gt;Редактор справочника фильтров для системы состояний&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:57</buildtime>
  </version_info>
  <description>АБЛ-макросы для справочника фильтров</description>
  <node path="%root%\Объекты\Интерфейсы\{2F6730F6-9F3B-4681-AD8A-C14B72400A33}\Действия\Импорт">
    <value type="7" name="Код программы">включить 'Project';
включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Reports.lib';
включить "Бюджет\Ресурсы\библиотеки\MSXML.lib";
включить "\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\Библиотеки\Documents.lib";

константы
  CLASS_DomDocument = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';

  evCalcFields      = 0;
  evDataChanged     = 1;
  evDataScrolled    = 2;
  evNewRecord       = 3;
  evBeforeOperation = 4;
  evAfterOperation  = 5;
    
переменные
  Форма : ФормаВвода;
  Сетка : СеткаДанных;
  Прогресс : IProgress;
  doc : IXMLDomDocument;
  list : IXMLDOMNodeList;
  ИмяФайла : строка;
  Фильтры,ФильтрыЗагр : СтатическиеДанные;
      
начало
  ИмяФайла := FileDialog('Выберите файл для импорта', '', 'Файлы XML(*.xml)|*.xml|Все файлы|*.*', 0);
  Если УбратьПробелы(ИмяФайла) = '' тогда Выход;
  Форма := ПолучитьФормуВвода();
  Сетка := Форма.Заголовки.Сетка;
  Фильтры := Форма.Заголовки.Таблица;
  doc := CreateComObject(CLASS_DomDocument);
  doc.load(ИмяФайла);
  list := doc.getElementsByTagName('FiltersTable');
  
  Прогресс := Progress;
  Прогресс.BeginProgress;
  Прогресс.SetMessage('Импорт фильтров');
  ФильтрыЗагр := СоздатьСтатическиеДанные();
  Фильтры.ЗапретитьПрорисовку;
  Фильтры.DisableEvents(МассивИз(evBeforeOperation));
  попытка
    ФильтрыЗагр.LoadFromXMLDOMElement(list.item(0),1);
    ФильтрыЗагр.ВНачало;
    пока не ФильтрыЗагр.ВКонце делать
    начало
      Если Фильтры.Локализовать('ID',ФильтрыЗагр.ПолеПоИмени('ID').КакСтрока,0) тогда
      начало
        Фильтры.Редактировать;
      конец иначе
      начало
        Фильтры.Вставить;
        Фильтры.ПолеПоИмени('ID').КакСтрока := ФильтрыЗагр.ПолеПоИмени('ID').КакСтрока;
      конец;
      Фильтры.ПолеПоИмени('Name').КакСтрока := ФильтрыЗагр.ПолеПоИмени('Name').КакСтрока;
      Фильтры.ПолеПоИмени('Note').КакСтрока := ФильтрыЗагр.ПолеПоИмени('Note').КакСтрока;
      Фильтры.ПолеПоИмени('FILTERVALUE').КакСтрока := ФильтрыЗагр.ПолеПоИмени('FILTERVALUE').КакСтрока;
      Фильтры.ПолеПоИмени('FILTERVALUEURM').КакСтрока := ФильтрыЗагр.ПолеПоИмени('FILTERVALUEURM').КакСтрока;
      Фильтры.ПолеПоИмени('IsBudget').КакСтрока := ФильтрыЗагр.ПолеПоИмени('IsBudget').КакСтрока;
      Фильтры.ПолеПоИмени('FILTERFORMAT').КакФлаг := ФильтрыЗагр.ПолеПоИмени('FILTERFORMAT').КакФлаг;
      Фильтры.ПолеПоИмени('FILTERACTIVE').КакФлаг := ФильтрыЗагр.ПолеПоИмени('FILTERACTIVE').КакФлаг;
      Фильтры.Сохранить;
      ФильтрыЗагр.Следующая;
    конец;
  обязательно
    Фильтры.EnableEvents(МассивИз(evBeforeOperation));
    Фильтры.РазрешитьПрорисовку;
    УдалитьОбъект(ФильтрыЗагр);
    Прогресс.EndProgress;
  конец;
  Если Сетка.UpdatesPending тогда
    Фильтры.СохранитьИзменения;
  DoPrimary(ПолучитьТекущийИнтерфейс);  
конец.
</value>
    <param value="Код программы" type="3" name="version">36.042.04</param>
    <param value="Код программы" type="3" name="crc32">$626D4CFF</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2F6730F6-9F3B-4681-AD8A-C14B72400A33}\Действия\СкопироватьФильтр">
    <value type="7" name="Код программы">включить 'Project';
включить "\библиотеки\LibRu.lib";
переменные
  Форма : ФормаВвода;
  Фильтры,Запись,ФильтрыИзСетки : СтатическиеДанные;
  СписокНовыхПолей,СписокПолейФормулы : текст;
  ЗначениеФильтра: строка;
  КодФильтра : целое;

// берем либо выделенные, либо текущую запись
функция ПолучитьВыделенныеИлиТекущую(ДанныеРезультат : СтатическиеДанные; СеткаВвода : СеткаДанных; Данные : СтатическиеДанные);
начало
  если СеткаВвода.ЕстьВыделенныеСтроки тогда // в объекте Выделенные теперь находятся записи, выделенные в сетке данных заголовков
  начало 
    ДанныеРезультат := СеткаВвода.ПолучитьВыделенныеСтроки;
    Если ДанныеРезультат.ЧислоЗаписей &gt; 1 тогда
      ВозбудитьОшибку("Выбрано более одной записи");
  конец     
  иначе начало
    // ничего не выделено, тогда занесем в выделенные текущую запись мастера
    ДанныеРезультат := СоздатьСтатическиеДанные; 
    ДанныеРезультат.ПрисвоитьПоля(Данные);
    ДанныеРезультат.Открыть;
    ДанныеРезультат.СкопироватьЗапись(1, Данные);
  конец;
конец;

функция ПолучитьТаблицуПоЗапросу(Скрипт: строка): СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  Результат.СоединитьБД;
  Результат.Запрос := Скрипт;
  Результат.Открыть;
конец;

// [идПоля]
функция ВыбратьПоляИзСтроки(стр : строка) : текст;
переменные
  сч,начСкобки : целое;
начало
  Результат := СоздатьТекст;
  попытка
    От сч := 1 до Длина(стр) делать
    начало
       Если стр[сч] = '[' тогда
         начСкобки := сч;
       Если стр[сч] = ']' тогда
         Результат.Добавить(Подстрока(стр,начСкобки+1,сч - начСкобки - 1));
    конец;
  неудача
    УдалитьОбъект(Результат);
  конец   
конец;

// Заменяет ид полей в формуле исходного документа на ид полей конечного документа
функция ЗаменитьПоляВФормуле(формула : строка; СписокПолей : текст) : строка;
переменные
  сч, сч1 : целое;
  ЧитаемПоле : Целое;
начало
  Результат := "";
  сч1 := 0;
  ЧитаемПоле:=0;
  попытка
    от сч := 1 до Длина(формула) делать
    начало
      Если не ЧитаемПоле тогда Результат:=Результат+формула[сч];
      Если формула[сч] = '[' 
      тогда ЧитаемПоле := 1;
      Если формула[сч] = ']' 
      тогда начало
              ЧитаемПоле := 0;
              Результат := Результат+СписокПолей.Стр(сч1)+"]";
              сч1 := сч1 + 1;
            конец;
    конец;
  неудача
    ВозбудитьОшибку("Значение фильтра некорректно");
  конец 
конец;

// по ссылкам на поля исходного документа получить поля документа цели
функция ПолучитьПоля(ПоляИсходногоДокумента, КодКонечногоДокумента : строка) : текст;
переменные
  ПоляДокументов : СтатическиеДанные;
  СписокПолей, НенайденныеПоля : текст;
  ПолеВКонтроле, ПолеНаИнтерфейсе : строка;
  нашли, сч : целое;
начало
  ПоляДокументов := ПолучитьТаблицуПоЗапросу("[pumpdata]{select ID, ITFFIELDNAME, Name, DocTypeRef, ReportFieldName from DocumentFields}");
  // проход по справочнику полей. Оставляем только первое имя поля в контролях, иначе обработка будет слишком сложной
  ПоляДокументов.ВНачало;
  пока не ПоляДокументов.EOF делать
  начало
    ПолеВКонтроле := ПоляДокументов.ПолеПоИмени('ReportFieldName').КакСтрока;
    если Позиция(',',ПолеВКонтроле)&gt;0 тогда 
    начало
      ПолеВКонтроле := подстрока(ПолеВКонтроле,1,Позиция(',',ПолеВКонтроле)-1);
      ПоляДокументов.ПолеПоИмени('ReportFieldName').КакСтрока := ПолеВКонтроле;
    конец;  
    ПоляДокументов.Next;
  конец; 
  СписокПолей := СоздатьТекст;
  НенайденныеПоля := СоздатьТекст;
  Результат := СоздатьТекст;
  попытка
    СписокПолей.РазделенноеЗначение(",") := ПоляИсходногоДокумента;
    от сч :=0 до СписокПолей.Количество - 1 делать
    начало
      Если ПоляДокументов.Локализовать("ID",СписокПолей.Стр(сч),0) тогда
      начало
        Если ПоляДокументов.ПолеПоИмени("ReportFieldName").Пустое 
        тогда ПолеВКонтроле := ""
        иначе ПолеВКонтроле := ПоляДокументов.ПолеПоИмени("ReportFieldName").КакСтрока;
        Если ПоляДокументов.ПолеПоИмени("ITFFIELDNAME").Пустое 
        тогда ПолеНаИнтерфейсе := ""
        иначе ПолеНаИнтерфейсе := ПоляДокументов.ПолеПоИмени("ITFFIELDNAME").КакСтрока;    
        нашли := нет;
        //сначало смотрим на имя в шаблоне  
        Если ПолеВКонтроле &lt;&gt; "" 
        тогда Если ПоляДокументов.Локализовать("DocTypeRef;ReportFieldName",МассивИз(КодКонечногоДокумента,ПолеВКонтроле),1) 
              тогда нашли := Да;
        //потом смотрим на имя в базе   
        Если (не нашли) и (ПолеНаИнтерфейсе &lt;&gt; "") 
        тогда Если ПоляДокументов.Локализовать("DocTypeRef;ItfFieldName",МассивИз(КодКонечногоДокумента,ПолеНаИнтерфейсе),1) 
              тогда нашли := да;
        Если нашли 
        тогда Результат.Добавить(ПоляДокументов.ПолеПоИмени("ID").КакСтрока)
        иначе НенайденныеПоля.Добавить(ПоляДокументов.ПолеПоИмени("Name").КакСтрока); //формируем список ненайденных полей для вывода  
      конец;
    конец; 
    Если НенайденныеПоля.Количество &lt;&gt; 0 
    тогда ВозбудитьОшибку("В документе с кодом "+ЦелоеВСтроку(КодКонечногоДокумента)+" не найдены следующие поля: " + НенайденныеПоля.РазделенноеЗначение(","));
  обязательно
    УдалитьОбъект(СписокПолей,НенайденныеПоля,ПоляДокументов);
  конец; 
конец;

начало
  Форма := ПолучитьФормуВвода();
  ФильтрыИзСетки := Форма.Заголовки.Таблица;
  ПолучитьВыделенныеИлиТекущую(Запись,Форма.Заголовки.Сетка,ФильтрыИзСетки);
  Фильтры := ПолучитьТаблицуПоЗапросу("[pumpdata]{select ID, NAME, NOTE, FILTERVALUE, FILTERACTIVE from STATE_FILTER}");
  попытка
    Диалог.Очистить;
    Диалог.Заголовок := 'Укажите тип документа для вставки';
    Диалог.Добавить("Тип документа","Документ",0,0,"99.99");
    Диалог.Добавить("Код фильтра","Фильтр",0,0,"99.99");
    Диалог.Добавить("Активность","Активность",0,Проверка + ТолькоЧтение);
    Диалог.Добавить("Наименование","Наименование",0,0);
    Диалог.Добавить("Описание","Описание",0,0);
    Диалог.Значение("Фильтр") := ФорматироватьКлассификатор(Запись.ПолеПоИмени("ID").КакЦелое ост 10000,"99.99");
    Диалог.Флаг("Активность") := Запись.ПолеПоИмени("FILTERACTIVE").КакФлаг;
    Диалог.Значение("Наименование") := Запись.ПолеПоИмени("NAME").КакСтрока;
    Диалог.Значение("Описание") := Запись.ПолеПоИмени("NOTE").КакСтрока;
    Если не Диалог.Выполнить тогда выход;
    КодФильтра := КлассификаторВЧисло(Диалог.Значение("Документ"),"99.99")*10000+КлассификаторВЧисло(Диалог.Значение("Фильтр"),"99.99"); 
    // проверяем не системный ли фильтр хотят вставить
    Если ((КодФильтра цел 10000) = 0) или ((КодФильтра ост 100) = 0)
    тогда ВозбудитьОшибку("Нет прав на создание системных фильтров");
   // проверяем есть ли фильтр с таким кодом
    Если Фильтры.Локализовать("ID",МассивИз(КодФильтра),0) 
    тогда ВозбудитьОшибку("Фильтр с кодом '" + ФорматироватьКлассификатор(КодФильтра,"99.99.99.99") + "' уже существует");
    СписокПолейФормулы := ВыбратьПоляИзСтроки(Запись.ПолеПоИмени("FILTERVALUE").КакСтрока);
    СписокНовыхПолей := ПолучитьПоля(СписокПолейФормулы.РазделенноеЗначение,КлассификаторВЧисло(Диалог.Значение("Документ"),"99.99"));
    ЗначениеФильтра:=ЗаменитьПоляВФормуле(Запись.ПолеПоИмени("FILTERVALUE").КакСтрока, СписокНовыхПолей);
    ФильтрыИзСетки.Вставить;
    ФильтрыИзСетки.ПолеПоИмени("ID").КакЦелое           := КодФильтра;
    ФильтрыИзСетки.ПолеПоИмени("FILTERACTIVE").КакФлаг  := Диалог.Флаг("Активность");
    ФильтрыИзСетки.ПолеПоИмени("NAME").КакСтрока        := Диалог.Значение("Наименование");
    ФильтрыИзСетки.ПолеПоИмени("NOTE").КакСтрока        := Диалог.Значение("Описание");
    ФильтрыИзСетки.ПолеПоИмени("FILTERVALUE").КакСтрока := ЗначениеФильтра;
    ФильтрыИзСетки.Сохранить;
  обязательно
    УдалитьОбъект(СписокПолейФормулы, СписокНовыхПолей, Фильтры, Запись);
  конец;                  
конец.
</value>
    <param value="Код программы" type="3" name="Export">MALINOVKIN\malinovkin\13.03.2009 16:51:42</param>
    <param value="Код программы" type="3" name="version">36.042.04</param>
    <param value="Код программы" type="3" name="crc32">$8F34D086</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2F6730F6-9F3B-4681-AD8A-C14B72400A33}\Действия\Экспорт">
    <value type="7" name="Код программы">включить 'Project';
включить "\библиотеки\LibRu.lib";
включить '\Библиотеки\Reports.lib';
включить "Бюджет\Ресурсы\библиотеки\MSXML.lib";
включить "\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\Библиотеки\Documents.lib";

константы
  CLASS_DomDocument = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';

переменные
  Форма : ФормаВвода;
  Сетка : СеткаДанных;
  Прогресс : IProgress;
  Фильтры : СтатическиеДанные;
  ИмяФайла : строка;
  doc : IXMLDomDocument;
  el,FirstEl : IXMLDomElement;
   
начало
  ИмяФайла := FileDialog('Выберите файл для экспорта', 'FiltersExport.xml', 'Файлы XML(*.xml)|*.xml|Все файлы|*.*', 0);
  Если (УбратьПробелы(ИмяФайла) = '') тогда Выход;
  Если ExtractFileExt(ИмяФайла)= '' тогда 
    ИмяФайла := ИмяФайла + '.xml';
  Если ФайлСуществует(ИмяФайла) тогда 
    Если  Сообщение('Файл уже существует. Перезаписать?', Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) = результат_Нет тогда
      Выход;
  
  Форма := ПолучитьФормуВвода();    
  Сетка := Форма.Заголовки.Сетка;                                    
  если Сетка.ЕстьВыделенныеСтроки тогда 
    Фильтры := Сетка.ПолучитьВыделенныеСтроки
  иначе
    Если Сообщение("Нет выделенных записей. Экспортировать все записи?", Сообщение_Вопрос,Кнопка_Да + Кнопка_нет) = результат_да тогда 
      Фильтры :=  Форма.Заголовки.Таблица
    иначе Выход;
  
  Прогресс := Progress;
  Прогресс.BeginProgress;
  Прогресс.SetMessage('Экспорт фильтров');
  попытка
    doc := CreateComObject(CLASS_DomDocument);
    //doc.appendChild(doc.createProcessingInstruction('xml','version="1.0" encoding="windows-1251"'));
    Firstel := doc.createElement('Export');
    doc.appendChild(Firstel);
 
    el :=  doc.createElement('FiltersTable');
    Фильтры.SaveToXMLDOMElement(el,0);
    Firstel.appendChild(el);
    doc.Save(ИмяФайла);
    Прогресс.SetProgress(100);
  обязательно
    Прогресс.EndProgress;
  конец;    
конец.
</value>
    <param value="Код программы" type="3" name="Export">ORDENOV\ordenov\26.08.2008 15:05:59</param>
    <param value="Код программы" type="3" name="version">36.042.04</param>
    <param value="Код программы" type="3" name="crc32">$70A4587A</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2F6730F6-9F3B-4681-AD8A-C14B72400A33}\Панели\ПанельЭкспортИмпорт\Импорт">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">Импорт</value>
    <value type="3" name="Картинка">ИмпортИзФайла</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Импорт</value>
    <param value="Видимость" type="3" name="version">36.042.04</param>
    <param value="Действие" type="3" name="version">36.042.04</param>
    <param value="Действие" type="3" name="crc32">$7AF0684E</param>
    <param value="Картинка" type="3" name="version">36.042.04</param>
    <param value="Картинка" type="3" name="crc32">$592FD2B1</param>
    <param value="Стиль" type="3" name="version">36.042.04</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.042.04</param>
    <param value="Хинт" type="3" name="crc32">$7AF0684E</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2F6730F6-9F3B-4681-AD8A-C14B72400A33}\Панели\ПанельЭкспортИмпорт\СкопироватьФильтр">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СкопироватьФильтр</value>
    <value type="3" name="Картинка">ПеренестиНастройки</value>
    <value type="1" name="Порядок">2</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Скопировать фильтр</value>
    <param value="Видимость" type="3" name="version">36.042.04</param>
    <param value="Действие" type="3" name="version">36.042.04</param>
    <param value="Действие" type="3" name="crc32">$3BBBE548</param>
    <param value="Картинка" type="3" name="version">36.042.04</param>
    <param value="Картинка" type="3" name="crc32">$C047CE10</param>
    <param value="Порядок" type="3" name="version">36.042.04</param>
    <param value="Стиль" type="3" name="version">36.042.04</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.042.04</param>
    <param value="Хинт" type="3" name="crc32">$9362060F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{2F6730F6-9F3B-4681-AD8A-C14B72400A33}\Панели\ПанельЭкспортИмпорт\Экспорт">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">Экспорт</value>
    <value type="3" name="Картинка">Экспорт</value>
    <value type="1" name="Порядок">1</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Экспорт</value>
    <param value="Видимость" type="3" name="version">36.042.04</param>
    <param value="Действие" type="3" name="version">36.042.04</param>
    <param value="Действие" type="3" name="crc32">$62F0FDC5</param>
    <param value="Картинка" type="3" name="version">36.042.04</param>
    <param value="Картинка" type="3" name="crc32">$62F0FDC5</param>
    <param value="Порядок" type="3" name="version">36.042.04</param>
    <param value="Стиль" type="3" name="version">36.042.04</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.042.04</param>
    <param value="Хинт" type="3" name="crc32">$62F0FDC5</param>
  </node>
  <version_info>
    <file>Графический редактор схем документооборота.xml</file>
    <version>36.041.07</version>
    <info>&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;Служебные макросы для графического редактора схем.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:58</buildtime>
  </version_info>
  <description>АБЛ-макросы для графического редактора схем документооборота</description>
  <node path="Бюджет\Объекты\Интерфейсы\{F611F5BE-7667-46D4-98A0-0DEFD8C6C8F0}\Настройки">
    <value type="6" name="Зарезервированные состояния">
      <table key="IntfCode" userfields="ReservList">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>IntfCode</N>
            <DL>IntfCode</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ReservList</N>
            <S>4000</S>
            <DL>ReservList</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="IntfCode">4901</V>
            <V N="ReservList">0,1,2,3,4,5,6,7,8,9</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Зарезервированные состояния" type="3" name="version">36.041.07</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{F611F5BE-7667-46D4-98A0-0DEFD8C6C8F0}\Действия\ЗадатьНастройки">
    <value type="7" name="Код программы">включить "Бюджет\Ресурсы\библиотеки\LibRU.lib";

константы
  УзелНастроек = "Бюджет\Конфигурация\Дополнительно\Состояния";
  УзелСобытий = "Бюджет\Объекты\Система\События";
  СписокВидовСообщения = "Сообщение"#13#10"Всплывающее окно"#13#10"Форма уведомлений";
  ВидСообщения = "СпособОтображения";
  Периодичность = "ПериодичностьВызова";
  НаТаймер = "НаТаймер(1)+";

переменные
  СписокЗначений: Текст;  
начало
  СписокЗначений := СоздатьТекст(СписокВидовСообщения);
  попытка
    для Диалог делать
    начало
      .Очистить;
      .Заголовок := 'Настройки оповещения';
      .Добавить('Включить', 'Вкл', 0, Проверка + ТолькоЧтение, '', '');  
      .Добавить('Вид сообщения', ВидСообщения, 0, Список + ТолькоЧтение, '', СписокВидовСообщения);
      .Добавить('Периодичность вызова (мин)', Периодичность, 0, Инкремент, '', '');     
      .Параметр('Вкл').Флаг := Реестр.Узел(УзелСобытий).Значение(НаТаймер).КакСтрока = '';
      .Параметр(ВидСообщения).Значение := СписокЗначений.Стр(Реестр.Узел(УзелНастроек).Значение(ВидСообщения).КакЦелое);
      .Параметр(Периодичность).Значение := Реестр.Узел(УзелНастроек).Значение(Периодичность).КакСтрока;
      если .Параметр(Периодичность).Значение = "" тогда
        .Параметр(Периодичность).Значение := "1";
      если .Выполнить тогда
      начало
        Реестр.Узел(УзелНастроек).Значение(ВидСообщения).КакЦелое := СписокЗначений.Поиск(.Параметр(ВидСообщения).Значение);
        если СтрокаВЦелое(.Параметр(Периодичность).Значение) &lt; 1 тогда
          .Параметр(Периодичность).Значение := "1";
        Реестр.Узел(УзелНастроек).Значение(Периодичность).КакСтрока := .Параметр(Периодичность).Значение;
        если .Параметр('Вкл').Флаг тогда
          Реестр.Узел(УзелСобытий).Значение(НаТаймер).КакСтрока := ""
        иначе
          Реестр.Узел(УзелСобытий).Значение(НаТаймер).КакСтрока := "Права=";
        Сообщение("Настройки вступят в силу после перезагрузки");
      конец;
    конец;
  обязательно
    УдалитьОбъект(СписокЗначений);
  конец; 
конец;
</value>
    <param value="Код программы" type="3" name="version">36.041.07</param>
    <param value="Код программы" type="3" name="crc32">$0C3EFBA0</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{F611F5BE-7667-46D4-98A0-0DEFD8C6C8F0}\Панели\Оповещения\Настройки">
    <value type="3" name="Действие">ЗадатьНастройки</value>
    <value type="3" name="Картинка">СоздатьУведомлениеМод</value>
    <value type="3" name="Хинт">Настройки оповещения</value>
    <param value="Действие" type="3" name="version">36.041.07</param>
    <param value="Действие" type="3" name="crc32">$6F5574CE</param>
    <param value="Картинка" type="3" name="version">36.041.07</param>
    <param value="Картинка" type="3" name="crc32">$F14B5CB3</param>
    <param value="Хинт" type="3" name="version">36.041.07</param>
    <param value="Хинт" type="3" name="crc32">$32A8D572</param>
  </node>
  <version_info>
    <file>Блокировки документов.xml</file>
    <version>36.042.16</version>
    <info>&lt;p&gt;макросы стандартных кнопок интерфейса блокировок документов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:58</buildtime>
  </version_info>
  <description>АБЛ-макросы для блокировок документов</description>
  <node path="Бюджет\Объекты\Интерфейсы\{E38DAF93-F62F-4BCB-98D4-760D5E29DD09}">
    <value type="3" name="Название">Блокировки документов</value>
    <param value="Название" type="3" name="version">36.042.16</param>
    <param value="Название" type="3" name="crc32">$F8843EF5</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{E38DAF93-F62F-4BCB-98D4-760D5E29DD09}\Действия\ЗагрузитьПоля">
    <value type="7" name="Код программы">включить "Project";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\ABLTools.lib";
включить "\библиотеки\MSXML.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Documents.lib";
включить "\Библиотеки\Control.lib";

константы
  CLASS_DomDocument = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';

  ЗапросБлокировок = "[PumpData] 
{select ID,NAME,LOCKMASK,DOCREF,DETAILNUM,RUNPOS,LOCKACTION,USERIGHTS,FORMULA,
FORDELETE,ISSYSTEM,NOTE,FORINSERT,DOCPARAM,VALIDATEMESSAGE,VALIDATELEVEL,VALIDATEFILTER,IsBudget 
from DocLock}

[InsertData]
{insert into DocLock (ID,NAME,NOTE,LOCKMASK,DOCREF,DOCPARAM,DETAILNUM,RUNPOS,LOCKACTION,FORMULA,
USERIGHTS,FORDELETE,FORINSERT, ValidateMessage,ValidateLevel,ValidateFilter,IsBudget)
values
(@ID,@NAME,@NOTE,@LOCKMASK,@DOCREF,@DOCPARAM,@DETAILNUM,@RUNPOS,@LOCKACTION,@FORMULA,
@USERIGHTS,@FORDELETE,@FORINSERT, @ValidateMessage,@ValidateLevel,@ValidateFilter,@IsBudget)}

[ModifyData]
{update DocLock set 
  LOCKMASK = @LOCKMASK, LOCKACTION = @LOCKACTION, RUNPOS = @RUNPOS, USERIGHTS = @USERIGHTS,
  FORMULA = @FORMULA, FORDELETE = @FORDELETE, NOTE = @NOTE, FORINSERT = @FORINSERT,
  DOCPARAM = @DOCPARAM, ValidateMessage = @ValidateMessage, ValidateLevel = @ValidateLevel,
  ValidateFilter = @ValidateFilter,IsBudget = @IsBudget
where
  ID = @ID}";                                                   

переменные    
  Форма: ФормаВвода;
  Блокировки,ПоляБлокировок,Данные1,Данные2,Группы,Пользователи,Права: СтатическиеДанные;
  doc: IXMLDomDocument;
  list: IXMLDOMNodeList;
  КодЗаписи, ИдПраваБлокировки: Целое;
  ИмяФайла, запрос, СписокИд: Строка;
  ИмпортПрав, i, j, IsReject, ЭкспортированоБлокировок, ЧислоПрогресс, успешно: Целое;
  сНовые: текст;
  Прогресс: IProgress;
    
  функция ПолучитьТаблицуПоЗапросу(Скрипт: Строка): СтатическиеДанные;
  начало
    Результат := СоздатьСтатическиеДанные;
    попытка
      Результат.СоединитьБД;
      Результат.Запрос := Скрипт;
      Результат.Открыть;
    неудача
      УдалитьОбъект(Результат);
      Ошибка;
    конец;
  конец;

  // Запрос на выборку пользователей
  функция ЗапросПользователей: Строка;
  начало
    Результат := "[PumpData]{select  db.ID,db.UserName,db.FirstName,db.MiddleName,db.LastName," +
                                    "db.Note,db.DepartmentCls,cls.Name DepartmentName,db.RemoteId,o.Name OrgName" +
                                    " from DbUsers db" +
                                    " left join DepartmentCls cls on (db.DepartmentCls = cls.ID)" +
                                    " left join RemoteClient rc on (db.RemoteClientRef = rc.ID)" +
                                    " left join Organizations o on (rc.Organization = o.id)}";  
  конец;

  // Возращает принадлежность имени к группе или к пользователям, а также ид
  функция ЭтоГруппа(s: строка; Id: целое; R :целое): целое;
  начало
    если (Длина(s) &gt; 0) и (s[1] = '-') тогда
    начало
      s := Подстрока(s,2);
      R := 1;
    конец иначе
      R := 0;
    Результат := (Длина(s) &gt;= 2) и ((s[1] = '{') или (s[2] = '{'));
    если Результат тогда
    начало
      если s[1] = '{' тогда
        s := Подстрока(s, 2, Длина(s) - 2)
      иначе
        s := Подстрока(s, 3, Длина(s) - 4);
      если Группы.Locate('NAME', s, 0) тогда
        id := Группы.ПолеПоИмени('Id').КакЦелое
      иначе 
        ВозбудитьОшибку( Формат('Группа "%s" не найдена.', s));
    конец иначе
    начало
      если Пользователи.Locate('USERNAME;RemoteID', ArrayOf(s, -1), 0) тогда
        id := Пользователи.ПолеПоИмени('id').КакЦелое
      иначе
        ВозбудитьОшибку(Формат('Пользователь "%s" не найден.', s));
    конец;
  конец;
  
  // Обновляет права на блокировки в БД
  функция ОбновитьПрава(ИдБлокировки, ТолькоВставка: Целое);
  начало
    если не ТолькоВставка тогда начало
      ВыполнитьЗапрос('delete from GroupsRights where (ObjRef = :LockId) and (ObjectKindRef = 15000000)', ИдБлокировки);
      ВыполнитьЗапрос('delete from UsersRights where (ObjRef = :LockId) and (ObjectKindRef = 15000000)', ИдБлокировки);
    конец;
    сНовые.РазделенноеЗначение(",") :=  Данные1.ПолеПоИмени("Users").КакСтрока;
    от i := 0 до сНовые.Количество - 1 делать
    начало
      Если ЭтоГруппа(сНовые.Стр(i),j,IsReject) тогда
         запрос := 'insert into GROUPSRIGHTS (GROUPREF,RIGHTREF,ISREJECT,OBJREF,OBJECTKINDREF) values'+
                   '(%d,%d,%d,%d,15000000)'
      иначе
        запрос := 'insert into USERSRIGHTS (USERREF,RIGHTREF,ISREJECT,OBJREF,OBJECTKINDREF) values'+
                  '(%d,%d,%d,%d,15000000)';
      ВыполнитьЗапрос(Формат(запрос,j,ИдПраваБлокировки,IsReject,ИдБлокировки));                 
    конец;  
  конец;
  
  // Ищем ипортируемую блокировку в данных БД Блокировки
  функция НайтиБлокировку: Целое;
  переменные
    Ключи: строка;
  начало
    Ключи := 'Name;DocRef;DetailNum;DocParam';
    Результат := Блокировки.Локализовать(Ключи, Данные1.Values(Ключи), 0);    
  конец;
  
  // Импортирует одну текущую блокировку Данные1 -&gt; Блокировки
  функция ИмпортироватьБлокировку: Целое;
  начало
    Результат := 0;
    Если НайтиБлокировку тогда
      Блокировки.Редактировать
    иначе если Данные1.ПолеПоИмени("IsSystem").КакЦелое = 0 тогда       // импортить можно только пользовательские блокировки
      Блокировки.Вставить
    иначе
      Возврат;
    Блокировки.PasteRecord(Данные1.CopyRecord('id=,*'), '*', 0);        // копируем все поля кроме Id
    Если ИмпортПрав тогда
      ОбновитьПрава(Блокировки.ПолеПоИмени("Id").КакЦелое, (Блокировки.Состояние = dsInsert));
    Блокировки.Сохранить;   
    Результат := 1;    
  конец;

начало
  Диалог.Очистить;
  Диалог.Заголовок := 'Параметры импорта';
  Диалог.Добавить('Заменить список пользователей и групп', 'Права', 0, Проверка + ТолькоЧтение);
  Диалог.Флаг('Права') := ложь;           
  Если не Диалог.Выполнить тогда
    выход;
  ИмпортПрав := Диалог.Флаг('Права');
  
  ИмяФайла := FileDialog('Выберите файл для импорта', '', 'Файлы XML(*.xml)|*.xml|Все файлы|*.*', 0);
  Если УбратьПробелы(ИмяФайла) = '' тогда
    Выход;
  Форма := ПолучитьФормуВвода;
  КодЗаписи := Форма.Заголовки.Таблица.ПолеПоИмени("ID").КакЦелое;
  doc := CreateComObject(CLASS_DomDocument);
  doc.load(ИмяФайла);
  list := doc.getElementsByTagName('DocLockTable');
  если (list.length &lt;= 0) тогда 
    ошибка ("Информация о таблице DocLock не найдена в файле " + ИмяФайла);

  // если импортируем права, то нужны таблицы пользователей и групп                                           
  Если ИмпортПрав тогда
  начало
    Группы := ПолучитьТаблицуПоЗапросу('[PumpData]{select id, Name, Note from DBGroups}');
    Пользователи := ПолучитьТаблицуПоЗапросу(ЗапросПользователей);
    // надо получить ид права блокировок
    Права := ПолучитьТаблицуПоЗапросу('[PumpData]{select id from dbrights where (RightKindRef=4) and (ObjectKindRef=15000000)}');
    попытка
      если Права.ЧислоЗаписей &gt; 0 тогда
        ИдПраваБлокировки := Права.ПолеПоИмени("ID").КакЦелое
      иначе
        ИдПраваБлокировки := -1;  
    обязательно
      УдалитьОбъект(Права);
    конец;
    сНовые := СоздатьТекст;                                                   
  конец;
                                            
  Данные1 := СоздатьСтатическиеДанные;
  Данные2 := СоздатьСтатическиеДанные;
  Блокировки := ПолучитьТаблицуПоЗапросу(ЗапросБлокировок);
  ПоляБлокировок := ПолучитьТаблицуПоЗапросу(
       "[PumpData]{select ID, DOCLOCKREF, FIELDREF from DocLockFields}" +
       "[InsertData]{insert into DOCLOCKFIELDS ( ID, DOCLOCKREF, FIELDREF) values" +
                                             "(@ID, @DOCLOCKREF, @FIELDREF)}");  
                                             
  Прогресс := Progress;
  Прогресс.BeginProgress;
  Прогресс.SetMessage('Импорт блокировок');                                            
  попытка
    // загружаем из XML таблицу блокировок
    Данные1.LoadFromXMLDOMElement(list.item(0), 1);
        
    // загружаем из XML таблицу полей блокировок
    list := doc.getElementsByTagName('DocLockFieldsTable');
    Если (list.length &gt; 0) тогда
    начало
      Данные2.LoadFromXMLDOMElement(list.item(0), 1);
      Данные2.Вначало;
    конец;
        
    ЭкспортированоБлокировок := 0;         
    Данные1.ВНачало;
    Пока не Данные1.ВКонце делать
    начало
      успешно := 1;
      ЧислоПрогресс := (ЭкспортированоБлокировок * 100) цел (Данные1.ЧислоЗаписей);
      Прогресс.SetProgress(ЧислоПрогресс);
      успешно := ИмпортироватьБлокировку;
      // сохраняем новый ID(только если мы вставили или обновили запись)
      Если успешно = 1 тогда 
      начало
        Данные1.ПолеПоИмени("FieldRefs").КакСтрока := Блокировки.ПолеПоИмени("ID").КакСтрока;
        ЭкспортированоБлокировок := ЭкспортированоБлокировок + 1;
      конец иначе
        Данные1.ПолеПоИмени("FieldRefs").Очистить;  
      Данные1.Следующая;
    конец;  
    Блокировки.СохранитьИзменения;
    
    // Требэ удалить список полей у эскпортируемых записей
    СписокИд := GetLimitStr(Данные1, "FieldRefs");
    Если СписокИд &lt;&gt; "" тогда
      ВыполнитьЗапрос(Формат("Delete from DocLockFields where DocLockRef in (%s)", СписокИД));
    
    // Заполнение списка полей с коррекцией Id блокировки
    // !! Здесь мы рассчитываем, что ссылка на поле во всех БД одинакова!
    Если Данные2.Active тогда
    начало
      Данные2.ВНачало;
      Пока не Данные2.ВКонце делать
      начало
        Данные1.Локализовать("ID", Данные2.ПолеПоИмени("DocLockRef").КакСтрока, 0);
        Если не Данные1.ПолеПоИмени("FieldRefs").Пустое тогда
        начало
          ПоляБлокировок.Вставить;
          ПоляБлокировок.ПолеПоИмени("FieldRef").КакСтрока   := Данные2.ПолеПоИмени("FieldRef").КакСтрока;
          ПоляБлокировок.ПолеПоИмени("DocLockRef").КакСтрока := Данные1.ПолеПоИмени("FieldRefs").КакСтрока;
          ПоляБлокировок.Сохранить;
        конец;
        Данные2.Следующая;       
      конец;
      ПоляБлокировок.СохранитьИзменения;
    конец;   
    Сообщение('Импорт успешно завершен', Сообщение_Информация, Кнопка_ОК);
  обязательно
    Прогресс.EndProgress;
    Если ИмпортПрав тогда
      УдалитьОбъект(Пользователи, Группы, сНовые);
    УдалитьОбЪект(ПоляБлокировок, Данные2, Данные1, Блокировки);
  конец;
 
  DoPrimary(ПолучитьТекущийИнтерфейс);
  Форма.Заголовки.Таблица.Локализовать('ID', КодЗаписи, 0);
конец.
</value>
    <param value="Код программы" type="3" name="Export">MALINOVKINDS\malinovkin\22.08.2012 16:40:13</param>
    <param value="Код программы" type="3" name="version">36.042.16</param>
    <param value="Код программы" type="3" name="crc32">$8D72EF31</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{E38DAF93-F62F-4BCB-98D4-760D5E29DD09}\Действия\СкопироватьБлокировку">
    <value type="7" name="Код программы">включить 'Project';
включить "\библиотеки\LibRu.lib";
переменные
  Форма : ФормаВвода;
  Сетка : СеткаДанных;
  Блокировки,Запись,БлокировкиИзСетки : СтатическиеДанные;
  КодДокумента,КодСтарогоДокумента,Имя,Детализация,ПоляФормулы : строка;
  СписокНовыхПолей,НенайденныеПоля,СписокПолей,СписокНазваний : текст;
  сч : целое;

  // удаление всех значений в списке
  функция ОчиститьСписок(_список : текст);
  переменные
    сч,кол : целое;
  начало
    кол := _список.Количество - 1;
    от сч := кол назад 0  делать
      _список.Удалить(сч);
  конец;
  
  // берем либо выделенные, либо текущую запись
  функция ПолучитьВыделенныеИлиТекущую(ДанныеРезультат : СтатическиеДанные; СеткаВвода : СеткаДанных; Данные : СтатическиеДанные);
  начало
    если СеткаВвода.ЕстьВыделенныеСтроки тогда// в объекте Выделенные теперь находятся записи, выделенные в сетке данных заголовков
    начало 
      ДанныеРезультат := СеткаВвода.ПолучитьВыделенныеСтроки;
      Если ДанныеРезультат.ЧислоЗаписей &gt; 1 тогда
        ВозбудитьОшибку("Выбрано более одной записи");
    конец     
    иначе начало
      // ничего не выделено, тогда занесем в выделенные текущую запись мастера
      ДанныеРезультат := СоздатьСтатическиеДанные; 
      ДанныеРезультат.ПрисвоитьПоля(Данные);
      ДанныеРезультат.Открыть;
      ДанныеРезультат.СкопироватьЗапись(1, Данные);
    конец;
  конец;

  функция ПолучитьТаблицуПоЗапросу(Скрипт: строка): СтатическиеДанные;
  начало
    Результат := СоздатьСтатическиеДанные;
    попытка
      Результат.СоединитьБД;
      Результат.Запрос := Скрипт;
      Результат.Открыть;
    неудача
      УдалитьОбъект(Результат);
      Результат := nil;
      Ошибка;
    конец;
  конец;

  // [идПоля]
  функция ВыбратьПоляИзСтроки(стр : строка) : текст;
  переменные
    сч,начСкобки : целое;
  начало
    Результат := СоздатьТекст;
    попытка
      От сч := 1 до Длина(стр) делать
      начало
         Если стр[сч] = '[' тогда
           начСкобки := сч;
         Если стр[сч] = ']' тогда
           Результат.Добавить(Подстрока(стр,начСкобки+1,сч - начСкобки - 1));
      конец;
    неудача
      УдалитьОбъект(Результат);
    конец   
  конец;

  // Заменяет ид полей в формуле исходного документа на ид полей конечного документа
  функция ЗаменитьПоляВФормуле(формула : строка;_СписокПолей : текст) : строка;
  переменные
    сч,сч1,начСкобки : целое;
  начало
     сч1 := 0;
     Результат := формула;
     сч := 1;
     пока не (сч&gt;Длина(Результат)) делать
     начало
       Если Результат[сч] = '[' тогда
         начСкобки := сч;
       Если Результат[сч] = ']' тогда
       начало
         Результат := Подстрока(Результат,1,начСкобки) +_СписокПолей.Стр(сч1) + ПодСтрока(Результат,сч);
         сч := сч+(Длина(_СписокПолей.Стр(сч1))-(сч-начСкобки-1));// корректируем различие в длине заменяемых кодов полей
         сч1 := сч1 + 1;
       конец;
       сч := сч+1;   
     конец;
  конец;

  // по ссылкам на поля исходного документа получить поля документа цели
  функция ПолучитьПоля(ПоляИсходногоДокумента, КодИсходногоДокумента, КодКонечногоДокумента : строка; _НенайденныеПоля : текст) : текст;
  переменные
    ПоляДокументов : СтатическиеДанные;
    СписокПолей : текст;
    сч : целое;
    ПолеВКонтроле,ПолеНаИнтерфейсе,НазваниеСтарогоПоля,НазваниеНовогоПоля,ст : строка;
    нашли : целое;
  начало
    СписокПолей := СоздатьТекст;
    Результат := СоздатьТекст;
    попытка
      СписокПолей.РазделенноеЗначение(",") := ПоляИсходногоДокумента;
      если СписокПолей.Количество&gt;0 тогда
      начало
        // определяем принадлежность полей по принадлежности перволо поля
        если не(((целое(СписокПолей.Стр(0)) цел 10000)ост 10)=0) тогда // ищем по полям Бюджета
          ПоляДокументов := ПолучитьТаблицуПоЗапросу("[pumpdata]{select ID,ITFFIELDNAME,Name,DocTypeRef,ReportFieldName from DocumentFields where isbudget in(1,2)}")
        иначе // ищем по полям УРМ
          ПоляДокументов := ПолучитьТаблицуПоЗапросу("[pumpdata]{select ID,ITFFIELDNAME,Name,DocTypeRef,ReportFieldName from DocumentFields where isbudget in(0,2)}");
        // проход по справочнику полей. Оставляем только первое имя поля в отчетах. Иначе обработка будет слишком сложной
        поляДокументов.ВНачало;
        пока не ПоляДокументов.EOF делать
        начало
          ст := ПоляДокументов.ПолеПоИмени('ReportFieldName').КакСтрока;
          если Позиция(',',ст)&gt;0 тогда 
          начало
            ст := подстрока(ст,1,Позиция(',',ст)-1);
            ПоляДокументов.ПолеПоИмени('ReportFieldName').КакСтрока := ст;
          конец;  
          ПоляДокументов.Next;
        конец;
      конец;
      от сч :=0 до СписокПолей.Количество - 1 делать
      начало
        Если ПоляДокументов.Локализовать("ID",СписокПолей.Стр(сч),0) тогда
        начало
          Если ПоляДокументов.ПолеПоИмени("ReportFieldName").Пустое тогда
            ПолеВКонтроле := ""
          иначе
            ПолеВКонтроле := ПоляДокументов.ПолеПоИмени("ReportFieldName").КакСтрока;
          Если ПоляДокументов.ПолеПоИмени("ITFFIELDNAME").Пустое тогда
            ПолеНаИнтерфейсе := ""
          иначе
            ПолеНаИнтерфейсе := ПоляДокументов.ПолеПоИмени("ITFFIELDNAME").КакСтрока;    
          НазваниеСтарогоПоля := ПоляДокументов.ПолеПоИмени("Name").КакСтрока;
         
          нашли := нет;
          //сначало смотрим на имя в шаблоне  
          Если ПолеВКонтроле &lt;&gt; "" тогда
            Если ПоляДокументов.Локализовать("DocTypeRef;ReportFieldName",МассивИз(КодКонечногоДокумента,ПолеВКонтроле),1) тогда
            начало
              нашли := Да;
              НазваниеНовогоПоля := ПоляДокументов.ПолеПоИмени("Name").КакСтрока;
            конец;  
          //потом смотрим на имя в базе   
          Если (не нашли) и (ПолеНаИнтерфейсе &lt;&gt; "") тогда
            Если ПоляДокументов.Локализовать("DocTypeRef;ItfFieldName",МассивИз(КодКонечногоДокумента,ПолеНаИнтерфейсе),1) тогда
            начало
              нашли := Да;
              НазваниеНовогоПоля := ПоляДокументов.ПолеПоИмени("Name").КакСтрока;
            конец;
          // возможно, это поле справочника, а не исходного документа. Тогда его оставляем без изменений.  
          Если (КодИсходногоДокумента&lt;&gt;"")и(целое(КодИсходногоДокумента)цел 100&lt;&gt;целое(СписокПолей.Стр(сч))цел 10000000) тогда
            Результат.Добавить(СписокПолей.Стр(сч) +"="+НазваниеСтарогоПоля)
          иначе  
            Если нашли тогда
              Результат.Добавить(ПоляДокументов.ПолеПоИмени("ID").КакСтрока +"="+НазваниеНовогоПоля)
            иначе  
              //формируем список ненайденных полей для вывода  
              _НенайденныеПоля.Добавить(НазваниеСтарогоПоля);
        конец;
      конец; 
    обязательно
      УдалитьОбъект(СписокПолей,ПоляДокументов);
    конец;
  конец;
    
начало
  Форма := ПолучитьФормуВвода();
  Сетка := Форма.Заголовки.Сетка;
  БлокировкиИзСетки := Форма.Заголовки.Таблица;

  ПолучитьВыделенныеИлиТекущую(Запись,Форма.Заголовки.Сетка,БлокировкиИзСетки);
  Блокировки := ПолучитьТаблицуПоЗапросу("[pumpdata]{select ID,DOCREF,NAME,DETAILNUM from DocLock}");
  НенайденныеПоля := СоздатьТекст;
  СписокПолей := СоздатьТекст;
  СписокНазваний := СоздатьТекст;
  попытка
    Диалог.Очистить;
    Диалог.Заголовок := 'Укажите код документа для вставки';
    Диалог.Добавить("Документ","Документ",0,0,"99.99");
    Диалог.Добавить("Имя","Имя",0,0);
    Диалог.Добавить("Детализация","Детализация",0,Список,"","Для всех"#13#10"Заголовок"#13#10"Детализация");
    Диалог.Значение("Имя") := Запись.ПолеПоИмени("Name").КакСтрока;
    выбрать Запись.ПолеПоИмени("DetailNum").КакЦелое из
     -1: Диалог.Значение("Детализация") := "Для всех";
      0: Диалог.Значение("Детализация") := "Заголовок";
      1: Диалог.Значение("Детализация") := "Детализация";
    иначе
      Диалог.Значение("Детализация") := Запись.ПолеПоИмени("DetailNum").КакСтрока;   
    конец;
    Если не Диалог.Выполнить тогда выход;

    КодДокумента := КлассификаторВЧисло(Диалог.Значение("Документ"),"99.99");
    КодСтарогоДокумента := Запись.ПолеПоИмени("DocRef").КакСтрока;
    Имя := Диалог.Значение("Имя");
    Детализация := Диалог.Значение("Детализация");
    если Детализация = "Для всех" тогда
      Детализация := -1 иначе
    если Детализация = "Заголовок" тогда
      Детализация := 0 иначе
    если Детализация = "Детализация" тогда
      Детализация := 1;
    
    //проверяем есть ли у документа назначения такая блокировка
    Если Блокировки.Локализовать("DOCREF;NAME;DETAILNUM",МассивИз(КодДокумента,Имя,Детализация),0) тогда
      ВозбудитьОшибку("Запись у документа "+ ФорматироватьКлассификатор(КодДокумента,"99.99")+" с именем '"+Имя+"' и номером детализации " +Детализация + " уже существует");
      
      БлокировкиИзСетки.Вставить;
      БлокировкиИзСетки.ПолеПоИмени("DocRef").КакСтрока          := КодДокумента;
      БлокировкиИзСетки.ПолеПоИмени("Name").КакСтрока            := Имя;
      БлокировкиИзСетки.ПолеПоИмени("DetailNum").КакСтрока       := Детализация;
      БлокировкиИзСетки.ПолеПоИмени("LockMask").КакСтрока        := Запись.ПолеПоИмени("LockMask").КакСтрока;
      БлокировкиИзСетки.ПолеПоИмени("RunPos").КакСтрока          := Запись.ПолеПоИмени("RunPos").КакСтрока;
      БлокировкиИзСетки.ПолеПоИмени("LockAction").КакСтрока      := Запись.ПолеПоИмени("LockAction").КакСтрока;
      БлокировкиИзСетки.ПолеПоИмени("ForDelete").КакСтрока       := Запись.ПолеПоИмени("ForDelete").КакСтрока;
      БлокировкиИзСетки.ПолеПоИмени("ForInsert").КакСтрока       := Запись.ПолеПоИмени("ForInsert").КакСтрока;
      БлокировкиИзСетки.ПолеПоИмени("UseRights").КакСтрока       := Запись.ПолеПоИмени("UseRights").КакСтрока;
      БлокировкиИзСетки.ПолеПоИмени("Note").КакСтрока            := Запись.ПолеПоИмени("Note").КакСтрока;
      // обрабатываем список полей
      СписокНовыхПолей := ПолучитьПоля(Запись.ПолеПоИмени("FieldRefs").КакСтрока,'',КодДокумента,НенайденныеПоля);
      попытка
        Если НенайденныеПоля.Количество &lt;&gt; 0 тогда
          ВозбудитьОшибку("В конечном документе не найдены следующие поля: " + НенайденныеПоля.РазделенноеЗначение(","));
        От сч := 0 до СписокНовыхПолей.Количество - 1 делать
        начало
          СписокПолей.Добавить(СписокНовыхПолей.ИмяПараметра(сч));
          СписокНазваний.Добавить(СписокНовыхПолей.ЗначениеПараметра(СписокНовыхПолей.ИмяПараметра(сч)));
        конец;
      обязательно
        УдалитьОбъект(СписокНовыхПолей);
      конец;
      БлокировкиИзСетки.ПолеПоИмени("FieldRefs").КакСтрока       := СписокПолей.РазделенноеЗначение;
      БлокировкиИзСетки.ПолеПоИмени("FieldNames").КакСтрока      := СписокНазваний.РазделенноеЗначение;

      Если БлокировкиИзСетки.НайтиПоле("ValidateMessage") &lt;&gt; nil тогда
        БлокировкиИзСетки.ПолеПоИмени("ValidateMessage").КакСтрока := Запись.ПолеПоИмени("ValidateMessage").КакСтрока;
      Если БлокировкиИзСетки.НайтиПоле("ValidateLevel") &lt;&gt; nil тогда
        БлокировкиИзСетки.ПолеПоИмени("ValidateLevel").КакСтрока := Запись.ПолеПоИмени("ValidateLevel").КакСтрока;

      // обрабатываем формулу
      если БлокировкиИзСетки.НайтиПоле("Formula")&lt;&gt;nil тогда
      начало 
        ОчиститьСписок(СписокПолей);
        ПоляФормулы := ВыбратьПоляИзСтроки(Запись.ПолеПоИмени("Formula").КакСтрока).РазделенноеЗначение;
        СписокНовыхПолей := ПолучитьПоля(ПоляФормулы,'',КодДокумента,НенайденныеПоля);
        попытка
          Если НенайденныеПоля.Количество &lt;&gt; 0 тогда
            ВозбудитьОшибку("В конечном документе не найдены следующие поля: " + НенайденныеПоля.РазделенноеЗначение(","));
          От сч := 0 до СписокНовыхПолей.Количество - 1 делать
            СписокПолей.Добавить(СписокНовыхПолей.ИмяПараметра(сч));
        обязательно
          УдалитьОбъект(СписокНовыхПолей);
        конец;
        БлокировкиИзСетки.ПолеПоИмени("Formula").КакСтрока      := ЗаменитьПоляВФормуле(Запись.ПолеПоИмени("Formula").КакСтрока,СписокПолей);
      конец;
      // обрабатываем фильтр
      Если БлокировкиИзСетки.НайтиПоле("ValidateFilter") &lt;&gt; nil тогда
      начало
        ОчиститьСписок(СписокПолей);
        ПоляФормулы := ВыбратьПоляИзСтроки(Запись.ПолеПоИмени("ValidateFilter").КакСтрока).РазделенноеЗначение;
        СписокНовыхПолей := ПолучитьПоля(ПоляФормулы,КодСтарогоДокумента,КодДокумента,НенайденныеПоля);
        попытка
          Если НенайденныеПоля.Количество &lt;&gt; 0 тогда
            ВозбудитьОшибку("В конечном документе не найдены следующие поля: " + НенайденныеПоля.РазделенноеЗначение(","));
          От сч := 0 до СписокНовыхПолей.Количество - 1 делать
            СписокПолей.Добавить(СписокНовыхПолей.ИмяПараметра(сч));
        обязательно
          УдалитьОбъект(СписокНовыхПолей);
        конец;
        БлокировкиИзСетки.ПолеПоИмени("ValidateFilter").КакСтрока  := ЗаменитьПоляВФормуле(Запись.ПолеПоИмени("ValidateFilter").КакСтрока,СписокПолей);
      конец;
      БлокировкиИзСетки.Сохранить;
  обязательно
    УдалитьОбъект(СписокНазваний,СписокПолей,НенайденныеПоля,Блокировки,Запись);
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="version">36.042.16</param>
    <param value="Код программы" type="3" name="crc32">$FF226BB6</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{E38DAF93-F62F-4BCB-98D4-760D5E29DD09}\Действия\СохранитьПоля">
    <value type="7" name="Код программы">включить 'Project';
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\ABLTools.lib";
включить "\библиотеки\MSXML.lib";
включить '\Библиотеки\Reports.lib';
включить "Бюджет\Ресурсы\Библиотеки\Documents.lib";

константы
  CLASS_DomDocument = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';

переменные
  Форма : ФормаВвода;
  Сетка : СеткаДанных;
  Блокировки, ПоляБлокировок : СтатическиеДанные;
  doc : IXMLDomDocument;
  el,FirstEl : IXMLDomElement;
  bm,ИмяФайла : Строка;
  Прогресс : IProgress;
   
  функция ПолучитьТаблицуПоЗапросу(Скрипт: строка): СтатическиеДанные;
  начало
    Результат := СоздатьСтатическиеДанные;
    попытка
      Результат.СоединитьБД;
      Результат.Запрос := Скрипт;
      Результат.Открыть;
    неудача
      УдалитьОбъект(Результат);
      Результат := nil;
      Ошибка;
    конец;  
  конец; 

начало
  ИмяФайла := FileDialog('Выберите файл для экспорта', 'DocLockExport.xml', 'Файлы XML(*.xml)|*.xml|Все файлы|*.*', 0);
  Если (УбратьПробелы(ИмяФайла) = '') тогда Выход;
  Если ExtractFileExt(ИмяФайла)= '' тогда 
    ИмяФайла := ИмяФайла + '.xml';
  Если ФайлСуществует(ИмяФайла) тогда 
    Если  Сообщение('Файл уже существует. Перезаписать?', Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) = результат_Нет тогда
      Выход;
  
  Форма := ПолучитьФормуВвода();      
  Сетка := Форма.Заголовки.Сетка;                                    
  если Сетка.ЕстьВыделенныеСтроки тогда 
    Блокировки := Сетка.ПолучитьВыделенныеСтроки
  иначе
    Если Сообщение("Нет выделенных записей. Экспортировать все видимые записи?", Сообщение_Вопрос,Кнопка_Да + Кнопка_нет) = результат_да тогда 
      Блокировки :=  Форма.Заголовки.Таблица
    иначе Выход;         
  Прогресс := Progress;
  Прогресс.BeginProgress;
  Прогресс.SetMessage('Экспорт блокировок');
  попытка
    doc := CreateComObject(CLASS_DomDocument);
    //doc.appendChild(doc.createProcessingInstruction('xml','version="1.0" encoding="windows-1251"'));
    Firstel := doc.createElement('Import');
    doc.appendChild(Firstel);
 
    el :=  doc.createElement('DocLockTable');
    Блокировки.SaveToXMLDOMElement(el,0);
    Firstel.appendChild(el);
    Прогресс.SetProgress(50);
    ПоляБлокировок := ПолучитьТаблицуПоЗапросу('[PumpData]{Select ID,DOCLOCKREF,FIELDREF from DocLockFields}');
    попытка
      ПоляБлокировок.ВНачало;
      bm := Блокировки.Bookmark;
      Блокировки.ЗапретитьПрорисовку;
      попытка
        Пока не ПоляБлокировок.ВКонце делать
          Если не Блокировки.Locate('ID',ПоляБлокировок.ПолеПоИмени('DocLockRef').КакЦелое,0) тогда
            ПоляБлокировок.Delete
          иначе ПоляБлокировок.Следующая;
      обязательно
        Блокировки.Bookmark := bm;
        Блокировки.РазрешитьПрорисовку;
      конец;   
      Если ПоляБлокировок.ЧислоЗаписей &gt; 0 тогда
      начало   
        el := doc.createElement('DocLockFieldsTable');
        ПоляБлокировок.SaveToXMLDOMElement(el,0);
        FirstEl.appendChild(el);
      конец;
    обязательно
      УдалитьОбъект(ПоляБлокировок);
    конец;  
    doc.Save(ИмяФайла);
    Прогресс.SetProgress(100);
    Сообщение('Экспорт успешно завершен', Сообщение_Информация, Кнопка_ОК);
  обязательно
    Прогресс.EndProgress;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="version">36.042.16</param>
    <param value="Код программы" type="3" name="crc32">$6D3DDFC8</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E38DAF93-F62F-4BCB-98D4-760D5E29DD09}\Панели\ИмпортЭкспорт\ЗагрузитьПоля">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">ЗагрузитьПоля</value>
    <value type="3" name="Картинка">ИмпортИзФайла</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Импорт</value>
    <param value="Видимость" type="3" name="version">36.042.16</param>
    <param value="Действие" type="3" name="version">36.042.16</param>
    <param value="Действие" type="3" name="crc32">$58FF007A</param>
    <param value="Картинка" type="3" name="version">36.042.16</param>
    <param value="Картинка" type="3" name="crc32">$592FD2B1</param>
    <param value="Стиль" type="3" name="version">36.042.16</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.042.16</param>
    <param value="Хинт" type="3" name="crc32">$7AF0684E</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{E38DAF93-F62F-4BCB-98D4-760D5E29DD09}\Панели\ИмпортЭкспорт\СкопироватьБлокировку">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СкопироватьБлокировку</value>
    <value type="3" name="Картинка">ПеренестиНастройки</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Скопировать блокировку</value>
    <param value="Видимость" type="3" name="version">36.042.16</param>
    <param value="Действие" type="3" name="version">36.042.16</param>
    <param value="Действие" type="3" name="crc32">$4DF986CF</param>
    <param value="Картинка" type="3" name="version">36.042.16</param>
    <param value="Картинка" type="3" name="crc32">$C047CE10</param>
    <param value="Стиль" type="3" name="version">36.042.16</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.042.16</param>
    <param value="Хинт" type="3" name="crc32">$6869DD3E</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\{E38DAF93-F62F-4BCB-98D4-760D5E29DD09}\Панели\ИмпортЭкспорт\СохранитьПоля">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">СохранитьПоля</value>
    <value type="3" name="Картинка">Экспорт</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Экспорт</value>
    <param value="Видимость" type="3" name="version">36.042.16</param>
    <param value="Действие" type="3" name="version">36.042.16</param>
    <param value="Действие" type="3" name="crc32">$E7E2C697</param>
    <param value="Картинка" type="3" name="version">36.042.16</param>
    <param value="Картинка" type="3" name="crc32">$62F0FDC5</param>
    <param value="Стиль" type="3" name="version">36.042.16</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.042.16</param>
    <param value="Хинт" type="3" name="crc32">$62F0FDC5</param>
  </node>
  <version_info>
    <file>Генераторы.xml</file>
    <version>36.001.00</version>
    <info>&lt;p&gt;Стандартный набор АБЛ макросов для интерфейса Генераторы&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:59</buildtime>
  </version_info>
  <description>АБЛ-макросы для генераторов</description>
  <node path="Бюджет\Объекты\Интерфейсы\{0B492258-4755-48B9-96EA-50607C1D55DE}">
    <value type="3" name="Название">Генераторы</value>
    <param value="Название" type="3" name="version">36.001.00</param>
    <param value="Название" type="3" name="crc32">$26E2FF6F</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{0B492258-4755-48B9-96EA-50607C1D55DE}\Действия\ИмпортГенераторов">
    <value type="7" name="Код программы">включить 'Project';
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\библиотеки\MSXML.lib";
включить '\Библиотеки\Reports.lib';
включить "Бюджет\Ресурсы\Библиотеки\Documents.lib";

константы
  CLASS_DomDocument = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';

переменные    
  Форма : ФормаВвода;
  Сетка : СеткаДанных;
  Генераторы,ДанныеЗаголовок,ДанныеДетализации,ЗаголовкиИзБазы, ДетализацииИзБазы: СтатическиеДанные;
  doc : IXMLDomDocument;
  list : IXMLDOMNodeList;
  ИмяФайла,запрос : строка;
  ЭкспортированоЗаголовков,ЭкспортированоДеталей,ЧислоПрогресс,успешно : целое;
  Прогресс : IProgress;
  
начало
  ИмяФайла := FileDialog('Выберите файл для импорта', '', 'Файлы XML(*.xml)|*.xml|Все файлы|*.*', 0);
  Если УбратьПробелы(ИмяФайла) = '' тогда Выход;
  Форма := ПолучитьФормуВвода();
  Сетка := Форма.Заголовки.Сетка;
  Генераторы:= СоздатьСтатическиеДанные;
  Прогресс := Progress;
  Прогресс.BeginProgress;
  Прогресс.SetMessage('Импорт генераторов');                                            
  попытка
  ДанныеЗаголовок:=СоздатьСтатическиеДанные;
  ДанныеДетализации:=СоздатьСтатическиеДанные;
  doc := CreateComObject(CLASS_DomDocument);
  попытка
    doc.load(ИмяФайла);
  неудача
    ВызватьОшибку('Не удалось открыть выбранный файл')
  конец;  
  попытка
    list := doc.getElementsByTagName('GenTable');
  неудача
    ВызватьОшибку('Не удалось импортировать данные, из-за ошибки при попытке прочитать данные заголовков генераторов')
  конец;
  ДанныеЗаголовок.LoadFromXMLDOMElement(list.item(0),1);
  попытка
    list:= doc.getElementsByTagName('GenTableDetail');
  неудача
    ВызватьОшибку('Не удалось импортировать данные, из-за ошибки при попытке прочитать данные детализаций генераторов')
  конец;
  ДанныеДетализации.LoadFromXMLDOMElement(list.item(0),1);
    ЭкспортированоЗаголовков := 0;         
    ДанныеЗаголовок.ВНачало;
    Пока не ДанныеЗаголовок.ВКонце делать
    начало
      успешно := 0;
      ЧислоПрогресс := (ЭкспортированоЗаголовков * 100) цел (ДанныеЗаголовок.ЧислоЗаписей);
      Прогресс.SetProgress(ЧислоПрогресс);
      Если Форма.Заголовки.Таблица.Локализовать('Name',ДанныеЗаголовок.ПолеПоИмени("Name").КакСтрока,0) тогда
      начало
        запрос :="update UserGenerator set   GenValue = "+ДанныеЗаголовок.ПолеПоИмени("GenValue").КакСтрока+", GenValueMin = "+ДанныеЗаголовок.ПолеПоИмени("GenValueMin").КакСтрока+",  
                                             GenValueMax = "+ДанныеЗаголовок.ПолеПоИмени("GenValueMax").КакСтрока+", LockUser = '"+ДанныеЗаголовок.ПолеПоИмени("LockUser").КакСтрока+"', Note = '"+ДанныеЗаголовок.ПолеПоИмени("Note").КакСтрока+"'";

        ВыполнитьЗапрос(запрос);
        успешно := 1;
      конец иначе                             
      начало
        Форма.Заголовки.Таблица.Вставить;
        Форма.Заголовки.Таблица.ПолеПоИмени("Name").КакСтрока            :=  ДанныеЗаголовок.ПолеПоИмени("Name").КакСтрока;
        Форма.Заголовки.Таблица.ПолеПоИмени("GenValue").КакСтрока        :=  ДанныеЗаголовок.ПолеПоИмени("GenValue").КакСтрока;
        Форма.Заголовки.Таблица.ПолеПоИмени("GenValueMin").КакСтрока     :=  ДанныеЗаголовок.ПолеПоИмени("GenValueMin").КакСтрока;
        Форма.Заголовки.Таблица.ПолеПоИмени("GenValueMax").КакСтрока     :=  ДанныеЗаголовок.ПолеПоИмени("GenValueMax").КакСтрока;
        Форма.Заголовки.Таблица.ПолеПоИмени("LockId").КакСтрока          :=  ДанныеЗаголовок.ПолеПоИмени("LockId").КакСтрока;
        Форма.Заголовки.Таблица.ПолеПоИмени("LockUser").КакСтрока        :=  ДанныеЗаголовок.ПолеПоИмени("LockUser").КакСтрока;
        Форма.Заголовки.Таблица.ПолеПоИмени("Note").КакСтрока            :=  ДанныеЗаголовок.ПолеПоИмени("Note").КакСтрока;
        Форма.Заголовки.Таблица.Сохранить;
      конец;
      ДанныеЗаголовок.Следующая;
      ЭкспортированоЗаголовков:=ЭкспортированоЗаголовков+успешно
    конец;  
    Форма.СохранитьИзменения;
    ЗаголовкиИзБазы:=СоздатьСтатическиеДанные;
    ЗаголовкиИзБазы.СоединитьБД;
    ЗаголовкиИзБазы.Запрос:='[PumpData]{select
                                Id,
                                Name
                              from 
                                UserGenerator}';
    ЗаголовкиИзБазы.Открыть;
    ДетализацииИзБазы:=СоздатьСтатическиеДанные;
    ДетализацииИзБазы.СоединитьБД;
    ДетализацииИзБазы.Запрос:='[PumpData]
                                {select
                                  GenRef,
                                  DocRef,
                                  DetailNum,
                                  FieldName
                                from 
                                  UserGeneratorFields}';                            
    ДетализацииИзБазы.Открыть;
    ДанныеЗаголовок.ВНачало;
    ЭкспортированоДеталей := 0;
    пока не ДанныеЗаголовок.ВКонце делать
    начало
      ЧислоПрогресс := (ЭкспортированоДеталей * 100) цел (ДанныеЗаголовок.ЧислоЗаписей);
      Прогресс.SetProgress(ЧислоПрогресс);
      ДанныеДетализации.Фильтр:='GenRef='+ДанныеЗаголовок.ПолеПоИмени('ID').КакСтрока;
      ЗаголовкиИзБазы.Локализовать('Name',ДанныеЗаголовок.ПолеПоИмени("Name").КакСтрока,0); // ищем в сохраненных заголовках заголовок из импорта
      ДетализацииИзБазы.Фильтр:='GenRef='+ЗаголовкиИзБазы.ПолеПоИмени('ID').КакСтрока;
      если не ДанныеДетализации.ЧислоЗаписей=0 тогда
        начало
          ДанныеДетализации.ВНачало; // сохраняем все детализации для данного заголовка
          пока не ДанныеДетализации.ВКонце делать
          начало
            если не ДетализацииИзБазы.Локализовать('FieldName;DocRef;DetailNum',МассивИз(ДанныеДетализации.ПолеПоИмени("FieldName").КакСтрока,
            ДанныеДетализации.ПолеПоИмени('DocRef').КакСтрока,ДанныеДетализации.ПолеПоИмени('DetailNum').КакСтрока),0) тогда
            начало
              запрос :="insert into UserGeneratorFields
                        (GenRef, DocRef, DetailNum, FieldName, Format, RejectExp, SetOf, Step, GenPosition)
                        values
                        ("+ЗаголовкиИзБазы.ПолеПоИмени('ID').КакСтрока+","+ДанныеДетализации.ПолеПоИмени('DocRef').КакСтрока+","+
                          ДанныеДетализации.ПолеПоИмени('DetailNum').КакСтрока+",'"+ДанныеДетализации.ПолеПоИмени('FieldName').КакСтрока+"','"+
                          ДанныеДетализации.ПолеПоИмени('Format').КакСтрока+"','"+ДанныеДетализации.ПолеПоИмени('RejectExp').КакСтрока+"',"+
                          ДанныеДетализации.ПолеПоИмени('SetOf').КакСтрока+","+ДанныеДетализации.ПолеПоИмени('Step').КакСтрока+","+
                          ДанныеДетализации.ПолеПоИмени('GenPosition').КакСтрока+")";
              ВыполнитьЗапрос(запрос);
            конец;
            ДанныеДетализации.Следующая 
          конец;
        конец; 
      ЭкспортированоДеталей:=ЭкспортированоДеталей+1;
      ДанныеЗаголовок.Следующая
    конец;
  обязательно
    Прогресс.EndProgress;
    УдалитьОбЪект(ДанныеДетализации);
    УдалитьОбЪект(ДанныеЗаголовок);
    УдалитьОбъект(Генераторы);
    УдалитьОбъект(ЗаголовкиИзБазы);
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="Export">BUSHIN\bushin\05.05.2009 13:32:09</param>
    <param value="Код программы" type="3" name="version">36.001.00</param>
    <param value="Код программы" type="3" name="crc32">$CEE13315</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{0B492258-4755-48B9-96EA-50607C1D55DE}\Действия\ЭкспортГенераторов">
    <value type="7" name="Код программы">включить 'Project';
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\ABLTools.lib";
включить "\библиотеки\MSXML.lib";
включить '\Библиотеки\Reports.lib';
включить "Бюджет\Ресурсы\Библиотеки\Documents.lib";

константы
  CLASS_DomDocument = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';

переменные
  Форма : ФормаВвода;
  Сетка : СеткаДанных;
  Генераторы, ГенераторыДетализация : СтатическиеДанные;
  doc : IXMLDomDocument;
  el,el2,FirstEl : IXMLDomElement;
  ИмяФайла, фильтр : Строка;
  Прогресс : IProgress;

начало
  ИмяФайла := FileDialog('Выберите файл для экспорта', 'GenExport.xml', 'Файлы XML(*.xml)|*.xml|Все файлы|*.*', 0);
  Если (УбратьПробелы(ИмяФайла) = '') тогда Выход;
  Если ExtractFileExt(ИмяФайла)= '' тогда 
    ИмяФайла := ИмяФайла + '.xml';
  Если ФайлСуществует(ИмяФайла) тогда 
    Если  Сообщение('Файл уже существует. Перезаписать?', Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) = результат_Нет тогда
      Выход;
  
  Форма := ПолучитьФормуВвода();    
  если (Форма.АктивнаяДетализация=-1) тогда
  начало
    Сетка := Форма.Заголовки.Сетка;
    если Сетка.ЕстьВыделенныеСтроки тогда 
      Генераторы := Сетка.ПолучитьВыделенныеСтроки
    иначе
      Если Сообщение("Нет выделенных записей. Экспортировать только текущую запись?", Сообщение_Вопрос,Кнопка_Да + Кнопка_нет) = результат_да тогда 
      начало
        Генераторы := СоздатьСтатическиеДанные; 
        Генераторы.ПрисвоитьПоля(Форма.Заголовки.Таблица);
        Генераторы.Открыть;
        Генераторы.СкопироватьЗапись(1, Форма.Заголовки.Таблица);
      конец
      иначе Выход;         
  конец
  иначе // стоим в детали
    начало
      Генераторы := СоздатьСтатическиеДанные; 
      Генераторы.ПрисвоитьПоля(Форма.Заголовки.Таблица);
      Генераторы.Открыть;
      Генераторы.СкопироватьЗапись(1, Форма.Заголовки.Таблица);
      ГенераторыДетализация:=СоздатьСтатическиеДанные;                                    
      если Форма.Детализация.Сетка.ЕстьВыделенныеСтроки  тогда
        начало
          ГенераторыДетализация:=Форма.Детализация.Сетка.ПолучитьВыделенныеСтроки
        конец
        иначе 
          начало
            ГенераторыДетализация.ПрисвоитьПоля(Форма.Детализация.Таблица);
            ГенераторыДетализация.Открыть;
            ГенераторыДетализация.СкопироватьЗапись(1, Форма.Детализация.Таблица);
          конец;                                    
    конец;
  Прогресс := Progress;
  Прогресс.BeginProgress;
  Прогресс.SetMessage('Экспорт генераторов');
  попытка
    doc := CreateComObject(CLASS_DomDocument);
    doc.appendChild(doc.createProcessingInstruction('xml','version="1.0" encoding="windows-1251"'));
    Firstel := doc.createElement('Import');
    doc.appendChild(Firstel);
    el :=  doc.createElement('GenTable');    
    el2 :=  doc.createElement('GenTableDetail');
    Фильтр:='GenRef in (';
    Генераторы.ВНачало;
    пока не Генераторы.ВКонце делать
    начало
      если фильтр='GenRef in (' тогда
        Фильтр:=Фильтр+Генераторы.ПолеПоИмени("ID").КакСтрока
        иначе 
          фильтр:=Фильтр+", "+Генераторы.ПолеПоИмени("ID").КакСтрока;
      Генераторы.Следующая
    конец;                                  
    если ГенераторыДетализация=nil тогда
      начало
        ГенераторыДетализация:=СоздатьСтатическиеДанные;                                    
        ГенераторыДетализация.СоединитьБД;
        ГенераторыДетализация.Запрос:="[PumpData]{select
                                          Id,
                                          GenRef,
                                          DocRef,
                                          DetailNum,
                                          FieldName,
                                          Format,
                                          RejectExp,
                                          SetOf,
                                          Step,
                                          GenPosition
                                        from 
                                          UserGeneratorFields
                                        where
                                          "+фильтр+")  }";
        ГенераторыДетализация.Открыть;
      конец;      
    Генераторы.SaveToXMLDOMElement(el,0);
    FirstEl.appendChild(el);
    ГенераторыДетализация.SaveToXMLDOMElement(el2,0);
    FirstEl.appendChild(el2);
    doc.Save(ИмяФайла);
    Прогресс.SetProgress(100);
  обязательно
    Прогресс.EndProgress;
  конец;
конец.
</value>
    <param value="Код программы" type="3" name="version">36.001.00</param>
    <param value="Код программы" type="3" name="crc32">$D56CF23E</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{0B492258-4755-48B9-96EA-50607C1D55DE}\Панели\Панель экспорта/импорта\Импорт">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">ИмпортГенераторов</value>
    <value type="3" name="Картинка">ИмпортИзФайла</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Импорт</value>
    <param value="Видимость" type="3" name="version">36.001.00</param>
    <param value="Действие" type="3" name="version">36.001.00</param>
    <param value="Действие" type="3" name="crc32">$49F2C3D9</param>
    <param value="Картинка" type="3" name="version">36.001.00</param>
    <param value="Картинка" type="3" name="crc32">$592FD2B1</param>
    <param value="Стиль" type="3" name="version">36.001.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.001.00</param>
    <param value="Хинт" type="3" name="crc32">$7AF0684E</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{0B492258-4755-48B9-96EA-50607C1D55DE}\Панели\Панель экспорта/импорта\Экспорт">
    <value type="4" name="Видимость">1</value>
    <value type="3" name="Действие">ЭкспортГенераторов</value>
    <value type="3" name="Картинка">Дискета</value>
    <value type="3" name="Стиль">Кнопка</value>
    <value type="3" name="Хинт">Экспорт</value>
    <param value="Видимость" type="3" name="version">36.001.00</param>
    <param value="Действие" type="3" name="version">36.001.00</param>
    <param value="Действие" type="3" name="crc32">$95EE1831</param>
    <param value="Картинка" type="3" name="version">36.001.00</param>
    <param value="Картинка" type="3" name="crc32">$277A89CA</param>
    <param value="Стиль" type="3" name="version">36.001.00</param>
    <param value="Стиль" type="3" name="crc32">$F0B26634</param>
    <param value="Хинт" type="3" name="version">36.001.00</param>
    <param value="Хинт" type="3" name="crc32">$62F0FDC5</param>
  </node>
  <version_info>
    <file>Редактор классификаторов.xml</file>
    <version>36.000.06</version>
    <info>&lt;p&gt;ABL-макросы для редактора классификаторов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:52:59</buildtime>
  </version_info>
  <description>АБЛ-макросы для редактора классификаторов</description>
  <node path="%root%\Объекты\Интерфейсы\{88FA05A2-02A0-11D2-B26C-008048E689F8}\84\События">
    <value type="3" name="До_СохраненияИзменений(0)">ПроверитьНаправлениеОперации</value>
    <param value="До_СохраненияИзменений(0)" type="3" name="version">36.000.06</param>
    <param value="До_СохраненияИзменений(0)" type="3" name="crc32">$45357959</param>
  </node>
  <node path="%root%\Объекты\Интерфейсы\{88FA05A2-02A0-11D2-B26C-008048E689F8}\84\Действия\ПроверитьНаправлениеОперации">
    <value type="7" name="Код программы">включить "Project";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib"; 

ПроверитьНаправлениеОперации;

константы
  вид_Передача = 2;
  Фильтр = "(TargetMeansSign = 0) 
            and not((ReceiveKD_FullId like ('___218______________')) 
                 or (ReceiveKD_FullId like ('___219______________')) 
                 or (ReceiveKD_FullId like ('___11302____________'))) 
            and (DeleteDate is null)";
            
переменные
  Форма: ФормаВвода;
  Деталь, Заголовок: СтатическиеДанные;
  СтарыйФильтр: строка;
  SaveUpdateRecordTypes: целое;
начало
  Форма := ПолучитьФормуВвода;
  // если находимся в заголовке, то проверка не должна отрабатывать
  если Форма.АктивнаяДетализация &gt; -1 тогда 
  начало
    Заголовок := Форма.Заголовки.Таблица;
    Деталь := Форма.Детализация(0).Таблица;
    Деталь.BeginUpdate;
    СтарыйФильтр := Деталь.Фильтр;
    SaveUpdateRecordTypes := Деталь.UpdateRecordTypes;
    попытка
      // оставляем все незакрытые записи кроме удаляемых с признком "Получение"
      Деталь.UpdateRecordTypes := 'rtUnmodified,rtModified,rtInserted';    
      Деталь.Фильтр := Фильтр; 
      Деталь.Filtered := да;
      если (Заголовок.ПолеПоИмени('GrantKind').КакЦелое = вид_Передача) и (Деталь.ЧислоЗаписей &gt; 0) тогда
        Ошибка('При передаче целевых средств другому бюджету (вид предоставления "Передача другим бюджетам") ' +
              'поступление средств в собственный бюджет может происходить только в виде возврата остатков. При этом ' +
              'у таких строк детализации должен быть указан соответствующий вид дохода(2.18, 2.19, либо 1.13.02). ' +
              'Закройте, удалите, либо откорректируйте несоответствующие записи в детализации с признаком "Поступление" ' +
              'и попробуйте снова.')
      иначе
        если (Заголовок.ПолеПоИмени('GrantKind').КакЦелое &lt;&gt; вид_Передача) и (Деталь.ЧислоЗаписей &gt; 1) тогда
          Ошибка('Данный код целевых средств должен содержать только одну запись с признаком "Поступление". ' +
                 'Закройте либо удалите лишние записи.');
    обязательно
      Деталь.UpdateRecordTypes := SaveUpdateRecordTypes;
      Деталь.Фильтр := СтарыйФильтр;
      Деталь.EndUpdate;
    конец;
  конец;  
конец;
</value>
    <param value="Код программы" type="3" name="version">36.000.06</param>
    <param value="Код программы" type="3" name="crc32">$75C5A555</param>
  </node>
  <version_info>
    <file>СборкаОбщиеМакросыИнтерфейсов.xml</file>
    <version>36.042.21</version>
    <info>&lt;p&gt;Общие макросы, используемые в интерфейсах.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:01</buildtime>
  </version_info>
  <description>Общие АБЛ-макросы для интерфейсов ввода</description>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляГарантий.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
//включить "Project";
включить "Бюджет\Ресурсы\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\Макросы\ПараметрыИзБД.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";

константы
  УзелСмещений = "Бюджет\Объекты\Настройки\Гарантии\Смещения";
  УзелПараметров = "Бюджет\Объекты\Настройки\Гарантии\Параметры";
  
// Функции для получения прогиндексов
функция ПрогИндексПроценты: целое;
начало
  Результат := 394;
конец;

функция ПрогИндексПениОсн: целое;
начало
  Результат := 395;
конец;

функция ПрогИндексПениПроц: целое;
начало
  Результат := 396;
конец;

функция ДобавитьПоляВПериоды(Периоды: СтатическиеДанные);
начало
  Периоды.ДобавитьЦелоеПоле("PeriodStart");
  Периоды.ДобавитьЦелоеПоле("PeriodEnd");
  Периоды.ДобавитьЦелоеПоле("BuhPaymentCLS");
  Периоды.ДобавитьСтроковоеПоле("Note", 255).Размер := 255;
  Периоды.ДобавитьЦелоеПоле("ProgIndex");
  Периоды.ДобавитьЦелоеПоле("CurrencyCLS");
конец;

функция ЗапросДляПериодов: строка;
начало
  Результат := "[PumpData]{"
                + " select"
                + " id,"
                + " PeriodStart,"
                + " PeriodEnd,"
                + " Credit,"
                + " BuhPaymentCls,"
                + " Note,"
                + " ProgIndex,"
                + " RecordIndex,"
                + " PlanDate,"
                + " BudgetRef,"
                + " CurrencyCLS,"
                + " CurrencySumma,"
                + " RecordDate"
                + " from Guarantee"
                + " where (ProgIndex in (394,395,396)) and (AcceptDate is null) and @MasterIDRange @ProgIndexRange"
                + "}"
                + "[InsertData]{"
                + " insert into Guarantee(PeriodStart,PeriodEnd,BuhPaymentCLS,Note,ProgIndex,PlanDate,CurrencyCLS,BudgetRef,RecordIndex)" 
                + " values (@PeriodStart,@PeriodEnd,@BuhPaymentCLS,@Note,@ProgIndex,@PlanDate,@CurrencyCLS,@BudgetRef,@RecordIndex)"
                + "}"
                + "[ModifyData]{"
                + " update Guarantee set "
                + " CurrencySumma = @CurrencySumma,"
                + " Credit = @Credit,"
                + " RecordDate = @RecordDate"
                + " where id=@ID"
                + "}";
конец;

функция ДобавитьПоляВСубПериоды(СубПериоды: СтатическиеДанные);
начало
  СубПериоды.ДобавитьЦелоеПоле("ADate");
  СубПериоды.ДобавитьДробноеПоле("Credit");
  СубПериоды.ДобавитьДробноеПоле("Debit");
  СубПериоды.ДобавитьДробноеПоле("CurrencyCredit");
  СубПериоды.ДобавитьДробноеПоле("CurrencyDebit");
  СубПериоды.ДобавитьСтроковоеПоле("Note", 255).Размер := 255;
  СубПериоды.ДобавитьЦелоеПоле("CurrencyCLS");
  СубПериоды.ДобавитьДробноеПоле("Percent");
конец;

функция ПолучитьСмещениеПоИмени(Имя: строка): целое;
начало
  Результат := Реестр.Узел(УзелСмещений).Значение(Имя).КакЦелое;
конец;

функция ПроводкаПоПрогИндексу(ПрогИндекс: целое): целое;
переменные
  В: Выборка;
начало
  выбрать ПрогИндекс из
    ПрогИндексПроценты: Результат := Реестр.Узел(УзелПараметров).Значение("Бух. проводки начисления процентов").КакЦелое;
    ПрогИндексПениОсн:  Результат := Реестр.Узел(УзелПараметров).Значение("Бух. проводки начисления пени по осн. долгу").КакЦелое;
    ПрогИндексПениПроц: Результат := Реестр.Узел(УзелПараметров).Значение("Бух. проводки начисления пени по процентам").КакЦелое;
  конец;
  // Проверяем проводку на наличие ее в системе
  если не ПроверитьКлассификатор(46, Результат) тогда
    ВызватьОшибку("В настройках реестра указана неверная бухпроводка.");
конец;

// добавляет в периоды код валюты
функция ДобавитьВалютуВПериоды(Периоды: СтатическиеДанные; КодВалюты: целое);
начало
  Периоды.ВНачало;
  пока не Периоды.ВКонце делать
  начало
    Периоды.Редактировать;
    Периоды.Поле("CurrencyCLS").КакЦелое := КодВалюты;
    Периоды.Сохранить;
    Периоды.Следующая;
  конец;
конец;

// Выдает плановую дату уплаты процентов
функция ПолучитьПлановуюДатуУплаты(КонецПериода, ДатаНачалаУплаты: целое): целое;
переменные
  Год, Месяц: целое;
начало
  Год := КонецПериода цел 10000;
  Месяц := (КонецПериода ост 10000) цел 100;
  если Месяц = 12 тогда
  начало
    Месяц := 1;
    Год := Год + 1;
  конец
  иначе 
    Месяц := Месяц + 1;
  Результат := Год * 10000 + Месяц * 100 + (ДатаНачалаУплаты ост 100);  
  // Если в заголовке даты нет, тогда будет 15-е число
  если Результат ост 100 = 0 тогда
    Результат := Результат + 15;
конец;

// Возвращает даты начала для всех видов субпериодов
функция ПолучитьДатуНачала(ИДЗаголовка, ДатаКонца, Тип: целое): целое;
переменные
  В: Выборка;
  ИмяСмещения: строка;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    // Сначала проверяем, не было ли ранее периодов
    В.Запрос := "select max(PeriodEnd) ADate from Guarantee"
                + " where ProgIndex = " + ЦелоеВСтроку(Тип) + " and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка);
    В.Открыть;
    если В.Поле("ADate").КакЦелое &gt; 0 тогда
      Результат := СледующееЧисло(В.Поле("ADate").КакЦелое, 1);
    В.Закрыть;
    // Теперь смотрим, когда же должны начаться периоды по получениям/погашениям
    если Результат &lt; 19000000 тогда
    начало
      выбрать Тип из
        ПрогИндексПроценты: 
          начало
            В.Запрос := "select min(AcceptDate) ADate from Guarantee"
                        + " where ProgIndex = 381 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + " and AcceptDate &lt;= " + ЦелоеВСтроку(ДатаКонца);
            ИмяСмещения := "Получение";
          конец;
        ПрогИндексПениОсн : 
          начало
            В.Запрос := "select min(PlanDate) ADate from Guarantee"
                        + " where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + " and PlanDate &lt;= " + ЦелоеВСтроку(ДатаКонца);
            ИмяСмещения := "Плановое погашение";
          конец;
        ПрогИндексПениПроц: 
          начало
            В.Запрос := "select min(PlanDate) ADate from Guarantee"
                        + " where ProgIndex = 394 and (AcceptDate &gt; 0) and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + " and PlanDate &lt;=" + ЦелоеВСтроку(ДатаКонца);
            ИмяСмещения := "Плановая уплата %";
          конец;
      конец;               
      В.Открыть;
      если В.Поле("ADate").КакЦелое &gt; 0 тогда
        результат := СледующееЧисло(В.Поле("ADate").КакЦелое, ПолучитьСмещениеПоИмени(ИмяСмещения));
    конец;
    
    // Вытаскиваем плановое получение
    если Реестр.Узел(УзелПараметров).Значение("С планом").КакФлаг и (Тип = ПрогИндексПроценты) тогда
    начало
      В.Закрыть;
      В.Запрос := "select min(PlanDate) ADate from Guarantee"
                        + " where ProgIndex = 381 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + " and PlanDate &lt;= " + ЦелоеВСтроку(ДатаКонца);
      В.Открыть;
      если (В.Поле("ADate").КакЦелое &gt; 0) и ((Результат &gt; В.Поле("ADate").КакЦелое) или (Результат &lt; 0.5)) тогда
        результат := СледующееЧисло(В.Поле("ADate").КакЦелое, ПолучитьСмещениеПоИмени(ИмяСмещения));
    конец;
    
    В.Закрыть;
    // В случае того, что не нашлось никакой даты, 
    если Результат &lt; 19000000 тогда // Я думаю, что никто не станет формировать периоды раньше, чем
    начало                          // на 01.01.1900  :)
      В.Запрос := "select LongDate, DateInput from LoanCredit where id = " + ЦелоеВСтроку(ИДЗаголовка);
      В.Открыть;
      результат := В.Поле("LongDate").КакЦелое;
      если Результат = 0 тогда
        Результат := В.Поле("DateInput").КакЦелое;
    конец;
  
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

функция СформироватьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; ПрогИндекс: целое);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
  ТипГода: целое;
  Дата: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = 380 and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.Открыть;
  ТипГода := В.Поле("YearType").КакЦелое;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по месяцам
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      ПолучитьДату(РасширДатаВОбычную(В.Поле("periodstart").КакДробное), Г, М, Д);
      Д := ДеньДаты(В.Поле("periodstart").КакДробное);
      М := МесяцДаты(В.Поле("periodstart").КакДробное);
      Г := ГодДаты(В.Поле("periodstart").КакДробное);
      пока ((Г * 10000 + М * 100 + Д) &lt; КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("Adate").КакДробное := ИсправитьРасширДату(БольшаяДата(Г, М, Д));
          Субпериоды.ПолеПоИмени("note").КакСтрока := "плановое начисление";
          //СубПериоды.Поле("ProgIndex").КакСтрока := ПрогИндекс;
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          М := М ост 12;
          Г := Г + 1;
        конец;   
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("periodstart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("ADate").КакДробное := ДатаКонцаПодпериода;
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          //СубПериоды.Поле("ProgIndex").КакСтрока := ПрогИндекс;
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, 0);
      конец;
    конец;

  обязательно
    УдалитьОбъект(В);
  конец; 
конец;

// Исправляем даты после прибавления смещения
функция ПоправитьДату(Дата: целое): целое;
переменные
  Год, Месяц: целое;
начало
  Результат := Дата;
  если МесяцДаты(Результат) = 0 тогда
    // Для остатков на нач. года пишем число 01.01
    Результат := ГодДаты(Результат) * 10000 + 0101;
  если ДеньДаты(Результат) &gt; ЧислоДнейВМесяце(ГодДаты(Результат), МесяцДаты(Результат)) тогда
  начало
    Год := ГодДаты(Результат);
    Месяц := МесяцДаты(Результат);
    Месяц := Месяц + 1;
    если Месяц &gt; 12 тогда
    начало
      Месяц := 1;
      Год := Год + 1;
    конец; 
    Результат := Год * 10000 + Месяц * 100 + 1;
  конец;  
конец; 



// Формирует все виды субпериодов
функция СформироватьСубПериоды(ИДЗаголовка: целое; СубПериоды: СтатическиеДанные; ДатаНачала, ДатаКонца, Тип: целое);
переменные
  В: Выборка;
  ИмяСмещенияСтавки: строка;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // СубПериоды для процентов
    если Тип = ПрогИндексПроценты тогда
    начало
      В.Закрыть;
      В.Запрос := "select Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Получение")) +  ") ADate, 'Получение гарантии' Note"
                 + " from Guarantee where ProgIndex = 381 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Получение")))
                 + " and AcceptDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Получение")));
      В.Открыть;
      СубПериоды.Закачать(В);
      
      В.Закрыть;
      В.Запрос :="select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Погашение")) +  ") ADate, 'Погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Погашение")))
                 + " and AcceptDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Погашение"))); 
      В.Открыть;
      СубПериоды.Закачать(В);

      если Реестр.Узел(УзелПараметров).Значение("С планом").КакФлаг тогда
      начало
        В.Закрыть;
        В.Запрос := "select Debit, Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Плановое погашение")) +  ") ADate, 'Плановое погашение гарантии' Note"
                   + " from Guarantee where ProgIndex in (381,382) and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                   + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Плановое погашение")))
                   + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Плановое погашение")));
        В.Открыть;
        СубПериоды.Закачать(В);

        В.Закрыть;
        В.Запрос := "select Debit, Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Плановое получение")) +  ") ADate, 'Плановое получение гарантии' Note"
                   + " from Guarantee where ProgIndex in (381) and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                   + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Плановое получение")))
                   + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Плановое получение")));
        В.Открыть;
        СубПериоды.Закачать(В);
      конец;
    конец;
    
    если Тип = ПрогИндексПениОсн тогда
    начало
      В.Закрыть;
      В.Запрос := "select Debit Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Плановое погашение")) +  ") ADate, 'Плановое погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Плановое погашение")))
                 + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Плановое погашение")));
      В.Открыть;
      СубПериоды.Закачать(В);
      
      В.Закрыть;
      В.Запрос :="select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Погашение")) +  ") ADate, 'Погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Погашение")))
                 + " and AcceptDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Погашение"))); 
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;

    если Тип = ПрогИндексПениПроц тогда
    начало
      В.Закрыть;
      В.Запрос := "select Debit Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Плановая уплата %")) +  ") ADate, 'Плановая уплата процентов' Note"
                 + " from Guarantee where ProgIndex = 394 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and (AcceptDate is not null)"
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Плановая уплата %")))
                 + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Плановая уплата %")));
      В.Открыть;
      СубПериоды.Закачать(В);
      
      В.Закрыть;
      В.Запрос :="select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени("Уплата %")) +  ") ADate, 'Уплата процентов' Note"
                 + " from Guarantee where ProgIndex = 397 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени("Уплата %")))
                 + " and AcceptDate &gt;=" + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени("Уплата %"))); 
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;

    // получаем необходимые ставки
    выбрать Тип из
      ПрогИндексПроценты: ИмяСмещенияСтавки := "Изменение ставки процентов";
      ПрогИндексПениОсн : ИмяСмещенияСтавки := "Изменение ставки пени по осн. долгу";
      ПрогИндексПениПроц: ИмяСмещенияСтавки := "Изменение ставки пени по процентам";
    конец;
    В.Закрыть;
    В.Запрос := "select (AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеПоИмени(ИмяСмещенияСтавки)) +  ") ADate, Percent, Note from PercentJournal"
                + " where ProgIndex = " + ЦелоеВСтроку(Тип - 7)
                + " and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                + " and AcceptDate &lt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаКонца, ПолучитьСмещениеПоИмени(ИмяСмещенияСтавки)))
                + " and AcceptDate &gt;= " + ЦелоеВСтроку(СледующееЧисло(ДатаНачала, ПолучитьСмещениеПоИмени(ИмяСмещенияСтавки))); 
    В.Открыть;
    СубПериоды.Закачать(В);

    СубПериоды.ВНачало;
    пока не субПериоды.ВКонце делать
    начало
      СубПериоды.Редактировать;
      СубПериоды.Поле("ADate").КакЦелое := ПоправитьДату(СубПериоды.Поле("ADate").КакЦелое);
      СубПериоды.Сохранить;
      СУбПериоды.Следующая;
    конец; 

  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Формирует периоды по процентам и пеням
функция СформироватьПериоды(ИДЗаголовка: целое; Периоды, СубПериоды: СтатическиеДанные; ДатаКонца, Тип: целое);
переменные
  ДатаНачала: целое;
  ФлагСубПериодов: целое;
  ВспомСД: СтатическиеДанные;
начало
  // Получаем дату начала формирования периодов
  ДатаНачала := ПолучитьДатуНачала(ИДЗаголовка, ДатаКонца, Тип);
  ФлагСубПериодов := Ложь;
  выбрать Тип из
    ПрогИндексПроценты: ФлагСубПериодов := Реестр.Узел(УзелПараметров).Значение("Периоды процентов подробно").КакФлаг;
    ПрогИндексПениОсн : ФлагСубПериодов := Реестр.Узел(УзелПараметров).Значение("Периоды пени по осн. долгу подробно").КакФлаг;
    ПрогИндексПениПроц: ФлагСубПериодов := Реестр.Узел(УзелПараметров).Значение("Периоды пени по процентам подробно").КакФлаг;
  конец;
  попытка
    ВспомСД := СоздатьСтатическиеДанные;
    ВспомСД.ПрисвоитьПоля(СубПериоды);
    ВспомСД.Открыть;
    СубПериоды.Clear;
    СубПериоды.Фильтр := "";
    если ФлагСубПериодов тогда
      СформироватьСубПериоды(ИДЗаголовка, ВспомСД, ДатаНачала, ДатаКонца, Тип);
    СформироватьПериодыПоДлине(ИДЗаголовка, СубПериоды, ДатаНачала, ДатаКонца, Тип);
    // Для удобства вставляем дату начала субпериодов
    ВспомСД.Вставить;
    ВспомСД.Поле("ADate").КакЦелое := ДатаНачала;
    ВспомСД.Сохранить;
    ВспомСД.Фильтр := "(ADate&lt;=" + ЦелоеВСтроку(ДатаКонца) + ")and(ADate&gt;=" + ЦелоеВСтроку(ДатаНачала) + ")";
    СубПериоды.Группировать(ВспомСД, "keys=ADate");
    СубПериоды.Индекс := "ADate";
    СубПериоды.ВНачало;
    
    // Формируем периоды
    СубПериоды.Следующая;
    пока (не СубПериоды.ВКонце) делать
    начало
      Периоды.Вставить;
      Периоды.Поле("PeriodStart").КакЦелое := ДатаНачала;
      Периоды.Поле("PeriodEnd").КакЦелое := ПредыдущееЧисло(СубПериоды.Поле("ADate").КакЦелое, 1);
      Периоды.Поле("ProgIndex").КакЦелое := Тип;
      Периоды.Поле("BuhPaymentCLS").КакЦелое := ПроводкаПоПрогИндексу(Тип);
      Периоды.Поле("Note").КакСтрока := СубПериоды.Поле("note").КакСтрока;
      Периоды.Поле("BudgetRef").КакЦелое := ЦелаяКонстанта(-1, 3);
      Периоды.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      Периоды.Сохранить;
      ДатаНачала := СубПериоды.Поле("ADate").КакЦелое;
      СубПериоды.Следующая;
    конец;
    
    // Добавляем последний период
    если ДатаНачала &lt;= ДатаКонца тогда
    начало
      Периоды.Вставить;
      Периоды.Поле("PeriodStart").КакЦелое := ДатаНачала;
      Периоды.Поле("PeriodEnd").КакЦелое := ДатаКонца;
      Периоды.Поле("ProgIndex").КакЦелое := Тип;
      Периоды.Поле("BuhPaymentCLS").КакЦелое := ПроводкаПоПрогИндексу(Тип);
      Периоды.Поле("Note").КакСтрока := "дата формирования";
      Периоды.Поле("BudgetRef").КакЦелое := ЦелаяКонстанта(-1, 3);
      Периоды.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      Периоды.Сохранить;
    конец;
  обязательно
    УдалитьОбъект(ВспомСД);
  конец;
конец;

// Рассчитывает проценты и пени
функция РасчетПроцентов(ИДДоговора: целое; СубПериоды: СтатическиеДанные; ДатаНачала, ДатаКонца, Тип, КодВалюты: целое; СуммаВВалюте: дробное): дробное;
переменные
  Остаток, ОстатокВВалюте, Ставка, НачисленоВРублях, НачисленоВВалюте: дробное;
  НачалоПериода, ДлинаПериода, Год: целое;
  ВспомСД: СтатическиеДанные;
начало
  СубПериоды.Clear;
  СубПериоды.Фильтр := "";
  СформироватьСубПериоды(ИДДоговора, СубПериоды, 19000000, ДатаКонца, Тип);
  
  // Для удобства вставляем дату начала субпериодов
  СубПериоды.Вставить;
  СубПериоды.Поле("ADate").КакЦелое := ДатаНачала;
  СубПериоды.Сохранить;
  СубПериоды.Вставить;
  СубПериоды.Поле("ADate").КакЦелое := СледующаяДата(ДатаКонца, 1, 0);
  СубПериоды.Сохранить;
  СубПериоды.Индекс := "ADate";
  СубПериоды.ВНачало;
  // Вставляем разбиение по годам
  Год := ГодДаты(ДатаНачала);
  пока Год &lt;&gt; ГодДаты(ДатаКонца) делать
  начало
    СубПериоды.Вставить;
    Год := Год + 1; 
    СубПериоды.Поле("ADate").КакЦелое := Год * 10000 + 0101;
    СубПериоды.Сохранить;
  конец;

  ВспомСД := СоздатьСтатическиеДанные;
  ВспомСД.ПрисвоитьПоля(СубПериоды);
  ВспомСД.Открыть;
  ВспомСД.Группировать(Субпериоды, "keys=ADate;Credit=sum(Credit);Debit=sum(Debit);CurrencyCredit=sum(CurrencyCredit);CurrencyDebit=sum(CurrencyDebit);Percent=max(Percent)");
  Субпериоды.Clear;
  СубПериоды.Закачать(ВспомСД);

  Остаток := 0;
  ОстатокВВалюте := 0;
  Ставка := 0;
  // Сортируем субпериоды по дате
  СубПериоды.Индекс := "ADate";
  // Ищем остаток на начало периода и процентную ставку
  пока (СубПериоды.Поле("ADate").КакЦелое &lt;= ДатаНачала) и не СубПериоды.ВКонце делать
  начало
    Остаток := Остаток + СубПериоды.Поле("Credit").КакДробное - СубПериоды.Поле("Debit").КакДробное;
    ОстатокВВалюте := ОстатокВВалюте + СубПериоды.Поле("CurrencyCredit").КакДробное - СубПериоды.Поле("CurrencyDebit").КакДробное;
   // Если остаток меньше нуля, то он будет 0
    // Иначе банку придется платить заемщику :)
    если Остаток &lt; 0 тогда
      Остаток := 0;
    если ОстатокВВалюте &lt; 0 тогда
      ОстатокВВалюте := 0;  
    если СубПериоды.Поле("Percent").КакДробное &gt; 0 тогда
      Ставка := СубПериоды.Поле("Percent").КакДробное;
    СубПериоды.Следующая;  
  конец;
  
  // Теперь рассчитываем, сколько начислено процентов/пеней за период
  НачисленоВРублях := 0;
  НачисленоВВалюте := 0;
  НачалоПериода := ДатаНачала;
  пока (не СубПериоды.ВКонце) и (СубПериоды.Поле("ADate").КакЦелое &lt;= СледующаяДата(ДатаКонца, 1, 0)) делать
  начало
    // Получаем длину расчетного периода
    ДлинаПериода := ЧислоДней(НачалоПериода, СубПериоды.Поле("ADate").КакЦелое);
    // Считаем, сколько было начислено за период в рублях и в валюте
    НачисленоВРублях := НачисленоВРублях + Остаток * ДлинаПериода * Ставка / (ЧислоДнейВГоду(НачалоПериода цел 10000) * 100); 
    НачисленоВВалюте := НачисленоВВалюте + ОстатокВВалюте * ДлинаПериода * Ставка / (ЧислоДнейВГоду(НачалоПериода цел 10000) * 100); 
    // Считаем остаток на конец периода
    Остаток := Остаток + СубПериоды.Поле("Credit").КакДробное - СубПериоды.Поле("Debit").КакДробное;
    ОстатокВВалюте := ОстатокВВалюте + СубПериоды.Поле("CurrencyCredit").КакДробное - СубПериоды.Поле("CurrencyDebit").КакДробное;
    // Получаем процентную ставку на конец периода
    если СубПериоды.Поле("Percent").КакДробное &gt; 0 тогда
      Ставка := СубПериоды.Поле("Percent").КакДробное;
    НачалоПериода := СубПериоды.Поле("ADate").КакЦелое;  
    СубПериоды.Следующая;
  конец;
  // Округляем итоговую сумму
  если КодВалюты = ЦелаяКонстанта(19, 4) тогда
  начало
    Результат := ОкруглитьДоЗнака(НачисленоВРублях, 2);
    СуммаВВалюте := 0;
  конец
  иначе
  начало
    СуммаВВалюте := ОкруглитьДоЗнака(НачисленоВВалюте, 2);
    Результат := ОкруглитьДоЗнака(НачисленоВВалюте * ПолучитьОбмКурс(КодВалюты, ДатаКонца), 2);
  конец;  
  Интерфейс(ВспомСД).Освободить;
конец;

функция ТипФинансированияПоРаспорядителю(Счет: целое): целое;
переменные
  В: Выборка;
начало
  Результат := 0;
  В := СоздатьВыборку;
  попытка
    В.БазаДанных := Бюджет;
    В.Запрос := "select FinType from Org_Accounts where id = " + ЦелоеВСтроку(Счет);
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := В.Поле("FinType").КакЦелое;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Финансирование заемщика
функция БанковскоеФинансированиеЗаемщика(Заголовок, Деталь: СтатическиеДанные; БухПроводка, НомерРаспоряжения, ТекущееРаспоряжение : Строка; СчетЗаголовка : целое);
переменные
  ссЗаголовок : СтатическиеДанные;
  ссДеталь : СтатическиеДанные;
  ИДЗаголовка, ИДДетали: целое;
начало
  // заголовок записи распоряжения на финансирование
  ссЗаголовок := СоздатьСтатическиеДанные;
  ссЗаголовок.СоединитьБД;
  ссЗаголовок.Запрос :=   
   "[PUMPDATA]{
     select id, MakeDate,UserNote,DFAccount,ProgIndex,BudgetRef,Number from 
       FinDocCaption
     where 1&lt;&gt;1
   }  
    [INSERTDATA]{
     insert into FinDocCaption
       (id, MakeDate,UserNote,DFAccount,ProgIndex,BudgetRef,Number)
     values 
       (@id, @MakeDate, ~UserNote, @DFAccount, 23, @BudgetRef, ~Number)
   }";
  // детализация распоряжения
  ссДеталь := СоздатьСтатическиеДанные;
  ссДеталь.СоединитьБД;
  ссДеталь.Запрос :=   
   "[PUMPDATA]{
     select 
       id,DocType,CurrencyCLS,DFAccount,AccountRef,BudgetRef,CurrencySumma,
       Credit,Note,ProgIndex,RecordIndex,FacialAcc_CLS,BuhPaymentCLS,AcceptorAccRef,FinType
     from
       FinDocDetail
     where 1&lt;&gt;1
   }  
    [INSERTDATA]{
     insert into FinDocDetail
       (id,DocType,CurrencyCLS,DFAccount,AccountRef,BudgetRef,CurrencySumma,
       Credit,Note,ProgIndex,RecordIndex,FacialAcc_CLS,BuhPaymentCLS,AcceptorAccRef,FinType)
     values 
       (@id,@DocType,@CurrencyCLS,@DFAccount,@AccountRef,@BudgetRef,@CurrencySumma,
       @Credit,~Note,23,@RecordIndex,@FacialAcc_CLS,@BuhPaymentCLS,@AcceptorAccRef,@FinType)
   }";
   
  ОткрытьТранзакцию;
  попытка
    если ТекущееРаспоряжение = -1 тогда // -1 ставим руками в случае не нахождения распоряжения среди текущих
    начало
      // вставка нового заголовка    
      ссЗаголовок.Открыть;
      ссЗаголовок.Вставить;   
      ИДЗаголовка := ПолучитьИД; // ИД нужно для подстановки в деталь распоряжения
      ссЗаголовок.Поле("ID").КакЦелое := ИДЗаголовка;
      ссЗаголовок.Поле("MakeDate").КакЦелое := DateToDateEX(ТекущаяДата);
      ссЗаголовок.Поле("UserNote").КакСтрока := Деталь.Поле("Note").КакСтрока;
      ссЗаголовок.Поле("DFAccount").КакСтрока := Заголовок.Поле("DFAccount").КакСтрока;
      ссЗаголовок.Поле("BudgetRef").КакЦелое := Заголовок.Поле("BudgetRef").КакЦелое;
      ссЗаголовок.Поле("Number").КакСтрока := НомерРаспоряжения;
      ссЗаголовок.Сохранить;
      ссЗаголовок.СохранитьИзменения;
    конец
    иначе
      ИДЗаголовка := ТекущееРаспоряжение;
      
    ссДеталь.Открыть;
    // Деталь - обрабатываемые данные
    Деталь.ВНачало;
    пока не Деталь.ВКонце делать
    начало
      // добавление в деталь распоряжения
      ИДДетали := ПолучитьИД;
      ссДеталь.Вставить;
      ссДеталь.Поле("ID").КакЦелое := ИДДетали;
      ссДеталь.Поле("DocType").КакСтрока := Деталь.Поле("Doctype").КакСтрока;
      ссДеталь.Поле("CurrencyCLS").КакСтрока := Деталь.Поле("CurrencyCLS").КакСтрока;
      ссДеталь.Поле("DFAccount").КакСтрока := Заголовок.Поле("DFAccount").КакСтрока;
      ссДеталь.Поле("AccountRef").КакСтрока := Заголовок.Поле("GuaranteeAccRef").КакСтрока;
      ссДеталь.Поле("BudgetRef").КакЦелое := Заголовок.Поле("BudgetRef").КакЦелое;
      ссДеталь.Поле("CurrencySumma").КакДробное := Деталь.Поле("CurrencySumma").КакДробное;
      ссДеталь.Поле("Credit").КакДробное := Деталь.Поле("Debit").КакДробное;
      ссДеталь.Поле("Note").КакСтрока := Деталь.Поле("Note").КакСтрока;
     
      ссДеталь.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      ссДеталь.Поле("FacialAcc_CLS").КакСтрока := Заголовок.Поле("FacialAcc_CLS").КакСтрока;
      ссДеталь.Поле("BuhPaymentCLS").КакСтрока := БухПроводка;
      ссДеталь.Поле("AcceptorAccRef").КакЦелое := СчетЗаголовка;
      ссДеталь.Поле("FinType").КакСтрока := ЦелоеВСтроку(ТипФинансированияПоРаспорядителю(Заголовок.Поле("GuaranteeAccRef").КакСтрока)); 
      ссДеталь.Сохранить;
      // конец - добавление в деталь распоряжения
      
      Деталь.Редактировать;
      Деталь.Поле("SubRecordIndex").КакЦелое := ИДДетали;
      Деталь.Поле("SubProgIndex").КакЦелое := 415;
      Деталь.Сохранить;
      Деталь.Следующая;             
    конец;
    ссДеталь.ApplyUpdates;
    ЗакрытьТранзакцию;            
  неудача
    ОтменитьТранзакцию;
    ВызватьОшибку(ПоследняяОшибка)
  конец;
конец;

// Финансирование через казначейство
функция КазначейскоеФинансированиеЗаемщика(Заголовок, Деталь : СтатическиеДанные; БухПроводка: строка; ТекущийРеестр, СчетЗаголовка : целое);
переменные
  ссЗаголовок : СтатическиеДанные;
  ссДеталь : СтатическиеДанные;
  ИДЗаголовка: целое;
начало
  // заголовок Расход по ПП
  ссЗаголовок := СоздатьСтатическиеДанные;
  ссЗаголовок.СоединитьБД;
  ссЗаголовок.Запрос :=   
   "[PUMPDATA]{
     select 
       id, Credit, DestAccount, SourceFacialAcc_CLS, DestFacialAcc_CLS, ProgIndex, Note, BuhPaymentCLS,BudgetRef,SourceAccount,Reestr_Ref,SubProgIndex
     from 
       FacialFinCaption  
     where 1&lt;&gt;1
   }  
    [INSERTDATA]{
     insert into FacialFinCaption 
       (id, Credit, DestAccount, SourceFacialAcc_CLS, DestFacialAcc_CLS, ProgIndex, Note, BuhPaymentCLS,BudgetRef,SourceAccount,Reestr_Ref,SubProgIndex)
     values 
       (@id, @Credit, @DestAccount, @SourceFacialAcc_CLS, @DestFacialAcc_CLS, 63, ~Note, @BuhPaymentCLS,@BudgetRef,@SourceAccount,@Reestr_Ref,416)     
   }";
  // детализация расход по ПП
  ссДеталь := СоздатьСтатическиеДанные;
  ссДеталь.СоединитьБД;
  ссДеталь.Запрос :=   
   "[PUMPDATA]{
     select 
       SourceFacialAcc_CLS, DestFacialAcc_CLS, BudgetRef, Credit, ProgIndex, RecordIndex,SubProgIndex
     from
        FacialFinDetail
     where 1&lt;&gt;1
   }  
    [INSERTDATA]{
     insert into FacialFinDetail
       (SourceFacialAcc_CLS, DestFacialAcc_CLS, BudgetRef, Credit, ProgIndex, RecordIndex,SubProgIndex)
     values 
       (@SourceFacialAcc_CLS, @DestFacialAcc_CLS, @BudgetRef, @Credit, 63, @RecordIndex, 416)
   }";
  ОткрытьТранзакцию;
  попытка    
    //ТекущийРеестр := ЦелаяКонстанта(56, 0);
    // вставка нового заголовка
    Деталь.ВНачало;
    ссЗаголовок.Открыть;
    ссДеталь.Открыть;    
    // Деталь - обрабатываемые данные
    пока не Деталь.ВКонце делать
    начало
      ссЗаголовок.Вставить;   
      ИДЗаголовка := ПолучитьИД;
      // Вставляем заголовок в РАСХОД по п/п
      ссЗаголовок.Поле("ID").КакЦелое := ИДЗаголовка;
      ссЗаголовок.Поле("Credit").КакДробное := Деталь.Поле("Debit").КакДробное;;
      ссЗаголовок.Поле("DestAccount").КакЦелое := СчетЗаголовка;
      ссЗаголовок.Поле("SourceFacialAcc_CLS").КакСтрока := Заголовок.Поле("FacialAcc_CLS").КакСтрока;
      ссЗаголовок.поле("DestFacialAcc_CLS").КакЦелое := ЦелаяКонстанта(30, 7); // Осн. счет РВС
      ссЗаголовок.Поле("Note").КакСтрока := Деталь.Поле("Note").КакСтрока;
      ссЗаголовок.Поле("BuhPaymentCLS").КакСтрока := БухПроводка;
      ссЗаголовок.Поле("BudgetRef").КакЦелое := Деталь.Поле("BudgetRef").КакЦелое;
      ссЗаголовок.Поле("SourceAccount").КакЦелое := ЦелаяКонстанта(30, 1);
      ссЗаголовок.Поле("Reestr_Ref").КакЦелое := ТекущийРеестр;
      ссЗаголовок.Сохранить;
        
      // Вставляем детализацию в расход по п/п
    
      ссДеталь.Вставить;
      ссДеталь.Поле("DestFacialAcc_CLS").КакЦелое := ЦелаяКонстанта(30, 7);
      ссДеталь.Поле("SourceFacialAcc_CLS").КакСтрока := Заголовок.Поле("FacialAcc_CLS").КакСтрока;
      ссДеталь.Поле("BudgetRef").КакЦелое := Деталь.Поле("BudgetRef").КакЦелое;
      ссДеталь.Поле("Credit").КакДробное := Деталь.Поле("Debit").КакДробное;
      ссДеталь.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      ссДеталь.Сохранить;    

      // Изменяем детализацию
      Деталь.Редактировать;
      Деталь.Поле("SubProgIndex").КакЦелое := 63;
      Деталь.Поле("SubRecordIndex").КакЦелое := ИДЗаголовка;
      Деталь.Сохранить;

      Деталь.Следующая;
    конец;
    ссЗаголовок.СохранитьИзменения;
    ссДеталь.ApplyUpdates;      
    ЗакрытьТранзакцию;      
  неудача
    ОтменитьТранзакцию;
    УдалитьОбъект(ссЗаголовок, ссДеталь);
    ВызватьОшибку(ПоследняяОшибка)
  конец;
конец;

// Отменить финансирование заемщика
функция ОтменитьФинансирование(Деталь: СтатическиеДанные);
переменные
  В: Выборка;
  ИДЗаголовкаНаФин: целое;
начало
  В := СоздатьВыборку;
  попытка
    В.БазаДанных := Бюджет;
    В.Запрос := "select AcceptDate, RecordIndex from FinDocDetail"
               + " where ID = " + Деталь.Поле("SubRecordIndex").КакСтрока;
    В.Открыть;
    если В.Поле("AcceptDate").КакЦелое &lt;&gt; 0 тогда
      ВызватьОшибку("Невозможно удалить проведенное распоряжение на финансирование!!!");
    ИДЗаголовкаНаФин := В.Поле("RecordIndex").КакЦелое;
    // Для правильного удаления необходимо все выполнить за одну транзакцию
    ОткрытьТранзакцию;
    // Удаляем детализацию распоряжения
    В.Запрос := "delete from FinDocDetail"
                + " where ID = " + Деталь.Поле("SubRecordIndex").КакСтрока;
    В.Выполнить;
    // Удаляем заголовок распоряжения
    В.Закрыть;
    В.Запрос := "select id from FinDocDetail"
                + " where RecordIndex = " + ЦелоеВСтроку(ИДЗаголовкаНаФин);
    В.Открыть;
    если В.ЧислоЗаписей = 0 тогда
    начало            
      В.Запрос := "delete from FinDocCaption"
                + " where ID = " + ЦелоеВСтроку(ИДЗаголовкаНаФин);
      В.Выполнить;
    конец;
    В.Запрос := "delete from FacialFinDetail"
                + " where RecordIndex = "  + Деталь.Поле("SubRecordIndex").КакСтрока;
    В.Выполнить;
    В.Запрос := "delete from FacialFinCaption" 
                + " where id ="  + Деталь.Поле("SubRecordIndex").КакСтрока;           
    В.Выполнить;
    Деталь.Редактировать;
    Деталь.Поле("SubRecordIndex").КакЦелое := 0;
    Деталь.Поле("SubProgIndex").КакЦелое := 0;
    Деталь.Поле("AcceptDate").Clear;
    Деталь.Сохранить;
    Деталь.ApplyUpdates;      
    ЗакрытьТранзакцию;
  обязательно
    ОтменитьТранзакцию;
    УдалитьОбъект(В);
  конец;
конец;

функция ПолучитьСписокПрогИндексов(ФлагПроценты, ФлагПениОсн, ФлагПениПроц: целое): строка;
начало
  Результат := "";
  если ФлагПроценты тогда
    Результат := "394";
  если ФлагПениОсн тогда
    если Результат = "" тогда
      Результат := "395"
    иначе
      Результат := Результат + ",395";    
  если ФлагПениПроц тогда
    если Результат = "" тогда
      Результат := "396"
    иначе
      Результат := Результат + ",396";    
конец;

// Проставляет даты учета в статиксете по концу периода
функция ПроставитьДатыУчета(Данные: СтатическиеДанные);
начало
  Данные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    Данные.Редактировать;
    Данные.Поле("RecordDate").КакЦелое := ПолучитьДатуКонцаМесяца(Данные.Поле("PeriodEnd").КакЦелое, 0);
    Данные.Сохранить;
    Данные.Следующая;
  конец;
конец;
</value>
    <param value="ДляГарантий.abl" type="3" name="version">36.042.21</param>
    <param value="ДляГарантий.abl" type="3" name="crc32">$F67778DE</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляКредитов.abl">// Будет включать в себя основные функции для кредитов - Формирование периодов, расчет процентов и пеней и т.д.
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелПараметровСсуды = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  УзелСмещений = "Бюджет\Объекты\Настройки\Кредиты\Смещения";
// Внутреннее изменение учета дат операций (датой операции или следующим днем)  по обслуживанию кредитов.
// Сделано для унифицирования подхода с добавлением или недобавлением дня в начале периода.
// Разделение идет по закладкам:
// 1) (проценты) погашение, получение, смена процентной ставки
// 2) (пени) погашение, получение, смена процентной ставки, уплата %, начисление %
  прПолучение = 1;
  
//  прПогашение = 0;
//  прСменаПроц = 0;

  пнУплата = 0;
  пнПогашение = 1;
//  пнПолучение = 0;
//  пнСменаПроц = 0;
//  пнНачисление = 0;

  Кредиты="{DDC51F01-193C-11D5-8DF5-000021DDD8D5}";
  Ссуды = "{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}";
  // строковые константы видов пеней и кредитов. Юзаются в функциях получитьпараметр и получитьимяпараметра
  стр_впОснДолг = "по основному долгу";
  стр_впПроц = "по начисленным процентам";
  стр_впВсе = "все";
  стр_Проц = "процент";
  стр_воУплата = "уплата";
  стр_воНачисление = "начисление";


функция Модуль : Строка;
начало
  результат := Кредиты;
конец;

функция РазобратьЗначения(СтрокаПроводок: строка): целое;
переменные
  Значение: строка;
начало
  СтрокаПроводок := УбратьПробелы(СтрокаПроводок);
  Результат := Истина;
  попытка

    Пока СтрокаПроводок &lt;&gt; "" делать
    начало
      если Позиция(",", СтрокаПроводок) = 0 тогда
      начало
        Значение := СтрокаПроводок;
        СтрокаПроводок := "";
      конец иначе
      начало
        Значение := Подстрока(СтрокаПроводок, 1, Позиция(",", СтрокаПроводок) - 1);
        СтрокаПроводок := Подстрока(СтрокаПроводок, Позиция(",", СтрокаПроводок) + 1, Длина(СтрокаПроводок) - Позиция(",", СтрокаПроводок));
      конец;
      если не ПроверитьКлассификатор(тк_БухПроводка, СтрокаВЦелое(Значение)) тогда
        ВызватьОшибку("В реестре задан неверный номер бухоперации!!!");
    конец;
  неудача
    Результат := Ложь;
  конец;
конец;

функция ПроверитьПроводки;
переменные
  СтрокаПроводок: строка;
начало
  // Начисление проц.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления процентов.");
  // Начисление пени осн.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по основному долгу.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по основному долгу.");
  // Начисление пени по процентам
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по процентам.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по процентам.");
  // Уплата процентов
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для уплаченных процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для уплаченных процентов.");
  
конец; 

////////////////////////////////////////////////////  
// функция выдает параметр - ограничение указанного вида и типа. Работает как для ссуд, так и для кредитов
// вид : начисление, уплата
// тип : процент по кредиту/ссуде, пени по основному долгу и по начисленным процентам  
функция ПолучитьПараметр(вид, тип : Строка) : строка;
переменные
  рез : целое;
  ПрогИндекс : целое;
  УзелП : Строка; 
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
    
  рез := 0;
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
  начало 
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : рез := 124;                  
        стр_впОснДолг : рез := 325;
        стр_впПроц : рез := 326;
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "325,326";
          если Модуль = Кредиты тогда
            результат := "335,336";
        конец;
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : рез := 123;                  
        стр_впОснДолг : рез := 328;
        стр_впПроц : рез := 329;                  
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "328,329";
          если Модуль = Кредиты тогда
            результат := "338,339";
        конец;
      конец;
    если рез &lt;&gt; 0 тогда
    начало
      если Модуль = Кредиты тогда 
        рез := рез + 10;
      результат := ЦелоеВСтроку(рез);
    конец;
  конец
  иначе
  начало// не было обновления системы
    если Модуль = Кредиты тогда
      УзелП := УзелПараметров;
    если Модуль = Ссуды тогда
      УзелП := УзелПараметровСсуды;
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды начисления пени").КакСтрока +","+
          Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока + "," + 
          Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;         
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока; 
      конец;       
  конец;    
конец;

// пока нигде не используется. Вместо нее надо юзать ПреобразоватьПараметр
функция ПолучитьПрогИндекс(вид, тип : Строка) : строка;
переменные
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
    
  если ЦелаяКонстанта(ПИ, 1) тогда
    результат := ПолучитьПараметр(вид, тип)
  иначе
    результат := ЦелоеВСтроку(ПИ);
конец;

//Преобразует параметр в проводку по данным реестра
// Если параметр и был проводкой (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьВПроводку(вид, пар : Строка) : Строка;
переменные
  л_пар : Строка;
  УзелП : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
  начало
    ПИ := 120;
    УзелП := УзелПараметровСсуды;
  конец;
  если Модуль = Кредиты тогда
  начало
    ПИ := 130;
    УзелП := УзелПараметров;
  конец;
  если Позиция(",", пар) &gt; 0 тогда
    л_пар := Подстрока(пар, 1, Позиция(",", пар))
  иначе
    л_пар := пар;
  если ЦелаяКонстанта(ПИ, 1) тогда
  начало
    результат := "";
    если Модуль = Ссуды тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "124" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "325" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "326" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "123" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "328" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "329" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
    если Модуль = Кредиты тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "134" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "335" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "336" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "133" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "338" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "339" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
  конец
  иначе
    результат := л_пар;
конец;
//Преобразует параметр в ПрогИндекс по данным реестра
// Если параметр и был Прогиндексом (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьПараметр(пар : Строка) : Строка;
переменные
  поз : целое;
  л_пар : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
  поз := Позиция(",", пар);
  если поз &lt;&gt; 0 тогда
    л_пар := Подстрока(пар, поз - 1)
  иначе
    л_пар := пар;
  результат := пар;  
  если не ЦелаяКонстанта(ПИ, 1) тогда
    результат := ЦелоеВСтроку(ПИ + 4);  
конец;
 
// Получает имя поля из базы для нужного параметра (проводка или прогиндекс)
функция ПолучитьИмяПараметра : строка;
переменные
  ПрогИндекс : целое;
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
   
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
    результат := "progindex"
  иначе
    результат := "buhpaymentcls"    
конец;  


// Проверяем валюту в детализациях, если не равна заголовочной  - Ложь, иначе Истина.
функция ПроверитьВалютуВДетализациях(ИД: целое): целое;
переменные
  В: Выборка;
  ВалютаСтрокой: строка;
начало
  Результат := Истина;
  ВалютаСтрокой := ЦелоеВСтроку(ПолучитьВалютуВЗаголовке(ИД));
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // Проверяем в детализациях "Получение/Погашение" 
    В.Запрос := "select id from Debt where RecordIndex = " + ЦелоеВСтроку(ИД)+
                " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    Если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;
      
    В.Закрыть;
    // Проверяем деталь "Начисление %"
    В.Запрос := "select id from LoanCreditPercents where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            

    В.Закрыть;
    // Проверяем деталь "Уплата %"
    В.Запрос := "select id from FinDocDetail where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            
    В.Закрыть;

    // Проверяем графики
    В.Запрос := "select id from LoanCreditPlan where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            
  обязательно
  конец;                              
конец;

// проверяет, имеется ли данная проводка в системе
функция ПроверитьПроводку(Проводка: целое): целое;
переменные
  В: Выборка;
начало
  Результат := Ложь;
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка 
    В.Запрос := "select Name from BuhPaymentCLS where id = :id";
    В.Параметр("id").КакЦелое := Проводка;
    В.Открыть;
    если В.ЧислоЗаписей = 1 тогда
      Результат := Истина;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

функция ПолучитьСмещение(Имя: строка): целое;
начало
  Результат := Реестр.Узел(УзелСмещений).Значение(Имя).КакЦелое;
конец;

функция СформироватьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; Параметр : Строка);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
  ТипГода: целое;
  Дата: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = 130 and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.Открыть;
  ТипГода := В.Поле("YearType").КакЦелое;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по месяцам
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      ПолучитьДату(РасширДатаВОбычную(В.Поле("periodstart").КакДробное), Г, М, Д);
      Д := ДеньДаты(В.Поле("periodstart").КакДробное);
      М := МесяцДаты(В.Поле("periodstart").КакДробное);
      Г := ГодДаты(В.Поле("periodstart").КакДробное);
      пока ((Г * 10000 + М * 100 + Д) &lt; КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("date").КакДробное := ИсправитьРасширДату(БольшаяДата(Г, М, Д));
          Субпериоды.ПолеПоИмени("note").КакСтрока := "плановое начисление";
          СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          М := М ост 12;
          Г := Г + 1;
        конец;   
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("periodstart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("Date").КакДробное := ДатаКонцаПодпериода;
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, 0);
      конец;
    конец;

  обязательно
    УдалитьОбъект(В);
  конец; 
конец;

// Запрос для вставки периодов начисления пеней
функция ЗапросДляНовыхПериодовПеней: строка;
начало
  результат := "[PumpData] {select ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, Summa, CurrencyCls, CurrencySumma"
              + " from LoanCreditPercents where (1 &lt;&gt; 1)}"
              + #13#10
              " [InsertData]{insert into LoanCreditPercents"
              + " (ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd, PayPercentDate, Note, Summa, CurrencyCls, CurrencySumma)"
              + " values (@ProgIndex, @RecordIndex, @BuhPaymentCls, @PeriodStart, @PeriodEnd, @PayPercentDate, ~Note, @Summa, @CurrencyCls, @CurrencySumma)}";
конец;

// Определяет начальную дату разбивки по периодам для заголовочной записи с данным ИД
// Пункты 2 и 3 выполняются в зависимости от флага в реестре
// 1. Проверяем, есть ли периоды по пеням, если есть то дата начала - последняя дата последнего периода
// 2. Проверяем график погашения и график уплаты %
// 3. Проверяем плановое погашение и плановую уплату  
// 4. Проверяем дату начала периодов в заголовке
// 5. Проверяем дату договора 
функция ОпределитьДатуНачалаСубпериодовПени(ИДЗаголовка: целое; Параметр : Строка): дробное;
переменные
  В: Выборка; 
  КодыПени, КодыПроцентов: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  если КодыПени = "" тогда 
    ВызватьОшибку("Не указаны коды начисления пени в реестре!");
  КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  если КодыПроцентов = "" тогда 
    ВызватьОшибку("Не указаны коды начисления процентов в реестре!");
  Результат := 0;
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  
  // вынимаем дату окончания самого последнего периода по пени
//  В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
//            + " where (ProgIndex in ("+Параметр+")) and (RecordIndex = :RI) and (BuhPaymentCLS in (" + КодыПени + "))";
  В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
            + " where ("+ПолучитьИмяПараметра+" in ("+Параметр+")) and (RecordIndex = :RI)";
  
  В.Параметр("RI").КакЦелое := ИДЗаголовка;
  В.Открыть;
  если не В.Поле("PeriodEnd").Пустое тогда
    если (В.Поле("PeriodEnd").КакДробное ост 10000) &lt;= 101 тогда
      Результат := В.Поле("PeriodEnd").КакДробное
    иначе Результат := СледующаяДата(В.Поле("PeriodEnd").КакДробное, 1, ТипГода);
    
  // Проверяем, как считают пени: по плану или по графику, если по плану - необходимо учесть и его
  если (Результат = 0) тогда
  начало
    // Вынимаем дату самого первого погашения по плану    
    // только по основному долгу
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг))) 
    и (не Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг) тогда //Параметр = "335" тогда
    начало 
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from Debt where (RecordIndex = :RI) and (ProgIndex = 132)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если В.Поле("PlanDate").КакДробное &gt; 0 тогда
        Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое погашение"), ТипГода);  
    конец;
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц))) и
    (не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг) тогда //Параметр = "336" тогда
    начало       
      // начисление
      В.Закрыть;
      В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
                  + " where "
                  + " (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ") "
                  + " and (PayPercentDate &gt; 0)"
                  + " and (AcceptDate &gt; 0)"
                  + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + "))";

      В.Открыть;
      если ((В.Поле("PayPercentDate").КакДробное &gt; 0) и (В.Поле("PayPercentDate").КакДробное &lt; Результат)) 
            или ((Результат = 0) и (В.Поле("PayPercentDate").КакДробное &gt; 0)) 
      тогда
          Результат := СледующаяДата(В.Поле("PayPercentDate").КакДробное, ПолучитьСмещение("Плановая уплата %"), ТипГода);
    конец;
  конец;
  
  // Если не было периодов
  если (Результат = 0) тогда
  начало
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг))) 
      и (Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг) тогда //Параметр = "335" тогда
    начало
      // Вынимаем дату самого первого погашения по графику
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"
                + " where (RecordIndex = :RI) and (PlanDate is not Null) and (PlanDate &gt; 0) and (ProgIndex = 137)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть; 
      если В.Поле("PlanDate").КакДробное &gt; 0 тогда
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("График погашения"), ТипГода);
    конец;
    если (Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг) тогда
    начало
      // Вынимаем первую дату графика уплаты процентов
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"
                 + " where (RecordIndex = :RI) and (PlanDate &gt; 0) and (ProgIndex = 138)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если (В.Поле("PlanDate").КакДробное &gt; 0) и ((В.Поле("PlanDate").КакДробное &lt; Результат) или (Результат = 0)) 
      тогда 
        Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("График уплаты %"), ТипГода);          
    конец;
  конец;

  // если не было выдач
  если Результат = 0 тогда
  // Вынимаем дату начала разбивки по периодам и дату ввода
  начало
    В.Закрыть;
    В.Запрос := "select DateInput, PeriodStart from LoanCredit where (ProgIndex = 130) and (id = :ID)";
    В.Параметр("ID").КакЦелое := ИДЗаголовка;
    В.Открыть;
    если В.Поле("PeriodStart").КакДробное &gt; 0 тогда
      // есть дата начала разбивки по периодам, ее и берем
      Результат := В.Поле("PeriodStart").КакДробное
    иначе
      // В противном случае берем дату создания записи в заголовке
      Результат := В.Поле("DateInput").КакДробное;  
  конец;    
  // Во избежание всяческих несуразностей
  Результат := ОбычнаяДатаВРасшир(НормализоватьДату(Результат));
конец;                                   

// Открывает и закачивает в субпериоды выборку
функция ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка: целое; НачалоПериода, КонецПериода: дробное; В: Выборка;
                                    Субпериоды: СтатическиеДанные; ИмяПоля, ИмяПоляРасчет, Примечание: строка;Смещение: целое;
                                    Параметр : Строка);
переменные
  ПолеВыборки: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  В.Параметр("RI").КакЦелое := ИДЗаголовка;
  В.Параметр("DateStart").КакЦелое := НачалоПериода;
  В.Параметр("DateEnd").КакЦелое := КонецПериода;
  В.Открыть;
  пока не В.ВКонце делать
  начало
    Субпериоды.Вставить;
    СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
    попытка
      если В.Поле("RecordDate").Пустое тогда
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода)
      иначе
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещение, ТипГода);
    неудача
      // поле "RecordDate" отсутствует
      Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода);
    конец;
    Субпериоды.Поле("Note").КакСтрока := Примечание;
    // Вставляем поля с валютами, ставками по проц. и т.д.
    попытка
      Субпериоды.Поле("Credit").КакДробное := В.Поле("Credit").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("Debit").КакДробное := В.Поле("Debit").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("Percent").КакДробное := В.Поле("Percent").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("CurrencyCredit").AsFloat := В.Поле("CurrencyCredit").AsFloat;
    неудача
    конец;

    попытка
      Субпериоды.Поле("CurrencyDebit").AsFloat := В.Поле("CurrencyDebit").AsFloat;
    неудача
    конец;
    
    Субпериоды.Сохранить;
    В.Следующая;
  конец;        
конец;

// Формирование субпериодов начисления пени 
функция ФормированиеСубпериодовПени(ИДЗаголовка, НачалоПериода, КонецПериода: целое; СПроцентами: целое; Параметр : Строка): СтатическиеДанные;
переменные
  НадоПодпериоды: целое; 
  КодыПроцентов, КодыУплПроцентов, КодыПени, кп_ОснДолг, кп_НачПроц: строка;
  В: Выборка;                                                 //     , Проводка
  Год, Месяц, День, ТипГода, СПланом: целое;
  КонецСрока: дробное;
начало
  НадоПодпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакЦелое;
  КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  КодыУплПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  кп_ОснДолг := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока; 
  кп_НачПроц := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока; 
  
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  СПланом := Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг;

//  если Позиция(",", КодыПени) = 0
//  тогда Проводка := КодыПени 
//  иначе Проводка := Подстрока(КодыПени, 1, Позиция(",", КодыПени) - 1);            
  
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  // Создаем статиксет Субпериоды
  Результат := СоздатьСтатическиеДанные;
  Результат.ДобавитьДробноеПоле("Date"); // Дата начала сл. субпериода
  Результат.CreateField("Note", 9); // Примечание
  Результат.ДобавитьЦелоеПоле("ProgIndex");
  Результат.ДобавитьДробноеПоле("Credit"); // Кредит
  Результат.ДобавитьДробноеПоле("Debit"); // Дебет
  Результат.ДобавитьДробноеПоле("Percent"); // Cтавка пени по осн. долгу
  Результат.ДобавитьДробноеПоле("CurrencyCredit");
  Результат.ДобавитьДробноеПоле("CurrencyDebit");
  Результат.Открыть;
  // Вставляем дату начала разбивки
  Результат.Вставить;
  Результат.Поле("Date").КакДробное := НачалоПериода;
  Результат.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
  Результат.Сохранить;

  если НачалоПериода &lt; КонецПериода тогда
  начало
    если НадоПодпериоды или СПроцентами тогда 
    // Если необходима подробная разбивка
    начало      
      //разделение на осн. долг и начисл. проценты
      // для осн.долга : план погашения, погашение, смена ставки пени
      если Позиция(ПолучитьПараметр(стр_воНачисление, стр_впОснДолг), Параметр) тогда //Позиция("335", ПрогИндекс) &gt; 0 тогда
      начало
        // вынимаем в субпериоды график погашения кредита
        если Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг тогда
        начало
          В.Запрос := "select PlanDate PlanDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPlan"
                  + " where (ProgIndex=137) and (RecordIndex = :RI)"
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt; :DateEnd) group by PlanDate";
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "срок погашения", ПолучитьСмещение("График погашения"), Параметр);
        конец
        иначе
        начало
          В.Запрос := "select PlanDate, sum(Debit - Credit) Credit, sum(CurrencySumma) CurrencyCredit from Debt"
                      + " where(ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd) group by PlanDate"; 
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "срок погашения", ПолучитьСмещение("Плановое погашение"), Параметр);
        конец;

        // вынимаем все даты плановых погашений за данный период
        /*
        В.Запрос := "select PlanDate, sum(Debit-Credit) Debit, sum(CurrencySumma) CurrencyDebit from Debt"
                  + " where (ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd)" 
                  + " and (AcceptDate is null) group by PlanDate";
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"PlanDate", "Debit", "плановое погашение кредита", ПолучитьСмещение("Плановое погашение"), Параметр);
        */
        // вынимаем все даты погашений за данный период
        В.Запрос := "select AcceptDate, RecordDate, sum(Debit-Credit) Debit, sum(CurrencySumma) CurrencyDebit from Debt"
                  + " where (ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate, RecordDate";
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Debit", "погашение кредита", ПолучитьСмещение("Погашение"), Параметр);

        // вынимаем субпериоды по изменению ставок пени по осн. долгу (136)
        В.Запрос := "select distinct AcceptDate AcceptDate, max(Percent) Percent from PercentJournal"
                  + " where (ProgIndex in (136)) and (RecordIndex = :RI)" 
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate";  
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Percent", "изменение ставки пени по осн. долгу", ПолучитьСмещение("Изменение ставки пени по осн. долгу"), Параметр);
      конец;
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      // для начисл. процентов : график уплаты %, уплата, смена ставки пени
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) тогда //Позиция("336", ПрогИндекс) &gt; 0 тогда
      начало   
        // вынимаем в субпериоды фактические уплаты процентов по кредиту
        В.Запрос := "select AcceptDate AcceptDate, RecordDate, sum (Credit - Debit) Debit, sum(CurrencySumma) CurrencyDebit from FinDocDetail"
                + " where (ProgIndex in (133, 337)) and (RecordIndex = :RI)"
                + " and (AcceptDate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd)"
                + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воУплата, стр_Проц) + ")) group by AcceptDate, RecordDate"; 
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "AcceptDate", "Debit", "уплата процентов", ПолучитьСмещение("Уплата процентов"), Параметр);

        // вынимаем субпериоды по плановым датам погашения процентов кредита
        если Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
        начало
          В.Запрос := "select PlanDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPlan"
                  + " where (ProgIndex = 138) and (RecordIndex = :RI)"
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd)"
                  + " group by PlanDate"; 
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "уплата процентов (план)", ПолучитьСмещение("График уплаты %"), Параметр);
        конец иначе
        начало
          В.Запрос := "select PayPercentDate PayPercentDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPercents"
                + " where (ProgIndex in (134, 334)) and (RecordIndex = :RI)"
                + " and (PayPercentDate &gt;= :DateStart) and (PayPercentDate &lt;= :DateEnd)"
                + " and AcceptDate is not null"
                + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + ")) group by PayPercentDate";
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PayPercentDate", "Credit", "уплата процентов (план)", ПолучитьСмещение("Плановая уплата %"), Параметр);
        конец;

        // вынимаем субпериоды по изменению ставок пени по процентам (139)
        В.Запрос := "select distinct AcceptDate AcceptDate, max(Percent) Percent from PercentJournal"
                  + " where (ProgIndex in (139)) and (RecordIndex = :RI)" 
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate";  
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Percent", "изменение ставки пени по процентам", ПолучитьСмещение("Изменение ставки пени по проц."),'');
      конец;
    конец;
    КонецСрока := КонецПериода;
    //если ТипГода = 1 тогда
      //КонецСрока := НормальнаяДатаВКривую(КонецСрока);
    если не СПроцентами тогда
      СформироватьПериодыПоДлине(ИДЗаголовка, Результат, НачалоПериода, КонецСрока, Параметр);
    //если ТипГода = 1 тогда
      //ОткорректироватьДатыСубпериодов(Результат);
    // Упорядочиваем субпериоды
    Результат.Индекс := "Date";
    Результат.ВНачало;
  конец;        
конец;

// Формирует периоды начисления пени
функция ФормированиеПериодовПени(ИДЗаголовка, КонецСрока: целое; НовыеПериоды: СтатическиеДанные; Параметр : Строка): целое;
переменные
  ДатаНачала, КонецПериода: дробное;
  Субпериоды: СтатическиеДанные;
  КодыПени, Проводка: строка;
  ТипГода: целое;
начало

  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  Проводка := ПреобразоватьВПроводку(стр_воНачисление, Параметр);
  если Позиция(",", Проводка) &gt; 1 тогда
    Проводка := Подстрока(Проводка, 1, Позиция(",", Проводка) - 1);
  если (не ПроверитьПроводку(СтрокаВЦелое(Проводка))) и (ЦелаяКонстанта(130, 1) &lt;&gt; 1)
  тогда ВызватьОшибку("Проводка " + Проводка + " отсутствует в системе.");            

  // Определим дату начала субпериодов по пеням
  ДатаНачала := ОпределитьДатуНачалаСубпериодовПени(ИДЗаголовка, Параметр);
  Субпериоды := ФормированиеСубпериодовПени(ИДЗаголовка, ДатаНачала, КонецСрока, Ложь, Параметр);
  Субпериоды.Индекс := "Date";
  Субпериоды.ВНачало;
  КонецПериода := Субпериоды.Поле("Date").КакДробное;
  Субпериоды.Следующая;
  пока не Субпериоды.ВКонце делать
  начало
    если КонецПериода &lt;&gt; Субпериоды.Поле("Date").КакДробное тогда
    начало
      НовыеПериоды.Вставить;
      НовыеПериоды.Поле("PeriodStart").КакДробное := КонецПериода;
      НовыеПериоды.Поле("PeriodEnd").КакДробное := ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0);
      НовыеПериоды.Поле("Note").КакСтрока := Субпериоды.Поле("Note").КакСтрока;
      НовыеПериоды.Поле("ProgIndex").КакСтрока := Субпериоды.Поле("ProgIndex").КакСтрока;      
      НовыеПериоды.Поле("BuhPaymentCLS").КакЦелое := Проводка;
      НовыеПериоды.Сохранить;
      КонецПериода := Субпериоды.Поле("Date").КакДробное;
    конец;
    Субпериоды.Следующая;
  конец;
  //если ТипГода = 1 тогда
    //КонецСрока := НормальнаяДатаВКривую(КонецСрока);
  если КонецПериода &lt;= КонецСрока тогда
  // На случай какого-нибудь извратного перекоса
  начало
    НовыеПериоды.Вставить;
    НовыеПериоды.Поле("PeriodStart").КакДробное := КонецПериода;
    НовыеПериоды.Поле("PeriodEnd").КакДробное := КонецСрока;
    НовыеПериоды.Поле("BuhPaymentCLS").КакЦелое := Проводка;
    НовыеПериоды.Поле("Note").КакСтрока := "плановое начисление";  
    НовыеПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);      
    НовыеПериоды.Сохранить;
  конец;
  Результат := Истина;
конец;


// Рассчитывает пени для записи с данным ИД
функция РасчетПени(ИД: целое; ДатаНачала, ДатаКонца, СуммаВВалюте: дробное; Параметр : Строка): дробное;
переменные
  Субпериоды: СтатическиеДанные;
  ОстатокДолг, СубсуммаДолг, Процент, НачалоСубпериода, НачалоСледСубпериода, СуммаДолг: дробное;
  Год, ДлинаСубпериода: целое;
  ПолеКредитДолг, ПолеДебетДолг: строка;
  ЭтоНацВалюта, ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИД);
  попытка
    Субпериоды := ФормированиеСубпериодовПени(ИД, 101, ДатаКонца, Истина, Параметр);
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(СубПериоды);
    ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(ИД) = КодНацВалюты);
    если ЭтоНацВалюта тогда
    начало
      ПолеКредитДолг := "Credit";
      ПолеДебетДолг := "Debit";
    конец иначе
    начало
      ПолеКредитДолг := "CurrencyCredit";
      ПолеДебетДолг := "CurrencyDebit";
    конец;
    
    ОстатокДолг := 0;
    Процент := 0;
    СубсуммаДолг := 0;
    СуммаДолг := 0;

    Субпериоды.Вставить;
    Субпериоды.Поле("Date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);
    Субпериоды.Сохранить; 
    Год := ГодДаты(ДатаНачала);
    пока Год &lt;= ГодДаты(ДатаКонца) делать
    начало
      СубПериоды.Вставить;                         
      Субпериоды.ПолеПоИмени("date").КакДробное := Год * 10000 + 101;                    
      СубПериоды.Сохранить;
      Год := Год + 1;
    конец;
    Субпериоды.Индекс := "Date";
    Субпериоды.ВНачало;
    // Вычисляем условия на дату начала периода
    пока (Субпериоды.Поле("Date").КакДробное &lt; ДатаНачала) и (не Субпериоды.ВКонце) делать
    начало
      ОстатокДолг := ОстатокДолг + Субпериоды.Поле(ПолеКредитДолг).КакДробное 
                                    - Субпериоды.Поле(ПолеДебетДолг).КакДробное;
      если не Субпериоды.Поле("Percent").Пустое тогда
        Процент := Субпериоды.Поле("Percent").КакДробное;
      Субпериоды.Следующая;  
    конец;
    
    НачалоСубпериода := ДатаНачала;
    пока (Субпериоды.Поле("Date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ПолучитьТипГода(ИД))) и (не Субпериоды.ВКонце) делать
    начало
      Год := ГодДаты(ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0));
      НачалоСледСубпериода := Субпериоды.Поле("Date").КакДробное;
      ДлинаСубпериода := ЧислоДнейВПериоде(ИД, НачалоСубпериода, НачалоСледСубпериода);
      СубсуммаДолг := ОстатокДолг * Процент * ДлинаСубпериода / (100 * ЧислоДнейВЛюбомГоду(ИД, Год));
      если СубсуммаДолг &lt; 0 тогда СубСуммаДолг := 0;
      СуммаДолг := СуммаДолг + СубсуммаДолг; // вычисляем сумму
      
      // вычисляем новые нач. условия
      ОстатокДолг := ОстатокДолг + Субпериоды.Поле(ПолеКредитДолг).КакДробное - Субпериоды.Поле(ПолеДебетДолг).КакДробное;
      если не Субпериоды.Поле("Percent").Пустое тогда
        Процент := Субпериоды.Поле("Percent").КакДробное;
      НачалоСубпериода := НачалоСледСубпериода;
      Субпериоды.Следующая;
    конец;

    Результат := СуммаДолг;
    если не ЭтоНацВалюта тогда
    начало
      СуммаВВалюте := Результат;
      Результат := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(ИД), ДатаКонца) * СуммаВВалюте;
    конец;
    Результат := ОкруглитьДоЗнака(Результат, 2);
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;
конец;    

// Выдает дату конца месяца
функция ПолучитьДатуКонцаМесяца(Дата: дробное; ТипГода: целое): дробное;
начало
  если ТипГода = 1 тогда
  // Ненормальный год (12 месяцев по 30 дней)
    Результат := (Дата цел 100) * 100 + 30
  иначе
  начало
    // Нормальный год (365 или 366 дней в году)
    Результат := (Дата цел 100) * 100 + ЧислоДнейВМесяце(Дата цел 10000, (Дата ост 10000) цел 100); 
  конец;    
конец;


// Выдает дату начала формируемых субпериодов. Это либо ДатаОкончанияПоследнегоСубпериода+1, либо это
// дата самой первой выдачи, либо это дата начала периодов, либо дата формирования документа
функция ПолучитьДатуНачалаСубпериодов(ИДЗаголовка: целое): дробное;
переменные
  В: Выборка;
  КодыПроцентов: строка;
  ТипГода: целое;
начало                
  Результат := 0;
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
    ТипГода := ПолучитьТипГода(ИДЗаголовка);
    
    // Попытаемся отыскать дату окончания последнего существующего периода
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
                + " where (RecordIndex = :MasterID) and (BuhPaymentCLS in (" + КодыПроцентов+ "))";
    В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
    В.Открыть;
    если не В.Поле("PeriodEnd").Пустое
    тогда 
      если (В.Поле("PeriodEnd").КакДробное ост 10000) &lt;= 101 // Вдруг это даты остатков
      тогда
        Результат := В.Поле("PeriodEnd").КакДробное
      иначе
        Результат := СледующаяДата(В.Поле("PeriodEnd").КакДробное, 1, ТипГода); // За ПериодЕнд уже начислено
    
    // Если не нашли периодов, попытаемся найти дату первого планового получения (если идет расчет по плану)
    если (Результат = 0) и (Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг) тогда
    начало
      В.Запрос := "select min(PlanDate) PlanDate from Debt where (RecordIndex = :MasterID) and (AcceptDate is null) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("PlanDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе 
          Результат := В.Поле("PlanDate").КакДробное;        
      конец;
    конец;             

    // Если не нашли периодов, попытаемся найти дату первого получения
    если Результат = 0 тогда
    начало
      В.Запрос := "select min(RecordDate) RecordDate from Debt where (RecordIndex = :MasterID) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("RecordDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("RecordDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе 
          Результат := В.Поле("RecordDate").КакДробное;        
      конец;
    конец;             

    // Если не нашли периодов, попытаемся найти дату первого получения
    если Результат = 0 тогда
    начало
      В.Запрос := "select min(AcceptDate) AcceptDate from Debt where (RecordIndex = :MasterID) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("AcceptDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("AcceptDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе 
          Результат := В.Поле("AcceptDate").КакДробное;        
      конец;
    конец;             
    
    если Результат = 0 тогда
    начало
      // Выбираем все плановые получения
      В.Запрос := "select min(PlanDate) PlanDate from Debt "
                 + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                 + " and (AcceptDate is null)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Открыть;
      В.ВНачало;
      если не В.Поле("PlanDate").Пустое тогда 
      начало
        если прПолучение тогда
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе       
          Результат := В.Поле("PlanDate").КакДробное;        
      конец;
    конец;
    
    // Ежели и тут ничего, тогда возьмем начало периода начисления или дату договора
    если Результат = 0 тогда
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ID = :MasterID";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("PeriodStart").Пустое 
      тогда Результат := В.Поле("PeriodStart").КакДробное
      иначе Результат := В.Поле("DateInput").КакДробное;
    конец;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Создает статиксет с субпериодами
функция СформироватьСубПериоды(ИДЗаголовка: целое; ДатаНачала, ДатаКонца: дробное; СПроцентами: целое): СтатическиеДанные;
переменные
  В: Выборка;
  М, Г, Д, НадоПодпериоды, ТипГода, СПланом: целое;
  Субпериоды: СтатическиеДанные;
  РасширДатаНачала, РасширДатаКонца: дробное;
начало
  НадоПодпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды подробно").КакФлаг;
  СПланом := Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг;
  // Получаем большие даты - они нам пригодятся
  если ДатаНачала &gt; 0 тогда РасширДатаНачала := ДатаНачала
  иначе РасширДатаНачала := ПолучитьДатуНачалаСубпериодов(ИДЗаголовка);
  РасширДатаКонца := ДатаКонца;
  попытка
    ТипГода := ПолучитьТипГода(ИДЗаголовка);
    // Создаем вспомогательную выборку
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // Создаем статиксет, в который будем класть субпериоды
    СубПериоды := СоздатьСтатическиеДанные;
    СубПериоды.ДобавитьДробноеПоле("Date");       // дата начала субпериода      
    СубПериоды.CreateField("NOTE", 9);     // комментарий , в связи с чем подразбивка на подпериоды    
    // Для расчета процентов
    СубПериоды.ДобавитьДробноеПоле("Credit");       // выданная сумма
    СубПериоды.ДобавитьДробноеПоле("Debit");        // погашенная сумма
    СубПериоды.ДобавитьДробноеПоле("Percent");      // процент по кредиту
    СубПериоды.ДобавитьДробноеПоле("CurrencyCredit");
    СубПериоды.ДобавитьДробноеПоле("CurrencyDebit");
    СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
    СубПериоды.Открыть;
    // Первый субпериод
    Субпериоды.Вставить;
    Субпериоды.Поле("Date").КакДробное := РасширДатаНачала;
    Субпериоды.Сохранить;
    если СПроцентами тогда
    // Когда ищем периоды, срок окончания мы прекрасно знаем
    начало
      Субпериоды.Вставить;
      Субпериоды.Поле("Date").КакДробное := РасширДатаКонца;
      Субпериоды.Поле("Note").КакСтрока := "плановое начисление";
      Субпериоды.Сохранить;
    конец;
    если НадоПодпериоды или СПроцентами тогда
    начало
      // Выбираем все получения
      В.Запрос := "select AcceptDate, RecordDate, Credit, Debit, CurrencySumma from Debt "
                 + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                 + " and (AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      // Так, как субпериод по выдаче формируется на след. день, то берем предыдущие числа
      если РасширДатаНачала &gt; 101 тогда
        В.Параметр("StartDate").КакДробное := ПредыдущаяДата(РасширДатаНачала, ПолучитьСмещение("Получение"), ТипГода)
      иначе
        В.Параметр("StartDate").КакДробное := 101;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      // Выкидываем в субпериоды
      пока (не В.ВКонце) делать 
      начало
        СубПериоды.Вставить;
        если В.Поле("RecordDate").Пустое тогда
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("AcceptDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("RecordDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода);
        Субпериоды.ПолеПоИмени("Note").КакСтрока := "выдача кредита";
        Субпериоды.ПолеПоИмени("Credit").КакДробное := В.ПолеПоИмени("Credit").КакДробное - В.ПолеПоИмени("Debit").КакДробное;
        Субпериоды.Поле("CurrencyCredit").КакДробное := В.Поле("CurrencySumma").КакДробное;
        СубПериоды.Сохранить;
        в.Следующая;        
      конец;
      
      // Выбираем все погашения
      В.Запрос := "select AcceptDate, RecordDate, Debit, Credit, CurrencySumma from Debt "
                 + " where (ProgIndex = 132) and (RecordIndex = :MasterID)"
                 + " and ( ((AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate) and (RecordDate is null)) or"
                 + " ((RecordDate &gt; :StartDate) and (RecordDate &lt;= :EndDate)) ) ";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Параметр("StartDate").КакДробное := РасширДатаНачала;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      // Выкидываем в субпериоды
      пока (не В.ВКонце) делать 
      начало
        СубПериоды.Вставить;
        // т.к. день погашения также облагается процентом, берем след.
        если В.ПолеПоИмени("RecordDate").КакДробное &gt; 0 
        тогда
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("RecordDate").КакДробное, ПолучитьСмещение("Погашение"), ТипГода)
        иначе
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("AcceptDate").КакДробное, ПолучитьСмещение("Погашение"), ТипГода);
        Субпериоды.ПолеПоИмени("Note").КакСтрока := "погашение кредита";
        Субпериоды.ПолеПоИмени("Debit").КакДробное := В.ПолеПоИмени("Debit").КакДробное - В.ПолеПоИмени("Credit").КакДробное;
        Субпериоды.Поле("CurrencyDebit").КакДробное := В.Поле("CurrencySumma").КакДробное;
        СубПериоды.Сохранить;
        В.Следующая;        
      конец;
   
      // Выбираем все изменения процентных ставок
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                  + " where (RecordIndex = :MasterID) and (ProgIndex=135)"
                  + " and (AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Параметр("StartDate").КакДробное := РасширДатаНачала;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      пока (не В.ВКонце) делать                 
      начало
        СубПериоды.Вставить;
        Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(В.ПолеПоИмени("acceptdate").КакДробное, ПолучитьСмещение("Изменение ставки процентов"), ТипГода);
        Субпериоды.ПолеПоИмени("note").КакСтрока := "изменение процентной ставки";
        Субпериоды.ПолеПоИмени("Percent").КакДробное := В.ПолеПоИмени("Percent").КакДробное;
        СубПериоды.Сохранить;
        В.Следующая;        
      конец;
      
      если СПланом тогда
      начало
        // Выбираем все плановые получения
        В.Запрос := "select PlanDate, Credit, Debit, CurrencySumma from Debt "
                   + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                   + " and (PlanDate &gt;= :StartDate) and (PlanDate &lt;= :EndDate)"
                   + " and (AcceptDate is null)";
        В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
        // Так, как субпериод по выдаче формируется на след. день, то берем предыдущие числа
        если РасширДатаНачала &gt; 101 тогда
          В.Параметр("StartDate").КакДробное := ПредыдущаяДата(РасширДатаНачала, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе
          В.Параметр("StartDate").КакДробное := 101;
        В.Параметр("EndDate").КакДробное := РасширДатаКонца;
        В.Открыть;
        В.ВНачало;
        // Выкидываем в субпериоды
        пока (не В.ВКонце) делать 
        начало
          СубПериоды.Вставить;
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановая выдача кредита";
          Субпериоды.ПолеПоИмени("Credit").КакДробное := В.ПолеПоИмени("Credit").КакДробное - В.ПолеПоИмени("Debit").КакДробное;
          Субпериоды.Поле("CurrencyCredit").КакДробное := В.Поле("CurrencySumma").КакДробное;
          СубПериоды.Сохранить;
          в.Следующая;        
        конец;
        
        // Выбираем все плановые погашения
        В.Запрос := "select PlanDate, RecordDate, Debit, Credit, CurrencySumma from Debt "
                   + " where (ProgIndex = 132) and (RecordIndex = :MasterID)"
                   + " and ( (PlanDate &gt;= :StartDate) and (PlanDate &lt;= :EndDate) and (AcceptDate is null) ) ";
        В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
        В.Параметр("StartDate").КакДробное := РасширДатаНачала;
        В.Параметр("EndDate").КакДробное := РасширДатаКонца;
        В.Открыть;
        В.ВНачало;
        // Выкидываем в субпериоды
        пока (не В.ВКонце) делать 
        начало
          СубПериоды.Вставить;
          // т.к. день погашения также облагается процентом, берем след.
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("PlanDate").КакДробное, ПолучитьСмещение("Плановое погашение"), ТипГода);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое погашение кредита";
          Субпериоды.ПолеПоИмени("Debit").КакДробное := В.ПолеПоИмени("Debit").КакДробное - В.ПолеПоИмени("Credit").КакДробное;
          Субпериоды.Поле("CurrencyDebit").КакДробное := В.Поле("CurrencySumma").КакДробное;
          СубПериоды.Сохранить;
          В.Следующая;        
        конец;
      конец;
    конец;// Конец детальной разбивки
    
    // Разбиваем по месяцам, если это указано в заголовке
    СформироватьПериодыПоДлине(ИДЗаголовка, Субпериоды, РасширДатаНачала, РасширДатаКонца, "334");
    //если ТипГода = 1 тогда
      //ОткорректироватьДатыСубпериодов(Субпериоды);
    // Упорядочиваем субпериоды
    Субпериоды.Индекс := "Date";
    Субпериоды.ВНачало;
    Результат := Субпериоды;
  обязательно
    УдалитьОбъект(В);
  конец;  
конец;

// Считает процент по кредиту на проставленные даты
функция РасчетПроцентов(ИДЗаголовка: целое; ДатаНачала, ДатаКонца, СуммаВВалюте: дробное): дробное;
переменные
  Субпериоды: СтатическиеДанные;
  Остаток, СубСумма, НачалоСубпериода, НачалоСледующегоСубпериода, Процент: дробное;
  Год, ДлинаСубпериода, ТипГода: целое;
  ПолеКредит, ПолеДебет: строка;
  ЭтоНацВалюта: целое;
начало
  
  Результат := 0;
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(ИДЗаголовка) = КодНацВалюты);
  ПолеКредит := "Credit";
  ПолеДебет := "Debit";
  если не ЭтоНацВалюта тогда
  начало
    ПолеКредит := "CurrencyCredit";
    ПолеДебет := "CurrencyDebit";
  конец;
  попытка
    Субпериоды := СформироватьСубпериоды(ИДЗаголовка, 0101, СледующаяДата(ДатаКонца, 1, ТипГода), Истина);
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(СубПериоды);
    СубПериоды.Вставить;                         
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;
    Год := ГодДаты(ДатаНачала);
    пока Год &lt;= ГодДаты(ДатаКонца) делать
    начало
      СубПериоды.Вставить;                         
      Субпериоды.ПолеПоИмени("date").КакДробное := Год * 10000 + 101;                    
      СубПериоды.Сохранить;
      Год := Год + 1;
    конец;
    СубПериоды.Индекс := "Date";
    Остаток := 0;
    Процент := 0;
    СубСумма := 0;
    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) и (не Субпериоды.ВКонце) делать
    начало
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное 
                                                       - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоимени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;
    
    НачалоСубпериода := ДатаНачала;                         

    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
      Год := ГодДаты(ПредыдущаяДата(Субпериоды.ПолеПоИмени("date").КакДробное, 1, 0));
      НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
      ДлинаСубПериода := ЧислоДнейВПериоде(ИДЗаголовка, НачалоСубпериода, НачалоСледующегоСубПериода);
      Субсумма :=  Остаток * ДлинаСубПериода * Процент / (ЧислоДнейВЛюбомГоду(ИДЗаголовка, Год) * 100);
      если Субсумма &lt; 0 тогда Субсумма := 0;
      Результат := Результат + СубСумма;    

      // измененные условия кредита
      Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
      если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;

      НачалоСубпериода := НачалоСледующегоСубПериода;
      СубПериоды.Следующая;
    конец;
    //Результат := ОкруглитьДоЗнака(Результат, 2);
    СуммаВВалюте := 0;
    если не ЭтоНацВалюта тогда
    начало
      СуммаВВалюте := Результат;
      Результат := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(ИДЗаголовка), ДатаКонца) * СуммаВВалюте;
    конец;
    Результат := ОкруглитьДоЗнака(Результат, 2);
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;  
конец;

//Ищет в строке указанный символ, возвращает подстроку до символа, а в остаток - подстроку после символа
функция ВыделитьПодстрокуДоСимвола(Стр, Символ, Остаток: Строка): Строка;
переменные
  Поз: целое; 
начало
  Поз := Позиция(Символ, Стр);
  если Поз &gt; 0 тогда
  начало
    Результат := Подстрока(Стр, 1, Поз - 1);
    Остаток := Подстрока(Стр, Поз + 1, Длина(Стр) - Поз);
  конец
  иначе
  начало
    //Если не нашли, то возвращаем всю строку, а остаток пустой
    Результат := Стр;
    Остаток := "";
  конец;  
конец;

// Добавление записи в график уплаты процентов 
// Может использоваться в скрипте Расчета процентов
функция ДобавитьВГрафикУплатыПроцентов(ИДЗаголовка, ИДЗаписи: целое; Дата, СуммаВВалюте, Сумма: дробное; КодВалюты: целое);
переменные
  ГрафикПроц: СтатическиеДанные;
  
начало
  ГрафикПроц := СоздатьСтатическиеДанные;
  ГрафикПроц.СоединитьБД;
  ГрафикПроц.Запрос := "[PumpData] {"
                      + " select id, PlanDate, ProgIndex, RecordIndex, Summa, CurrencyCLS, CurrencySumma from LoanCreditPlan"
                      + " where (id = @RecordId)"
                      + " and (ProgIndex = 138)"
                      + "}"  
                      + "[InsertData]{"
                      + "insert into LoanCreditPlan (id, PlanDate, ProgIndex, RecordIndex, Summa, CurrencyCLS, CurrencySumma)"
                      + "values (@id, @PlanDate, 138, @RecordIndex, @Summa, @CurrencyCLS, @CurrencySumma)"
                      + "}"
                      + "[ModifyData]{"
                      + " update LoanCreditPlan set "
                      + " PlanDate = @PlanDate,"
                      + " Summa = @Summa,"
                      + " CurrencySumma = @CurrencySumma,"
                      + " CurrencyCLS = @CurrencyCLS"
                      + " where id = @id"
                      + "}";
  попытка
    // Проверяем, есть ли похожие записизаписи
    ГрафикПроц.Параметр("RecordID") := ЦелоеВСтроку(ИДЗаписи);
    ГрафикПроц.Открыть;
    
    если ГрафикПроц.Поле("Id").Пустое тогда 
    // Вставляем новую запись
    начало
      ГрафикПроц.Вставить;     
      ГрафикПроц.Поле("id").КакЦелое := ИДЗаписи;    
      ГрафикПроц.Поле("RecordIndex").КакЦелое := ИДЗаголовка;    
    конец
    иначе
      // Изменяем старую запись
      ГрафикПроц.Редактировать;

    ГрафикПроц.Поле("Summa").КакДробное := Сумма;    
    ГрафикПроц.Поле("CurrencySumma").КакДробное := СуммаВВалюте;    
    ГрафикПроц.Поле("CurrencyCLS").КакЦелое := КодВалюты;    
    если Дата &gt; 0 тогда
      ГрафикПроц.Поле("PlanDate").КакДробное := Дата
    иначе
      ГрафикПроц.Поле("PlanDate").КакСтрока := "";      
    ГрафикПроц.Сохранить;
    ГрафикПроц.СохранитьИзменения;
  обязательно
    УдалитьОбъект(ГрафикПроц);
  конец;
конец;
</value>
    <param value="ДляКредитов.abl" type="3" name="Export">GEN\gen\09.11.2005 12:02:34</param>
    <param value="ДляКредитов.abl" type="3" name="version">36.042.21</param>
    <param value="ДляКредитов.abl" type="3" name="crc32">$B556A346</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляКурсовойРазницы.abl">// расчет курсовой разницы
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\AblTools.lib';
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";
включить "Бюджет\Ресурсы\Макросы\ПараметрыИзБД.abl";
включить "Бюджет\Ресурсы\Макросы\ДляКурсовойРазницыОбщее.abl";
включить 'Project';
//Разделен на два скрипта (с Project'ом и без) для использования общей части на отчетнице
константы
  nl = #13#10;
  УзелПараметров = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелКР = "Бюджет\Объекты\Настройки\Кредиты\Курсовая разница";
  мКредит = "id=id,CurrencyCLS=CurrencyCLS,CurrencyCredit=CurrencySumma,AcceptDate=AcceptDate,CurrencyDebit=0";
  мДебет = "id=id,CurrencyCLS=CurrencyCLS,CurrencyDebit=CurrencySumma,AcceptDate=AcceptDate,CurrencyCredit=0";
  КодОснДолга = 1;
  КодПроценты = 2;
  КодПени = 3;

переменные
  Ф: ФормаВвода;
  Заголовки, КурсыВалют, ВремСС: СтатическиеДанные;
  ТекПараметр: ДиалоговыйПараметр;
  ДатаРасчета,СубКД, ПрогИндексИнтерфейса: целое;
  ссОснДолг, ссПроц, ссПени: СтатическиеДанные;
  СчетФО, ФлагГарантии, РассчитыватьНаДату: целое;

// Можно с помощью этой ф-ции отделить проценты от пеней
функция СформироватьКурсовуюРазницуСУчетомПрогИндексов(Данные: СтатическиеДанные; Маппинг, ИндексыДанных: строка; ТипКР, ФлагГарантии: целое);
переменные
  ВремСС: СтатическиеДанные;
начало
  ВремСС := СоздатьСтатическиеДанные;
  попытка
    ВремСС.ПрисвоитьПоля(Данные);
    если не ВремСС.FindField("CurrencyCredit", nil) тогда
      ВремСС.ДобавитьДробноеПоле("CurrencyCredit");
    если не ВремСС.FindField("CurrencyDebit", nil) тогда
      ВремСС.ДобавитьДробноеПоле("CurrencyDebit");
    если УбратьПробелы(ИндексыДанных) &lt;&gt; "" тогда
    начало
      Данные.Фильтр := "ProgIndex in [" + ИндексыДанных + "]";
      Данные.Filtered := Истина;
    конец;
    ВремСС.Открыть;
    ВремСС.PumpData(Данные, Маппинг);    
    СформироватьКурсовуюРазницу(ВремСС, КурсыВалют, ДатаРасчета, Ф.Заголовки.Таблица.Поле("ID").КакЦелое, ТипКР, ПрогИндексИнтерфейса, ФлагГарантии);    
  обязательно
    Данные.Фильтр := "";
    Данные.Filtered := Ложь;
    УдалитьОбъект(ВремСС);
  конец;
конец;

// Работает и для ссуд и для кредитов
функция КурсоваяРазница(Интерфейс: целое);
переменные
  ФлагПроц, ФлагПени, ФлагОснДолг: целое;
  РасчетПоДатам: целое;
начало
  РасчетПоДатам := Реестр.Узел(УзелКР).Значение("Использовать расчет по датам изменения курса").КакЦелое;
  прогИндексИнтерфейса := Интерфейс;
  Ф := ПолучитьФормуВвода;
  если Ф.ЕстьИзменения тогда
  ВызватьОшибку("Сохраните изменения и повторите попытку.");
  если Ф.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("Не выбрано ни одного договора.");
  если (Ф.АктивнаяДетализация &lt;&gt; 7) 
    и (Ф.АктивнаяДетализация &lt;&gt; -1) тогда
    ВызватьОшибку("Для расчета курсовой разницы нужно находиться в заголовках или в детализации 'Курс. разница'.");

  // Создаем статики для осн. долга, пени и процентов
  ссОснДолг := СоздатьСтатическиеДанные;
  ссПроц := СоздатьСтатическиеДанные;
  ссПени := СоздатьСтатическиеДанные;
  ссОснДолг.СоединитьБД;
  ссПроц.СоединитьБД;
  ссПени.СоединитьБД;
  ссОснДолг.Запрос := ЗапросОснДолгКредиты;
  ссПроц.Запрос := ЗапросПроцентыКредиты(КодПроценты); 
  ссПени.Запрос := ЗапросПроцентыКредиты(КодПени);

  // Показываем диалог
  Диалог.Очистить;
  Диалог.Заголовок := "Расчет курсовой разницы.";
  если РасчетПоДатам тогда
  начало
    ТекПараметр := Диалог.Добавить("Дата начала расчета", "ДатаНачала", 0, Календарь, "", "");
    ТекПараметр.Стиль := Календарь;
    ТекПараметр.Маска := "00.00.0000";
    ТекПараметр.Значение := DateExToStr((DateToDateEX(ТекущаяДата) цел 10000) * 10000 + 101);
  конец;
  ТекПараметр := Диалог.Добавить("Дата конца расчета", "ДатаРасчета", 0, Календарь, "", "");
  ТекПараметр.Стиль := Календарь;
  ТекПараметр.Маска := "00.00.0000";
  ТекПараметр.Значение := ДатаВСтроку(ТекущаяДата);
  Диалог.Добавить("Расчет для гарантий", "Гарантии", 0, ТолькоЧтение + Проверка);
  
  Если (Ф.АктивнаяДетализация &lt; 0) или (Ф.АктивнаяДетализация = 7) тогда
  начало
    // Для списка договоров показываем доп. данные
    Диалог.Добавить("Для осн. долга", "ОснДолг", 0, ТолькоЧтение + Проверка, "");
    Диалог.Флаг("ОснДолг") := Истина;
  конец;

  если (Ф.АктивнаяДетализация &lt; 0) или (Ф.АктивнаяДетализация = 3) или (Ф.АктивнаяДетализация = 4)
  или (Ф.АктивнаяДетализация = 7) тогда
  начало
    Диалог.Добавить("Для процентов", "Проц", 0, ТолькоЧтение + Проверка, "");
    Диалог.Флаг("Проц") := Истина;
    Диалог.Добавить("Для пени", "Пени", 0, ТолькоЧтение + Проверка, "");
    Диалог.Флаг("Пени") := Истина;
  конец; 
  //Диалог.Добавить("Рассчитывать на дату", "РасчетНаДату", 0, ТолькоЧтение + Проверка, "");
  //Диалог.Флаг("РасчетНаДату") := Истина;
  если не Диалог.Выполнить тогда Выход;
  если УбратьПробелы(Диалог.Значение("ДатаРасчета")) = "" тогда
    ВызватьОшибку("Не задана дата формирования!");
  ДатаРасчета := StrToDateEx(Диалог.Значение("ДатаРасчета"));

  //РассчитыватьНаДату := Диалог.Флаг("РасчетНаДату");
  СчетФО := ЦелаяКонстанта(-1, 2);
  ФлагГарантии := Диалог.Флаг("Гарантии");
  Если (Ф.АктивнаяДетализация &lt; 0) или (Ф.АктивнаяДетализация = 7) тогда
    ФлагОснДолг := Диалог.Флаг("ОснДолг");
  если (Ф.АктивнаяДетализация &lt; 0) или (Ф.АктивнаяДетализация = 3) или (Ф.АктивнаяДетализация = 4)
  или (Ф.АктивнаяДетализация = 7) тогда//параметры Пени и Проц были в диалоге
  начало
    ФлагПроц := Диалог.Флаг("Проц");
    ФлагПени := Диалог.Флаг("Пени");  
  конец
  иначе
  начало
    ФлагПени := ложь; ФлагПроц := ложь;
  конец;
  ссОснДолг.Параметр("InputDate") := ДробноеВСтроку(ДатаРасчета);
  ссПроц.Параметр("InputDate") := ДробноеВСтроку(ДатаРасчета);
  ссПени.Параметр("InputDate") := ДробноеВСтроку(ДатаРасчета);

  // Для случая Гарантий
  если ФлагГарантии тогда
  начало
    Диалог.Очистить;
    Диалог.Заголовок := "Введите счет ФО для гарантий";
    Диалог.ДобавитьСчетФО("Счет ФО", "DFAccount.Acc", 0);
    Диалог.ДобавитьСчетФО("ИД", "DFAccount.DFAcc_Ref", 0);
    //Диалог.Значение("DFAccount.DFAcc_Ref") := Реестр.Узел(УзелКР).Значение("Счет ФО для гарантий").КакСтрока;
    если не Диалог.Выполнить тогда
      ВызватьОшибку("Не указан счет ФО для гарантий.");
    если Диалог.Значение("DFAccount.DFAcc_Ref") &lt;&gt; 0 тогда
    начало
      СчетФО := ЦелоеВСтроку(Диалог.Значение("DFAccount.DFAcc_Ref"));
      //Реестр.Узел(УзелКР).Значение("Счет ФО для гарантий").КакСтрока := Диалог.Значение("DFAccount.DFAcc_Ref");
    конец;
  конец;
  УстановитьСчетФО(СчетФО);
  // Закачиваем проводки
  ОткрытьТранзакцию; // Если где-либо обломится, тогда вставленные данные в базе не сохранятся
  КурсыВалют := СоздатьСтатическиеДанные;
  если Ф.АктивнаяДетализация &gt;= 0 тогда
    Ф.Детализация(Ф.АктивнаяДетализация).Таблица.DisableControls
  иначе
    Ф.Заголовки.Таблица.DisableControls;  
  попытка
    ЗаполнитьКурсыВалют(КурсыВалют, ДатаРасчета);
    если (Ф.АктивнаяДетализация &gt; -1) и (Ф.АктивнаяДетализация &lt; 7) тогда
    начало
      // Считаем курсовую разницу только для указанной детализации
      если Ф.Детализация(Ф.АктивнаяДетализация).Сетка.ЕстьВыделенныеСтроки тогда
        ВремСС := Ф.Детализация(Ф.АктивнаяДетализация).Сетка.ПолучитьВыделенныеСтроки
      иначе
        ВремСС := Ф.Детализация(Ф.АктивнаяДетализация).Таблица;
      если (Ф.АктивнаяДетализация = 0) или (Ф.АктивнаяДетализация = 3) тогда
      начало
        // нужно определиться, над чем мы работаем, над процентами или над пенями
        если ФлагПроц тогда
          СформироватьКурсовуюРазницуСУчетомПрогИндексов(ВремСС, мКредит, "134", КодПроценты, ФлагГарантии);
        если ФлагПени тогда
          СформироватьКурсовуюРазницуСУчетомПрогИндексов(ВремСС, мКредит, "335,336", КодПени, ФлагГарантии);
        если Ф.АктивнаяДетализация = 0 тогда
          СформироватьКурсовуюРазницуСУчетомПрогИндексов(ВремСС, мКредит, "131", КодОснДолга, ФлагГарантии);
      конец
      иначе
      начало
        если ФлагПроц тогда
          СформироватьКурсовуюРазницуСУчетомПрогИндексов(ВремСС, мДебет, "133", КодПроценты, ФлагГарантии);
        если ФлагПени тогда
          СформироватьКурсовуюРазницуСУчетомПрогИндексов(ВремСС, мДебет, "338,339", КодПени, ФлагГарантии);
        если Ф.АктивнаяДетализация = 2 тогда
          СформироватьКурсовуюРазницуСУчетомПрогИндексов(ВремСС, мДебет, "132", КодОснДолга, ФлагГарантии);
      конец;
    конец иначе
    начало
      // Считаем курсовую разницу для списка договоров
      если Ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда
        Заголовки := Ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки
      иначе начало
        Заголовки := Ф.Заголовки.Таблица;
        Заголовки.Фильтр := "id = " + ЦелоеВСтроку(Заголовки.Поле("ID").КакЦелое);
        Заголовки.Filtered := Истина;
      конец;
      Заголовки.ВНачало;
      // Обрабатываем все записи из заголовка
      пока не Заголовки.ВКонце делать
      начало
        если ФлагОснДолг тогда
        начало
          ссОснДолг.Параметр("MasterID") := Заголовки.Поле("ID").КакСтрока;
          ссОснДолг.Закрыть;
          ссОснДолг.Открыть;
          если РасчетПоДатам
            тогда КРпоДатамИзмененияКурса(ссОснДолг, КурсыВалют, ДатаРасчета, StrToDateEx(Диалог.Значение("ДатаНачала")), Заголовки.Поле("ID").КакЦелое, КодОснДолга, Интерфейс, ФлагГарантии)
            иначе СформироватьКурсовуюРазницу(ссОснДолг, КурсыВалют, ДатаРасчета, Заголовки.Поле("ID").КакЦелое, КодОснДолга, Интерфейс, ФлагГарантии);
        конец;
        если ФлагПроц тогда
        начало
          ссПроц.Параметр("MasterID") := Заголовки.Поле("ID").КакСтрока;
          ссПроц.Закрыть;
          ссПроц.Открыть;
           если РасчетПоДатам и (ссПроц.ЧислоЗаписей &gt; 0) 
            тогда КРпоДатамИзмененияКурса(ссПроц, КурсыВалют, ДатаРасчета, StrToDateEx(Диалог.Значение("ДатаНачала")), Заголовки.Поле("ID").КакЦелое, КодОснДолга, Интерфейс, ФлагГарантии)
            иначе СформироватьКурсовуюРазницу(ссПроц, КурсыВалют, ДатаРасчета, Заголовки.Поле("ID").КакЦелое, КодПроценты, Интерфейс, ФлагГарантии);
        конец;
        если ФлагПени тогда
        начало
          ссПени.Параметр("MasterID") := Заголовки.Поле("ID").КакСтрока;
          ссПени.Закрыть;
          ссПени.Открыть;
          если РасчетПоДатам и (ссПени.ЧислоЗаписей &gt; 0)
            тогда КРпоДатамИзмененияКурса(ссПени, КурсыВалют, ДатаРасчета, StrToDateEx(Диалог.Значение("ДатаНачала")), Заголовки.Поле("ID").КакЦелое, КодОснДолга, Интерфейс, ФлагГарантии)
            иначе СформироватьКурсовуюРазницу(ссПени, КурсыВалют, ДатаРасчета, Заголовки.Поле("ID").КакЦелое, КодПени, Интерфейс, ФлагГарантии);
        конец;
        Заголовки.Следующая;
      конец;  
    конец;  
  
    ЗакрытьТранзакцию; // Сохраняем изменения в базе
    /*
    если Ф.АктивнаяДетализация = 7 тогда
    начало
      Ф.Детализация(7).Таблица.Закрыть;
      Ф.Детализация(7).Таблица.Фильтр := "";
      Ф.Детализация(7).Таблица.Открыть;
    конец; */
    Сообщение("Формирование завершено.");  
  обязательно
    если Ф.АктивнаяДетализация &gt;= 0 тогда
    начало
      Ф.Детализация(Ф.АктивнаяДетализация).Таблица.EnableControls;
      Ф.Детализация(Ф.АктивнаяДетализация).Таблица.Закрыть;
      Ф.Детализация(Ф.АктивнаяДетализация).Таблица.Фильтр := "";
      Ф.Детализация(Ф.АктивнаяДетализация).Таблица.Открыть;
    конец
    иначе
      Ф.Заголовки.Таблица.EnableControls;  
    если Заголовки &lt;&gt; 0 тогда
    начало
      Заголовки.Filtered := Ложь;
      Заголовки.Фильтр := "";
    конец;
    УдалитьОбъект(КурсыВалют, ссОснДолг, ссПроц, ссПени);
    ОтменитьТранзакцию;
  конец;
конец;
</value>
    <param value="ДляКурсовойРазницы.abl" type="3" name="Export">PARFENOV\parfenovmv\20.03.2006 15:32:37</param>
    <param value="ДляКурсовойРазницы.abl" type="3" name="version">36.042.21</param>
    <param value="ДляКурсовойРазницы.abl" type="3" name="crc32">$4A6CE7C0</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляКурсовойРазницыОбщее.abl">// расчет курсовой разницы
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\AblTools.lib';
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";
включить "Бюджет\Ресурсы\Макросы\ПараметрыИзБД.abl";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";

константы
  nl = #13#10;
  УзелПараметров = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелКР = "Бюджет\Объекты\Настройки\Кредиты\Курсовая разница";
  КодОснДолга = 1;
  КодПроценты = 2;
  КодПени = 3;
  
  БлокКредиты = 4;
  БлокГарантии = 31;
  БлокОперацииСВалютой = 01;
  УзелПараметровКРКредиты  = "Бюджет\Объекты\Настройки\Кредиты\Курсовая разница";
  УзелПараметровКРГарантии = "Бюджет\Объекты\Настройки\Гарантии\КурсоваяРазница";
  УзелПараметровКРОперацииСВалютой = "Бюджет\Объекты\Настройки\Курсовая разница по РС\Параметры";
  КлючОперацияПоложительнойКР = "Операция отражения полож. курс. разн.";
  КлючОперацияОтрицательнойКР = "Операция отражения отриц. курс. разн.";
  

переменные
  СчетФО, РассчитыватьНаДату: целое;

// Определяет тип используемых в системе проводок
// Если Истина - то по бухоперации
// Ложь - СчетФО&lt;-СубКД
функция ОпределитьТипПроводокВСистеме: целое;
начало
  Результат := ЦелаяКонстанта(3, 6);
конец;

// Функция возвращает счет, используемый в формировании курсовой разницы
// Предыдущие фичи, типа счет по бухоперации и т.д. очевидно будут не нужны
функция ОпределитьСчет(ИДЗаголовка: целое): целое;
переменные
  Счета: СтатическиеДанные;
начало
  попытка
    Счета := СоздатьСтатическиеДанные;
    Счета.СоединитьБД;
    если ОпределитьТипПроводокВСистеме тогда
      // По бухоперациям
      Счета.Запрос := "[PumpData] {"
                   // Из получения
                   + " select distinct ac.Сredit BuhAcc from Debt d"
                   + " left join AccountsCorr ac on (ac.BuhOperationID = d.BuhPaymentCLS)"
                   + " where d.ProgIndex = 131 and d.RecordIndex = @MasterID"
                   + "}"
                   // Из погашения
                   + " {"
                   + " select distinct ac.Debit BuhAcc from Debt d"
                   + " left join AccountsCorr ac on (ac.BuhOperationID = d.BuhPaymentCLS)"
                   + " where d.ProgIndex = 132 and d.RecordIndex = @MasterID"
                   + "}"
    иначе
      // По СчетФО&lt;-СубКД
      Счета.Запрос:= "[PumpData] {"
                   + " select distinct s.BuhAccount BuhAcc from Debt d"
                   + " left join SubKD s on (s.id = d.SubKD)"
                   + " where (d.ProgIndex in (131,132)) and (d.RecordIndex = @MasterID)"
                   + "}";                
    Счета.Параметр("MasterID") := ЦелоеВСтроку(ИДЗаголовка);
    Счета.Открыть;
    Счета.ВНачало;               
    Результат := Счета.Поле("BuhAcc").КакЦелое;
    Счета.Следующая;
    пока не Счета.ВКонце делать
    начало
      если Счета.Поле("BuhAcc").КакЦелое &lt;&gt; Результат тогда
        ВызватьОшибку("В договоре используются различные счета в операциях по основному долгу.");
      Счета.Следующая;
    конец;
  обязательно
    УдалитьОбъект(Счета);
  конец;
конец;

функция ОпределитьСчетаПроценты(ИДЗаголовка, ТипКР, СчетКредит, СчетДебет: целое);
переменные
  Счета: СтатическиеДанные;
начало
  Счета := СоздатьСтатическиеДанные;
  Счета.СоединитьБД;
  попытка
    Счета.Запрос := "[PumpData] {select ac.Credit, ac.Debit from LoanCreditPercents lcp"
                 + " left join AccountsCorr ac on (ac.BuhOperationID = lcp.BuhPaymentCLS)"
                 + " where lcp.RecordIndex = @MasterID and (lcp.ProgIndex in (@ProgIndexList))}";
    Счета.Параметр("MasterID") := ИДЗаголовка;
    если ТипКР = КодПроценты тогда
      Счета.Параметр("ProgIndexList") := "134"
    иначе
      Счета.Параметр("ProgIndexList") := "335,336";
    Счета.Открыть;
    Счета.ВНачало;
    СчетКредит := Счета.Поле("Credit").КакЦелое;
    СчетДебет := Счета.Поле("Debit").КакЦелое;
  обязательно
    УдалитьОбъект(Счета);
  конец;
конец;
  
функция ПолучитьДебетовыйСчетИзРеестра(ФлагГарантии: целое): строка;
начало
  если ФлагГарантии
  тогда результат := Реестр.Узел(УзелКР).Значение("Дебетовый счет гарантий").КакСтрока
  иначе результат := Реестр.Узел(УзелКР).Значение("Дебетовый счет").КакСтрока;
  
  если УбратьПробелы(Результат) = "" тогда
  начало
    Диалог.Очистить;
    Диалог.Заголовок := "Введите дебетовый счет";
    //Диалог.ДобавитьКлассификатор("Дебетовый счет", тк_БухСчет, 0, 0, "####.##"); -новый АБЛ так не любит
    Диалог.ДобавитьКлассификатор("Дебетовый счет", тк_БухСчет, 0);
    если не Диалог.Выполнить тогда
      ВызватьОшибку("Не указан дебетовый счет. Формирование курсовой разницы прервано пользователем.");
    Результат := ЦелоеВСтроку(КлассификаторВЧисло(Диалог.Значение(тк_БухСчет), "0000.00")); 
    если ФлагГарантии
    тогда Реестр.Узел(УзелКР).Значение("Дебетовый счет гарантий").КакЦелое := Диалог.Значение(тк_БухСчет)
    иначе Реестр.Узел(УзелКР).Значение("Дебетовый счет").КакЦелое := Диалог.Значение(тк_БухСчет);
  конец;
конец;

// Типа константы
// Для Кредитов и Ссуд описаны новые прогиндексы
функция ПрогИндексСсуды: целое;
начало
  Результат := 320;
конец;

функция ПрогИндексКредиты: целое;
начало
  Результат := 330;
конец;

функция ПрогИндексСсудыСтарый: целое;
начало
  Результат := 120;
конец;

функция ПрогИндексКредитыСтарый: целое;
начало
  Результат := 130;
конец;
// Типа константы кончились  

функция ЗапросОснДолгКредиты: строка;
начало
  Результат := "[PumpData] { "
                   // Получено
                   + " select BuhPaymentCLS, CurrencyCLS, CurrencySumma CurrencyCredit, DFAccount,"
                   + " AccRef, RecordDate AcceptDate, cast(0 as double precision) CurrencyDebit, ProgIndex, RecordIndex, SubKD"
                   + " from Debt"
                   + " where (RecordIndex = @MasterID)"
                   + " and (ProgIndex = 131)"
                   + " and (RecordDate is not null)"
                   + " and (RecordDate &lt;= @InputDate)"
                   + "}"
                   // Погашено
                   + "{"
                   + " select BuhPaymentCLS, CurrencyCLS, CurrencySumma CurrencyDebit, DFAccount,"
                   + " AccRef, RecordDate AcceptDate, cast(0 as double precision) CurrencyCredit, ProgIndex, RecordIndex, SubKD"
                   + " from Debt"
                   + " where (RecordIndex = @MasterID)"
                   + " and (ProgIndex = 132)"
                   + " and (RecordDate is not null)"
                   + " and (RecordDate &lt;= @InputDate)"
                   + "}";
конец;

функция ЗапросПроцентыКредиты(Тип: строка): строка;
переменные
  СтрокаОгрНачисл, СтрокаОгрУплачено: строка;
начало
    выбрать Тип из
      КодПроценты: 
         начало
           СтрокаОгрНачисл := " and (ProgIndex in (134, 334))";
           СтрокаОгрУплачено := " and (ProgIndex in (133, 337))";
         конец;
      КодПени:
         начало
           СтрокаОгрНачисл := " and (ProgIndex in (335, 336))";
           СтрокаОгрУплачено := " and (ProgIndex in (338, 339))";
         конец;
    конец;                                   
 
  Результат := "[PumpData] {"
                // Начислено проц
                + " select BuhPaymentCLS, CurrencyCLS, CurrencySumma CurrencyCredit, RecordDate AcceptDate,"
                + " cast(0 as double precision) CurrencyDebit, ProgIndex, RecordIndex, SubKD, 0 FinType"
                + " from LoanCreditPercents"
                + " where (RecordIndex = @MasterID)"
                + СтрокаОгрНачисл
                + " and (RecordDate is not null)"
                + " and (RecordDate &lt;= @InputDate)"
                + "}"
                
                // Уплачено проц
                + "{"
                + " select BuhPaymentCLS, CurrencyCLS, CurrencySumma CurrencyDebit, RecordDate AcceptDate,"
                + " cast(0 as double precision) CurrencyCredit, ProgIndex, RecordIndex,0 SubKD, FinType"
                + " from FinDocDetail"
                + " where (RecordIndex = @MasterID)"
                + СтрокаОгрУплачено
                + " and (RecordDate is not null)"
                + " and (RecordDate &lt;= @InputDate)"
                + "}";
конец;

функция ПолучитьОсновнойСчетФОСтрокой: строка;
переменные
  В: Выборка;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    В.Запрос := "select Acc from Org_Accounts where id = " + ЦелоеВСтроку(ЦелаяКонстанта(-1, 2));
    В.Открыть;
    если В.ЧислоЗаписей &lt;&gt; 1 тогда
      ВызватьОшибку("Не найден основной счет ФО.")
    иначе
      Результат := В.Поле("Acc").КакСтрока;  
      
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

функция ПолучитьИстВнутрФин(ПараметрИВнутрФ: строка): целое;
переменные
  ИВнутрФСтрокой, ИВФстр : строка;
  ИВФ, счетчик : целое;
  ДКлассификатора : ДанныеКлассификатора;
начало
//Считываем из реестра FullId Источника финансирования
  ИВнутрФСтрокой := Реестр.Узел(УзелКР).Значение(ПараметрИВнутрФ).КакСтрока;
//Ищем для него Id 
  ДКлассификатора := ДанныеКлассификатора;
  если ДКлассификатора.НайтиЗапись(тк_ИсточникВнутрФин ,"FullID",ИВнутрФСтрокой) 
  тогда ИВФ := ДКлассификатора.Поиск(тк_ИсточникВнутрФин,"FullID",ИВнутрФСтрокой,"ID")
  иначе ИВФ := 0;
// Если значение в справочнике не обнаружено, то ...
  если ИВФ=0 тогда
  начало
//...вызываем диалог
    Диалог.Очистить;
    Диалог.Заголовок := ПараметрИВнутрФ;
    //Диалог.ДобавитьКлассификатор("Ист. внутр. финансирования", тк_ИсточникВнутрФин, 0, 0, "##.##"); -новый АБЛ так не любит
    Диалог.ДобавитьКлассификатор("Ист. внутр. финансирования", тк_ИсточникВнутрФин, 0);
    Диалог.Значение(тк_ИсточникВнутрФин) := "";
    если не Диалог.Выполнить тогда
      ВЫзватьОшибку("Формирование курсовой разницы прервано пользователем.");
     ИВнутрФСтрокой := Диалог.Значение(тк_ИсточникВнутрФин);  
  конец;
//Для того чтобы точки из строки убрать ...
  ИВФстр := '';
  от счетчик := 1 до Длина(ИВнутрФСтрокой) делать
    если ИВнутрФСтрокой[счетчик]&lt;&gt;'.' 
    тогда  ИВФстр := ИВФстр+ИВнутрФСтрокой[счетчик];  
  ИВнутрФСтрокой := ИВФстр;
//Получим по этому значению Id
  если ДКлассификатора.НайтиЗапись(тк_ИсточникВнутрФин ,"FullID",ИВнутрФСтрокой) 
  тогда ИВФ := ДКлассификатора.Поиск(тк_ИсточникВнутрФин,"FullID",ИВнутрФСтрокой,"ID")
  иначе ИВФ := 0;
  Результат := ИВФ;
// В реестр запишем FullId (без точек)
  Реестр.Узел(УзелКР).Значение(ПараметрИВнутрФ).КакСтрока := ИВнутрФСтрокой;
конец;

функция НайтиКодПроводки(СчетКредит, СчетДебет: строка): целое;
переменные
  В : Выборка;
начало
  если (УбратьПробелы(СчетКредит) = "") или (УбратьПробелы(СчетДебет) = "") тогда
    ВызватьОшибку("Невозможно определить проводку."); 
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    
    В.Запрос := Формат("Select * From AccountsCorr where debit=%d and credit=%d", СтрокаВЦелое(СчетДебет), СтрокаВЦелое(СчетКредит));
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда 
    начало
      В.ВНачало;
      если В.Поле("BuhOperationID").Пустое тогда
        ВызватьОшибку(Формат("Счетам %d - %d не указана соответствующая бухгалтерская операция", В.Поле("Debit").КакЦелое, В.Поле("Credit").КакЦелое))
      иначе
        результат := В.Поле("BuhOperationID").КакЦелое;
    конец
    иначе
      ВызватьОшибку(Формат("Счета %d - %d отсутствуют в корреспонденции счетов", СтрокаВЦелое(СчетДебет), СтрокаВЦелое(СчетКредит)));
  обязательно
    УдалитьОбъект(В);
  конец;  
конец;

функция ДописатьКурс(Данные : СтатическиеДанные; Число, Валюта : Целое; Курс : Дробное);
начало
  Данные.Insert;
  Данные.FieldByName('Dat').asInteger := Число;
  Данные.FieldByName('Currency').asInteger := Валюта; 
  Данные.FieldByName('Exchange').asFloat := Курс;  
  Данные.Post;
конец;

функция ОпределитьПараметрыКурса(Данные : СтатическиеДанные; Число, Валюта : Целое; Курс : Дробное);
начало
  Число := Данные.FieldByName('Dat').asInteger;
  Валюта := Данные.FieldByName('Currency').asInteger; 
  Курс :=  Данные.FieldByName('Exchange').asFloat;  
конец; 

функция ДополнитьКурсы(Данные : СтатическиеДанные; НачальноеЧисло, КонечноеЧисло, Валюта : Целое; Курс : Дробное);
переменные
  i : Целое;
начало
  от i := НачальноеЧисло до КонечноеЧисло
  делать начало
    Если ((i ост 100) &lt;= 32) и (((i цел 100) ост 100) &lt;= 12)
      тогда ДописатьКурс(Данные, i, Валюта, Курс)
  конец;
конец;  

// делает выборку из курсов валют и заполняет пропущенные даты
функция ЗаполнитьКурсыВалют(Данные : СтатическиеДанные; Дата : целое);
переменные
  ВременныеДанные : СтатическиеДанные;
  ТекущееЧисло, ТекущаяВалюта : Целое;
  Текущийкурс : Дробное;
начало
  Данные.Закрыть;
  ВременныеДанные := СоздатьСтатическиеДанные;
  Попытка
    ВременныеДанные.СоединитьБД;
    ВременныеДанные.Запрос := '[PumpData]' + nl +
                     '{select Dat, Currency, Exchange ' + nl +
                     'from CurrencyExchange' + nl +
                     'Where (Dat &lt;= ' + ЦелоеВСтроку(Дата) +')}';
    ВременныеДанные.Открыть;
    ВременныеДанные.IndexFieldNames := 'Currency;Dat';
    Данные.AssignFields(ВременныеДанные);
    если (ВременныеДанные.RecordCount &gt; 0)
    тогда начало
      ВременныеДанные.Вначало;
      ОпределитьПараметрыКурса(ВременныеДанные, ТекущееЧисло, ТекущаяВалюта, ТекущийКурс);
      ДописатьКурс(Данные, ТекущееЧисло, ТекущаяВалюта, ТекущийКурс);
      ВременныеДанные.Next;
      Пока (не ВременныеДанные.Вконце)
      делать начало
        // если валюта не поменялась - то ...
        Если (ТекущаяВалюта = ВременныеДанные.FieldByName('Currency').asInteger)
        тогда начало
          ДополнитьКурсы(Данные, ТекущееЧисло + 1, ВременныеДанные.FieldByName('Dat').asInteger - 1, ТекущаяВалюта, ТекущийКурс);
          ОпределитьПараметрыКурса(ВременныеДанные, ТекущееЧисло, ТекущаяВалюта, ТекущийКурс);
          ДописатьКурс(Данные, ТекущееЧисло, ТекущаяВалюта, ТекущийКурс);
        конец
        иначе начало
          // поменялась валюта - дописываем старое до последней даты
          ДополнитьКурсы(Данные, ТекущееЧисло + 1, Дата, ТекущаяВалюта, ТекущийКурс);
          ОпределитьПараметрыКурса(ВременныеДанные, ТекущееЧисло, ТекущаяВалюта, ТекущийКурс);
          ДописатьКурс(Данные, ТекущееЧисло, ТекущаяВалюта, ТекущийКурс); 
        конец;
        ВременныеДанные.Next;
      конец;
      // для последней вылюты дописываем курсы
      ДополнитьКурсы(Данные, ТекущееЧисло + 1, Дата, ТекущаяВалюта, ТекущийКурс);
      Данные.IndexFieldNames := 'Currency;Dat';
    конец;  
  обязательно
    УдалитьОбъект(ВременныеДанные);
  конец;                 
конец;

функция ВернутьКурсВалютыПоКодуИДате(ЗакаченныеДанные : СтатическиеДанные; КодВалюты, Дата : Целое; РезКурс : дробное):целое;
начало
  результат := ЗакаченныеДанные.Locate('Currency;Dat', ArrayOf(КодВалюты, Дата), 0);
  если (результат)
    тогда РезКурс := ЗакаченныеДанные.полеПоИмени('Exchange').asFloat
    иначе ВозбудитьОшибку('Не могу выполнить операцию формирования курсовой разницы. Курс валюты '+ЦелоевСтроку(КодВалюты)+
      ' на число '+ РасширеннаяДатаВСтроку(Дата) + ' не найден.');
конец;

// Получаем дату, на которую у нас уже сформирована курсовая разница
функция ПолучитьПослДатуКР(ТипКР, ПрогИндекс, ИДЗаголовка: целое): дробное;
переменные
  В: Выборка;
начало
  В := СоздатьВыборку;
  попытка
    В.БазаДанных := Бюджет;
    В.Запрос := "select max(RecordDate) Date from Debt"
                + " where (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (ProgIndex = " + ЦелоеВСтроку(ПрогИндекс + ТипКР) + ")";
    В.Открыть;
    Результат := В.Поле("Date").КакДробное;            
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Запрос для вставки записей по курсовой разнице
функция ЗапросКурсоваяРазница: строка;
начало
  Результат := "[PumpData]{"
               + " select ic.id, d.RecordDate AcceptDate, d.ProgIndex, d.RecordIndex, d.Credit, d.Debit, d.CurrencyCLS, d.CurrencySumma,"
               + " ic.Exchange, ic.Delta, d.AccRef, d.DFAccount, d.Note, d.IFS, d.BuhPaymentCls, d.BuhOperationCls" 
               + " from Debt d"
               + " left join IncCurrency ic on (ic.id = d.RecordIndex2)"
               + " where (1&lt;&gt;1)" 
               + "}"
               + "[InsertData]"
               + "{insert into IncCurrency (id, Exchange, Delta)"
               + " values (@id, @Exchange, @Delta)"
               + "}"
               + "{ insert into Debt (RecordDate, ProgIndex, RecordIndex, Credit, Debit, CurrencyCLS, CurrencySumma,"
               + " RecordIndex2, AccRef, DFAccount, Note, IFS, BuhPaymentCLS, BuhOperationCls)"
               + " values"
               + " ( @AcceptDate, @ProgIndex, @RecordIndex, @Credit, @Debit, @CurrencyCLS, @CurrencySumma,"
               + " @id, @AccRef, @DFAccount, ~Note, @IFS, @BuhPaymentCLS, @BuhOperationCls)"
               + "}"; 
конец;

// Получить новый ИД
функция ПолучитьИД : целое;
переменные
  СС: СтатическиеДанные;
начало
  СС := СоздатьСтатическиеДанные;
  СС.СоединитьБД;
  попытка
    СС.SQL := "[PumpData] {select gen_id(g_Shared,1) ID from Single}";
    СС.Открыть; 
    СС.ВНачало; 
    результат := СС.ПолеПоИмени("ID").КакЦелое;
    СС.Закрыть;
  обязательно  
    УдалитьОбъект(СС);
  конец;  
конец; 

// Находит дату, которой кончаются предыдущие периоды КР
функция ОпределитьДатуНачалаПериодовКР(ПрогИндекс, Валюта, ИДЗаголовка: целое): дробное;
переменные
  В: Выборка;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    В.Запрос :=  " select max(RecordDate) AcceptDate from Debt"
               + " where ProgIndex = " + ЦелоеВСтроку(ПрогИндекс)
               + " and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
               + " and CurrencyCLS = " + ЦелоеВСтроку(Валюта);
    В.Открыть;
    Результат := В.Поле("AcceptDate").КакДробное; 
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Считает остаток на указанную дату
функция ПодсчитатьОстатокНаДату(Данные: СтатическиеДанные; Дата: дробное; Валюта: целое): дробное;
начало
  Результат := 0;
  если Дата &gt; 0.5 тогда
  начало
    //Данные.Индекс := "AcceptDate";
    // Проверить много раз
    пока (Данные.Поле("AcceptDate").КакДробное &lt;= Дата) 
      и (Данные.Поле("CurrencyCLS").КакЦелое = Валюта)
      и не Данные.ВКонце
    делать
    начало
      Результат := Результат + Данные.Поле("CurrencyCredit").КакДробное - Данные.Поле("CurrencyDebit").КакДробное;
      Данные.Следующая;
    конец;
    //пока не 
  конец;
конец;

// возвращаем операцию (70н) по курсовой разнице в зависимости от блока  и суммы
функция ПолучитьОперациюОтраженияКР(Блок: целое; Сумма: дробное): целое;
начало
  Выбрать Блок из
      БлокКредиты  :         начало
                               // проверяем сумму - в зависимости от знака берём соответсвующую операцию 
                               Если Сумма&gt;=0 
                                 тогда результат := Реестр.Узел(УзелПараметровКРКредиты).Значение(КлючОперацияПоложительнойКР).КакЦелое 
                                 иначе результат := Реестр.Узел(УзелПараметровКРКредиты).Значение(КлючОперацияОтрицательнойКР).КакЦелое; 
                             конец;    
      БлокГарантии :         начало
                               // проверяем сумму - в зависимости от знака берём соответсвующую операцию
                               Если Сумма&gt;=0 
                                 тогда результат := Реестр.Узел(УзелПараметровКРГарантии).Значение(КлючОперацияПоложительнойКР).КакЦелое 
                                 иначе результат := Реестр.Узел(УзелПараметровКРГарантии).Значение(КлючОперацияОтрицательнойКР).КакЦелое;
                             конец;   
      БлокОперацииСВалютой : начало 
                               // проверяем сумму - в зависимости от знака берём соответсвующую операцию
                               Если Сумма&gt;=0 
                                 тогда результат := Реестр.Узел(УзелПараметровКРОперацииСВалютой).Значение(КлючОперацияПоложительнойКР).КакЦелое 
                                 иначе результат := Реестр.Узел(УзелПараметровКРОперацииСВалютой).Значение(КлючОперацияОтрицательнойКР).КакЦелое; 
                             конец;     
  конец;
конец;



/* Расчет курсовой разницы по датам измения курса валюты. */
функция КРпоДатамИзмененияКурса(Данные, КурсыВалют: СтатическиеДанные; Дата, ДатаНачала: дробное; ИДЗаголовка, ТипКР, ПрогИндекс, ФлагГарантии: целое);
переменные
  ТекВалюта: целое;
  ПолеКредит, ПолеДебет  : строка;
  СчетКредит, СчетДебет: целое;
  ссКурсоваяРазница, ВспомСД : СтатическиеДанные;
  ПредДата, ТекДата, ПредКурс, ТекКурс, Остаток, КурсРазница, ИтогКурсРазница: дробное;
начало
  ПолеКредит := "CurrencyCredit";
  ПолеДебет := "CurrencyDebit";
  СчетДебет := СтрокаВЦелое(ПолучитьДебетовыйСчетИзРеестра(ФлагГарантии));
  
  если СчетДебет &lt; 10000 
    тогда СчетДебет := СчетДебет * 100;     // В реестре указан счет из 4 цифр
    
  если (ТипКР = КодОснДолга) или ФлагГарантии 
    тогда СчетКредит := ОпределитьСчет(Данные.Поле("RecordIndex").КакЦелое)
    иначе ОпределитьСчетаПроценты(Данные.Поле("RecordIndex").КакЦелое, ТипКР, СчетКредит, СчетДебет);
    
  ссКурсоваяРазница := СоздатьСтатическиеДанные;
  ссКурсоваяРазница.СоединитьБД;
  ссКурсоваяРазница.Запрос := ЗапросКурсоваяРазница;
  ссКурсоваяРазница.Открыть;
  ВспомСД := СоздатьСтатическиеДанные;
  ВспомСД.ПрисвоитьПоля(Данные);
  ВспомСД.Открыть;
  ВспомСД.Закачать(Данные);
  Данные.Clear;
  Данные.Группировать(ВспомСД, "keys=CurrencyCLS,RecordIndex,AcceptDate;CurrencyCredit=sum(CurrencyCredit);CurrencyDebit=sum(CurrencyDebit)");
  // Избавляемся от записей без даты и с нац. кодом валюты
  Данные.Фильтр := "(AcceptDate &gt; 0) and (CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(КодНацВалюты)+ ")"
    + " and (AcceptDate &lt;=" + ДробноеВСтроку(Дата) + ")";
  Данные.Filtered := Истина;
  Данные.Индекс := "CurrencyCLS;AcceptDate";
  
  // Сместим все даты на 1 вперед, для того, чтобы считалась курсовая разница с учетом остатка на начало дня
  Данные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    Данные.Редактировать;
    Данные.Поле("AcceptDate").КакДробное := СледующаяДата(Данные.Поле("AcceptDate").КакДробное, 1, 0);  
    Данные.Сохранить;
    Данные.Следующая;
  конец;
  
  Данные.ВНачало;
  
  // Нужно проверить, были ли у нас периоды по КР ранее, если были, то этот факт нужно учесть
  ТекВалюта := Данные.Поле("CurrencyCLS").КакСтрока; 
  /*
  ПредДата := ОпределитьДатуНачалаПериодовКР(ТипКР + ПрогИндекс, ТекВалюта, ИДЗаголовка);
  если ПредДата &gt; 0.5 тогда
  начало
    // Есть записи о курсовой разнице - нужно учесть
      Остаток := ПодсчитатьОстатокНаДату(Данные, ПредДата, ТекВалюта)
  конец
  иначе начало
    //Не было записей о курсовой разнице
    ПредДата := Данные.Поле("AcceptDate").КакДробное; 
    Остаток := Данные.Поле(ПолеКредит).КакДробное - Данные.Поле(ПолеДебет).КакДробное;
    Данные.Следующая;
  конец;  */
  Остаток := ПодсчитатьОстатокНаДату(Данные, ДатаНачала, ТекВалюта);
  ПредДата := ДатаНачала;
  ИтогКурсРазница := 0;
   
  //ограничиваем набор с валютой по дате начала расчета
  КурсыВалют.Фильтр := "(DAT &gt;= " + ДробноеВСтроку(ПредДата) + ") and (currency =" + Данные.Поле("CurrencyCLS").КакСтрока + ")";
  КурсыВалют.Filtered := Истина;
  КурсыВалют.ВНачало;
  ПредКурс := КурсыВалют.Поле("Exchange").КакДробное;
  КурсыВалют.Следующая;
  
  пока не КурсыВалют.ВКонце делать
  начало
    //смотрим отличается ли текущий курс от предыдущего, если отличается считаем разницу, и сохраняем, то что насчитали.
    если (ПредКурс &lt;&gt; КурсыВалют.Поле("Exchange").КакДробное) или (КурсыВалют.Поле("DAT").КакДробное = Дата) тогда
    начало
      ТекКурс := КурсыВалют.Поле("Exchange").КакДробное;
      КурсРазница := (ТекКурс - ПредКурс) * Остаток;
      ИтогКурсРазница := ИтогКурсРазница + КурсРазница;
      
      //здесь должно быть сохранение.
      ссКурсоваяРазница.Вставить;
      ссКурсоваяРазница.Поле("Id").КакЦелое := ПолучитьИД; // Получаем ИД
      ссКурсоваяРазница.Поле("AcceptDate").КакДробное := КурсыВалют.Поле("DAT").КакДробное;  //ТекДата;
      ссКурсоваяРазница.Поле("ProgIndex").КакЦелое := ПрогИндекс + ТипКР;
      если (КурсРазница &gt;= 0) и (ТипКР = КодОснДолга) тогда
      начало
        ссКурсоваяРазница.Поле("Credit").КакДробное := ОкруглитьДоЗнака(КурсРазница, 2);
        ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетКредит, СчетДебет);
      конец
      иначе 
        если ТипКР = КодОснДолга тогда
        начало
          ссКурсоваяРазница.Поле("Debit").КакДробное := ОкруглитьДоЗнака(-КурсРазница, 2);
          ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетДебет, СчетКредит);
        конец;
      // Для процентов и пеней заполняем только кредит
      если ТипКР &lt;&gt; КодОснДолга тогда
      начало
        ссКурсоваяРазница.Поле("Credit").КакДробное := ОкруглитьДоЗнака(КурсРазница, 2);
        ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетКредит, СчетДебет);
      конец;   
      ссКурсоваяРазница.Поле("IFS").КакЦелое := ПолучитьИстВнутрФин("Источник внутреннего финансирования");
      ссКурсоваяРазница.Поле("CurrencyCLS").КакЦелое := ТекВалюта;
      ссКурсоваяРазница.Поле("CurrencySumma").КакДробное := Остаток;
      ссКурсоваяРазница.Поле("Exchange").КакДробное := ТекКурс;
      ссКурсоваяРазница.Поле("Delta").КакДробное := ОкруглитьДоЗнака(ТекКурс - ПредКурс, 4); 
      ссКурсоваяРазница.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      // Заполняем счета
      ссКурсоваяРазница.Поле("AccRef").КакЦелое := СчетФО;
      сскурсоваяРазница.Поле("DFAccount").КакЦелое := СчетФО;
      сскурсоваяРазница.Поле("BuhOperationCls").КакЦелое := ПолучитьОперациюОтраженияКР(БлокКредиты, КурсРазница);
      ссКурсоваяРазница.Сохранить;

      //меняем значение предыдущего курса
      ПредКурс := ТекКурс;
    конец;
    
    //пересчитываем остатки, если есть на текущую дату операция "получение" или "погашение". 
    если Данные.Locate('ACCEPTDATE', КурсыВалют.Поле("DAT").КакДробное, 0) тогда
    начало
      Остаток := Остаток + Данные.Поле(ПолеКредит).КакДробное - Данные.Поле(ПолеДебет).КакДробное; 
    конец;
 
    КурсыВалют.Следующая;
  конец;
  
  ссКурсоваяРазница.СохранитьИзменения;
  ссКурсоваяРазница.Фильтр := "";
конец;


// Формируем записи для детализации Курсовая разница
// Алгоритм такой:
// 1. Сортируем данные по Валюте и Дате
// 2. По каждому типу валюты рисуем запись в детали
функция СформироватьКурсовуюРазницу(Данные, КурсыВалют: СтатическиеДанные; Дата: дробное; ИДЗаголовка, ТипКР, ПрогИндекс, ФлагГарантии: целое);
переменные
  ТекВалюта: целое;
  ПредДата, ТекДата, ПредКурс, ТекКурс, Остаток, КурсРазница, ИтогКурсРазница: дробное;
  СчетКредит, СчетДебет: целое;
  ПолеКредит, ПолеДебет  : строка;
  ссКурсоваяРазница, ВспомСД : СтатическиеДанные;
начало
  ПолеКредит := "CurrencyCredit";
  ПолеДебет := "CurrencyDebit";
  СчетДебет := СтрокаВЦелое(ПолучитьДебетовыйСчетИзРеестра(ФлагГарантии));
  если СчетДебет &lt; 10000 тогда
    // В реестре указан счет из 4 цифр
    СчетДебет := СчетДебет * 100;
  если (ТипКР = КодОснДолга) или ФлагГарантии тогда
    СчетКредит := ОпределитьСчет(Данные.Поле("RecordIndex").КакЦелое)
  иначе
    ОпределитьСчетаПроценты(Данные.Поле("RecordIndex").КакЦелое, ТипКР, СчетКредит, СчетДебет);
  ссКурсоваяРазница := СоздатьСтатическиеДанные;
  ссКурсоваяРазница.СоединитьБД;
  ссКурсоваяРазница.Запрос := ЗапросКурсоваяРазница;
  ссКурсоваяРазница.Открыть;
  ВспомСД := СоздатьСтатическиеДанные;
  ВспомСД.ПрисвоитьПоля(Данные);
  ВспомСД.Открыть;
  ВспомСД.Закачать(Данные);
  Данные.Clear;
  Данные.Группировать(ВспомСД, "keys=CurrencyCLS,RecordIndex,AcceptDate;CurrencyCredit=sum(CurrencyCredit);CurrencyDebit=sum(CurrencyDebit)");
  // Избавляемся от записей без даты и с нац. кодом валюты

  Данные.Фильтр := "(AcceptDate &gt;= 1) and (CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(КодНацВалюты)+ ")" + " and (AcceptDate &lt;=" + ДробноеВСтроку(Дата) + ")";
  Данные.Filtered := Истина;
  Данные.Индекс := "CurrencyCLS;AcceptDate";
  Данные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    // Нужно проверить, были ли у нас периоды по КР ранее, если были, то этот факт нужно учесть
    ТекВалюта := Данные.Поле("CurrencyCLS").КакЦелое;
    ПредДата := ОпределитьДатуНачалаПериодовКР(ТипКР + ПрогИндекс, ТекВалюта, ИДЗаголовка);
    если ПредДата &gt; 0.5 тогда
    // Есть записи о курсовой разнице - нужно учесть
      Остаток := ПодсчитатьОстатокНаДату(Данные, ПредДата, ТекВалюта)
    иначе
    // Не было записей о курсовой разнице
    начало
      ПредДата := Данные.Поле("AcceptDate").КакДробное; 
      Остаток := Данные.Поле(ПолеКредит).КакДробное - Данные.Поле(ПолеДебет).КакДробное;
      Данные.Следующая;
    конец;
    ИтогКурсРазница := 0; 
    ВернутьКурсВалютыПоКодуИДате(КурсыВалют, ТекВалюта, ПредДата, ПредКурс);
    // Создаем записи по курс разнице для текущей валюты
    пока (ТекВалюта = Данные.Поле("CurrencyCLS").КакЦелое) и не Данные.ВКонце делать
    начало
      ТекДата := Данные.Поле("AcceptDate").КакДробное;
      ВернутьКурсВалютыПоКодуИДате(КурсыВалют, ТекВалюта, ТекДата, ТекКурс);
      // КурсовуюРазницу считаем до пересчета остатка
      КурсРазница := (ТекКурс - ПредКурс) * Остаток;
      ИтогКурсРазница := ИтогКурсРазница + КурсРазница;
      // Вставляем запись с курс разницей
      ссКурсоваяРазница.Вставить;
      ссКурсоваяРазница.Поле("Id").КакЦелое := ПолучитьИД; // Получаем ИД
      ссКурсоваяРазница.Поле("AcceptDate").КакДробное := ТекДата;
      ссКурсоваяРазница.Поле("ProgIndex").КакЦелое := ПрогИндекс + ТипКР;
      если (КурсРазница &gt;= 0) и (ТипКР = КодОснДолга) тогда
      начало
        ссКурсоваяРазница.Поле("Credit").КакДробное := ОкруглитьДоЗнака(КурсРазница, 2);
        ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетКредит, СчетДебет);
      конец
      иначе 
        если ТипКР = КодОснДолга тогда
        начало
          ссКурсоваяРазница.Поле("Debit").КакДробное := ОкруглитьДоЗнака(-КурсРазница, 2);
          ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетДебет, СчетКредит);
        конец;
      // Для процентов и пеней заполняем только кредит
      если ТипКР &lt;&gt; КодОснДолга тогда
      начало
        ссКурсоваяРазница.Поле("Credit").КакДробное := ОкруглитьДоЗнака(КурсРазница, 2);
        ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетКредит, СчетДебет);
      конец;   
      ссКурсоваяРазница.Поле("IFS").КакЦелое := ПолучитьИстВнутрФин("Источник внутреннего финансирования");
      ссКурсоваяРазница.Поле("CurrencyCLS").КакЦелое := ТекВалюта;
      ссКурсоваяРазница.Поле("CurrencySumma").КакДробное := Остаток;
      ссКурсоваяРазница.Поле("Exchange").КакДробное := ТекКурс;
      ссКурсоваяРазница.Поле("Delta").КакДробное := ОкруглитьДоЗнака(ТекКурс - ПредКурс, 4); 
      ссКурсоваяРазница.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      // Заполняем счета
      ссКурсоваяРазница.Поле("AccRef").КакЦелое := СчетФО;
      сскурсоваяРазница.Поле("DFAccount").КакЦелое := СчетФО;
      сскурсоваяРазница.Поле("BuhOperationCls").КакЦелое := ПолучитьОперациюОтраженияКР(БлокКредиты, КурсРазница);
      ссКурсоваяРазница.Сохранить;
      // Пересчитываем остаток
      Остаток := Остаток + Данные.Поле(ПолеКредит).КакДробное - Данные.Поле(ПолеДебет).КакДробное;
      ПредКурс := ТекКурс; 
      Данные.Следующая;
    конец;
  
    // Вставляем итоговую запись
    если (ТекДата &lt;&gt; Дата) и (Дата &lt;&gt; ОпределитьДатуНачалаПериодовКР(ТипКР + ПрогИндекс, ТекВалюта, ИДЗаголовка)) тогда
    // Нужно вставить записи на дату формирования
    начало
      ВернутьКурсВалютыПоКодуИДате(КурсыВалют, ТекВалюта, Дата, ТекКурс);
      КурсРазница := (ТекКурс - ПредКурс) * Остаток;
      если РассчитыватьНаДату тогда
      начало
        ссКурсоваяРазница.Clear;
        КурсРазница := КурсРазница + ИтогКурсРазница;
      конец;
      ссКурсоваяРазница.Вставить;
      ссКурсоваяРазница.Поле("Id").КакЦелое := ПолучитьИД; // Получаем ИД
      ссКурсоваяРазница.Поле("AcceptDate").КакДробное := Дата;
      ссКурсоваяРазница.Поле("ProgIndex").КакЦелое := ПрогИндекс + ТипКР;
     
      //для обычных кредитов (не гарантий) КР по основному долгу 
      //увеличение идет в кредит, уменьшение идет в дебет 
      если (ТипКР = КодОснДолга) и (не ФлагГарантии) тогда
      начало
        если (КурсРазница &gt;= 0) тогда
        начало
          ссКурсоваяРазница.Поле("Credit").КакДробное := ОкруглитьДоЗнака(КурсРазница, 2);
          ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетКредит, СчетДебет);
        конец
        иначе начало 
          ссКурсоваяРазница.Поле("Debit").КакДробное := ОкруглитьДоЗнака(-КурсРазница, 2);
          ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетДебет, СчетКредит);
        конец;
      конец;    
      //для обычных кредитов КР по по процентам и пеням  и для гарантий 
      //увеличение идет в кредит, уменьшение идет в кредит с минусом 
      если (ТипКР &lt;&gt; КодОснДолга) или ФлагГарантии тогда
      начало
        ссКурсоваяРазница.Поле("Credit").КакДробное := ОкруглитьДоЗнака(КурсРазница, 2);
        ссКурсоваяРазница.Поле("BuhpaymentCls").КакЦелое := НайтиКодПроводки(СчетКредит, СчетДебет);
      конец;
      ссКурсоваяРазница.Поле("IFS").КакЦелое := ПолучитьИстВнутрФин("Источник внутреннего финансирования");
      ссКурсоваяРазница.Поле("CurrencyCLS").КакЦелое := ТекВалюта;
      ссКурсоваяРазница.Поле("CurrencySumma").КакДробное := Остаток;
      ссКурсоваяРазница.Поле("Exchange").КакДробное := ТекКурс;
      ссКурсоваяРазница.Поле("Delta").КакДробное := ОкруглитьДоЗнака(ТекКурс - ПредКурс, 4); 
      ссКурсоваяРазница.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      // Заполняем счета
      ссКурсоваяРазница.Поле("AccRef").КакЦелое := СчетФО;
      сскурсоваяРазница.Поле("DFAccount").КакЦелое := СчетФО;
      сскурсоваяРазница.Поле("BuhOperationCls").КакЦелое := ПолучитьОперациюОтраженияКР(БлокКредиты, КурсРазница);
      ссКурсоваяРазница.Поле("Note").КакСтрока := "Курсовая разница на " + DateExToStr(Дата);
      ссКурсоваяРазница.Сохранить;
      если Данные.Поле("CurrencyCLS").КакЦелое = ТекВалюта тогда
        Данные.Следующая; 
    конец;
  конец;
  ссКурсоваяРазница.СохранитьИзменения;
  Данные.Фильтр := "";
  Данные.Filtered := Ложь;
  УдалитьОбъект(ВспомСД);
конец;

функция УстановитьСчетФО(Значение: целое);
начало
  СчетФО := Значение;
конец;

функция ВыбратьПоследДатыДоходовКурсРазн(Данные : СтатическиеДанные; БюджетНомер, ДатаРасчета: целое);
переменные
  СтрокаБюджета, ОгрПоСчетуФО: Строка;
начало
  СтрокаБюджета := ЦелоеВСтроку(БюджетНомер);
  Данные.Close;
  Данные.СоединитьБД;
  ОгрПоСчетуФО := "";
  если СчетФО &lt;&gt; 0 тогда
    ОгрПоСчетуФО := " and dbt.DFAccount = " + ЦелоеВСтроку(СчетФО);
  // выбираем поля Дата Принятия, вал сумма, Код валюты, счет
  Данные.Запрос := '[PumpData]' + nl +
    '{select' + nl +
    '  dbt.DFAccount DfAccount,' + nl +
    '  dbt.CURRENCYCLS CURRENCY,' + nl +
    '  Max(dbt.RecordDate) ACCEPTDATE' + nl +
    'from' + nl +
    '  IncCurrency inc ' + nl +
    '  left join  debt dbt on (inc.id = dbt.RecordIndex2)' + nl +
    'where' + nl +
    '  (dbt.ProgIndex = 220)' + nl +
    ОгрПоСчетуФО + 
    '  and (dbt.BUDGETREF =' + СтрокаБюджета + ')' + nl +
    ' and dbt.RecordDate &lt;= ' + ЦелоеВСтроку(ДатаРасчета) +
    ' group by  dbt.DFAccount, dbt.CURRENCYCLS }';
  Данные.Открыть;
конец;

// На расчетную дату добавляем записи-пустышки
функция ДобавитьЗаписиНаДатуРасчета(Данные: СтатическиеДанные; ДатаРасчета: целое);
переменные
  ПредыдущийСчет: целое;
  ДанныеДляВставки: СтатическиеДанные;
начало
  ПредыдущийСчет := 0;
  
  ДанныеДляВставки := СоздатьСтатическиеДанные;
  ДанныеДляВставки.ПрисвоитьПоля(Данные);
  ДанныеДляВставки.Открыть;
  
  попытка
    Данные.Индекс := "AccRef";
    Данные.ВНачало;
    
    пока не Данные.ВКонце делать
    начало
      если ПредыдущийСчет &lt;&gt; Данные.Поле("AccRef").КакЦелое тогда
      начало
        ДанныеДляВставки.Вставить;
        ДанныеДляВставки.Поле("AccRef").КакЦелое := Данные.Поле("AccRef").КакЦелое;
        ДанныеДляВставки.Поле("AcceptDate").КакЦелое := ДатаРасчета;
        ДанныеДляВставки.Поле("Currency").КакЦелое := Данные.Поле("Currency").КакЦелое;
        ДанныеДляВставки.Сохранить;
        ПредыдущийСчет := Данные.Поле("AccRef").КакЦелое;
      конец;
      Данные.Следующая;
    конец;
    
    Данные.Закачать(ДанныеДляВставки);
  обязательно
    УдалитьОбъект(ДанныеДляВставки);
  конец;  
конец;

// выбираем данные по операциям с валютой
Функция ВыбратьВалютныеОперации(Данные : СтатическиеДанные; ПоследняяДата, БюджетНомер : Целое; ТипРасчета : Строка);
переменные
  СтроковаяДата, СтрокаБюджета : Строка;
  ВременныеДанные : СтатическиеДанные;
  ОгрСчетФОПоСчетамПокупка, ОгрСчетФОПоСчетамПродажа, ОгрСчетФОПоДоходам, ОгрСчетФОПоФин: строка;
начало
  СтроковаяДата := ЦелоеВСтроку(ПоследняяДата);
  СтрокаБюджета := ЦелоеВСтроку(БюджетНомер);
  
  ВременныеДанные := СоздатьСтатическиеДанные;
  
  попытка
    ВременныеДанные.СоединитьБД;
    ВременныеДанные.Close;
    ОгрСчетФОПоСчетамПокупка := "";
    ОгрСчетФОПоСчетамПродажа := "";
    ОгрСчетФОПоДоходам := "";
    ОгрСчетФОПоФин := "";
    если СчетФО &lt;&gt; 0 тогда
    начало
      ОгрСчетФОПоСчетамПокупка := ' and dfao.DDFAccount =' + ЦелоеВСтроку(СчетФО);
      ОгрСчетФОПоСчетамПродажа := ' and dfao.SDFAccount =' + ЦелоеВСтроку(СчетФО);
      ОгрСчетФОПоДоходам := ' and i.IncAccount =' + ЦелоеВСтроку(СчетФО);
      ОгрСчетФОПоФин := ' and fdd.DFAccount =' + ЦелоеВСтроку(СчетФО);
    конец;
    // выбираем поля Дата Принятия, вал сумма, Код валюты, счет
    ВременныеДанные.Запрос := 
      '[PumpData]' + nl +
      '{ /* Выборка из купленных и проданных валют */'+ nl +
      ' select aco.CurSumma Summa,'+ nl +
      '         aco.Currency,'+ nl +
      '         dfao.ACCEPTDATE ACCEPTDATE,'+ nl +
      '         dfao.DDFACCOUNT AccRef'+ nl +
      '  from'+ nl +
      '        AccCurOperation aco,'+ nl +
      '        DFAccountOperation dfao'+ nl +
      '  where'+ nl +
      '   (dfao.BUDGETREF = '+СтрокаБюджета+')'+ nl +
      '   and (dfao.ACCEPTDATE is Not Null)' + nl +
      '   and (dfao.ACCEPTDATE &lt;= '+СтроковаяДата+')'+ nl +
      '   and (dfao.id=aco.id)'+ nl +
      ОгрСчетФОПоСчетамПокупка +
      '   and (aco.Operation in (0,2))'+ nl +
      '}'+ nl +

      '{select -aco.CurSumma Summa,'+ nl +
      '         aco.Currency,'+ nl +
      '         dfao.ACCEPTDATE ACCEPTDATE,'+ nl +
      '         dfao.SDFACCOUNT  AccRef'+ nl +
      '  from'+ nl +
      '         AccCurOperation aco,'+ nl +
      '         DFAccountOperation dfao'+ nl +
      '  where'+ nl +
      '   (dfao.BUDGETREF = '+СтрокаБюджета+')'+ nl +
      '   and (dfao.ACCEPTDATE is Not Null)' + nl +
      '   and (dfao.ACCEPTDATE &lt;= '+СтроковаяДата+')'+ nl +
      '   and (dfao.id=aco.id)'+ nl +
      ОгрСчетФОПоСчетамПродажа +
      '   and (aco.Operation in (2,1))'+ nl +
      '}'  + nl +
      
      '{ /* Выбор валют поступивших по доходам и возвращенных по доходам*/'+ nl +
      '  select'+ nl +
      '   -ci.CurrencyValue Summa,'+ nl +
      '   ci.CurrencyIndex Currency,'+ nl +
      '   ci.CurDate   ACCEPTDATE,'+ nl +
      '   i.IncAccount AccRef'+ nl +
      '  from'+ nl +
      '   CurrencyIncomes ci,'+ nl +
      '   Incomes32 i'+ nl +
      '  where'+ nl +
      '   (i.ProgIndex = 19)'+ nl +
      '   and (i.id = ci.id)'+ nl +
      '   and (ci.CurDate is Not Null)' + nl +
      '   and (ci.CurDate &lt;= '+СтроковаяДата+')'+ nl +
      '   and (i.BUDGETREF = '+СтрокаБюджета+')'+ nl +
      ОгрСчетФОПоДоходам + 
      '   and (i.Debit &lt;&gt; 0)'+ nl +
      '}'+ nl +

      '{ select'+ nl +
      '   ci.CurrencyValue Summa,'+ nl +
      '   ci.CurrencyIndex Currency,'+ nl +
      '   ci.CurDate   ACCEPTDATE,'+ nl +
      '   i.IncAccount AccRef'+ nl +
      '  from'+ nl +
      '   CurrencyIncomes ci,'+ nl +
      '   Incomes32 i'+ nl +
      '  where'+ nl +
      '   (i.ProgIndex = 19)'+ nl +
      '   and (i.id = ci.id)'+ nl +
      '   and (ci.CurDate is Not Null)' + nl +
      '   and (ci.CurDate &lt;= '+СтроковаяДата+')'+ nl +
      '   and (i.BUDGETREF = '+СтрокаБюджета+')'+ nl +
      ОгрСчетФОПоДоходам +
      '   and (i.Credit &lt;&gt; 0)'+ nl +
      '}'+ nl +

      '{ /* Добавить выборку по финансированию без ПП */'+ nl +
      '  select -Sum(fdd.CurrencySumma) Summa,'+ nl +
      '         fdd.CurrencyCls Currency,'+ nl +
      '         fdd.AcceptDate AcceptDate,'+ nl +
      '         fdd.DFAccount AccRef'+ nl +
      '  from'+ nl +
      '         FINDOCDETAIL fdd'+ nl +
      '  where'+ nl +
      '   (fdd.ProgIndex = 23)'+ nl +    
      '   and (fdd.CurrencyCls &lt;&gt; '+ЦелоеВСтроку(ЦелаяКонстанта(19, 4))+')'+ nl +
      '   and (fdd.AcceptDate &lt;= '+СтроковаяДата+')'+ nl + 
      '   and (fdd.AcceptDate is not null)'+ nl +
      '   and (fdd.BUDGETREF ='+СтрокаБюджета+')' + nl +
      ОгрСчетФОПоФин +
      '   and (fdd.Credit &lt;&gt; 0)' + nl +
      ' group by '+ nl +
      '   fdd.CurrencyCls, fdd.DFAccount, fdd.AcceptDate ' + nl +
      '}'+ nl +

      '{ /* Добавить выборку по финансированию без ПП */'+ nl +
      '  select Sum(fdd.CurrencySumma) Summa,'+ nl +
      '         fdd.CurrencyCls Currency,'+ nl +
      '         fdd.AcceptDate AcceptDate,'+ nl +
      '         fdd.DFAccount AccRef'+ nl +
      '  from'+ nl +
      '         FINDOCDETAIL fdd'+ nl +
      '  where'+ nl +
      '   (fdd.ProgIndex = 23)'+ nl +    
      '   and (fdd.CurrencyCls &lt;&gt; '+ЦелоеВСтроку(ЦелаяКонстанта(19, 4))+')'+ nl +
      '   and (fdd.AcceptDate &lt;= '+СтроковаяДата+')'+ nl + 
      '   and (fdd.AcceptDate is not null)'+ nl +
      '   and (fdd.BUDGETREF ='+СтрокаБюджета+')' + nl +
      ОгрСчетФОПоФин + 
      '   and (fdd.Debit &lt;&gt; 0)' + nl +
      ' group by '+ nl +
      '   fdd.CurrencyCls, fdd.DFAccount, fdd.AcceptDate ' + nl +
      '}'+ nl +

      '{ /* Добавить выборку по финансированию */'+ nl +
      '  select -Sum(pd.CurSum) Summa,'+ nl +
      '         pd.Currency,'+ nl +
      '         pd.AcceptDate AcceptDate,'+ nl +
      '         fdd.DFAccount AccRef'+ nl +
      '  from'+ nl +
      '         PayDoc32 pd,'+ nl +
      '         FINDOCDETAIL fdd'+ nl +
      '  where'+ nl +
      '   (pd.RECORDINDEX =fdd.id)'+ nl +
      '   and (fdd.ProgIndex = 23)'+ nl +    
      '   and (pd.ProgIndex = 23)'+ nl +
      '   and (pd.Currency &lt;&gt; '+ЦелоеВСтроку(ЦелаяКонстанта(19, 4))+')'+ nl +
      '   and (pd.AcceptDate &lt;= '+СтроковаяДата+')'+ nl + 
      '   and (pd.AcceptDate is not null)'+ nl +
      '   and (fdd.BUDGETREF ='+СтрокаБюджета+')' + nl +
      ОгрСчетФОПоФин +
      '   and (fdd.Credit &lt;&gt; 0)' + nl +
      ' group by '+ nl +
      '   pd.Currency, fdd.DFAccount, pd.AcceptDate ' + nl +
      '}' + nl +

      '{ /* Добавить выборку по финансированию */'+ nl +
      '  select Sum(pd.CurSum) Summa,'+ nl +
      '         pd.Currency,'+ nl +
      '         pd.AcceptDate AcceptDate,'+ nl +
      '         fdd.DFAccount AccRef'+ nl +
      '  from'+ nl +
      '         PayDoc32 pd,'+ nl +
      '         FINDOCDETAIL fdd'+ nl +
      '  where'+ nl +
      '   (pd.RECORDINDEX =fdd.id)'+ nl +
      '   and (fdd.ProgIndex = 23)'+ nl +    
      '   and (pd.ProgIndex = 23)'+ nl +
      '   and (pd.Currency &lt;&gt; '+ЦелоеВСтроку(ЦелаяКонстанта(19, 4))+')'+ nl +
      '   and (pd.AcceptDate &lt;= '+СтроковаяДата+')'+ nl + 
      '   and (pd.AcceptDate is not null)'+ nl +
      '   and (fdd.BUDGETREF ='+СтрокаБюджета+')' + nl +
      ОгрСчетФОПоФин +
      '   and (fdd.Debit &lt;&gt; 0)' + nl +
      ' group by '+ nl +
      '   pd.Currency, fdd.DFAccount, pd.AcceptDate ' + nl +
      '}' + nl +

//      '{/*Выборка дат смены курса*/'
//      ' select dat ACCEPTDATE, currency CURRENCY, -1 ACCREF from CurrencyExchange ce where ce.Currency &lt;&gt;'+ЦелоеВСтроку(ЦелаяКонстанта(19, 4))+
      '';

    ВременныеДанные.Open;
    ДобавитьЗаписиНаДатуРасчета(ВременныеДанные, ПоследняяДата);
    Данные.Close;
    Данные.AssignFields(ВременныеДанные);
    Данные.Open;
    если (ВременныеДанные.recordCount &gt; 0) тогда  
      Данные.Groupdata(ВременныеДанные,'Keys=AccRef,Currency,ACCEPTDATE;Summa=Sum(Summa)');
    Данные.IndexFieldnames := 'AccRef;Currency;ACCEPTDATE';  
  обязательно
    УдалитьОбъект(ВременныеДанные);
  конец;  
конец;

функция ДобавитьОстатокНаСчете(Данные : СтатическиеДанные; Счет, Валюта, Дата : Целое; Сумма : Дробное);
начало
  Если (не Данные.Locate('AccRef;Currency', ArrayOf(Счет, Валюта), 0))
  тогда начало
    Данные.Insert;
    Данные.ПолеПоИмени('AccRef').КакЦелое := Счет;
    Данные.ПолеПоИмени('Currency').КакЦелое := Валюта;
    Данные.ПолеПоИмени('Summa').КакДробное := Сумма;
    Данные.ПолеПоИмени('ACCEPTDATE').КакЦелое := Дата; 
    Данные.Post;
  конец; 
конец;

функция ПолучитьПоследДатуДоходаКурсРазн(ЗакаченныеДанные : СтатическиеДанные; Счет, Валюта : Целое):Целое;
начало
  если ЗакаченныеДанные.Locate('DfAccount;CURRENCY', ArrayOf(Счет, Валюта), 0)
    тогда  Результат := ЗакаченныеДанные.ПолеПоИмени('ACCEPTDATE').asInteger
    иначе  Результат := -1;
конец;

// для каждого счета и валюте находим остаток валюты на каждую валютную операцию на счете
функция НайтиОстатокВалютыНаСчетах(Данные, ДатыПоследнихДоходовКурсРазн : СтатическиеДанные; ДатаРасчета, НомерБюджета : Целое);
переменные
  ТекущийСчет, ТекущаяВалюта, ТекущаяДатаВалюты : целое;
  ВалютнаяСумма : Дробное;
  ПолеСчета, ПолеВалюта, ПолеСумма, ПолеДаты : IField;
  ДанныеВставки : Статическиеданные;
  МаксимальнаяДата : целое;
начало
  ДанныеВставки := СоздатьСтатическиеДанные;
  попытка
    ДанныеВставки.AssignFields(Данные);

    // берем поля
    ПолеСчета := Данные.ПолеПоИмени('AccRef');
    ПолеВалюта := Данные.ПолеПоИмени('Currency');
    ПолеСумма := Данные.ПолеПоИмени('Summa');
    ПолеДаты := Данные.ПолеПоИмени('ACCEPTDATE');  
    если (Данные.recordCount &gt; 0)
    тогда начало  
      Данные.ВНачало;
      ТекущийСчет := -1;  // присваиваем фиктивный счет, что бы нормально обработать первую запись
           
      Пока (не Данные.ВКонце) 
      делать начало
        // изменился либо счет, либо валюта
        если ((ТекущийСчет &lt;&gt; ПолеСчета.КакЦелое) или (ТекущаяВалюта &lt;&gt; ПолеВалюта.КакЦелое))
        тогда начало
          // теперь посмотрим на последнюю дату надо бы добавить запись
          если (ТекущаяДатаВалюты &lt; ДатаРасчета) и (ТекущийСчет &lt;&gt; -1)
            тогда  ДобавитьОстатокНаСчете(ДанныеВставки, ТекущийСчет, ТекущаяВалюта, ДатаРасчета, ВалютнаяСумма);
          // просто берем текущие значения
          ТекущийСчет := ПолеСчета.КакЦелое;
          ТекущаяВалюта := ПолеВалюта.КакЦелое;
          ВалютнаяСумма := ПолеСумма.КакДробное;
          // Начальный остаток на счете 0
          Данные.Edit;
          ПолеСумма.КакДробное := 0;
          Данные.Post;    
          МаксимальнаяДата := ПолучитьПоследДатуДоходаКурсРазн(ДатыПоследнихДоходовКурсРазн, ТекущийСчет, ТекущаяВалюта);
        конец
        иначе начало
          // и Валюта и счет все те же - надо подсчитать остаток
          ВалютнаяСумма := ВалютнаяСумма + ПолеСумма.КакДробное;
          // на предыдущую дату!!!
          Данные.Edit;
          ПолеСумма.КакДробное := ВалютнаяСумма - ПолеСумма.КакДробное;
          Данные.Post;              
        конец;
        Если (ПолеДаты.asInteger &lt;= МаксимальнаяДата)
          тогда Данные.delete
          иначе Данные.Next;
        // берем дату текущей записи  
        ТекущаяДатаВалюты := ПолеДаты.КакЦелое;  
      конец;// цикл по суммам на счетах
      // отдельно обрабатываем последнюю строку
      если ((ТекущийСчет = ПолеСчета.КакЦелое) и (ТекущаяВалюта = ПолеВалюта.КакЦелое) и (ТекущийСчет &lt;&gt; -1)) 
      тогда начало
        // теперь посмотрим на последнюю дату надо бы добавить запись
        если (ТекущаяДатаВалюты &lt; ДатаРасчета)
          тогда  ДобавитьОстатокНаСчете(ДанныеВставки, ТекущийСчет, ТекущаяВалюта, ДатаРасчета, ВалютнаяСумма);
        если  (ПолеДаты.asInteger &lt;= МаксимальнаяДата)
          тогда  Данные.delete;      
      конец;
      // добавляем нужные записи  
      Данные.PumpData(ДанныеВставки, '');  
      // сортировочка
      Данные.IndexFieldnames := 'AccRef;Currency;ACCEPTDATE';
    конец;  
  обязательно
    УдалитьОбъект(ДанныеВставки);
  конец;   
конец;

функция ВставитьИтоговыеДанные(Данные : СтатическиеДанные; Счет, Валюта, ДатаНачало, ДатаКонец : Целое; Сумма : Дробное; КурсыВалют: СтатическиеДанные;КоличествоДобавленныхЗаписей, ТекущийБюджет :целое);
переменные
  Доход : Дробное;
  ИзменениеКурса : Дробное;
  КурсНачало, КурсКонец : Дробное;
начало
  ВернутьКурсВалютыПоКодуИДате(КурсыВалют, Валюта, ДатаНачало, КурсНачало);
  ВернутьКурсВалютыПоКодуИДате(КурсыВалют, Валюта, ДатаКонец, КурсКонец);
  ИзменениеКурса := КурсКонец - КурсНачало;   
  Доход := Сумма * ИзменениеКурса;
  Если (Мод(Доход) &gt;= - 0.005)
  тогда начало
    Данные.Insert;
    Данные.ПолепоИмени('BUDGETREF').asInteger := ТекущийБюджет;
    Данные.ПолепоИмени('IncAccount').asInteger := Счет;
    Данные.ПолепоИмени('IDate').asInteger := ДатаКонец;
    Данные.ПолепоИмени('CURRENCY').asInteger := Валюта;
    Данные.ПолепоИмени('Exchange').asFloat := КурсКонец;
    Данные.ПолепоИмени('Delta').asFloat := ИзменениеКурса;
    Данные.ПолепоИмени('Summa').asFloat := ОкруглитьДоЗнака(Сумма, 2);
    Данные.ПолепоИмени('BuhOperationCls').asInteger := 99999;
    Если (Доход &gt; 0) 
      тогда Данные.ПолепоИмени('Credit').asFloat := ОкруглитьДоЗнака(Доход, 2)
      иначе Данные.ПолепоИмени('Debit').asFloat := ОкруглитьДоЗнака(-Доход, 2);
    Данные.Post;
    КоличествоДобавленныхЗаписей := КоличествоДобавленныхЗаписей + 1;
  конец;
конец;   

функция ПровестиДоходыОтИзмененияКурсовойРазницы(ОстаткиНаСчетах, ДатыДоходовКурсРазн, ДанныеДляВставки, КурсыВалют : СтатическиеДанные; ТипРасчета : Строка;КоличествоДобавленныхЗаписей, ТекущийБюджет: целое);
переменные
  ТекущийСчет, ТекущаяВалюта, ДатаПринятия: целое;
  ПоследняяДата: Целое; // дата операции по валюте и счету
  ОбщаяСумма, Сумма, СтарыйКурс, ТекущийКурс: Дробное;
 //  МаксДатаСт
начало
  ОстаткиНаСчетах.Вначало;
  // расчет от предыдущей даты
  ТекущийСчет := ОстаткиНаСчетах.ПолеПоИмени('AccRef').asInteger;
  ТекущаяВалюта := ОстаткиНаСчетах.ПолеПоИмени('Currency').asInteger;
  ДатаПринятия := ОстаткиНаСчетах.ПолеПоИмени('Acceptdate').asInteger;
  //Надо посмотреть был ли доход по данному счету и данной валюте 
  ПоследняяДата := ПолучитьПоследДатуДоходаКурсРазн(ДатыДоходовКурсРазн, ТекущийСчет, ТекущаяВалюта);
  ОбщаяСумма := 0;
  если (ПоследняяДата &lt;&gt; -1)
  тогда начало
    ВставитьИтоговыеДанные(ДанныеДляВставки, ТекущийСчет, ТекущаяВалюта, ПоследняяДата, ДатаПринятия,
      ОстаткиНаСчетах.ПолеПоИмени('Summa').asFloat, КурсыВалют,КоличествоДобавленныхЗаписей,ТекущийБюджет);
  конец;
  
  // Вставляем данные о КР
  пока не ОстаткиНаСчетах.Вконце делать
  начало
    // не поменялся ни счет ни валюта
    если ((ТекущийСчет = ОстаткиНаСчетах.ПолеПоИмени('AccRef').asInteger) и (ТекущаяВалюта = ОстаткиНаСчетах.ПолеПоИмени('Currency').asInteger))
    тогда начало
      ВставитьИтоговыеДанные(ДанныеДляВставки, ТекущийСчет, ТекущаяВалюта, ДатаПринятия, 
        ОстаткиНаСчетах.ПолеПоИмени('Acceptdate').asInteger, ОстаткиНаСчетах.ПолеПоИмени('Summa').asFloat, КурсыВалют, КоличествоДобавленныхЗаписей,ТекущийБюджет);
      ДатаПринятия := ОстаткиНаСчетах.ПолеПоИмени('Acceptdate').asInteger;
      ОстаткиНаСчетах.Next;  
    конец
    иначе начало
      // поменялся либо счет либо валюта - делаем перерасчет
      ТекущийСчет := ОстаткиНаСчетах.ПолеПоИмени('AccRef').asInteger;
      ТекущаяВалюта := ОстаткиНаСчетах.ПолеПоИмени('Currency').asInteger;
      ДатаПринятия := ОстаткиНаСчетах.ПолеПоИмени('Acceptdate').asInteger;
      //Надо посмотреть был ли доход по данному счету и данной валюте 
      ПоследняяДата := ПолучитьПоследДатуДоходаКурсРазн(ДатыДоходовКурсРазн, ТекущийСчет, ТекущаяВалюта);
      если (ПоследняяДата &lt;&gt; -1)
      тогда начало
        ВставитьИтоговыеДанные(ДанныеДляВставки, ТекущийСчет, ТекущаяВалюта, ПоследняяДата, ДатаПринятия,
          ОстаткиНаСчетах.ПолеПоИмени('Summa').asFloat, КурсыВалют, КоличествоДобавленныхЗаписей,ТекущийБюджет);
      конец; 
    конец;
  конец;
  ДанныеДляВставки.Фильтр := "Delta=0";
  ДанныеДляВставки.Clear;
  ДанныеДляВставки.Фильтр := "";
конец;

// По счету ФО и СубКД находим код проводки
функция ПолучитьКодБухОперацииПоСчетуФОиСубКД(СчетФО, СубКД: целое; Сумма: дробное): целое;
переменные
  В: Выборка;
  СчетДебет, СчетКредит: целое;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  // получаем синт. счет по СубКД
  В.Запрос := "select distinct BuhAccount from SubKD where id = " + ЦелоеВСтроку(СубКД);
  В.Открыть;
  если Сумма &gt;= 0 тогда
    СчетКредит := В.Поле("BuhAccount").КакЦелое
  иначе
    СчетДебет := В.Поле("BuhAccount").КакЦелое;
  В.Закрыть;
  // Получаем синт. счет по Счету ФО
  В.Запрос := "select distinct BuhAcc from DFAccountsBuhtable where id = " + ЦелоеВСтроку(СчетФО); 
  В.Открыть; 
  если Сумма &gt;= 0 тогда
    СчетДебет := В.Поле("BuhAcc").КакЦелое
  иначе
    СчетКредит := В.Поле("BuhAcc").КакЦелое;
  Результат := НайтиКодПроводки(СчетКредит, СчетДебет);  
конец;
</value>
    <param value="ДляКурсовойРазницыОбщее.abl" type="3" name="Export">PARFENOV\parfenovmv\09.02.2006 10:19:02</param>
    <param value="ДляКурсовойРазницыОбщее.abl" type="3" name="version">36.042.21</param>
    <param value="ДляКурсовойРазницыОбщее.abl" type="3" name="crc32">$E7C90BFA</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляПересчетаВРубли.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\OutPut.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";

переменные  
  ОВ:ОкноВывода;
  
// Выдает валюту в заголовке договора
функция ПолучитьВалютуВЗаголовке(ИД: целое): целое;
переменные
  В: Выборка;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select CurrencyCLS from LoanCredit where id = " + ЦелоеВСтроку(ИД);
    В.Открыть;
    Результат := В.Поле("CurrencyCLS").КакЦелое;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Возвращает код нац. валюты
функция КодНацВалюты: целое;
начало
  Результат := ЦелаяКонстанта(19, 4);                
конец;

// Закачивает курс указанной валюты и проверяет его наличие
функция ЗакачатьКурсВалюты(Валюта: целое;ДатаПер: целое) : дробное;
переменные
  ссВалюта: СтатическиеДанные;
начало
  ОВ := ОкноВывода;
  Результат := 0;
  ссВалюта := СоздатьСтатическиеДанные;
  попытка
    ссВалюта.СоединитьБД;
    ссВалюта.Запрос := "[PumpData]"+#13#10+
                       "{select cur1.exchange Exchange, cur1.dat Dat from CURRENCYEXCHANGE cur1"+#13#10+
                       " where dat = (select max(DAT)"+#13#10+
                       " from CURRENCYEXCHANGE cur2"+#13#10+
                       " where (cur2.CURRENCY = @Currency)and(cur2.CURRENCY=cur1.CURRENCY)" 
                       + " and (cur2.Dat &lt;=@PerDate))}";
    ссВалюта.Параметр("Currency") := ЦелоеВСтроку(Валюта);
    ссВалюта.Параметр("PerDate") := ЦелоеВСтроку(ДатаПер);
    ссВалюта.Открыть;
    Результат := ссВалюта.Поле("Exchange").КакДробное;
      если ссВалюта.ЧислоЗаписей = 0 тогда
        ВызватьОшибку("Для валюты: " + ФорматироватьКлассификатор(Валюта, м_Валюта) + " не найден курс.");
      если ссВалюта.Поле("Dat").КакЦелое &lt;&gt; ДатаПер тогда
        ОВ.Вывести("Для валюты:" + ФорматироватьКлассификатор(Валюта, м_Валюта) + " не найден текущий курс."+#13#10+
                   "Взят последний за "+ДатаВСтроку(РасширДатаВОбычную(ссВалюта.Поле("Dat").КакЦелое)));
  обязательно
    УдалитьОбъект(ссВалюта);
  конец;                    
конец;

функция ПолучитьОбмКурс(КодВалюты:целое; ДатаПер: целое):дробное;
начало
  если КодВалюты = КодНацВалюты тогда 
    результат := 1
  иначе
    Результат := ЗакачатьКурсВалюты(КодВалюты, ДатаПер);
конец;
</value>
    <param value="ДляПересчетаВРубли.abl" type="3" name="version">36.042.21</param>
    <param value="ДляПересчетаВРубли.abl" type="3" name="crc32">$7A9B404C</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляРаботыСГодом12х30.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";

// Возвращает год расширенной даты
функция ГодДаты(Дата: дробное): целое;
начало
  Результат := Дата цел 10000;
конец;

// возвращает месяц расширенной даты
функция МесяцДаты(Дата: дробное): целое;
начало
  Результат := (Дата ост 10000) цел 100;
конец;

// Возвращает день расширенной даты
функция ДеньДаты(Дата: дробное): целое;
начало
  Результат := Дата ост 100;
конец;

//Корректирует дату в расширенном формате и возвращает в обычном  
// если содержить 0-вое число или месяц, то заменяет его на 1-ое
// содержит большее число, чем дней в месяце, то заменяет на последний день
// возвращает обычную дату
функция НормализоватьДату(дата : дробное) : дробное;
переменные
  г,м,д : целое;
  од : дробное;
начало
  г := целое(дата) цел 10000;
  м := (целое(дата) ост 10000) цел 100;
  д := целое(дата) ост 100;
  //проверяем год на допустимость
  попытка
    ФормироватьДату(г,1,1);
  неудача
    ВызватьОшибку("Недопустимый год: "+ЦелоеВСтроку(г));
  конец;
  //проверяем месяц
  если м&lt;1 тогда м:=1;
  если м&gt;12 тогда м:=12;
  //проверяем день
  если д&lt;1 тогда д:=1;
  если д &gt; ЧислоДнейВМесяце(г,м) тогда д := ЧислоДнейВМесяце(г,м); 

  результат := ФормироватьДату(г,м,д); 
конец;

функция ПредыдущееЧисло(Дата: Дробное; ЧислоДней : целое): дробное;
// вход - расширенная дата
// выход - тоже расширенная 
начало
  результат := ОбычнаяДатаВРасшир(НормализоватьДату(Дата) - ЧислоДней); 
  //если дата 0-ая, то при нормализации она приводится к 1-ой, т.е. прибавили лишний день  
  если (Дата ост 100) = 0  тогда результат := результат -1;
конец;

функция СледующееЧисло(Дата: Дробное; ЧислоДней : целое): дробное;
// вход - расширенная дата
// выход - тоже расширенная 
начало
  результат := ОбычнаяДатаВРасшир(НормализоватьДату(Дата) + ЧислоДней);
  //если дата 0-ая, то при нормализации она приводится к 1-ой, т.е. прибавили лишний день 
  если (Дата ост 100) = 0  тогда результат := результат -1;
конец;

функция ЧислоДней(ОтДаты : дробное; ДоДаты : дробное) : целое;
// Вход:
//    ОтДаты - расширенная дата    
//    ДоДаты - расширенная дата    
// Выход:
//    Число дней между двумя датами (ДоДаты - ОтДаты)
// Пример
// ЧислоДней (20010315, 20010320) = 5
// ЧислоДней (20010315, 20010315) = 0
// ЧислоДней (20010331, 20010401) = 1
начало
    результат := РасширДатаВОбычную(ДоДаты) - РасширДатаВОбычную(ОтДаты); 
конец;

// Если дата выходит за пределы - тогда сделать ее первым числом след. месяца
функция ИсправитьРасширДату(Дата: целое): целое;
переменные
  М, Д, Г: целое;
начало
  Г := Дата цел 10000;
  М := (Дата ост 10000) цел 100;
  Д := Дата ост 100;
  Результат := Дата;
  выбрать М из
    4, 6, 9, 11: если Д &gt;= 31 тогда
                   Результат := Г * 10000 + (М + 1) * 100 + 1;
    2: если (Д &gt;= 30) или ((Г ост 4 = 0) и (Д = 29)) тогда
         Результат := Г * 10000 + (М + 1) * 100 + 1;
  конец;                      
конец;

// Преобразует в расширенную дату
функция БольшаяДата(Год, Месяц, День: целое): дробное;
начало
  Результат := Год * 10000 + Месяц * 100 + День;
конец;

// Нижеследующие 3 функции работают только с кривыми датами
функция ЦелыхГодов(КолвоДней: целое): целое;
начало
  Результат := (КолвоДней - 1) цел 360;
конец;

функция ЦелыхМесяцев(КолвоДней: целое): целое;
начало
  Результат := (КолвоДней - ЦелыхГодов(КолвоДней) * 360 - 1) цел 30 + 1;
конец;

функция ЦелыхДней(КолвоДней: целое): целое;
начало
  Результат := КолвоДней - ЦелыхГодов(КолвоДней) * 360 - (ЦелыхМесяцев(КолвоДней) - 1) * 30;
конец;

// Преобразует дату для обычного года (365 дней) в дату для года 360 (12*30) дней
// Фича такая - если задают дату типа 31, то ее преобразуем в 30.
функция НормальнаяДатаВКривую(Дата: дробное): дробное;
переменные
  Год, Месяц, День: целое;
начало
  Результат := Дата;
  Год := Дата цел 10000;
  Месяц := (Дата ост 10000) цел 100;
  День := Дата ост 100;
  если День = 31 тогда
  начало
    День := 30;
  конец;
  если Месяц = 2 /* То бишь февраль */ тогда 
    если (День = 29) или ((День = 28) и (Год ост 4 &lt;&gt; 0))
    тогда
      День := 30;   
  Результат := БольшаяДата(Год, Месяц, День);    
конец;

// По ИД получаем тип года для записи из заголовка. Результат = 0 - обычный год, Результат = 1 - (12 * 30)
функция ПолучитьТипГода(ИД: целое): целое;
переменные
  В: Выборка;
начало
  Результат := -1;
  В := СоздатьВыборку;
  попытка
    В.БазаДанных := Бюджет;
    В.Запрос := "select YearType from LoanCredit where id = :RecordId";
    В.Параметр("RecordId").КакЦелое := ИД;
    В.Открыть;
    Результат := В.Поле("YearType").КакЦелое;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// выдает следующую дату для любого типа года
функция СледующаяДата(Дата: дробное; КолвоДней, ТипГода: целое): дробное;
переменные
  ДнейБыло, ДнейСтало: целое;
начало
  если ТипГода &lt;&gt; 0 тогда
  начало
    Дата := НормальнаяДатаВКривую(Дата);
    ДнейБыло := ГодДаты(Дата) * 360 + (МесяцДаты(Дата) - 1) * 30 + ДеньДаты(Дата);
    ДнейСтало := ДнейБыло + КолвоДней;
    Результат := ЦелыхГодов(ДнейСтало) * 10000 + (ЦелыхМесяцев(ДнейСтало)) * 100 + ЦелыхДней(ДнейСтало);
  конец
  иначе
    Результат := СледующееЧисло(Дата, КолвоДней);
конец;

// Выдает предыдущую дату для любого типа года
функция ПредыдущаяДата(Дата: дробное; КолвоДней, ТипГода: целое): дробное;
переменные
  ДнейБыло, ДнейСтало: целое;
начало
  Результат := 0;
  если ТипГода &lt;&gt; 0 тогда
  начало
    Дата := НормальнаяДатаВКривую(Дата);
    ДнейБыло := ГодДаты(Дата) * 360 + (МесяцДаты(Дата) - 1) * 30 + ДеньДаты(Дата);
    ДнейСтало := ДнейБыло - КолвоДней;
    Результат := ЦелыхГодов(ДнейСтало) * 10000 + (ЦелыхМесяцев(ДнейСтало)) * 100 + ЦелыхДней(ДнейСтало);
  конец
  иначе
    Результат := ПредыдущееЧисло(Дата, КолвоДней);
конец;

// Выдает число дней в году для любого типа года
функция ЧислоДнейВЛюбомГоду(ИД, Год: целое): целое;
начало
  Результат := 0;
  если ПолучитьТипГода(ИД) &lt;&gt; 0 тогда
    Результат := 360
  иначе
    Результат := ЧислоДнейВГоду(Год); 
конец;

функция ЧислоДнейВЛюбомМесяце(ИД, Год, Месяц: целое): целое;
начало
  Результат := 0;
  если ПолучитьТипГода(ИД) &lt;&gt; 0 тогда
    Результат := 30
  иначе
    Результат := ЧислоДнейВМесяце(Год, Месяц);  
конец;

// Использовать только для ненормального года!!!
функция ОткорректироватьДатыСубпериодов(Субпериоды: СтатическиеДанные);
начало
  Субпериоды.ВНачало;
  пока не Субпериоды.ВКонце делать
  начало
    Субпериоды.Редактировать;
    Субпериоды.Поле("Date").КакДробное := НормальнаяДатаВКривую(Субпериоды.Поле("Date").КакДробное);
    Субпериоды.Сохранить;
    Субпериоды.Следующая;
  конец;
конец; 

функция ЧислоДнейВПериоде(ИД: целое; НачалоПериода, КонецПериода: дробное): целое;
переменные
  Разница: дробное;
  Год, Месяц, День: целое;
начало
  Результат := 0;
  попытка
    если ПолучитьТипГода(ИД) = 1 тогда
      // Вычисляем очень просто, считаем кол-во дней от 01.01.01 до конца периода и вычитаем из него
      // кол-во дней до начала периода. Все гениальное просто.
      Результат := (ГодДаты(КонецПериода) * 360 + МесяцДаты(КонецПериода) * 30 + ДеньДаты(КонецПериода))
        - (ГодДаты(НачалоПериода) * 360 + МесяцДаты(НачалоПериода) * 30 + ДеньДаты(НачалоПериода)) 
    иначе
      Результат := ЧислоДней(НачалоПериода, КонецПериода);
  неудача
    ВызватьОшибку("Невозможно пересчитать из-за неверного указания даты");
  конец;
конец;

// Выдает дату конца месяца. ВНИМАНИЕ!!! Пока при годе 12*30 конец месяца - обычный (28, 29, 30, 31)
функция ПолучитьДатуКонцаМесяца(Дата: дробное; ТипГода: целое): дробное;
начало
  если ТипГода = 1 тогда
  // Ненормальный год (12 месяцев по 30 дней)
    Результат := (Дата цел 100) * 100 + 30
  иначе
  начало
    // Нормальный год (365 или 366 дней в году)
    Результат := (Дата цел 100) * 100 + ЧислоДнейВМесяце(Дата цел 10000, (Дата ост 10000) цел 100); 
  конец;    
конец;

функция СледующийМесяц(Дата: целое): целое;
переменные
  Год, Месяц: целое; 
начало
  Год := ГодДаты(Дата);
  Месяц := МесяцДаты(Дата);
  Месяц := Месяц + 1;
  если Месяц &gt; 12 тогда
  начало
    Месяц := 1;
    Год := Год + 1; 
  конец;
  Результат := Год * 10000 + Месяц * 100 + 1;
конец;
</value>
    <param value="ДляРаботыСГодом12х30.abl" type="3" name="version">36.042.21</param>
    <param value="ДляРаботыСГодом12х30.abl" type="3" name="crc32">$77B4E22E</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляСсуд.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить '\Библиотеки\Reports.lib';
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  УзелПараметровКредиты = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелСмещений = "Бюджет\Объекты\Настройки\Ссуды\Смещения";
  Кредиты="{DDC51F01-193C-11D5-8DF5-000021DDD8D5}";
  Ссуды = "{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}";
  // строковые константы видов пеней и кредитов. Юзаются в функциях получитьпараметр и получитьимяпараметра
  стр_впОснДолг = "по основному долгу";
  стр_впПроц = "по начисленным процентам";
  стр_впВсе = "все";
  стр_Проц = "процент";
  стр_воУплата = "уплата";
  стр_воНачисление = "начисление";

// Разбирает список значений через запятую и проверяет каждую проводку на существование
// Пользуясь случаем передаю приветы: Роме Шевелуеву, который будет исправлять здесь глюки
// Дену Новожилову, который первый будет материться по телефону по поводу ошибок
// и Ане Каштановой, которая напишет про ошибки именно в тот момент, когда Рома будет выкладывать 
// исправленную версию, а Ден позвонит минимум раза 3
функция РазобратьЗначения(СтрокаПроводок: строка): целое;
переменные
  Значение: строка;
начало
  СтрокаПроводок := УбратьПробелы(СтрокаПроводок);
  Результат := Истина;
  попытка

    Пока СтрокаПроводок &lt;&gt; "" делать
    начало
      если Позиция(",", СтрокаПроводок) = 0 тогда
      начало
        Значение := СтрокаПроводок;
        СтрокаПроводок := "";
      конец иначе
      начало
        Значение := Подстрока(СтрокаПроводок, 1, Позиция(",", СтрокаПроводок) - 1);
        СтрокаПроводок := Подстрока(СтрокаПроводок, Позиция(",", СтрокаПроводок) + 1, Длина(СтрокаПроводок) - Позиция(",", СтрокаПроводок));
      конец;
      если не ПроверитьКлассификатор(тк_БухПроводка, СтрокаВЦелое(Значение)) тогда
        ВызватьОшибку("Указанная проводка не существ");
    конец;
  неудача
    Результат := Ложь;
  конец;
конец;

функция ПроверитьПроводки;
переменные
  СтрокаПроводок: строка;
начало
  // Начисление проц.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления процентов.");
  // Начисление пени осн.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по основному долгу.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по основному долгу.");
  // Начисление пени по процентам
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по процентам.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по процентам.");
  // Уплата процентов
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для уплаченных процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для уплаченных процентов.");
  
конец; 

// возвращает GUID интерфейса, на котором выполняется скрипт
функция Модуль : Строка;
//переменные
//  ф : ФормаВвода;
начало
//  ф := ПолучитьФормуВвода;
//  результат := Ф.Идентификатор;
  результат := Ссуды;
конец;

////////////////////////////////////////////////////  
// функция выдает параметр - ограничение указанного вида и типа. Работает как для ссуд, так и для кредитов
// вид : начисление, уплата
// тип : процент по кредиту/ссуде, пени по основному долгу и по начисленным процентам  
функция ПолучитьПараметр(вид, тип : Строка) : строка;
переменные
  рез : целое;
  ПрогИндекс : целое;
  УзелП : Строка; 
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
    
  рез := 0;
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
  начало 
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : рез := 124;                  
        стр_впОснДолг : рез := 325;
        стр_впПроц : рез := 326;
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "325,326";
          если Модуль = Кредиты тогда
            результат := "335,336";
        конец;
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : рез := 123;                  
        стр_впОснДолг : рез := 328;
        стр_впПроц : рез := 329;                  
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "328,329";
          если Модуль = Кредиты тогда
            результат := "338,339";
        конец;
      конец;
    если рез &lt;&gt; 0 тогда
    начало
      если Модуль = Кредиты тогда 
        рез := рез + 10;
      результат := ЦелоеВСтроку(рез);
    конец;
  конец
  иначе
  начало// не было обновления системы
    если Модуль = Кредиты тогда
      УзелП := УзелПараметровКредиты;
    если Модуль = Ссуды тогда
      УзелП := УзелПараметров;
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды начисления пени").КакСтрока +","+
          Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока + "," + 
          Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;         
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока; 
      конец;       
  конец;    
конец;

// пока нигде не используется. Вместо нее надо юзать ПреобразоватьПараметр
функция ПолучитьПрогИндекс(вид, тип : Строка) : строка;
переменные
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
    
  если ЦелаяКонстанта(ПИ, 1) тогда
    результат := ПолучитьПараметр(вид, тип)
  иначе
    результат := ЦелоеВСтроку(ПИ);
конец;

//Преобразует параметр в проводку по данным реестра
// Если параметр и был проводкой (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьВПроводку(вид, пар : Строка) : Строка;
переменные
  л_пар : Строка;
  УзелП : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
  начало
    ПИ := 120;
    УзелП := УзелПараметров;
  конец;
  если Модуль = Кредиты тогда
  начало
    ПИ := 130;
    УзелП := УзелПараметров;
  конец;
  если Позиция(",", пар) &gt; 0 тогда
    л_пар := Подстрока(пар, 1, Позиция(",", пар))
  иначе
    л_пар := пар;
  если ЦелаяКонстанта(ПИ, 1) тогда
  начало
    результат := "";
    если Модуль = Ссуды тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "124" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "325" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "326" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "123" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "328" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "329" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
    если Модуль = Кредиты тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "134" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "335" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "336" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "133" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "338" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "339" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
  конец
  иначе
    результат := л_пар;
конец;

//Преобразует параметр в ПрогИндекс по данным реестра
// Если параметр и был Прогиндексом (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьПараметр(пар : Строка) : Строка;
переменные
  поз : целое;
  л_пар : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
  поз := Позиция(",", пар);
  если поз &lt;&gt; 0 тогда
    л_пар := Подстрока(пар, поз - 1)
  иначе
    л_пар := пар;
  результат := пар;  
  если не ЦелаяКонстанта(ПИ, 1) тогда
    результат := ЦелоеВСтроку(ПИ + 4);  
конец;
 
// Получает имя поля из базы для нужного параметра (проводка или прогиндекс)
функция ПолучитьИмяПараметра : строка;
переменные
  ПрогИндекс : целое;
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
   
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
    результат := "progindex"
  иначе
    результат := "buhpaymentcls"    
конец;  

функция ПроверитьВалютуВДетализациях(МастерИД: целое): целое;
переменные
  ВалютаВЗаголовке: целое;
  В: Выборка;
начало
  Результат := Истина;
  попытка
    // Получаем валюту из заголовка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select CurrencyCLS from LoanCredit where Id = " + ЦелоеВСтроку(МастерИД);
    В.Открыть;
    ВалютаВЗаголовке := В.Поле("CurrencyCLS").КакЦелое;
    
    // Проверяем закладки "Выдача" и "Погашение"
    В.Закрыть;
    В.Запрос := "select CurrencyCLS, ProgIndex from FinDocDetail where RecordIndex = " + ЦелоеВСтроку(МастерИД)
                + " and CurrencyCLS &lt;&gt; " + ЦелоеВстроку(ВалютаВЗаголовке);
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;
    
    если Результат тогда
    начало
      // Проверим детализацию "Уплата %" 
      В.Закрыть;
      В.Запрос := "select ic.CurrencyIndex, i.ProgIndex from Incomes32 i "
                    + " left join CurrencyIncomes ic on (ic.id = i.id)" 
                    + " where i.RecordIndex = " + ЦелоеВСтроку(МастерИД)
                    + " and ic.CurrencyIndex &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;
      если В.ЧислоЗаписей &gt; 0 тогда
        Результат := Ложь;
    конец;
    
    если Результат тогда
    начало
      // проверим детализацию "Начисление %"
      В.Закрыть;
      В.Запрос := "select CurrencyCLS, ProgIndex from LoanCreditPercents where RecordIndex = " + ЦелоеВСтроку(МастерИД)
                  + " and CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;            
      если В.ЧислоЗаписей &gt; 0 тогда
        Результат := Ложь;
    конец;
    
    если Результат тогда
    // Осталось проверить только графики
    начало
      В.Закрыть;
      В.Запрос := "select CurrencyCLS, ProgIndex from LoanCreditPlan where RecordIndex = "+ ЦелоеВСтроку(МастерИД)
                  + " and CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;
      если В.ЧислоЗаписей &gt; 0 тогда
      Результат := 0;            
    конец;
  обязательно
    УдалитьОбъект(В);
  конец;                  
конец;

// Закачивает в коллекцию все смещения
функция ПолучитьСмещенияСсуды(Коллекция: IVariables);
начало
  Коллекция.Значение("Выдача") := Реестр.Узел(УзелСмещений).Значение("Выдача").КакЦелое;
  Коллекция.Значение("Погашение") := Реестр.Узел(УзелСмещений).Значение("Погашение").КакЦелое;
  Коллекция.Значение("НачислениеПроц") := Реестр.Узел(УзелСмещений).Значение("Начисление процентов").КакЦелое;
  Коллекция.Значение("НачислениеПени") := Реестр.Узел(УзелСмещений).Значение("Начисление пеней").КакЦелое;
  Коллекция.Значение("УплатаПроц") := Реестр.Узел(УзелСмещений).Значение("Уплата процентов").КакЦелое;
  Коллекция.Значение("УплатаПени") := Реестр.Узел(УзелСмещений).Значение("Уплата пеней").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПроц") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки процентов").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПени") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки пеней по осн. долгу").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПениПроц") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки пеней по проц.").КакЦелое;
  Коллекция.Значение("ПлановоеПогашение") := Реестр.Узел(УзелСмещений).Значение("График погашения").КакЦелое;
  Коллекция.Значение("ПлановаяУплатаПроцентов") := Реестр.Узел(УзелСмещений).Значение("График уплаты процентов").КакЦелое;
конец;

// Добавляет субпериоды по длине, указанной в заголовке. Если длина субпериода = -1, тогда
// разбивает по месяцам
функция ДобавитьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; Параметр : Строка);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = 120 and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.Открыть;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по периодам определенной длины (месяц, квартал, полгода, год)
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      Г := ГодДаты(В.Поле("periodstart").КакДробное);
      М := МесяцДаты(В.Поле("periodstart").КакДробное);
      Д := ДеньДаты(В.Поле("periodstart").КакДробное);
      пока (М &lt; 13) и (БольшаяДата(Г, М, Д) &lt;= КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          если ЧислоДнейВЛюбомМесяце(ИДЗаголовка, Г, М) &gt;= Д тогда 
            СубПериоды.ПолеПоИмени("date").КакДробное := БольшаяДата(Г, М, Д)
          иначе 
            СубПериоды.Поле("Date").КакДробное := БольшаяДата(Г, М, ЧислоДнейВЛюбомМесяце(ИДЗаголовка, Г, М));
          //если В.Поле("YearType").КакЦелое = 1 тогда
            // Тип года 12*30, поэтому корректируем
            //СубПериоды.ПолеПоИмени("date").КакДробное := НормальнаяДатаВКривую(СубПериоды.ПолеПоИмени("date").КакДробное);
          Субпериоды.ПолеПоИмени("note").КакСтрока := "плановое начисление";
          Субпериоды.Поле("ProgIndex").КакДробное := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          // Начинаем след. год
          Г := Г + 1;
          М := М ост 12;
        конец;
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("periodstart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("Date").КакДробное := ДатаКонцаПодпериода;
          если В.Поле("YearType").КакЦелое = 1 тогда
            // Тип года 12*30, поэтому корректируем
            СубПериоды.ПолеПоИмени("date").КакДробное := НормальнаяДатаВКривую(СубПериоды.ПолеПоИмени("date").КакДробное);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          Субпериоды.Поле("ProgIndex").КакДробное := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, В.Поле("YearType").КакЦелое);
      конец;
    конец;

  обязательно
    УдалитьОбъект(В);
  конец; 

конец;  


// Возвращает дату начала периодов пени
функция ПолучитьНачалоПериодовПени(Ключ: целое; Параметр : Строка): дробное;
переменные
  В: Выборка;
  НачалоПериода: дробное;
  Коды_Пени, Коды_Проц: строка;
  Смещения: IVariables;
  ТипГода: целое;
начало
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    // вычислить окончание последнего существующего периода
//    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
//               + " where (ProgIndex in ("+ПрогИндекс+")) and (RecordIndex = :REC) and (BuhPaymentCLS in (" + Коды_Пени + ")) ";
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
               + " where (" + ПолучитьИмяПараметра + " in ("+Параметр+")) and (RecordIndex = :REC)";
    В.Параметр("REC").КакЦелое := Ключ;
    В.Открыть;
    если В.Поле("periodend").Пустое 
    тогда 
      НачалоПериода := 0 
    иначе 
      если (В.Поле("periodend").КакДробное ост 10000) &lt;= 101
        тогда 
          НачалоПериода := В.Поле("periodend").КакДробное
        иначе 
          НачалоПериода := СледующаяДата(В.Поле("periodend").КакДробное, 1, ТипГода);

    если НачалоПериода = 0 
    тогда 
    начало
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг)) тогда//      если ПрогИндекс = "325" тогда
      начало 
        // вынуть самое раннее погашение
        В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"  
                   + " where (ProgIndex = 127) and (RecordIndex = :REC) and (PlanDate is not null) ";
        В.Параметр("REC").КакЦелое := Ключ;
        В.Открыть;
        если не В.Поле("PlanDate").Пустое 
        тогда НачалоПериода := СледующаяДата(В.Поле("PlanDate").КакДробное, Смещения.Значение("ПлановоеПогашение"), ТипГода);
      конец;
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) тогда//если ПрогИндекс = "326" тогда
      начало
        если не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
        // Используем данные с детализации "Начисление %"
        начало
//          В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
//                      + " where (ProgIndex in (124, 324)) and (RecordIndex = :REC) and (PayPercentDate is not null)"
//                      + " and (BuhPaymentCLS in (" + Коды_Проц + "))";
          В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
                      + " where (RecordIndex = :REC) and (PayPercentDate is not null)"
                      + " and ("+ПолучитьИмяПараметра+" in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + "))";
          В.Параметр("REC").КакЦелое := Ключ;
          В.Открыть;
          если ((В.Поле("PayPercentDate").КакДробное &gt; 0) и (В.Поле("PayPercentDate").КакДробное &lt; НачалоПериода)) 
                или ((НачалоПериода = 0) и (не В.Поле("PayPercentDate").Пустое)) 
          тогда
            НачалоПериода := СледующаяДата(В.Поле("PayPercentDate").КакДробное, Смещения.Значение("ПлановаяУплатаПроц"), ТипГода);
        конец иначе
        // Используем график уплаты %
        начало
          В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan where (ProgIndex = 128)"
                      + " and (RecordIndex = :REC) and (PlanDate is not null)";
          В.Параметр("REC").КакЦелое := Ключ;
          В.Открыть;
          если ((В.Поле("PlanDate").КакДробное &gt; 0) и (В.Поле("PlanDate").КакДробное &lt; НачалоПериода)) или
            ((НачалоПериода = 0) и (В.Поле("PlanDate").КакДробное &gt; 0)) 
          тогда
            НачалоПериода := СледующаяДата(В.Поле("PlanDate").КакДробное, Смещения.Значение("ПлановаяУплатаПроцентов"), ТипГода);            
        конец;
      конец;    
    конец;

    // если не было не периодов, ни выдач , взять "начало периода" или "дату ввода" из заголовка
    если НачалоПериода = 0 тогда 
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ProgIndex = 120 and id = :REC " ;
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
      тогда 
        НачалоПериода := В.ПолеПоИмени("PeriodStart").КакДробное 
      иначе 
        НачалоПериода := В.ПолеПоИмени("DATEINPUT").КакДробное;
    конец;

    Результат := ОбычнаяДатаВРасшир(НормализоватьДату(НачалоПериода));
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Выдает дату начала субпериодов процентов
функция ПолучитьНачалоСубпериодовПроценты(Ключ: целое): дробное;
переменные
  В: Выборка;
  НачалоПериода: дробное;
  Смещения: IVariables;
  Коды_Проц: строка;
  ТипГода: целое;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  // вычислить начало первого подпериода по дате окончания последнего существующего периода
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  ТипГода := ПолучитьТипГода(Ключ);
  попытка
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
               + " where (ProgIndex in (124)) and (RecordIndex = :REC) and (BuhPaymentCLS in (" + Коды_Проц + ")) ";
    В.Параметр("REC").КакЦелое := Ключ;
    В.Открыть;
    если В.Поле("periodend").Пустое 
      тогда НачалоПериода := 0 
      иначе 
        если (В.Поле("periodend").КакДробное ост 10000) &lt;= 101  // если это даты остатков (00.00 или 01.01)
        тогда 
          НачалоПериода := ОбычнаяДатаВРасшир(НормализоватьДату(в.поле("periodend").КакДробное)) // тогда период начнется с 01.01
        иначе 
          НачалоПериода := СледующаяДата(В.Поле("periodend").КакДробное,1, ТипГода);  // иначе ОБЯЗАТЕЛЬНО со следующего числа

    // если периодов не было , вынуть самую раннюю выдачу 
    если НачалоПериода = 0 
    тогда начало
      В.Запрос := "select min(RecordDate) RecordDate from FinDocDetail" 
               + " where (ProgIndex = 121) and (RecordIndex = :REC) and (RecordDate is not null)";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если не В.Поле("RecordDate").Пустое 
      тогда НачалоПериода := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещения.Значение("Выдача"), ТипГода);
    конец;


    // если периодов не было , вынуть самую раннюю выдачу 
    если НачалоПериода = 0 
    тогда начало
      В.Запрос := "select min(AcceptDate) AcceptDate from FinDocDetail" 
               + " where (ProgIndex = 121) and (RecordIndex = :REC) and (AcceptDate is not null) ";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если не В.Поле("acceptdate").Пустое 
      тогда НачалоПериода := СледующаяДата(В.Поле("acceptdate").КакДробное, Смещения.Значение("Выдача"), ТипГода);
    конец;

    // если не было ни периодов, ни выдач , взять "начало периода" или "дату ввода" из заголовка
    если НачалоПериода = 0
    тогда 
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ProgIndex = 120 and id = :REC";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
      тогда НачалоПериода := В.ПолеПоИмени("PeriodStart").КакДробное 
      иначе НачалоПериода := В.ПолеПоИмени("DATEINPUT").КакДробное;
    конец ;

    // на всяк случай подрихтуем дату начала периода , чтоб она была календарной , а не алгебраической
    Результат := ОбычнаяДатаВРасшир(НормализоватьДату(НачалоПериода));
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Открывает и закачивает в субпериоды выборку
функция ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка: целое; НачалоПериода, КонецПериода: дробное; В: Выборка;
                                    Субпериоды: СтатическиеДанные; ИмяПоля, ИмяПоляРасчет, Примечание: строка;Смещение: целое;
                                    Параметр : Строка);
переменные
  ПолеВыборки: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  В.Параметр("REC").КакСтрока := ЦелоеВСтроку(ИДЗаголовка);
  В.Параметр("DATESTART").КакСтрока := ДробноеВСтроку(ПредыдущаяДата(НачалоПериода, Смещение, ТипГода));
  В.Параметр("DATEEND").КакСтрока := ДробноеВСтроку(ПредыдущаяДата(КонецПериода, Смещение, ТипГода));
  В.Открыть;
  если ИмяПоляРасчет = "Percent" тогда
    ПолеВыборки := "Percent"
  иначе ПолеВыборки := "Total";  
  пока не В.ВКонце делать
  начало
    Субпериоды.Вставить;
    попытка
      Субпериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр); 
    неудача
      Субпериоды.Поле("ProgIndex").КакСтрока := 124;
    конец;
    попытка
      если В.Поле("RecordDate").Пустое тогда
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода)
      иначе
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещение, ТипГода);
    неудача
      // поле "RecordDate" отсутствует
      Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода);
    конец;
    попытка
      // В выборке нет такого поля
      Субпериоды.Поле(ИмяПоляРасчет).КакДробное := В.Поле(ПолеВыборки).КакДробное;
    неудача
    конец;
    Субпериоды.Поле("Note").КакСтрока := Примечание;
    попытка
      Субпериоды.Поле("CurrencyDebit").AsFloat := В.Поле("CurrencyDebit").КакДробное;
    неудача
    конец;
    попытка
      Субпериоды.Поле("CurrencyCredit").AsFloat := В.Поле("CurrencyCredit").КакДробное;
    неудача
    конец;
    Субпериоды.Сохранить;
    В.Следующая;
  конец;        
конец;

// Субпериоды
функция СформироватьСубпериодыПроценты(Ключ: целое; ДатаНачала, ДатаКонца: дробное; Подробно: целое): СтатическиеДанные;
переменные
  Смещения: IVariables;
  ТипГода, Надо_Подпериоды: целое;
  Коды_Проц, Проводка: строка;
  Субпериоды: СтатическиеДанные;
  В: Выборка;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения); // получили смешщения относ. дат
  ТипГода := ПолучитьТипГода(Ключ);
  // взять коды операций начисления процентов из параметра настройки в реестре настроек
  // чтоб учитывать только начисления процентов и не учитывать начисления пени
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды процентов подробно").КакФлаг;
  
  // вычленить из строки кодов операций начисления процентов самый первый код для подстановки в новые записи периодов
  если Позиция(",", Коды_Проц) = 0  
  тогда 
    Проводка := Коды_Проц 
  иначе 
    Проводка := Подстрока(Коды_Проц, 1 , Позиция(",", Коды_Проц) - 1) ;            
  
  В := СоздатьВыборку; 
  В.БазаДанных := Бюджет ;

  попытка   
    если ДатаНачала &lt;= ДатаКонца // Можно сформировать период на день первой выдачи
    тогда начало
       
      // ***************************** ВЫБИРАЕМ ВСЕ ДАТЫ ВЫДАЧ, ПОГАШЕНИЙ , ИЗМЕНЕНИЯ СТАВОК , **************************
      // ****************************  начиная с вычисленной даты начала периода   *************************************

      СубПериоды := СоздатьСтатическиеДанные;
      СубПериоды.ДобавитьДробноеПоле("Date");       // дата начала субпериода      
      СубПериоды.ДобавитьСтроковоеПоле("NOTE", 100).Размер := 100;     // комментарий , в связи с чем подразбивка на подпериоды    
      СубПериоды.ДобавитьДробноеПоле("Credit");
      Субпериоды.ДобавитьДробноеПоле("Debit");
      Субпериоды.ДобавитьДробноеПоле("Percent");
      Субпериоды.ДобавитьДробноеПоле("CurrencyDebit");
      Субпериоды.ДобавитьДробноеПоле("CurrencyCredit");
      СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
      СубПериоды.Открыть;
      
      // добавить саму дату начала подпериодов
      Субпериоды.Вставить;
      Субпериоды.Поле("date").КакДробное := ДатаНачала;
      Субпериоды.Сохранить;

      если Надо_Подпериоды или Подробно тогда 
      начало 
      
        // вынимаем в субпериоды выдачу ссуды
        В.Запрос := "select AcceptDate, RecordDate, (Credit - Debit) Total, CurrencySumma CurrencyCredit from FinDocDetail" 
                   + " where (ProgIndex = 121) and (RecordIndex = :REC)"
                   + " and (AcceptDate &gt; :DATESTART) and (AcceptDate&lt;=:DATEEND) ";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Credit", "выдача ссуды", Смещения.Значение("Выдача"), "");

        // внесем субпериоды по погашению кредита
        В.Запрос := "select AcceptDate, RecordDate, (Debit - Credit) Total, CurrencySumma CurrencyDebit from FinDocDetail" 
                  + " where (ProgIndex = 122) and (RecordIndex = :REC)"
                  + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Debit", "погашение ссуды", Смещения.Значение("Погашение"), "");
        
        // внесем субпериоды по изменению процентных ставок
        В.Запрос := "select AcceptDate, Percent from PercentJournal"
                   + " where (ProgIndex = 125) and (RecordIndex = :REC)"
                   + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Percent", "изменение процентной ставки", Смещения.Значение("ИзменениеСтавкиПроц"), "");
      конец;
      Результат := Субпериоды;
    конец;  
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Формирует субпериоды с суммами и процентами по пеням
функция СформироватьСубпериодыПени(Ключ: целое; НачалоПериода, КонецСрока: дробное; Подробно: целое; Параметр, ВидПеней: Строка): СтатическиеДанные;
переменные
  Субпериоды: СтатическиеДанные;
  В: Выборка;
  Смещения: IVariables;
  ТипГода, Надо_Подпериоды: целое;
  Коды_Проц, Коды_Упл_Проц, Коды_Пени, кп_ОснДолг, кп_НачПроц, Проводка: строка;
начало
  // ***************************** ВЫБИРАЕМ ВСЕ ДАТЫ ВЫДАЧ, ПОГАШЕНИЙ , ИЗМЕНЕНИЯ СТАВОК , **************************
  // ****************************  начиная с вычисленной даты начала периода   *************************************
  Смещения := CreateVariables;
  получитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакФлаг;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Коды_Упл_Проц := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  кп_ОснДолг := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока; 
  кп_НачПроц := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока; 
  // это проводка для новых записей
  если Позиция(",", Коды_Пени) = 0
  тогда Проводка := Коды_Пени 
  иначе Проводка := Подстрока(Коды_Пени, 1, Позиция(",", Коды_Пени) - 1);            

  СубПериоды := СоздатьСтатическиеДанные;
  СубПериоды.ДобавитьДробноеПоле("Date");           // дата начала субпериода
  СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
  СубПериоды.ДобавитьСтроковоеПоле("NOTE", 100).Размер := 100;
  СубПериоды.ДобавитьДробноеПоле("Credit");           
  СубПериоды.ДобавитьДробноеПоле("Debit");           
  СубПериоды.ДобавитьДробноеПоле("Percent");           
  СубПериоды.ДобавитьДробноеПоле("CurrencyCredit");
  СубПериоды.ДобавитьДробноеПоле("CurrencyDebit");
  СубПериоды.Открыть;
  
  Субпериоды.Вставить;
  Субпериоды.Поле("date").КакДробное := НачалоПериода;
  
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  если Надо_Подпериоды или Подробно тогда 
  начало
    //разделение на осн. долг и начисл. проценты
    // для осн.долга : план погашения, погашение, смена ставки пени
    если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг)) и (ВидПеней &lt;&gt; стр_впПроц) тогда//если Позиция("325", ПрогИндекс) &gt; 0 тогда
    начало      
      // внесем субпериоды по графику погашения
      В.Запрос := "select PlanDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPlan"      
                 + " where (ProgIndex=127) and (RecordIndex=:REC)"
                 + " and (PlanDate &gt; :DATESTART) and (PlanDate&lt;=:DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PlanDate", "Credit", "график погашения", Смещения.Значение("ПлановоеПогашение"), Параметр);
      // внесем субпериоды по погашению ссуды
      В.Запрос := "select AcceptDate, RecordDate, (Debit - Credit) Total, CurrencySumma CurrencyDebit from FinDocDetail" 
                 + " where (ProgIndex=122) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";

      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Debit", "погашение ссуды", Смещения.Значение("Погашение"), Параметр);
      
      // внесем субпериоды по изменению ставок пени по осн. долгу
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                 + " where (ProgIndex in (126)) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Percent", "изменение ставки пени по осн. долгу", Смещения.Значение("ИзменениеСтавкиПени"), Параметр);      
    конец;

    // для начисл. процентов : график уплаты %, уплата, смена ставки пени
    если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) и (ВидПеней &lt;&gt; стр_впОснДолг) тогда//если Позиция("326", ПрогИндекс) &gt; 0 тогда
    начало   
      если не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
      начало
        // внесем субпериоды по плановым датам уплаты процентов
        В.Запрос := "select PayPercentDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPercents"
                   + " where (RecordIndex = :REC)"
                   + " and (PayPercentDate &gt; :DATESTART) and (PayPercentDate &lt;= :DATEEND)"
                   + " and ("+ПолучитьИмяПараметра+" in (" + ПолучитьПараметр(стр_воНачисление, стр_проц) + "))";
        ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PayPercentDate", "Credit", "уплата процентов(план)", Смещения.Значение("НачислениеПроц"), Параметр);
      конец иначе
      начало
        В.Запрос := "select PlanDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPlan"
                   + " where (ProgIndex = 128) and (RecordIndex = :REC)"
                   + " and (PlanDate &gt; :DATESTART) and (PlanDate &lt;= :DATEEND)";
                   //+ " and (BuhPaymentCLS in (" + Коды_Проц + ")) ";
        ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PlanDate", "Credit", "уплата процентов(план)", Смещения.Значение("ПлановаяУплатаПроцентов"), Параметр);
      конец;
      // внесем субпериоды по факту уплаты процентов
      В.Запрос := "select i.IDate, i.RecordDate, (i.Credit - i.Debit) Total, ci.CurrencyValue CurrencyDebit from incomes32 i"
                 + " left join CurrencyIncomes ci on (ci.id = i.id)"
                 + " where (i.ProgIndex in (123)) and (i.RecordIndex = :REC) and (i.IDate &gt; :DATESTART) and (i.IDate&lt;=:DATEEND)"
                 + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воУплата, стр_проц) + ")) ";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "IDate", "Debit", "уплата процентов", Смещения.Значение("УплатаПроц"), Параметр);
      // внесем субпериоды по изменению ставок пени по проц.
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                 + " where (ProgIndex in (129)) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Percent", "изменение ставки пени по проц.", Смещения.Значение("ИзменениеСтавкиПениПроц"), Параметр);      
    конец;
    //конец разделение на осн. долг и начисл. проценты
  конец;  // подробных подпериодов по всем операциям
  Результат := Субпериоды;
конец;


//////////////////////////////////////////////////////////
// Формирование периодов начисления пеней
//////////////////////////////////////////////////////////
функция СсудыФормированиеПени(Ключ: целое; КонецСрока: целое; НовыеЗаписи: СтатическиеДанные; Параметр, ВидПеней: Строка);
переменные 
  Субпериоды, ДетальВыдача, ДетальПогашение, ДетальЖурнал, ДетальПериоды: СтатическиеДанные ;
  Д, М, Г, НачалоПериода, КонецПериода, Надо_Подпериоды: целое ;
  Коды_Пени, Коды_Проц , Коды_Упл_Проц, Проводка: строка ;
  В: Выборка ;        
  ТипГода: целое;
  Смещения: IVariables;
начало
  Смещения := CreateVariables;
  ТипГода := ПолучитьТипГода(Ключ);
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакФлаг;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Коды_Упл_Проц := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  
  Проводка := ПреобразоватьВПроводку(стр_воНачисление, Параметр);
  
  НачалоПериода := ПолучитьНачалоПериодовПени(Ключ, Параметр);
  Субпериоды := СформироватьСубпериодыПени(Ключ, НачалоПериода, КонецСрока, Ложь, Параметр, ВидПеней);

  // ************** РАЗБИРАЕМСЯ С НЕОБХОДИМОСТЬЮ РАЗБИВКИ НА ПОДПЕРИОДЫ ПО МЕСЯЦУ , ***************
  // ************** если таковое в заголовке задано                                 ***************
  ДобавитьПериодыПоДлине(Ключ, Субпериоды, НачалоПериода, КонецСрока, Параметр);
  //если ПолучитьТипГода(Ключ) = 1 тогда
  //  ОткорректироватьДатыСубпериодов(Субпериоды);
 
  // *************** Упорядочиваем субпериоды и выдаем их в периоды **************************
  попытка
    Субпериоды.Индекс := "date";
    Субпериоды.ВНачало;
    КонецПериода := Субпериоды.Поле("date").КакДробное;
    Субпериоды.Следующий;
    пока не Субпериоды.ВКонце делать 
    начало
      если (КонецПериода &lt;&gt; Субпериоды.Поле("date").КакДробное) и (КонецПериода &lt; КонецСрока)
      тогда начало
        НовыеЗаписи.Вставить;
        НовыеЗаписи.Поле("periodstart").КакДробное := КонецПериода;        
        НовыеЗаписи.Поле("periodend").КакДробное := ПредыдущаяДата(Субпериоды.Поле("date").КакДробное, 1, 0);
        НовыеЗаписи.Поле("buhpaymentcls").КакЦелое := Проводка;        
        НовыеЗаписи.Поле("note").КакСтрока := Субпериоды.Поле("note").КакСтрока;        
        НовыеЗаписи.Поле("ProgIndex").КакСтрока := Субпериоды.Поле("ProgIndex").КакСтрока;        
        НовыеЗаписи.Сохранить;
        //если Субпериоды.Поле("Date").КакДробное &lt;= КонецСрока тогда 
          КонецПериода := Субпериоды.Поле("date").КакДробное;        
      конец;
      Субпериоды.Следующий; 
    конец;
    если КонецПериода &lt;= КонецСрока тогда
    // Проверка нужна затем, если КонецПериода вдруг окажется больше, чем КонецСрока (это может случится)
    начало
      НовыеЗаписи.Вставить;
      НовыеЗаписи.Поле("periodstart").КакДробное := КонецПериода;        
      НовыеЗаписи.Поле("periodend").КакДробное := КонецСрока;
      НовыеЗаписи.Поле("buhpaymentcls").КакЦелое := Проводка;
      НовыеЗаписи.Поле("note").КакСтрока := "плановое начисление";        
      НовыеЗаписи.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);        
      НовыеЗаписи.Сохранить;
    конец;  
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;
конец;


//****************************************************************************************************
// Конструирует на странице "Начисление %" подробнейшие периоды на каждую дату выдачи или возврата ссуды
// или изменения ставки процентов  плюс  плановая разбивка от "даты начала периода" в заголовке на каждый месяц
// до заданной в интерактивном диалоге даты окончания периодов начисления  
// по одному договору , чеей ключ является входящим параметром 
//****************************************************************************************************
функция СсудыФормированиеПериодов(Ключ: целое; КонецСрока: целое; НовыеЗаписи: СтатическиеДанные);
переменные 
  Субпериоды: СтатическиеДанные;
  Д, М, Г, НачалоПериода, КонецПериода, Надо_Подпериоды: целое;
  Коды_Проц, Проводка: строка;
  В: Выборка;
  ТипГода: целое;
начало
  НачалоПериода := ПолучитьНачалоСубпериодовПроценты(Ключ);
  если НачалоПериода &lt;= КонецСрока тогда
  начало
    Субпериоды := СформироватьСубпериодыПроценты(Ключ, НачалоПериода, КонецСрока, Ложь); 
    Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
    если Позиция(",", Коды_Проц) = 0
    тогда Проводка := Коды_Проц 
    иначе Проводка := Подстрока(Коды_Проц, 1 , Позиция(",", Коды_Проц) - 1);            

    // ************** РАЗБИРАЕМСЯ С НЕОБХОДИМОСТЬЮ РАЗБИВКИ НА ПОДПЕРИОДЫ ПО МЕСЯЦУ , ***************
    // ************** если таковое в заголовке задано                                 ***************
    ДобавитьПериодыПоДлине(Ключ, Субпериоды, НачалоПериода, КонецСрока, "324");
    //если ПолучитьТипГода(Ключ) = 1 тогда
      //ОткорректироватьДатыСубпериодов(Субпериоды);
   
    // *************** Упорядочиваем субпериоды и выдаем их в периоды **************************
    попытка
      Субпериоды.Индекс := "Date";
      Субпериоды.ВНачало;
      КонецПериода := Субпериоды.Поле("Date").КакДробное;
      Субпериоды.Следующий;
      пока не Субпериоды.ВКонце делать 
      начало
        если КонецПериода &lt;&gt; Субпериоды.Поле("Date").КакДробное  // не повторять подпериоды
        тогда начало
          НовыеЗаписи.Append ;
          НовыеЗаписи.Поле("PeriodStart").КакДробное := КонецПериода;        
          НовыеЗаписи.Поле("PeriodEnd").КакДробное := ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0);
          НовыеЗаписи.Поле("BuhPaymentCLS").КакЦелое := Проводка;        
          НовыеЗаписи.Поле("Note").КакСтрока := Субпериоды.Поле("Note").КакСтрока;        
          НовыеЗаписи.Сохранить;
          КонецПериода := Субпериоды.Поле("Date").КакДробное;        
        конец;
        Субпериоды.Следующий; 
      конец;
      
      // добавить последний подпериод - на дату заданного окончания срока формирования
      если КонецПериода &lt;= КонецСрока тогда
      начало
        НовыеЗаписи.Append ;
        НовыеЗаписи.Поле("PeriodStart").КакДробное := КонецПериода;        
        НовыеЗаписи.Поле("PeriodEnd").КакДробное := КонецСрока;
        НовыеЗаписи.Поле("BuhPaymentCLS").КакЦелое := Проводка;        
        НовыеЗаписи.Поле("Note").КакСтрока := "плановое начисление";        
        НовыеЗаписи.Сохранить;
      конец;
    обязательно
      УдалитьОбъект(Субпериоды);
    конец;
  конец;
конец;



//*********************************************************************************
// Запросы для ссуд 
//*********************************************************************************

// Запрос для вставки новых периодов
функция ЗапросДляНовыхПериодов: строка;
начало
  Результат :=  " [PumpData]{select ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, CurrencyCLS, CurrencySumma"
              + " from LoanCreditPercents where (1 &lt;&gt; 1)} " 
              + #13#10
              + " [InsertData]{insert into LoanCreditPercents"
              + " (ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd, PayPercentDate, Note, CurrencyCLS, CurrencySumma)"
              + " values (@ProgIndex, @RecordIndex, @BuhPaymentCls, @PeriodStart, @PeriodEnd, @PayPercentDate, @Note, @CurrencyCLS, @CurrencySumma)}";
конец;

// Запрос для закачки периодов и изменения в них сумм
функция ЗапросДляПериодов: строка;
начало
  Результат :=  " [PumpData]{select id, ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, Summa, AcceptDate, RecordDate, CurrencySumma, CurrencyCLS"
              + " from LoanCreditPercents where (ProgIndex in (124, 324, 325, 326)) and (RecordIndex = @RecordIndex)"
              + " order by periodend, acceptdate, id} "
              + "[ModifyData]{update LoanCreditPercents set Summa = @Summa, AcceptDate = @AcceptDate, RecordDate = @RecordDate, CurrencySumma = @CurrencySumma"
              + " where (id = @id)}"
              + "[DeleteData]{delete from LoanCreditPercents where id=@id}"; 
конец;

функция ПолучитьДатуФормирования(Заголовок: СтатическиеДанные): целое;
переменные
  Год, Месяц, День: целое;
начало
  Результат := 0;
  если Заголовок.Поле("LongDate").КакДробное &gt; 0 тогда
    Результат := Заголовок.Поле("LongDate").КакДробное
  иначе
    если Заголовок.Поле("DateAmortization").КакДробное &gt; 0
    тогда Результат := Заголовок.Поле("DateAmortization").КакДробное
    иначе Результат := ПолучитьДатуКонцаМесяца(ТекущийГод * 10000 + 1231, 0);
  если Реестр.Узел(УзелПараметров).Значение("Вариант конца периодов").КакЦелое = 1 тогда
  // Конец предыдущего месяца
  начало
    Результат := ОбычнаяДатаВРасшир(ТекущаяДата);
    Год := ГодДаты(Результат);
    Месяц := МесяцДаты(Результат);
    Месяц := Месяц - 1;
    если Месяц = 0 тогда
    начало
      Месяц := 12;
      Год := Год - 1;
    конец;
    Результат := ПолучитьДатуКонцаМесяца(Год * 10000 + Месяц * 100 + 1, 0);
  конец;
  // Может в светлом будущем будет конец года    
конец;

функция ПолучитьДатуКонцаПериодов(Заголовок: СтатическиеДанные): целое;
начало
  Результат := ПолучитьДатуФормирования(Заголовок);
  если Результат = 0 тогда
    Результат := ПолучитьДатуКонцаМесяца(ТекущийГод * 10000 + 1231, 0);
конец;

// *******************************************************************************
//    Содержит функцию для расчета начисленных 
//    процентов за пользование взятым кредитом
//********************************************************************************
функция СсудыРасчетПроцентов (Ключ: целое; ДатаНачала, ДатаКонца: дробное; Сумма, СуммаВВалюте: дробное) : целое;
переменные
  Субсумма, Процент,                              // процент по кредиту
  Остаток: дробное;                     // остаток кредита
  НачалоСубпериода,                     // дата начала субпериода
  НачалоСледующегоСубПериода,           // дата конца субпериода
  ДлинаСубпериода: дробное;             // длина субпериода
  Год, Месяц, День: целое;              // дата по составляющим               
  СубПериоды: СтатическиеДанные;        // вспомогательный набор данных
  В: Выборка;
  ТипГода, ЭтоНацВалюта, ПозицияОкругления: целое;
  Смещения: IVariables;
  ПолеКредит, ПолеДебет: строка;
  СтавкаЗаДень: дробное;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(Ключ) = КодНацВалюты);
  если ЭтоНацВалюта тогда
  начало
    // При национальной валюте оперируем обычными суммами
    ПолеКредит := "Credit";
    ПолеДебет := "Debit";
  конец  
  иначе начало
    // А при буржуйской валюте - в ихних баксах
    ПолеКредит := "CurrencyCredit";
    ПолеДебет := "CurrencyDebit";
  конец;
  ТипГода := ПолучитьТипГода(Ключ);
  ПозицияОкругления := Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день до знака").КакЦелое;
  результат := Ложь;
  если ДатаНачала &gt; ДатаКонца 
  тогда ВызватьОшибку("Конец периода не может быть раньше начала периода.");
  
  попытка

    СубПериоды := СформироватьСубпериодыПроценты(Ключ, 10000000, ДатаКонца, Истина);
    
     // внесем для удобства даты начала и конца периода начисления        
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := ДатаНачала;                    
    СубПериоды.Сохранить;
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(Субпериоды);
    // отсортируем по датам начала субпериодов
    ТипГода := ПолучитьТипГода(Ключ);
    Субпериоды.Индекс := "Date";            
    // посчитаем остаток на начало периода начисления
    Остаток := 0;
    Процент := 0;
    Сумма := 0;

    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) делать
    начало
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное 
                                                       - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоимени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;

    НачалоСубпериода := ДатаНачала;
                             
    //ПолучитьДату(РасширДатаВОбычную(ДатаНачала), Год, Месяц, День);
    Год := ГодДаты(ДатаНачала);
    Месяц := МесяцДаты(ДатаНачала);
    День := ДеньДаты(ДатаНачала);
    
    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
        НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
        ДлинаСубПериода := ЧислоДнейВПериоде(Ключ, НачалоСубпериода, НачалоСледующегоСубПериода);
        СтавкаЗаДень := Процент / (ЧислоДнейВЛюбомГоду(Ключ, Год) * 100);
        если Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день").КакФлаг тогда
          // +2 написано потому, что ставка за день выражается в процентах, а мы округляем уже долю от ставки
          СтавкаЗаДень := ОкруглитьДоЗнака(СтавкаЗаДень, ПозицияОкругления + 2);
        // Округляем сумму за субпериод, дабы не получить расхождение с отчетом
        Субсумма :=  ОкруглитьДоЗнака(Остаток * ДлинаСубПериода * СтавкаЗаДень, 2);
        если Субсумма &lt; 0 тогда Субсумма := 0;
        Сумма := Сумма + субсумма ;    

        // измененные условия кредита
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;

        НачалоСубпериода := НачалоСледующегоСубПериода;
        СубПериоды.Следующая;
    конец;

    если не ЭтоНацВалюта тогда
    начало
      // Подсчитанная нами сумма есть сумма в валюте
      СуммаВВалюте := Сумма;
      Сумма := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(Ключ), ДатаКонца) * СуммаВВалюте;
    конец;
    Сумма := ОкруглитьДоЗнака(Сумма, 2); // Округляем до копеек
    результат := Истина;

  обязательно
    УдалитьОбъект(СубПериоды);     
  конец;
конец;

////////////////////////////////////////////////////////////////
// Расчет пеней
///////////////////////////////////////////////////////////////

функция СсудыРасчетПени (Ключ: целое; ДатаНачала, ДатаКонца: дробное; Сумма, ВалютнаяСумма: дробное; Параметр, ВидПеней : Строка): целое;
переменные
  СубсуммаДолг, Процент,                              // процент по кредиту
  ОстатокДолг, СуммаДолг: дробное;                     // остаток кредита
  НачалоСубпериода,                     // дата начала субпериода
  НачалоСледующегоСубПериода,           // дата конца субпериода
  ДлинаСубпериода: дробное;             // длина субпериода
  Год, Месяц, День, ТипГода: целое;              // дата по составляющим               
  СубПериоды: СтатическиеДанные;        // вспомогательный набор данных
  В: Выборка ;
  Смещения: IVariables;
  КредитДолг, ДебетДолг: строка;
  ЭтоНацВалюта, ПозицияОкругления: целое;
  СтавкаЗаДень: дробное;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  ПозицияОкругления := Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день до знака").КакЦелое;
  результат := Ложь;
  если ДатаНачала &gt; ДатаКонца 
  тогда ВызватьОшибку("Конец периода не может быть раньше начала периода.");
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(Ключ) = КодНацВалюты);
  если ЭтоНацВалюта тогда
  начало
    КредитДолг := "Credit";
    ДебетДолг := "Debit";
  конец 
  иначе начало
    КредитДолг := "CurrencyCredit";
    ДебетДолг := "CurrencyDebit";
  конец;
  попытка
  
    Субпериоды := СформироватьСубпериодыПени(Ключ, 10000000, ДатаКонца, Истина, Параметр, ВидПеней);

    // внесем для удобства даты начала и конца периода начисления        
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := ДатаНачала;                    
    СубПериоды.Сохранить;
    СубПериоды.Вставить;                         
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;

    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(Субпериоды);

    // отсортируем по датам начала субпериодов
    Субпериоды.Индекс := "Date";            
    // посчитаем остаток на начало периода начисления
    ОстатокДолг := 0;
    Процент := 0;
    СуммаДолг := 0;
    //ПоказатьДанные(Субпериоды);
    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) делать
    начало
        ОстатокДолг := ОстатокДолг + Субпериоды.ПолеПоИмени(КредитДолг).КакДробное 
                                      - Субпериоды.ПолеПоИмени(ДебетДолг).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;

    НачалоСубпериода := ДатаНачала;                         
    // ПолучитьДату(РасширДатаВОбычную(ДатаНачала), Год, Месяц, День);                // получить Год                 

    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
        Год := ГодДаты(НачалоСубпериода);
        НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
        ДлинаСубПериода := ЧислоДнейВПериоде(Ключ, НачалоСубпериода, НачалоСледующегоСубПериода);
        СтавкаЗаДень := Процент / (100 * ЧислоДнейВЛюбомГоду(Ключ, Год));
        если Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день").КакФлаг тогда
          СтавкаЗаДень := ОкруглитьДоЗнака(СтавкаЗаДень, ПозицияОкругления + 2);
        // Считаем начисленные пени 
        СубсуммаДолг := ОкруглитьДоЗнака(ОстатокДолг * ДлинаСубПериода * СтавкаЗаДень, 2);
        если СубсуммаДолг &lt; 0 тогда СубсуммаДолг := 0;    
        СуммаДолг := СуммаДолг + СубсуммаДолг;    

        // измененные условия кредита
        ОстатокДолг := ОстатокДолг + Субпериоды.ПолеПоИмени(КредитДолг).КакДробное - Субпериоды.ПолеПоИмени(ДебетДолг).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  
          Процент := субпериоды.ПолеПоИмени("percent").КакДробное;

        НачалоСубпериода := НачалоСледующегоСубПериода;
        СубПериоды.Следующая;
    конец;
    
    если ЭтоНацВалюта тогда
    начало
      Сумма := ОкруглитьДоЗнака(СуммаДолг, 2); // Округляем до копеек
      ВалютнаяСумма := 0;
    конец 
    иначе начало
      ВалютнаяСумма := СуммаДолг;
      Сумма := ОкруглитьДоЗнака(ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(Ключ), ДатаКонца) * ВалютнаяСумма, 2);
    конец;
    результат := Истина;

  обязательно
    УдалитьОбъект(СубПериоды);     
  конец;
конец;
</value>
    <param value="ДляСсуд.abl" type="3" name="Export">PARFENOV\parfenovmv\10.02.2006 16:25:04</param>
    <param value="ДляСсуд.abl" type="3" name="version">36.042.21</param>
    <param value="ДляСсуд.abl" type="3" name="crc32">$FE525BA4</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ПересчетВРубли.abl">//Макрос пересчета валютных сумм
//http://linux.krista.ru/~bdocs/development/budget/tasks/Currency/ReCalcCurrency.htm
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Project";
включить "Бюджет\Ресурсы\библиотеки\OutPut.lib";
включить "Бюджет\Ресурсы\Макросы\ПараметрыИзБД.abl";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  Кредиты="{DDC51F01-193C-11D5-8DF5-000021DDD8D5}";
  Ссуды = "{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}";
переменные
  Ф: ФормаВвода;
  ссОбрабатываемые,ссД1,ссД2,ссД3,ссД4, ссД5, ссД6, ссД7, ссД8: СтатическиеДанные;
  ОВ:ОкноВывода;
  ДатаПер : целое;    

функция Модуль : Строка;
начало
  ф := ПолучитьФормуВвода;
  результат := Ф.Идентификатор;
конец;

// Выдает путь в реестре к узлу параметров в зависимости от того, откуда вызывается (из кредитов или ссуд)
функция УзелПараметров: строка;
начало
  если Модуль = Ссуды тогда
    Результат := "Бюджет\Объекты\Настройки\Ссуды\Параметры"
  иначе
    Результат := "Бюджет\Объекты\Настройки\Кредиты\Параметры";  
конец;

// Нужно для пропуска договоров, где разные валюты. В будущем этого конечно не понадобится
функция СообщениеНесоответствиеВалюты: целое;
начало
  если Ф.АктивнаяДетализация &lt; 0 тогда
    Результат := Сообщение("Для договора валюта в детализациях не соответствует валюте в заголовке. Пропустить его?", Сообщение_Предупреждение, Кнопка_Да + Кнопка_Нет) &lt;&gt; Результат_Да
    иначе
      ВызватьОшибку("Для выбранного договора валюта в детализациях не соответствует валюте в заголовке. Расчет прерван.")
конец; 
  
функция НетДатыПринятия(Данные:СтатическиеДанные):целое;
начало
  если Модуль=Кредиты тогда
    // В кредитах есть либо AcceptDate либо PlanDate
    попытка
      результат := Данные.Поле("AcceptDate").Пустое;
    неудача
      Результат := Истина
    конец  
  иначе
  попытка
    результат := Данные.Поле("AcceptDate").Пустое;
  неудача
    попытка
      //Для ssDetail4
      результат := Данные.Поле("IDate").Пустое;
    неудача
      Результат := Истина 
    конец;  
  конец;
конец;

функция МожноПересчитывать(Данные:СтатическиеДанные):целое;
начало
  результат := ((Мод(Данные.Поле("CurrencySumma").КакДробное) &gt; 0.005) и
               НетДатыПринятия(Данные)) или (Реестр.Узел(УзелПараметров).Значение("Пересчет валюты в принятых").КакФлаг);
  результат := результат и (Данные.Поле("CurrencyCLS").КакЦелое &lt;&gt; КодНацВалюты) 
конец;

функция ПересчетОднойЗаписи(ссДанные:СтатическиеДанные;ИмяПоля:строка; ДатаПер: целое);
начало
  если МожноПересчитывать(ссДанные) тогда
  начало
    ссДанные.Редактировать;
    ссДанные.Поле(ИмяПоля).КакДробное := ОкруглитьДоЗнака(ссДанные.Поле("CURRENCYSUMMA").КакДробное*
      ПолучитьОбмКурс(ссДанные.Поле("CURRENCYCLS").КакЦелое, ДатаПер), 2);
    ссДанные.Сохранить;
  конец;
конец;      


функция ПересчетВалюты(ссДанные:СтатическиеДанные;ИмяПоля:строка; ДатаПер: целое);
начало
  ссДанные.ВНачало;
  пока не ссДанные.ВКонце делать
  начало
    ПересчетОднойЗаписи(ссДанные,ИмяПоля, ДатаПер);
    ссДанные.Следующая;
  конец;
  ссДанные.СохранитьИзменения;
конец;

функция ПолучитьИмяПоляССуммой(ИндексДетали : целое; Интерфейс : Строка):строка;
начало  
  Результат := "";
  если Интерфейс = Кредиты тогда
  выбрать ИндексДетали из
    0: результат := "Credit";
    1: результат := "Summa";
    2: Результат := "Debit";
    3: результат := "Summa";
    4: результат := "Summa";
    5: результат := "Credit";
    //6: Результат := "Credit";
    //7: результат := "credit";
    8: Результат := "Summa";
    9: результат := "credit"; 
    иначе
      ВызватьОшибку("Для данной детализации пересчет валютной суммы в рубли невозможен!");
  конец;
  если Интерфейс = Ссуды тогда// Значит это ссуды
  выбрать ИндексДетали из
    0: Результат := "Credit";
    1: Результат := "Summa";
    2: Результат := "Debit";
    3: Результат := "Summa";
    4: Результат := "Summa";
    5: Результат := "Credit";
  конец;  
конец;

функция ОбработкаДетализации;
переменные
  л_Мод : Строка;
начало
  ф.Детализация.Открыть;
  ПересчетОднойЗаписи(Ф.Заголовки.Таблица, "Summa", ДатаПер);
  л_Мод := Модуль;
  ПересчетВалюты(ссД1, ПолучитьИмяПоляССуммой(0, л_Мод), ДатаПер);
  ПересчетВалюты(ссД2, ПолучитьИмяПоляССуммой(1, л_Мод), ДатаПер);
  ПересчетВалюты(ссД3, ПолучитьИмяПоляССуммой(2, л_Мод), ДатаПер);
  ПересчетВалюты(ссД4, ПолучитьИмяПоляССуммой(3, л_Мод), ДатаПер);
  ПересчетВалюты(ссД5, ПолучитьИмяПоляССуммой(4, л_Мод), ДатаПер);
  ПересчетВалюты(ссД6, ПолучитьИмяПоляССуммой(5, л_Мод), ДатаПер);
  //ПересчетВалюты(ссД7, ПолучитьИмяПоляССуммой(6));
  если Модуль = Кредиты тогда
  начало
    ПересчетВалюты(ссД7, ПолучитьИмяПоляССуммой(8, л_Мод), ДатаПер);
    ПересчетВалюты(ссД8, ПолучитьИмяПоляССуммой(9, л_Мод), ДатаПер);
  конец;
  ф.СохранитьИзменения;     
конец;

//Кредиты=соотв. GUID
//Ссуды=  соотв. GUID
Функция ДиалДатаПер;
начало
//Диалог запрашивает дату пересчета
    Диалог.Очистить;
    Диалог.Добавить("Дата пересчета", "Дата", 0, Календарь, "00.00.0000");
    Диалог.Значение("Дата") := ДатаВСтроку(ТекущаяДата);
    если не Диалог.Выполнить тогда выход;
    если Диалог.Значение("Дата") = "" тогда ВызватьОшибку("Дата  пересчета не может быть пустой");
    ДатаПер := StrToDateEx(Диалог.Значение("Дата"));
конец;

функция ПересчетВРубли(Приложение:целое);
начало
// Модуль := Приложение;
 попытка
  ОВ := ОкноВывода;
  ОВ.Clear;
  ф := ПолучитьФормуВвода;
  если Ф.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("В заголовках договоров нет данных.");
  //если в детализации
  если ф.АктивнаяДетализация &lt;&gt; -1 тогда
  начало
    //если не Позиция(ЦелоеВСтроку(ф.АктивнаяДетализация+Модуль),"1345") тогда
      //ВызватьОшибку("Перейдите на закладку с валютной суммой!");
    если не Ф.Детализация(Ф.АктивнаяДетализация).Таблица.FindField("CurrencySumma", nil) тогда
      ВызватьОшибку("Перейдите на закладку с валютной суммой");    
    
    если (не Ф.Детализация(Ф.АктивнаяДетализация).Таблица.FindField("CurrencySumma", nil)) тогда
      ВызватьОшибку("Перейдите на закладку с валютной суммой"); 
    
    если ф.Детализация(ф.АктивнаяДетализация).Сетка.ЕстьВыделенныеСтроки тогда
    начало
      ДиалДатаПер;
      ссОбрабатываемые := ф.Детализация(ф.АктивнаяДетализация).Сетка.ПолучитьВыделенныеСтроки;
      ссОбрабатываемые.СоединитьБД;
      ссОбрабатываемые.Запрос := ф.Детализация(ф.АктивнаяДетализация).Таблица.Запрос;
      ссОбрабатываемые.CachedUpdates := Да;
      ПересчетВалюты(ссОбрабатываемые,ПолучитьИмяПоляССуммой(ф.АктивнаяДетализация, Модуль), ДатаПер);
      Ф.Детализация(ф.АктивнаяДетализация).Открыть;
    конец
    иначе
    начало
      ссОбрабатываемые := ф.Детализация(ф.АктивнаяДетализация).Таблица;
      если ссОбрабатываемые.ЧислоЗаписей=0 тогда
        ВызватьОшибку("Нет записей для пересчета.");
      ДиалДатаПер;  
      ПересчетОднойЗаписи(ссОбрабатываемые,ПолучитьИмяПоляССуммой(ф.АктивнаяДетализация, Модуль), ДатаПер);
      Ф.СохранитьИзменения;  
    конец;      
  конец
  иначе
  начало
    если Сообщение("Произведется пересчет валюты во всех детализациях, продолжать?",
           Сообщение_Вопрос,Кнопка_Да+Кнопка_Нет) = Результат_Да тогда
    начало
      ссД1 := ф.Детализация(0).Таблица;
      ссД2 := ф.Детализация(1).Таблица;
      ссД3 := ф.Детализация(2).Таблица;
      ссД4 := ф.Детализация(3).Таблица;      
      ссД5 := Ф.Детализация(4).Таблица;
      ссД6 := Ф.Детализация(5).Таблица;
      //ссД7 := Ф.Детализация(6).Таблица;
      если Модуль = Кредиты тогда
      начало
        ссД7 := Ф.Детализация(8).Таблица;
        ссД8 := Ф.Детализация(9).Таблица;
      конец;
      
      ДиалДатаПер;
      если ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда
      начало
        ссОбрабатываемые := ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки;
        ссОбрабатываемые.ВНачало;
        пока не ссОбрабатываемые.ВКонце делать
        начало
          ф.Заголовки.Таблица.Locate("ID",ссОбрабатываемые.Поле("ID").КакЦелое,0);
          если НетДатыПринятия(ф.Заголовки.Таблица) тогда
            ОбработкаДетализации;
          ссОбрабатываемые.Следующая;   
        конец;        
      конец
      иначе
        если НетДатыПринятия(ф.Заголовки.Таблица) тогда
          ОбработкаДетализации; 
      
    конец;           
  конец;
 обязательно
  если ОВ.Count тогда ОВ.Показать;
 конец; 
конец;
</value>
    <param value="ПересчетВРубли.abl" type="3" name="version">36.042.21</param>
    <param value="ПересчетВРубли.abl" type="3" name="crc32">$04CE324F</param>
  </node>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="Стандартные.abl">// *************************************************************************************************************************
//  Содержит полезные функции
// *************************************************************************************************************************
включить "%root%\Ресурсы\библиотеки\LibRu.Lib";
включить "%root%\Ресурсы\библиотеки\Reports.Lib";
включить "%root%\Ресурсы\библиотеки\Documents.Lib";
включить "%root%\Ресурсы\библиотеки\LinkInfo2.lib";

функция Макс(а1, а2: целое): целое;
// найти максимальное из двух чисел
начало
  если а1 &lt; а2 тогда Результат := а2 иначе Результат := а1; 
конец;


//Корректирует дату в расширенном формате и возвращает в обычном  
// если содержить 0-вое число или месяц, то заменяет его на 1-ое
// содержит большее число, чем дней в месяце, то заменяет на последний день
// возвращает обычную дату
функция НормализоватьДату(дата : дробное) : дробное;
переменные
  г,м,д : целое;
начало
  г := целое(дата) цел 10000;
  м := (целое(дата) ост 10000) цел 100;
  д := целое(дата) ост 100;
  //проверяем год на допустимость
  попытка
    ФормироватьДату(г,1,1);
  неудача
    ВызватьОшибку("Недопустимый год: "+ЦелоеВСтроку(г));
  конец;
  //проверяем месяц
  если м&lt;1 тогда м:=1;
  если м&gt;12 тогда м:=12;
  //проверяем день
  если д&lt;1 тогда д:=1;
  если д &gt; ЧислоДнейВМесяце(г,м) тогда д := ЧислоДнейВМесяце(г,м); 

  результат := ФормироватьДату(г,м,д); 
конец;

функция ПредыдущееЧисло(Дата: Дробное; ЧислоДней : целое): дробное;
// вход - расширенная дата
// выход - тоже расширенная 
начало
  результат := ОбычнаяДатаВРасшир(НормализоватьДату(Дата) - ЧислоДней); 
  //если дата 0-ая, то при нормализации она приводится к 1-ой, т.е. прибавили лишний день  
  если (Дата ост 100) = 0  тогда результат := результат -1;
конец;


функция СледующееЧисло(Дата: Дробное; ЧислоДней : целое): дробное;
// вход - расширенная дата
// выход - тоже расширенная 
начало
  результат := ОбычнаяДатаВРасшир(НормализоватьДату(Дата) + ЧислоДней);
  //если дата 0-ая, то при нормализации она приводится к 1-ой, т.е. прибавили лишний день 
  если (Дата ост 100) = 0  тогда результат := результат -1;
конец;


функция ЧислоДней(ОтДаты : дробное; ДоДаты : дробное) : целое;
// Вход:
//    ОтДаты - расширенная дата    
//    ДоДаты - расширенная дата    
// Выход:
//    Число дней между двумя датами (ДоДаты - ОтДаты)
// Пример
// ЧислоДней (20010315, 20010320) = 5
// ЧислоДней (20010315, 20010315) = 0
// ЧислоДней (20010331, 20010401) = 1
начало
    результат := РасширДатаВОбычную(ДоДаты) - РасширДатаВОбычную(ОтДаты); 
конец;

// Возвращает год расширенной даты
функция ГодДаты(Дата: дробное): целое;
начало
  Результат := Дата цел 10000;
конец;

// возвращает месяц расширенной даты
функция МесяцДаты(Дата: дробное): целое;
начало
  Результат := (Дата ост 10000) цел 100;
конец;

// Возвращает день расширенной даты
функция ДеньДаты(Дата: дробное): целое;
начало
  Результат := Дата ост 100;
конец;

//заменяет в строке суммы запятую на десятичную точку
функция СуммаДробноеБД(Сумма: строка): строка;
начало
  Результат := ЗаменитьСтроку(Сумма, ",", ".", ЗаменятьВсе);
конец;

// moved by Sveen
функция ВремяСтрокой : строка;
начало
  Результат := ФорматироватьВремя("HH:MM:SS", ТекущаяДата)
конец;

//в переданной строке-пути файла, папки, узла реестра обрезаем справа столько вложенностей сколько указано во 2-м параметре 
функция УрезатьПуть(Путь: строка; Вложенность: целое);
переменные
  Промежуточная: строка;
начало
  если Позиция("\",Путь) &lt;&gt; 0
    тогда начало
      Промежуточная := Подстрока(Путь,Позиция("\", Путь)+1,Длина(Путь)-Позиция("\", Путь));
      //вызываем рекурсию для следующего уровня подкаталогов
      УрезатьПуть(Промежуточная,Вложенность);
      //получаем теущий уровень каталогов
      Путь := ПодСтрока(Путь, 0, Позиция("\", Путь));
      //урезаем путь уже после выхода из последней рекурсии      
      если Вложенность
        тогда Вложенность := Вложенность -1//если параметр не 0, то обрезаем текущий каталог
        иначе Путь := Путь + Промежуточная;//иначе путь полностью сохраняем неизменным  
    конец;
конец;

// Комментарий
функция ОтсечьПоРазделитель(Разделитель, Путь: строка; Вложенность, Слева: целое);
переменные
  ЧастьСправа,
  ЧастьЛевее            : строка;
  ИндексРазделителя     : ЦЕЛОЕ;
начало
  если (Позиция(Разделитель, Путь) &lt;&gt; 0)
    тогда начало
      ИндексРазделителя := Позиция(Разделитель, Путь);
      ЧастьСправа := Подстрока(Путь,ИндексРазделителя+1, Длина(Путь)-ИндексРазделителя);
      ЧастьЛевее := ПодСтрока(Путь, 0, ИндексРазделителя);      

      если не Слева тогда
      начало
        ОтсечьПоРазделитель(Разделитель, ЧастьСправа, Вложенность, Слева);
        если Вложенность
        тогда начало
          Вложенность := Вложенность -1;//если параметр не 0, то обрезаем текущий каталог
          Путь := ЧастьЛевее;
        конец
        иначе Путь := ЧастьЛевее + ЧастьСправа //иначе путь полностью сохраняем неизменным
      конец
      иначе начало
        Вложенность := Вложенность - 1;//если параметр не 0, то обрезаем текущий каталог
        если Вложенность тогда
          ОтсечьПоРазделитель(Разделитель, ЧастьСправа, Вложенность, Слева);
        Путь := ЧастьСправа;      
      конец;
    конец;  
конец;

//формирует список значений в виде Знач1+#10+Знач2... указанного поля в переданных данных
//*****например: для дальнейшего вывода в Диалоге, как выпадающий список значений*****
// дубли значений исключаются
Функция ФормироватьСписокЗначений(Данные: Данные; ИмяПоля: СТРОКА): СТРОКА;
переменные
  Т: Текст;
начало
  Т := СоздатьТекст;
  попытка
    // устраним дублирующиеся значения
    Т.Сортированый := Да;
    Т.Дубликаты := Нет;
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      Т.Добавить(Данные.ПолеПоИмени(ИмяПоля).КакСтрока);
      Данные.Следующая;
    конец;
    Результат := УбратьПробелыСправа(Т.Значение); // Удалим #13#10 на конце
  обязательно
    УдалитьОбъект(Т)
  конец;  
конец;

//выбираем значение параметра(как строку), заданного в удаленном реестре с указанным путем и именем  
функция ВернутьЗначениеПараметра(ПутьУзла, ИмяПараметра: СТРОКА): строка;
переменные
  Узел: УзелРеестра;
начало
  Узел := Реестр.Узел(ПутьУзла);
  Результат := Узел.Значение(ИмяПараметра).КакСтрока;
конец;

//возвращаем перечень значений узла с переданным именем
функция ПолучитьПереченьЗначенийУзла(ИмяУзла: строка): строка;
переменные
  ИскомыйУзел   : УзелРеестра;
начало
  ИскомыйУзел := Реестр.Узел(ИмяУзла);
  результат := ИскомыйУзел.СписокЗначений;  
конец;

//формирование окончания в зависимости от значения предыдущего числительного  
функция Окончание(Число: ЦЕЛОЕ; Заголовок, Окончание1, Окончание2, Окончание3: строка): строка;
начало
  выбрать Число ост 10 из
        1: Результат := Заголовок + Окончание1;
    2,3,4: Результат := Заголовок + Окончание2;
    иначе  Результат := Заголовок + Окончание3;
  конец;   
конец;

//по переданному маппингу полей формируем ограничение через символ, переданный в параметре,
//в зависимости от значения 1-го параметра строка ограничения формируется либо по левой,
//либо по правой части маппинга 
функция ФормироватьОграничение(ЛевыйПараметр: целое;Маппинг,Символ: строка): строка;
переменные 
  ДлинаСтроки,ПозицияПервый: целое;
  ОдноУсловие,Промежуточное: строка;
//ЛевыйПараметр=1 считываем левые части равенства в маппинге
//Маппинг-строка  равенств в виде "Поле1=Поле1',..."  
начало
  Результат := "";
  ОдноУсловие :="";
  Промежуточное := Маппинг;
  пока Позиция(",",Промежуточное) &lt;&gt; 0 делать 
  начало
    ОдноУсловие := Подстрока(Промежуточное, 0, Позиция(",",Промежуточное)-1);
    Промежуточное := Подстрока(Промежуточное, Позиция(",",Промежуточное)+1, Длина(Промежуточное)-Позиция(",",Промежуточное));  
    если ЛевыйПараметр
      тогда начало
        ПозицияПервый := 0;
        ДлинаСтроки := Позиция("=",ОдноУсловие)-1;
      конец
      иначе начало
        ПозицияПервый := Позиция("=",ОдноУсловие)+1;
        ДлинаСтроки := Длина(ОдноУсловие) - Позиция("=",ОдноУсловие);
      конец;     
    Результат :=Результат + Подстрока(ОдноУсловие, ПозицияПервый, ДлинаСтроки) + Символ; 
  конец;
  
  если ЛевыйПараметр //последний параметр в строке маппинга
    тогда начало
      ПозицияПервый := 0;
      ДлинаСтроки := Позиция("=",Промежуточное)-1;
    конец
    иначе начало
      ПозицияПервый := Позиция("=",Промежуточное)+1;
      ДлинаСтроки := Длина(Промежуточное) - Позиция("=",Промежуточное);
    конец;     
  Результат :=Результат + Подстрока(Промежуточное, ПозицияПервый, ДлинаСтроки);  
конец;

//производится замена в равенстве Значение1=Значение2 в зависимости от параметра
//либо на Значение1=Значение1, либо на Значение2=Значение2
функция ЗаменитьЧастьВРавенстве(ЗаменитьПравуюЧасть: целое; Равенство: строка): строка;
переменные
  ИндексРавенства       : целое;
  ПраваяЧастьРавенства,
  ЛеваяЧастьРавенства   : строка;
начало
    ИндексРавенства := Позиция("=", Равенство);
    //получаем левую и правую часть маппинга в одном равенстве 
    ЛеваяЧастьРавенства := Подстрока(Равенство, 1, ИндексРавенства-1);
    ПраваяЧастьРавенства :=  Подстрока(Равенство, ИндексРавенства+1, Длина(Равенство)-ИндексРавенства);
    //в зависимости от параметра заменяем либо левую либо правую часть
    выбрать ЗаменитьПравуюЧасть из
      -1, 1     : Результат := ЛеваяЧастьРавенства + "=" + ЛеваяЧастьРавенства;
      0         : Результат := ПраваяЧастьРавенства + "=" + ПраваяЧастьРавенства;
      2         : Результат := ПраваяЧастьРавенства + "=" + ЛеваяЧастьРавенства; //делаем реверс в равенствах
    конец;  
конец;
//производится замена каждого равенства указанного в маппинге на основе предыдущей функции
функция ЗаменитьЧастиМаппинга(ЗаменитьЛевуюЧасть: целое; Маппинг: строка): строка;
переменные
  ОдноРавенство,
  Промежуточный : строка;
  ИндексРазделителя     : целое;
начало
  Результат := "";
  Промежуточный := Маппинг;
  ИндексРазделителя := Позиция(",", Промежуточный);
  пока ИндексРазделителя &lt;&gt; 0 делать
  начало
    ОдноРавенство := Подстрока(Промежуточный, 1, ИндексРазделителя-1);
    Промежуточный := Подстрока(Промежуточный, ИндексРазделителя+1, Длина(Промежуточный)-ИндексРазделителя);
    //получаем индекс символа "=" в строке равенства
    Результат := Результат + ЗаменитьЧастьВРавенстве(ЗаменитьЛевуюЧасть, ОдноРавенство)+",";
    //получаем индекс символа разделителя в новой урезанной строке маппинга  
    ИндексРазделителя := Позиция(",", Промежуточный);      
  конец;
  Результат := Результат + ЗаменитьЧастьВРавенстве(ЗаменитьЛевуюЧасть, Промежуточный);
конец;

функция ЗаменаМестамиВМаппинге(Маппинг: строка): строка;
переменные
  ИндексРазделителя     : целое;
  ОдноРавенство,
  Промежуточный         : СТРОКА;
начало
  Результат := "";
  Промежуточный := Маппинг;
  ИндексРазделителя := Позиция(",", Промежуточный);
  пока (ИндексРазделителя &lt;&gt; 0) делать
  начало
    ОдноРавенство := Подстрока(Промежуточный, 1, ИндексРазделителя-1);
    Промежуточный := Подстрока(Промежуточный, ИндексРазделителя+1, Длина(Промежуточный)-ИндексРазделителя);
    Результат := Результат + ЗаменитьЧастьВРавенстве(2, ОдноРавенство)+",";
    //получаем индекс символа разделителя в новой урезанной строке маппинга  
    ИндексРазделителя := Позиция(",", Промежуточный);      
  конец;
  Результат := Результат + ЗаменитьЧастьВРавенстве(2, Промежуточный);  
конец;

функция СформироватьФильтр(ДанныеДляЗначений: статическиеДанные; ПоляДляПоиска, ПоляДляЗначений: строка): строка;
//IN - набор , используемый для формирования фильтра
//IN - перечень полей(через ";"), которые будут участвовать в строке фильтра
//IN - перечень полей(через ";"), которые определяют имена полей в наборе со значениями для соответствующего "поля поиска"
//!!!!!Число полей для поиска должно быть не большим чем число полей для значений
//!!!!!Фильтр формируется по значениям одной строки набора данных 
переменные 
  Ф, ИмяПоля: строка;
  ДляПоиска, ДляЗначений: строка;
начало
  ф := "";
  ДляПоиска := ПоляДляПоиска;
  ДляЗначений := ПоляДляЗначений;
  пока Позиция(";", ДляПоиска) &lt;&gt; 0 делать
    начало
      ИмяПоля := Подстрока(ДляЗначений, 1, Позиция(";", ДляЗначений) - 1);
      ф := ф + "(" + Подстрока(ДляПоиска, 1, Позиция(";", ДляПоиска) - 1) 
           + "=" 
           + ДанныеДляЗначений.ПолеПоИмени(ИмяПоля).КакСтрока 
           + ")and";
      ДляПоиска := Подстрока(ДляПоиска, 
                             Позиция(";", ДляПоиска) + 1, 
                             Длина(дляПоиска) - Позиция(";", ДляПоиска)); // укорачиваем
      ДляЗначений := Подстрока(ДляЗначений, 
                               Позиция(";", ДляЗначений) + 1, 
                               Длина(ДляЗначений) - Позиция(";", ДляЗначений)); // укорачиваем
    конец;
  ф := ф + "(" + ДляПоиска + "=" + ДанныеДляЗначений.ПолеПоИмени(ДляЗначений).КакСтрока + ")"; 
  результат := ф;
конец;

функция ВернутьФильтр(Исходное: строка;ДанныеДляФильтра: СтатическиеДанные;ФильтрДляЛевого: целое): строка;
переменные 
  ЛеваяЧасть, ПраваяЧасть,
  ОдноУсловие, Маппинг: Строка;
начало
  Маппинг := Исходное;
  Результат := "";
  пока Позиция(",",Маппинг) &lt;&gt; 0 делать 
  начало
    ОдноУсловие := Подстрока(Маппинг, 0, Позиция(",",Маппинг)-1);
    ЛеваяЧасть := Подстрока(ОдноУсловие, 0, Позиция("=",ОдноУсловие)-1);
    ПраваяЧасть := Подстрока(ОдноУсловие, Позиция("=",ОдноУсловие)+1, Длина(ОдноУсловие)-Позиция("=",ОдноУсловие));
    если ФильтрДляЛевого
      тогда Результат :=Результат + "("+ ЛеваяЧасть + "=" + 
                        ДанныеДляФильтра.ПолеПоИмени(ПраваяЧасть).КакСтрока + ")and"
      иначе Результат :=Результат + "("+ ПраваяЧасть + "=" + 
                        ДанныеДляФильтра.ПолеПоИмени(ЛеваяЧасть).КакСтрока + ")and";
    Маппинг := Подстрока(Маппинг, Позиция(",", Маппинг)+1, Длина(Маппинг));                  
  конец;
  ОдноУсловие := Маппинг;
  ЛеваяЧасть := Подстрока(ОдноУсловие, 0, Позиция("=",ОдноУсловие)-1);
  ПраваяЧасть := Подстрока(ОдноУсловие, Позиция("=",ОдноУсловие)+1, Длина(ОдноУсловие)-Позиция("=",ОдноУсловие));
  если ФильтрДляЛевого
    тогда Результат :=Результат + "("+ ЛеваяЧасть + "=" + 
                      ДанныеДляФильтра.ПолеПоИмени(ПраваяЧасть).КакСтрока + ")"
    иначе Результат :=Результат + "("+ ПраваяЧасть + "=" + 
                      ДанныеДляФильтра.ПолеПоИмени(ЛеваяЧасть).КакСтрока + ")";
конец;

//по переданному списку получаем ограничение(как массив вариантов) и строку с перечислением полей-ограничителей
//каждая строка СписокОгр должна иметь вид "ИмяПоля"="ЗначениеОграничения"
функция ПолучитьОграничениеПоСписку(СписокОгр: Текст; Ограничение: Variant): СТРОКА;

переменные
  ПоляОграничители      : строка;
  инд   : целое;
начало
  Ограничение.VarArrayOf(0);
  ПоляОграничители := "";
  Ограничение.VarArrayRedim(СписокОгр.Количество-1);
  от инд := 0 до СписокОгр.Количество - 1 делать
  начало
    ПоляОграничители := ПоляОграничители + СписокОгр.ИмяПараметра(инд)+";";
    Ограничение.AsInteger(инд) := СтрокаВЦелое(СписокОгр.ЗначениеПараметра(СписокОгр.ИмяПараметра(инд)));
  конец;
  Результат := Подстрока(ПоляОграничители, 0, Длина(ПоляОграничители)-1);          
конец;

//в переданном Списке каждая строка - одно значение перечисления
функция ПолучитьПереченьЗначений(СписокПолей: Текст; Символ: строка): строка;
переменные
  ПоляГруппировки: строка; 
  инд   : целое;
начало
  ПоляГруппировки := "";
  от инд := 0 до СписокПолей.Количество-1 делать
  начало
    ПоляГруппировки := ПоляГруппировки+СписокПолей.Стр(инд)+Символ;
  конец;
  результат := ПодСтрока(ПоляГруппировки, 0, Длина(ПоляГруппировки)-Длина(Символ));
конец;

функция ДобавитьОграничениеПоСС(НаборДляЗначений: СтатическиеДанные; ПоляДляЗначений: Текст; Ограничение: Variant);
переменные
  инд,
  ЧислоНачОграничений   : целое;
начало
  ЧислоНачОграничений := Ограничение.VarArrayHighBound(1);
  //увеличиваем список ограничений на число полей, указанных в списке 
  Ограничение.VarArrayRedim(ЧислоНачОграничений + ПоляДляЗначений.Количество);
  //добавляем по "списку полей" в конец "ограничений" значения полей из строки "набора данных"
  от инд := 0 до ПоляДляЗначений.Количество-1 делать
  начало
    Ограничение.AsInteger(ЧислоНачОграничений+инд) := НаборДляЗначений.ПолеПоИмени(ПоляДляЗначений.Стр(инд)).КакЦелое;
  конец;
конец;

функция УдалитьОграничения(ЧислоОграничений: целое; Ограничение: Variant);
переменные
  ТекЧислоОгр   : целое;
начало
  ТекЧислоОгр := Ограничение.VarArrayHighBound(1);
  Ограничение.VarArrayRedim(ТекЧислоОгр - ЧислоОграничений);
конец;

// выполнение запросов на вставку, изменение, удаление
функция ВыполнитьЗапросСПараметрами(Запрос: Строка; Параметры: Текст);
переменные
  сч    : целое;
  СБазой: СтатическиеДанные;
  ИмяПараметра: строка;
начало
  СБазой := СоздатьСтатическиеДанные();
  попытка
    СБазой.СоединитьБД();
    СБазой.CachedUpdates := Да;
    // приводим к виду [InsertData]{Текст запроса}
    если Позиция('{',Запрос)=0 тогда 
      Запрос := '[InsertData]'#13#10'{'+Запрос+'}';
    ЗаменитьСтроку(Запрос,'[UpdateData]','[InsertData]',ЗаменятьВсе+ИгнорироватьРегистр); 
    ЗаменитьСтроку(Запрос,'[DeleteData]','[InsertData]',ЗаменятьВсе+ИгнорироватьРегистр);    
    СБазой.Запрос := Запрос;        
    СБазой.Открыть;
    //если на открытие запроса нет, то создадим 1 поле руками 
    если СБазой.ЧислоПолей = 0 тогда 
    начало
      СБазой.Закрыть;      
      если не Параметры=nil тогда
        от сч := 0 до Параметры.Количество - 1 делать
        начало
          ИмяПараметра := Параметры.ИмяПараметра(сч);
          если не (Параметры.ЗначениеПараметра(ИмяПараметра)= "") тогда
            Сбазой.ДобавитьСтроковоеПоле(ИмяПараметра,длина(Параметры.ЗначениеПараметра(ИмяПараметра)));
        конец;
      если СБазой.ЧислоПолей = 0 тогда  // нужно хотя бы одно поле  
        Сбазой.ДобавитьСтроковоеПоле("Фиктивное",255);
      СБазой.Открыть;        
    конец;  
    СБазой.Вставить();
    если не Параметры=nil тогда
      от сч := Параметры.Количество - 1 назад 0 делать
      начало
        если не (Параметры.ЗначениеПараметра((Параметры.ИмяПараметра(сч))) = "")
          тогда СБазой.ПолеПоИмени(Параметры.ИмяПараметра(сч)).AsVariant := Параметры.ЗначениеПараметра((Параметры.ИмяПараметра(сч)))
          иначе СБазой.ПолеПоИмени(Параметры.ИмяПараметра(сч)).Clear;
      конец;  
    СБазой.Сохранить();
    СБазой.ApplyUpdates();    
  обязательно
    УдалитьОбъект(СБазой);
  конец       
конец;

функция ЗаполнитьПоля(НаборДанных: СтатическиеДанные; ЗначПолей: IVariables);
переменные      
  ВставляемоеПоле: IField;
  сч            : ЦЕЛОЕ;
начало          
  если (ЗначПолей &lt;&gt; nil)
    тогда для ЗначПолей делать
          начало
            //меняем сопутствующие изменению состояния атрибуты документа
            от сч := 0 до .Count - 1 делать
              если НаборДанных.НайтиПоле(.Names(сч), ВставляемоеПоле)
                тогда если УбратьПробелы(.IndexValues(сч)) = ""
                        тогда ВставляемоеПоле.Clear()
                        иначе ВставляемоеПоле.AsVariant := .IndexValues(сч);                  
          конец;
конец;

функция ЗанестиЗначПолейПоМаппингу(МаппингПолей: строка; Источник: СтатическиеДанные; Приемник: IVariables);
//по маппингу в формате "ПолеПриемник=ПолеИсточник,..." формируется коллекция с значениями
//полей, как "ПолеИсточник" из переданного СС
переменные
  ПолеВИсточнике        : IField;
  СписокПодстановок     : Текст;
  сч                    : ЦЕЛОЕ;
  ЗначениеВкол,
  ИмяПоляВИсточнике     : СТРОКА;                    
начало
  СписокПодстановок := СоздатьТекст();
  попытка
    СписокПодстановок.РазделенноеЗначение(",") := МаппингПолей;
    от сч := СписокПодстановок.Количество-1 назад 0 делать
    начало
      ЗначениеВкол := СписокПодстановок.ИмяПараметра(сч);
      ИмяПоляВИсточнике := СписокПодстановок.ЗначениеПараметра(ЗначениеВкол);
      если Источник.FindField(ИмяПоляВИсточнике, ПолеВИсточнике)
        тогда Приемник.Values(ЗначениеВкол) := ПолеВИсточнике.AsVariant//значение поля с именем в маппинге
        иначе Приемник.Values(ЗначениеВкол) := ИмяПоляВИсточнике;//вставляем напрямую значение в маппинге
    конец;
  обязательно
    УдалитьОбъект(СписокПодстановок);        
  конец;
конец;

функция ИсключитьПодстроки(Маппинг, Исключаемое: строка): СТРОКА;
переменные      
  Приемник,     
  ИскСписок     : Текст;
  ИндексИскл,
  сч            : целое;    
начало
  Приемник := СоздатьТекст();
  ИскСписок := СоздатьТекст();
  попытка
    Приемник.РазделенноеЗначение(",") := Маппинг;
    ИскСписок.РазделенноеЗначение(",") := Исключаемое;
    от сч := ИскСписок.Количество-1 назад 0 делать
    начало
      ИндексИскл := Приемник.Поиск(ИскСписок.Стр(сч));
      если ИндексИскл &gt; -1 
        тогда Приемник.Удалить(ИндексИскл);      
    конец;
    результат := Приемник.РазделенноеЗначение(",");
  обязательно
    УдалитьОбъект(ИскСписок);
    УдалитьОбъект(Приемник);
  конец;
конец;

функция ЗаменитьПодстроку(Исходное, Искомое, ЧемЗаменить: СТРОКА): СТРОКА;
переменные
  ЧислоВырезаемыхСимволов,
  Индекс: ЦЕЛОЕ;
начало
  Результат := Исходное;
  ЧислоВырезаемыхСимволов := Длина(Искомое);
  пока Позиция(Искомое, Результат) &gt; 0 делать 
  начало
    Индекс := Позиция(Искомое, Результат);
    Результат := Подстрока(Результат, 0, Индекс-1) + ЧемЗаменить + Подстрока(Результат, Индекс+ЧислоВырезаемыхСимволов, Длина(Результат)-ЧислоВырезаемыхСимволов-индекс+1);
  конец;
конец;

функция ПолучитьПереченьЗначенийИзМаппинга(ДоРавно: целое; Маппинг, Разделитель: строка): строка;
переменные
  ПереченьЗначений: Текст;
  ЗначениеВПеречне,
  ИмяПараметра  : строка;
  сч            : целое;
начало
  ПереченьЗначений := СоздатьТекст();
  Результат := "";
  попытка
    ПереченьЗначений.РазделенноеЗначение(Разделитель) := Маппинг;
    от сч := 0 до ПереченьЗначений.Количество-1  делать
    начало
      ИмяПараметра := (ПереченьЗначений.ИмяПараметра(сч));
      если ДоРавно
        тогда ЗначениеВПеречне := ИмяПараметра
        иначе ЗначениеВПеречне := ПереченьЗначений.ЗначениеПараметра(ИмяПараметра);
      Результат := Результат + ЗначениеВПеречне + Разделитель;                  
    конец;
    Результат := Подстрока(Результат, 0, Длина(Результат)-Длина(Разделитель));        
  обязательно
    УдалитьОбъект(ПереченьЗначений);
  конец;
конец;

функция ЕстьЗначениеВСтроке(ПеречислениеДляПоиска, Разделитель, ИскомоеЗначение: Строка): целое;
переменные
  ПереченьЗначений      : Текст;
начало
  ПереченьЗначений := СоздатьТекст();
  попытка
    ПереченьЗначений.РазделенноеЗначение(Разделитель) := ПеречислениеДляПоиска;
    результат := ПереченьЗначений.Поиск(ИскомоеЗначение) &gt; -1;
  обязательно
    УдалитьОбъект(ПереченьЗначений);
  конец;
конец;

функция ЕстьВхождениеПеречисленияВСтроке(ПеречислениеДляПоиска, Разделитель, ВЧемИскать: строка): целое;
переменные
  ПереченьЗначений      : Текст;
  ТекущийЭлементСтроки  : строка;
  сч, Нашли             : целое;
начало
  ПереченьЗначений := СоздатьТекст();
  попытка
    Нашли := нет;
    сч := 0;
    ПереченьЗначений.РазделенноеЗначение(Разделитель) := ПеречислениеДляПоиска;
    пока не Нашли и (сч &lt;= ПереченьЗначений.Количество-1) делать
    начало
      ТекущийЭлементСтроки := ПереченьЗначений.Стр(сч);
      если Позиция(ТекущийЭлементСтроки, ВЧемИскать) &lt;&gt; 0 
        тогда Нашли := да
        иначе сч := сч+1;
    конец;
    результат := Нашли;  
  обязательно
    УдалитьОбъект(ПереченьЗначений);
  конец;
конец;

функция ЕстьКлассификаторВСтроке(ПеречислениеДляПоиска, ИскомоеЗначение, маскаКЛС: строка; СравнитьНаТочноеСовпадение: целое): целое;
//значения в строках должно задаваться без разделителей в классификаторе 
переменные              
  ДиапазонЗнач : Текст;
  
  ТочноеЗначениеКЛС,
  ТочноеЗначениеКЛСВверх,
  Нашли, сч     : целое;        
начало
  ДиапазонЗнач := СоздатьТекст();
  попытка
    ДиапазонЗнач.РазделенноеЗначение(",") := ПеречислениеДляПоиска;
    если СравнитьНаТочноеСовпадение
      тогда результат := ДиапазонЗнач.Поиск(ИскомоеЗначение) &gt; -1
      иначе начало
        Нашли := нет;
        сч := 0;
        пока не Нашли и (сч &lt;= ДиапазонЗнач.Количество-1) делать
        начало
          ТочноеЗначениеКЛС := СтрокаВЦелое(ДиапазонЗнач.Стр(сч));
          ТочноеЗначениеКЛСВверх := КлассификаторВЧислоПоднять(ТочноеЗначениеКЛС, маскаКЛС);
          если (ТочноеЗначениеКЛС &lt;= СтрокаВЦелое(ИскомоеЗначение)) и (ТочноеЗначениеКЛСВверх &gt;= СтрокаВЦелое(ИскомоеЗначение))
            тогда Нашли := да
            иначе сч := сч + 1;
        конец;
        результат := Нашли;        
      конец;
  обязательно
    УдалитьОбъект(ДиапазонЗнач);
  конец;
конец;

функция СконкатенироватьСтроки(Источник, НовоеЗначение, Разделитель: строка): строка;
начало
  если (Источник &lt;&gt; "")
    тогда результат := Источник + Разделитель + НовоеЗначение
    иначе результат := НовоеЗначение;
конец;

//сравнение двух параметров
функция ЗначенияПараметровРавны(Источник, Эталон: Variant): целое;
начало
  результат := нет; 
  выбрать Эталон.VarType из
    varInteger : результат := (Источник.AsInteger = Эталон.AsInteger);
    varString  : результат := (Источник.AsString = Эталон.AsString);
    varOleStr  : результат := (Источник.AsString = Эталон.AsString);        
    varDouble  : результат := (Источник.AsFloat = Эталон.AsFloat);
  конец;  
конец;
//для сравнения параметров в коллекции 
функция СовпадаютПараметры(ПарамИсточника, ПарамЭталона: IVariables): целое;
переменные
  сч            : ЦЕЛОЕ;
  ИмяПараметра  : СТРОКА;
  Источник,
  Эталон        : Variant;
начало
  результат := (ПарамЭталона.Count = ПарамИсточника.Count);
  от сч := 0 до ПарамЭталона.Count-1 делать
  начало
    ИмяПараметра := ПарамЭталона.Names(сч);
    если ПарамИсточника.CheckParam(ИмяПараметра) тогда 
    начало
      Источник := ПарамИсточника.Values(ИмяПараметра);
      Эталон := ПарамЭталона.Values(ИмяПараметра);
      результат := результат и ЗначенияПараметровРавны(Источник, Эталон);
    конец    
    иначе результат := нет;
  конец;
конец;

//помещаем каждую строку в перечне в кавычки
функция ПоместитьВКавычки(ПереченьЗначений: СТРОКА): строка;
переменные
  СписокЗначений: Текст;
  сч    : целое;         
начало
  Результат := "";
  СписокЗначений := СоздатьТекст();
  попытка
    СписокЗначений.РазделенноеЗначение(",") := ПереченьЗначений;
    от сч := 0 до СписокЗначений.Количество-1 делать
    начало
      если УбратьПробелы(Прописные(СписокЗначений.Стр(сч))) &lt;&gt; Прописные("null")
        тогда СписокЗначений.Стр(сч) := "'"+СписокЗначений.Стр(сч)+"'"; 
    конец;
    Результат := СписокЗначений.РазделенноеЗначение(",");    
  обязательно
    УдалитьОбъект(СписокЗначений);
  конец;
конец;

// получение конфигурации из удаленного реестра
//возвращает статические данные с запрошенной конфигурацией
функция ПолучитьКонфигурацию(ТипКонфигурации: целое; МаппингПолей: Текст): СтатическиеДанные;
//1. тип конфигурации
//2. перечень соответствий имя поля в конфигурации = имя поля в возвращаемом наборе(если в имени есть "_" дальше следует длина строкового поля)
переменные
   ПотокКонфигурация    : ВНЕШНИЙОБЪЕКТ;
   МаппингПереноса,
   ИмяПоляВКонфигурации,
   ИмяПоляВНаборе       :строка;
   ИндексРазделителя,
   ДлинаПоля, сч        : целое;
начало
  результат := СоздатьСтатическиеДанные();
  попытка
    ПотокКонфигурация := ReadEnum(ТипКонфигурации);
    МаппингПереноса := "";  
    от сч := 0 до МаппингПолей.Количество-1 делать
    начало
      ИмяПоляВКонфигурации := МаппингПолей.ИмяПараметра(сч);
      ИмяПоляВНаборе := МаппингПолей.ЗначениеПараметра(ИмяПоляВКонфигурации);
      ИндексРазделителя := Позиция("_", ИмяПоляВНаборе);
      //создание поля в возвращаемых данных
      если (ИндексРазделителя &lt;&gt; 0) тогда
      начало
        ДлинаПоля := СтрокаВЦелое(Подстрока(ИмяПоляВНаборе, ИндексРазделителя+1, Длина(ИмяПоляВНаборе)-ИндексРазделителя));
        ИмяПоляВНаборе := Подстрока(ИмяПоляВНаборе, 0, ИндексРазделителя-1);
        результат.ДобавитьСтроковоеПоле(ИмяПоляВНаборе, ДлинаПоля);
      конец
      иначе 
        результат.ДобавитьЦелоеПоле(ИмяПоляВНаборе);
      //формирование маппинга для перекачки данных конфигурации  
      МаппингПереноса := МаппингПереноса + ИмяПоляВНаборе + "=" + ИмяПоляВКонфигурации + ",";
    конец;
    МаппингПереноса := Подстрока(МаппингПереноса, 0, Длина(МаппингПереноса)-1);
    результат.Открыть();
    результат.PumpData(ПотокКонфигурация, МаппингПереноса);
  неудача
    Интерфейс(результат).Освободить;
    ВызватьОшибку(ПоследняяОшибка);
  конец;
конец;
// Удаление документа по ID и коду документа, с учетом связей
//ОпцииУдаления:
// 0 - Обычное удаление
// 1 - Принудительное удаление даже заблокированных по связям документов
// 2 - "Тихий" режим (без вызова ошибок удаления, с пропуском ошибочных документов)
функция УдалитьДокументПоКоду(СписокИД: строка; ТипДокумента, ОпцииУдаления: целое; ТекстОшибки: строка): целое;
переменные
  LinkInfo2: ILinkInfo2;
  ссТипДокумента, Связи: СтатическиеДанные;
  Коллекция: IVariables;
  ИмяТаблицы, ИмяКлючевогоПоля: строка;
  тСписокИД: текст;
  сч, ВТранзакции, ЕстьСвязи: целое;  
начало
  ТекстОшибки := "";
  Результат := 0;
  если СписокИД &lt;&gt; "" тогда
  начало
    LinkInfo2 := CreateComObject(TLinkInfo2);
    ВТранзакции := ОткрытьТранзакцию;
    попытка
      попытка
        СоединитьИнтерфейс(LinkInfo2);
        если (ТипДокумента &lt;&gt; -1)и(ТипДокумента &lt;&gt; 0) тогда
        начало
          ссТипДокумента := СоздатьСтатическиеДанные;
          тСписокИД := СоздатьТекст;
          попытка
            ссТипДокумента.СоединитьБД;
            ссТипДокумента.Запрос := 
              "[PumpData]{select dc.TableName, dc.PRIMARYKEYNAME from DocumentCLS dc where dc.id = " + ЦелоеВСтроку(ТипДокумента) + "}";
            ссТипДокумента.Открыть;
            если ссТипДокумента.RecordCount = 1 тогда
            начало
              ИмяТаблицы := ссТипДокумента.ПолеПоИмени("TableName").КакСтрока;
              ИмяКлючевогоПоля := ссТипДокумента.ПолеПоИмени("PRIMARYKEYNAME").КакСтрока;
              если (ИмяТаблицы = "")или(ИмяКлючевогоПоля = "") тогда
                ВызватьОшибку("Не указана таблица или ключевое поле для типа документа " + ФорматироватьКлассификатор(ТипДокумента, "00.00.00"));
              тСписокИД.РазделенноеЗначение := СписокИД;
              от сч := 0 до тСписокИД.Количество - 1 делать
              начало
                попытка
                  Коллекция := CreateVariables;
                  попытка
                    Коллекция.Значение("ParentID") := СписокИД;
                    Связи := LinkInfo2.GetLinks(Коллекция);
                    если Связи.RecordCount = 0 тогда
                    начало
                      Связи := nil;
                      Коллекция.Значение("ParentID") := "";
                      Коллекция.Значение("ChildID") := СписокИД;
                      Связи := LinkInfo2.GetLinks(Коллекция);                    
                    конец;
                    ЕстьСвязи := Связи.RecordCount &lt;&gt; 0;
                  обязательно
                    Связи := nil;
                    УдалитьОбъект(Коллекция);                    
                  конец;                  
                  если ЕстьСвязи тогда
                    LinkInfo2.DeleteRecordsByDocumentCls(ТипДокумента, тСписокИД.Стр(сч), ОпцииУдаления, нет)
                  иначе  
                    //Если у LinkInfo не получилось удалить, значит информации о связях нет и можно самим удалить 
                    ВыполнитьЗапрос("delete from " + ИмяТаблицы + " where " + ИмяКлючевогоПоля + " = " + тСписокИД.Стр(сч));
                  Результат := Результат + 1;  
                неудача
                  выбрать ОпцииУдаления из
                    //Останавливаемся при ошибках только в режиме 0 и 1
                    0, 1: ВызватьОшибку(ПоследняяОшибка);
                    2: ТекстОшибки := ПоследняяОшибка;
                  конец;
                конец;              
              конец;    
            конец
            иначе
              ВызватьОшибку("Неизвестный тип документа " + ФорматироватьКлассификатор(ТипДокумента, "00.00.00"));  
          обязательно
            УдалитьОбъект(ссТипДокумента);
            УдалитьОбъект(тСписокИД);
          конец;
        конец
        иначе
        начало
          //LinkInfo2 разучился искать документы по id поэтому запрещаем удалять неизвестные документы
          ВызватьОшибку("Не указан тип документа для удаления");
        конец;  
      обязательно  
        ЗакрытьИнтерфейс(LinkInfo2);
        УдалитьОбъект(LinkInfo2);
      конец;
      если ВТранзакции тогда  
        ЗакрытьТранзакцию;      
    неудача
      если ВТранзакции тогда
        ОтменитьТранзакцию;
      ВызватьОшибку(ПоследняяОшибка);    
    конец;    
  конец;
конец;

//*******************************************ФУНКЦИИ ФОРМИРОВАНИЯ ОДИНАКОВЫХ ФИЛЬТРОВ(ВЫРАЖЕНИЙ) НАД ПЕРЕДАННЫМИ 
//В ВИДЕ СТРОКИ ПЕРЕЧИСЛЕНИЙ НЕСКОЛЬКИХ ОДНОТИПНЫХ ЭЛЕМЕНТОВ(ФОРМИРОВАНИЕ ФИЛЬТРА ПО КАЖДОМУ МЕСЯЦУ В ГОДУ)*******************************************
 
//формируется строка, конкатенирующая каждый элемент в 2 переданных перечислениях
//перечисления должны быть синхронизированы по числу элементов 
функция СоединитьЭлементыИзПеречислений(Маппинг1, Маппинг2, Разделитель: строка): строка;
переменные
  Первый,
  Второй: Текст;
  сч    : целое;        
начало  
  Первый := СоздатьТекст();
  Второй := СоздатьТекст();
  попытка
    результат := "";
    Первый.РазделенноеЗначение(";") := Маппинг1;
    Второй.РазделенноеЗначение(";") := Маппинг2;
    от сч := 0 до Первый.Количество -1 делать
    начало
      результат := результат + Первый.Стр(сч) + Разделитель + Второй.Стр(сч)+";";
    конец;
    результат := подстрока(результат, 0, Длина(результат)-1);    
  обязательно
    УдалитьОбъект(Первый);
    УдалитьОбъект(Второй);
  конец;
конец;

функция ДобавитьСкобкиВПеречислении(Перечень: строка): строка;
переменные
  СписокСтрок   : Текст;
  индекс        : ЦЕЛОЕ;
начало
  СписокСтрок := СоздатьТекст();
  попытка
    СписокСтрок.РазделенноеЗначение(";") := Перечень;
    от индекс := 0 до СписокСтрок.Количество-1 делать
    начало
      СписокСтрок.Стр(индекс) := "(" + СписокСтрок.Стр(индекс) + ")";     
    конец;
    РЕЗУЛЬТАТ := СписокСтрок.РазделенноеЗначение(";");
  обязательно
    УдалитьОбъект(СписокСтрок);
  конец;
конец;

функция ЛогОперация(ТекстОперации: строка): целое;
начало
  результат := (Прописные(ТекстОперации) = "AND")или (Прописные(ТекстОперации) = "OR");
конец;

//формирование перечней выражений на основе передаваемых списков и перечня операций 
//(для каждого перечисления ), 
//после формирования строки по каждой отдельной операции полученный результат помещается в скобки 
//"СписокПеречней" - список строк(каждая может включать перечисление значений через символ ";"), из которых будет выстраиваться выражение
//"Операции" - строка, содержащая перечень операций разделенных символом: ";" (число элементов на 1 меньше, чем в 1-м параметре)
функция ФормированиеВыраженияВСписках(СписокПеречней: Текст; Операции: Строка): строка;
переменные
  ОперацииВРекурсию,
  ИдентификаторыВРекурсию,
  СписокОпераций        : Текст;
  ТекущаяОперация,
  ВыраженияИзРекурсии,
  НакопленныеВыражения  : СТРОКА;
  ЕстьЛогОперация,
  индрекурсия, инд      : ЦЕЛОЕ; 
начало
  результат := "";
  если (СписокПеречней.Количество &lt;&gt; 0) тогда
  начало
    СписокОпераций := СоздатьТекст();
    попытка
      ЕстьЛогОперация := нет;    
      СписокОпераций.РазделенноеЗначение(";") := Операции;
      НакопленныеВыражения := СписокПеречней.Стр(0);
      инд := 1; 
      пока не ЕстьЛогОперация и (инд &lt;= СписокПеречней.Количество-1) делать
      начало
        ТекущаяОперация := СписокОпераций.Стр(инд-1);
        если ЛогОперация(ТекущаяОперация) тогда
        начало//рекурсивно запускаем опять функцию передав не обработанные ранее списки идентификаторов и операций 
          ОперацииВРекурсию := СоздатьТекст();
          ИдентификаторыВРекурсию := СоздатьТекст();
          попытка
            //заполняем оставшиеся операции и идентификаторы
            от индрекурсия := инд до СписокПеречней.Количество-1 делать
            начало
              ИдентификаторыВРекурсию.Добавить(СписокПеречней.Стр(индрекурсия));             
            конец;
            от индрекурсия := инд до СписокОпераций.Количество-1 делать
            начало
              ОперацииВРекурсию.Добавить(СписокОпераций.Стр(индрекурсия));             
            конец;
            ВыраженияИзРекурсии := ФормированиеВыраженияВСписках(ИдентификаторыВРекурсию, ОперацииВРекурсию.РазделенноеЗначение(";"));
            НакопленныеВыражения := СоединитьЭлементыИзПеречислений(НакопленныеВыражения, ВыраженияИзРекурсии, ТекущаяОперация);
            //!!!полученное выражение с логической операцией не вносим в скобки            
          обязательно
            УдалитьОбъект(ИдентификаторыВРекурсию);
            УдалитьОбъект(ОперацииВРекурсию);
          конец;
          ЕстьЛогОперация := да;//оставшийся кусок выражения будет обработан в рекурсии  
        конец
        иначе начало
          НакопленныеВыражения := СоединитьЭлементыИзПеречислений(НакопленныеВыражения, СписокПеречней.Стр(инд), ТекущаяОперация); 
          НакопленныеВыражения := ДобавитьСкобкиВПеречислении(НакопленныеВыражения);
        конец;
        инд := инд + 1;  
      конец;
      результат := НакопленныеВыражения;
    обязательно
      УдалитьОбъект(СписокОпераций);
    конец;  
  конец;  
конец;

функция ФормированиеФильтрПоСписку(СписокПеречней: Текст; Операции, СвязьЭлВыражения: Строка): строка;
начало
  Результат := ФормированиеВыраженияВСписках(СписокПеречней, Операции);
  Результат := ЗаменитьПодстроку(Результат, ";", СвязьЭлВыражения);
конец;

//значение указанного поля может содержать в себе перечень нескольких значений
функция ВернутьПереченьЗначенийПоля(Источник: СтатическиеДанные; ИмяПоля: СТРОКА): СТРОКА;
переменные      
  ПолныйПеречень,
  ЗначОднойСтроки: Текст;
  ИскомоеПоле    : IField;
  инд            : ЦЕЛОЕ;
  ОдноЗначение   : СТРОКА;        
начало
  ЗначОднойСтроки := СоздатьТекст();
  ПолныйПеречень := СоздатьТекст();
  попытка
    ИскомоеПоле := Источник.ПолеПоИмени(ИмяПоля);
    Источник.ВНачало();
    пока не Источник.ВКонце делать
    начало
      ЗначОднойСтроки.РазделенноеЗначение(",") := ИскомоеПоле.КакСтрока;
      от инд := 0 до ЗначОднойСтроки.Количество-1 делать
      начало
        ОдноЗначение := ЗначОднойСтроки.Стр(инд);
        если ПолныйПеречень.Поиск(ОдноЗначение) &lt; 0 тогда
          ПолныйПеречень.Добавить(ОдноЗначение);      
      конец;
      Источник.Следующий();
    конец;
    результат := ПолныйПеречень.РазделенноеЗначение(",");
  обязательно
    УдалитьОбъект(ЗначОднойСтроки);
    УдалитьОбъект(ПолныйПеречень);
  конец;  
конец;

//для сравнения значения поля(после Post, но до ApplyUpdates) 
//до изменения с текущим значением поля
функция ОтличаютсяЦелВарианты(V : Variant; ИскомоеПоле : Поле): Целое;
начало
  // если значение поля не проставлено и не было проставлено, то и проверять нечего
  Если не((V.VarType = VarNull) и (ИскомоеПоле.isNull))
  тогда начало
    // если поле было пустым, а стало не пустым или наоборот - то отличия есть
    Результат := ((V.VarType = VarNull) и не (ИскомоеПоле.isNull)) или
                 (не (V.VarType = VarNull) и (ИскомоеПоле.isNull)) ;
    // если значения не были и не стали пустыми, то сравниваем строки             
    Если (Результат &lt;&gt; да)
      тогда Результат := (V.asInteger &lt;&gt; ИскомоеПоле.asInteger);
  конец
  иначе Результат := Нет;  
конец;
// разыменовка с использованием аудитных данных
// если ДатаАудита не задана или 0, то используются обычные разыменовки без аудита
функция РазыменоватьАудит(Код: Строка; Значение, ДатаАудита: Variant; ОбновитьДанныеАудита: Целое = нет): Variant;
переменные
  КодДляАудита: Строка;
начало
  если ДатаАудита.Значение&gt;0 тогда
  начало
    КодДляАудита := Код+#10'ДатаАудита';
    если ОбновитьДанныеАудита тогда
      КодДляАудита := КодДляАудита+#10'Обновить';
    Результат := Разыменовать(КодДляАудита, МассивИз(Значение, ДатаАудита))
  конец иначе
    Результат := Разыменовать(Код, Значение);
конец;
функция ИспользуетсяАудит: Целое;
начало
  Результат := Да;
  попытка
    СоздатьВыборку("select count(*) from A_Organizations");
  неудача
    результат := Нет;
  конец;
конец;
</value>
    <param value="Стандартные.abl" type="3" name="version">36.042.21</param>
    <param value="Стандартные.abl" type="3" name="crc32">$04DF0435</param>
  </node>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="ФормированиеИРасчет">// Включает в себя стандартные функции для формирования периодов и расчета процентов и пеней
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  УзелПараметровКредиты = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелПараметровГарантии = "Бюджет\Объекты\Настройки\Гарантии\Параметры";
  УзелПараметровСсуды = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  УзелСмещенийКредиты = "Бюджет\Объекты\Настройки\Кредиты\Смещения";
  УзелСмещенийГарантии = "Бюджет\Объекты\Настройки\Гарантии\Смещения";
  УзелСмещенийСсуды = "Бюджет\Объекты\Настройки\Ссуды\Смещения";
  
  // Константы прогиндексов
  пиГарантииПроценты = 394;
  пиГарантииПениОсн = 395;
  пиГарантииПениПроц = 396;
  
  пиКредитыПроценты = 134;
  пиКредитыПениОсн = 335;
  пиКредитыПениПроц = 336;
  
  пиСсудыПроценты = 124;
  пиСсудыПениОсн = 325;
  пиСсудыПениПроц = 326;

// функции для получения констант из других модулей
функция МодульГарантии: целое;
начало
  Результат := 1;
конец;

функция МодульКредиты: целое;
начало
  Результат := 2;
конец;

функция МодульСсуды: целое;
начало
  Результат := 3;
конец;

// ПрогИндексы по модулям и названию
функция ПрогИндексПроценты(КодМодуля: целое): целое;
начало
  выбрать КодМодуля из
    МодульГарантии: Результат := пиГарантииПроценты; 
    МодульКредиты:  Результат := пиКредитыПроценты;
    МодульСсуды:    Результат := пиСсудыПроценты;
  конец;  
конец;

функция ПрогИндексПениОсн(КодМодуля: целое): целое;
начало
  выбрать КодМодуля из
    МодульГарантии: Результат := пиГарантииПениОсн; 
    МодульКредиты:  Результат := пиКредитыПениОсн;
    МодульСсуды:    Результат := пиСсудыПениОсн;
  конец;  
конец;

функция ПрогИндексПениПроц(КодМодуля: целое): целое;
начало
  выбрать КодМодуля из
    МодульГарантии: Результат := пиГарантииПениПроц; 
    МодульКредиты:  Результат := пиКредитыПениПроц;
    МодульСсуды:    Результат := пиСсудыПениПроц;
  конец;  
конец;

// Запрос для вставки периодов
функция ЗапросПериоды(КодМодуля: целое): строка;
начало
  выбрать КодМодуля из 
    МодульСсуды, МодульКредиты:
      Результат := " [PumpData] {"
                 + " select AcceptDate, RecordDate, PeriodStart, PeriodEnd, Summa, CurrencySumma, CurrencyCLS, PayPercentDate,"
                 + " ProgIndex, RecordIndex, Note, BuhPaymentCLS, DFAccount, BuhOperationCLS"
                 + " from LoanCreditPercents where 1 &lt;&gt; 1"
                 + "}"
                 + " [InsertData] {"
                 + " insert into LoanCreditPercents (PeriodStart, PeriodEnd, CurrencyCLS, PayPercentDate, ProgIndex, RecordIndex, Note, BuhPaymentCLS, BuhOperationCLS, DFAccount)"
                 + " values (@PeriodStart, @PeriodEnd, @CurrencyCLS, @PayPercentDate, @ProgIndex, @RecordIndex, ~Note, @BuhPaymentCLS, @BuhOperationCLS, @DFAccount)}";
    МодульГарантии:
      Результат := " [PumpData] {"
                 + " select AcceptDate, RecordDate, PeriodStart, PeriodEnd, Credit Summa, CurrencySumma, CurrencyCLS, PlanDate PayPercentDate,"
                 + " ProgIndex, RecordIndex, Note, BuhPaymentCLS, BuhOperationCLS, 0 DFAccount"
                 + " from Guarantee where 1 &lt;&gt; 1"
                 + "}"
                 + " [InsertData] {"
                 + " insert into Guarantee (PeriodStart, PeriodEnd, CurrencyCLS, PlanDate, ProgIndex, RecordIndex, Note, BuhPaymentCLS, BuhOperationCLS)"
                 + " values (@PeriodStart, @PeriodEnd, @CurrencyCLS, @PayPercentDate, @ProgIndex, @RecordIndex, ~Note, @BuhPaymentCLS, @BuhOperationCLS)}";
  конец;  
конец;

// Исправляем даты после прибавления смещения
функция ПоправитьДату(Дата: целое): целое;
переменные
  Год, Месяц: целое;
начало
  Результат := Дата;
  если МесяцДаты(Результат) = 0 тогда
    // Для остатков на нач. года пишем число 01.01
    Результат := ГодДаты(Результат) * 10000 + 0101;
  если ДеньДаты(Результат) &gt; ЧислоДнейВМесяце(ГодДаты(Результат), МесяцДаты(Результат)) тогда
  начало
    Год := ГодДаты(Результат);
    Месяц := МесяцДаты(Результат);
    Месяц := Месяц + 1;
    если Месяц &gt; 12 тогда
    начало
      Месяц := 1;
      Год := Год + 1;
    конец; 
    Результат := Год * 10000 + Месяц * 100 + 1;
  конец;  
конец; 

// Получаем смещение    
функция ПолучитьСмещение(УзелСмещений, Имя: строка): строка;
начало
  Результат := Реестр.Узел(УзелСмещений).Значение(Имя).КакСтрока;
  если Результат = "" тогда
    Результат := "0";
конец;

// По прогиндексу детализации "Начисление%" получаем прогиндекс заголовка
функция ПрогИндексЗаголовка(ПрогИндексДетализации: целое): целое;
начало
  выбрать ПрогИндексДетализации из 
    пиСсудыПроценты, пиСсудыПениОсн, пиСсудыПениПроц: Результат := 120; // Ссуды
    пиКредитыПроценты, пиКредитыПениОсн, пиКредитыПениПроц: Результат := 130; // Кредиты
    пиГарантииПроценты, пиГарантииПениОсн, пиГарантииПениПроц: Результат := 380; // Гарантии
  конец;
конец;

функция УзелПараметровПоПрогИндексу(ПрогИндекс: целое): строка;
начало
  выбрать ПрогИндексЗаголовка(ПрогИндекс) из 
    120: Результат := УзелПараметровСсуды; // Ссуды
    130: Результат := УзелПараметровКредиты; // Кредиты
    380: Результат := УзелПараметровГарантии; // Гарантии
  конец;
конец;

функция ПолучитьКодБухОперации(ПрогИндекс: целое): целое;
переменные
  ПараметрРеестра: строка;
  СтрокаПроводок: строка;
начало
  // Выбираем имя параметра в реестре
  выбрать ПрогИндекс из 
    // ссуды
    пиСсудыПроценты: ПараметрРеестра := "Коды начисления процентов";
    пиСсудыПениОсн: ПараметрРеестра := "Коды нач. пени по основн. долгу";
    пиСсудыПениПроц: ПараметрРеестра := "Коды нач. пени по начисл. процентам";
    // Кредиты
    пиКредитыПроценты: ПараметрРеестра := "Коды начисления процентов";
    пиКредитыПениОсн: ПараметрРеестра := "Коды нач. пени по основн. долгу";
    пиКредитыПениПроц: ПараметрРеестра := "Коды нач. пени по начисл. процентам";
    // Гарантии
    пиГарантииПроценты: ПараметрРеестра := "Бух. проводки начисления процентов";
    пиГарантииПениОсн: ПараметрРеестра := "Бух. проводки начисления пени по осн. долгу";
    пиГарантииПениПроц: ПараметрРеестра := "Бух. проводки начисления пени по процентам";
  конец;
  // Находим список проводок
  СтрокаПроводок := Реестр.Узел(УзелПараметровПоПрогИндексу(ПрогИндекс)).Значение(ПараметрРеестра).КакСтрока; // Ссуды
  если Позиция(",", СтрокаПроводок) &gt; 0 тогда
    // Берем самую первую проводку из настроек
    СтрокаПроводок := Подстрока(СтрокаПроводок, 1, Позиция(",", СтрокаПроводок) - 1);
  попытка
    Результат := СтрокаВЦелое(СтрокаПроводок);
  неудача
    ВызватьОшибку("В настройках реестра по пути " + УзелПараметровПоПрогИндексу(ПрогИндекс) + " в параметре " + ПараметрРеестра 
                     + " указана неверная бухпроводка - " + СтрокаПроводок);
  конец;   
  если не ПроверитьКлассификатор(тк_БухПроводка, Результат) тогда
    ВызватьОшибку("В настройках реестра по пути " + УзелПараметровПоПрогИндексу(ПрогИндекс) + " в параметре " + ПараметрРеестра 
                     + " указана неверная бухпроводка - " + СтрокаПроводок);
конец;

функция ПолучитьКодБухОперации70н(ПрогИндекс: целое): целое;
переменные
  СтрокаРезультата: строка;
начало
  выбрать ПрогИндекс из 
    пиСсудыПроценты, пиГарантииПроценты, пиКредитыПроценты: СтрокаРезультата := "Бух. операция начисления процентов";
    пиСсудыПениОсн, пиКредитыПениОсн, пиГарантииПениОсн:    СтрокаРезультата := "Бух. операция начисления пени по осн. долгу";
    пиСсудыПениПроц, пиКредитыПениПроц, пиГарантииПениПроц: СтрокаРезультата := "Бух. операция начисления пени по процентам";
  иначе
    ВЫзватьОшибку("В процедуру получения бух. операции передан неверный индекс данных");
  конец;
  СтрокаРезультата := Реестр.Узел(УзелПараметровПоПрогИндексу(ПрогИндекс)).Значение(СтрокаРезультата).КакСтрока; 
  если УбратьПробелы(СтрокаРезультата) = "" тогда
    СтрокаРезультата := "999.99";
  Результат := СтрокаВЦелое(СтрокаРезультата);  
конец;

функция СоздатьСубПериоды: СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  Результат.ДобавитьЦелоеПоле("RDate");
  Результат.ДобавитьЦелоеПоле("ProgIndex");
  Результат.ДобавитьДробноеПоле("Credit");
  Результат.ДобавитьДробноеПоле("Debit");
  Результат.ДобавитьДробноеПоле("CurrencyCredit");
  Результат.ДобавитьДробноеПоле("CurrencyDebit");
  Результат.ДобавитьСтроковоеПоле("Note").Размер := 255;
  Результат.ДобавитьЦелоеПоле("CurrencyCLS");
  Результат.ДобавитьДробноеПоле("Percent");
  Результат.Открыть; 
конец;

  // Использовать только для ненормального года!!!
  функция ОткорректироватьДаты(Субпериоды: СтатическиеДанные);
  начало
    Субпериоды.ВНачало;
    пока не Субпериоды.ВКонце делать
    начало
      Субпериоды.Редактировать;
      Субпериоды.Поле("RDate").КакДробное := НормальнаяДатаВКривую(Субпериоды.Поле("RDate").КакДробное);
      Субпериоды.Сохранить;
      Субпериоды.Следующая;
    конец;
  конец; 

// Функция для формирования субпериодов по длине, указанной в заголовке
функция СформироватьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; ПрогИндекс: целое);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
  ТипГода: целое;
  Дата: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = :PI and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.параметр("PI").КакЦелое := ПрогИндексЗаголовка(ПрогИндекс);
  В.Открыть;
  ТипГода := В.Поле("YearType").КакЦелое;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по месяцам
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      ПолучитьДату(РасширДатаВОбычную(В.Поле("PeriodStart").КакДробное), Г, М, Д);
      Д := ДеньДаты(В.Поле("PeriodStart").КакДробное);
      М := МесяцДаты(В.Поле("PeriodStart").КакДробное);
      Г := ГодДаты(В.Поле("PeriodStart").КакДробное);
      пока ((Г * 10000 + М * 100 + Д) &lt;= КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("RDate").КакДробное := ИсправитьРасширДату(БольшаяДата(Г, М, Д));
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          СубПериоды.Поле("ProgIndex").КакЦелое := ПрогИндекс;
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          М := М ост 12;
          Г := Г + 1;
        конец;   
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("PeriodStart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("RDate").КакДробное := ДатаКонцаПодпериода;
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          СубПериоды.Поле("ProgIndex").КакЦелое := ПрогИндекс;
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, 0);
      конец;
    конец;
  обязательно
    УдалитьОбъект(В);
  конец; 
конец;

// Функция, требуемая для определения начала периода формирования процентов или пеней
// Приоритет операций таков:
// 1. Если были периоды, то это дата конца последнего периода + 1
// 2. Дата первого появления задолженности
// 3. Дата начала договора
функция ОпределитьНачалоПериода(ИДЗаголовка: целое; ПрогИндекс: целое): целое;
переменные
  В: Выборка;
  Запрос: строка;
  ТипГода: целое;
начало
  Результат := 0;
  // Получаем тип года 0 - 365(366) дней, 1 - 360 (12*30)дней.
  ТипГода := ПолучитьТипГода(ИДЗаголовка);

  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    
    // 1. Определяем дату последнего периода, если были периоды
    выбрать ПрогИндекс из
      // В гарантиях название таблицы отличается
      пиГарантииПроценты, пиГарантииПениОсн, пиГарантииПениПроц: В.Запрос := "select max(PeriodEnd) PeriodEnd from Guarantee where (PeriodEnd is not null) and (ProgIndex = :ProgIndexValue) and (RecordIndex = :RecordIndexValue)";
      иначе
        В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents where (PeriodEnd is not null) and (ProgIndex = :ProgIndexValue) and (RecordIndex = :RecordIndexValue)";
    конец;
    В.Параметр("ProgIndexValue").КакЦелое := ПрогИндекс;
    В.Параметр("RecordIndexValue").КакЦелое := ИДЗаголовка;
    В.Открыть;
    если (В.ЧислоЗаписей &gt; 0) и (В.Поле("PeriodEnd").КакЦелое &gt; 0) тогда
      Результат := СледующаяДата(В.Поле("PeriodEnd").КакЦелое, 1, 0); // 0 - только календарные даты
  
    // Ищем дату начала появления задолженности
    если Результат = 0 тогда
    начало
      В.Закрыть;
      
      выбрать ПрогИндекс из
        // Дата первой выдачи ссуды
        пиСсудыПроценты: В.Запрос := "select min(RecordDate) + " + ПолучитьСмещение(УзелСмещенийСсуды, "Выдача") + " StartDate from FinDocDetail where ProgIndex = 121 and RecordIndex = :RecordIndexValue";
        // Дата первого получения кредита
        пиКредитыПроценты: В.Запрос := "select min(RecordDate)  + "+ ПолучитьСмещение(УзелСмещенийКредиты, "Получение") + " StartDate from Debt where ProgIndex = 131 and RecordIndex = :RecordIndexValue";
        // Дата первого получения гарантии
        пиГарантииПроценты: В.Запрос := "select min(RecordDate) + " + ПолучитьСмещение(УзелСмещенийГарантии, "Получение") + " StartDate from Guarantee where ProgIndex = 381 and RecordIndex = :RecordIndexValue";
        // Дата первого планового погашения ссуды
        пиСсудыПениОсн: В.Запрос := "select min(PlanDate) + " + ПолучитьСмещение(УзелСмещенийСсуды, "График погашения") + " StartDate from LoanCreditPlan where ProgIndex = 127 and RecordIndex = :RecordIndexValue";
        // Дата первой плановой уплаты процентов
        пиСсудыПениПроц: если Реестр.Узел(УзелПараметровСсуды).Значение("Использовать график уплаты %").КакФлаг тогда
               В.Запрос := "select min(PlanDate) + " + ПолучитьСмещение(УзелСмещенийСсуды, "График уплаты процентов") + " StartDate from LoanCreditPlan where ProgIndex = 128 and RecordIndex = :RecordIndexValue"
             иначе
               В.Запрос := "select min(PayPercentDate) + " + ПолучитьСмещение(УзелСмещенийСсуды, "Начисление процентов") + " StartDate from LoanCreditPercents where ProgIndex = 124 and (AcceptDate is not null) and RecordIndex = :RecordIndexValue";
        пиКредитыПениОсн: если Реестр.Узел(УзелПараметровКредиты).Значение("Использовать график погашения").КакФлаг тогда
               В.Запрос := "select min(PlanDate) + " + ПолучитьСмещение(УзелСмещенийКредиты, "График погашения") + " StartDate from LoanCreditPlan where ProgIndex = 137 and RecordIndex = :RecordIndexValue"
             иначе
               В.Запрос := "select min(PlanDate) + " + ПолучитьСмещение(УзелСмещенийКредиты, "Плановое погашение") + " StartDate from Debt where ProgIndex = 132 and RecordIndex = :RecordIndexValue";  
        пиКредитыПениПроц: если Реестр.Узел(УзелПараметровКредиты).Значение("Использовать график уплаты %").КакФлаг тогда
               В.Запрос := "select min(PlanDate) + " + ПолучитьСмещение(УзелСмещенийКредиты, "График уплаты %") + " StartDate from LoanCreditPlan where ProgIndex = 138 and RecordIndex = :RecordIndexValue"
             иначе
               В.Запрос := "select min(PayPercentDate) + " + ПолучитьСмещение(УзелСмещенийКредиты, "Плановая уплата %") + " StartDate from LoanCreditPercents where ProgIndex = 134 and (AcceptDate is not null) and RecordIndex = :RecordIndexValue";
        пиГарантииПениОсн: В.Запрос := "select min(PlanDate) + " + ПолучитьСмещение(УзелСмещенийГарантии, "Плановое погашение") + " StartDate from Guarantee where ProgIndex = 382 and RecordIndex = :RecordIndexValue";
        пиГарантииПениПроц: В.Запрос := "select min(PlanDate) + " + ПолучитьСмещение(УзелСмещенийГарантии, "Плановая уплата %") + " StartDate from Guarantee where ProgIndex = 394 and RecordIndex = :RecordIndexValue";
      конец;
      В.Параметр("RecordIndexValue").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если (В.ЧислоЗаписей = 1) и (В.Поле("StartDate").КакЦелое &gt; 0) тогда
        Результат := ПоправитьДату(В.Поле("StartDate").КакЦелое);
    конец;
    
    // Если не было ни периодов, ни долгов тогда проверяем дату начала периодов и дату договора
    если Результат = 0 тогда
    начало
      В.Закрыть;
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where id = " + ЦелоеВСтроку(ИДЗаголовка);
      В.Открыть;
      Результат := В.Поле("PeriodStart").КакЦелое;
      если Результат = 0 тогда
        Результат := В.Поле("DateInput").КакЦелое;
    конец;
    
    // Если дата из остатков на начало года, то делаем ее первым января. Happy New Year!!!!
    если Результат ост 10000 &lt; 101 тогда
      Результат := ГодДаты(Результат) * 10000 + 0101;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// По прогиндексу периода (процент, пеня осн, пеня проц.) отпределяет прогиндекс ставок
функция ПолучитьПрогИндексЖурналаПроцентовПоПрогИндексуНачисления(ПрогИндекс: целое): целое;
начало
  выбрать ПрогИндекс из
    пиСсудыПроценты:    Результат := 125;
    пиСсудыПениОсн:     Результат := 126;
    пиСсудыПениПроц:    Результат := 129;
    пиКредитыПроценты:  Результат := 135;
    пиКредитыПениОсн:   Результат := 136;
    пиКредитыПениПроц:  Результат := 139;
    пиГарантииПроценты: Результат := 387;
    пиГарантииПениОсн:  Результат := 388;
    пиГарантииПениПроц: Результат := 389;
  конец;  
конец;

// По ПрогИндексу периода определяет смещение для ставок
функция ПолучитьСмещениеЖурналаПроцентов(ПрогИндексНачисления: целое): строка;
начало
  выбрать ПрогИндексНачисления из
    пиСсудыПроценты:    Результат := ПолучитьСмещение(УзелСмещенийСсуды, "Изменение ставки процентов");
    пиСсудыПениОсн:     Результат := ПолучитьСмещение(УзелСмещенийСсуды, "Изменение ставки пеней по осн. долгу");
    пиСсудыПениПроц:    Результат := ПолучитьСмещение(УзелСмещенийСсуды, "Изменение ставки пеней по проц.");
    пиКредитыПроценты:  Результат := ПолучитьСмещение(УзелСмещенийКредиты, "Изменение ставки процентов");
    пиКредитыПениОсн:   Результат := ПолучитьСмещение(УзелСмещенийКредиты, "Изменение ставки пеней по осн. долгу");
    пиКредитыПениПроц:  Результат := ПолучитьСмещение(УзелСмещенийКредиты, "Изменение ставки пеней по проц.");
    пиГарантииПроценты: Результат := ПолучитьСмещение(УзелСмещенийГарантии, "Изменение ставки процентов");
    пиГарантииПениОсн:  Результат := ПолучитьСмещение(УзелСмещенийГарантии, "Изменение ставки пеней по осн. долгу");
    пиГарантииПениПроц: Результат := ПолучитьСмещение(УзелСмещенийГарантии, "Изменение ставки пеней по проц.");
  конец;  
конец;

функция УдалитьИзГрафикаПогашенныеЗаписи(График, Погашено: СтатическиеДанные);
переменные
  СуммаПогашения, СуммаВВалюте: дробное;
начало
  СуммаПогашения := 0;
  СуммаВВалюте := 0;
  Погашено.ВНачало;
  пока не Погашено.ВКонце делать
  начало
    СуммаПогашения := СуммаПогашения + Погашено.Поле("Debit").КакДробное;
    СуммаВВалюте := СуммаВВалюте + Погашено.Поле("CurrencyDebit").КакДробное;
    Погашено.Следующая;
  конец;
  
  График.ВНачало;
  пока не График.ВКонце и СуммаПогашения &gt;= 0.005 делать
  начало
    График.Редактировать;
    если СуммаПогашения &gt; График.Поле("Debit").КакДробное тогда
    начало
      СуммаПогашения := СуммаПогашения - График.Поле("Debit").КакДробное;
      СуммаВВалюте := СуммаВВалюте - График.Поле("CurrencyDebit").КакДробное;
      График.Поле("Debit").КакДробное := 0;
      График.Поле("CurrencyDebit").КакДробное := 0;
    конец
    иначе начало
      СуммаПогашения := 0;
      СуммаВВалюте := 0;
      График.Поле("Debit").КакДробное := График.Поле("Debit").КакДробное - СуммаПогашения;
      График.Поле("CurrencyDebit").КакДробное := График.Поле("CurrencyDebit").КакДробное - СуммаВВалюте;
    конец;
    График.Следующая;
  конец;
  
  // Удаляем из графика пустые строки
  График.Фильтр := "Debit=0";
  График.Clear;
  График.Фильтр := "";
конец;

// Универсальная функция формирования субпериодов
функция СформироватьСубпериоды(ИДЗаголовка: целое; СубПериоды: СтатическиеДанные; ДатаНачала, ДатаКонца: целое; ПрогИндекс, ПроцентыПоГрафику: целое);
переменные
  В: Выборка;
  График: СтатическиеДанные;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    Субпериоды.Clear;
 
    //////          ССУДЫ         /////////
    
    // Закачиваем выдачу ссуд, если надобно
    если ПрогИндекс = пиСсудыПроценты тогда
    начало
      В.Запрос := "select Credit, CurrencySumma CurrencyCredit, CurrencyCLS, RecordDate + " + ПолучитьСмещение(УзелСмещенийСсуды, "Выдача") + " RDate, 'Выдача ссуды' Note"
                + " from FinDocDetail where (AcceptDate is not null) and (ProgIndex = 121) and (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (RecordDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийСсуды, "Выдача"), 0)) + ")"
                + " and (RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийСсуды, "Выдача"), 0)) + ")";
      В.Открыть;
      СубПериоды.Закачать(В);          
    конец;
 
    // Закачиваем погашение ссуд
    если (ПрогИндекс = пиСсудыПроценты) или (ПрогИндекс = пиСсудыПениОсн) тогда
    начало
      В.Закрыть;
      В.Запрос := "select Debit, CurrencySumma CurrencyDebit, CurrencyCLS, RecordDate + " + ПолучитьСмещение(УзелСмещенийСсуды, "Погашение") + " RDate, 'Погашение ссуды' Note"
                + " from FinDocDetail where (AcceptDate is not null) and (ProgIndex = 122) and (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (RecordDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийСсуды, "Погашение"), 0)) + ")"
                + " and (RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийСсуды, "Погашение"), 0)) + ")";
      В.Открыть;
      СубПериоды.Закачать(В);          
    конец;
 
    // Закачиваем плановое погашение ссуд
    если ПрогИндекс = пиСсудыПениОсн тогда
    начало
      В.Закрыть;
      В.Запрос := "select Summa Credit, CurrencySumma CurrencyCredit, CurrencyCLS, PlanDate + " + ПолучитьСмещение(УзелСмещенийСсуды, "График погашения") + " RDate, 'График погашения ссуды' Note"
                + " from LoanCreditPlan where (PlanDate is not null) and (ProgIndex = 127) and (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (PlanDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийСсуды, "График погашения"), 0)) + ")"
                + " and (PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийСсуды, "График погашения"), 0)) + ")";
      В.Открыть;
      СубПериоды.Закачать(В);          
    конец;
    
    если ПрогИндекс = пиСсудыПениПроц тогда
    начало
      // Плановая уплата процентов
      В.Закрыть;
      если Реестр.Узел(УзелПараметровСсуды).Значение("Использовать график уплаты %").КакФлаг тогда
        В.Запрос := "select Summa Credit, CurrencySumma CurrencyCredit, CurrencyCLS, PlanDate + " + ПолучитьСмещение(УзелСмещенийСсуды, "График уплаты процентов") + " RDate, 'График уплаты %' Note"
                + " from LoanCreditPlan where (PlanDate is not null) and (ProgIndex = 128) and (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (PlanDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийСсуды, "График уплаты процентов"), 0)) + ")"
                + " and (PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийСсуды, "График уплаты процентов"), 0)) + ")"
      иначе  
        В.Запрос := "select Summa Credit, CurrencySumma CurrencyCredit, CurrencyCLS, PayPercentDate + " + ПолучитьСмещение(УзелСмещенийСсуды, "Начисление процентов") + " RDate, 'Плановая уплата %' Note"
                + " from LoanCreditPercents where (AcceptDate is not null) and (PayPercentDate is not null) and (ProgIndex = 124) and (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (PayPercentDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийСсуды, "Начисление процентов"), 0)) + ")"
                + " and (PayPercentDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийСсуды, "Начисление процентов"), 0)) + ")";
      В.Открыть;
      СубПериоды.Закачать(В);
      
      // Фактическая уплата
      В.Закрыть;
      В.Запрос := "select i.Credit Debit, ci.CurrencyValue CurrencyDebit, ci.CurrencyIndex CurrencyCLS, i.RecordDate + " + ПолучитьСмещение(УзелСмещенийСсуды, "Уплата процентов") + " RDate, 'Уплата %' Note"
                + " from Incomes32 i left join CurrencyIncomes ci on (ci.id = i.id)"
                + " where (i.IDate is not null) and (i.ProgIndex = 123) and (i.RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (i.RecordDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийСсуды, "Уплата процентов"), 0)) + ")"
                + " and (i.RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийСсуды, "Уплата процентов"), 0)) + ")";
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    //////////////  КРЕДИТЫ  ////////////////////////
    если ПрогИндекс = пиКредитыПроценты тогда
    начало
      // Получение кредита
      В.Закрыть;
      В.Запрос := "select Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (RecordDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "Получение") +  ") RDate, 'Получение кредита' Note"
                 + " from Debt where ProgIndex = 131 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "Получение"), 0))
                 + " and RecordDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "Получение"), 0));
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    В.Закрыть;
    В.Запрос := "select DebtType from LoanCredit where id="  + ЦелоеВСтроку(ИДЗаголовка);
    В.Открыть;    
     
   если (Реестр.Узел(УзелПараметровКредиты).Значение("Ценные бумаги").КакЦелое &lt;&gt; В.Поле("DebtType").КакЦелое) или (Реестр.Узел(УзелПараметровКредиты).Значение("Ценные бумаги").КакЦелое = 0) тогда
   начало    
    если (ПрогИндекс = пиКредитыПроценты) или (ПрогИндекс = пиКредитыПениОсн) тогда
    начало
      // Погашение кредита
      В.Закрыть;
      В.Запрос := "select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (RecordDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "Погашение") +  ") RDate, 'Погашение кредита' Note"
                 + " from Debt where ProgIndex = 132 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "Погашение"), 0))
                 + " and RecordDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "Погашение"), 0));
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    если (ПрогИндекс = пиКредитыПроценты) и (Реестр.Узел(УзелПараметровКредиты).Значение("СПланом").КакФлаг) тогда
    начало
      // Плановое погашение (расход)
      В.Закрыть;
      В.Запрос := "select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (PlanDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "Плановое погашение") +  ") RDate, 'Плановое погашение кредита' Note"
                 + " from Debt where ProgIndex = 132 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "Плановое погашение"), 0))
                 + " and PlanDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "Плановое погашение"), 0))  
                 + " and RecordDate is null";
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    если (ПрогИндекс = пиКредитыПроценты) и (ПроцентыПоГрафику) тогда
    начало
      График := СоздатьСтатическиеДанные;
      График.ПрисвоитьПоля(СубПериоды);
      График.Открыть;
      В.Закрыть;
      // График погашения
      В.Запрос := "select Summa Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (PlanDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "График погашения") +  ") RDate, 'Погашение кредита по графику' Note"
               + " from LoanCreditPlan where ProgIndex = 137 and (PlanDate is not null) and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
               + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "График погашения"), 0))
               + " and PlanDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "График погашения"), 0));
      В.Открыть;
      График.Закачать(В);
      УдалитьИзГрафикаПогашенныеЗаписи(График, СубПериоды);
      СубПериоды.Закачать(График);
      График.Clear;
      Интерфейс(График).Освободить;      
    конец;
    
    если ПрогИндекс = пиКредитыПениОсн тогда
    начало
      В.Закрыть;
      если Реестр.Узел(УзелПараметровКредиты).Значение("Использовать график погашения").КакФлаг тогда
        // График погашения
        В.Запрос := "select Summa Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "График погашения") +  ") RDate, 'Погашение кредита по графику' Note"
                 + " from LoanCreditPlan where ProgIndex = 137 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "График погашения"), 0))
                 + " and PlanDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "График погашения"), 0))
      иначе
        // Плановое погашение (приход)
        В.Запрос := "select Debit Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "Плановое погашение") +  ") RDate, 'Плановое погашение кредита' Note"
                 + " from Debt where ProgIndex = 132 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "Плановое погашение"), 0))
                 + " and PlanDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "Плановое погашение"), 0));  
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
  Конец; 
    если ПрогИндекс = пиКредитыПениПроц тогда
    начало
      // Фактическая уплата процентов
      В.Закрыть;
      В.Запрос :=  " select Credit Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (RecordDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "Уплата процентов") +  ") RDate, 'Уплата процентов' Note"
                 + " from FinDocDetail where ProgIndex = 133 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "Уплата процентов"), 0))
                 + " and RecordDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "Уплата процентов"), 0));  
      В.Открыть;
      СубПериоды.Закачать(В);
      
      В.Закрыть;
      если Реестр.Узел(УзелПараметровКредиты).Значение("Использовать график уплаты %").КакФлаг тогда
        // График уплаты
        В.Запрос := "select Summa Credit, CurrencySumma CurrencyCredit, CurrencyCLS, PlanDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "График уплаты %") + " RDate "
                + " from LoanCreditPlan where (PlanDate is not null) and (ProgIndex = 138) and (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (PlanDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "График уплаты %"), 0)) + ")"
                + " and (PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "График уплаты %"), 0)) + ")"
      иначе  
        // Плановая уплата процентов
        В.Запрос := "select Summa Credit, CurrencySumma CurrencyCredit, CurrencyCLS, PayPercentDate + " + ПолучитьСмещение(УзелСмещенийКредиты, "Начисление процентов") + " RDate "
                + " from LoanCreditPercents where (AcceptDate is not null) and (PayPercentDate is not null) and (ProgIndex = 134) and (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ")"
                + " and (PayPercentDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийКредиты, "Начисление процентов"), 0)) + ")"
                + " and (PayPercentDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийКредиты, "Начисление процентов"), 0)) + ")";
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    /////////////   ГАРАНТИИ    /////////////////////
    если ПрогИндекс = пиГарантииПроценты тогда
    начало
      // Получение гарантии
      В.Закрыть;
      В.Запрос := "select Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (RecordDate + " + ПолучитьСмещение(УзелСмещенийГарантии, "Получение") +  ") RDate, 'Получение гарантии' Note"
                 + " from Guarantee where ProgIndex = 381 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and (AcceptDate is not null)"
                 + " and RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийГарантии, "Получение"), 0))
                 + " and RecordDate &gt;=" + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийГарантии, "Получение"), 0));
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    если (ПрогИндекс = пиГарантииПроценты) или (ПрогИндекс = пиГарантииПениОсн) тогда  
    начало
      // Погашение гарантии
      В.Закрыть;
      В.Запрос :="select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (RecordDate + " + ПолучитьСмещение(УзелСмещенийГарантии, "Погашение") +  ") RDate, 'Погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and (AcceptDate is not null)"
                 + " and RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийГарантии, "Погашение"), 0))
                 + " and RecordDate &gt;=" + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийГарантии, "Погашение"), 0)); 
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    если ((ПрогИндекс = пиГарантииПроценты) и (Реестр.Узел(УзелПараметровГарантии).Значение("С планом").КакФлаг)) тогда
    начало
      // Плановое погашение гарантии
      В.Закрыть;
      В.Запрос := "select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (PlanDate + " + ПолучитьСмещение(УзелСмещенийГарантии, "Плановое погашение") +  ") RDate, 'Плановое погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and (RecordDate is null) and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийГарантии, "Плановое погашение"), 0))
                 + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийГарантии, "Плановое погашение"), 0));
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    если (ПрогИндекс = пиГарантииПениОсн) тогда
    начало
      // Плановое погашение гарантии (с предыдущим не объединять, ибо поля алиасятся по разному)
      В.Закрыть;
      В.Запрос := "select Debit Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ПолучитьСмещение(УзелСмещенийГарантии, "Плановое погашение") +  ") RDate, 'Плановое погашение гарантии' Note"
                 + " from Guarantee where ProgIndex = 382 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийГарантии, "Плановое погашение"), 0))
                 + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийГарантии, "Плановое погашение"), 0));
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;

    если ПрогИндекс = пиГарантииПениПроц тогда
    начало
      // Плановая уплата процентов
      В.Закрыть;
      В.Запрос := "select Debit Credit, CurrencyCLS, CurrencySumma CurrencyCredit, (PlanDate + " + ПолучитьСмещение(УзелСмещенийГарантии, "Плановая уплата %") +  ") RDate, 'Плановая уплата процентов' Note"
                 + " from Guarantee where ProgIndex = 394 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                 + " and (AcceptDate is not null)"
                 + " and PlanDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийГарантии, "Плановая уплата %"), 0))
                 + " and PlanDate &gt;=" + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийГарантии, "Плановая уплата %"), 0));
      В.Открыть;
      СубПериоды.Закачать(В);
      
      // Фактическая уплата процентов
      В.Закрыть;
      В.Запрос :="select Debit, CurrencyCLS, CurrencySumma CurrencyDebit, (RecordDate + " + ПолучитьСмещение(УзелСмещенийГарантии, "Уплата %") +  ") RDate, 'Уплата процентов' Note"
                 + " from Guarantee where ProgIndex = 397 and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) 
                 + " and (AcceptDate is not null)"
                 + " and RecordDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещение(УзелСмещенийГарантии, "Уплата %"), 0))
                 + " and RecordDate &gt;=" + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещение(УзелСмещенийГарантии, "Уплата %"), 0)); 
      В.Открыть;
      СубПериоды.Закачать(В);
    конец;
    
    ////////////// ЖУРНАЛ ПРОЦЕНТОВ (для всех) //////
    В.Закрыть;
    В.Запрос := "select AcceptDate + " + ЦелоеВСтроку(ПолучитьСмещениеЖурналаПроцентов(ПрогИндекс)) + " RDate, Percent, 'Изменение ставки' Note from PercentJournal"
                + " where AcceptDate is not null and ProgIndex = " + ЦелоеВСтроку(ПолучитьПрогИндексЖурналаПроцентовПоПрогИндексуНачисления(ПрогИндекс))
                + " and RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка)
                + " and (AcceptDate &gt;= " + ЦелоеВСтроку(СледующаяДата(ДатаНачала, ПолучитьСмещениеЖурналаПроцентов(ПрогИндекс), 0)) + ")"
                + " and (AcceptDate &lt;= " + ЦелоеВСтроку(СледующаяДата(ДатаКонца, ПолучитьСмещениеЖурналаПроцентов(ПрогИндекс), 0)) + ")";
    В.Открыть;
    СубПериоды.Закачать(В);
    
    СубПериоды.Фильтр := "";
    СубПериоды.Индекс := "";
    СубПериоды.ВНачало;
    пока не субПериоды.ВКонце делать
    начало
      СубПериоды.Редактировать;
      СубПериоды.Поле("RDate").КакЦелое := ПоправитьДату(СубПериоды.Поле("RDate").КакЦелое);
      СубПериоды.Сохранить;
      СУбПериоды.Следующая;
    конец; 
  обязательно
    УдалитьОбъект(В);
  конец;  
конец;

// Функция, определяющая, стоит ли формировать субпериоды для данного типа начисления
функция ФормироватьСубПериоды(ПрогИндекс: целое): целое;
начало
  Результат := Ложь;
  выбрать ПрогИндекс из
    пиСсудыПроценты: Результат := Реестр.Узел(УзелПараметровСсуды).Значение("Периоды процентов подробно").КакФлаг;
    пиСсудыПениОсн, пиСсудыПениПроц: Результат := Реестр.Узел(УзелПараметровСсуды).Значение("Периоды пени подробно").КакФлаг;
    пиКредитыПроценты: Результат := Реестр.Узел(УзелПараметровКредиты).Значение("Периоды подробно").КакФлаг;
    пиКредитыПениОсн, пиКредитыПениПроц: Результат := Реестр.Узел(УзелПараметровКредиты).Значение("Периоды пени подробно").КакФлаг;
    пиГарантииПроценты: Результат := Реестр.Узел(УзелПараметровГарантии).Значение("Периоды процентов подробно").КакФлаг;
    пиГарантииПениОсн: Результат := Реестр.Узел(УзелПараметровСсуды).Значение("Периоды пени по осн. долгу подробно").КакФлаг;
    пиГарантииПениПроц: Результат := Реестр.Узел(УзелПараметровСсуды).Значение("Периоды пени по процентам подробно").КакФлаг;
  конец;  
конец;

// Функция для формирования периодов для любых интерфейсов
функция УниверсальноеФормированиеПериодов(Заголовки, Периоды, СубПериоды: СтатическиеДанные; ДатаКонца: целое; ПрогИндекс, 
                                             КодПроводки, КодОперации70н, ПроцентыПоГрафику: целое);
переменные
  ДатаНачала: целое;
  КонецПериода: целое;
  ИДЗаголовка: целое; 
начало
  ИДЗаголовка := Заголовки.Поле("id").КакЦелое;
  // Получаем дату начала формируемых периодов данного типа (ПрогИндекс)
  ДатаНачала := ОпределитьНачалоПериода(ИДЗаголовка, ПрогИндекс);
  если ДатаНачала &lt;= ДатаКонца тогда
  начало
    // Формируем субпериоды
    если ФормироватьСубПериоды(ПрогИндекс) тогда
      СформироватьСубПериоды(ИДЗаголовка, СубПериоды, ДатаНачала, ДатаКонца, ПрогИндекс, ПроцентыПоГрафику);
    // Добавляем разбиение по периодам формирования
    СформироватьПериодыПоДлине(ИДЗаголовка, СубПериоды, ДатаНачала, ДатаКонца, ПрогИндекс);
    
    // Добавляем записи на начало и на конец периода
    СубПериоды.Вставить;
    СубПериоды.Поле("RDate").КакЦелое := ДатаНачала;
    СубПериоды.Сохранить;
    
    // Сортируем по дате
    СубПериоды.Индекс := "RDate";
    СубПериоды.ВНачало;
    // Началом первого периода будет первя дата из оных  
    КонецПериода := СубПериоды.Поле("RDate").КакЦелое;
    пока не СубПериоды.ВКонце делать
    начало
      если КонецПериода &lt;&gt; СубПериоды.Поле("RDate").КакЦелое тогда
      начало
        Периоды.Вставить;
        // Дата начала текущего периода - дата из предыдущей записи в субпериодах
        Периоды.Поле("PeriodStart").КакЦелое := КонецПериода;
        // Дата конца текущего периода - предыдущая дата от текущей в субпериодах
        Периоды.Поле("PeriodEnd").КакЦелое := ПредыдущаяДата(СубПериоды.Поле("RDate").КакЦелое, 1, 0);
        Периоды.Поле("ProgIndex").КакЦелое := ПрогИндекс;
        Периоды.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
        Периоды.Поле("BuhPaymentCLS").КакЦелое := КодПроводки;
        Периоды.Поле("BuhOperationCLS").КакЦелое := КодОперации70н;
        Периоды.Поле("CurrencyCLS").КакЦелое := Заголовки.Поле("CurrencyCLS").КакЦелое;
        Периоды.Поле("Note").КакСтрока := СубПериоды.Поле("Note").КакСтрока;
        Периоды.Поле("DFAccount").КакЦелое := Заголовки.Поле("DFAccount").КакЦелое;
        Периоды.Сохранить;
        // Начало следующего периода будет с текущй даты из субпериодов
        КонецПериода := СубПериоды.Поле("RDate").КакЦелое;
      конец;
      СубПериоды.Следующая;
    конец;
    
    // На случай извратов, типа расчета периода за 1 день
    если КонецПериода &lt;= ДатаКонца тогда
    начало
      Периоды.Вставить;
      // Дата начала текущего периода - дата из предыдущей записи в субпериодах
      Периоды.Поле("PeriodStart").КакЦелое := КонецПериода;
      // Дата конца текущего периода - предыдущая дата от текущей в субпериодах
      Периоды.Поле("PeriodEnd").КакЦелое := ДатаКонца;
      Периоды.Поле("ProgIndex").КакЦелое := ПрогИндекс;
      Периоды.Поле("RecordIndex").КакЦелое := ИДЗаголовка;
      Периоды.Поле("BuhPaymentCLS").КакЦелое := КодПроводки;
      Периоды.Поле("BuhOperationCLS").КакЦелое := КодОперации70н;
      Периоды.Поле("CurrencyCLS").КакЦелое := Заголовки.Поле("CurrencyCLS").КакЦелое;
      Периоды.Поле("Note").КакСтрока := "Плановое начисление";
      Периоды.Поле("DFAccount").КакЦелое := Заголовки.Поле("DFAccount").КакЦелое;
      Периоды.Сохранить;
    конец;
  конец;
конец;

// Функция для расчета процентов и пеней
функция УниверсальныйРасчет(ИДЗаголовка: целое; СубПериоды: СтатическиеДанные; ДатаНачала, ДатаКонца: целое; ПрогИндекс: целое; 
                                                                                                        СуммаВВалюте: дробное; ПроцентыПоГрафику: целое): дробное;
переменные
  Остаток, СубСумма, НачалоСубпериода, НачалоСледующегоСубпериода, Процент: дробное;
  Год, ДлинаСубпериода, ТипГода: целое;
  ПолеКредит, ПолеДебет: строка;
  ЭтоНацВалюта: целое;
начало
  Результат := 0;
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(ИДЗаголовка) = КодНацВалюты);
  ПолеКредит := "Credit";
  ПолеДебет := "Debit";
  // Если валюта не рубли, тогда работаем с буржуйскими деньгами
  если не ЭтоНацВалюта тогда
  начало
    ПолеКредит := "CurrencyCredit";
    ПолеДебет := "CurrencyDebit";
  конец;
  попытка
    // Формируем субпериоды
    СубПериоды.Clear;
    СформироватьСубпериоды(ИДЗаголовка, СубПериоды, 19801004, СледующаяДата(ДатаКонца, 1, ТипГода), ПрогИндекс, ПроцентыПоГрафику);
    СубПериоды.Вставить;
    Субпериоды.Поле("RDate").КакЦелое := ДатаНачала;
    СубПериоды.Сохранить;
    если ТипГода = 1 тогда
      // Для года в 360 дней корректируем даты
      ОткорректироватьДаты(СубПериоды);
    // Вставляем следующую дату после даты конца
    // Это надо для того, чтобы нашим подходом успешно посчитался последний период, если он типа 07.04.2004 - 07.04.2004
    СубПериоды.Вставить;                         
    Субпериоды.Поле("RDate").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;
    // Вставка разрывов по годам (вставляем 1 января каждого попавшего в период года)
    Год := ГодДаты(ДатаНачала);
    пока Год &lt;= ГодДаты(ДатаКонца) делать
    начало
      СубПериоды.Вставить;                         
      Субпериоды.Поле("RDate").КакДробное := Год * 10000 + 101;                    
      СубПериоды.Сохранить;
      Год := Год + 1;
    конец;
    
    СубПериоды.Индекс := "RDate";
    // Установка начальных значений
    Остаток := 0;
    Процент := 0;
    СубСумма := 0;

    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.Поле("RDate").КакДробное &lt;= ДатаНачала) и (не Субпериоды.ВКонце) делать
    начало
        Остаток := Остаток + Субпериоды.Поле(ПолеКредит).КакДробное 
                                                       - Субпериоды.Поле(ПолеДебет).КакДробное;
        если не Субпериоды.Поле("Percent").Пустое тогда 
          Процент := Субпериоды.Поле("Percent").КакДробное;
        СубПериоды.Следующая;    
    конец;
    
    НачалоСубпериода := ДатаНачала;                         

    // Расчет начисленных процентов
    пока (Субпериоды.Поле("RDate").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
      Год := ГодДаты(ПредыдущаяДата(Субпериоды.Поле("RDate").КакДробное, 1, 0));
      НачалоСледующегоСубПериода := Субпериоды.Поле("RDate").КакДробное;
      ДлинаСубПериода := ЧислоДнейВПериоде(ИДЗаголовка, НачалоСубпериода, НачалоСледующегоСубПериода);
      // СубСумма - сумма начисленная в текущем субпериоде
      Субсумма :=  Остаток * ДлинаСубПериода * Процент / (ЧислоДнейВЛюбомГоду(ИДЗаголовка, Год) * 100);
      если Субсумма &lt; 0 тогда Субсумма := 0;
      Результат := Результат + СубСумма;    

      // измененные условия кредита
      Остаток := Остаток + Субпериоды.Поле(ПолеКредит).КакДробное - Субпериоды.Поле(ПолеДебет).КакДробное;
      если не Субпериоды.Поле("Percent").Пустое тогда  Процент := Субпериоды.Поле("Percent").КакДробное;

      НачалоСубпериода := НачалоСледующегоСубПериода;
      СубПериоды.Следующая;
    конец;
    СуммаВВалюте := 0;
    если не ЭтоНацВалюта тогда
    начало
      СуммаВВалюте := Результат;
      // Пересчитываем валюту в рубли
      Результат := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(ИДЗаголовка), ДатаКонца) * СуммаВВалюте;
    конец;
    // Округляем до копеек
    Результат := ОкруглитьДоЗнака(Результат, 2);
  обязательно
    //УдалитьОбъект(Субпериоды);
  конец;  
конец;

функция СформироватьГрафикПогашения(ИДДоговора: целое; График: СтатическиеДанные);
начало
конец;

// Функция формирования графика уплаты по выдаче и графику погашения
// Получается график предполагаемой уплаты процентов до конца договора (т.е. до даты амортизации или пролонгации)
// Таким образом можно проанализировать тенденцию уплаты по % и общий объем предполагаемых выплат
функция СформироватьГрафикУплатыПроцентов(ИДДоговора: целое;График: СтатическиеДанные);
переменные
  В: Выборка;
  ДатаНачала, ДатаКонца, Дата, НачалоПериода, КонецПериода, ПрогИндекс: целое;
  Сумма: дробное;
  СубПериоды: СтатическиеДанные;
  ДатаПлановойУплаты, ПериодичностьУплаты: целое;
начало
  СубПериоды := СоздатьСУбПериоды;
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := " select DateInput, PeriodStart, PeriodLength, PayPercentStartDate, PayPercentPeriodLength, DateAmortization, LongDate, ProgIndex, YearType from LoanCredit"
            + " where id =" + ЦелоеВСтроку(ИДДоговора);
  В.Открыть;
  если В.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("Такого договора не существует");
  ДатаНачала := В.Поле("PeriodStart").КакЦелое;
  если В.Поле("PayPercentStartDate").КакЦелое &gt; 0 тогда
    ДатаПлановойУплаты := В.Поле("PayPercentStartDate").КакЦелое
  иначе
    // Если нету даты уплаты процентов, то ставим 15-е число
    ДатаПлановойУплаты := (В.Поле("PeriodStart").КакЦелое цел 100) * 100 + 15;
  если В.Поле("PayPercentPeriodLength").КакЦелое &lt;&gt; 0 тогда
    ПериодичностьУплаты := В.Поле("PayPercentPeriodLength").КакЦелое
  иначе
    ПериодичностьУплаты := В.Поле("PeriodLength").КакЦелое;    
  если ДатаНачала &lt;&gt; 0 тогда
  начало  
    /*
    если ДатаНачала = 0 тогда
      ДатаНачала := В.Поле("DateInput").КакЦелое;
    */
    если В.Поле("LongDate").КакЦелое &gt; В.Поле("DateAmortization").КакЦелое тогда
      ДатаКонца := В.Поле("LongDate").КакЦелое 
    иначе
      ДатаКонца := В.Поле("DateAmortization").КакЦелое; 
    пока ДатаНачала &lt; ДатаКонца делать
    начало
      НачалоПериода := ДатаНачала;
      КонецПериода := НачалоПериода + мод(ПериодичностьУплаты) * 100;
      если МесяцДаты(КонецПериода) &gt; 12 тогда
      начало
        КонецПериода := (ГодДаты(КонецПериода) + 1) * 10000 + (МесяцДаты(КонецПериода) - 12) * 100 + ДеньДаты(КонецПериода);
        если КонецПериода &gt; ДатаКонца тогда
          КонецПериода := ДатаКонца;
      конец; 
      выбрать В.Поле("ProgIndex").КакЦелое из
        120: ПрогИндекс := пиСсудыПроценты;
        130: ПрогИндекс := пиКредитыПроценты;
        380: ПрогИндекс := пиГарантииПроценты;
      конец; 
      если КонецПериода = ДатаКонца тогда
        Сумма := УниверсальныйРасчет(ИДДоговора, СубПериоды, НачалоПериода, КонецПериода, ПрогИндекс, 0, Истина)
      иначе 
        Сумма := УниверсальныйРасчет(ИДДоговора, СубПериоды, НачалоПериода, ПредыдущаяДата(КонецПериода, 1, В.Поле("YearType").КакЦелое), ПрогИндекс, 0, Истина);
      График.Вставить;
      График.Поле("Summa").КакДробное := Сумма;
      /*
      если МесяцДаты(КонецПериода) &lt; 12 тогда
        График.Поле("PlanDate").КакЦелое := ((КонецПериода цел 100) + 1) * 100 + ДеньДаты(ДатаПлановойУплаты)
      иначе  
        График.Поле("PlanDate").КакЦелое := ((КонецПериода цел 10000) + 1) * 10000 + 100 + ДеньДаты(ДатаПлановойУплаты); 
      */
      График.Поле("PlanDate").КакЦелое := КонецПериода;
      График.Сохранить;
      ДатаНачала := КонецПериода;
    конец;                
    УдалитьОбъект(В, СубПериоды);
  конец;
конец;

// Смысл такой - из упорядоченных по дате данных вычитает другие упорядоченные по дате
// причем так, что записы вычитаются с самых ранних
// Пример:
// Данные: 01.01.2004 100р, 01.02.2004 300 р; Удаляемые данные: 01.01.2004 200р
// В результате получим 01.02.2004 200р.
функция ВычестьУпорядоченныеДанные(Данные, УдаляемыеДанные: СтатическиеДанные);
переменные
  Сумма: дробное;
начало
  Сумма := 0;
  // Вычисляем сумму 
  УдаляемыеДанные.ВНачало;
  пока не УдаляемыеДанные.ВКонце делать
  начало
    Сумма := Сумма + УдаляемыеДанные.Поле("Summa").КакДробное;
    УдаляемыеДанные.Следующая; 
  конец;
  
  // Теперь уберем эту сумму из данных
  Данные.Индекс := "PlanDate";
  Данные.ВНачало;
  пока (не Данные.ВКонце) и (Сумма &gt; 0.005) делать
  начало
    если Данные.Поле("Summa").КакДробное &lt; Сумма тогда
    начало
      Сумма := Сумма - Данные.Поле("Summa").КакДробное;
      Данные.Удалить;
    конец
    иначе начало
      Данные.Редактировать;
      Данные.Поле("Summa").КакДробное := Данные.Поле("Summa").КакДробное - Сумма;
      СУмма := 0;
      Данные.Сохранить;
      Данные.Следующая;
    конец;
  конец;
конец;

// Возвести число в целую степень
функция ВозвестиВСтепень(Число: дробное; Степень:целое): дробное;
переменные
  к: целое;
начало
  Результат := 1;
  если Степень &lt;&gt; 0 тогда
  начало
    от к := 1 до Степень делать
      Результат := Результат * Число; 
  конец;  
конец;

функция РасчетПриведеннойСтоимости(Дата: целое; ИДДоговора: целое): дробное;
переменные
  ГрафикПогашения, Погашено, Получено, ГрафикУплатыПроцентов, ГрафикПоГодам: СтатическиеДанные;
  НачисленоПроц, УплаченоПроц: СтатическиеДанные;
  Год: целое;
  СтавкаЦБ, СуммаПогашения: дробное;
  В: Выборка;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос :=   " select Percent from CBPercentJournal"
                + " where AcceptDate = (select max(AcceptDate) from CBPercentJournal)";
    В.Открыть;
    СтавкаЦБ := В.Поле("Percent").КакДробное;            
    ГрафикПогашения := СоздатьСтатическиеДанные;
    ГрафикПогашения.СОединитьБД;
    ГрафикПогашения.Запрос := " [PumpData]{"
                            + " select PlanDate, cast(PlanDate/10000 as integer) Year, Summa"
                            + " from LoanCreditPlan"
                            + " where RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                            + " and ProgIndex in (127, 137) and (PlanDate is not null)"
                            + "}"
                            + " {select PlanDate, cast(PlanDate/10000 as integer) Year, (Debit - Credit) Summa"
                            + " from Guarantee"
                            + " where RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                            + " and ProgIndex in (382) and (PlanDate is not null)"
                            + "}";
    ГрафикПогашения.Открыть; 

    ГрафикУплатыПроцентов := СоздатьСтатическиеДанные;
    ГрафикУплатыПроцентов.ДобавитьЦелоеПоле("PlanDate");
    ГрафикУплатыПроцентов.ДобавитьДробноеПоле("Summa");
    ГрафикУплатыПроцентов.ДобавитьЦелоеПоле("Year");
    ГрафикУплатыПроцентов.Открыть;
    // График уплаты % сформируется только для итзбранных договоров
    попытка
      СформироватьГрафикУплатыПроцентов(ИДДоговора, ГрафикУплатыПроцентов);
    неудача
    конец;
    ГрафикУплатыПроцентов.ВНачало;
    Пока не ГрафикУплатыПроцентов.ВКонце делать
    начало
      ГрафикУплатыПроцентов.Редактировать;
      ГрафикУплатыПроцентов.Поле("Year").КакЦелое := ГрафикУплатыПроцентов.Поле("PlanDate").КакЦелое цел 10000;
      ГрафикУплатыПроцентов.Сохранить;
      ГрафикУплатыПроцентов.Следующая;
    конец;
    //Показать(ГрафикУплатыПроцентов);

    Погашено := СоздатьСтатическиеДанные;
    Погашено.СоединитьБД;
    Погашено.Запрос := " [PumpData] {select AcceptDate, (Debit - Credit) Summa from Debt"
                     + " where ProgIndex = 132 and (AcceptDate is not null)  and (RecordDate is not null) and RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                     + " and AcceptDate &lt;" + ЦелоеВСтроку(Дата) // Знак меньше т.к. считаем до указанной даты
                     + " }"
                     + " {select AcceptDate, (Debit - Credit) Summa from Guarantee"
                     + " where ProgIndex = 382 and (AcceptDate is not null) and RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                     + " and AcceptDate &lt;" + ЦелоеВСтроку(Дата) // Знак меньше т.к. считаем до указанной даты
                     + " }";
    Погашено.Открыть;     
    Получено := СоздатьСтатическиеДанные;
    Получено.СоединитьБД;
    Получено.Запрос := " [PumpData] {select d.AcceptDate PlanDate, cast(d.AcceptDate/10000 as integer) Year, (d.Credit - d.Debit) Summa from Debt d"
                     + " where d.ProgIndex = 131 and (d.AcceptDate is not null) and d.RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                     + " }"
                     + " {select g.AcceptDate PlanDate, cast(g.AcceptDate/10000 as integer) Year, (g.Credit - g.Debit) Summa from Guarantee g"
                     + " where g.ProgIndex = 381 and (g.AcceptDate is not null) and g.RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                     + " and g.AcceptDate &lt;" + ЦелоеВСтроку(Дата)
                     + " }";
    Получено.Открыть;
    если ГрафикПогашения.ЧислоЗаписей = 0 тогда
      ГрафикПогашения.Закачать(Получено);      
    ВычестьУпорядоченныеДанные(ГрафикПогашения, Погашено);
    
    НачисленоПроц := СоздатьСтатическиеДанные;
    НачисленоПроц.СоединитьБД;
    НачисленоПроц.Запрос := "[PumpData] {select PayPercentDate PlanDate, AcceptDate, cast(PayPercentDate/10000 as integer) Year, Summa "
                         + " from LoanCreditPercents"
                         + " where ProgIndex = 134 and (AcceptDate is not null) and RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                         + "}"
                         + " {select PlanDate, AcceptDate, cast(PlanDate/10000 as integer) Year, (Credit - Debit) Summa "
                         + " from Guarantee"
                         + " where ProgIndex = 394 and (AcceptDate is not null) and RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                         + "}";
    НачисленоПроц.Открыть;
    
    // В случае того, если не стоит даты плановой уплаты процентов
    НачисленоПроц.ВНачало;
    пока не НачисленоПроц.ВКонце делать
    начало
      если НачисленоПроц.Поле("PlanDate").КакЦелое = 0 тогда
      начало
        НачисленоПроц.Редактировать;
        НачисленоПроц.Поле("PlanDate").КакЦелое := НачисленоПроц.Поле("AcceptDate").КакЦелое;
        НачисленоПроц.Поле("Year").КакЦелое := НачисленоПроц.Поле("AcceptDate").КакЦелое цел 10000;
        НачисленоПроц.Сохранить;
      конец;
      НачисленоПроц.Следующая;
    конец;
    
    УплаченоПроц := СоздатьСтатическиеДанные;
    УплаченоПроц.СоединитьБД;
    УплаченоПроц.Запрос := "[PumpData] {select RecordDate, cast(RecordDate/10000 as integer) Year, (Credit - Debit) Summa "
                         + " from FinDocDetail"
                         + " where ProgIndex = 133 and (AcceptDate is not null) and RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                         + "}"
                         + " {select RecordDate, cast(RecordDate/10000 as integer) Year, (Credit - Debit) Summa "
                         + " from Guarantee"
                         + " where ProgIndex = 397 and (AcceptDate is not null) and RecordIndex = " + ЦелоеВСтроку(ИДДоговора)
                         + " and AcceptDate &lt;" + ЦелоеВСтроку(Дата)
                         + " }";                         ;
    УплаченоПроц.Открыть;
    ВычестьУпорядоченныеДанные(ГрафикУплатыПроцентов, УплаченоПроц);
    
                                                       
    // С графиком процентов все гораздо сложнее
    ГрафикПоГодам := СоздатьСтатическиеДанные;
    ГрафикПоГодам.ДобавитьЦелоеПоле("Year");
    ГрафикПоГодам.ДобавитьДробноеПоле("Summa");
    ГрафикПоГодам.Открыть; 
    ГрафикПоГодам.Группировать(ГрафикПогашения, "keys=Year;Summa=sum(Summa)");
    ГрафикПоГодам.Группировать(ГрафикУплатыПроцентов, "keys=Year;Summa=sum(Summa)");
    Год := Дата цел 10000;
    
    ГрафикПоГодам.ВНачало;
    Результат := 0;
    пока не ГрафикПоГодам.ВКонце делать
    начало
      Результат := Результат + ГрафикПоГодам.Поле("Summa").КакДробное/ВозвестиВСтепень(1 + СтавкаЦБ/100, ГрафикПоГодам.Поле("Year").КакЦелое - Год);
      ГрафикПоГодам.Следующая;
    конец;
  обязательно
    Интерфейс(ГрафикПогашения).Освободить;
    Интерфейс(ГрафикУплатыПроцентов).Освободить;
    Интерфейс(ГрафикПоГодам).Освободить;
    Интерфейс(Получено).Освободить;
    Интерфейс(Погашено).Освободить;
    Интерфейс(НачисленоПроц).Освободить;
    Интерфейс(УплаченоПроц).Освободить;
    УдалитьОбъект(ГрафикПогашения, ГрафикУплатыПроцентов, ГрафикПоГодам, Получено, Погашено, НачисленоПроц, УплаченоПроц);
  конец;
конец;
</value>
    <param value="ФормированиеИРасчет" type="3" name="Export">MEGAMOBILE\efimenkov\05.12.2005 14:50:46</param>
    <param value="ФормированиеИРасчет" type="3" name="version">36.042.21</param>
    <param value="ФормированиеИРасчет" type="3" name="crc32">$23D07277</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ИнтерфейсФормированиеИРасчет">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "Бюджет\Ресурсы\библиотеки\Documents.lib";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";
включить "Бюджет\Ресурсы\Макросы\ФормированиеИРасчет";
включить "Project";


// Получаем дату конца предыдущего месяца
функция ДатаКонцаФормированияДляДиалога(КодИнтерфейса: целое): целое;
переменные
  Дата: целое;
начало
  Дата := ОбычнаяДатаВРасшир(ТекущаяДата);
  если МесяцДаты(Дата) = 1 тогда
    Результат := (ГодДаты(Дата) - 1) * 10000 + 12 * 100 + 31
  иначе
    Результат := ПолучитьДатуКонцаМесяца(Дата - 100, 0);
конец;

// Возвращает в данных заголовки обрабатываемых договоров
функция ПолучитьОбрабатываемыеДоговора(Договора: СтатическиеДанные);
переменные
  Ф: ФормаВвода;
  СтарыйФильтр: строка;
начало
  Ф := ПолучитьФормуВвода;
  попытка
    // Сохраняем старый фильтр с заголовка, если он там был
    СтарыйФильтр := Ф.Заголовки.Таблица.Фильтр;
    если Ф.Заголовки.Сетка.ЕстьВыделенныеСтроки тогда
      // Закачиваем выделенные договора
      Договора.Закачать(Ф.Заголовки.Сетка.ПолучитьВыделенныеСтроки)
    иначе
      если Ф.АктивнаяДетализация = -1 тогда
      // Закачиваем открытые договора
      начало
        Ф.Заголовки.Таблица.Фильтр := "AcceptDate=0";
        Договора.Закачать(Ф.Заголовки.Таблица);
      конец
      иначе начало
        // Закачиваем текущий договор
        Ф.Заголовки.Таблица.Фильтр := "id=" + Ф.Заголовки.Таблица.Поле("id").КакСтрока;
        Договора.Закачать(Ф.Заголовки.Таблица);
      конец;  
  обязательно
    // Возвращаем фильтр наместо
    Ф.Заголовки.Таблица.Фильтр := СтарыйФильтр;
  конец;      
конец;

// Проставляет даты плановой уплаты процентов
функция ПроставитьДатыПлановойУплаты(Заголовки, Начисление: СтатическиеДанные);
переменные
  Год, Месяц: целое;
  УзелПараметров: строка;
начало
  // выбираем периоды только для данного договора
  Начисление.Фильтр := "RecordIndex = " + Заголовки.Поле("id").КакСтрока;
  Начисление.ВНачало;
  пока не Начисление.ВКонце делать
  начало
    Начисление.Редактировать;
    // Вычисляем следующий месяц
    Год := ГодДаты(Начисление.Поле("PeriodEnd").КакЦелое);
    Месяц := МесяцДаты(Начисление.Поле("PeriodEnd").КакЦелое);
    Месяц := Месяц + 1;
    если Месяц &gt; 12 тогда
    начало
      Месяц := 1;
      Год := Год + 1;
    конец;  
    если Заголовки.Поле("PayPercentStartDate").КакЦелое &gt; 0 тогда
      // если в заголовке стоит дата начала уплаты процентов
      Начисление.Поле("PayPercentDate").КакЦелое := Год * 10000 + Месяц * 100 + (Заголовки.Поле("PayPercentStartDate").КакЦелое ост 100)
    иначе
      // Иначе это 15 число следующего после конца периода месяца
      Начисление.Поле("PayPercentDate").КакЦелое := Год * 10000 + Месяц * 100 + 15;
      
    // Проверяем, не выходит ли дата за пределы
    если ПолучитьДатуКонцаМесяца(Начисление.Поле("PayPercentDate").КакЦелое, 0) &lt; Начисление.Поле("PayPercentDate").КакЦелое тогда
      Начисление.Поле("PayPercentDate").КакЦелое := ПолучитьДатуКонцаМесяца(Начисление.Поле("PayPercentDate").КакЦелое, 0);  
    УзелПараметров := УзелПараметровПоПрогИндексу(Начисление.Поле("ProgIndex").КакЦелое);  
    если Реестр.Узел(УзелПараметров).Значение("Дата уплаты = Дата конца периода").КакФлаг тогда
      Начисление.Поле("PayPercentDate").КакЦелое := Начисление.Поле("PeriodEnd").КакЦелое;  
    Начисление.Сохранить;
    Начисление.Следующая;
  конец;
  Начисление.Фильтр := "";
конец;

// Функция для проверки правов, повешенных на интерфейсе
// Возвращает True если пользователь имеет права на изменение данных, False - прав нету
функция ПолучитьРазрешениеНаРедактирование(КодМодуля: целое): целое;
переменные
  Ф: ФормаВвода; 
начало
  //Результат := Ложь;
  //если Ф.ЕстьПраво("Ввод и изменение документов (кроме даты принятия)") или Ф.ЕстьПраво("Роль ввода данных") или Ф.ЯАдмин тогда
    Результат := Истина;
конец;

// Функция проверяет, имеются ли данные, доступны ли они для редактирования и т.д.
функция ПроверитьНаГотовность;
переменные
  Ф: ФормаВвода;
начало
  Ф := ПолучитьФормуВвода;
  если Ф.ЕстьИзменения тогда
    ВызватьОшибку("Сохраните изменения и повторите попытку.");
  если Ф.Заголовки.Таблица.ЧислоЗаписей = 0 тогда
    ВызватьОшибку("Нет данных");
конец; 

// функция для интерфейса формирования периодов
функция ИнтерфейсФормированиеПериодов(КодИнтерфейса: целое);
переменные
  Ф: ФормаВвода;
  Заголовки, Периоды, СубПериоды: СтатическиеДанные;
  пдПроценты, пдПениОсн, пдПениПроц, пдПроценты70н, пдПениОсн70н, пдПениПроц70н: ДиалоговыйПараметр;
  ДатаКонца: целое;
  Прогресс: IProgress;
  Обработано: целое;
начало
  ПроверитьНаГотовность;
  Ф := ПолучитьФормуВвода;
  если не ПолучитьРазрешениеНаРедактирование(КодИнтерфейса) тогда
    ВызватьОшибку("Вы не обладаете достаточными правами для формирования периодов.");
  // Показываем диалог формирования периодов
  Диалог.Очистить;
  Диалог.Заголовок := "Сформировать периоды начисления";
  Диалог.Добавить("Дата окончания", "Дата", 0, Календарь, "##.##.####");
  // По умолчанию дата определяется функцией  
  Диалог.Значение("Дата") := DateExToStr(ДатаКонцаФормированияДляДиалога(0));
  если (Реестр.Узел(УзелПараметровПоПрогИндексу(ПрогИндексПроценты(КодИнтерфейса))).Значение("СПланом").КакФлаг
    или Реестр.Узел(УзелПараметровПоПрогИндексу(ПрогИндексПроценты(КодИнтерфейса))).Значение("С планом").КакФлаг)
  тогда
  начало
    если не Ф.Заголовки.Таблица.Поле("LongDate").Пустое тогда
      Диалог.Значение("Дата") := DateExToStr(Ф.Заголовки.Таблица.Поле("LongDate").КакЦелое)
    иначе
      если не Ф.Заголовки.Таблица.Поле("DateAmortization").Пустое тогда
        Диалог.Значение("Дата") := DateExToStr(Ф.Заголовки.Таблица.Поле("DateAmortization").КакЦелое)
      иначе  
        Диалог.Значение("Дата") := DateExToStr(ДатаКонцаФормированияДляДиалога(0));
  конец;    
  Диалог.Добавить("Проценты", "Проценты", 0, ТолькоЧтение + Проверка, "");
  пдПроценты := Диалог.ДобавитьКлассификатор("Бух. операция15н", тк_БухПроводка, 1);
  пдПроценты.Значение := ПолучитьКодБухОперации(ПрогИндексПроценты(КодИнтерфейса));
  пдПроценты70н := Диалог.ДобавитьКлассификатор("Бух. операция 70н", тк_Операция, 1);
  пдПроценты70н.Значение := ПолучитьКодБухОперации70н(ПрогИндексПроценты(КодИнтерфейса));
  Диалог.Добавить("Пени по осн. долгу", "ПениОсн", 0, ТолькоЧтение + Проверка, "");
  пдПениОсн := Диалог.ДобавитьКлассификатор("Бух. операция 15н", тк_БухПроводка, 1);
  пдПениОсн.Значение := ПолучитьКодБухОперации(ПрогИндексПениОсн(КодИнтерфейса));
  пдПениОсн70н := Диалог.ДобавитьКлассификатор("Бух. операция 70н", тк_Операция, 1);
  пдПениОсн70н.Значение := ПолучитьКодБухОперации70н(ПрогИндексПениОсн(КодИнтерфейса));
  Диалог.Добавить("Пени по процентам", "ПениПроц", 0, ТолькоЧтение + Проверка, "");
  пдПениПроц := Диалог.ДобавитьКлассификатор("Бух. операция 15н", тк_БухПроводка, 1);
  пдПениПроц.Значение := ПолучитьКодБухОперации(ПрогИндексПениПроц(КодИнтерфейса));
  пдПениПроц70н := Диалог.ДобавитьКлассификатор("Бух. операция 70н", тк_Операция, 1);
  пдПениПроц70н.Значение := ПолучитьКодБухОперации70н(ПрогИндексПениПроц(КодИнтерфейса));
  Диалог.Флаг("Проценты") := Истина;
  Диалог.Флаг("ПениОсн") := Истина;
  Диалог.Флаг("ПениПроц") := Истина;
  если не Диалог.Выполнить тогда Выход;
  ДатаКонца := StrToDateEx(Диалог.Значение("Дата"));

  попытка
    // Создаем заголовки 
    Заголовки := СоздатьСтатическиеДанные;
    Заголовки.СоединитьБД;
    Заголовки.ПрисвоитьПоля(Ф.Заголовки.Таблица);
    Заголовки.Открыть;
    ПолучитьОбрабатываемыеДоговора(Заголовки);
    
    // Создаем субпериоды
    СубПериоды := СоздатьСубпериоды;
    
    // Создаем периоды
    Периоды := СоздатьСтатическиеДанные;
    Периоды.СоединитьБД;
    Периоды.Запрос := ЗапросПериоды(КодИнтерфейса);
    Периоды.Открыть;

    // Отображаем прогресс
    Прогресс := Progress;
    Прогресс.SetProgress(0);
    Прогресс.BeginProgress;
    Прогресс.SetMessage("Формирование периодов начисления процентов и пени");
    Прогресс.ShowCancelButton(Истина);
    Обработано := 0;
    // Обрабатываем договора 
    Заголовки.ВНачало;
    пока не Заголовки.ВКонце делать 
    начало
      если Заголовки.Поле("AcceptDate").Пустое тогда
      начало
        если Диалог.Флаг("Проценты") тогда
          // Формируем периоды для процентов
        начало
          УниверсальноеФормированиеПериодов(Заголовки, Периоды, СубПериоды, ДатаКонца, ПрогИндексПроценты(КодИнтерфейса), пдПроценты.Значение, пдПроценты70н.Значение, Ложь);  
          ПроставитьДатыПлановойУплаты(Заголовки, Периоды);
        конец;
        если Диалог.Флаг("ПениОсн") тогда
          // Формируем периоды для пеней по осн. долгу
          УниверсальноеФормированиеПериодов(Заголовки, Периоды, СубПериоды, ДатаКонца, ПрогИндексПениОсн(КодИнтерфейса), пдПениОсн.Значение, пдПениОсн70н.Значение, Ложь);  
        если Диалог.Флаг("ПениПроц") тогда
          // Формируем периоды для пеней по процентам
          УниверсальноеФормированиеПериодов(Заголовки, Периоды, СубПериоды, ДатаКонца, ПрогИндексПениПроц(КодИнтерфейса), пдПениПроц.Значение, пдПениПроц70н.Значение, Ложь);  
      конец;
      
      Заголовки.Следующая;
      Обработано := Обработано + 1;
      Прогресс.SetProgress(Обработано / Заголовки.ЧислоЗаписей * 100);
      если Прогресс.CheckCancelButton тогда
        ВызватьОшибку("Формирование периодов было прервано пользователем");
    конец;

    // Сохраняем сформированные периоды в базе
    Прогресс.SetProgress(0);
    Прогресс.SetMessage("Сохранение сформированных периодов");
    Периоды.СохранитьИзменения;
    Прогресс.SetProgress(100);
    если Ф.АктивнаяДетализация &gt;= 0 тогда
      если КодИнтерфейса = МодульГарантии тогда
        Ф.Детализация(Ф.ПолучитьДетализациюПоИмени("Начисление")).Открыть
      иначе
        Ф.Детализация(Ф.ПолучитьДетализациюПоИмени("Начисление %")).Открыть;
    Прогресс.EndProgress;
    Сообщение("Формирование периодов завершено");    
  обязательно
    УдалитьОбъект(Заголовки, Периоды, СубПериоды);
    Прогресс.EndProgress;
  конец;
конец;

функция СформироватьСтрокуПрогИндексов(КодМодуля, ФлагПроценты, ФлагПениОсн, ФлагПениПроц: целое): строка;
начало
  Результат := "";
  если ФлагПроценты тогда
    Результат := ЦелоеВСтроку(ПрогИндексПроценты(КодМодуля));
  если ФлагПениОсн тогда
    если Результат = "" тогда
      Результат := ЦелоеВСтроку(ПрогИндексПениОсн(КодМодуля))
    иначе
      Результат := Результат + "," + ЦелоеВСтроку(ПрогИндексПениОсн(КодМодуля));    
  если ФлагПениПроц тогда
    если Результат = "" тогда
      Результат := ЦелоеВСтроку(ПрогИндексПениПроц(КодМодуля))
    иначе
      Результат := Результат + "," + ЦелоеВСтроку(ПрогИндексПениПроц(КодМодуля));    
конец;

// Интерфейс расчета процентов и пеней
функция ИнтерфейсРасчет(КодИнтерфейса: целое);
переменные
  Ф: ФормаВвода;
  Заголовки, Детализация, СубПериоды: СтатическиеДанные;
  ИмяПоляССуммой: строка;
  Прогресс: IProgress;
  Обработано: целое;
  СуммаВВалюте:дробное;
начало
  ПроверитьНаГотовность;
  если не ПолучитьРазрешениеНаРедактирование(КодИнтерфейса) тогда
    ВызватьОшибку("Вы не обладаете достаточными правами для расчета процентов и пени.");
  Ф := ПолучитьФормуВвода;
  Диалог.Очистить;
  Диалог.Заголовок := "Расчет процентов и пени";
  Диалог.Добавить("Проценты", "Проценты", 0, ТолькоЧтение + Проверка, "");
  Диалог.Добавить("Пени по осн. долгу", "ПениОсн", 0, ТолькоЧтение + Проверка, "");
  Диалог.Добавить("Пени по процентам", "ПениПроц", 0, ТолькоЧтение + Проверка, "");
  Диалог.Флаг("Проценты") := Истина;
  Диалог.Флаг("ПениОсн") := Истина;
  Диалог.Флаг("ПениПроц") := Истина;
  если Ф.ЕстьПраво("Установка даты принятия") тогда
  начало
    Диалог.Добавить("Ставить дату принятия", "ДатаПринятия", 0, ТолькоЧтение + Проверка, "");
    Диалог.Флаг("ДатаПринятия") := Ложь;
  конец;
  
  // Флаг для удаления пустых периодов
  Диалог.Добавить("Удалять пустые", "УдалятьПустые", 0, ТолькоЧтение + Проверка, "");
  Диалог.Флаг("УдалятьПустые") := Ложь;

  если не Диалог.Выполнить тогда Выход;
  если не (Диалог.Флаг("Проценты") или Диалог.Флаг("ПениОсн") или Диалог.Флаг("ПениПроц")) тогда
    ВызватьОшибку("Не указан тип расчета!");
  попытка
    // Создаем заголовки 
    Заголовки := СоздатьСтатическиеДанные;
    Заголовки.СоединитьБД;
    Заголовки.ПрисвоитьПоля(Ф.Заголовки.Таблица);
    Заголовки.Открыть;
    ПолучитьОбрабатываемыеДоговора(Заголовки);
    
    // Создаем субпериоды
    СубПериоды := СоздатьСубпериоды;
    
    Детализация := СоздатьСтатическиеДанные;
    Детализация.СоединитьБД;
    если КодИнтерфейса = МодульГарантии тогда
      Детализация.Запрос := Ф.Детализация(Ф.ПолучитьДетализациюПоИмени("Начисление")).Таблица.Запрос
    иначе
      Детализация.Запрос := Ф.Детализация(Ф.ПолучитьДетализациюПоИмени("Начисление %")).Таблица.Запрос;
    
    // Определяем имя поля с суммой
    если КодИнтерфейса = МодульГарантии тогда
      ИмяПоляССуммой := "Credit"
    иначе 
      ИмяПоляССуммой := "Summa";  
    
    Прогресс := Progress;
    Прогресс.SetProgress(0);
    Прогресс.BeginProgress;
    Прогресс.SetMessage("Пересчет процентов и пени");
    Прогресс.ShowCancelButton(Истина);
    Обработано := 0;

    Заголовки.ВНачало;
    пока не Заголовки.ВКонце делать
    начало
      Детализация.Параметр("MasterID") := Заголовки.Поле("id").КакЦелое;
      Детализация.Открыть;
      Детализация.Фильтр := "(ProgIndex in [" + СформироватьСтрокуПрогИндексов(КодИнтерфейса, Диалог.Флаг("Проценты"), Диалог.Флаг("ПениОсн"), Диалог.Флаг("ПениПроц")) + "])";
      Детализация.ВНачало;
      пока не Детализация.ВКонце делать
      начало
        если (Детализация.Поле("AcceptDate").Пустое) и ((Детализация.Поле("PeriodStart").КакЦелое ост 10000) &gt;= 101) и ((Детализация.Поле("PeriodEnd").КакЦелое ост 10000) &gt;= 101) тогда
        начало
          Детализация.Редактировать;
          Детализация.Поле(ИмяПоляССуммой).КакДробное := УниверсальныйРасчет(Заголовки.Поле("id").КакЦелое, 
                                      СубПериоды, Детализация.Поле("PeriodStart").КакЦелое, Детализация.Поле("PeriodEnd").КакЦелое, 
                                      Детализация.Поле("ProgIndex").КакЦелое, СуммаВВалюте, Ложь);
          Детализация.Поле("CurrencySumma").КакДробное  := СуммаВВалюте;
          если Детализация.Поле("RecordDate").Пустое тогда
            Детализация.Поле("RecordDate").КакЦелое := ПолучитьДатуКонцаМесяца(Детализация.Поле("PeriodEnd").КакЦелое, 0);
          если Ф.ЕстьПраво("Установка даты принятия") тогда
            если Диалог.Флаг("ДатаПринятия") тогда
              Детализация.Поле("AcceptDate").КакЦелое := Детализация.Поле("RecordDate").КакЦелое;                             
          Детализация.Сохранить;
        конец;
        если Диалог.Флаг("УдалятьПустые") и (Мод(Детализация.Поле(ИмяПоляССуммой).КакДробное) &lt; 0.005) тогда 
          Детализация.Delete
        иначе
          Детализация.Следующая; 
        
      конец;
      Детализация.СохранитьИзменения;
      Детализация.Закрыть;
      Обработано := Обработано + 1;
      Прогресс.SetProgress(Обработано / Заголовки.ЧислоЗаписей * 100);                           
      Заголовки.Следующая;
    конец;
    Прогресс.SetProgress(100);
    если Ф.АктивнаяДетализация &gt;= 0 тогда
      Ф.Детализация(Ф.ПолучитьДетализациюПоИмени("Начисление %")).Открыть;
    Прогресс.EndProgress;
    Сообщение("Расчет процентов и пени завершен");  
  обязательно
    УдалитьОбъект(Заголовки, Детализация, СубПериоды);
    Прогресс.EndProgress;
  конец;  
конец;

// Расчет по кнопке в гриде
функция РасчетПоКнопке(ИДЗаголовка: целое; СуммаВВалюте: дробное): дробное;
переменные
  Ф: ФормаВвода;
  Данные, СубПериоды: СтатическиеДанные;
начало
  Ф := ПолучитьФормуВвода;
  Данные := Ф.Детализация(Ф.АктивнаяДетализация).Таблица;
  попытка
    СубПериоды := СоздатьСубпериоды;
    если ((Данные.Поле("PeriodStart").КакЦелое ост 10000) &lt; 101) или ((Данные.Поле("PeriodEnd").КакЦелое ост 10000) &lt; 101) тогда
      ВызватьОшибку("Невозможно пересчитать остатки на начало года!!!");
    Результат := УниверсальныйРасчет(ИДЗаголовка, СубПериоды, Данные.Поле("PeriodStart").КакЦелое, Данные.Поле("PeriodEnd").КакЦелое,
      Данные.Поле("ProgIndex").КакЦелое, СуммаВВалюте, Ложь);
  обязательно
    УдалитьОбъект(СУбПериоды);
  конец;
конец;

// Переносит документ из одного договора в другой
функция ПеренестиДокумент;
переменные
  Ф : ФормаВвода;
  Документ, Договора, ссОрг: СтатическиеДанные;
  НоваяВыборка : Выборка;
  КлючОрг, КлючСчет,КлючДоговора : целое;
  АктивнДетализация, ТекущаяКолонка : целое;           
  ФД: ФормаДиалога;
  СД: СеткаДанных;
  КлючОрг_: строка;
начало
  Ф := ПолучитьФормуввода;
  Если Ф.ЕстьПраво("Ввод и изменение документов (кроме даты принятия)")&lt;&gt; 1 тогда  // Проверка на достаточность прав
    ВызватьОшибку("У вас недостаточно прав для выполнения данной операции"); 
  Если не (Ф.Заголовки.Таблица.Поле("AcceptDate").IsNull)  тогда                  // Проверка на закрытость договора
    ВызватьОшибку("Договор закрыт. Данная операция не будет выполнена"); 
  // запомнить номер текущей активной детализации, часто понадобится
  АктивнДетализация := Ф.АктивнаяДетализация;                       
  
  // проверить, на какой детализации находимся ( нужны только выдача/погашение в ссудах, уплата проц. и получение в кредитах)

  если (АктивнДетализация&lt;&gt;ф.ПолучитьДетализациюПоИмени("Уплата %")) и (АктивнДетализация&lt;&gt;ф.ПолучитьДетализациюПоИмени("Выдача")) 
  и (АктивнДетализация&lt;&gt;ф.ПолучитьДетализациюПоИмени("Погашение")) и (АктивнДетализация&lt;&gt;ф.ПолучитьДетализациюПоИмени("Получение")) тогда
  начало
    если Ф.Заголовки.Таблица.Поле("ProgIndex").КакСтрока=130 тогда     //Кредиты
    Сообщение("Операция переноса документа выполняется только в детализации"+#13#10+
              "на закладках Получение, Погашение и Уплата%");
    если Ф.Заголовки.Таблица.Поле("ProgIndex").КакСтрока=120 тогда       // Проверка на ссуды
    Сообщение("Операция переноса документа выполняется только в детализации"+#13#10+
              "на закладках Выдача, Погашение и Уплата%");
    Выход;
  конец;

  // получить переносимый документ (документы)
  Документ := СоздатьСтатическиеДанные;
  Документ.ПрисвоитьПоля(Ф.Детализация(Ф.АктивнаяДетализация).Таблица);
  Документ.Открыть;
  если Ф.Детализация(Ф.АктивнаяДетализация).Таблица.ЧислоЗаписей = 0   тогда 
    ВызватьОшибку("Невозможно выполнить операцию. Детализация пустая"); 
  если Ф.Детализация(Ф.АктивнаяДетализация).Сетка.ЕстьВыделенныеСтроки тогда  
    Документ.Закачать(ф.Детализация(Ф.АктивнаяДетализация).Сетка.ПолучитьВыделенныеСтроки)     //Закачка выделенной строки
    
  иначе  
    Документ.СкопироватьЗапись(1,Ф.Детализация(Ф.АктивнаяДетализация).Таблица);
  если Документ.ЧислоЗаписей=0 тогда Выход;
 
  Документ.Вначало;
  НоваяВыборка := СоздатьВыборку; 
  НоваяВыборка.БазаДанных := Бюджет; 
   
  // найти ссылку на нужную организацию по счету получателя "СЧЕТ(*)" или ключу организации в заголовке
  если (АктивнДетализация=0) или (АктивнДетализация=2) тогда 
  начало
    КлючОрг := Ф.Заголовки.Таблица.Поле("Org_Ref").КакЦелое;
    если КлючОрг=0 тогда 
      ВыбратьОрганизацию(Орг_Ключ,КлючОрг );
    КлючОрг_ := ЦелоеВСтроку(КлючОрг);
      
    если Ф.Детализация(Ф.АктивнаяДетализация).Таблица.Поле("AcceptorAccRef").КакЦелое &lt;&gt; Ф.Детализация(Ф.АктивнаяДетализация).Таблица.Поле("AccountRef").КакЦелое тогда
    начало 
      ссОрг := СоздатьСтатическиеДанные;
      ссОрг.СоединитьБД;
      ссОрг.ДобавитьЦелоеПоле("Org_Ref");
    
      Ключсчет  := Ф.Детализация(Ф.АктивнаяДетализация).Таблица.Поле("AcceptorAccRef").КакЦелое;
      ссОрг.Запрос := 
             "[PumpData] {Select Org_Ref From Org_Accounts Where Id="
             +ЦелоеВстроку(КлючСчет) + "}";
      ссОрг.Открыть;
      если не ссОрг.Поле("Org_Ref").Пустое тогда 
        КлючОрг_ := КлючОрг_ + "," + ссОрг.Поле("Org_Ref").КакСтрока;
        
      УдалитьОбъект(ссОрг);  
    конец;
  конец
  иначе 
  начало
    КлючОрг := Ф.Заголовки.Таблица.Поле("Org_Ref").КакЦелое;
    если КлючОрг=0 тогда 
      ВыбратьОрганизацию(Орг_Ключ,КлючОрг );
    КлючОрг_ := ЦелоеВСтроку(КлючОрг);
  конец;
    
  // вынуть все договора по этой организации
  // Мега: добавлена проверка того, чтобы не перенесли в этот же договор + договора выбирались только из ссуд или кредитов
  Договора := СоздатьСтатическиеДанные;
  Договора.СоединитьБД;
  Договора.Запрос :=
         " [PumpData] { Select lc.id,lc.number, lc.dateinput,cast(' ' as varchar(10)) Data, lc.summa, lc.note, lc.ProgIndex, o.INN,o.INN20, o.Name, lc.Org_Ref"+
         " From loancredit lc left join Organizations o on (lc.Org_Ref=o.ID) where lc.org_ref in ("
         +КлючОрг_+ ") and lc.id &lt;&gt;" + Ф.Заголовки.Таблица.Поле("id").КакСтрока +
         " and lc.AcceptDate is null and ProgIndex = " + Ф.Заголовки.Таблица.Поле("ProgIndex").КакСтрока +"}"; // не выбираем закрытые договоры
  Договора.Открыть;
 
  
  если Договора.ЧислоЗаписей=0 тогда 
  начало
    Сообщение("По указанной организации нет договоров !!!");
    Выход;
  конец;
  Договора.Открыть;
  Договора.Вначало;
  пока не Договора.Вконце делать 
  начало
    Договора.Редактировать;
    Договора.Поле("DATA").КакСтрока := DateExToStr(Договора.Поле("DateInput").КакЦелое);
    если не Договора.Поле("INN").IsNull 
      тогда Договора.Поле("Name").КакСтрока := Договора.Поле("Name").КакСтрока + " ИНН " + Договора.Поле("INN").КакСтрока;
    если не Договора.Поле("INN20").IsNull        
      тогда Договора.Поле("Name").КакСтрока := Договора.Поле("Name").КакСтрока + " КПП " + Договора.Поле("INN20").КакСтрока;
    Договора.СохранитьИзменения;
    Договора.Следующий;
  конец;
  Договора.СохранитьИзменения;
  
  // инициализировать диалоговую форму для показа всех договоров по организации
  ФД := СоздатьФормуДиалога("Cсудные договора"/*+Подстрока(Наименование,1,200)*/, 800, 300, Да);
  СД := СоздатьСеткуДанных(Договора, ФД);
  СД.УдалитьКолонку("ProgIndex");
  СД.Выравнивание := Выравнивание_Везде;
  от ТекущаяКолонка := 0 до СД.КоличествоКолонок - 1 делать 
     СД.Колонка(ТекущаяКолонка).ТолькоДляЧтения := Да;
  СД.КолонкаПоИмени("ID").Видима := Нет;
  СД.КолонкаПоИмени("dateinput").Видима := Нет;
  СД.КолонкаПоИмени("INN").Видима := Нет;
  СД.КолонкаПоИмени("INN20").Видима := Нет;
  СД.КолонкаПоИмени("Org_Ref").Видима := Нет;
  СД.КолонкаПоИмени("Number").Заголовок := "№ договора";   
  СД.КолонкаПоИмени("Number").Ширина := 100;   
  СД.КолонкаПоИмени("Data").Заголовок := "Дата договора";   
  СД.КолонкаПоИмени("Data").Ширина := 100;   
  СД.КолонкаПоИмени("Summa").Заголовок := "Сумма договора";   
  СД.КолонкаПоИмени("Summa").Ширина := 100;   
  СД.КолонкаПоИмени("Note").Заголовок := "Содержание";   
  СД.КолонкаПоИмени("Note").Ширина := 100;
  СД.КолонкаПоИмени("name").Заголовок := "Организация";   
  СД.КолонкаПоИмени("name").Ширина := 400;   
  СД.КолонкаПоИмени("Number").Индекс := 1;   
  СД.КолонкаПоИмени("Data").Индекс := 2;   
  СД.КолонкаПоИмени("Summa").Индекс := 3;   
  СД.КолонкаПоИмени("Note").Индекс := 4;
  СД.КолонкаПоИмени("name").Индекс := 5; 
  СД.ТолькоДляЧтения := Истина;  
 
  // перевесить на другой договор
  если ФД.Показать=Да тогда 
    если Сообщение("Перенести на договор № " + Договора.Поле("Number").КакСтрока + " от " +
                   DateExToStr(Договора.Поле("DateInput").КакЦелое) + " ?",
                   Сообщение_Вопрос, Кнопка_Да + Кнопка_Нет) = Результат_Да тогда 
    начало
      КлючДоговора := Договора.Поле("Id").КакЦелое;
      Документ.Вначало;
      пока не Документ.вконце делать 
      начало
        если ((АктивнДетализация = 0) или (АктивнДетализация = 2)) тогда // Если выдача/получение или погашение
        начало
          /* если документ переноситься в договор по другой организации нежели распорядитель, то у него 
             надо поменять значение поля счет на значение из поля счет(*) 
             ежели документ переносится в договор по тому же распорядителю, то значение поля "счет" менять не надо */
          если Договора.поле("Org_Ref").КакЦелое &lt;&gt; Ф.Заголовки.Таблица.Поле("Org_Ref").КакЦелое тогда
          начало
            если Договора.Поле("ProgIndex").КакЦелое=120 тогда       // Проверка на ссуды
              НоваяВыборка.Запрос := 
                   "update FinDocDetail set recordindex="+
                   ЦелоеВСтроку(КлючДоговора)+
                   ", AccountRef="+ЦелоеВСтроку(КлючСчет)+
                   " Where Id="+ЦелоеВСтроку(Документ.Поле("Id").КакСтрока);
        
            если Договора.Поле("ProgIndex").КакЦелое=130 тогда       //Проверка на кредыты
              НоваяВыборка.Запрос := 
                   "update Debt set recordindex="+
                   ЦелоеВСтроку(КлючДоговора)+
                   ", AccRef ="+ЦелоеВСтроку(КлючСчет)+
                   " Where Id="+ЦелоеВСтроку(Документ.Поле("Id").КакСтрока);
          конец
          иначе начало
            если Договора.Поле("ProgIndex").КакЦелое=120 тогда       // Проверка на ссуды
              НоваяВыборка.Запрос := 
                   "update FinDocDetail set recordindex="+
                   ЦелоеВСтроку(КлючДоговора)+
                   " Where Id="+ЦелоеВСтроку(Документ.Поле("Id").КакСтрока);
                   
            если Договора.Поле("ProgIndex").КакЦелое=130 тогда       //Проверка на кредыты
              НоваяВыборка.Запрос := 
                   "update Debt set recordindex="+
                   ЦелоеВСтроку(КлючДоговора)+
                   " Where Id="+ЦелоеВСтроку(Документ.Поле("Id").КакСтрока);
          конец;
        конец 
        иначе
        начало                                                   //Если уплата
          если Договора.Поле("ProgIndex").КакЦелое=120 тогда      //Ссуды
            НоваяВыборка.Запрос := 
                 "Update Incomes32 Set Recordindex="+
                 ЦелоеВСтроку(КлючДоговора)+
                 " Where Id="+
                 ЦелоеВСтроку(Документ.поле("Id").какстрока);
          если Договора.Поле("ProgIndex").КакЦелое=130 тогда     //Кредиты
            НоваяВыборка.Запрос := 
                 "Update FinDocDetail Set Recordindex="+
                 ЦелоеВСтроку(КлючДоговора)+
                 " Where Id="+
                 ЦелоеВСтроку(Документ.поле("Id").какстрока);
        конец;
        НоваяВыборка.Выполнить;
        Документ.Следующий;
      конец;
      Ф.Детализация(Ф.АктивнаяДетализация).Открыть;
    конец; // если Сообщение...
  
  УдалитьОбъект(НоваяВыборка,Договора,Документ);
конец;
</value>
    <param value="ИнтерфейсФормированиеИРасчет" type="3" name="Export">PARFENOV\parfenovmv\29.03.2006 15:30:32</param>
    <param value="ИнтерфейсФормированиеИРасчет" type="3" name="version">36.042.21</param>
    <param value="ИнтерфейсФормированиеИРасчет" type="3" name="crc32">$8615C716</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ПараметрыИзБД.abl">// ************************************************************************************
//  функции для получения нужных параметров из базы данных
// ************************************************************************************
включить 'Бюджет\Ресурсы\Библиотеки\libRU.lib';
включить 'Бюджет\Ресурсы\Библиотеки\ABLTools.lib';

функция ПолучитьКонстанту(ПрогИндекс, ИндексКОнстанты: Целое): целое;
// получим параметр из базы данных
переменные
  Данные: СтатическиеДанные;
начало
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;               // подключиться к текущей базе данных
    Данные.Запрос := "[PumpData] " +
                        "{ SELECT constvalue BudgetValue from intConst " +  
                        "    where (progindex= @ProgIndex) and (constIndex= @ConstIndex)}";
    Данные.Параметр("ProgIndex") := ПрогИндекс;                       
    Данные.Параметр("ConstIndex") := ИндексКОнстанты;                       
    Данные.Открыть;                           
    результат := Данные.ПолепоИмени("BudgetValue").КакЦелое;
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

функция ПолучитьБюджет: целое;
// получим параметр Бюджет
начало
  результат := ПолучитьКонстанту(-1, 3);
конец;

функция ПолучитьПравило: целое;
// получим правило по варианту росписи
начало
  результат := ПолучитьКонстанту(32, 1);
конец;

функция РосписьПоМесяцам: целое;
// способ ввода бюджета.Результат функции: 1 - по месяцам, 0 - по кварталам
начало
  результат := не ПолучитьКонстанту(32, 3);
конец;

функция ТипСчета: целое;
// получить константу, указывающую, по какому счету производить подтягивание
начало
  результат := ПолучитьКонстанту(32, 5);
конец;

функция ЛицСчетЗакрыт(ЛицСчет: целое): целое;
// проверка признака Счет Закрыт для счета получателя  
переменные
  Данные: СтатическиеДанные;
начало
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;               // подключиться к текущей базе данных
    Данные.Запрос := "[PumpData] { select DATECLOSE from FacialAcc_Cls where id = @Acc }";
    Данные.Параметр("Acc") := ЛицСчет;                                   
    Данные.Открыть;
    Результат := не Данные.ПолеПоИмени("DATECLOSE").Пустое;
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

функция СчетЗакрыт(СчетПОлуч: Дробное): целое;
// проверка признака Счет Закрыт для счета получателя  
переменные
  Данные: СтатическиеДанные;
начало
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;               // подключиться к текущей базе данных
    Данные.Запрос := "[PumpData] { select closed from Org_Accounts where id = @DestAcc }";
    Данные.Параметр("DestAcc") := СчетПОлуч;                                   
    Данные.Открыть;
    Результат := Данные.ПолеПоИмени("closed").КакЦелое = 1;
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

функция ПолучитьБанк(СчетПОлуч: Дробное): целое;
// получить банк для счета получателя  
переменные
  Данные: СтатическиеДанные;
начало
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;               // подключиться к текущей базе данных
    Данные.Запрос := "[PumpData] { select bank_ref from Org_Accounts where id = @DestAcc }";
    Данные.Параметр("DestAcc") := СчетПОлуч;                                   
    Данные.Открыть;
    Результат := Данные.ПолеПоИмени("bank_ref").КакЦелое;
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

функция БанкЗакрыт(Банк: Целое): целое;
// проверка признака Банк Закрыт для банка получателя  
переменные
  Данные: СтатическиеДанные;
начало
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;               // подключиться к текущей базе данных
    Данные.Запрос := "[PumpData] { select closed from banks where id = @bnk }";
    Данные.Параметр("bnk") := Банк;                                   
    Данные.Открыть;
    Результат := Данные.ПолеПоИмени("closed").КакЦелое = 1;
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

функция КонтрольныйКлючРасчетногоСчетаВерен(КодСчета:целое):целое;
переменные
  Данные: СтатическиеДанные;
  КредитнаяОрганизация:Целое;
начало
  Результат:=0;
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;               // подключиться к текущей базе данных
    Данные.Запрос := "[PumpData] { select b.mfo, oa.Acc from org_Accounts oa, banks b  where (oa.bank_ref=b.id) and(oa.id = @Account) }";
    Данные.Параметр("Account") := КодСчета;                                   
    Данные.Открыть;
    Если Данные.ЧислоЗаписей&gt;0 тогда
    начало
      КредитнаяОрганизация := не (Подстрока(Данные.ПолеПоИмени("mfo").КакСтрока,7,3)="000");
      Результат := CheckAcc(Данные.ПолеПоИмени("mfo").КакСтрока,Данные.ПолеПоИмени("Acc").КакСтрока,КредитнаяОрганизация);
    конец;
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

функция СуммыСовпадают(ИД: целое): целое;
// проверка совпадения сумм документов детализации и записи заголовка казначейства
переменные
  С1, С2: дробное;
  Данные: СтатическиеДанные;
начало
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;               // подключиться к текущей базе данных
    Данные.Запрос := "[PumpData]" +
                           "{SELECT credit sumsumma " +
                           " FROM FacialFINcaption " +
                           " WHERE (ID = @MasterID)} ";
    Данные.Параметр("MasterID") := ИД;                                   
    Данные.Открыть;
    С1 := Данные.ПолеПоИмени("SUMSUMMA").КакДробное; // сумма в мастере 

    Данные.Закрыть;
    Данные.Запрос := "[PumpData]" +
                           "{SELECT sum(d.credit) sumsumma " +
                           " FROM FacialFINDETAIL D " +
                           " WHERE (d.recordIndex = @MasterID)} ";
    Данные.Параметр("MasterID") := ИД;                                   
    Данные.Открыть;
    С2 := Данные.ПолеПоИмени("sumsumma").КакДробное; // сумма детализаций  
    Результат := Мод(С1-С2)&lt;0.01; // разница между ними меньше 1 копейки?
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

//выполнение запроса вставки(обновления) в базу записи
функция ВыполнитьЗапрос_Вставка_Обновление(Запрос: Строка);
переменные
  СБазой: СтатическиеДанные;
начало
  СБазой := СоздатьСтатическиеДанные;
  попытка
    СБазой.СоединитьБД;
    Сбазой.ДобавитьСтроковоеПоле("Фиктивное",255);
    СБазой.CachedUpdates := Да;
    СБазой.Запрос := Запрос;        
    СБазой.Открыть;    
    СБазой.Вставить;
    СБазой.Сохранить;
    СБазой.ApplyUpdates;    
  обязательно
    УдалитьОбъект(СБазой);
  конец       
конец;

//если ФО является субъектом, то возвращает Истина
//иначе ложь
функция ФОявляетсяСубъектом : целое;
начало
  результат := ПолучитьКонстанту(-1,5)=0;
конец;

//Получить ID ФО в справочнике организаций
функция ПолучитьОрганизациюФО : целое;
переменные
  В : Выборка;
  ОснСчет : целое;
начало
  ОснСчет := ПолучитьКонстанту(-1,2);
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select Org_Ref from Org_Accounts  where ID="+ЦелоеВСтроку(ОснСчет);
  В.Открыть;
  В.ВНачало;
  результат := В.Поле("Org_Ref").КакЦелое;
конец;

//Возвращает новый ID сгенереный в базе через генератор g_Shared
функция ПолучитьИД : целое;
начало
  результат := ГенерироватьДиап("g_Shared");
конец;

</value>
    <param value="ПараметрыИзБД.abl" type="3" name="Export">SERGYMOBILE\sergy\07.04.2006 14:43:19</param>
    <param value="ПараметрыИзБД.abl" type="3" name="version">36.042.21</param>
    <param value="ПараметрыИзБД.abl" type="3" name="crc32">$C4C9F20B</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаФормВвода">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';

// функция определяет есть ли записи для обработки в указанном датасете
// ДанныеДляОбработки=nil - с формы ввода берется текущий активный датасет, иначе указанный
// ПредлагатьСохранение 
// Если =1  и есть несохраненные записи, то будет предложено их сохранить, иначе вызовется ошибка
// Если = 2 и есть несохраненные записи, то они будут автоматически сохранены без запроса
// Если = 3 и есть несохраненные записи, то ничего не делаем и ошибки не выдаем
// иначе при наличии несохраненных записей выдастся ошибка
функция ЕстьДанныеДляОбработки(ДанныеДляОбработки:СтатическиеДанные;ПредлагатьСохранение:целое=1):целое;
переменные
  ф:формаВвода;
начало
  Результат := нет;
  Ф := ПолучитьФормуВвода;
  //проверка на наличие данных
  если ДанныеДляОбработки=nil тогда
    если ф.АктивнаяДетализация=-1 тогда 
      ДанныеДляОбработки := ф.Заголовки.Таблица
    иначе ДанныеДляОбработки := ф.Детализация(ф.АктивнаяДетализация).Таблица;
    
  // Проверка готовности формы ввода
  если (не ДанныеДляОбработки.Active) тогда 
    ВызватьОшибку("Форма ввода не активна, нажмите кнопку [Выполнить]");
  //проверка на наличие несохраненных изменений
  Если (ДанныеДляОбработки.RecordCount = 0) тогда
    ВызватьОшибку("Нет документов для обработки");
    
  если Ф.ЕстьИзменения тогда
    выбрать ПредлагатьСохранение из
    1:  если сообщение("Внимание, есть несохраненные изменения. Сохранить изменения и продолжить?",Сообщение_Предупреждение,Кнопка_Да+Кнопка_Нет )=Результат_Да тогда
          ф.СохранитьИзменения
        иначе ВызватьОшибку("Действие отменено. Сохраните либо отмените изменения и попробуйте снова");
    2:  ф.СохранитьИзменения;   
    иначе ВызватьОшибку("Есть несохраненные изменения. Сохраните либо отмените изменения и попробуйте снова");
    конец;
    
  Результат := да;    
конец;

// берем текущую запись
функция ПолучитьТекущуюЗапись(ДанныеРезультат : СтатическиеДанные; Данные : СтатическиеДанные);
начало  
  ДанныеРезультат := СоздатьСтатическиеДанные; 
  ДанныеРезультат.AssignFields(Данные);
  ДанныеРезультат.Открыть;
  если не (Данные.Eof и Данные.Bof) тогда ДанныеРезультат.СкопироватьЗапись(0, Данные);
конец; 

// берем либо выделенные, либо текущую запись
функция ПолучитьВыделенныеИлиТекущую(ДанныеРезультат : СтатическиеДанные; СеткаВвода : СеткаДанных; Данные : СтатическиеДанные);
начало
  если СеткаВвода.ЕстьВыделенныеСтроки// в объекте Выделенные теперь находятся записи, выделенные в сетке данных заголовков 
    тогда ДанныеРезультат := СеткаВвода.ПолучитьВыделенныеСтроки
     // ничего не выделено, тогда занесем в выделенные текущую запись мастера
    иначе ПолучитьТекущуюЗапись(ДанныеРезультат, Данные); 
конец;

// Функция возвращает выделеные или текущую запись с активного датасета формы.
// НомерНабораДанных =-1 - с формы ввода берется текущий активный датасет, =0 с формы ввода берется заголовочный датасет,=1 -первая деталь и т.д.
// ПредлагатьСохранение 
// Если = 1  и есть несохраненные записи, то будет предложено их сохранить, иначе вызовется ошибка
// Если = 2 и есть несохраненные записи, то они будут автоматически сохранены без запроса
// Если = 3 и есть несохраненные записи, то ничего не делаем и ошибки не выдаем
// иначе при наличии несохраненных записей выдастся ошибка
// ТолькоТекущую  =1 всегда будет браться только текущая запись, даже если есть выделение 
функция ПолучитьВыбранныеДанныеРасш(НомерНабораДанных:целое=-1;ПредлагатьСохранение:целое=1;ТолькоТекущую:целое=0):СтатическиеДанные;
переменные
  ф:формаВвода;
  Данные:СтатическиеДанные;
  СеткаВвода : СеткаДанных;
начало
  Результат := nil;
  Ф := ПолучитьФормуВвода;
  если НомерНабораДанных &gt; ф.КоличествоДетализаций тогда 
    ВызватьОшибку("Указан слишком большой номер набора данных. В интерфейсе нет стольких детализаций");
  если (НомерНабораДанных&gt;0)и (ф.АктивнаяДетализация&lt;&gt;НомерНабораДанных-1) тогда
    ВызватьОшибку("Перейдите в детализацию (на закладку "+ЦелоеВСтроку(НомерНабораДанных)+") и попробуйте снова"); 
  если ((НомерНабораДанных=-1)и(Ф.АктивнаяДетализация = -1))или(НомерНабораДанных=0) тогда
  начало
    Данные := Ф.Заголовки.Таблица;
    СеткаВвода := Ф.Заголовки.Сетка;
  конец
  иначе
  если НомерНабораДанных=-1 тогда
  начало
    Данные := Ф.Детализация(Ф.АктивнаяДетализация).Таблица;
    СеткаВвода := Ф.Детализация(Ф.АктивнаяДетализация).Сетка;
  конец
  иначе
  начало
    Данные := Ф.Детализация(НомерНабораДанных-1).Таблица;
    СеткаВвода := Ф.Детализация(НомерНабораДанных-1).Сетка;
  конец;

  если ЕстьДанныеДляОбработки(Данные,ПредлагатьСохранение) тогда
    если (ТолькоТекущую=1)тогда
      ПолучитьТекущуюЗапись(Результат,Данные)
    иначе  
      ПолучитьВыделенныеИлиТекущую(Результат,СеткаВвода,Данные);
конец; 

функция ПолучитьВыбранныеДанные(ДанныеДляОбработки:целое=-1):СтатическиеДанные;
начало
  Результат := ПолучитьВыбранныеДанныеРасш(ДанныеДляОбработки,1,0);
конец;

функция ОткрытьЗаголовкиНаФорме;
переменные
  Ф     : ФормаВвода;
  Заголовки     : СтатическиеДанные;
  ИндексСтроки  : ЦЕЛОЕ;
начало
  Ф := ПолучитьФормуВвода();
  если Ф.ЕстьИзменения тогда
    если (Сообщение("В форме ввода присутсвуют несохраненные изменения. Сохранить?", Сообщение_Вопрос, Результат_Да+Результат_Нет)=Результат_Да) тогда
      Ф.СохранитьИзменения()
    иначе Ф.ОтменитьИзменения();
  Заголовки := Ф.Заголовки.Таблица;
  ИндексСтроки := 0;
  если (Заголовки.ЧислоЗаписей &lt;&gt; 0) тогда
    ИндексСтроки := Заголовки.Поле("ID").КакЦелое;
  Ф.Заголовки.Открыть();
  попытка
    Заголовки.DisableControls();
    если (ИндексСтроки &lt;&gt; 0) тогда
      Заголовки.Локализовать("ID", ИндексСтроки, 0);        
  обязательно
    Заголовки.EnableControls();  
  конец;  
конец;
</value>
    <param value="ПоддержкаФормВвода" type="3" name="Export">NEWBURDELNY\burdelny\24.08.2008 22:35:35</param>
    <param value="ПоддержкаФормВвода" type="3" name="version">36.042.21</param>
    <param value="ПоддержкаФормВвода" type="3" name="crc32">$B797D532</param>
  </node>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="ПоддержкаМО.abl">//-------------------------------------------------------------------------------
//Модуль устарел, чтобы не вызвать ошибок старых макросов весь код закомментирован
//Модуль включен в версию 6.09, дальше из версии его можно удалить
//-------------------------------------------------------------------------------

включить '\Библиотеки\LibRu.lib';
//включить '\Библиотеки\Forms.lib';
включить '\Библиотеки\Reports.lib';
//включить '\Библиотеки\Statics.lib';
//включить '\Библиотеки\Documents.lib';
//включить '\Библиотеки\Control.lib';              

константы
  nl = #13#10;
  cCONSFACTSUMMA = 'CONSFACTSUMMA_R';
  cFACTSUMMA = 'FACTSUMMA_R';
  cREGIONFACTSUMMA = 'REGIONFACTSUMMA_R';
  cCONSYEARSUMMA = 'CONSYEARSUMMA_R'; 
  cYEARSUMMA = 'YEARSUMMA_R';
  cREGIONYEARSUMMA = 'REGIONYEARSUMMA_R';
  cCONSPLANSUMMA = 'CONSPLANSUMMA_R';
  cPLANSUMMA = 'PLANSUMMA_R';
  cREGIONPLANSUMMA = 'REGIONPLANSUMMA_R';
  КонсПриложение = 'Приложение';
  КонсСтраница = 'Страница';

// 0 - полная факт
// 1 - справочная
// 2 - полная план

функция КодАктивныхПравил: Целое;
/*переменные
  В: Выборка;*/
начало
/*  В := СоздатьВыборку;
  попытка
    СоединитьБД(В);
    В.Запрос := "select ID " + nl + 
                "from Consolidation02RulesCaption where ActiveRules = 1";
    В.Открыть;
    результат := В.GetField(0).КакЦелое;            
  обязательно
    УдалитьОбъект(В);
  конец;*/  
конец;

функция ЛинейныеПравила(Номер, Страница, Приложение: Целое);
/*переменные
  Правила: СтатическиеДанные;
  Запрос, Ключи: строка;
  ИндексыДанных : целое;*/
начало
/*  Выбрать Страница из
    1: ИндексыДанных := 181;
    2: ИндексыДанных := 182;
    3: ИндексыДанных := 183;
    4: ИндексыДанных := 182;
  иначе
    ИндексыДанных := 0;
  конец;
  если (ИндексыДанных &lt;&gt; 0) тогда
    начало
      если (Приложение = 1) 
        тогда Ключи := СтроковаяКонстанта(150, 150)
        иначе Ключи := СтроковаяКонстанта(150, 160);
      Правила := СоздатьСтатическиеДанные;
      Правила.СоединитьБД;
      Запрос := 'select KL KL, KST KST, SIMBOL SIMBOL, KBK KBK, KBK2 KBK2, ' + nl +
                       'STRCODE STRCODE, NUM NUM, IND IND, SECTION SECTION ' + nl +
                'from Consolidation02Rules ' + nl +
                'where (RecordIndex = ' + ЦелоеВСтроку(КодАктивныхПравил) + ')' + nl +
                       ' and ' + nl +
                       '(ProgIndex = ' + ЦелоеВСтроку(ИндексыДанных) +')';
      Правила.Запрос := Формат("[PUMPDATA]{%s}", Запрос);
      Правила.Открыть;
//      DropRowRules(Правила, 'NUM', 'IND', Ключи);
      CrossForm.LoadLRules(Номер, Правила, 'NUM', 'IND', 'SIMBOL', Ключи);
      Правила.Закрыть;
    конец;*/  
конец;

функция ПроверитьСуммы(Данные: СтатическиеДанные): строка;
/*переменные
  Мап : строка;
  Ном : целое;*/
начало
/*  результат := '';
  Мап := '';
  если Данные.CheckField(cCONSFACTSUMMA) тогда
    начало 
      результат := cCONSFACTSUMMA + '=SUM(' + cCONSFACTSUMMA + ');';
      Мап := cCONSFACTSUMMA + '=0,';
    конец;  
  если Данные.CheckField(cFACTSUMMA) тогда
    начало
      результат := результат + cFACTSUMMA + '=SUM(' + cFACTSUMMA + ');';
      Мап := Мап + cFACTSUMMA + '=0,';
    конец;  
  если Данные.CheckField(cREGIONFACTSUMMA) тогда
    начало
      результат := результат + cREGIONFACTSUMMA + '=SUM(' + cREGIONFACTSUMMA + ');';
      Мап := Мап + cREGIONFACTSUMMA + '=0,';
    конец;  
  если Данные.CheckField(cCONSYEARSUMMA) тогда
    начало
      результат := результат + cCONSYEARSUMMA + '=SUM(' + cCONSYEARSUMMA + ');';
      Мап := Мап + cCONSYEARSUMMA + '=0,';
    конец;  
  если Данные.CheckField(cYEARSUMMA) тогда
    начало
      результат := результат + cYEARSUMMA + '=SUM(' + cYEARSUMMA + ');';
      Мап := Мап + cYEARSUMMA + '=0,';
    конец;  
  если Данные.CheckField(cREGIONYEARSUMMA) тогда
    начало
      результат := результат + cREGIONYEARSUMMA + '=SUM(' + cREGIONYEARSUMMA + ');';
      Мап := Мап + cREGIONYEARSUMMA + '=0,';
    конец;  
  если Данные.CheckField(cCONSPLANSUMMA) тогда
    начало
      результат := результат + cCONSPLANSUMMA + '=SUM(' + cCONSPLANSUMMA + ');';
      Мап := Мап + cCONSPLANSUMMA + '=0,';
    конец;  
  если Данные.CheckField(cPLANSUMMA) тогда
    начало
      результат := результат + cPLANSUMMA + '=SUM(' + cPLANSUMMA + ');';
      Мап := Мап + cPLANSUMMA + '=0,';
    конец;  
  если Данные.CheckField(cREGIONPLANSUMMA) тогда
    начало
      результат := результат + cREGIONPLANSUMMA + '=SUM(' + cREGIONPLANSUMMA + ');';
      Мап := Мап + cREGIONPLANSUMMA + '=0,';
    конец;  
  если (результат &lt;&gt; '') тогда
    начало
      Мап := Подстрока(Мап, 1, Длина(Мап) - 1);
      Ном := Данные.RecNo;
      InstallData(Данные, Мап);
      Данные.RecNo := Ном;
    конец;*/
конец;

функция ЗапросСуммы(Ид, База, Индекс: целое): строка;
//переменные PI : строка;
начало
/*  PI := ЦелоеВСтроку(База + Индекс);
  результат := 
  'select SHAPEINDEX SHAPEINDEX,' + nl +
         'CONSFACTSUMMA ' + cCONSFACTSUMMA + ',' + nl + 
         'FACTSUMMA ' + cFACTSUMMA + ',' + nl +
         'REGIONFACTSUMMA ' + cREGIONFACTSUMMA + ',' + nl +
         'CONSYEARSUMMA ' + cCONSYEARSUMMA + ',' + nl +
         'YEARSUMMA ' + cYEARSUMMA + ',' + nl + 
         'REGIONYEARSUMMA ' + cREGIONYEARSUMMA + ',' + nl +
         'CONSPLANSUMMA ' + cCONSPLANSUMMA + ',' + nl +  
         'PLANSUMMA ' + cPLANSUMMA + ',' + nl +
         'REGIONPLANSUMMA ' + cREGIONPLANSUMMA + nl +
  'from CONSOLIDATION02DETAIL ' + nl + 
  'where (RECORDINDEX=' + ЦелоеВСтроку(Ид) + ')' + nl +
         ' and ' + nl +
         '(PROGINDEX=' + PI + ')';*/
конец;
  
функция ПолучитьИндекс(Страницы: ITemplates; Приложение, Пропустить: целое): целое;
/*переменные
  сч, _Приложение : ЦЕЛОЕ;*/
начало
/*  результат := -1;
  от сч:=0 до Страницы.Count-1 делать
    если (сч &lt;&gt; Пропустить) тогда
      начало
        _Приложение := Страницы.Items(сч).Variables.Values(КонсПриложение);
        если (_Приложение = Приложение) тогда
          начало
            результат := Страницы.Items(сч).Variables.Values(КонсСтраница);
            прервать;
          конец;
      конец;*/
конец;
  
функция ДополнительныеСуммы(Ид, База: целое);
/*переменные
  Данные, ДляЧтения : СтатическиеДанные;
  Гриды : IStaticSets;
  сч, Приложение, Страница : ЦЕЛОЕ;
  Страницы : ITemplates;
  ti : ITableInfoX;
  Запрос, Груп, Ссылка : строка;*/
начало
/*  Гриды := CrossForm.Grids;
  Страницы := CrossForm.Template;
  от сч:=0 до Гриды.PageCount-1 делать
    начало
      Данные := Гриды.DataSets(сч);
      Приложение := Страницы.Items(сч).Variables.Values(КонсПриложение);
      Страница := ПолучитьИндекс(Страницы, Приложение, сч);
      если (0 &lt;= Страница) тогда
        начало
          Груп := ПроверитьСуммы(Данные);
          если (Груп &lt;&gt; '') тогда
            начало
              ДляЧтения := СоздатьСтатическиеДанные;
              ДляЧтения.СоединитьБД;
              Запрос := ЗапросСуммы(Ид, База, Страница);
//              Запрос := SqlOptim(Запрос, Страницы.Items(сч).TableInfo.FormatFields('%fld', ',', -1), '@');
              ДляЧтения.Запрос := '[PUMPDATA] {' + Запрос + '}';
              ДляЧтения.Открыть;
              ti := Страницы.Items(сч).TableInfo;
              Ссылка := ti.Columns(ti.FindColumnByAlias('SHAPEINDEX')).FieldName;
              Груп := 'Keys=' + Ссылка + ';' + Ссылка + '=SHAPEINDEX;' + Груп + 'default=false;insert=false';
              Данные.GroupData(ДляЧтения, Груп);
            конец;
        конец;    
    конец;*/
конец;
  
функция ЗапросШаблона(Шаблон, Приложение: целое): строка;
/*переменные
  Индекс : строка;*/
начало
/*  если (Приложение = 1)
    тогда Индекс := '171'
    иначе Индекс := '172'; 
  результат := 
    'select' + nl +
    ' ID SHAPEINDEX, NUM NUM, NAME NAME, KBK KBK, KBK2 KBK2, STRCODE STRCODE,' + nl +
    ' SECTION SECTION, FLAG FLAG, FONTTYPE FONTTYPE, SPECIALCOLUMN SPECIALCOLUMN,' + nl +
    ' KL KL, KST KST, KCSR KCSR, KVR KVR, RowMask RowMask ' + nl +
    'from' + nl +
    ' REPORTSHAPEDETAIL' + nl +
    'where' + nl +
    ' (RECORDINDEX = ' + ЦелоеВСтроку(Шаблон) + ')' + nl +
    ' and ' + nl +
    ' (PROGINDEX = ' + Индекс + ')';*/
конец;

функция ПостроитьДетализацию(ИдОтчет, ИдШаблон, База, Права: целое; Шаблон, Заголовок: строка; 
                            Параметры: IVariables);
/*переменные
  ПутьКШаблонам, ОбщееОгр, ОгрШаблон, Запрос, Поля, ШаблонПечатногоДокумента, Ссылка, ИмяФайла: СТРОКА;
  Страницы : ITemplates;
  Страница : ITemplate;
  Раскладка : ITableInfoX;
  Колонка: IColumnInfoX;
  Гриды : IStaticSets;
  ИД, сч, Правила, ИдПравил, ОтчетВРублях, КолСч: ЦЕЛОЕ;
  ДанныеПолная, ДанныеСправочная, ДанныеШаблона, Данные : СтатическиеДанные;
  ПараметрыСтраницы: IVariables;
  Прогресс : IProgress; 
  Закладки: IVariables;*/
начало
/*  ПутьКШаблонам := СтроковаяКонстанта(13, 19);
  Шаблон := ПутьКШаблонам + Шаблон;
  ИДПравил := КодАктивныхПравил;
//  Гриды := CrossForm.Grids;
  попытка
    Страницы := CrossForm.Template;
    если (Страницы = nil) тогда
      начало
        ИД := ИдШаблон - 1;
        Правила := ИдПравил - 1;
      конец 
    иначе
      начало
        Правила := Страницы.Options.Values("RulesID");
        если (Страницы.Options.Values('База') &lt;&gt; База) или (Страницы.Options.Values('Шаблон') &lt;&gt; Шаблон) 
          тогда ИД := ИдШаблон - 1
          иначе ИД := Страницы.Options.Values('ID');  
      конец;    
    
    если (ИД &lt;&gt; ИдШаблон) или (ИдПравил &lt;&gt; Правила) тогда
      начало
        CrossForm.Clear;
        если (Страницы &lt;&gt; nil) тогда Интерфейс(Страницы).Освободить;
        Прогресс := Progress;
        если (Прогресс &lt;&gt; nil) тогда
          начало
            Прогресс.BeginProgress;
            Прогресс.SetMessage('Загрузка шаблона');
            Прогресс.SetProgress(0);
          конец;
        попытка
          ОтчетВРублях := Прописные(СтроковаяКонстанта(150, 260)) = "ДА";
          если База = 150 и ОтчетВРублях тогда
            начало
              Страницы := CreateTemplates;
              Страницы.Reading := -1;
              Страницы.Load(Шаблон);
              
              от сч := 0 до Страницы.Count-1 делать
                начало
                  Страница := Страницы.Items(сч);
                  Раскладка := Страница.TableInfo;
                  
                  От КолСч  := 0 до Раскладка.Count - 1 делать
                    начало
                      Колонка := Раскладка.Columns(КолСч);
                      если Колонка.Group = grpSum тогда
                        Колонка.Identifier := "сумма"
                    конец;                  
                конец;
              CrossForm.Template := Страницы;
              Страницы := CrossForm.Template;
            конец    
            иначе Страницы := CrossForm.LoadFromFile(Шаблон);
          Страницы.Options.Values('ID') := ИдШаблон;
          Страницы.Options.Values('RulesID') := ИдПравил;
          ДанныеПолная := СоздатьСтатическиеДанные;
          ДанныеСправочная := СоздатьСтатическиеДанные;
          ДанныеПолная.СоединитьБД;
          ДанныеСправочная.СоединитьБД;
          Запрос := ЗапросШаблона(ИдШаблон, 1);
          ДанныеПолная.BlobPageSize := 1024;
          ДанныеПолная.Запрос := "[PUMPDATA] {" + Запрос + "}";
          ДанныеПолная.Открыть;
          если (Прогресс &lt;&gt; nil) тогда Прогресс.SetProgress(33);
          Запрос := ЗапросШаблона(ИдШаблон, 2);
          ДанныеСправочная.BlobPageSize := 1024;
          ДанныеСправочная.Запрос := "[PUMPDATA] {" + Запрос + "}";
          ДанныеСправочная.Открыть;
          если (Прогресс &lt;&gt; nil) тогда Прогресс.SetProgress(66);
          от сч := 0 до Страницы.Count-1 делать
            начало
              Страница := Страницы.Items(сч);
              Раскладка := Страница.TableInfo;
              ИД := Страница.Variables.Values(КонсПриложение);
              ДанныеШаблона := Гриды.StaticSets(сч);
              ДанныеШаблона.Закрыть;
              ДанныеШаблона.Открыть;
              Ссылка := Раскладка.Columns(Раскладка.FindColumnByAlias('SHAPEINDEX')).FieldName;
              Поля := Ссылка + '=SHAPEINDEX' + Раскладка.FormatFields(',%fld=%fld', '', ecfMinus + ecfPriorSort + ecfPriorGroup);
              если ИД = 1 тогда 
              начало
                Поля := FixPumpMap(Поля, ДанныеШаблона);
                ДанныеШаблона.PumpData(ДанныеПолная, Поля);
              конец иначе 
              начало
                Поля := FixPumpMap(Поля, ДанныеШаблона);
                ДанныеШаблона.PumpData(ДанныеСправочная, Поля);
              конец;  
              ДанныеШаблона.DisableControls;
              попытка
                ДанныеШаблона.IndexFieldNames := ДанныеШаблона.IndexFieldNames;
                CalcDataSet(ДанныеШаблона, Раскладка, Mapper, nil, Страница.Variables, ecfPriorGroup);
                ДанныеШаблона.ВНачало;
                ЛинейныеПравила(сч, Страница.Variables.Values(КонсСтраница), Страница.Variables.Values(КонсПриложение));
              обязательно
                ДанныеШаблона.EnableControls;
              конец;  
              если (Прогресс &lt;&gt; nil) тогда Прогресс.SetProgress(66 + ((сч * 34) / Страницы.Count));
            конец;
          если (Прогресс &lt;&gt; nil) тогда Прогресс.SetProgress(100);
          ДанныеПолная.Закрыть;  
          ДанныеСправочная.Закрыть;
          УдалитьОбъект(ДанныеПолная, ДанныеСправочная);
        обязательно
          если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
        конец;    
      конец;
  неудача
    CrossForm.Clear;
    ошибка;  
  конец;
  Закладки := CreateVariables;
  попытка
    от сч:=0 до Страницы.Count-1 делать
      начало
        ДанныеШаблона := Гриды.StaticSets(сч);
        ДанныеШаблона.DisableControls;
      конец;
      
    от сч := 0 до Страницы.Count - 1 делать
      начало
        Страница := Страницы.Items(сч);
        Раскладка := Страница.TableInfo;
        ДанныеШаблона := Гриды.StaticSets(сч);
        Закладки.Значение("Фильтровать" + ЦелоеВСтроку(Сч)) := ДанныеШаблона.Filtered;
        ДанныеШаблона.Filtered := нет;
        Закладки.Значение("НомерЗаписи" + ЦелоеВСтроку(Сч)) := ДанныеШаблона.RecNo;
        Закладки.Значение("Закладка" + ЦелоеВСтроку(Сч)) := Гриды.ActiveRecord(Сч);
      конец;
  
    ДополнительныеСуммы(ИдОтчет, База);
    
    от сч := 0 до Страницы.Count-1 делать
      начало
        Страница := Страницы.Items(сч);
        Раскладка := Страница.TableInfo;
        ДанныеШаблона := Гриды.StaticSets(сч);
        CalcDataSet(ДанныеШаблона, Раскладка, Mapper, nil, Страница.Variables, ecfPriorSort);
        ДанныеШаблона.RecNo := Закладки.Значение("НомерЗаписи" + ЦелоеВСтроку(Сч));
        Гриды.ActiveRecord(Сч) := Закладки.Значение("Закладка" + ЦелоеВСтроку(Сч));
        ДанныеШаблона.Filtered := Закладки.Значение("Фильтровать" + ЦелоеВСтроку(Сч));
      конец;
  обязательно
    от сч:=0 до Страницы.Count-1 делать
      начало
        ДанныеШаблона := Гриды.StaticSets(сч);
        ДанныеШаблона.EnableControls;
      конец;
    УдалитьОбъект(Закладки);
  конец;
  CrossForm.Caption := Заголовок;
  ОбщееОгр := 'RECORDINDEX=' + ЦелоеВСтроку(ИдОтчет) + ',';
  Страницы := CrossForm.Template;
  от сч:=0 до Страницы.Count-1 делать
    начало
      Страница := Страницы.Items(сч);
      Раскладка := Страница.TableInfo;
      Данные := СоздатьСтатическиеДанные;
      Данные.СоединитьБД;
      ИД := Страница.Variables.Values(КонсСтраница);
      ОгрШаблон := УбратьПробелы(Страница.Variables.Values('Ограничения'));
      если (ОгрШаблон = '')
        тогда ОгрШаблон := ОбщееОгр  
        иначе ОгрШаблон := ОбщееОгр + ОгрШаблон + ',';
      ОгрШаблон := ОгрШаблон + 'PROGINDEX=' + ЦелоеВСтроку(База + Ид);  
      GenDetailSQL(Данные, Раскладка, 'ID', 'CONSOLIDATION02DETAIL', ОгрШаблон, '@');
      Данные.Открыть;
      CrossForm.Statics(сч) := Данные;
      ПараметрыСтраницы := Гриды.Variables(сч);
      ПараметрыСтраницы.Clear;
      ПараметрыСтраницы.SetValues(Параметры, 0);
      ИД := Страница.Variables.Values(КонсСтраница);
      если (ИД = 1) или (ИД = 2) тогда
        начало
          если (БитИ(Права, 1) = 0)
            тогда ИД := tdsDisableGroup + tdsReadOnly
            иначе ИД := tdsDisableGroup;
        конец иначе
        начало
          если (БитИ(Права, 2) = 0)
            тогда ИД := tdsDisableGroup + tdsReadOnly
            иначе ИД := tdsDisableGroup;
        конец;
      Гриды.SetDuty(сч, ИД);
    конец;

  Страницы.Options.Values('База') := База;
  Страницы.Options.Values('Шаблон') := Шаблон;
    
  если База = 150
    тогда ШаблонПечатногоДокумента := СтроковаяКонстанта(150, 190)
    иначе ШаблонПечатногоДокумента := СтроковаяКонстанта(150, 200);
  если ШаблонПечатногоДокумента = "" тогда
    ШаблонПечатногоДокумента := 'МесячныйОтчет.xls';
  CrossForm.Document := ПутьКШаблонам + ШаблонПечатногоДокумента;*/
конец;

функция НаименованиеАктивныхПравил: строка;
/*  переменные
    Данные: СтатическиеДанные;*/
начало
/*  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;
    Данные.Запрос := '[PUMPDATA]' +
                     '{select Note from CONSOLIDATION02RULESCAPTION ' +
                     ' where '
                     '  (ACTIVERULES = 1)}';
    Данные.Открыть;
    результат := Данные.GetField(0).КакСтрока;                 
  обязательно
    УдалитьОбъект(Данные);
  конец;*/
конец;
</value>
    <param value="ПоддержкаМО.abl" type="3" name="Export">ZIMIN\zimin\06.09.2007 16:18:56</param>
    <param value="ПоддержкаМО.abl" type="3" name="version">36.042.21</param>
    <param value="ПоддержкаМО.abl" type="3" name="crc32">$6B729EF2</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоказСвязей">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Hypertext.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить 'Бюджет\Объекты\Отчеты\Скрипты\События\ФормированиеГиперДокумент';

ПоказСвязей(Коллекция : IVariables; Заголовок: строка);

функция ПоказатьДокументы(Параметры: IVariables; Заголовок: строка);
переменные
  Связи, ГиперДанные, ГиперЗаголовок: СтатическиеДанные;
  КоллекцияОграничений, ПараметрыВыводаДеталь: IVariables;
  сч: целое;
  ФормаГиперТекста : IHyperForm;
  ВизуализаторДетали : IUniViewer;  
  РаскладкаДетали : ITableInfoX;
  ЗаголовокФормы: строка;
начало
  попытка
    КоллекцияОграничений := CreateVariables;
    попытка
      // формируем данные детализации
      ФормаГиперТекста := HyperTextForm;
      ФормаГиперТекста.Clear;
      КоллекцияОграничений.Значение("ПечатныйДокумент") := да;
      от Сч := 0 до Параметры.Count - 1 делать 
      начало
        если (Параметры.IndexValues(сч) &lt;&gt; '0')и(Параметры.IndexValues(сч) &lt;&gt; '-1') тогда
        начало
          // инициализируем визуализатор
          ИнициализироватьВизуализаторДетали(ФормаГиперТекста, ВизуализаторДетали, Параметры.Names(сч), "");
          // изменяем раскладку детали
          РаскладкаДетали := ВизуализаторДетали.GetTable;
          // фильтры убираем (по идее нужных колонок может и не быть)
          РаскладкаДетали.Filter := '';
          РаскладкаДетали.PreFilter := '';
          // добавляем к раскладке нужные колонки
          РаскладкаДетали := ДобавитьГиперКолонкиВРаскладку(РаскладкаДетали, Нет);
          КоллекцияОграничений.Значение("КодДокумента") := '';
          КоллекцияОграничений.Значение("КодЗаписи") := '';
          если Параметры.Значение("Документ" + Параметры.Names(сч)) = "-1" тогда
            КоллекцияОграничений.Значение("КодДокумента") := Параметры.IndexValues(сч)
          иначе  
            КоллекцияОграничений.Значение("КодЗаписи") := Параметры.IndexValues(сч);
          //формируем данные 
          СформироватьГиперДанные('', ВизуализаторДетали, РаскладкаДетали, КоллекцияОграничений, ГиперДанные, ГиперЗаголовок, nil);
          // делаем все колонки только для чтения
          СделатьВсеКолонкиРаскладкиДляЧтения(РаскладкаДетали);
          // выводим данные для каждого алгоритма отдельно                   
          ВывестиДанные(ВизуализаторДетали, nil, РаскладкаДетали, ПараметрыВыводаДеталь, КоллекцияОграничений,
                        ГиперДанные, ГиперЗаголовок, да);
        конец;               
      конец; 
      ФормаГиперТекста.MainSSVieverVisible := нет;       
      ЗаголовокФормы := ФормаГиперТекста.Caption;
      попытка
        ФормаГиперТекста.Caption := Заголовок;
        ФормаГиперТекста.ShowModalHyperText;
      обязательно
        ФормаГиперТекста.Clear;
        ФормаГиперТекста.MainSSVieverVisible := да;
        ФормаГиперТекста.Caption := ЗаголовокФормы;
      конец;         
    обязательно
      УдалитьОбъект(КоллекцияОграничений);    
    конец;
  обязательно
    УдалитьОбъект(Связи);
  конец;
конец;

начало
  ПоказатьДокументы(Коллекция, Заголовок);
конец;
</value>
    <param value="ПоказСвязей" type="3" name="version">36.042.21</param>
    <param value="ПоказСвязей" type="3" name="crc32">$10ED8B3F</param>
  </node>
  <version_info>
    <file>Сборка(02)Плановые документы_Контроль.xml</file>
    <version>36.193.91</version>
    <info>&lt;p&gt;контроли блока бюджетных данных&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:05</buildtime>
  </version_info>
  <description>Бюджетный контроль</description>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_Роспись">//******************************************************************************************************
// Макрос управления для контроля уведомлений 
// Автор: Бурдельный Р.В.
// Дата : 31.12.2002
//******************************************************************************************************
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_Роспись(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;

функция ПолучитьКартуПолей: IVariables;
переменные
  Инд: целое;
  МаппингСумм, ЗапросСумм, Стр : строка;
начало
  МаппингСумм := "";
  ЗапросСумм := '';  
  от инд := 1 до 12 делать//сумма месячной росписи
  начало
    Стр := 'Month' + ПравоеВыравнивание(ЦелоеВСтроку(инд), 2, "0");
    МаппингСумм := МаппингСумм + 'СуммаМесяц' + ПравоеВыравнивание(ЦелоеВСтроку(инд), 2, "0") + '=' + Стр + ',';
    ЗапросСумм := ЗапросСумм + 'd.' + Стр + ' ' + Стр + ',';
  конец;
  от инд := 1 до 4 делать//сумма квартальной росписи
  начало
    Стр := 'Quarter' + ЦелоеВСтроку(инд);
    МаппингСумм := МаппингСумм + 'СуммаКвартал' + ЦелоеВСтроку(инд) + '=' + Стр + ',';
    ЗапросСумм := ЗапросСумм + 'd.' + Стр + ' ' + Стр + ','
  конец;
  МаппингСумм := ПодСтрока(МаппингСумм, 1, Длина(МаппингСумм) - 1);
  ЗапросСумм[Длина(ЗапросСумм)] := ' ';
  МаппингСумм := МаппингСумм + ",ПроверяемаяСуммаНаГод=OnYearQuart,ПроверяемаяСуммаМесНаГод=OnYearMonth," +
    "СуммаНаПервыйГод=SUMMAYEAR1,СуммаНаВторойГод=SUMMAYEAR2,СуммаНаТретийГод=SUMMAYEAR3";
  ЗапросСумм := ЗапросСумм + ", (d.quarter1 + d.quarter2 + d.quarter3 + d.quarter4) OnYearQuart," +
    " (d.month01 + d.month02 + d.month03 + d.month04 + d.month05 + d.month06 +" +
    "  d.month07 + d.month08 + d.month09 + d.month10 + d.month11 + d.month12) OnYearMonth," +
    " D.SUMMAYEAR1, D.SUMMAYEAR2, D.SUMMAYEAR3";

  результат := ПустаяКартаПолей();
  //кТипДокументаВКонтроле теперь определяется через параметр ПараметрыКонтроля.Values(кТипДокументаВКонтроле),
  //который передает код документа (интерфейса)
  результат.Values(кТипДокументаВКонтроле) := ПараметрыКонтроля.Values(кТипДокументаВКонтроле);
  если СтрокаВЦелое(результат.Values(кТипДокументаВКонтроле)) &lt;= 0 тогда 
    результат.Values(кТипДокументаВКонтроле) := 201;  
  результат.Values(кСсылкаНаМодуль) := Adapter;  
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляСуммы) := МаппингСумм;
  результат.Values(кЛогСуммы) := '';
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,ВариантРосписи,КодБюджета';  
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := Строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачальноеСостояниеДокумента";
  результат.Values(кПроверкаПоРаскладке) := "ЛицевойСчет=ЛицСчет";
  результат.Values(кПоляЗаголовкаСостояний) := "Организация=DESTOrgRef";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := "ТипБюджета=Type,НачальноеСостояниеДокумента=BeginDocStateRef";
  результат.Values(кКлассификаторы) := "ТипКлассификации=CLSType,ОрганизацияГлавныйРаспорядитель=OrgGRBS," +
    "ИсточникВнутрФинансирования=IFS_FinSourceValue,КодДохода=KDValue,ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType," +
    "КодБюджАссигнования=BudAllocationClsCode,КодРасходногоОбязательства=PayPromiseClsCode";
  результат.Values(кЗапрос) :=
    'SELECT d.ID, d.RecordIndex, d.ProgIndex, d.FacialAcc_CLS, d.KFSR, d.KVSR, tKvsr.Code KVSRCode, d.KCSR, tKcsr.Code KCSRCode,' +
    '  d.KVR, tKvr.Code KVRCode, d.KESR, d.SubKESR, d.MeansType, d.REGIONCLS, d.Fact, d.FinType, d.DIRECTIONCLS,' +
    '  d.ASSIGNMENTKIND, d.BuhOperationCls, d.IFS, d.KD, d.SubKD, d.Org_Ref, d.Note, d.UnionNotifyRef, d.ClsType,' +
    '  ifs_t.FinSourceValue IFS_FinSourceValue, kd.KDValue, org_RBS.GENERALORG_REF OrgGRBS, mt.ActivityKind, mt.ActivityType,' +
    '  d.TransfertCls, tc.Code TransfertClsCode, d.SubsidyCls, tSubs.Code SubsidyClsCode,' +
    '  d.BudAllocationCls, tBudAl.Code BudAllocationClsCode, d.PayPromiseCls, tPr.Code PayPromiseClsCode,' +
    '  d.TransfertOrg_Ref,' +
    ЗапросСумм + 
    ' FROM  BudgetData d' +
    '  left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)' + 
    '  left join KD on (kd.ID = d.KD)' +
    '  left join TransfertCLS tc on (tc.ID = d.TransfertCls)' +      
    '  left join MeansType mt on (mt.ID = d.MeansType) ' +
    '  left join KVSR tKvsr on (tKvsr.id = d.KVSR) ' +
    '  left join KCSR tKcsr on (tKcsr.id = d.KCSR) ' +
    '  left join KVR tKvr on (tKvr.id = d.KVR) ' +
    '  left join SubsidyCls tSubs on (tSubs.ID = d.SubsidyCls)' +      
    '  left join BudAllocationCls tBudAl on (tBudAl.ID = d.BudAllocationCls)' +
    '  left join PayPromiseCls tPr on (tPr.ID = d.PayPromiseCls)' +
    '  left join Organizations org on (org.id = d.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    ' WHERE (d.RecordIndex in (@MasterID)) and (d.ProgIndex &lt;&gt; 253)';
  результат.Values(кЗапросЗаголовка) :=
    'SELECT distinct c.ID, c.BudgetRef, c.AType Type, c.Variant, c.ANumber Number, c.Dat, c.DateInput, c.FacialAccCls,' +
    '  c.OrgRef, c.DocStateRef, c.DocBase, c.DocNumber, c.DocDat, c.Note, c.Note1, c.Note2, c.NotifyType, c.PlanDocType,' +
    '  c.ASSIGNMENTSOURCE, c.REJECTCLS, c.REJECTNOTE RejectCause, c.BA_LBO_FLAG, cast(null as Integer) BeginDocStateRef' +
    ' FROM BudNotify c' +
    ' WHERE (c.ID in (@MasterID))';   
конец; 
//устанавливаются ограничения на выбираемые остатки:
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  СписокВариантов: Текст;
  ИндексКолонки, Год, Месяц, День, Квартал: целое;
  КонДата: строка;
  Макс: целое;
  Данные, Заголовок: СтатическиеДанные;   
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК с интерфейса мы должны проанализировать дату принятия;
  // для БК из системы состояний устанавливается текущая дата или дата принятия, если выполняется принятие документа; 
  // для возможности перекрытия стандартно сформированной конечной даты контроля, добавлен параметр КонечнаяДатаКонтроля,
  // который пердполагается задавать в сценариях; перекрывает п-р КонечнаяДата для всех последующих контролей "одного общего вызова" 
  если УбратьПробелы(Ограничения.Значение(кКонечнаяДатаКонтроля)) &lt;&gt; "" тогда            
      Ограничения.Values("КонечнаяДата") := УбратьПробелы(Ограничения.Значение(кКонечнаяДатаКонтроля))
  иначе
    начало 
      если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда
      начало
        КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
        если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
          Ограничения.Values("КонечнаяДата") := КонДата;
      конец;    
      // если в начале года проверяют роспись предыдущего года, а конечная дата определилась как дата нового года, то
      // тек. квартал и тек. месяц определится как 1 и январь соответственно, а нам надо по декабрь,
      // поэтому, если год в константе меньше года конечной даты, то будем считать, что конечная дата - 31 декабря предыдущего года  
      если ЦелаяКонстанта(-1, 73) &lt; СтрокаВЦелое(Подстрока(Ограничения.Values("КонечнаяДата"), 7, 4)) тогда
        Ограничения.Values("КонечнаяДата") := "31.12." + ЦелоеВСтроку(ЦелаяКонстанта(-1, 73));    
    конец;    
  КонДата := Ограничения.Values("КонечнаяДата");
  ПолучитьДату(СтрокаВДату(КонДата), Год, Месяц, День);
  Квартал := (Месяц + 2) цел 3;
  Ограничения.Values("ТекущийКвартал") := Квартал;
  Ограничения.Values("ТекущийМесяц") := Месяц;
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
      // Использовать GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') плохо, потому что
      // состояние, находящееся перед тем, которое должно учитываться в контролях, тоже должно быть пронумеровано,
      // чтобы при контроле НЕ ИЗ системы состояний (когда документ будет еще в своем начальном состоянии)
      // по нему наложилось ограничение строго "&gt;";
      // а поскольку появляется еще пронумерованный уровень состояния, которое уже не должно учитываться в контролях,
      // то при контроле ИЗ системы состояний в переходе "пустой уровень" - "пронумерованный неучитываемый уровень"
      // функция GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') учтет неучитывемый уровень,
      // и тогда результат контроля ИЗ системы состояний будет отличаться от контроля с интерфейса
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачальноеСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // выбираемый максимальный номер Варианта росписи в проверяемых документах
  ОграничитьПоНаборуДанных(Ограничения, Шаблон, Заголовок, "ВариантРосписи", "ВариантРосписи");
  СписокВариантов := СоздатьТекст();
  попытка
    Макс := 0;  
    СписокВариантов.РазделенноеЗначение(",") := Ограничения.Values("ВариантРосписи");
    если СписокВариантов.Количество &gt; 0 тогда
    начало
      СписокВариантов.Сортировка();
      Макс := СтрокаВЦелое(СписокВариантов.Стр(СписокВариантов.Количество-1));
    конец;          
    Ограничения.Values("МаксВариант") := Макс;   
  обязательно
    УдалитьОбъект(СписокВариантов);
  конец;
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда  // если выводится или "создать для вычислений"
    начало
      Ограничения.Values("ЛицСчетЧек") := да;
      Ограничения.Values("ЛицСчет") := GetLimitStr(Данные, "ЛицевойСчет");          
    конец;
  // формируем ограничение по ГРБС организации из детали
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_Роспись := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_Роспись" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:12:24</param>
    <param value="БК_Роспись" type="3" name="version">36.193.91</param>
    <param value="БК_Роспись" type="3" name="crc32">$BEF9E346</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_ПОФВнутренниеРР">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";

БК_ПОФВнутренниеРР(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;

функция ПолучитьКартуПолей: IVariables;
переменные
  Инд: целое;
  МаппингСумм, ЗапросСумм, Стр : строка;
начало
  МаппингСумм := "";
  ЗапросСумм := '';  
  // формируем маппинг только для сумм месяцев
  от инд := 1 до 12 делать
  начало
    Стр := 'Month' + ПравоеВыравнивание(ЦелоеВСтроку(инд), 2, "0");
    МаппингСумм := МаппингСумм + 'СуммаМесяц' + ПравоеВыравнивание(ЦелоеВСтроку(инд), 2, "0") + '=' + Стр + ',';
    ЗапросСумм := ЗапросСумм + 'd.' + Стр + ' ' + Стр + ',';
  конец;
  МаппингСумм := ПодСтрока(МаппингСумм, 1, Длина(МаппингСумм) - 1);
  ЗапросСумм[Длина(ЗапросСумм)] := ' ';
  // задаем параметры для карты полей
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 210;  
  результат.Values(кНомерДетали) := 1;
  результат.Values(кНомерДеталиВОписанииПолей) := 1;
  результат.Values(кСсылкаНаМодуль) := Adapter;  
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляСуммы) := МаппингСумм;
  результат.Values(кЛогСуммы) := '';
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,ВариантРосписи,КодБюджета';  
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда // если установлена галка использования системы состояний для интерфейса
    результат.Values(кПоляОгрЗаголовка) := Строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПроверкаПоРаскладке) := "ЛицевойСчет=ЛицСчет";
  результат.Values(кПоляЗаголовкаСостояний) := "Организация=DESTOrgRef";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := "ТипБюджета=Type,НачСостояниеДокумента=BeginDocStateRef";
  результат.Values(кКлассификаторы) := "ТипКлассификации=CLSType,ОрганизацияГлавныйРаспорядитель=OrgGRBS," +
    "ИсточникВнутрФинансирования=IFS_FinSourceValue,ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType";
  результат.Values(кЗапрос) :=
    'SELECT d.ID, d.RecordIndex, d.ProgIndex, d.FacialAcc_CLS, d.KFSR, d.KVSR, tKvsr.Code KVSRCode, d.KCSR, tKcsr.Code KCSRCode,' +
    '  d.KVR, tKvr.Code KVRCode, d.KESR, d.SubKESR, d.MeansType, d.REGIONCLS, d.Fact, d.FinType, d.DIRECTIONCLS,' +
    '  d.ASSIGNMENTKIND, d.BuhOperationCls, d.IFS, d.KD, d.SubKD, d.Org_Ref, d.Note, d.UnionNotifyRef, d.ClsType,' +
    '  ifs_t.FinSourceValue IFS_FinSourceValue, org_RBS.GENERALORG_REF OrgGRBS, mt.ActivityKind, mt.ActivityType,' +
    '  d.TransfertCls, tc.Code TransfertClsCode, d.SubsidyCls, tSubs.Code SubsidyClsCode, ' + ЗапросСумм + 
    ' FROM  BudgetData d' +
    '  left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)' + 
    '  left join TransfertCLS tc on (tc.ID = d.TransfertCls)' +      
    '  left join MeansType mt on (mt.ID = d.MeansType) ' +
    '  left join KVSR tKvsr on (tKvsr.id = d.KVSR) ' +
    '  left join KCSR tKcsr on (tKcsr.id = d.KCSR) ' +
    '  left join KVR tKvr on (tKvr.id = d.KVR) ' +
    '  left join SubsidyCls tSubs on (tSubs.ID = d.SubsidyCls)' +      
    '  left join Organizations org on (org.id = d.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    ' WHERE (d.RecordIndex in (@MasterID)) and (d.ProgIndex = 253)';
  результат.Values(кЗапросЗаголовка) :=
    'SELECT distinct c.ID, c.BudgetRef, c.AType Type, c.Variant, c.ANumber Number, c.Dat, c.DateInput, c.FacialAccCls,' +
    '  c.OrgRef, c.DocStateRef, c.DocBase, c.DocNumber, c.DocDat, c.Note, c.Note1, c.Note2, c.NotifyType, c.PlanDocType,' +
    '  c.ASSIGNMENTSOURCE, c.REJECTCLS, c.REJECTNOTE RejectCause, c.BA_LBO_FLAG, cast(null as Integer) BeginDocStateRef,' +
    '  c.KPPeriod' +
    ' FROM BudNotify c' +
    ' WHERE (c.ID in (@MasterID)) and (c.ProgIndex = 252)';   
конец; 
//устанавливаются ограничения на выбираемые остатки:
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  СписокВариантов: Текст;
  ИндексКолонки, Год, Месяц, День, Квартал: целое;
  КонДата: строка;
  Макс: целое;
  Данные, Заголовок: СтатическиеДанные;   
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;    
  КонДата := Ограничения.Values("КонечнаяДата");
  ПолучитьДату(СтрокаВДату(КонДата), Год, Месяц, День);
  Квартал := (Месяц + 2) цел 3;
  Ограничения.Values("ТекущийКвартал") := Квартал;
  Ограничения.Values("ТекущийМесяц") := Месяц;
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
      // Использовать GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') плохо, потому что
      // состояние, находящееся перед тем, которое должно учитываться в контролях, тоже должно быть пронумеровано,
      // чтобы при контроле НЕ ИЗ системы состояний (когда документ будет еще в своем начальном состоянии)
      // по нему наложилось ограничение строго "&gt;";
      // а поскольку появляется еще пронумерованный уровень состояния, которое уже не должно учитываться в контролях,
      // то при контроле ИЗ системы состояний в переходе "пустой уровень" - "пронумерованный неучитываемый уровень"
      // функция GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') учтет неучитывемый уровень,
      // и тогда результат контроля ИЗ системы состояний будет отличаться от контроля с интерфейса
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // выбираемый максимальный номер Варианта росписи в проверяемых документах
  ОграничитьПоНаборуДанных(Ограничения, Шаблон, Заголовок, "ВариантРосписи", "ВариантРосписи");
  СписокВариантов := СоздатьТекст();
  попытка
    Макс := 0;  
    СписокВариантов.РазделенноеЗначение(",") := Ограничения.Values("ВариантРосписи");
    если СписокВариантов.Количество &gt; 0 тогда
    начало
      СписокВариантов.Сортировка();
      Макс := СтрокаВЦелое(СписокВариантов.Стр(СписокВариантов.Количество-1));
    конец;          
    Ограничения.Values("МаксВариант") := Макс;   
  обязательно
    УдалитьОбъект(СписокВариантов);
  конец;
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда  // если выводится или "создать для вычислений"
    начало
      Ограничения.Values("ЛицСчетЧек") := да;
      Ограничения.Values("ЛицСчет") := GetLimitStr(Данные, "ЛицевойСчет");          
    конец;
  // формируем ограничение по ГРБС организации из детали
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_ПОФВнутренниеРР := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_ПОФВнутренниеРР" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:12:16</param>
    <param value="БК_ПОФВнутренниеРР" type="3" name="version">36.193.91</param>
    <param value="БК_ПОФВнутренниеРР" type="3" name="crc32">$1F68389B</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_ПОФПодневный">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";

БК_ПОФПодневный(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;

функция ПолучитьКартуПолей: IVariables;
начало
  // задаем параметры для карты полей
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 209;  
  // для закачки с инт-са берем вторую деталь
  результат.Values(кНомерДетали) := 1;
  // для хранения детали в коллекции и для системы состояний это будет первая деталь
  результат.Values(кНомерДеталиВОписанииПолей) := 0;
  // доп. поле второй детали, в котором хранится список id первой детали, чтобы удалить пересечения вручную,
  // т.к. id второй детали инт-са = 0,1,2 и т.д.
  результат.Values(кДопКлюч) := "IDList";
  результат.Values(кСсылкаНаМодуль) := Adapter;  
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кЛогСуммы) := '';
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,ВариантРосписи,КодБюджета';  
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда // если установлена галка использования системы состояний для интерфейса
    результат.Values(кПоляОгрЗаголовка) := Строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПроверкаПоРаскладке) := "ЛицевойСчет=ЛицСчет";
  результат.Values(кПоляЗаголовкаСостояний) := "Организация=DESTOrgRef";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := "ТипБюджета=Type,НачСостояниеДокумента=BeginDocStateRef";
  результат.Values(кКлассификаторы) := "ТипКлассификации=CLSType,ОрганизацияГлавныйРаспорядитель=OrgGRBS," +
    "ИсточникВнутрФинансирования=IFS_FinSourceValue,ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType," +
    "КодБюджАссигнования=BudAllocationClsCode," +
//
    "ЛицевойСчет=FacialAcc_CLS,КВСР=KVSRCode,КФСР=KFSR,КЦСР=KCSRCode,КВР=KVRCode,КЭСР=KESR,СубКЭСР=SubKESR," +
    "ТипСредств=MeansType,Мероприятие=Fact";
  результат.Values(кЗапрос) :=
    'SELECT d.ID, d.RecordIndex, d.ProgIndex, d.FacialAcc_CLS, d.KFSR, d.KVSR, tKvsr.Code KVSRCode, d.KCSR, tKcsr.Code KCSRCode,' +
    '  d.KVR, tKvr.Code KVRCode, d.KESR, d.SubKESR, d.MeansType, d.REGIONCLS, d.Fact, d.FinType, d.DIRECTIONCLS,' +
    '  d.ASSIGNMENTKIND, d.BuhOperationCls, d.IFS, d.KD, d.SubKD, d.Org_Ref, d.Note, d.UnionNotifyRef, d.ClsType,' +
    '  ifs_t.FinSourceValue IFS_FinSourceValue, org_RBS.GENERALORG_REF OrgGRBS, mt.ActivityKind, mt.ActivityType,' +
    '  d.TransfertCls, tc.Code TransfertClsCode, d.SubsidyCls, tSubs.Code SubsidyClsCode,' +
    '  d.BudAllocationCls, tBudAl.Code BudAllocationClsCode, d.DayPlanSumma SUMMA' +
    ' FROM  BudgetData d' +
    '  left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)' + 
    '  left join TransfertCLS tc on (tc.ID = d.TransfertCls)' +      
    '  left join MeansType mt on (mt.ID = d.MeansType) ' +
    '  left join KVSR tKvsr on (tKvsr.id = d.KVSR) ' +
    '  left join KCSR tKcsr on (tKcsr.id = d.KCSR) ' +
    '  left join KVR tKvr on (tKvr.id = d.KVR) ' +
    '  left join SubsidyCls tSubs on (tSubs.ID = d.SubsidyCls)' +      
    '  left join BudAllocationCls tBudAl on (tBudAl.ID = d.BudAllocationCls)' +
    '  left join Organizations org on (org.id = d.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    ' WHERE (d.RecordIndex in (@MasterID)) and (d.ProgIndex = 274)';
  результат.Values(кЗапросЗаголовка) :=
    'SELECT distinct c.ID, c.BudgetRef, c.AType Type, c.Variant, c.ANumber Number, c.Dat, c.DateInput, c.FacialAccCls,' +
    '  c.OrgRef, c.DocStateRef, c.DocBase, c.DocNumber, c.DocDat, c.Note, c.Note1, c.Note2, c.NotifyType, c.PlanDocType,' +
    '  c.ASSIGNMENTSOURCE, c.REJECTCLS, c.REJECTNOTE RejectCause, c.BA_LBO_FLAG, cast(null as Integer) BeginDocStateRef,' +
    '  c.KPPeriod' +
    ' FROM BudNotify c' +
    ' WHERE (c.ID in (@MasterID)) and (c.ProgIndex = 274)';   
конец; 
//устанавливаются ограничения на выбираемые остатки:
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  СписокВариантов: Текст;
  ИндексКолонки, Год, Месяц, День, Квартал: целое;
  КонДата: строка;
  Макс: целое;
  Данные, Заголовок: СтатическиеДанные;   
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;    
  КонДата := Ограничения.Values("КонечнаяДата");
  ПолучитьДату(СтрокаВДату(КонДата), Год, Месяц, День);
  Квартал := (Месяц + 2) цел 3;
  Ограничения.Values("ТекущийКвартал") := Квартал;
  Ограничения.Values("ТекущийМесяц") := Месяц;
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
      // Использовать GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') плохо, потому что
      // состояние, находящееся перед тем, которое должно учитываться в контролях, тоже должно быть пронумеровано,
      // чтобы при контроле НЕ ИЗ системы состояний (когда документ будет еще в своем начальном состоянии)
      // по нему наложилось ограничение строго "&gt;";
      // а поскольку появляется еще пронумерованный уровень состояния, которое уже не должно учитываться в контролях,
      // то при контроле ИЗ системы состояний в переходе "пустой уровень" - "пронумерованный неучитываемый уровень"
      // функция GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') учтет неучитывемый уровень,
      // и тогда результат контроля ИЗ системы состояний будет отличаться от контроля с интерфейса
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // выбираемый максимальный номер Варианта росписи в проверяемых документах
  ОграничитьПоВариантуРосписиУРМ(Ограничения, Шаблон, "ВариантКонтроля");
  ОграничитьПоНаборуДанных(Ограничения, Шаблон, Заголовок, "ВариантРосписи", "ВариантРосписи");
  СписокВариантов := СоздатьТекст();
  попытка
    Макс := 0;  
    СписокВариантов.РазделенноеЗначение(",") := Ограничения.Values("ВариантРосписи");
    если СписокВариантов.Количество &gt; 0 тогда
    начало
      СписокВариантов.Сортировка();
      Макс := СтрокаВЦелое(СписокВариантов.Стр(СписокВариантов.Количество-1));
    конец;          
    Ограничения.Values("МаксВариант") := Макс;   
  обязательно
    УдалитьОбъект(СписокВариантов);
  конец;
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда  // если выводится или "создать для вычислений"
    начало
      Ограничения.Values("ЛицСчетЧек") := да;
      Ограничения.Values("ЛицСчет") := GetLimitStr(Данные, "ЛицевойСчет");          
    конец;
  // формируем ограничение по ГРБС организации из детали
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_ПОФПодневный := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_ПОФПодневный" type="3" name="Export">MARAEVA7\baranova\22.04.2013 13:11:30</param>
    <param value="БК_ПОФПодневный" type="3" name="version">36.193.91</param>
    <param value="БК_ПОФПодневный" type="3" name="crc32">$C3F1613E</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013000</V>
            <V N="Name">Контроль непревышения БА БР ГРБС над БА СБР</V>
            <V N="Template">(02.01.30) Контроль соответствия СБР и БР ГРБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013100</V>
            <V N="Name">Контроль передвижек СБР на соответствие закону о бюджете</V>
            <V N="Template">(02.02.01) Контроль соответствия СБР закону о бюджете.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013200</V>
            <V N="Name">Контроль на непревышение 5% ассигнований на соц. помощь населению</V>
            <V N="Template">(02.02.02) Контроль СБР на непревышение 5 проц. на соц.помощь.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013300</V>
            <V N="Name">Контроль неизменности ассигнований на гос.услуги в пределах ГРБС на первый год</V>
            <V N="Template">(02.02.03) Контроль неизменности ассигнований на гос.услуги (1 год).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013400</V>
            <V N="Name">Контроль непревышения 10%-го предела ассигнований по видам расходов на первый год</V>
            <V N="Template">(02.02.04) Контроль непревышения 10 проц. по КВР (1 год).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013500</V>
            <V N="Name">Контроль неизменности ассигнований на гос.услуги в пределах ГРБС на каждый из трех годов</V>
            <V N="Template">(02.02.05) Контроль неизменности ассигнований на гос.услуги (3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013600</V>
            <V N="Name">Контроль неизменности общего объема ассигнований по КФСР, КВСР, КЦСР и КВР на 3 года</V>
            <V N="Template">(02.02.06) Контроль неизменности ассигнований по КФСР, КВСР, КЦСР и КВР (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013700</V>
            <V N="Name">Контроль неизменности ассигнований на исполнение публичных нормативных обязательств на 3 года</V>
            <V N="Template">(02.02.07) Контроль ассигнований на исполнение публ. норм. обязательств (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013800</V>
            <V N="Name">Контроль неизменности объема ассигнований на 3 года на обслуживание государственного муниципального долга</V>
            <V N="Template">(02.02.08) Контроль ассигнований на обслуживание гос. муницип. долга (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2013900</V>
            <V N="Name">Контроль перемещения ассигнований без изменения их общего объема в соответствие с бюджетом</V>
            <V N="Template">(02.02.09) Контроль перемещения ассигнований без измен. общего объема (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2014000</V>
            <V N="Name">Контроль перемещения ассигнований на исполнение публичных нормативных обязательств без изменения их общего объема в соответствие с бюджетом</V>
            <V N="Template">(02.02.10) Контроль перемещения ассигнований на исполнение публ. норм. обязательств (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2014100</V>
            <V N="Name">Контроль перемещения ассигнований на обслуживание государственного муниципального долга без изменения их общего объема в соответствие с бюджетом</V>
            <V N="Template">(02.02.11) Контроль перемещения ассигнований на обслуж. гос. муницип. долга (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020100</V>
            <V N="Name">Контроль передвижек СБР на соответствие закону о бюджете</V>
            <V N="Template">(02.02.01) Контроль соответствия СБР закону о бюджете.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020200</V>
            <V N="Name">Контроль на непревышение 5% ассигнований на соц. помощь населению</V>
            <V N="Template">(02.02.02) Контроль СБР на непревышение 5 проц. на соц.помощь.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020300</V>
            <V N="Name">Контроль неизменности ассигнований на гос.услуги в пределах ГРБС на первый год</V>
            <V N="Template">(02.02.03) Контроль неизменности ассигнований на гос.услуги (1 год).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020400</V>
            <V N="Name">Контроль непревышения 10%-го предела ассигнований по видам расходов на первый год</V>
            <V N="Template">(02.02.04) Контроль непревышения 10 проц. по КВР (1 год).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020500</V>
            <V N="Name">Контроль неизменности ассигнований на гос.услуги в пределах ГРБС на каждый из трех годов</V>
            <V N="Template">(02.02.05) Контроль неизменности ассигнований на гос.услуги (3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020600</V>
            <V N="Name">Контроль неизменности общего объема ассигнований по КФСР, КВСР, КЦСР и КВР на 3 года</V>
            <V N="Template">(02.02.06) Контроль неизменности ассигнований по КФСР, КВСР, КЦСР и КВР (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020700</V>
            <V N="Name">Контроль неизменности ассигнований на исполнение публичных нормативных обязательств на 3 года</V>
            <V N="Template">(02.02.07) Контроль ассигнований на исполнение публ. норм. обязательств (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020800</V>
            <V N="Name">Контроль неизменности объема ассигнований на 3 года на обслуживание государственного муниципального долга</V>
            <V N="Template">(02.02.08) Контроль ассигнований на обслуживание гос. муницип. долга (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020900</V>
            <V N="Name">Контроль перемещения ассигнований без изменения их общего объема в соответствие с бюджетом</V>
            <V N="Template">(02.02.09) Контроль перемещения ассигнований без измен. общего объема (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021000</V>
            <V N="Name">Контроль перемещения ассигнований на исполнение публичных нормативных обязательств без изменения их общего объема в соответствие с бюджетом</V>
            <V N="Template">(02.02.10) Контроль перемещения ассигнований на исполнение публ. норм. обязательств (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021100</V>
            <V N="Name">Контроль перемещения ассигнований на обслуживание государственного муниципального долга без изменения их общего объема в соответствие с бюджетом</V>
            <V N="Template">(02.02.11) Контроль перемещения ассигнований на обслуж. гос. муницип. долга (на 3 года).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030100</V>
            <V N="Name">Контроль не превышения кассовым планом СБР за фин. год(квартальный)</V>
            <V N="Template">(02.03.01) Контроль не превышения кассовым планом СБР(квартальный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030100</V>
            <V N="Name">Контроль на непревышение квартальным кассовым планом СБР на первый год (в части погашения источников)</V>
            <V N="Template">(02.03.01) Контроль не превышения кассовым планом СБР(квартальный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2014200</V>
            <V N="Name">Контроль передвижек ЛБО БР ГРБС на неотрицательность ЛБО БР ГРБС по ПБС</V>
            <V N="Template">(02.01.42) Контроль ЛБО БР на неотрицательность.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2014300</V>
            <V N="Name">Контроль передвижек БА БР ГРБС на непревышение ЛБО БР ГРБС над БА БР ГРБС</V>
            <V N="Template">(02.01.43) Контроль уменьшения БА БР по ЛБО БР.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="Note">Контроль уменьшения бюджетных ассигнований на непревышение лимитами бюджетных обязательств бюджетных ассигнований</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021200</V>
            <V N="Name">Контроль непревышения ЛБО СБР над БА СБР</V>
            <V N="Template">(02.02.12) Контроль годовых сумм ЛБО по БА (СБР,БР).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030200</V>
            <V N="Name">Контроль не превышения кассовым планом СБР за фин. год(месячный)</V>
            <V N="Template">(02.03.02) Контроль не превышения кассовым планом СБР(месячный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030200</V>
            <V N="Name">Контроль на непревышение месячным кассовым планом СБР на первый год(в части погашения источников)</V>
            <V N="Template">(02.03.02) Контроль не превышения кассовым планом СБР(месячный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010100</V>
            <V N="Name">Контроль передвижек СБР на соответствие закону о бюджете (в части выбытий по источникам)</V>
            <V N="Template">(02.02.01) Контроль соответствия СБР закону о бюджете.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020100</V>
            <V N="Name">Контроль непревышения БА БР ГАИФ над БА СБР</V>
            <V N="Template">(02.01.30) Контроль соответствия СБР и БР ГРБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020200</V>
            <V N="Name">Контроль передвижек СБР на соответствие закону о бюджете (в части выбытий по источникам)</V>
            <V N="Template">(02.02.01) Контроль соответствия СБР закону о бюджете.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010100</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами на неотрицательность остатка</V>
            <V N="Template">(02.01.01) Контроль перебросок по КП (ГРБС, ПБС) на неотриц. остатка (по кварталам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010200</V>
            <V N="Name">Контроль передвижек по БР ГРБС на неотрицательность неизрасходованного остатка (БО, финансирование)</V>
            <V N="Template">(02.01.02) Контроль передвижек по БР с учетом БО и финансирования.XLM</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010800</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами</V>
            <V N="Template">(02.01.08) Контроль передвижек по КП по ПБС между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010900</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами с учетом БО</V>
            <V N="Template">(02.01.09) Контроль передвижек по КП по ПБС между кварталами с учетом БО.XLM</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2014400</V>
            <V N="Name">Контроль соответствия данных кассового плана по ПБС кассовому плану по ГРБС</V>
            <V N="Template">(02.01.44) Контроль соответствия КП по ПБС и КП по ГРБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021300</V>
            <V N="Name">Контроль передвижек по кассовому плану (по ГРБС) между кварталами</V>
            <V N="Template">(02.02.13) Контроль передвижек по КП (по ГРБС) между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021400</V>
            <V N="Name">Контроль передвижек по кассовому плану (по ГРБС) между кварталами с учетом БО</V>
            <V N="Template">(02.02.14) Контроль передвижек по КП (по ГРБС) между кварталами с учетом БО.XLM</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021500</V>
            <V N="Name">Контроль передвижек по кассовому плану между кварталами на неотрицательность остатка</V>
            <V N="Template">(02.01.01) Контроль перебросок по КП (ГРБС, ПБС) на неотриц. остатка (по кварталам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021600</V>
            <V N="Name">Контроль передвижек ЛБО СБР на неотрицательность неизрасходованного остатка (БО, финансирование)</V>
            <V N="Template">(02.02.16) Контроль передвижек по СБР с учетом БО и финансирования.XLM</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030400</V>
            <V N="Name">Контроль передвижек по кассовому плану (по ГРБС) между кварталами</V>
            <V N="Template">(02.02.13) Контроль передвижек по КП (по ГРБС) между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030500</V>
            <V N="Name">Контроль передвижек по кассовому плану (по ГРБС) между кварталами с учетом БО</V>
            <V N="Template">(02.02.14) Контроль передвижек по КП (по ГРБС) между кварталами с учетом БО.XLM</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030600</V>
            <V N="Name">Контроль передвижек по кассовому плану между кварталами на неотрицательность остатка</V>
            <V N="Template">(02.01.01) Контроль перебросок по КП (ГРБС, ПБС) на неотриц. остатка (по кварталам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040100</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами</V>
            <V N="Template">(02.01.08) Контроль передвижек по КП по ПБС между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060100</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами</V>
            <V N="Template">(02.01.08) Контроль передвижек по КП по ПБС между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060200</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами с учетом БО</V>
            <V N="Template">(02.01.09) Контроль передвижек по КП по ПБС между кварталами с учетом БО.XLM</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060700</V>
            <V N="Name">Контроль непревышения квартальным кассовым планом по ПБС бюджетной росписи ГРБС</V>
            <V N="Template">(02.06.07) Контроль непревышения КП по ПБС БР (квартальный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060800</V>
            <V N="Name">Контроль непревышения кассовым планом по ПБС бюджетной росписи ГРБС (КП по месяцам)</V>
            <V N="Template">(02.06.08) Контроль непревышения КП по ПБС БР (месячный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060900</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами на неотрицательность остатка</V>
            <V N="Template">(02.01.01) Контроль перебросок по КП (ГРБС, ПБС) на неотриц. остатка (по кварталам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010200</V>
            <V N="Name">Контроль передвижек по кассовому плану (по ГАИФ) между кварталами</V>
            <V N="Template">(02.02.13) Контроль передвижек по КП (по ГРБС) между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010300</V>
            <V N="Name">Контроль передвижек по кассовому плану между кварталами на неотрицательность остатка</V>
            <V N="Template">(02.01.01) Контроль перебросок по КП (ГРБС, ПБС) на неотриц. остатка (по кварталам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020300</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами</V>
            <V N="Template">(02.01.08) Контроль передвижек по КП по ПБС между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020400</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами на неотрицательность остатка</V>
            <V N="Template">(02.01.01) Контроль перебросок по КП (ГРБС, ПБС) на неотриц. остатка (по кварталам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030300</V>
            <V N="Name">Контроль передвижек по кассовому плану (по ГАИФ) между кварталами</V>
            <V N="Template">(02.02.13) Контроль передвижек по КП (по ГРБС) между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030400</V>
            <V N="Name">Контроль передвижек по кассовому плану между кварталами на неотрицательность остатка</V>
            <V N="Template">(02.01.01) Контроль перебросок по КП (ГРБС, ПБС) на неотриц. остатка (по кварталам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060100</V>
            <V N="Name">Контроль непревышения квартальным кассовым планом по ПБС бюджетной росписи ГАИФ (в части погашений)</V>
            <V N="Template">(02.06.07) Контроль непревышения КП по ПБС БР (квартальный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060200</V>
            <V N="Name">Контроль непревышения кассовым планом по ПБС бюджетной росписи ГАИФ в части погашений (КП по месяцам)</V>
            <V N="Template">(02.06.08) Контроль непревышения КП по ПБС БР (месячный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060300</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами</V>
            <V N="Template">(02.01.08) Контроль передвижек по КП по ПБС между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060400</V>
            <V N="Name">Контроль передвижек по кассовому плану по ПБС между кварталами на неотрицательность остатка</V>
            <V N="Template">(02.01.01) Контроль перебросок по КП (ГРБС, ПБС) на неотриц. остатка (по кварталам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010500</V>
            <V N="Name">Контроль непревышения кассовым планом по ПБС кассового плана по ГРБС (помесячная разбивка)</V>
            <V N="Template">(02.01.05) Контроль соответствия КП по ПБС и КП по ГРБС (по месяцам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060500</V>
            <V N="Name">Контроль непревышения кассовым планом по ПБС кассового плана по ГРБС (помесячная разбивка)</V>
            <V N="Template">(02.01.05) Контроль соответствия КП по ПБС и КП по ГРБС (по месяцам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020500</V>
            <V N="Name">Контроль непревышения кассовым планом по ПБС кассового плана по ГРБС (помесячная разбивка)</V>
            <V N="Template">(02.01.05) Контроль соответствия КП по ПБС и КП по ГРБС (по месяцам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060500</V>
            <V N="Name">Контроль непревышения кассовым планом по ПБС кассового плана по ГРБС (помесячная разбивка)</V>
            <V N="Template">(02.01.05) Контроль соответствия КП по ПБС и КП по ГРБС (по месяцам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070100</V>
            <V N="Name">Контроль наличия остатка квартального КП при формировании КП по месяцам</V>
            <V N="Template">(02.07.01) Контроль месячного КП(КПпоПБС) на квартальный КП(КПпоПБС).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070200</V>
            <V N="Name">Контроль не превышения помесячным кассовым планом СБР (месячный)</V>
            <V N="Template">(02.03.02) Контроль не превышения кассовым планом СБР(месячный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080100</V>
            <V N="Name">Контроль наличия остатка квартального КП по ПБС при формировании КП по ПБС по месяцам</V>
            <V N="Template">(02.07.01) Контроль месячного КП(КПпоПБС) на квартальный КП(КПпоПБС).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080500</V>
            <V N="Name">Контроль непревышения кассовым планом по ПБС кассового плана по ГРБС (помесячная разбивка)</V>
            <V N="Template">(02.01.05) Контроль соответствия КП по ПБС и КП по ГРБС (по месяцам).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080800</V>
            <V N="Name">Контроль непревышения месячным КП по ПБС бюджетной росписи ГРБС</V>
            <V N="Template">(02.06.08) Контроль непревышения КП по ПБС БР (месячный).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010600</V>
            <V N="Name">Контроль непревышения ЛБО БР ГРБС над ЛБО СБР</V>
            <V N="Template">(02.01.30) Контроль соответствия СБР и БР ГРБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010700</V>
            <V N="Name">Контроль непревышения ЛБО БР ГРБС над БА БР ГРБС</V>
            <V N="Template">(02.02.12) Контроль годовых сумм ЛБО по БА (СБР,БР).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021700</V>
            <V N="Name">Контроль передвижек ЛБО СБР на непревышение ЛБО БР ГРБС над ЛБО СБР</V>
            <V N="Template">(02.02.17) Контроль уменьшения ЛБО СБР по ЛБО БР ГРБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19011200</V>
            <V N="Name">Контроль непревышения ЛБО СБР над БА СБР</V>
            <V N="Template">(02.02.12) Контроль годовых сумм ЛБО по БА (СБР,БР).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19011700</V>
            <V N="Name">Контроль передвижек ЛБО СБР на непревышение ЛБО БР ГАИФ над ЛБО СБР</V>
            <V N="Template">(02.02.17) Контроль уменьшения ЛБО СБР по ЛБО БР ГРБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020600</V>
            <V N="Name">Контроль непревышения ЛБО БР ГАИФ над ЛБО СБР</V>
            <V N="Template">(02.01.30) Контроль соответствия СБР и БР ГРБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020700</V>
            <V N="Name">Контроль непревышения ЛБО БР ГАИФ над БА БР ГАИФ</V>
            <V N="Template">(02.02.12) Контроль годовых сумм ЛБО по БА (СБР,БР).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19024200</V>
            <V N="Name">Контроль передвижек ЛБО БР ГАИФ на неотрицательность ЛБО БР ГАИФ по ПБС</V>
            <V N="Template">(02.01.42) Контроль ЛБО БР на неотрицательность.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19024300</V>
            <V N="Name">Контроль передвижек БА БР ГАИФ на непревышение ЛБО БР ГАИФ над БА БР ГАИФ</V>
            <V N="Template">(02.01.43) Контроль уменьшения БА БР по ЛБО БР.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="Note">Контроль уменьшения бюджетных ассигнований на непревышение лимитами бюджетных обязательств бюджетных ассигнований</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2024300</V>
            <V N="Name">Контроль передвижек БА СБР на непревышение ЛБО СБР над БА СБР</V>
            <V N="Template">(02.01.43) Контроль уменьшения БА БР по ЛБО БР.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="Note">Контроль уменьшения бюджетных ассигнований на непревышение лимитами бюджетных обязательств бюджетных ассигнований</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19014300</V>
            <V N="Name">Контроль передвижек БА СБР на непревышение ЛБО СБР над БА СБР</V>
            <V N="Template">(02.01.43) Контроль уменьшения БА БР по ЛБО БР.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="Note">Контроль уменьшения бюджетных ассигнований на непревышение лимитами бюджетных обязательств бюджетных ассигнований</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2011100</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по ПБС</V>
            <V N="Template">(02.01.11) Контроль передвижек по месяцам ПОФ по ПБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2011200</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по ПБС с учетом финансирования</V>
            <V N="Template">(02.01.12) Контроль передвижек по месяцам ПОФ по ПБС с учетом финанс.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2011300</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по ПБС с учетом финансирования (нарастающим итогом)</V>
            <V N="Template">(02.01.13) Контроль передвижек по месяцам ПОФ по ПБС с учетом финанс(нараст. итог).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070400</V>
            <V N="Name">Контроль наличия остатка квартального КП при формировании КП по месяцам (нарастающим итогом)</V>
            <V N="Template">(02.07.04) Контроль помесячного КП(ПОФ) по квартальному (нараст. итог).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080300</V>
            <V N="Name">Контроль не превышения РР помесячных ПОФ</V>
            <V N="Template">(02.08.03) Контроль месячных ПОФ по РР на неотриц. остатка.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080400</V>
            <V N="Name">Контроль наличия остатка квартальных ПОФ по ПБС при формировании ПОФ по ПБС по месяцам (нарастающим итогом)</V>
            <V N="Template">(02.07.04) Контроль помесячного КП(ПОФ) по квартальному (нараст. итог).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2081100</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по ПБС</V>
            <V N="Template">(02.01.11) Контроль передвижек по месяцам ПОФ по ПБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2081200</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по ПБС с учетом финансирования</V>
            <V N="Template">(02.01.12) Контроль передвижек по месяцам ПОФ по ПБС с учетом финанс.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2081300</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по ПБС с учетом финансирования (нарастающим итогом)</V>
            <V N="Template">(02.01.13) Контроль передвижек по месяцам ПОФ по ПБС с учетом финанс(нараст. итог).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19021100</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по АИФ</V>
            <V N="Template">(02.01.11) Контроль передвижек по месяцам ПОФ по ПБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19021200</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по АИФ с учетом финансирования</V>
            <V N="Template">(02.01.12) Контроль передвижек по месяцам ПОФ по ПБС с учетом финанс.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19021300</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по АИФ с учетом финансирования (нарастающим итогом)</V>
            <V N="Template">(02.01.13) Контроль передвижек по месяцам ПОФ по ПБС с учетом финанс(нараст. итог).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010100</V>
            <V N="Name">Контроль передвижек по кварталам на неотрицательность остатка</V>
            <V N="Template">(22.01.01) Контроль передвижек между кварталами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2011600</V>
            <V N="Name">Логический контроль на корректность заполнения росписи/уведомления</V>
            <V N="Template">(02.01.16)логический контроль(роспись_уведомления).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2022000</V>
            <V N="Name">Логический контроль</V>
            <V N="Template">(02.01.16)Логический контроль(роспись_уведомления).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2081600</V>
            <V N="Name">Логический контроль</V>
            <V N="Template">(02.01.16)Логический контроль(роспись_уведомления).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2011900</V>
            <V N="Name">Контроль передвижек БР ГРБС на непревышение ПОФ по ПБС над БР ГРБС</V>
            <V N="Template">(02.01.19) Контроль уменьшения СБР(БР) по КП(ПОФ).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021900</V>
            <V N="Name">Контроль передвижек СБР на непревышение КП по ГРБС над СБР</V>
            <V N="Template">(02.01.19) Контроль уменьшения СБР(БР) по КП(ПОФ).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060600</V>
            <V N="Name">Контроль соответствия данных кассового плана по ПБС кассовому плану по ГРБС</V>
            <V N="Template">(02.01.44) Контроль соответствия КП по ПБС и КП по ГРБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2061100</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по ПБС</V>
            <V N="Template">(02.01.11) Контроль передвижек по месяцам ПОФ по ПБС.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2061300</V>
            <V N="Name">Контроль передвижек по месяцам ПОФ по ПБС с учетом финансирования (нарастающим итогом)</V>
            <V N="Template">(02.01.13) Контроль передвижек по месяцам ПОФ по ПБС с учетом финанс(нараст. итог).xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2012200</V>
            <V N="Name">Контроль уменьшения ЛБО по ПБС на наличие остатка на л/с исходя из принятых объемов финансирования</V>
            <V N="Template">(02.01.22) Контроль уменьшения ЛБО по ОФ.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2022200</V>
            <V N="Name">Контроль уменьшения ЛБО по ГРБС на наличие остатка на л/с исходя из принятых объемов финансирования</V>
            <V N="Template">(02.01.22) Контроль уменьшения ЛБО по ОФ.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010200</V>
            <V N="Name">Контроль передвижек по месяцам на неотрицательность остатка</V>
            <V N="Template">(22.01.02) Контроль передвижек между месяцами.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040200</V>
            <V N="Name">Логический контроль сметы по ПД, субсидий БУ, АУ</V>
            <V N="Template">(02.04.02) Логический контроль сметы.XLM</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040400</V>
            <V N="Name">Контроль изменений по субсидиям на неотрицательность сумм внутри кварталов</V>
            <V N="Template">(02.04.04) Контроль изменений по субсидиям внутри кварталов.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040500</V>
            <V N="Name">Контроль изменений по субсидиям на неотрицательность неизрасходованного остатка</V>
            <V N="Template">(02.04.05) Контроль изменений по субсидиям на кассовый расход.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040600</V>
            <V N="Name">Контроль изменений по субсидиям на неотрицательность сумм внутри месяцев</V>
            <V N="Template">(02.04.06) Контроль изменений по субсидиям внутри месяцев.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040700</V>
            <V N="Name">Контроль изменений по субсидиям на неотрицательность сумм внутри года</V>
            <V N="Template">(02.04.07) Контроль изменений по субсидиям внутри года.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040800</V>
            <V N="Name">Контроль непревышения субсидиями по расходам субсидий по поступлениям</V>
            <V N="Template">(02.04.08) Контроль соответствия субсидий по поступлениям и расходам.xlm</V>
            <V N="Generation">БК_Роспись</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.91</param>
  </node>
  <version_info>
    <file>Сборка(03)Казначейство_Контроль.xml</file>
    <version>36.193.139</version>
    <info>&lt;p&gt;Контроли казначейского блока&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:09</buildtime>
  </version_info>
  <description>Бюджетный контроль</description>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнВнутрПлатежи">включить '\Макросы\Контроль\ПоддержкаКонтроля.abl';
включить '\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl';
включить '\Библиотеки\LibRU.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\StateManage.lib';

БК_КазнВнутрПлатежи(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 308;  
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляОгрЗаголовка) := "ДатаРеестра,ДатаПринятия,ДатаДокумента,ЛицевойСчет,КодРеестра,КодБюджета";
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := 'ОперацияПолуч=DestType,ОперацияПлат=SourceType,ТипРеестра=REESTRTYPE,' +
    'НачСостояниеДокумента=BeginDocStateRef,ДатаРеестра=ReestrDate';
  результат.Values(кКлассификаторы) := 'ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,' +
    'ОрганизацияГлавныйРаспорядитель=SourceOrgGRBS,DestOrgGRBS=DestOrgGRBS,КодДохода=SourceKD_Value,' +
    'ДокИсполненияВнутрНомер=SourceInnerNumber,ДокИсполненияВнутрНомерПлат=SourceExecInnerNumber,' +
    'ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber,' +
    'КодБюджАссигнованияКлюч=SourceBudAllocationCls,КодБюджАссигнования=SourceBudAllocationClsCode,' +
    'КодРасходногоОбязательстваКлюч=SourcePayPromiseCls,КодРасходногоОбязательства=SourcePayPromiseClsCode';
  результат.Values(кЗапрос) := 
    'SELECT ffd.ID, ffd.RecordIndex, ffd.Credit SUMMA, ffd.MemOrderNum, ffd.RequestsIndex, ffd.Note,' +
    '   ffd.BuhOperationCls, ffd.ClsType, ffd.ProgIndex, mt.ActivityKind, mt.ActivityType,' +
    // расходные поля
    '  ffd.SourceFacialAcc_CLS, ffd.SourceKESR, ffd.SourceKCSR, sKcsr.Code SourceKCSRCode, ffd.SourceKVSR,' +
    '  sKvsr.Code SourceKVSRCode, ffd.SourceKVR, sKvr.Code SourceKVRCode, ffd.SourceKFSR, ffd.SourceSubKESR,' +
    '  ffd.SourceFact, ffd.SourceMeansType, ffd.SourceFinSource, ffd.SourceFinType, ffd.SourceDocType,' +
    '  ffd.SourcePromise, ffd.SourcePromise SourceBudgetPromiseNum, ffd.SourceBudgetPromise, ffd.SourceExecInnerNumber,' +
    '  sedc.ID SourceExecDoc, sedc.DocNumber SourceExecDocNum, sedc.DocumentDate SourceExecDocDate,' +
    '  sedc.Summa SourceExecDocSumma, sedc.DocType SourceExecDocType,' +
    '  ffd.SOURCEDIRECTIONCLS, ffd.SourceIFS, s_ifs.FINSOURCEVALUE SourceIFS_FullID, ffd.SourceRegionCLS,' +
    '  ffd.SourceKD, sKD.KDValue SourceKD_Value, ffd.SourceTransfertCls, s_tc.Code SourceTransfertClsCode,' + 
    '  ffd.SourceSubsidyCls, tSSubs.Code SourceSubsidyClsCode, s_org_RBS.GENERALORG_REF SourceOrgGRBS,' +
    '  ffd.SourceBudAllocationCls, sBudAl.Code SourceBudAllocationClsCode, ffd.SourceFundsSource, ffd.SourceDocBase,' +
    '  ffd.SourcePayPromiseCls, sPr.Code SourcePayPromiseClsCode,' +
    // приходные поля
    '  ffd.DestFacialAcc_CLS, ffd.DestKESR, ffd.DestKCSR, dKcsr.Code DestKCSRCode, ffd.DestKVSR,' +
    '  dKvsr.Code DestKVSRCode, ffd.DestKVR, dKvr.Code DestKVRCode, ffd.DestKFSR, ffd.DestSubKESR,' +
    '  ffd.DestFact, ffd.DestMeansType, ffd.DestFinSource, ffd.DestFinType, ffd.DestDocType,' +
    '  ffd.DestPromise, ffd.DestPromise DestBudgetPromiseNum, ffd.DestBudgetPromise, ffd.DestExecInnerNumber,' +
    '  dedc.ID DestExecDoc, dedc.DocNumber DestExecDocNum, dedc.DocumentDate DestExecDocDate,' +
    '  dedc.Summa DestExecDocSumma, dedc.DocType DestExecDocType,' +
    '  ffd.DESTDIRECTIONCLS, ffd.DestIFS, d_ifs.FINSOURCEVALUE DestIFS_FullID, ffd.DestRegionCLS,' +
    '  ffd.DestKD, dKD.KDValue DestKD_Value, ffd.DestTransfertCls, d_tc.Code DestTransfertClsCode,' +
    '  ffd.DestSubsidyCls, tDSubs.Code DestSubsidyClsCode, d_org_RBS.GENERALORG_REF DestOrgGRBS,' +
    '  ffd.DestBudAllocationCls, dBudAl.Code DestBudAllocationClsCode, ffd.DestFundsSource, ffd.DestDocBase,' +
    '  ffd.DestPayPromiseCls, dPr.Code DestPayPromiseClsCode, ffd.DestClsType' +      
    ' FROM FacialFinDetail ffd' +
    // расходные таблицы
    '  inner join INNERFINSOURCE s_ifs on (s_ifs.ID = ffd.SourceIFS)' +
    '  left join TransfertCLS s_tc on (s_tc.ID = ffd.SourceTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.SourceMeansType)' +
    '  left join FacialAcc_Cls sf on (sf.id = ffd.SourceFacialAcc_CLS)' +
    '  left join KVSR sKvsr on (sKvsr.id = ffd.SourceKVSR)' +
    '  left join KCSR sKcsr on (sKcsr.id = ffd.SourceKCSR)' +
    '  left join KVR sKvr on (sKvr.id = ffd.SourceKVR)' +
    '  left join SubsidyCls tSSubs on (tSSubs.ID = ffd.SourceSubsidyCls)' +      
    '  left join BudAllocationCls sBudAl on (sBudAl.id = ffd.SourceBudAllocationCls)' +
    '  left join PayPromiseCls sPr on (sPr.ID = ffd.SourcePayPromiseCls)' +
    '  left join KD sKD on (sKD.ID = ffd.SourceKD)' +      
    '  left join Organizations s_org on (s_org.id = sf.Org_Ref)' +
    '  left join Organizations s_org_RBS on (s_org_RBS.id = s_org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE spsl on ((ffd.SourceBudgetPromise = spsl.InnerPromiseNum) and (ffd.SourcePromise = spsl.ANumber))' +
    '  left join ExecutionDocumentsCaption sedc on (ffd.SourceExecDoc = sedc.ID)' +
    // приходные таблицы
    '  inner join INNERFINSOURCE d_ifs on (d_ifs.ID = ffd.DestIFS)' +
    '  left join TransfertCLS d_tc on (d_tc.ID = ffd.DestTransfertCls)' +      
    '  left join FacialAcc_Cls df on (df.id = ffd.DestFacialAcc_CLS)' +
    '  left join KVSR dKvsr on (dKvsr.id = ffd.DestKVSR)' +
    '  left join KCSR dKcsr on (dKcsr.id = ffd.DestKCSR)' +
    '  left join KVR dKvr on (dKvr.id = ffd.DestKVR)' +
    '  left join SubsidyCls tDSubs on (tDSubs.ID = ffd.DestSubsidyCls)' +      
    '  left join BudAllocationCls dBudAl on (dBudAl.id = ffd.DestBudAllocationCls)' +
    '  left join PayPromiseCls dPr on (dPr.ID = ffd.DestPayPromiseCls)' +
    '  left join KD dKD on (dKD.ID = ffd.DestKD)' +      
    '  left join Organizations d_org on (d_org.id = df.Org_Ref)' +
    '  left join Organizations d_org_RBS on (d_org_RBS.id = d_org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE dpsl on ((ffd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ffd.DestPromise = dpsl.ANumber))' +
    '  left join ExecutionDocumentsCaption dedc on (ffd.DestExecDoc = dedc.ID)' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.SourceFacialAcc_CLS, C.DocNumber, C.DocumentDate, c.BUDGETRef,  C.ProgIndex,' +
    '  C.AcceptDate, C.Note, C.TypeOperationCLS, C.SourceAccount, C.DestAccount, C.BuhPaymentCLS, C.Reject_CLS,' +
    '  C.RejectCause, FFR.ReestrNumber, FFR.ReestrDate, FFR.ReestrTypeEx REESTRTYPE, FFR.Accepted, C.FEDERALFUNDSREF,' +
    '  C.DocStateRef, cast(null as Integer) BeginDocStateRef' + 
    ' FROM FacialFinCaption C' + 
    '  left  join FacialFinReestr FFR on FFR.ID = C.Reestr_Ref' +
    ' WHERE (C.ProgIndex = 67) and (C.ID in (@MasterID))';  
конец;
 
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  Данные, Заголовок: СтатическиеДанные;
  ti: ITableInfoX;
  КонДата, СтарыйФильтр: строка;
  СсылкаНаРеестрУРМ/*, ВариантКонечнойДаты, СтарыйФильтрВключен*/: целое;
  ИндексКолонки: целое;
  ИмяПоляЛС: строка;  
начало
  // получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // тип ограничения по текущей дате или нет
  если Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := '';  // если конДата останется пустой, то по умолчанию останется ограничение по текущей дате с сервера
/*    ВариантКонечнойДаты := ЦелаяКонстанта(57, 1);
    выбрать ВариантКонечнойДаты из
      0: КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");  //по макс. дату реестра в документах  
  //      1: КонДата := ДатаВСтроку(ТекущаяДатаССервера);  //по текущую дату с сервера
      2: начало  //по макс. дату реестра в документах за исключением п/п от УРМ
           СтарыйФильтр := Заголовок.Фильтр;
           СтарыйФильтрВключен := Заголовок.Filtered;
           СсылкаНаРеестрУРМ := ЦелаяКонстанта(56, 0);
           попытка
             заголовок.Фильтр := 'not((КодРеестра='+целоеВСтроку(СсылкаНаРеестрУРМ)+')or(КодРеестра is null))';
             заголовок.Filtered := да;
             если Заголовок.ЧислоЗаписей &gt; 0 тогда КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");
           обязательно
             Заголовок.Filtered := СтарыйФильтрВключен;
             Заголовок.Фильтр := СтарыйФильтр; 
           конец;  
         конец;
    конец;*/
    СтарыйФильтр := Заголовок.Фильтр;
    СсылкаНаРеестрУРМ := ЦелаяКонстанта(56, 0);
    попытка
      // если есть ссылка на реестр (за исключением реестра УРМ), то ограничиваем по дате реестра,
      // иначе, если заполнена дата документа и она превышает текущую дату, то ограничиваем по дате документа,
      // иначе ограничиваем по дате принятия (если дата принятия пуста, то функция MaxDateExToStr вернет текущую дату)
      Заголовок.Фильтр := 'not((КодРеестра = ' + ЦелоеВСтроку(СсылкаНаРеестрУРМ) + ') or (КодРеестра is null))';
      если Заголовок.ЧислоЗаписей = 0 тогда
      начало
        Заголовок.Фильтр := 'ДатаДокумента &gt; ' + ЦелоеВСтроку(СтрокаВРасширеннуюДату(ДатаВСтроку(ТекущаяДата)));
        если Заголовок.ЧислоЗаписей = 0 тогда
        начало
          Заголовок.Фильтр := СтарыйФильтр; 
          КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
        конец
        иначе
          КонДата := MaxDateExToStr(Заголовок, "ДатаДокумента");
      конец 
      иначе
        КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");
    обязательно
      Заголовок.Фильтр := СтарыйФильтр; 
    конец;  
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
    // накладываем ограничения по кодам состояний по OR:
    // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
    // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
    // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
    // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
    // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
    // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
    если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
      если КонтрольСостояний(Вид) тогда
      начало
        // Использовать GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') плохо, потому что
        // состояние, находящееся перед тем, которое должно учитываться в контролях, тоже должно быть пронумеровано,
        // чтобы при контроле НЕ ИЗ системы состояний (когда документ будет еще в своем начальном состоянии)
        // по нему наложилось ограничение строго "&gt;";
        // а поскольку появляется еще пронумерованный уровень состояния, которое уже не должно учитываться в контролях,
        // то при контроле ИЗ системы состояний в переходе "пустой уровень" - "пронумерованный неучитываемый уровень"
        // функция GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') учтет неучитывемый уровень,
        // и тогда результат контроля ИЗ системы состояний будет отличаться от контроля с интерфейса
        если Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое &gt; 0 тогда
          Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
      конец
      иначе
        // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
        // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
        если Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое &gt; 0 тогда
          Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  конец;
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("DestFacialAccCLS") тогда Ограничения.Delete("DestFacialAccCLS");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField('ЛицСчетПолучателя');
  если индексКолонки &gt; -1 тогда
    имяПоляЛС := "ЛицСчетПолучателя"
  иначе 
    начало 
       ИндексКолонки := ti.FindColumnByField('ЛицСчетПлательщика');
       если индексКолонки &gt; -1 тогда
         имяПоляЛС := "ЛицСчетПлательщика"
       иначе 
         начало
           ИндексКолонки := ti.FindColumnByField('ЛицевойСчет');
           если индексКолонки &gt; -1 тогда
             имяПоляЛС := "Лицевойсчет";
         конец;  
    конец;
  если ИндексКолонки &gt; -1 тогда 
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, имяПоляЛС);
      Ограничения.Values('ЛицСчетЧек') := да;      
    конец;
  если Данные.FindField('DestFacialAccCLS', nil) тогда
  начало
    Ограничения.Values('DestFacialAccCLS') := GetLimitStr(Данные, 'DestFacialAccCLS');
    Ограничения.Values('ЛицСчетЧек') := да;      
  конец
  иначе
    если Данные.FindField('ЛицСчетПолучателя', nil) тогда
    начало
      Ограничения.Values('DestFacialAccCLS') := GetLimitStr(Данные, 'ЛицСчетПолучателя');
      Ограничения.Values('ЛицСчетЧек') := да;      
    конец;
  // формируем ограничение по ГРБС лс плательщика и лс получателя
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  если Ограничения.ПараметрСуществует("DestOrgGRBS") тогда Ограничения.Delete("DestOrgGRBS");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
  если Данные.FindField("DestOrgGRBS", nil) тогда
    Ограничения.Values("DestOrgGRBS") := GetLimitStr(Данные, "DestOrgGRBS");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнВнутрПлатежи := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнВнутрПлатежи" type="3" name="version">36.193.139</param>
    <param value="БК_КазнВнутрПлатежи" type="3" name="crc32">$EA52853D</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнПереброска">//  Контроль внутренней переброски  
//  Автор: Бурдельный Р.В.                      
//  Число: 01.11.02  
включить '\Макросы\Контроль\ПоддержкаКонтроля.abl';
включить '\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl';
включить '\Библиотеки\LibRU.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\StateManage.lib';

БК_КазнПереброска(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables);
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 301;  
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,КодБюджета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := 'ОперацияПолуч=DestType,ОперацияПлат=SourceType,ТипРеестра=REESTRTYPE,' +
    'НачСостояниеДокумента=BeginDocStateRef';
  результат.Values(кКлассификаторы) := 'ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,' +
    'ОрганизацияГлавныйРаспорядитель=SourceOrgGRBS,DestOrgGRBS=DestOrgGRBS,ДокИсполненияВнутрНомер=SourceInnerNumber,' +
    'ДокИсполненияВнутрНомерПлат=SourceExecInnerNumber,ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber,' +
    'КодБюджАссигнованияКлюч=SourceBudAllocationCls,КодБюджАссигнования=SourceBudAllocationClsCode,' +
    'КодБюджАссигнованияПлат=SourceBudAllocationClsCode,КодБюджАссигнованияПолуч=DestBudAllocationClsCode,' +
    'КодРасходногоОбязательстваКлюч=SourcePayPromiseCls,КодРасходногоОбязательства=SourcePayPromiseClsCode,' +
    'КодРасходногоОбязательстваПлат=SourcePayPromiseClsCode,КодРасходногоОбязательстваПолуч=DestPayPromiseClsCode';    
  результат.Values(кЗапрос) := 
    'SELECT ffd.ID, ffd.RecordIndex, ffd.Credit SUMMA, ffd.MemOrderNum, ffd.RequestsIndex, ffd.Note,' +
    '   ffd.BuhOperationCls, ffd.ClsType, ffd.ProgIndex, mt.ActivityKind, mt.ActivityType,' +
    // расходные поля
    '  ffd.SourceFacialAcc_CLS, ffd.SourceKESR, ffd.SourceKCSR, sKcsr.Code SourceKCSRCode, ffd.SourceKVSR,' +
    '  sKvsr.Code SourceKVSRCode, ffd.SourceKVR, sKvr.Code SourceKVRCode, ffd.SourceKFSR, ffd.SourceSubKESR,' +
    '  ffd.SourceFact, ffd.SourceMeansType, ffd.SourceFinSource, ffd.SourceFinType, ffd.SourceDocType,' +
    '  ffd.SourcePromise, ffd.SourcePromise SourceBudgetPromiseNum, ffd.SourceBudgetPromise, ffd.SourceExecInnerNumber,' +
    '  ffd.SOURCEDIRECTIONCLS, ffd.SourceIFS, s_ifs.FINSOURCEVALUE SourceIFS_FullID, ffd.SourceRegionCLS, ffd.SourceKD,' + 
    '  ffd.SourceTransfertCls, s_tc.Code SourceTransfertClsCode, ffd.SourceSubsidyCls, tSSubs.Code SourceSubsidyClsCode,' +
    '  s_org_RBS.GENERALORG_REF SourceOrgGRBS, ffd.SourceBudAllocationCls, tSBudAl.Code SourceBudAllocationClsCode,' +
    '  ffd.SourcePayPromiseCls, sPr.Code SourcePayPromiseClsCode,' +      
    // приходные поля
    '  ffd.DestFacialAcc_CLS, ffd.DestKESR, ffd.DestKCSR, dKcsr.Code DestKCSRCode, ffd.DestKVSR,' +
    '  dKvsr.Code DestKVSRCode, ffd.DestKVR, dKvr.Code DestKVRCode, ffd.DestKFSR, ffd.DestSubKESR,' +
    '  ffd.DestFact, ffd.DestMeansType, ffd.DestFinSource, ffd.DestFinType, ffd.DestDocType,' +
    '  ffd.DestPromise, ffd.DestPromise DestBudgetPromiseNum, ffd.DestBudgetPromise, ffd.DestExecInnerNumber,' +
    '  ffd.DESTDIRECTIONCLS, ffd.DestIFS, d_ifs.FINSOURCEVALUE DestIFS_FullID, ffd.DestRegionCLS, ffd.DestKD,' +
    '  ffd.DestTransfertCls, d_tc.Code DestTransfertClsCode, ffd.DestSubsidyCls, tDSubs.Code DestSubsidyClsCode,' +
    '  d_org_RBS.GENERALORG_REF DestOrgGRBS, ffd.DestBudAllocationCls, tDBudAl.Code DestBudAllocationClsCode,' +
    '  ffd.DestPayPromiseCls, dPr.Code DestPayPromiseClsCode' +      
    ' FROM FacialFinDetail ffd' +
    // расходные таблицы
    '  inner join INNERFINSOURCE s_ifs on (s_ifs.ID = ffd.SourceIFS)' +
    '  left join TransfertCLS s_tc on (s_tc.ID = ffd.SourceTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.SourceMeansType)' +
    '  left join FacialAcc_Cls sf on (sf.id = ffd.SourceFacialAcc_CLS)' +
    '  left join KVSR sKvsr on (sKvsr.id = ffd.SourceKVSR)' +
    '  left join KCSR sKcsr on (sKcsr.id = ffd.SourceKCSR)' +
    '  left join KVR sKvr on (sKvr.id = ffd.SourceKVR)' +
    '  left join SubsidyCls tSSubs on (tSSubs.ID = ffd.SourceSubsidyCls)' +   
    '  left join BudAllocationCls tSBudAl on (tSBudAl.ID = ffd.SourceBudAllocationCls)' +   
    '  left join PayPromiseCls sPr on (sPr.ID = ffd.SourcePayPromiseCls)' +
    '  left join Organizations s_org on (s_org.id = sf.Org_Ref)' +
    '  left join Organizations s_org_RBS on (s_org_RBS.id = s_org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE spsl on ((ffd.SourceBudgetPromise = spsl.InnerPromiseNum) and (ffd.SourcePromise = spsl.ANumber))' +
    // приходные таблицы
    '  inner join INNERFINSOURCE d_ifs on (d_ifs.ID = ffd.DestIFS)' +
    '  left join TransfertCLS d_tc on (d_tc.ID = ffd.DestTransfertCls)' +      
    '  left join FacialAcc_Cls df on (df.id = ffd.DestFacialAcc_CLS)' +
    '  left join KVSR dKvsr on (dKvsr.id = ffd.DestKVSR)' +
    '  left join KCSR dKcsr on (dKcsr.id = ffd.DestKCSR)' +
    '  left join KVR dKvr on (dKvr.id = ffd.DestKVR)' +
    '  left join SubsidyCls tDSubs on (tDSubs.ID = ffd.DestSubsidyCls)' +   
    '  left join BudAllocationCls tDBudAl on (tDBudAl.ID = ffd.DestBudAllocationCls)' +   
    '  left join PayPromiseCls dPr on (dPr.ID = ffd.DestPayPromiseCls)' +
    '  left join Organizations d_org on (d_org.id = df.Org_Ref)' +
    '  left join Organizations d_org_RBS on (d_org_RBS.id = d_org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE dpsl on ((ffd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ffd.DestPromise = dpsl.ANumber))' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.SourceFacialAcc_CLS, C.DocNumber, C.DocumentDate, c.BUDGETRef,  C.ProgIndex,' +
    '  C.AcceptDate, C.Note, C.TypeOperationCLS, C.SourceAccount, C.DestAccount, C.BuhPaymentCLS, C.Reject_CLS,' +
    '  C.RejectCause, FFR.ReestrNumber, FFR.ReestrDate, FFR.ReestrTypeEx REESTRTYPE, FFR.Accepted, C.FEDERALFUNDSREF,' +
    '  C.DocStateRef, cast(null as Integer) BeginDocStateRef' + 
    ' FROM FacialFinCaption C' + 
    '  left  join FacialFinReestr FFR on FFR.ID = C.Reestr_Ref' +
    ' WHERE (C.ProgIndex = 66) and (C.ID in (@MasterID))';  
конец;
 
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  КонДата: строка;
  Данные, Заголовок: СтатическиеДанные;
  ti: ITableInfoX;
  ИндексКолонки: ЦЕЛОЕ;
  ИмяПоляЛС: строка;  
начало
  // получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;    
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
    // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
    // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("DestFacialAccCLS") тогда Ограничения.Delete("DestFacialAccCLS");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField('ЛицСчетПолучателя');
  если индексКолонки &gt; -1 тогда
    имяПоляЛС := "ЛицСчетПолучателя"
  иначе 
    начало 
       ИндексКолонки := ti.FindColumnByField('ЛицСчетПлательщика');
       если индексКолонки &gt; -1 тогда
         имяПоляЛС := "ЛицСчетПлательщика"
       иначе 
         начало
           ИндексКолонки := ti.FindColumnByField('ЛицевойСчет');
           если индексКолонки &gt; -1 тогда
             имяПоляЛС := "Лицевойсчет";
         конец;  
    конец;
  если ИндексКолонки &gt; -1 тогда 
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, имяПоляЛС);
      Ограничения.Values('ЛицСчетЧек') := да;      
    конец;
  если Данные.FindField('DestFacialAccCLS', nil) тогда
  начало
    Ограничения.Values('DestFacialAccCLS') := GetLimitStr(Данные, 'DestFacialAccCLS');
    Ограничения.Values('ЛицСчетЧек') := да;      
  конец;
  // формируем ограничение по ГРБС лс плательщика и лс получателя
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  если Ограничения.ПараметрСуществует("DestOrgGRBS") тогда Ограничения.Delete("DestOrgGRBS");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
  если Данные.FindField("DestOrgGRBS", nil) тогда
    Ограничения.Values("DestOrgGRBS") := GetLimitStr(Данные, "DestOrgGRBS");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнПереброска" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:12:46</param>
    <param value="БК_КазнПереброска" type="3" name="version">36.193.139</param>
    <param value="БК_КазнПереброска" type="3" name="crc32">$71BC4857</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнПереброскаЛиней">//******************************************************************************************************
//               **********************Контроль внутренней переброски***************************  
//  Автор: Бурдельный Р.В.                            
//  Число: 01.11.02               
//Внимание!!! Контроль по состояниям не поддерживается
включить '\Макросы\Контроль\ПоддержкаКонтроля.abl';
включить '\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl';
включить '\Библиотеки\LibRU.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Reports.lib';

БК_КазнПереброска(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables);
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 318;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,ЛицевойСчет,КодБюджета';        
  результат.Values(кПоляЗаголовока) := 'ОперацияПолуч=DestType,ОперацияПлат=SourceType,ФедеральныеСредства=FEDERALFUNDSREF';
  результат.Values(кКлассификаторы) := 'ПримечаниеДеталь=Note,БОВнутрНомер=SourceBudgetPromise,DestBudgetPromise=DestBudgetPromise,' +
    'БОНомер=SourceBudgetPromiseNum,DestBudgetPromiseNum=DestBudgetPromiseNum,ТипКлассификации=ClsType,' +
    'ИсточникВнутрФинансированияКлюч=SourceIFS,ИсточникВнутрФинансированияКлючПлат=SourceIFS,' +
    'ИсточникВнутрФинансированияКлючПолуч=DestIFS,DestIFS=DestIFS,ИсточникВнутрФинансирования=SourceIFS_FullID,' +
    'ИсточникВнутрФинансированияПлат=SourceIFS_FullID,ИсточникВнутрФинансированияПолуч=DestIFS_FullID,DestIFS_FullID=DestIFS_FullID,' +
    'ВидДеятельности=ActivityKind,ОрганизацияГлавныйРаспорядитель=SourceOrgGRBS,DestOrgGRBS=DestOrgGRBS,' +
    'ДокИсполненияВнутрНомерПлат=SourceExecInnerNumber,ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber';
  результат.Values(кЗапрос) := 
    'SELECT ffd.ID, ffd.RecordIndex, ffd.Credit SUMMA, ffd.MemOrderNum, ffd.RequestsIndex, ffd.Note,' +
    '   ffd.BuhOperationCls, ffd.ClsType, ffd.ProgIndex, mt.ActivityKind,' +
    // расходные поля
    '  ffd.SourceFacialAcc_CLS, ffd.SourceKESR, ffd.SourceKCSR, sKcsr.Code SourceKCSRCode, ffd.SourceKVSR,' +
    '  sKvsr.Code SourceKVSRCode, ffd.SourceKVR, sKvr.Code SourceKVRCode, ffd.SourceKFSR, ffd.SourceSubKESR,' +
    '  ffd.SourceFact, ffd.SourceMeansType, ffd.SourceFinSource, ffd.SourceFinType, ffd.SourceDocType,' +
    '  ffd.SourcePromise, ffd.SourcePromise SourceBudgetPromiseNum, ffd.SourceBudgetPromise, ffd.SOURCEDIRECTIONCLS,' +
    '  ffd.SourceIFS, s_ifs.FINSOURCEVALUE SourceIFS_FullID, ffd.SourceRegionCLS, ffd.SourceKD, ffd.SourceTransfertCls, ' + 
    '  s_tc.Code SourceTransfertClsCode, s_org_RBS.GENERALORG_REF SourceOrgGRBS,' +
    // приходные поля
    '  ffd.DestFacialAcc_CLS, ffd.DestKESR, ffd.DestKCSR, dKcsr.Code DestKCSRCode, ffd.DestKVSR,' +
    '  dKvsr.Code DestKVSRCode, ffd.DestKVR, dKvr.Code DestKVRCode, ffd.DestKFSR, ffd.DestSubKESR,' +
    '  ffd.DestFact, ffd.DestMeansType, ffd.DestFinSource, ffd.DestFinType, ffd.DestDocType,' +
    '  ffd.DestPromise, ffd.DestPromise DestBudgetPromiseNum, ffd.DestBudgetPromise, ffd.DESTDIRECTIONCLS,' +
    '  ffd.DestIFS, d_ifs.FINSOURCEVALUE DestIFS_FullID, ffd.DestRegionCLS, ffd.DestKD, ffd.DestTransfertCls,' +
    '  d_tc.Code DestTransfertClsCode, d_org_RBS.GENERALORG_REF DestOrgGRBS, ffd.SourceExecInnerNumber, ffd.DestExecInnerNumber ' +
    ' FROM FacialFinDetail ffd' +
    // расходные таблицы
    '  inner join INNERFINSOURCE s_ifs on (s_ifs.ID = ffd.SourceIFS)' +
    '  left join TransfertCLS s_tc on (s_tc.ID = ffd.SourceTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.SourceMeansType)' +
    '  left join FacialAcc_Cls sf on (sf.id = ffd.SourceFacialAcc_CLS)' +
    '  left join KVSR sKvsr on (sKvsr.id = ffd.SourceKVSR)' +
    '  left join KCSR sKcsr on (sKcsr.id = ffd.SourceKCSR)' +
    '  left join KVR sKvr on (sKvr.id = ffd.SourceKVR)' +
    '  left join Organizations s_org on (s_org.id = sf.Org_Ref)' +
    '  left join Organizations s_org_RBS on (s_org_RBS.id = s_org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE spsl on ((ffd.SourceBudgetPromise = spsl.InnerPromiseNum) and (ffd.SourcePromise = spsl.ANumber))' +
    // приходные таблицы
    '  inner join INNERFINSOURCE d_ifs on (d_ifs.ID = ffd.DestIFS)' +
    '  left join TransfertCLS d_tc on (d_tc.ID = ffd.DestTransfertCls)' +      
    '  left join FacialAcc_Cls df on (df.id = ffd.DestFacialAcc_CLS)' +
    '  left join KVSR dKvsr on (dKvsr.id = ffd.DestKVSR)' +
    '  left join KCSR dKcsr on (dKcsr.id = ffd.DestKCSR)' +
    '  left join KVR dKvr on (dKvr.id = ffd.DestKVR)' +
    '  left join Organizations d_org on (d_org.id = df.Org_Ref)' +
    '  left join Organizations d_org_RBS on (d_org_RBS.id = d_org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE dpsl on ((ffd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ffd.DestPromise = dpsl.ANumber))' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.SourceFacialAcc_CLS, C.DocNumber, C.DocumentDate, c.BUDGETRef,' +
    '  C.AcceptDate, C.Note, C.TypeOperationCLS, C.SourceAccount, C.DestAccount, C.BuhPaymentCLS, C.Reject_CLS,' +
    '  C.RejectCause, FFR.ReestrNumber, FFR.ReestrDate, C.FEDERALFUNDSREF' + 
    ' FROM FacialFinCaption C' + 
    '  left join FacialFinReestr FFR on (FFR.ID=C.Reestr_Ref)' +
    ' WHERE (C.ProgIndex = 66) and (C.ID in (@MasterID))';  
конец;
 
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  ИндексКолонки: ЦЕЛОЕ;
  КонДата: строка;
  Данные, Заголовок: СтатическиеДанные; 
начало
  // получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;     
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("DestFacialAccCLS") тогда Ограничения.Delete("DestFacialAccCLS");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField('ЛицевойСчет');  
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда  
    начало  
      Ограничения.Values("ЛицСчетЧек") := да;  
      Ограничения.Values('ЛицСчет') := GetLimitStr(Заголовок, 'ЛицевойСчет');
    конец;
  // формируем ограничение по л/с получателя
  если Данные.FindField('DestFacialAccCLS', nil) тогда
  начало
    Ограничения.Values('DestFacialAccCLS') := GetLimitStr(Данные, 'DestFacialAccCLS');
    Ограничения.Values('ЛицСчетЧек') := да;      
  конец;
  // формируем ограничение по ГРБС лс плательщика и лс получателя
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  если Ограничения.ПараметрСуществует("DestOrgGRBS") тогда Ограничения.Delete("DestOrgGRBS");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
  если Данные.FindField("DestOrgGRBS", nil) тогда
    Ограничения.Values("DestOrgGRBS") := GetLimitStr(Данные, "DestOrgGRBS");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнПереброскаЛиней" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:12:48</param>
    <param value="БК_КазнПереброскаЛиней" type="3" name="version">36.193.139</param>
    <param value="БК_КазнПереброскаЛиней" type="3" name="crc32">$2853A28C</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнПП">// Бюджетный контроль платежных поручений 
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_КазнПП(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей;
  результат.Values(кТипДокументаВКонтроле) := 302;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПолеРеестра) := 'ReestrNumber';
  результат.Values(кПоляОгрЗаголовка) := 'ДатаРеестра,ДатаПринятия,ДатаДокумента,ЛицевойСчет,КодРеестра,КодБюджета';
  результат.Values(кЛогСуммы) := '';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := Строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";    
  результат.Values(кПоляЗаголовока) := 'ОперацияПолуч=DestType,ОперацияПлат=SourceType,ТипРеестра=REESTRTYPE,' +
    'НачСостояниеДокумента=BeginDocStateRef';
  результат.Values(кКлассификаторы) := 'НомерМемордера=MemOrderNum,БОТип=PromiseType,ДатаУдаленияКД=DeleteDate,' +
    'ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,ОрганизацияГлавныйРаспорядитель=OrgGRBS,' +
    'ДокИсполненияВнутрНомерПлат=SourceExecInnerNumber,ДокИсполненияВнутрНомер=ExecInnerNumber,' +
    'КодБюджАссигнования=SourceBudAllocationClsCode,КодРасходногоОбязательства=SourcePayPromiseClsCode';
  результат.Values(кЗапрос) := 
    'SELECT ffd.SourceFacialAcc_CLS, ffd.SourceKESR, ffd.SourceKCSR, tKcsr.Code SourceKCSRCode, ffd.SourceKVSR,' +
    '  tKvsr.Code SourceKVSRCode, ffd.SourceKVR, tKvr.Code SourceKVRCode, ffd.SourceKFSR, ffd.SourceSubKESR,' +
    '  ffd.SourceFact, ffd.SourceMeansType, ffd.SourceFinSource, ffd.SourceFinType, ffd.SourceDocType,' +
    '  ffd.RecordIndex, ffd.ID, ffd.MemOrderNum, ffd.RequestsIndex, ffd.Credit SUMMA, ffd.Note, ffd.ProgIndex,' +
    '  ffd.SourceBudgetPromise, ffd.SourcePromise, ffd.SourcePromise SourceBudgetPromiseNum, spsl.PromiseType,' +
    '  sedc.ID SourceExecDoc, sedc.DocNumber SourceExecDocNum, sedc.DocumentDate SourceExecDocDate,' +
    '  sedc.Summa SourceExecDocSumma, sedc.DocType SourceExecDocType, ffd.SourceDirectionCLS, ffd.SourceRegionCLS,' +
    '  ffd.BuhOperationCls, ffd.SourceIFS, ffd.ClsType, s_ifs.FINSOURCEVALUE SourceIFS_FullID, ffd.SourceKD,' +
    '  s_KD.KDValue SourceKD_Value, mt.ActivityKind, mt.ActivityType, ffd.SourceFundsSource, ffd.SourceDocBase, s_KD.DeleteDate,' +
    '  ffd.SourceTransfertCls, s_tc.Code SourceTransfertClsCode, ffd.SourceSubsidyCls, tSubs.Code SourceSubsidyClsCode,' +
    '  org_RBS.GENERALORG_REF OrgGRBS, ffd.SourceExecInnerNumber, ffd.SourceExecInnerNumber ExecInnerNumber, ' +
    '  ffd.SourceBudAllocationCls, tBudAl.Code SourceBudAllocationClsCode, ffd.SourcePayPromiseCls, tPr.Code SourcePayPromiseClsCode' +
    ' FROM FacialFinDetail ffd' +
    '  inner join INNERFINSOURCE s_ifs on (s_ifs.ID = ffd.SourceIFS)' +
    '  inner join KD s_KD on (s_KD.ID=ffd.SourceKD)' +      
    '  left join TransfertCLS s_tc on (s_tc.ID = ffd.SourceTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.SourceMeansType)' +
    '  left join FacialAcc_Cls sf on (sf.id = ffd.SourceFacialAcc_CLS)' +
    '  left join KVSR tKvsr on (tKvsr.id = ffd.SourceKVSR)' +
    '  left join KCSR tKcsr on (tKcsr.id = ffd.SourceKCSR)' +
    '  left join KVR tKvr on (tKvr.id = ffd.SourceKVR)' +
    '  left join SubsidyCls tSubs on (tSubs.ID = ffd.SourceSubsidyCls)' + 
    '  left join BudAllocationCls tBudAl on (tBudAl.id = ffd.SourceBudAllocationCls)' +     
    '  left join PayPromiseCls tPr on (tPr.ID = ffd.SourcePayPromiseCls)' +
    '  left join Organizations org on (org.id = sf.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE spsl on ((ffd.SourceBudgetPromise = spsl.InnerPromiseNum) and (ffd.SourcePromise = spsl.ANumber))' +
    '  left join ExecutionDocumentsCaption sedc on (ffd.SourceExecDoc = sedc.ID)' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.DocumentDate, C.DocNumber, FFR.ReestrDate, FFR.ReestrNumber, ffr.REESTRTYPEEX REESTRTYPE,' + 
    '  ffr.Accepted, C.AcceptDate, C.TYPEOPERATIONCLS, C.PayPriority, C.Note, C.DestAccount, C.SourceAccount, C.CardRef,' +
    '  C.PayDate, C.PaySymbolCLS, C.PayTypeCLS, C.Period, C.Reject_CLS, C.RejectCause, C.SourceFacialAcc_CLS,' +
    '  C.CARDNUMBER, C.ArhiveDoc, C.Reestr_Ref, C.BuhPaymentCLS, C.BUDGETRef, c.FEDERALFUNDSREF, C.ProgIndex,' +
    '  c.DocStateRef, cast(null as Integer) BeginDocStateRef,' +
    '  pde.PacketNumber, pde.DocNumber pdeDocNumber, pde.SendDate, pde.Error, pde.Note ErrorNote, pde.Status, pde.QueueTime,' +
    '  C.NDS, C.TaxNote, C.BidNumber, C.ManagerBid, C.OperationDirection, C.StimateID, mbid.ManagerBIDNUMBER, C.Credit Summa' +
    ' FROM FacialFinCaption C' +
    '  left join FacialFinReestr FFR on FFR.ID=C.Reestr_Ref' +
    '  left join PayDocExchange pde on pde.PayDocRef=C.id' +
    '  left join MANAGERBID mbid on (mbid.id = C.ManagerBid)' +     
    'WHERE (C.ProgIndex=63) and (C.ID in (@MasterID))';  
  результат.Values(кЗапросРеестра) :=
    'SELECT Cpt.id, Cpt.Docnumber, Cpt.DocumentDate, ffr.ReestrNumber, ffr.ReestrDate, ffr.REESTRTYPEEX REESTRTYPE, ffr.Accepted,' +
    '  Cpt.Credit summa, Cpt.AcceptDate, Cpt.Note, Cpt.TYPEOPERATIONCLS, Cpt.PAyPriority, Cpt.SourceFacialAcc_CLS,' +
    '  Cpt.DestAccount, Cpt.SourceAccount, Cpt.BuhPaymentCls, Cpt.PayDate, Cpt.PaySymbolCLS, Cpt.PayTypeCLS,' +
    '  Cpt.Period, Cpt.Reject_CLS, Cpt.RejectCause, Cpt.CARDNUMBER, Cpt.ArhiveDoc, Cpt.Reestr_Ref,' +
    '  pde.PacketNumber, pde.DocNumber pdeDocNumber, pde.SendDate, pde.Error, pde.Note ErrorNote, pde.Status, pde.QueueTime,' +
    '  Cpt.DestType, Cpt.SourceType , 0 ControlResult, cpt.Note ControlMessage, Cpt.NDS, Cpt.TaxNote,' +
    '  cpt.DocStateRef, cast(null as Integer) BeginDocStateRef,' +
    '  Cpt.BidNumber, Cpt.ManagerBid, cpt.FEDERALFUNDSREF, Cpt.StimateID, mbid.ManagerBIDNUMBER, Cpt.BUDGETRef' +
    ' FROM FacialFINCAPTION Cpt' +
    '  inner join FacialFinReestr ffr on cpt.Reestr_ref=ffr.ID' +
    '  left join PayDocExchange pde on pde.PayDocRef=cpt.id' +      
    '  left join MANAGERBID mbid on (mbid.id = Cpt.ManagerBid)' +
    ' WHERE (ffr.ReestrNumber="@Registry") and (cpt.progIndex=63)';   
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  Данные, Заголовок: СтатическиеДанные;
  ti: ITableInfoX;
  КонДата, СтарыйФильтр: строка;
  СсылкаНаРеестрУРМ/*, ВариантКонечнойДаты, СтарыйФильтрВключен*/: целое;
  ИндексКолонки: целое;   
начало
  // получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // тип ограничения по текущей дате или нет
  если Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := '';  // если конДата останется пустой, то по умолчанию останется ограничение по текущей дате с сервера
/*    ВариантКонечнойДаты := ЦелаяКонстанта(57, 1);
    выбрать ВариантКонечнойДаты из
      0: КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");  //по макс. дату реестра в документах  
  //      1: КонДата := ДатаВСтроку(ТекущаяДатаССервера);  //по текущую дату с сервера
      2: начало  //по макс. дату реестра в документах за исключением п/п от УРМ
           СтарыйФильтр := Заголовок.Фильтр;
           СтарыйФильтрВключен := Заголовок.Filtered;
           СсылкаНаРеестрУРМ := ЦелаяКонстанта(56, 0);
           попытка
             заголовок.Фильтр := 'not((КодРеестра='+целоеВСтроку(СсылкаНаРеестрУРМ)+')or(КодРеестра is null))';
             заголовок.Filtered := да;
             если Заголовок.ЧислоЗаписей &gt; 0 тогда КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");
  //             иначе КонДата := ДатаВСтроку(ТекущаяДатаССервера);
           обязательно
             Заголовок.Filtered := СтарыйФильтрВключен;
             Заголовок.Фильтр := СтарыйФильтр; 
           конец;  
         конец;
    конец;//выбрать*/
    СтарыйФильтр := Заголовок.Фильтр;
    СсылкаНаРеестрУРМ := ЦелаяКонстанта(56, 0);
    попытка
      // если есть ссылка на реестр (за исключением реестра УРМ), то ограничиваем по дате реестра,
      // иначе, если заполнена дата документа и она превышает текущую дату, то ограничиваем по дате документа,
      // иначе ограничиваем по дате принятия (если дата принятия пуста, то функция MaxDateExToStr вернет текущую дату)
      Заголовок.Фильтр := 'not((КодРеестра = ' + ЦелоеВСтроку(СсылкаНаРеестрУРМ) + ') or (КодРеестра is null))';
      если Заголовок.ЧислоЗаписей = 0 тогда
      начало
        Заголовок.Фильтр := 'ДатаДокумента &gt; ' + ЦелоеВСтроку(СтрокаВРасширеннуюДату(ДатаВСтроку(ТекущаяДата)));
        если Заголовок.ЧислоЗаписей = 0 тогда
        начало
          Заголовок.Фильтр := СтарыйФильтр; 
          КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
        конец
        иначе
          КонДата := MaxDateExToStr(Заголовок, "ДатаДокумента");
      конец 
      иначе
        КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");
    обязательно
      Заголовок.Фильтр := СтарыйФильтр; 
    конец;  
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
    // накладываем ограничения по кодам состояний по OR:
    // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
    // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
    // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
    // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
    // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
    // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
    если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
      если КонтрольСостояний(Вид) тогда
      начало
        // Использовать GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') плохо, потому что
        // состояние, находящееся перед тем, которое должно учитываться в контролях, тоже должно быть пронумеровано,
        // чтобы при контроле НЕ ИЗ системы состояний (когда документ будет еще в своем начальном состоянии)
        // по нему наложилось ограничение строго "&gt;";
        // а поскольку появляется еще пронумерованный уровень состояния, которое уже не должно учитываться в контролях,
        // то при контроле ИЗ системы состояний в переходе "пустой уровень" - "пронумерованный неучитываемый уровень"
        // функция GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;=') учтет неучитывемый уровень,
        // и тогда результат контроля ИЗ системы состояний будет отличаться от контроля с интерфейса
        если Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое &gt; 0 тогда
          Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
      конец
      иначе
        // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
        // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
        если Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое &gt; 0 тогда
          Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  конец;
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");  
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values("ЛицСчетЧек") := да;  
      Ограничения.Values('ЛицСчет') := GetLimitStr(Заголовок, "ЛицевойСчет");
    конец;
  // формируем ограничение по организации ГРБС лс
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнПП := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнПП" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:12:59</param>
    <param value="БК_КазнПП" type="3" name="version">36.193.139</param>
    <param value="БК_КазнПП" type="3" name="crc32">$A553A054</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнПриходОтПрочих">// Бюджетный контроль прихода от прочих
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_КазнПриходОтПрочих(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 305;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,ЛицевойСчет,КодБюджета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";        
  результат.Values(кПоляЗаголовока) := "ОперацияПлат=SourceType,ОперацияПолуч=DestType,НачСостояниеДокумента=BeginDocStateRef";
  результат.Values(кКлассификаторы) := "НомерМемордера=MemOrderNum,ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType," +
    "ОрганизацияГлавныйРаспорядитель=OrgGRBS,ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber," +
    "ДокИсполненияВнутрНомер=ExecInnerNumber,КодБюджАссигнования=DestBudAllocationClsCode," +
    "КодРасходногоОбязательства=DestPayPromiseClsCode";
  результат.Values(кЗапрос) := 
    'SELECT ffd.DestFacialAcc_CLS, ffd.DestKFSR, ffd.DestKESR, ffd.DestKCSR, tKcsr.Code DestKCSRCode, ffd.DestKVSR,' +
    '  tKvsr.Code DestKVSRCode, ffd.DestKVR, tKvr.Code DestKVRCode, ffd.DestSubKESR, ffd.DestFact, ffd.DestMeansType,' +
    '  ffd.DestFinSource, ffd.DestFinType, ffd.DestDocType, ffd.RecordIndex, ffd.Credit SUMMA, ffd.ID, ffd.Note,' +
    '  ffd.DESTDIRECTIONCLS, ffd.DestRegionCLS, ffd.ProgIndex, ffd.BuhOperationCls, ffd.ClsType,' +
    '  ffd.DestBudgetPromise, ffd.DestPromise, ffd.DestPromise DestBudgetPromiseNum, ffd.DestExecDoc,' +
    '  ffd.DestExecInnerNumber, ffd.DestExecInnerNumber ExecInnerNumber, ffd.DestKD, d_KD.KDValue DestKD_Value,' +
    '  ffd.DestIFS, d_ifs.FINSOURCEVALUE DestIFS_FullID, ffd.DestTransfertCls, d_tc.Code DestTransfertClsCode,' +
    '  mt.ActivityKind, mt.ActivityType, org_RBS.GENERALORG_REF OrgGRBS, ffd.DestSubsidyCls, tSubs.Code DestSubsidyClsCode,' +
    '  ffd.DestBudAllocationCls, tBudAl.Code DestBudAllocationClsCode, ffd.DestPayPromiseCls, tPr.Code DestPayPromiseClsCode,' +
    '  ffd.DestFundsSource, ffd.DestDocBase' +
    ' FROM FacialFinDetail ffd' +
    '  inner join INNERFINSOURCE d_ifs on (d_ifs.ID = ffd.DestIFS)' +
    '  left join KD d_KD on (d_KD.ID = ffd.DestKD)' +      
    '  left join TransfertCLS d_tc on (d_tc.ID = ffd.DestTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.DestMeansType)' +
    '  left join FacialAcc_Cls df on (df.id = ffd.DestFacialAcc_CLS)' +
    '  left join KVSR tKvsr on (tKvsr.id = ffd.DestKVSR)' +
    '  left join KCSR tKcsr on (tKcsr.id = ffd.DestKCSR)' +
    '  left join KVR tKvr on (tKvr.id = ffd.DestKVR)' +
    '  left join SubsidyCls tSubs on (tSubs.ID = ffd.DestSubsidyCls)' +      
    '  left join BudAllocationCls tBudAl on (tBudAl.id = ffd.DestBudAllocationCls)' +
    '  left join PayPromiseCls tPr on (tPr.ID = ffd.DestPayPromiseCls)' +
    '  left join Organizations org on (org.id = df.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE dpsl on ((ffd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ffd.DestPromise = dpsl.ANumber))' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';    
  результат.Values(кЗапросРеестра) := "";
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.DestAccount, C.SourceAccount, C.PayTypeCLS, C.PAyDate, C.BUDGETRef,' + 
    '  C.DocumentDate, C.TYPEOPERATIONCLS, C.AcceptDate, C.DocumentDate, C.DocNumber, C.Note, C.ProgIndex,' +
    '  C.DestFacialAcc_CLS, C.BuhPaymentCLS, C.Reject_CLS, C.RejectCause, C.ArhiveDoc, C.Reestr_Ref, C.FEDERALFUNDSREF,' +
    '  C.DocStateRef, cast(null as Integer) BeginDocStateRef' +
    ' FROM FacialFinCaption C' + 
    ' WHERE (C.ProgIndex = 61) and (C.ID in (@MasterID))';  
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(Наборыданных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  Данные, Заголовок: СтатическиеДанные;   
  ИндексКолонки: ЦЕЛОЕ;
  КонДата: строка;
начало
  // получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
    // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
    // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // формируем ограничение по л/с получателя с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, "ЛицевойСчет");
      Ограничения.Values("ЛицСчетЧек") := да;  
    конец;  
  // формируем ограничение по организации ГРБС лс
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнПриходОтПрочих := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнПриходОтПрочих" type="3" name="Export">MARAEVA7\baranova\29.04.2013 18:12:31</param>
    <param value="БК_КазнПриходОтПрочих" type="3" name="version">36.193.139</param>
    <param value="БК_КазнПриходОтПрочих" type="3" name="crc32">$B69694A0</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнПриходПоОбъявлениям">включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_КазнПриходПоОбъявлениям(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 306;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,ЛицевойСчет,КодБюджета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := "ОперацияПлат=SourceType,ОперацияПолуч=DestType,НачСостояниеДокумента=BeginDocStateRef," +
    "НомерКарточки=CardNumber";
  результат.Values(кКлассификаторы) := 'ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,' +
    'НомерМемордера=MemOrderNum,ДатаУдаленияКД=DeleteDate,ОрганизацияГлавныйРаспорядитель=OrgGRBS,' +
    'ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber,ДокИсполненияВнутрНомер=ExecInnerNumber,' +
    'КодБюджАссигнования=DestBudAllocationClsCode,КодРасходногоОбязательства=DestPayPromiseClsCode';    
  результат.Values(кЗапрос) := 
    'SELECT ffd.DestFacialAcc_CLS, ffd.DestKESR, ffd.DestKFSR, ffd.DestKCSR, tKcsr.Code DestKCSRCode, ffd.DestKVSR,' +
    '  tKvsr.Code DestKVSRCode, ffd.DestKVR, tKvr.Code DestKVRCode, ffd.DestSubKESR, ffd.DestFact, ffd.DestMeansType,' +
    '  ffd.DestFinSource, ffd.DestFinType, ffd.DestDocType, ffd.RecordIndex, ffd.PaySymbolCLS, ffd.RequestsIndex,' + 
    '  ffd.ID, ffd.MemOrderNum, ffd.DESTDIRECTIONCLS, ffd.Credit SUMMA, ffd.DestRegionCLS, ffd.ProgIndex, ffd.Note,' +
    '  ffd.DestBudgetPromise, ffd.DestPromise, ffd.DestPromise DestBudgetPromiseNum,' +
    '  ffd.DestExecDoc, ffd.DestExecInnerNumber, ffd.DestExecInnerNumber ExecInnerNumber,' +
    '  ffd.BuhOperationCls, ffd.ClsType, ffd.DestIFS, d_ifs.FINSOURCEVALUE DestIFS_FullID, ffd.DestKD,' +
    '  d_KD.KDValue DestKD_Value, d_KD.DeleteDate, ffd.DestTransfertCls, d_tc.Code DestTransfertClsCode,' +
    '  mt.ActivityKind, mt.ActivityType, org_RBS.GENERALORG_REF OrgGRBS, ffd.DestSubsidyCls, tSubs.Code DestSubsidyClsCode,' +      
    '  ffd.DestBudAllocationCls, tBudAl.Code DestBudAllocationClsCode, ffd.DestPayPromiseCls, tPr.Code DestPayPromiseClsCode,' +
    '  ffd.DestFundsSource, ffd.DestDocBase' +
    ' FROM FacialFinDetail ffd' +
    '  inner join INNERFINSOURCE d_ifs on (d_ifs.ID = ffd.DestIFS)' +
    '  inner join KD d_KD on (d_KD.ID = ffd.DestKD)' +      
    '  left join TransfertCLS d_tc on (d_tc.ID = ffd.DestTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.DestMeansType)' +
    '  left join FacialAcc_Cls df on (df.id = ffd.DestFacialAcc_CLS)' +
    '  left join KVSR tKvsr on (tKvsr.id = ffd.DestKVSR)' +
    '  left join KCSR tKcsr on (tKcsr.id = ffd.DestKCSR)' +
    '  left join KVR tKvr on (tKvr.id = ffd.DestKVR)' +
    '  left join SubsidyCls tSubs on (tSubs.ID = ffd.DestSubsidyCls)' +      
    '  left join BudAllocationCls tBudAl on (tBudAl.id = ffd.DestBudAllocationCls)' +
    '  left join PayPromiseCls tPr on (tPr.ID = ffd.DestPayPromiseCls)' +
    '  left join Organizations org on (org.id = df.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE dpsl on ((ffd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ffd.DestPromise = dpsl.ANumber))' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросРеестра) := "";
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.DestAccount, C.SourceAccount, C.BUDGETRef, C.DocumentDate,' + 
    '  C.TYPEOPERATIONCLS, C.AcceptDate, C.DocumentDate, C.DocNumber, C.Note,  C.DestFacialAcc_CLS, C.ProgIndex,' +
    '  C.BuhPaymentCLS, C.Reject_CLS, C.RejectCause, C.ArhiveDoc, C.Reestr_Ref, C.FEDERALFUNDSREF, C.ClsType,' +
    '  C.DocStateRef, cast(null as Integer) BeginDocStateRef, C.CardNumber, C.CardRef' +
    ' FROM FacialFinCaption C' + 
    ' WHERE (C.ProgIndex = 62) and (C.ID in (@MasterID))';  
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  Данные, Заголовок: СтатическиеДанные;   
  ИндексКолонки: ЦЕЛОЕ;
  КонДата: строка;
начало
  // получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
    // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
    // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // формируем ограничение по л/с получателя с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");   
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, "ЛицевойСчет");
      Ограничения.Values("ЛицСчетЧек") := да;  
    конец;  
  // формируем ограничение по организации ГРБС лс
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнПриходПоОбъявлениям := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнПриходПоОбъявлениям" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:13:05</param>
    <param value="БК_КазнПриходПоОбъявлениям" type="3" name="version">36.193.139</param>
    <param value="БК_КазнПриходПоОбъявлениям" type="3" name="crc32">$0BA60507</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнРазассигновка">// Контроль разассигновки  
//  Автор: Бурдельный Р.В. 
//  Число: 14.10.02 
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_КазнПриходРазассигновка(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
переменные
  ПолеБОВБазе, ПолеБОНаИнтерфейсе: строка;
начало
  если (ЦелаяКонстанта(30, 15) = 1) тогда
  начало
    ПолеБОВБазе := "ffd.DestPromise";
    ПолеБОНаИнтерфейсе := "DestBudgetPromiseNum";
  конец
  иначе
    начало
      ПолеБОВБазе := "ffd.Promise";
      ПолеБОНаИнтерфейсе := "Promise";
    конец;
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 303;
  результат.Values(кСсылкаНаМодуль) := Adapter;  
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПолеРеестра) := 'ReestrNumber';
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,КодБюджета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := 'ОперацияПолуч=DestType,ОперацияПлат=SourceType,ТипРеестра=REESTRTYPE,' +
    'НачСостояниеДокумента=BeginDocStateRef';
  результат.Values(кКлассификаторы) := 'ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,' +
    'ОрганизацияГлавныйРаспорядитель=OrgGRBS,ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber,ДокИсполненияВнутрНомер=ExecInnerNumber,' +
    'КодБюджАссигнования=DestBudAllocationClsCode,КодРасходногоОбязательства=DestPayPromiseClsCode';    
  результат.Values(кЗапрос) := 
    'SELECT ffd.DestFacialAcc_CLS, ffd.DestKFSR, ffd.DestKESR, ffd.DestKCSR, tKcsr.Code DestKCSRCode, ffd.DestKVSR,' +
    '  tKvsr.Code DestKVSRCode, ffd.DestKVR, tKvr.Code DestKVRCode, ffd.DestSubKESR, ffd.DestFact, ffd.DestMeansType,' +
    '  ffd.DestFinSource, ffd.DestFinType, ffd.DestDocType, ffd.RecordIndex, ffd.ID, ' + ПолеБОВБазе + ' Promise,' +
    '  ffd.RequestsIndex, ffd.MemOrderNum, ffd.DestBudgetPromise, ffd.Credit SUMMA, ffd.DestPromise DestBudgetPromiseNum,' +
    '  ffd.DestDIRECTIONCLS, ffd.BuhOperationCls, ffd.DestIFS, ffd.ClsType, d_ifs.FINSOURCEVALUE DestIFS_FullID,' +
    '  ffd.DestRegionCLS, ffd.ProgIndex, ffd.DestTransfertCls, d_tc.Code DestTransfertClsCode, mt.ActivityKind, mt.ActivityType,' +
    '  org_RBS.GENERALORG_REF OrgGRBS, ffd.DestExecInnerNumber, ffd.DestExecInnerNumber ExecInnerNumber,' +
    '  ffd.DestSubsidyCls, tSubs.Code DestSubsidyClsCode, ffd.DestBudAllocationCls, tBudAl.Code DestBudAllocationClsCode,' +
    '  ffd.DestPayPromiseCls, tPr.Code DestPayPromiseClsCode' +      
    ' FROM FacialFinDetail ffd' +
    '  inner join INNERFINSOURCE d_ifs on (d_ifs.ID = ffd.DestIFS)' +
    '  left join TransfertCLS d_tc on (d_tc.ID = ffd.DestTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.DestMeansType)' +
    '  left join FacialAcc_Cls df on (df.id = ffd.DestFacialAcc_CLS)' +
    '  left join KVSR tKvsr on (tKvsr.id = ffd.DestKVSR)' +
    '  left join KCSR tKcsr on (tKcsr.id = ffd.DestKCSR)' +
    '  left join KVR tKvr on (tKvr.id = ffd.DestKVR)' +
    '  left join SubsidyCls tSubs on (tSubs.ID = ffd.DestSubsidyCls)' +      
    '  left join BudAllocationCls tBudAl on (tBudAl.ID = ffd.DestBudAllocationCls)' +
    '  left join PayPromiseCls tPr on (tPr.ID = ffd.DestPayPromiseCls)' +
    '  left join Organizations org on (org.id = df.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE dpsl on ((ffd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ffd.DestPromise = dpsl.ANumber))' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросРеестра) :=
    'SELECT Cpt.id, Cpt.Docnumber, Cpt.DocumentDate, ffr.ReestrNumber, ffr.ReestrDate, ffr.ReestrTypeEx REESTRTYPE,' +
    '  ffr.Accepted, Cpt.BUDGETRef, Cpt.AcceptDate, Cpt.Note, Cpt.TYPEOPERATIONCLS,  Cpt.SourceFacialAcc_CLS,' +
    '  cpt.BuhPaymentCLS, Cpt.ProgIndex, Cpt.Reject_CLS, Cpt.RejectCause, Cpt.ArhiveDoc, Cpt.Reestr_Ref,' +
    '  Cpt.DestAccount, Cpt.SourceAccount, Cpt.DestType, Cpt.SourceType , Cpt.Credit summa, 0 ControlResult,' +
    '  Cpt.Note ControlMessage, Cpt.FEDERALFUNDSREF, Cpt.DocStateRef, cast(null as Integer) BeginDocStateRef' +
    ' FROM FacialFINCAPTION Cpt' +
    '  inner join FacialFinReestr ffr on (cpt.Reestr_ref = ffr.ID)' +
    ' WHERE (ffr.ReestrNumber = "@Registry") and (cpt.progIndex = 65)';   
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.DocumentDate, C.DocNumber, FFR.ReestrDate, FFR.ReestrNumber,' +
    '  ffr.ReestrTypeEx REESTRTYPE, ffr.Accepted, C.AcceptDate, C.TYPEOPERATIONCLS, C.SourceFacialAcc_CLS, C.Note,' + 
    '  C.DestAccount, C.SourceAccount, c.BuhPaymentCLS, C.BUDGETRef, C.Reestr_Ref, C.Reject_CLS, C.RejectCause,' +
    '  C.ArhiveDoc, C.FEDERALFUNDSREF, C.ProgIndex, C.DocStateRef, cast(null as Integer) BeginDocStateRef' +
    ' FROM FacialFinCaption C' + 
    '  left join FacialFinReestr FFR on (FFR.ID = C.Reestr_Ref)' +            
    ' WHERE (C.ProgIndex = 65) and (C.ID in (@MasterID))';  
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  ИндексКолонки: ЦЕЛОЕ;
  КонДата: строка;
  Данные, Заголовок: СтатическиеДанные; 
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
    // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
    // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // формируем ограничение по л/с получателя с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField('ЛицевойСчет');        
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values("ЛицСчет") := GetLimitStr(Данные, 'ЛицевойСчет');
      Ограничения.Values("ЛицСчетЧек") := да;
    конец;
  // формируем ограничение по организации ГРБС лс
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнПриходРазассигновка := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнРазассигновка" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:13:11</param>
    <param value="БК_КазнРазассигновка" type="3" name="version">36.193.139</param>
    <param value="БК_КазнРазассигновка" type="3" name="crc32">$7FC9173D</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнРазассигновкаЛиней">//******************************************************************************************************
//  **********************Контроль разассигновки(получателя)***************************  
//  Автор: Бурдельный Р.В. 
//  Число: 14.10.02 
//Внимание!!! контроль по состояниям не поддерживается 
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";

БК_КазнПриходРазассигновка(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
переменные
  ПолеБОВБазе, ПолеБОНаИнтерфейсе: строка;
начало
  если (ЦелаяКонстанта(30,15) = 1) тогда
  начало
    ПолеБОВБазе := "ffd.DestPromise";
    ПолеБОНаИнтерфейсе := "DestBudgetPromiseNum";
  конец
  иначе
    начало
      ПолеБОВБазе := "ffd.Promise";
      ПолеБОНаИнтерфейсе := "Promise";
    конец;
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 317;
  результат.Values(кСсылкаНаМодуль) := Adapter;  
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,КодБюджета';
  результат.Values(кПоляЗаголовока) := "ОперацияПолуч=DestType,ОперацияПлат=SourceType,ТипРеестра=ReestrType," +
    "ФедеральныеСредства=FEDERALFUNDSREF";
  результат.Values(кКлассификаторы) := 'БОВнутрНомер=DestBudgetPromise,БОНомер=DestBudgetPromiseNum,' +
    'ТипКлассификации=ClsType,ИсточникВнутрФинансированияКлюч=DestIFS,ИсточникВнутрФинансированияКлючПолуч=DestIFS,' +    
    'ИсточникВнутрФинансирования=DestIFS_FullID,ИсточникВнутрФинансированияПолуч=DestIFS_FullID,' +
    'ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber,ДокИсполненияВнутрНомер=ExecInnerNumber,ВидДеятельности=ActivityKind';    
  результат.Values(кЗапрос) := 
    'SELECT ffd.DestFacialAcc_CLS, ffd.DestKFSR, ffd.DestKESR, ffd.DestKCSR, tKcsr.Code DestKCSRCode, ffd.DestKVSR,' +
    '  tKvsr.Code DestKVSRCode, ffd.DestKVR, tKvr.Code DestKVRCode, ffd.DestSubKESR, ffd.DestFact, ffd.DestMeansType,' +
    '  ffd.DestFinSource, ffd.DestFinType, ffd.DestDocType, ffd.RecordIndex, ffd.ID, ' + ПолеБОВБазе + ' Promise,' +
    '  ffd.RequestsIndex, ffd.MemOrderNum, ffd.DestBudgetPromise, ffd.Credit SUMMA, ffd.DestPromise DestBudgetPromiseNum,' +
    '  ffd.DestDirectionCLS, ffc.GroupId, ffd.BuhOperationCls, ffd.DestIFS, d_ifs.FINSOURCEVALUE DestIFS_FullID,' +
    '  ffd.DestExecInnerNumber, ffd.DestExecInnerNumber ExecInnerNumber, ffd.ClsType, mt.ActivityKind, ffd.DestTransfertCls, d_tc.Code DestTransfertClsCode'  +
    ' FROM FacialFinDetail ffd' +
    '  inner join FacialFinCaption ffc on (ffc.ID=ffd.RecordIndex)' +
    '  inner join INNERFINSOURCE d_ifs on (d_ifs.ID=ffd.DestIFS)' +
    '  left join KVSR tKvsr on (tKvsr.id = ffd.DestKVSR)' +
    '  left join KCSR tKcsr on (tKcsr.id = ffd.DestKCSR)' +
    '  left join KVR tKvr on (tKvr.id = ffd.DestKVR)' +
    '  left join TransfertCLS d_tc on (d_tc.ID = ffd.DestTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.DestMeansType)' +
    '  left join PAYMENTSCHEDULE dpsl on ((ffd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ffd.DestPromise = dpsl.ANumber))' +
    ' WHERE (ffc.RecordIndex in (@MasterID))';
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.DocumentDate, C.DocNumber, FFR.ReestrDate, FFR.ReestrNumber, C.Note,' +
    '  FFR.ReestrTypeEX ReestrType, C.BUDGETRef, C.AcceptDate, C.TYPEOPERATIONCLS, C.DestAccount, C.SourceAccount,' + 
    '  C.FEDERALFUNDSREF, C.Reject_CLS, C.RejectCause, C.SourceFacialAcc_CLS, C.ArhiveDoc, C.Reestr_Ref' +
    ' FROM FacialFinCaption C' + 
    '  left join FacialFinReestr FFR on FFR.ID = C.Reestr_Ref' +            
    ' WHERE (C.ProgIndex = 65) and (C.ID in (@MasterID))';  
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  ИндексКолонки: ЦЕЛОЕ;
  Данные, Заголовок: СтатическиеДанные; 
  КонДата: строка;
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;
  // формируем ограничение по л/с получателя с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField('ЛицевойСчет');    
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда  
    начало
      Ограничения.Values("ЛицСчет") := GetLimitStr(Данные, 'ЛицевойСчет');
      Ограничения.Values("ЛицСчетЧек") := да;  
    конец;
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнПриходРазассигновка := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнРазассигновкаЛиней" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:13:14</param>
    <param value="БК_КазнРазассигновкаЛиней" type="3" name="version">36.193.139</param>
    <param value="БК_КазнРазассигновкаЛиней" type="3" name="crc32">$13989553</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнРаспределениеОФ">// Управляющий макрос контроля документов "Распределение объемов финансирования" 
включить '\Макросы\Контроль\ПоддержкаКонтроля.abl';
включить '\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl';
включить '\Библиотеки\LibRU.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\StateManage.lib';

БК_КазнРаспределениеОФ(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 324;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,КодБюджета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := 'ОперацияПолуч=DestType,ОперацияПлат=SourceType,ТипРеестра=REESTRTYPE,' +
    'НачСостояниеДокумента=BeginDocStateRef';
  результат.Values(кКлассификаторы) := 'ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,' +
    'ОрганизацияГлавныйРаспорядитель=SourceOrgGRBS,DestOrgGRBS=DestOrgGRBS,' +
    'ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber,ДокИсполненияВнутрНомерПлат=SourceExecInnerNumber,' +
    'КодБюджАссигнования=DestBudAllocationClsCode,КодБюджАссигнованияКлюч=DestBudAllocationCls,' +
    'КодРасходногоОбязательстваКлюч=DestPayPromiseCls,КодРасходногоОбязательства=DestPayPromiseClsCode';
  результат.Values(кЗапрос) := 
    "SELECT OFD.id, OFD.SourceFacialAcc_CLS, OFD.DestFacialAcc_CLS, OFD.DestKVR, tKvr.Code DestKVRCode, OFD.DestKESR," +     
    "  OFD.DestKVSR, tKvsr.Code DestKVSRCode, OFD.DestKCSR, tKcsr.Code DestKCSRCode, OFD.DestKFSR, OFD.DestSubKESR," +
    "  OFD.DestDirectionCLS, OFD.DestFact, OFD.DestMeansType, OFD.DestFinType, OFD.DestFinSource, OFD.DestDocType," +
    "  OFD.DestDocBase, OFD.BuhOperationCLS, OFD.Note, OFD.Credit summa, OFD.RecordIndex, OFD.RequestsIndex," + 
    "  OFD.DestIfs, IFS_Dest.FinSourceValue DestIFS_FullId, OFD.AcceptDate, OFD.MemOrderNum, OFD.DestRegionCLS, " +
    "  OFD.SourcePromise, OFD.SourcePromise SourceBudgetPromiseNum, OFD.DestPromise, OFD.DestPromise DestBudgetPromiseNum," +
    "  OFD.SourceBudgetPromise, OFD.DestBudgetPromise, OFD.UNIONNOTIFYREF, OFD.ProgIndex, mt.ActivityKind, mt.ActivityType," +
    "  OFD.DestTransfertCls, d_tc.Code DestTransfertClsCode, s_org_RBS.GENERALORG_REF SourceOrgGRBS, " +
    "  d_org_RBS.GENERALORG_REF DestOrgGRBS, OFD.DestExecInnerNumber, OFD.SourceExecInnerNumber," + 
    "  OFD.DestBudAllocationCls, tBudAl.Code DestBudAllocationClsCode, OFD.DestPayPromiseCls, tPr.Code DestPayPromiseClsCode," +
    "  OFD.DestSubsidyCls, tSubs.Code DestSubsidyClsCode" +
    " FROM FacialFINDETAIL OFD" +
    "  left join InnerFinSource IFS_Dest on (ifs_Dest.id = ofd.DestIFS)" +
    "  left join MeansType mt on (mt.ID = OFD.DestMeansType)" +
    "  left join TransfertCLS d_tc on (d_tc.ID = OFD.DestTransfertCls)" +      
    "  left join KVSR tKvsr on (tKvsr.id = OFD.DestKVSR)" +
    "  left join KCSR tKcsr on (tKcsr.id = OFD.DestKCSR)" +
    "  left join KVR tKvr on (tKvr.id = OFD.DestKVR)" +
    "  left join BudAllocationCls tBudAl on (tBudAl.Id = OFD.DestBudAllocationCls)" +
    "  left join PayPromiseCls tPr on (tPr.ID = OFD.DestPayPromiseCls)" +
    "  left join SubsidyCls tSubs on (tSubs.ID = OFD.DestSubsidyCls)" +      
    "  left join FacialAcc_Cls df on (df.id = OFD.DestFacialAcc_CLS)" +
    "  left join Organizations d_org on (d_org.id = df.Org_Ref)" +
    "  left join Organizations d_org_RBS on (d_org_RBS.id = d_org.GENERALORG_REF)" +
    "  left join FacialAcc_Cls sf on (sf.id = OFD.SourceFacialAcc_CLS)" +
    "  left join Organizations s_org on (s_org.id = sf.Org_Ref)" +
    "  left join Organizations s_org_RBS on (s_org_RBS.id = s_org.GENERALORG_REF)" +
    "  left join PAYMENTSCHEDULE spsl on ((ofd.SourceBudgetPromise = spsl.InnerPromiseNum) and (ofd.SourcePromise = spsl.ANumber))" + 
    "  left join PAYMENTSCHEDULE dpsl on ((ofd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ofd.DestPromise = dpsl.ANumber))" + 
    " WHERE (OFD.recordIndex in (@MasterID))";
  результат.Values(кЗапросЗаголовка) := 
    "SELECT cpt.id, cpt.DestType, cpt.SourceType, cpt.BudgetRef, cpt.Docnumber, cpt.Reestr_ref, cpt.DocumentDate," +
    "  cpt.AcceptDate, cpt.Credit summa, cpt.SourceAccount, cpt.SourceFacialAcc_CLS, cpt.DestAccount," +
    "  cpt.ArhiveDoc, cpt.Note, cpt.TypeOperationCls, cpt.BuhPaymentCls, cpt.Reject_cls, cpt.RejectCause," +
    "  ffr.ReestrNumber, ffr.ReestrDate, ffr.ReestrTypeEx REESTRTYPE, ffr.Accepted, cpt.ClsType, Cpt.ProgIndex," +
    "  cpt.DocStateRef, cast(null as Integer) BeginDocStateRef" +
    " FROM FacialFINCAPTION Cpt" +
    "  left join FacialFinReestr ffr on (cpt.Reestr_Ref=ffr.ID)" +
    " WHERE (cpt.ProgIndex = 76) and (Cpt.ID in (@MasterID))";
конец;
 
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  КонДата: строка;
  Данные, Заголовок: СтатическиеДанные;
  ti: ITableInfoX;
  ИндексКолонки: ЦЕЛОЕ;
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату принятия
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;    
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
    // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
    // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("DestFacialAccCLS") тогда Ограничения.Delete("DestFacialAccCLS");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField('ЛицевойСчет');
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, 'ЛицевойСчет');
      Ограничения.Values('ЛицСчетЧек') := да;      
    конец;
  если Данные.FindField('DestFacialAccCLS', nil) тогда
  начало
    Ограничения.Values('DestFacialAccCLS') := GetLimitStr(Данные, 'DestFacialAccCLS');
    Ограничения.Values('ЛицСчетЧек') := да;      
  конец;
  // формируем ограничение по ГРБС лс плательщика и лс получателя
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  если Ограничения.ПараметрСуществует("DestOrgGRBS") тогда Ограничения.Delete("DestOrgGRBS");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
  если Данные.FindField("DestOrgGRBS", nil) тогда
    Ограничения.Values("DestOrgGRBS") := GetLimitStr(Данные, "DestOrgGRBS");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнРаспределениеОФ := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец. 
</value>
    <param value="БК_КазнРаспределениеОФ" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:13:18</param>
    <param value="БК_КазнРаспределениеОФ" type="3" name="version">36.193.139</param>
    <param value="БК_КазнРаспределениеОФ" type="3" name="crc32">$FB63FE7E</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнРеестр">//***************************************************************************************************
//                              Бюджетный контроль расходных реестров(предполагается что проверяется одна запись) 
включить "Project";
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Макросы\Контроль\ВыборСИнтерфейса.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Documents.lib";
включить "\Библиотеки\Pather.lib";

БК_КазнРеестр(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
константы
  КонстПолеСсылкаНаРеестр = "Reestr_ref";
  
функция ПолучитьКартуПолей: IVariables;
переменные
  ПолеБОНаИнтерфейсе: строка;
начало
  если (ЦелаяКонстанта(30, 15) = 1) тогда
    ПолеБОНаИнтерфейсе := "SourceBudgetPromiseNum"
  иначе
    ПолеБОНаИнтерфейсе := "SourcePromise";
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 307;
  результат.Values(кСсылкаНаМодуль) := Adapter;  
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПолеРеестра) := 'ReestrNumber';
  результат.Values(кПоляОгрЗаголовка) := "ДатаРеестра,КодБюджета";
  результат.Values(кЛогСуммы) := "";
  результат.Values(кВернутьРезНаИнтфСтандартно) := нет;
  результат.Values(кУбратьДиалогРеестра) := да;
  результат.Values(кПоляЗаголовока) :=
    'СчетПлат=SourceAccount,СчетПолуч=DestAccount,ТипОперации=TypeOperationCLS,Очередность=PayPriority,' +
    'СрокПлатежа=PayDate,КассовыйСимвол=PaySymbolCLS,ВидПлатежа=PayTypeCLS,БухПроводка=BuhPaymentCLS,' +    
    'ОперацияПолуч=DestType,ОперацияПлат=SourceType,Отдел=DepartmentCls,СоcтояниеКазнДок=TreasuaryDocStateCLS,' +
    'Период=Period,НомерДокумента=DocNumber,НомерРеестра=ReestrNumber,ДатаДокумента=DocumentDate,' +
    'ДатаРеестра=ReestrDate,ДатаПринятия=AcceptDate,ДатаДокумента=DocumentDate,Примечание=Note,' +     
    'ПричинаОтклонКод=Reject_CLS,ПричинаОтклонТекст=RejectCause,ДатаОтправления=SendDate,НомерКарты=CARDNUMBER,' +
    'НомерПакета=PacketNumber,НомерЭлДок=pdeDocNumber,КодОшибки=Error,СодержаниеОшибки=ErrorNote,Статус=Status,' +
    'ВремяВОчередь=QueueTime,Архивные=ArhiveDoc,СсылкаРеестр=Reestr_Ref,ФедеральныеСредства=FEDERALFUNDSREF,' +
    'КодБюджета=BUDGETRef,ТипРеестра=REESTRTYPEEX,ПринятиеРеестра=Accepted,ИнформацияОналоге=TaxNote';
  результат.Values(кКлассификаторы) :=
    'ЛицевойСчет=SourceFacialAcc_CLS,КЭСР=SourceKESR,КЦСРКлюч=SourceKCSR,КЦСР=SourceKCSRCode,КВСРКлюч=SourceKVSR,' +
    'КВСР=SourceKVSRCode,КВРКлюч=SourceKVR,КВР=SourceKVRCode,КФСР=SourceKFSR,СубКЭСР=SourceSubKESR,' +
    'Мероприятие=SourceFact,ТипСредств=SourceMeansType,ИсточникФинансирования=SourceFinSource,' +
    'ТипФинансирования=SourceFinType,ТипДокумента=SourceDocType,Заявка=RequestsIndex,НомерМемордера=MemOrderNum,' +
    'Направление=SOURCEDIRECTIONCLS,КодСубсидииКлюч=SourceSubsidyCls,КодСубсидии=SourceSubsidyClsCode,' +
    'КодЦелевыхСредствКлюч=SourceTransfertCls,КодЦелевыхСредств=SourceTransfertClsCode,' +
    'КодРасходногоОбязательстваКлюч=SourcePayPromiseCls,КодРасходногоОбязательства=SourcePayPromiseClsCode,' +
    'КодБюджАссигнованияКлюч=SourceBudAllocationCls,КодБюджАссигнования=SourceBudAllocationClsCode,' +
    //поля для учета договоров
    'БюджОбяз=' + ПолеБОНаИнтерфейсе + ',БОВнутрНомер=SourceBudgetPromise,БОНомер=SourceBudgetPromiseNum,' +     
    //поля для 70н
    'БухОперация=BuhOperationCLS,ТипКлассификации=ClsType,ИсточникВнутрФинансированияКлюч=SourceIFS,' +
    'ИсточникВнутрФинансированияКлючПлат=SourceIFS,ИсточникВнутрФинансирования=SourceIFS_FullID,' +
    'ИсточникВнутрФинансированияПлат=SourceIFS_FullID,ИндексыДанных=ProgIndex,Регион=SourceRegionCLS'; 
  результат.Values(кЗапрос) := 
    'SELECT ffd.SourceFacialAcc_CLS, ffd.SourceKESR, ffd.SourceKCSR, tKcsr.Code SourceKCSRCode, ffd.SourceKVSR,' +
    '  tKvsr.Code SourceKVSRCode, ffd.SourceKVR, tKvr.Code SourceKVRCode, ffd.SourceKFSR, ffd.SourceSubKESR,' +
    '  ffd.SourceFact, ffd.SourceMeansType, ffd.SourceFinSource, ffd.SourceFinType, ffd.SourceDocType, ffd.ID,' +
    '  ffd.RecordIndex, ffd.SOURCEDIRECTIONCLS, ffd.SourceRegionCLS, ffd.MemOrderNum, ffd.RequestsIndex,' +
    '  ffd.Credit SUMMA, ffd.BuhOperationCls, ffd.SourceIFS, ffd.ClsType, s_ifs.FINSOURCEVALUE SourceIFS_FullID, ' + 
    '  ffd.SourceBudgetPromise, ffd.SourcePromise SourceBudgetPromiseNum, ffd.SourcePromise, ffd.ProgIndex, ffd.RecordIndex,' +
    '  ffd.SourceSubsidyCls, tSubs.Code SourceSubsidyClsCode, ffd.SourceTransfertCls, s_tc.Code SourceTransfertClsCode,' +
    '  ffd.SourceBudAllocationCls, tBudAl.Code SourceBudAllocationClsCode, ffd.SourcePayPromiseCls, tPr.Code SourcePayPromiseClsCode' + 
    ' FROM FacialFinDetail ffd' +
    '  inner join INNERFINSOURCE s_ifs on (s_ifs.ID=ffd.SourceIFS)' +
    '  left join KVSR tKvsr on (tKvsr.id = ffd.SourceKVSR)' +
    '  left join KCSR tKcsr on (tKcsr.id = ffd.SourceKCSR)' +
    '  left join KVR tKvr on (tKvr.id = ffd.SourceKVR)' +
    '  left join SubsidyCls tSubs on (tSubs.ID = ffd.SourceSubsidyCls)' + 
    '  left join TransfertCLS s_tc on (s_tc.ID = ffd.SourceTransfertCls)' +      
    '  left join BudAllocationCls tBudAl on (tBudAl.id = ffd.SourceBudAllocationCls)' +     
    '  left join PayPromiseCls tPr on (tPr.ID = ffd.SourcePayPromiseCls)' +
    '  left join PaymentSchedule spsl on ((spsl.InnerPromiseNum = ffd.SourceBudgetPromise) and (ffd.SourcePromise = spsl.ANumber))' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросРеестра) :=
    'SELECT Cpt.id, Cpt.Docnumber, Cpt.DocumentDate, ffr.ReestrNumber, ffr.ReestrDate, ffr.REESTRTYPEEX, ffr.Accepted,' +
    '  Cpt.Credit summa, Cpt.AcceptDate, Cpt.Note, Cpt.TYPEOPERATIONCLS, Cpt.PAyPriority, Cpt.SourceFacialAcc_CLS,' +
    '  Cpt.DestAccount, Cpt.SourceAccount, Cpt.BuhPaymentCls, Cpt.PayDate, Cpt.PaySymbolCLS, Cpt.PayTypeCLS,' +
    '  Cpt.Period, Cpt.Reject_CLS, Cpt.RejectCause, Cpt.CARDNUMBER, Cpt.DepartmentCls, Cpt.TreasuaryDocStateCLS,' +
    '  pde.PacketNumber, pde.DocNumber pdeDocNumber, pde.SendDate, pde.Error, pde.Note ErrorNote, pde.Status,' +
    '  pde.QueueTime, Cpt.ArhiveDoc, Cpt.Reestr_Ref, Cpt.FEDERALFUNDSREF, Cpt.DestType, Cpt.SourceType,' +
    '  Cpt.BUDGETRef, Cpt.TaxNote' +
    ' FROM FacialFINCAPTION Cpt' +
    '  inner join FacialFinReestr ffr on (cpt.Reestr_ref = ffr.ID)' +
    '  left join PayDocExchange pde on (pde.PayDocRef = cpt.id)' +      
    ' WHERE (ffr.ReestrNumber = "@Registry") and (cpt.progIndex in (63, 64))';   
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  Данные, Заголовок: СтатическиеДанные;
  ИндексКолонки: ЦЕЛОЕ;
  КонДата: строка;    
начало
  ti := Шаблон.Template.TableInfo;
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  //формируем ограничение по дате
  если Ограничения.Values(кПервыйВызов) тогда
  начало
    КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");
    если (КонДата &lt;&gt; "")и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;
  //ограничиваем по л/с плательщика
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет"); 
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, "ЛицевойСчет");
      Ограничения.Values("ЛицСчетЧек") := да;  
    конец;  
конец;

функция ВернутьРезультатВРеестр(ПараметрыКонтроля: IVariables);
//предполагается, что проверяется зараз 1 реестр 
переменные
  ф: ФормаВвода;
  КартаПолей, ОграниченияКонтроля: IVariables;
  ПолеРез: IField;
  ЗаголовкиДокументов, Мастер: СтатическиеДанные;
  ВидКонтроля, ИндексСтроки, РезКонтроля: ЦЕЛОЕ;
  ИДРеестров: СТРОКА;
начало
  ф := ПолучитьФормуВвода();
  Мастер := ф.Заголовки.Таблица;
  ЗаголовкиДокументов := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
  ОграниченияКонтроля := ПараметрыКонтроля.Values(КонтрольПараметры);
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  ВидКонтроля := ОграниченияКонтроля.Values("ВидКонтроля");
  
  РезКонтроля := -1;
  ПолеРез := ЗаголовкиДокументов.ПолеПоИмени(ControlResult);
  ЗаголовкиДокументов.ВНачало();
  пока не ЗаголовкиДокументов.ВКонце делать
  начало
    если (ПолеРез.КакЦелое &gt; РезКонтроля) и (ПолеРез.КакЦелое &lt;= tcrFalse) тогда
      РезКонтроля := ПолеРез.КакЦелое;
    ПолеРез.КакЦелое := ПолеРез.КакЦелое + ИндексКартинок();           
    ЗаголовкиДокументов.Следующая();
  конец;
  Мастер.DisableControls();
  попытка
    ИДРеестров := GetLimitStr(ЗаголовкиДокументов, КонстПолеСсылкаНаРеестр);
    ИндексСтроки := Мастер.ПолеПоИмени(КартаПолей.VAlues(кКлючЗаголовка)).КакЦелое;    
    Мастер.Фильтр := "(ID in [" + ИДРеестров + "])";
    Мастер.Filtered := да;   
    //чистим поля результатов
    Мастер.ВНачало();
    пока не Мастер.Вконце делать
    начало        
      Мастер.ПолеПоИмени(ControlResult).КакЦелое := ИндексКартинок;
      Мастер.ПолеПоИмени(ControlMessage).КакСтрока := "";
      Мастер.Следующая();        
    конец;
    если (РезКонтроля &lt; 0) тогда 
      Мастер.ПолеПоИмени(ControlResult).КакДробное := tcrDetailError + 1 + ИндексКартинок
    иначе
      начало
        MoveCtrlResultToCaptionEx("ID", КонстПолеСсылкаНаРеестр, Мастер, ЗаголовкиДокументов, нет, ControlResult, ControlMessage);
  //      Мастер.ПолеПоИмени(ControlResult).КакДробное := РезКонтроля + ИндексКартинок;
      конец;
    //восстановление значений кодов результата без учета индекса картинки на интерфейсе  
    ЗаголовкиДокументов.ВНачало();
    пока не ЗаголовкиДокументов.ВКонце делать
    начало
      ПолеРез.КакЦелое := ПолеРез.КакЦелое - ИндексКартинок;           
      ЗаголовкиДокументов.Следующая();
    конец;
    если ((tcrGeneral &lt; РезКонтроля) и (ВидКонтроля = ctxCustomPost)) тогда
      ВозбудитьОшибку('Реестр не прошел контроль');
  обязательно
    Мастер.Filtered := нет;  
    Мастер.Фильтр := "";
    Мастер.Вначало();         
    Мастер.Локализовать("ID", ИндексСтроки, 0);  
    Мастер.EnableControls();
  конец;     
конец; 
//--------------------------------------------------------------------------------------------------
переменные
  Ограничения, КартаПолей: IVariables;
  _Вид: целое;
начало
  КартаПолей := ПолучитьКартуПолей();
  _Вид := Вид;
  если КонтрольСИнтерфейса(_Вид) тогда
    Вид := ctxRegistry
  иначе
    КартаПолей.Values(кВернутьРезНаИнтфСтандартно) := да;
  ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
  если КонтрольСИнтерфейса(_Вид) и не КартаПолей.Values(кВернутьРезНаИнтфСтандартно) тогда
  начало
    Ограничения := ПараметрыКонтроля.Values(КонтрольПараметры);
    Ограничения.Values("ВидКонтроля") := _Вид;  
    ВернутьРезультатВРеестр(ПараметрыКонтроля); 
  конец;  
конец.
</value>
    <param value="БК_КазнРеестр" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:13:20</param>
    <param value="БК_КазнРеестр" type="3" name="version">36.193.139</param>
    <param value="БК_КазнРеестр" type="3" name="crc32">$9AB58C8C</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнУтверждениеОФ">// Управляющий макрос контроля документов "Утверждение объемов финансирования"
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_КазнУтверждениеОФ(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
переменные
  ПолеБОВБазе, ПолеБОНаИнтерфейсе: строка;
начало
  если (ЦелаяКонстанта(30, 15) = 1) тогда
  начало
    ПолеБОВБазе := "ofd.DestPromise";
    ПолеБОНаИнтерфейсе := "DestBudgetPromiseNum";
  конец
  иначе
    начало
      ПолеБОВБазе := "ofd.Promise";
      ПолеБОНаИнтерфейсе := "Promise";
    конец;
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 323;  
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПолеРеестра) := '';  
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,КодБюджета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := 'ОперацияПолуч=DestType,ОперацияПлат=SourceType,ТипРеестра=REESTRTYPE,' +
    'НачСостояниеДокумента=BeginDocStateRef';
  результат.Values(кКлассификаторы) := 'ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,' +
    'ОрганизацияГлавныйРаспорядитель=OrgGRBS,ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber,ДокИсполненияВнутрНомер=ExecInnerNumber,' +
    'КодБюджАссигнования=DestBudAllocationClsCode,КодРасходногоОбязательства=DestPayPromiseClsCode';        
  результат.Values(кЗапрос) := 
    "SELECT OFD.id, OFD.DestFacialAcc_CLS, OFD.DestKFSR, OFD.DestKVR, tKvr.Code DestKVRCode, OFD.DestKESR," +
    "  OFD.DestKVSR, tKvsr.Code DestKVSRCode, OFD.DestKCSR, tKcsr.Code DestKCSRCode, OFD.DestFinType, OFD.DestSubKESR," +
    "  OFD.DestFact,OFD.DestDirectionCLS, OFD.DestMeansType, OFD.DestFinSource, OFD.DestDocType, OFD.DestDocBase," +
    "  OFD.Note, OFD.Credit summa, OFD.RecordIndex, OFD.BuhOperationCls, OFD.MemOrderNum, OFD.RequestsIndex," +
    "  OFD.AcceptDate, " + ПолеБОВБазе + " promise, ofd.UNIONNOTIFYREF,  OFD.DestRegionCLS, OFD.ProgIndex," +
    "  OFD.DestBudgetPromise, OFD.DestPromise DestBudgetPromiseNum, OFD.DestIFS, IFS_Dest.FinSourceValue DestIFS_FullID," +
    "  OFD.DestExecInnerNumber, OFD.DestExecInnerNumber ExecInnerNumber, OFD.DestTransfertCls, d_tc.Code DestTransfertClsCode," + 
    "  mt.ActivityKind, mt.ActivityType, org_RBS.GENERALORG_REF OrgGRBS, OFD.DestBudAllocationCls, tBudAl.Code DestBudAllocationClsCode," +
    "  OFD.DestPayPromiseCls, tPr.Code DestPayPromiseClsCode, OFD.DestSubsidyCls, tSubs.Code DestSubsidyClsCode" +      
    " FROM FacialFINDETAIL OFD" +
    "  left join FacialAcc_Cls dfa on (dfa.id = ofd.DestFacialAcc_CLS)" +
    "  left join InnerFinSource IFS_Dest on (ifs_Dest.id = ofd.DestIFS)" +
    "  left join TransfertCLS d_tc on (d_tc.ID = OFD.DestTransfertCls)" +     
    "  left join MeansType mt on (mt.ID = OFD.DestMeansType)" +
    "  left join KVSR tKvsr on (tKvsr.id = OFD.DestKVSR)" +
    "  left join KCSR tKcsr on (tKcsr.id = OFD.DestKCSR)" +
    "  left join BudAllocationCls tBudAl on (tBudAl.id = OFD.DestBudAllocationCls)" +
    "  left join PayPromiseCls tPr on (tPr.ID = OFD.DestPayPromiseCls)" +
    "  left join KVR tKvr on (tKvr.id = OFD.DestKVR)" +
    "  left join SubsidyCls tSubs on (tSubs.ID = OFD.DestSubsidyCls)" +      
    "  left join PAYMENTSCHEDULE dpsl on ((ofd.DestBudgetPromise = dpsl.InnerPromiseNum) and (ofd.DestPromise = dpsl.ANumber))" +
    "  left join Organizations org on (org.id = dfa.Org_Ref)" +
    "  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)" +
    " WHERE (OFD.recordIndex in(@MasterID)) and (OFD.progIndex = 75)";
  результат.Values(кЗапросРеестра) := '';                                                  
  результат.Values(кЗапросЗаголовка) :=
    'SELECT cpt.id, cpt.BudgetRef, cpt.Docnumber, cpt.DocumentDate, cpt.SourceAccount, cpt.SourceFacialAcc_CLS,' +
    '  cpt.DestAccount, cpt.ArhiveDoc, cpt.Note, cpt.TypeOperationCls, cpt.BuhPaymentCls, cpt.Reject_cls, cpt.RejectCause,' +
    '  cpt.CLSType, FFR.ReestrDate, FFR.ReestrNumber, FFR.ReestrTypeEx ReestrType, FFR.Accepted, cpt.DestType,' +
    '  cpt.SourceType, cpt.Reestr_ref, cpt.ProgIndex, cpt.DocStateRef, cast(null as Integer) BeginDocStateRef' +
    ' FROM FacialFinCaption cpt' +
    '  left join FacialFinReestr ffr on (cpt.Reestr_Ref = ffr.ID)' +
    ' WHERE (cpt.id in (@MasterID))and(cpt.ProgIndex = 75)';
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  КонДата: строка;
  Данные, Заголовок: СтатическиеДанные;
  ti: ITableInfoX;
  ИндексКолонки: целое;
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК с интерфейса мы должны проанализировать дату принятия;
  // для БК из системы состояний по умолчанию устанавливается текущая дата; 
  // для возможности перекрытия стандартно сформированной конечной даты контроля, добавлен параметр КонечнаяДатаКонтроля,
  // который пердполагается задавать в сценариях; перекрывает п-р КонечнаяДата для всех последующих контролей "одного общего вызова" 
  если УбратьПробелы(Ограничения.Значение(кКонечнаяДатаКонтроля)) &lt;&gt; "" тогда            
      Ограничения.Values("КонечнаяДата") := УбратьПробелы(Ограничения.Значение(кКонечнаяДатаКонтроля))
  иначе 
    если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда 
    начало
      КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
      если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
        Ограничения.Values("КонечнаяДата") := КонДата;
    конец;
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
    // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
    // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // ограничиваем по л/с получателя с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField('ЛицевойСчет');        
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values("ЛицСчет") := GetLimitStr(Данные, 'ЛицевойСчет');
      Ограничения.Values("ЛицСчетЧек") := да;
    конец;
  // формируем ограничение по организации ГРБС лс
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнУтверждениеОФ := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнУтверждениеОФ" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:13:24</param>
    <param value="БК_КазнУтверждениеОФ" type="3" name="version">36.193.139</param>
    <param value="БК_КазнУтверждениеОФ" type="3" name="crc32">$95563730</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнУчетКассВыплат">//  Макрос управления для контроля кассовых выплат 
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_КазнУчетКассВыплат(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей;
  результат.Values(кТипДокументаВКонтроле) := 322;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляОгрЗаголовка) := 'ДатаПринятия,ЛицевойСчет,КодБюджета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := Строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := 'ФедеральныеСредства=FEDERALFUNDSREF,ОперацияПолуч=DestType,ОперацияПлат=SourceType,' +
    'НачСостояниеДокумента=BeginDocStateRef';
  результат.Values(кКлассификаторы) := 'БОВнутрНомер=SourceBudgetPromise,БОНомер=SourceBudgetPromiseNum,' +
    'ЛицСчетПлательщика=SourceFacialAcc_CLS,ДокИсполненияДата=SourceExecDocDate,ДокИсполненияСумма=SourceExecDocSumma,' +
    'ПримечаниеДеталь=Note,НомерМемордера=MemOrderNum,БОТип=PromiseType,ИсточникВнутрФинансированияКлючПлат=SourceIFS,' +
    'ИсточникВнутрФинансирования=SourceIFS_FullID,ИсточникВнутрФинансированияПлат=SourceIFS_FullID,' +
    'ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,ОрганизацияГлавныйРаспорядитель=OrgGRBS,' +
    'ДокИсполненияВнутрНомерПлат=SourceExecInnerNumber,ДокИсполненияВнутрНомер=ExecInnerNumber,' +
    'КодБюджАссигнования=SourceBudAllocationClsCode,КодРасходногоОбязательства=SourcePayPromiseClsCode';
  результат.Values(кЗапрос) := 
    'SELECT ffd.SourceFacialAcc_CLS, ffd.SourceKESR, ffd.SourceKCSR, tKcsr.Code SourceKCSRCode, ffd.SourceKVSR,' +
    '  tKvsr.Code SourceKVSRCode, ffd.SourceKVR, tKvr.Code SourceKVRCode, ffd.SourceKFSR, ffd.SourceSubKESR,' +
    '  ffd.SourceFact, ffd.SourceMeansType, ffd.SourceFinSource, ffd.SourceFinType, ffd.SourceDocType,' +
    '  ffd.RecordIndex, ffd.ID, ffd.SourceBudgetPromise, ffd.MemOrderNum, ffd.RequestsIndex, ffd.Credit SUMMA,' +
    '  ffd.Note, ffd.SourceDirectionCLS, ffd.SourceRegionCLS, ffd.ProgIndex, spsl.PromiseType,' +
    '  ffd.SourcePromise, ffd.SourcePromise SourceBudgetPromiseNum, sedc.ID SourceExecDoc, sedc.DocNumber SourceExecDocNum,' +
    '  sedc.DocumentDate SourceExecDocDate, sedc.Summa SourceExecDocSumma, sedc.DocType SourceExecDocType,' +
    '  ffd.BuhOperationCls, ffd.SourceIFS, ffd.ClsType, s_ifs.FINSOURCEVALUE SourceIFS_FullID, mt.ActivityKind, mt.ActivityType,' +
    '  ffd.SourceExecInnerNumber, ffd.SourceExecInnerNumber ExecInnerNumber, ffd.SourceTransfertCls,' + 
    '  s_tc.Code SourceTransfertClsCode, org_RBS.GENERALORG_REF OrgGRBS, ffd.SourceBudAllocationCls, tBudAl.Code SourceBudAllocationClsCode,' +
    '  ffd.SourcePayPromiseCls, tPr.Code SourcePayPromiseClsCode' +
    ' FROM FacialFinDetail ffd' +
    '  inner join INNERFINSOURCE s_ifs on (s_ifs.ID=ffd.SourceIFS)' +
    '  left join TransfertCLS s_tc on (s_tc.ID = ffd.SourceTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.SourceMeansType)' +
    '  left join FacialAcc_Cls sf on (sf.id = ffd.SourceFacialAcc_CLS)' +
    '  left join KVSR tKvsr on (tKvsr.id = ffd.SourceKVSR)' +
    '  left join KCSR tKcsr on (tKcsr.id = ffd.SourceKCSR)' +
    '  left join KVR tKvr on (tKvr.id = ffd.SourceKVR)' +
    '  left join BudAllocationCls tBudAl on (tBudAl.Id = ffd.SourceBudAllocationCls)' +
    '  left join PayPromiseCls tPr on (tPr.ID = ffd.SourcePayPromiseCls)' +
    '  left join Organizations org on (org.id = sf.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE spsl on ((ffd.SourceBudgetPromise = spsl.InnerPromiseNum) and (ffd.SourcePromise = spsl.ANumber))' +
    '  left join ExecutionDocumentsCaption sedc on (ffd.SourceExecDoc = sedc.ID)' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.DocumentDate, C.DocNumber, C.AcceptDate, C.TYPEOPERATIONCLS, C.Note,' +
    '  C.PayPriority, C.DestAccount, C.SourceAccount, C.PayDate, C.PaySymbolCLS, C.PayTypeCLS, C.Period,' +
    '  C.Reject_CLS, C.RejectCause, C.SourceFacialAcc_CLS, C.CARDNUMBER, C.ArhiveDoc, C.BuhPaymentCLS,' +
    '  pde.PacketNumber, pde.DocNumber pdeDocNumber, pde.SendDate, pde.Error, pde.Note ErrorNote, pde.Status,' +
    '  pde.QueueTime, c.NDS, c.TaxNote, c.BidNumber, c.ManagerBid, c.FEDERALFUNDSREF, c.DocStateRef, C.StimateID,' +
    '  mbid.ManagerBIDNUMBER, C.Credit Summa, C.BUDGETRef, C.ProgIndex, cast(null as Integer) BeginDocStateRef' +
    ' FROM FacialFinCaption C' +
    '  left join PayDocExchange pde on (pde.PayDocRef=C.id)' +
    '  left join MANAGERBID mbid on (mbid.id = C.ManagerBid)' +     
    ' WHERE (C.ProgIndex=73) and (C.ID in (@MasterID))';  
  результат.Values(кЗапросРеестра) := '';   
конец; 
// Устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  КонДата: строка;
  Данные, Заголовок: СтатическиеДанные;
  ti: ITableInfoX;
  ИндексКолонки: ЦЕЛОЕ;   
начало
  // получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // формируем ограничение по датам
  если Ограничения.Values(кПервыйВызов) тогда
  начало
    // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
    // а для БК с интерфейса мы должны проанализировать дату принятия
    если не КонтрольСостояний(Вид) тогда
    начало
      КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
      если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
        Ограничения.Values("КонечнаяДата") := КонДата;
    конец;    
    // накладываем ограничения по кодам состояний по OR:
    // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
    // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
    // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
    // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
    // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
    // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
    если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
      если КонтрольСостояний(Вид) тогда
      // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
      // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
        Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
      иначе
        // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
        // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
        Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  конец;
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");  
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values("ЛицСчетЧек") := да;  
      Ограничения.Values('ЛицСчет') := GetLimitStr(Заголовок, "ЛицевойСчет");
    конец;
  // формируем ограничение по организации ГРБС лс
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнУчетКассВыплат := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнУчетКассВыплат" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:13:27</param>
    <param value="БК_КазнУчетКассВыплат" type="3" name="version">36.193.139</param>
    <param value="БК_КазнУчетКассВыплат" type="3" name="crc32">$1142F55E</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_КазнЧеки">// Макрос управления для контроля платежных чеков
// Автор: Бурдельный Р.В.
// Дата : 27.11.2002
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_КазнЧеки(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;

функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей;
  результат.Values(кТипДокументаВКонтроле) := 304;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПолеРеестра) := 'ReestrNumber';
  результат.Values(кПоляОгрЗаголовка) := 'ДатаРеестра,ДатаПринятия,ДатаДокумента,ЛицевойСчет,КодРеестра,КодБюджета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := 'ОперацияПлат=SourceType,ОперацияПолуч=DestType,ТипРеестра=REESTRTYPE,' +
    'НачСостояниеДокумента=BeginDocStateRef,НомерКарточки=CardNumber';
  результат.Values(кКлассификаторы) := 'НомерМемордера=MemOrderNum,БОТип=PromiseType,ОрганизацияГлавныйРаспорядитель=OrgGRBS,' +
    'КДКлючПлат=SourceKD,КодДоходаПлат=SourceKD_Value,ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType,' +
    'ДокИсполненияВнутрНомерПлат=SourceExecInnerNumber,ДокИсполненияВнутрНомер=ExecInnerNumber,' +
    'КодБюджАссигнования=SourceBudAllocationClsCode,КодРасходногоОбязательства=SourcePayPromiseClsCode'; 
  результат.Values(кЗапрос) :=
    'SELECT ffd.SourceFacialAcc_CLS, ffd.SourceKESR, ffd.SourceKCSR, tKcsr.Code SourceKCSRCode, ffd.SourceKVSR,' +
    '  tKvsr.Code SourceKVSRCode, ffd.SourceKVR, tKvr.Code SourceKVRCode, ffd.SourceKFSR, ffd.SourceSubKESR,' +
    '  ffd.SourceFact, ffd.SourceMeansType, ffd.SourceFinSource, ffd.SourceFinType, ffd.SourceDocType,' +
    '  ffd.MemOrderNum, ffd.RecordIndex, ffd.ID, ffd.RequestsIndex, ffd.Credit SUMMA, ffd.Note, ffd.PaySymbolCLS,' +
    '  ffd.SourceDirectionCLS, ffd.SourceRegionCLS, ffd.SourceDocBase, ffd.SourceBudgetPromise, spsl.PromiseType,' +
    '  ffd.SourcePromise, ffd.SourcePromise SourceBudgetPromiseNum, sedc.ID SourceExecDoc,' +
    '  sedc.InnerNumber SourceExecInnerNumber, sedc.InnerNumber ExecInnerNumber, ' +
    '  sedc.DocNumber SourceExecDocNum, sedc.DocumentDate SourceExecDocDate, sedc.Summa SourceExecDocSumma,' + 
    '  ffd.BuhOperationCls, ffd.SourceIFS, ffd.ClsType,  s_ifs.FINSOURCEVALUE SourceIFS_FullID,' +
    '  ffd.SourceKD, kd.KdValue SourceKD_Value, mt.ActivityKind, mt.ActivityType, ffd.SourceFundsSource, ffd.ProgIndex,' +
    '  ffd.SourceTransfertCls, s_tc.Code SourceTransfertClsCode, ffd.SourceSubsidyCls, tSubs.Code SourceSubsidyClsCode,' +
    '  org_RBS.GENERALORG_REF OrgGRBS, ffd.SourceBudAllocationCls, tBudAl.Code SourceBudAllocationClsCode,' +
    '  ffd.SourcePayPromiseCls, tPr.Code SourcePayPromiseClsCode' +
    ' FROM FacialFinDetail ffd' +
    '  inner join INNERFINSOURCE s_ifs on (s_ifs.ID = ffd.SourceIFS)' +
    '  left join kd on (kd.Id = ffd.SourceKD)' + 
    '  left join TransfertCLS s_tc on (s_tc.ID = ffd.SourceTransfertCls)' +      
    '  left join MeansType mt on (mt.ID = ffd.SourceMeansType)' +
    '  left join FacialAcc_Cls sf on (sf.id = ffd.SourceFacialAcc_CLS)' +
    '  left join KVSR tKvsr on (tKvsr.id = ffd.SourceKVSR)' +
    '  left join KCSR tKcsr on (tKcsr.id = ffd.SourceKCSR)' +
    '  left join KVR tKvr on (tKvr.id = ffd.SourceKVR)' +
    '  left join BudAllocationCls tBudAl on (tBudAl.id = ffd.SourceBudAllocationCls)' +
    '  left join PayPromiseCls tPr on (tPr.ID = ffd.SourcePayPromiseCls)' +
    '  left join SubsidyCls tSubs on (tSubs.ID = ffd.SourceSubsidyCls)' +      
    '  left join Organizations org on (org.id = sf.Org_Ref)' +
    '  left join Organizations org_RBS on (org_RBS.id = org.GENERALORG_REF)' +
    '  left join PAYMENTSCHEDULE spsl on ((ffd.SourceBudgetPromise = spsl.InnerPromiseNum) and (ffd.SourcePromise = spsl.ANumber))' +
    '  left join ExecutionDocumentsCaption sedc on (ffd.SourceExecDoc = sedc.ID) ' +
    ' WHERE (ffd.RecordIndex in (@MasterID))';
  результат.Values(кЗапросРеестра) :=
    'SELECT Cpt.id, Cpt.Docnumber, Cpt.DocumentDate, ffr.ReestrNumber, ffr.ReestrDate, ffr.REESTRTYPEEX REESTRTYPE,' +
    '  ffr.Accepted, Cpt.Credit summa, Cpt.AcceptDate, Cpt.Note, Cpt.TYPEOPERATIONCLS, Cpt.SourceFacialAcc_CLS,' +
    '  Cpt.BUDGETRef, Cpt.DestAccount, Cpt.DestAccount Acc_Ref, Cpt.SourceAccount, Cpt.BuhPaymentCls, Cpt.Period, /*Cpt.PaySymbolCLS,*/' +
    '  Cpt.Reject_CLS, Cpt.RejectCause, Cpt.DepartmentCls, Cpt.TreasuaryDocStateCLS, Cpt.ArhiveDoc, Cpt.Reestr_Ref,' +
    '  Cpt.TrustNumber, Cpt.DestType, Cpt.SourceType, 0 ControlResult, cpt.Note ControlMessage, Cpt.BidNumber,' +
    '  Cpt.ManagerBid, mbid.ManagerBIDNUMBER, cpt.DocStateRef, cast(null as Integer) BeginDocStateRef,' +
    '  Cpt.FEDERALFUNDSREF, Cpt.StimateID' +
    ' FROM FacialFINCAPTION Cpt' +
    '  inner join FacialFinReestr ffr on (cpt.Reestr_ref=ffr.ID)' +
    '  left join PayDocExchange pde on (pde.PayDocRef=cpt.id)' +      
    '  left join MANAGERBID mbid on (mbid.id = Cpt.ManagerBid)' + 
    ' WHERE  (ffr.ReestrNumber="@Registry") and (cpt.progIndex=64)';   
  результат.Values(кЗапросЗаголовка) := 
    'SELECT C.ID, C.DestType, C.SourceType, C.DocumentDate, C.DocNumber, FFR.ReestrDate, FFR.ReestrNumber,' +
    '  ffr.REESTRTYPEEX REESTRTYPE, ffr.Accepted, C.AcceptDate, C.TYPEOPERATIONCLS, C.Note, C.BUDGETRef,' + 
    '  C.DestAccount, C.DestAccount Acc_Ref, C.SourceAccount, C.Period, C.Reject_CLS, C.RejectCause, C.SourceFacialAcc_CLS,' +
    '  C.DepartmentCls, C.TreasuaryDocStateCLS, C.TrustNumber, C.ArhiveDoc, C.Reestr_Ref, /*C.PaySymbolCLS,*/' +
    '  c.BidNumber, c.ManagerBid, mbid.ManagerBIDNUMBER, c.DocStateRef, cast(null as Integer) BeginDocStateRef,' +
    '  c.FEDERALFUNDSREF, C.StimateID, C.BuhPaymentCLS, C.ProgIndex, C.CardNumber, C.CardRef' +   
    ' FROM FacialFinCaption C' + 
    '  left join PayDocExchange pde on (pde.PayDocRef=C.id)' +
    '  left join FacialFinReestr FFR on (FFR.ID=C.Reestr_Ref)' +            
    '  left join MANAGERBID mbid on (mbid.id = C.ManagerBid)' +      
    ' WHERE (C.ProgIndex=64) and (C.ID in (@MasterID))';  
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  Данные, Заголовок: СтатическиеДанные; 
  ti: ITableInfoX;
  ИндексКолонки, СсылкаНаРеестрУРМ/*,
  ВариантКонечнойДаты, СтарыйФильтрВключен*/: целое;
  КонДата, СтарыйФильтр: строка;
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // тип ограничения по текущей дате или нет
  если Ограничения.Values(кПервыйВызов) тогда 
  начало
    КонДата := ''; // если конДата останется пустой, то по умолчанию останется ограничение по текущей дате с сервера
/*    ВариантКонечнойДаты := ЦелаяКонстанта(57, 1);
    выбрать ВариантКонечнойДаты из
    0: КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");//по макс. дату реестра в документах  
//    1: КонДата := ДатаВСтроку(ТекущаяДатаССервера);//по текущую дату с сервера
    2: начало  //по макс. дату реестра в документах за исключением п/п от УРМ
         СтарыйФильтр := Заголовок.Фильтр;
         СтарыйФильтрВключен := Заголовок.Filtered;
         СсылкаНаРеестрУРМ := ЦелаяКонстанта(56, 0);
         попытка
           заголовок.Фильтр := 'not((КодРеестра='+целоеВСтроку(СсылкаНаРеестрУРМ)+')or(КодРеестра is null))';
           заголовок.Filtered := да;
           если Заголовок.ЧислоЗаписей&gt;0 тогда КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");
//             иначе КонДата := ДатаВСтроку(ТекущаяДатаССервера);
         обязательно
           Заголовок.Filtered := СтарыйФильтрВключен;
           Заголовок.Фильтр := СтарыйФильтр; 
         конец;  
       конец;
    конец;//выбрать*/
    СтарыйФильтр := Заголовок.Фильтр;
    СсылкаНаРеестрУРМ := ЦелаяКонстанта(56, 0);
    попытка
      // если есть ссылка на реестр (за исключением реестра УРМ), то ограничиваем по дате реестра,
      // иначе, если заполнена дата документа и она превышает текущую дату, то ограничиваем по дате документа,
      // иначе ограничиваем по дате принятия (если дата принятия пуста, то функция MaxDateExToStr вернет текущую дату)
      Заголовок.Фильтр := 'not((КодРеестра = ' + ЦелоеВСтроку(СсылкаНаРеестрУРМ) + ') or (КодРеестра is null))';
      если Заголовок.ЧислоЗаписей = 0 тогда
      начало
        Заголовок.Фильтр := 'ДатаДокумента &gt; ' + ЦелоеВСтроку(СтрокаВРасширеннуюДату(ДатаВСтроку(ТекущаяДата)));
        если Заголовок.ЧислоЗаписей = 0 тогда
        начало
          Заголовок.Фильтр := СтарыйФильтр; 
          КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
        конец
        иначе
          КонДата := MaxDateExToStr(Заголовок, "ДатаДокумента");
      конец 
      иначе
        КонДата := MaxDateExToStr(Заголовок, "ДатаРеестра");
    обязательно
      Заголовок.Фильтр := СтарыйФильтр; 
    конец;  
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
    // накладываем ограничения по кодам состояний по OR:
    // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
    // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
    // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
    // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
    // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
    // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
    если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
      если КонтрольСостояний(Вид) тогда
      начало
      // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
      // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
        если Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое &gt; 0 тогда
          Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;');
      конец
      иначе
        // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
        // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
        если Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое &gt; 0 тогда
          Ограничения.Values("Казначейство_СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  конец;
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");  
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values("ЛицСчетЧек") := да;  
      Ограничения.Values('ЛицСчет') := GetLimitStr(Заголовок, "ЛицевойСчет");
    конец;
  // формируем ограничение по организации ГРБС лс
  если Ограничения.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда Ограничения.Delete("Бюджет_РаспОргСсылка");
  ИндексКолонки := ti.FindColumnByField("ОрганизацияГлавныйРаспорядитель");
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
      Ограничения.Values("Бюджет_РаспОргСсылка") := GetLimitStr(Данные, "ОрганизацияГлавныйРаспорядитель");
конец;

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_КазнЧеки := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_КазнЧеки" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:13:30</param>
    <param value="БК_КазнЧеки" type="3" name="version">36.193.139</param>
    <param value="БК_КазнЧеки" type="3" name="crc32">$357569D1</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230100</V>
            <V N="Name">Контроль остатка КП при утверждении ОФ</V>
            <V N="Template">(03.23.01)Контроль наличия остатка ЛБО (при утверждении ОФ).xlm</V>
            <V N="Generation">БК_КазнУтверждениеОФ</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240100</V>
            <V N="Name">Контроль остатка ЛБО (распределение ОФ)</V>
            <V N="Template">(03.24.01)Контроль остатка ЛБО (распределение ОФ).cld</V>
            <V N="Generation">БК_КазнРаспределениеОФ</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240200</V>
            <V N="Name">Контроль остатка нераспределенных ОФ(распределение ОФ)</V>
            <V N="Template">(03.24.02)Контроль остатка нераспределенных ОФ(распределение ОФ).cld</V>
            <V N="Generation">БК_КазнРаспределениеОФ</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230200</V>
            <V N="Name">Контроль утверждения ОФ по СБР на наличие остатка на лицевом счете</V>
            <V N="Template">(03.23.02) Контроль утверждения ОФ по СБР на наличие остатка на лс.xlm</V>
            <V N="Generation">БК_КазнУтверждениеОФ</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230300</V>
            <V N="Name">Контроль остатка суммы утвержденых ОФ по принятым казначейским реестрам</V>
            <V N="Template">(03.23.03) Контроль остатка суммы утвержденых ОФ по кассовому исполнению.xlm</V>
            <V N="Generation">БК_КазнУтверждениеОФ</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020600</V>
            <V N="Name">Контроль п/п на наличие средств на л/с</V>
            <V N="Template">(03.02.06)казнрасходпп(по разассигновке).xlm</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">78</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040600</V>
            <V N="Name">Контроль чеков на наличие средств на л/с</V>
            <V N="Template">(03.02.06)казнрасходпп(по разассигновке).xlm</V>
            <V N="Generation">БК_КазнЧеки</V>
            <V N="Options">78</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020800</V>
            <V N="Name">Контроль п/п на наличие средств на л/с на основании бюдж. обязательства</V>
            <V N="Template">(03.02.08)казнрасходпп(непревышение расхода над бо).xlm</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">78</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020700</V>
            <V N="Name">Логический контроль</V>
            <V N="Template">(03.02.07)Логический контроль.XLM</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040800</V>
            <V N="Name">Логический контроль чеков</V>
            <V N="Template">(03.04.08)Логический контроль.xlm</V>
            <V N="Generation">БК_КазнЧеки</V>
            <V N="Options">6</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3021200</V>
            <V N="Name">Контроль расхода за счет средств межбюджетного трансферта на наличие фактического поступления средств трансферта</V>
            <V N="Template">(03.02.12) Контроль расхода по трансфертам на наличие поступлений.xlm</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3041200</V>
            <V N="Name">Контроль расхода за счет средств межбюджетного трансферта на наличие фактического поступления средств трансферта</V>
            <V N="Template">(03.02.12) Контроль расхода по трансфертам на наличие поступлений.xlm</V>
            <V N="Generation">БК_КазнЧеки</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230400</V>
            <V N="Name">Контроль остатка суммы утвержденых ОФ по помесячному КП</V>
            <V N="Template">(03.23.04) Контроль ОФ по КП (по месяцам).xlm</V>
            <V N="Generation">БК_КазнУтверждениеОФ</V>
            <V N="Options">70</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240300</V>
            <V N="Name">Контроль распределения ОФ по кассовому расходу на наличие остатка на лицевом счете</V>
            <V N="Template">(03.24.03) Контроль распределения ОФ по кассовому исполнению.xlm</V>
            <V N="Generation">БК_КазнРаспределениеОФ</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240400</V>
            <V N="Name">Контроль распределения ОФ по БР на наличие остатка на лицевом счете</V>
            <V N="Template">(03.24.04) Контроль распределения ОФ по БР.xlm</V>
            <V N="Generation">БК_КазнРаспределениеОФ</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3021400</V>
            <V N="Name">Контроль п/п без ссылок на БО на наличие достаточного остатка ЛБО</V>
            <V N="Template">(03.02.14) Контроль пп по БР с учетом БО.xlm</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3041400</V>
            <V N="Name">Контроль чеков без ссылок на БО на наличие достаточного остатка ЛБО</V>
            <V N="Template">(03.02.14) Контроль пп по БР с учетом БО.xlm</V>
            <V N="Generation">БК_КазнЧеки</V>
            <V N="Options">70</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3023200</V>
            <V N="Name">Контроль расхода с отдельных лс БУ, АУ на наличие средств по выплатам в сведениях о субсидиях</V>
            <V N="Template">(03.02.32) Контроль остатка на отдельных лс БУ, АУ по субсидиям.xlm</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3023300</V>
            <V N="Name">Контроль расхода по БУ, АУ на наличие средств</V>
            <V N="Template">(03.02.33) Контроль остатка на лс БУ, АУ.xlm</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3043200</V>
            <V N="Name">Контроль расхода с отдельных лс БУ, АУ на наличие средств по выплатам в сведениях о субсидиях</V>
            <V N="Template">(03.02.32) Контроль остатка на отдельных лс БУ, АУ по субсидиям.xlm</V>
            <V N="Generation">БК_КазнЧеки</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3043300</V>
            <V N="Name">Контроль расхода с л/с БУ, АУ, отдельных л/с БУ, АУ на наличие средств</V>
            <V N="Template">(03.02.33) Контроль остатка на лс БУ, АУ.xlm</V>
            <V N="Generation">БК_КазнЧеки</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3023400</V>
            <V N="Name">Контроль возвратов БУ (АУ), не являющихся возвратами субсидий прошлых лет</V>
            <V N="Template">(03.02.34) Контроль остатка на лс БУ, АУ при возврате.xlm</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3023500</V>
            <V N="Name">Контроль возвратов субсидий прошлых лет</V>
            <V N="Template">(03.02.35) Контроль возвратов субсидий прошлых лет.xlm</V>
            <V N="Generation">БК_КазнПП</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080200</V>
            <V N="Name">Контроль расхода с отдельных лс БУ, АУ на наличие средств по выплатам в сведениях о субсидиях</V>
            <V N="Template">(03.02.32) Контроль остатка на отдельных лс БУ, АУ по субсидиям.xlm</V>
            <V N="Generation">БК_КазнВнутрПлатежи</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080300</V>
            <V N="Name">Контроль расхода по БУ, АУ на наличие средств</V>
            <V N="Template">(03.02.33) Контроль остатка на лс БУ, АУ.xlm</V>
            <V N="Generation">БК_КазнВнутрПлатежи</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080400</V>
            <V N="Name">Контроль возвратов БУ (АУ), не являющихся возвратами субсидий прошлых лет</V>
            <V N="Template">(03.02.34) Контроль остатка на лс БУ, АУ при возврате.xlm</V>
            <V N="Generation">БК_КазнВнутрПлатежи</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080700</V>
            <V N="Name">Логический контроль внутренних платежей</V>
            <V N="Template">(03.08.07) Логический контроль внутренних платежей.XLM</V>
            <V N="Generation">БК_КазнВнутрПлатежи</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
            <V N="ControlType">3</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030100</V>
            <V N="Name">Контроль на наличие средств на л/с по росписи(квартальная)</V>
            <V N="Template">(03.03.01)казнприходразассигновка(по квартальной росписи).xlm</V>
            <V N="Generation">БК_КазнРазассигновка</V>
            <V N="Options">70</V>
            <V N="OptionsPath">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.139</param>
  </node>
  <version_info>
    <file>Сборка(09)Доходы_Контроль.xml</file>
    <version>36.193.12</version>
    <info>&lt;p&gt;контроли блока доходов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:10</buildtime>
  </version_info>
  <description>Бюджетный контроль</description>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_ВозвратДоходов">// Бюджетный контроль возврата доходов
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";

БК_ВозвратДоходов(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 901;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляСуммы) := 'Кредит=CREDIT,Дебет=Debit';
  результат.Values(кЛогСуммы) := '';
  результат.Values(кПоляОгрЗаголовка) := "ДатаПринятия,КодБюджета";
  результат.Values(кПроверкаПоРаскладке) := "Организация=ОргСсылка";
  результат.Values(кПоляЗаголовока) := '';
  результат.Values(кКлассификаторы) := 'КодОбобщеннойЗаявки=TotalRef,ИндексыДанных=ProgIndex,RequestsIndex=RequestsIndex,' +
    'RequestsIndex2=RequestsIndex2,PayerOrg_ref=PayerOrg_ref,ВидДеятельности=ActivityKind,ТипДеятельности=ActivityType';
  результат.Values(кЗапрос) := 
    "SELECT i.Id, i.RecordIndex, i.RequestsIndex, i.RequestsIndex2, i.ProgIndex, i.KD, i.BudgetRef, i.FacialAcc_Cls," +
    "  i.SUBKD, i.Debit, i.Credit, i.REGIONCLS, i.Org_ref, i.KVSR, i.AccountRef, i.DOCNUM, i.DocType, i.GOSNI," +
    "  i.NOTE, i.BUHPAYMENTCLS, i.RealPayerOrg_ref PayerOrg_ref, i.TaxNote, i.TotalRef, i.FederalFundsRef," +
    "  i.MeansType, i.BuhOperationCls, i.IFS_CORR, k.KDValue, i.Fact, i.TransfertCls, tc.Code TransfertClsCode," +
    "  mt.ActivityKind, mt.ActivityType, i.SubsidyCls, tSubs.Code SubsidyClsCode" +
    " FROM Incomes32 i" +
    "  left join PayDoc32 pd on (pd.RecordIndex=i.ID)" +
    "  left join kd k on (k.ID=i.KD)" +
    "  left join TransfertCLS tc on (tc.ID = i.TransfertCls)" +      
    "  left join MeansType mt on (mt.ID = i.MeansType)" +
    "  left join SubsidyCls tSubs on (tSubs.ID = i.SubsidyCls)" +      
    " WHERE (i.RecordIndex in (@MasterID))";
  результат.Values(кЗапросРеестра) := '';
  результат.Values(кЗапросЗаголовка) := 
    'SELECT qt.Id, qt.IncAccount, qt.RecordIndex, qt.BuildDate, qt.AcceptDate, qt.DocNumber, qt.BudgetRef ' +
    'FROM QuotesTitle qt ' +
    'WHERE (qt.ProgIndex = 145) and (qt.ID in (@MasterID))';
конец; 
//устанавливаются ограничения на выбираемые остатки:
//1) по Варианту ведения росписи(контроль по росписи)
//2) ограничения для учета договоров
//3) ограничение по дате в зависимости от константы в настройках 
//4) по л/с плательщиков проверяемых документов
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  КонДата               : строка;
  ti                    : ITableInfoX;
  ИндексКолонки         : целое;
  Данные, Заголовок     : СтатическиеДанные;
  Огр : IVariables; 
начало
  ФорматДаты := "DD.MM.YYYY";
  ti := Шаблон.Template.TableInfo;
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);  
  если Ограничения.Values(кПервыйВызов) тогда
  начало
    // тип ограничения по текущей дате или нет
    // для состояний ограничения по датам надо стандартные накладывать
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");  //по макс. дату реестра в документах  
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;
  если УбратьПробелы(Ограничения.Values('ОргСсылка')) = "" тогда
  начало 
    //накладываем ограничения по р/с плательщика в документах
    ИндексКолонки := ti.FindColumnByField("Организация");  
    если ИндексКолонки &gt; -1 тогда
      если ti.Columns(ИндексКолонки).IsDataRequired тогда
        Ограничения.Values('ОргСсылка') := GetLimitStr(Данные, "Организация");
  конец;
  Огр := Шаблон.Template.Variables;
  //для предпринималки учет реестра в казначейских доходах
  если (не Огр.ПараметрСуществует('УчитыватьРеестр')) или (Огр.Значение('УчитыватьРеестр') = "") тогда 
    Огр.Значение('УчитыватьРеестр') := 1;
конец;

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_ВозвратДоходов := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_ВозвратДоходов" type="3" name="Export">MARAEVA7\baranova\19.03.2012 18:56:54</param>
    <param value="БК_ВозвратДоходов" type="3" name="version">36.193.12</param>
    <param value="БК_ВозвратДоходов" type="3" name="crc32">$EA271771</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_ВыпискаИзБанка">// Бюджетный контроль выписка по доходам
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";

БК_ВозвратДоходов(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 903;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПоляСуммы) := 'Кредит=CREDIT,Дебет=Debit,ПроверяемаяСумма=CREDIT';
  результат.Values(кЛогСуммы) := '';
  результат.Values(кПоляОгрЗаголовка) := "ДатаПринятия,КодБюджета";
  результат.Values(кПроверкаПоРаскладке) := "Организация=ОргСсылка";
  результат.Values(кПоляЗаголовока) := 'ИндексДанных=ProgIndex';
  результат.Values(кКлассификаторы) := 'КодДохода=KDValue,Регион=RegionCls,ГосНИ=GosNI,КодОбобщеннойЗаявки=TotalRef,' +
    'RequestsIndex=RequestsIndex,RequestsIndex2=RequestsIndex2,PayerOrg_ref=PayerOrg_ref,ВидДеятельности=ActivityKind,' +
    'ТипДеятельности=ActivityType';                                        
  результат.Values(кЗапрос) := 
    "SELECT i.Id, i.RecordIndex, i.RequestsIndex, i.RequestsIndex2, i.ProgIndex, i.KD, i.BudgetRef, i.FacialAcc_Cls," +
    "  i.SUBKD, i.Debit, i.Credit, (i.Credit - i.Debit) summa, i.REGIONCLS, i.Org_ref, i.KFSR, i.KVSR, i.KESR, i.KVR," +
    "  i.KCSR, i.AccountRef Acc_Ref, i.DOCNUM, i.DocType, i.Fact, i.DirectionCLS, i.GOSNI, i.NOTE, i.BUHPAYMENTCLS," +
    "  i.RealPayerOrg_ref PayerOrg_ref, i.AccountIndex, i.OKATO, i.TaxNote, i.TotalRef, i.FederalFundsRef,i.MeansType," +
    "  i.BuhOperationCls, i.IFS_CORR, k.KDValue, i.TransfertCls, tc.Code TransfertClsCode, mt.ActivityKind, mt.ActivityType," +
    "  i.SubsidyCls, tSubs.Code SubsidyClsCode, org.RegionCls RegionContractor" +
    " FROM Incomes32 i" +
    "  left join PayDoc32 pd on (pd.RecordIndex=i.ID)" +
    "  left join Organizations org on (org.id = i.Org_ref)" +
    "  left join kd k on (k.ID=i.KD)" +
    "  left join TransfertCLS tc on (tc.ID = i.TransfertCls)" +      
    "  left join MeansType mt on (mt.ID = i.MeansType)" +
    "  left join SubsidyCls tSubs on (tSubs.ID = i.SubsidyCls)" +      
    " WHERE (i.RecordIndex in (@MasterID))";
  результат.Values(кЗапросРеестра) := '';
  результат.Values(кЗапросЗаголовка) := 
    'SELECT qt.Id, qt.Progindex, qt.BudgetRef, qt.AcceptDate, qt.BuildDate, qt.DocNumber, qt.IncAccount,' +
    '   qt.FacialAccCls, qt.ReestrNumber' +
    ' FROM QuotesTitle qt' +
    ' WHERE (qt.ProgIndex in (45, 140)) and (qt.ID in (@MasterID))';
конец; 
//устанавливаются ограничения на выбираемые остатки:
//1) по Варианту ведения росписи(контроль по росписи)
//2) ограничения для учета договоров
//3) ограничение по дате в зависимости от константы в настройках 
//4) по л/с плательщиков проверяемых документов
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  КонДата               : строка;
  ti                    : ITableInfoX;
  ИндексКолонки         : целое;
  Данные, Заголовок     : СтатическиеДанные;
  Огр : IVariables; 
начало
  ФорматДаты := "DD.MM.YYYY";
  ti := Шаблон.Template.TableInfo;
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);  
  если Ограничения.Values(кПервыйВызов) тогда
  начало
    // тип ограничения по текущей дате или нет
    // для состояний ограничения по датам надо стандартные накладывать
    КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");  //по макс. дату реестра в документах  
    если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
      Ограничения.Values("КонечнаяДата") := КонДата;
  конец;
  если УбратьПробелы(Ограничения.Values('ОргСсылка')) = "" тогда
  начало 
    //накладываем ограничения по р/с плательщика в документах
    ИндексКолонки := ti.FindColumnByField("Организация");  
    если ИндексКолонки &gt; -1 тогда
      если ti.Columns(ИндексКолонки).IsDataRequired тогда
        Ограничения.Values('ОргСсылка') := GetLimitStr(Данные, "Организация");
  конец;
  // формируем ограничение по л/с с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");  
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало
      Ограничения.Values("ЛицСчетЧек") := да;  
      Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, "ЛицевойСчет");
    конец;
  Огр := Шаблон.Template.Variables;
  //для предпринималки учет реестра в казначейских доходах
  если (не Огр.ПараметрСуществует('УчитыватьРеестр')) или (Огр.Значение('УчитыватьРеестр') = "") тогда 
    Огр.Значение('УчитыватьРеестр') := 1;
конец;

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_ВозвратДоходов := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_ВыпискаИзБанка" type="3" name="Export">MARAEVA7\baranova\24.07.2012 12:12:06</param>
    <param value="БК_ВыпискаИзБанка" type="3" name="version">36.193.12</param>
    <param value="БК_ВыпискаИзБанка" type="3" name="crc32">$52F1CCA4</param>
  </node>
  <node path="Бюджет\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_ПереброскаДоходов">//***************************************************************************************************
//                              Бюджетный контроль переброски доходов
//***************************************************************************************************
        
//Соответствие полей в формате "поле шаблона" = "поле с интерфейса":
//КДКлюч=KDTo                   - ссылка на код дохода на кого
//СубКД=SubKDTo                 - классификатор: суб.код дохода на кого
//Регион=RegionCLSTo            - классификатор: регион на кого
//ЛицевойСчет=FacialAcc_CLSTo   - классификатор: лицевой счет на кого
//ТипСредств=MeansTypeTo        - классификатор: тип средств на кого
//КВСР=KVSR                     - классификатор: КВСР      
//Организация=ORG_REF           - ссылка на организацию
//НомерДокумента=DOCNUM         - номер документа
//ТипДокумента=DocType          - тип документа
//КоличествоДокументов=DocCount - количество документов
//ГосНИ=GosNI                   - ГосНИ
//Примечание=NOTE               - примечание
//БухОперация=BuhOperationCls   - бух. операция по 70Н
//ИндексыДанных=ProgIndex       - индекс данных
//СсылкаНаДеталь=RecordIndex    - ссылка на другую запись
//РСФО=incaccount               - ссылка на счет департамента
//KDFrom=KDFrom                 - ссылка на код дохода с кого                
//SubKDFrom=SubKDFrom           - классификатор: суб.код дохода с кого
//RegionCLSFrom=RegionCLSFrom   - классификатор: регион с кого
//FacialAcc_CLSFrom=FacialAcc_CLSFrom   - классификатор: лицевой счет с кого
//MeansTypeFrom=MeansTypeFrom   - классификатор: тип средств с кого
//****************вычислимые поля*********************************
//Кредит=Credit               - Кредитовая Сумма 
//Дебет=Debit                 - Дебетовая Сумма
//КодБюджета=BudgetRef        - ссылка на бюджет
  
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";

БК_ПереброскаДоходов(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
константы
  nl    = #13#10;  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кВидПроверяемыхДанных) := cdLiner;
    
  результат.Values(кКлюч) := 'КодДокумента';
  результат.Values(кКлючи) := 'КодДокумента=ID';
  результат.Values(кПоляСуммы) := 'Кредит=CREDIT,Дебет=Debit';
  результат.Values(кЛогСуммы) := '';
  результат.Values(кНомерДетали) := -1;    
  результат.Values(кКлассификаторы) := '';
  результат.Values(кПоляЗаголовока) :=
    'КДКлюч=KDTo,СубКД=SubKDTo,Регион=RegionCLSTo,Организация=ORG_REF,НомерДокумента=DOCNUM,ТипДокумента=DocType,' 
  + 'КоличествоДокументов=DocCount,ГосНИ=GosNI,Примечание=NOTE,ТипСредств=MeansTypeTo,БухОперация=BuhOperationCls,'
  + 'РСФО=incaccount,ЛицевойСчет=FacialAcc_CLSTo,KDFrom=KDFrom,SubKDFrom=SubKDFrom,RegionCLSFrom=RegionCLSFrom,'
  + 'FacialAcc_CLSFrom=FacialAcc_CLSFrom,MeansTypeFrom=MeansTypeFrom,ДатаПринятия=IDate,КодБюджета=BudgetRef';
  результат.Values(кПоляОгрЗаголовка) := "ДатаПринятия,КодБюджета";  
    //поля из таблицы кода дохода будут получаться по ИД кода дохода через разыменовки
  результат.Values(кЗапросЗаголовка) := "";
  результат.Values(кЗапросРеестра) := '';
  результат.Values(кЗапрос) := '';
конец; 
//устанавливаются ограничения на выбираемые остатки:
//1) по Варианту ведения росписи(контроль по росписи)
//2) ограничения для учета договоров
//3) ограничение по дате в зависимости от константы в настройках 
//4) по л/с плательщиков проверяемых документов
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  КонДата               : строка;
  Данные, Заголовок     : СтатическиеДанные;
  ti                    : ITableInfoX;
  ИндексКолонки         : ЦЕЛОЕ;
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  ФорматДаты := "DD.MM.YYYY";
  // тип ограничения по текущей дате или нет
  // для состояний ограничения по датам надо стандартные накладывать
  если Ограничения.values(кПервыйВызов)
    тогда начало
      Если НЕ КонтрольСостояний(Вид)
      тогда начало
            КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");//по макс. дату реестра в документах  
            если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000")
              тогда Ограничения.Values("КонечнаяДата") := КонДата;
      конец;
    конец;
  //накладываем ограничения по р/с плательщика в документах
  ИндексКолонки := ti.FindColumnByField("Организация");  
  если ИндексКолонки &gt; -1
    тогда если ti.Columns(ИндексКолонки).IsDataRequired
          тогда Ограничения.Values('ОргСсылка') := GetLimitStr(Данные, "Организация");
конец;

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_ПереброскаДоходов := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_ПереброскаДоходов" type="3" name="Export">NEWBURDELNY\burdelny\20.06.2006 19:47:56</param>
    <param value="БК_ПереброскаДоходов" type="3" name="version">36.193.12</param>
    <param value="БК_ПереброскаДоходов" type="3" name="crc32">$05CBF68F</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9030400</V>
            <V N="Name">Логический контроль выписки по доходам</V>
            <V N="Template">(09.03.04) Логический контроль.XLM</V>
            <V N="Generation">БК_ВыпискаИзБанка</V>
            <V N="Options">70</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.12</param>
  </node>
  <version_info>
    <file>Сборка(17)Заявки_Контроль.xml</file>
    <version>36.193.12</version>
    <info>&lt;p&gt;Контроли блока заявок&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:11</buildtime>
  </version_info>
  <description>Бюджетный контроль</description>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_Заявки">//*********************************************************************************************
// Макрос управления для контроля заявок(на наличие средств по росписи)
// Автор: Бурдельный Р.В.
// Дата : 14.02.2003
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_Заявки(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;

функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей;
  результат.Values(кТипДокументаВКонтроле) := 1701;  
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";  
  результат.Values(кКлюч) := 'КодДокумента';
  результат.Values(кКлючи) := 'КодДокумента=ID';
  результат.Values(кСсылка) := 'ID';  
  результат.Values(кВнутренняяСсылка) := 'ID';  
  результат.Values(кВидПроверяемыхДанных) := cdLiner;  
  результат.Values(кНомерДетали) := -1;
  результат.Values(кЛогСуммы) := "";
  результат.Values(кПоляСуммы) := "ПроверяемаяСумма=SummaRequested";
  результат.Values(кПроверкаПоРаскладке) := "ЛицевойСчет=ЛицСчет";
  результат.Values(кПоляОгрЗаголовка) := 'Месяц,КодБюджета,ДатаВвода';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(результат.Values(кТипДокументаВКонтроле));
  если результат.Values(кТипДокПоСхеме) тогда
    результат.Values(кПоляОгрЗаголовка) := Строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента,НачСостояниеДокумента";
  результат.Values(кПоляЗаголовкаСостояний) := "КодБюджета=BudgetRef";              
  результат.Values(кКлассификаторыСостояний) := "";
  результат.Values(кПоляЗаголовока) := "ИсточникВнутрФинансирования=InnerFinSource,НачСостояниеДокумента=BeginDocStateRef";
  результат.Values(кКлассификаторы) := "Заявка=ID";
  результат.Values(кЗапрос) := '';
  результат.Values(кЗапросЗаголовка) := 
    "SELECT r.DFAccount, r.SourceAccount, r.DestAccount, r.FacialAcc_Cls, r.KESR, r.KCSR, tKcsr.Code KCSRCode," +
    " r.KVSR, tKvsr.Code KVSRCode, r.KVR, tKvr.Code KVRCode, r.KFSR, r.SubKESR, r.Fact, r.MeansType," +
    " r.FinSource, r.FinType, r.DocType, r.RegionCLS, r.InnerFinSource FinSourceMaster, tIFS.FinSourceValue InnerFinSource," +
    " r.KD KDMaster, tKD.KDValue KD, r.SubKD, r.BuhPaymentCls, r.PaySymbolCls, r.PAYPRIORITY, r.Number, r.MONTH, r.YEAR," +
    " r.USERNOTE, r.PAYDATE, r.InputDate, r.ProgIndex, r.ProgIndex2, r.Promise, r.DocumentBaseType, r.id, r.SUMMAREQUESTED," + 
    " B.DestType, B.SourceType, r.Budget, r.DirectionCLS, r.DocStateRef, cast(null as Integer) BeginDocStateRef" +    
    "FROM Requests r" +
    " left join BuhPaymentCLS B on B.ID = r.BuhPaymentCLS" +   
    " left join KD tKD on (tKD.id = r.KD)" +
    " left join InnerFinSource tIFS on (tIFS.id = r.InnerFinSource)" +
    " left join KVSR tKvsr on (tKvsr.id = r.KVSR)" +
    " left join KVR tKvr on (tKvr.id = r.KVR)" +
    " left join KCSR tKcsr on (tKcsr.id = r.KCSR) " +
    "WHERE" +
    " (r.RequestsDocState &lt;&gt; 1) and (r.ID in (@MasterID))";    
конец; 
// устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  ИндексКолонки, Год, Месяц, День: целое;
  Данные, Заголовок, ДанныеДляДаты: СтатическиеДанные;
  КонДата: строка;
  ДатаКонтроля: дробное;
начало
  // получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  // для БК из системы состояний всегда должна браться текущая дата (она устанавливается по умолчанию),
  // а для БК с интерфейса мы должны проанализировать дату ввода
  если (не КонтрольСостояний(Вид)) и Ограничения.Values(кПервыйВызов) тогда
  начало
    // доработка для возможности задания даты контроля по Ctrl
    ДатаКонтроля := СтрокаВРасширеннуюДату(Ограничения.Values("КонечнаяДата"));
    ДанныеДляДаты := СоздатьСтатическиеДанные;
    попытка
      ДанныеДляДаты.ДобавитьДробноеПоле("ДатаКонтроля");
      ДанныеДляДаты.Открыть;
      ДанныеДляДаты.Группировать(Заголовок, "keys=;ДатаКонтроля=max(ДатаВвода)");
      // конечная дата контроля должна быть не меньше текущей даты
      если ДанныеДляДаты.ПолеПоИмени("ДатаКонтроля").КакДробное &lt; ДатаКонтроля тогда
        ДанныеДляДаты.ПолеПоИмени("ДатаКонтроля").КакДробное := ДатаКонтроля;
      КонДата := MaxDateExToStr(ДанныеДляДаты, "ДатаКонтроля");
      если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда Ограничения.Values("КонечнаяДата") := КонДата;
    обязательно
      УдалитьОбъект(ДанныеДляДаты);
    конец;
  конец;    
  // накладываем ограничения по кодам состояний по OR:
  // 1. если контроль запустился ИЗ системы состояний, то в поле СостояниеДокумента содержится 
  // конечное состояние, в которое будет переведен документ, а не его текущее состояние;
  // 2. функция GetStatesLevels не учитывает состояния с пустым уровнем;
  // Поэтому для одинаковости результатов контроля ИЗ системы состояний и с интерфейса
  // для контролей ИЗ системы состояний придется строить ограничение по начальному состоянию документа,
  // а НЕ ИЗ системы состояний - ограничение по текущему состоянию документа.
  если Ограничения.Values(кТипДокПоСхеме) тогда  // если установлена галка использования системы состояний для интерфейса
    если КонтрольСостояний(Вид) тогда
      // если контроль запустился ИЗ системы состояний, то переход уже выполнился, и,
      // чтобы не учесть лишние предыдущие уровни БК, будем накладывать ограничение строго &gt;, поэтому используем нач. состояние  
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('НачСостояниеДокумента').КакЦелое, '&gt;')
    иначе
      // если контроль запустился НЕ ИЗ системы состояний, то переход не выполняется, документ находится в своем текущем состоянии,
      // и тогда должны включить в ограничение состояния, по уровню БК следующие за текущим (без учета текущего состояния)  
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');
  // формируем ограничение по ИД проверяемых заявок 
  Ограничения.Values("ПроверяемыеЗаявки") := GetLimitStr(Данные, 'КодДокумента');
  // ограничение заявок по макс. месяцу
  Месяц := 0;
  если Заголовок.НайтиПоле("Месяц", nil) тогда 
  начало
    Заголовок.ВНачало;
    пока не Заголовок.ВКонце делать
    начало
      если Месяц &lt; Заголовок.ПолеПоИмени("Месяц").КакЦелое тогда
        Месяц := Заголовок.ПолеПоИмени("Месяц").КакЦелое;
      Заголовок.Следующая;
    конец;
  конец
  иначе  // либо по текущему месяцу
    ПолучитьДату(ТекущаяДата, Год, Месяц, День);
  // если месяц = &lt;нет&gt;, то по месяцу не ограничиваем (месяц и квартал в алгоритмах вычисляются из конечной даты)
  если Месяц &lt;&gt; 0 тогда
  начало
    Ограничения.Values("Месяц") := Месяц;
    // установка Квартала добавлена в частности для Бюджета, т.к. если Квартал не задан, то он вычисляется из конечной даты 
    // (текущей, например), хотя Месяц определяется из проверяемых данных и может не сответствовать Кварталу из конечной даты
    Ограничения.Values("Квартал") := (Месяц + 2) цел 3;
  конец;
  // формируем ограничение по л/с плательщика с учетом того, что в нескольких выполняемых сразу контролях
  // может присутствовать или отсутствовать лс
  если Ограничения.ПараметрСуществует("ЛицСчет") тогда Ограничения.Delete("ЛицСчет");
  если Ограничения.ПараметрСуществует("ЛицСчетЧек") тогда Ограничения.Delete("ЛицСчетЧек");
  ИндексКолонки := ti.FindColumnByField('ЛицевойСчет');
  если ИндексКолонки &gt; -1 тогда
    если ti.Columns(ИндексКолонки).IsDataRequired тогда
    начало  
      Ограничения.Values("ЛицСчетЧек") := да;  
      Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, 'ЛицевойСчет');
    конец;  
конец;

переменные
  КартаПолей: IVariables;
начало
  КартаПолей := ПолучитьКартуПолей;
  ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_Заявки" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:14:28</param>
    <param value="БК_Заявки" type="3" name="version">36.193.12</param>
    <param value="БК_Заявки" type="3" name="crc32">$01D27D96</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_ЗаявкиКазначейства">//******************************************************************************************************
// Макрос управления для контроля уведомлений 
// Автор: Бурдельный Р.В.
// Дата : 02.04.2003
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";

БК_ЗаявкиКазн(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;

функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кТипДокументаВКонтроле) := 1701;  
  результат.Values(кСсылкаНаМодуль) := Adapter;  
  результат.Values(кСвязьСЗаголовком) := "КодДокумента=RecordIndex";
  результат.Values(кКлюч) := 'КодДокумента';
  результат.Values(кКлючи) := 'КодДокумента=ID';
  результат.Values(кСсылка) := 'ID';  
  результат.Values(кНомерДетали) := -1;
  результат.Values(кВидПроверяемыхДанных) := cdLiner;                                                                                             
  результат.Values(кЛогСуммы) := "";  
  результат.Values(кПоляСуммы) := "ПроверяемаяСумма=SUMMARequested,ПроверяемаяСуммаКИсполнению=SUMMATOFINANCE";
  результат.Values(кПроверкаПоРаскладке) := "СчетРаспорядителя=РССсылка,ЛицевойСчет=ЛицСчет";
  результат.Values(кПоляОгрЗаголовка) := 'КодБюджета';    
  результат.Values(кПоляЗаголовока) := "СпособИсполнения=REQUESTTYPE,СчетРаспорядителя=SourceAccount"; 
  результат.Values(кКлассификаторы) := "Заявка=ID";
  результат.Values(кЗапрос) := "";
  результат.Values(кЗапросЗаголовка) := 
    "SELECT r.DFAccount, r.SourceAccount, r.DestAccount, r.FacialAcc_Cls, r.KESR, r.KCSR, r.KVSR, " +
    "       r.KVR, r.KFSR, r.SubKESR, r.Fact, r.MeansType, r.FinSource, r.FinType, r.DocType, r.RegionCLS, " +
    "       r.InnerFinSource, r.KD, r.SubKD, r.BuhPaymentCls, r.PaySymbolCls, r.PAYPRIORITY, r.Number, " +
    "       r.MONTH, r.YEAR, r.USERNOTE, r.PAYDATE, r.InputDate, r.ProgIndex, r.ProgIndex2, r.Promise, " + 
    "       r.DocumentBaseType, r.id, r.SUMMAREQUESTED, B.DestType, B.SourceType, r.Budget, r.DirectionCLS, " +
    "       r.REQUESTTYPE " +     
    "FROM " +
    "  Requests r left join BuhPaymentCLS B on B.ID = r.BuhPaymentCLS " +   
    "WHERE " + 
    "  (r.ProgIndex=221) and (r.ID in (@MasterID))";    
конец; 
//устанавливаются ограничения на выбираемые остатки
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ti: ITableInfoX;
  Данные, Заголовок: СтатическиеДанные; 
  ИндексКолонки: целое;
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  //формируем ограничение по р/с распорядителей
  ИндексКолонки := ti.FindColumnByField("СчетРаспорядителя"); 
  если ИндексКолонки &gt; -1
    тогда если ti.Columns(ИндексКолонки).IsDataRequired
          тогда Ограничения.Values("РССсылка") := GetLimitStr(Данные, "СчетРаспорядителя");
  //формируем ограничение по проверяемым л/с плательщика
  ИндексКолонки := ti.FindColumnByField('ЛицевойСчет'); 
  если ИндексКолонки &gt; -1
    тогда если ti.Columns(ИндексКолонки).IsDataRequired
          тогда начало  
            Ограничения.Values("ЛицСчетЧек") := да;  
            Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, 'ЛицевойСчет');
          конец;
  //формируем ограничение по ИД проверяемых заявок         
  Ограничения.Values("ПроверяемыеЗаявки") := GetLimitStr(Данные, 'КодДокумента');
конец;

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_ЗаявкиКазн := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_ЗаявкиКазначейства" type="3" name="Export">MARAEVA7\baranova\19.02.2013 11:14:32</param>
    <param value="БК_ЗаявкиКазначейства" type="3" name="version">36.193.12</param>
    <param value="БК_ЗаявкиКазначейства" type="3" name="crc32">$CFF19D35</param>
  </node>
  <version_info>
    <file>Сборка(55)Уведомления_Контроль.xml</file>
    <version>36.193.54</version>
    <info>&lt;p&gt;Контроли блока уведомлений об уточнении&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:13</buildtime>
  </version_info>
  <description>Бюджетный контроль</description>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_Уведомления"> //***************************************************************************************************
//                              Бюджетный контроль уведомлений об уточнении 
//***************************************************************************************************
        
включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";
включить "project";
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';



БК_Уведомления(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables) : целое;

константы 
  ПоляСуммСторно = "( /* приход */
                 (313 - cor_c.ProgIndex)*(cor_d.ProgIndex-315)*((cor_d.OperationType + 1)/2)*cor_d.Summa +
                    (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)/2)*cor_d.Summa  
                   ) - 
              ( /* возврат прихода */
                    (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa - 
                    (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                   ) SummaIn,
           
              ( /* возврат прихода */
                    (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa - 
                    (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                   ) SummaInReturn,
           
              ( /* расход */
                    (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType + 1)/2)*cor_d.Summa - 
                    (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa 
                   ) - 
              ( /* возврат расхода */
                    (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa -
                    (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                   ) SummaOut,  
                      
              ( /* возврат расхода */
                    (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa -
                    (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                   ) SummaOutReturn,";
  ПоляСумм = "( /* приход */
                          (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa + 
                          (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                          ) - 
                    ( /* возврат прихода */
                          (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa + 
                          (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa
                          ) SummaIn,
           
                    ( /* возврат прихода */
                          (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa + 
                          (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa
                          ) SummaInReturn,
           
                    ( /* расход */
                          (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType + 1)/2)*cor_d.Summa + 
                          (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa 
                          ) - 
                    ( /* возврат расхода */
                          (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa +  
                          (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa
                          ) SummaOut,  
                      
                    ( /* возврат расхода */
                          (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa +  
                          (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa
                          ) SummaOutReturn, ";

функция ПолучитьКартуПолей: IVariables;

переменные
  ф : ФормаВвода;
  кодИнтерфейса : целое;
  Суммы: строка;
начало
  ф := ПолучитьФормуВвода;
  кодИнтерфейса := ф.КодИнтерфейса;
  результат := ПустаяКартаПолей;
  результат.Values(кТипДокументаВКонтроле) := кодИнтерфейса;
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСвязьСЗаголовком) := "";
  результат.Values(кПолеРеестра) := '';
  результат.Values("ПоляСуммы") := 'СуммаПоКлассификацииИсходногоДокумента=ORIGINALCLSSUMMA,ПроверяемаяСуммаПриход=SummaIn,ПроверяемаяСуммаВозвратПрихода=SummaInReturn,ПроверяемаяСуммаРасход=SummaOut,ПроверяемаяСуммаВозвратРасхода=SummaOutReturn,ПроверяемаяСумма=Summa,ПроверяемаяСуммаЗаголовок=SummaCpt';
  результат.Values("ЛогСуммы") := '';
  результат.Values(кПоляОгрЗаголовка) := 'КодБюджета,ДатаВВода,ДатаПринятия,ДатаУчета';
  результат.Values(кТипДокПоСхеме) := ТипДокИдетПоСхеме(кодИнтерфейса); 
  если результат.Values(кТипДокПоСхеме) тогда 
    результат.Values(кПоляОгрЗаголовка) := Строка(результат.Values(кПоляОгрЗаголовка)) + ",СостояниеДокумента";
  результат.Values(кПоляЗаголовока) :=
                "КодБюджета=BudgetRef,НомерДокумента=DocNumber,ДатаВвода=InputDate,ДатаПринятия=AcceptDate,ДатаУчета=RecordDate," + 
                "Примечание=Note,Основание=NoteEx,ТипУведомления=CaptionDocType,ИндексыДанныхЗаголовок=CaptionProgIndex,ИндексыДанныхЗаголовок=ProgIndex," + 
                "СостояниеДокумента=DocStateRef,ПричинаОтклонКод=Reject_CLS,ПричинаОтклонТекст=RejectCause,ИндексАлгоритма=AlgIndex," + 
                "СчетПлат=SourceAccount,СчетПолуч=DestAccount,ИсхДокДата=OriginalDate";
                 
  результат.Values(кКлассификаторы) :=
    'РайонБУ=RegionBudgetEst,ИндексыДанных=ProgIndexDet,' +
    'ИсточникВнутрФинансированияКлюч=IFS,ИсточникВнутрФинансирования=IFsValue,КодДохода=KDValue,' +
    'КодСубсидии=SubsidyClsCode,КодБюджАссигнования=BudAllocationCLSCode,' +
    'КодРасходногоОбязательства=PayPromiseCLSCode,ВидДеятельности=ActivityKind';
    
  результат.Values(кПоляЗаголовкаСостояний) := "НомерДокумента=fDocNumber,ПричинаОтклонКод=fReject_CLS,ДатаВвода=InputDate";              
  результат.Values(кКлассификаторыСостояний) := 
                'ЛицевойСчет=FacialAcc_CLS,Мероприятие=FACT,ТипСредств=MeansType,' +
                'ИсточникФинансирования=FinSource,ТипФинансирования=FinType,ТипДокумента=DocType,Регион=RegionCls, РайонТрансферта=RegionCls';
  если ПолучитьПараметр(4,0,"СторнирующиеНаправления")="1"  тогда
    Суммы  := ПоляСуммСторно
  иначе                      
    Суммы := ПоляСумм;  
  результат.Values(кЗапрос) :=  формат(
  
       "SELECT 
           cor_d.FacialAcc_CLS FacialAcc_CLS, cor_d.KESR KESR, tc.Code TransfertClsCode, cor_d.TransfertCls TransfertCls, 
           tKCSR.Code KCSRCode, tKVSR.Code KVSRCode, tKVR.Code KVRCode, cor_d.KCSR KCSR, cor_d.KVSR KVSR, cor_d.KVR KVR,
           cor_d.KFSR KFSR, cor_d.SubKESR SubKESR, cor_d.Fact Fact, cor_d.MeansType MeansType, cor_d.FinSource FinSource,
           cor_d.FinType FinType, cor_d.DocType DocType, cor_d.RegionCls RegionCls, org.RegionCLS RegionBudgetEst,cor_d.RecordIndex RecordIndex, cor_d.ID ID,
           cor_d.Promise Promise, cor_d.ExecDoc ExecDoc, cor_d.BudgetPromise BudgetPromise, cor_d.ChangeOrgName ChangeOrgName, cor_d.ChangeOrgINN ChangeOrgINN, cor_d.ChangeOrgINN20 ChangeOrgINN20,
           %s           
           cor_d.Summa Summa,
           cor_d.ORIGINALCLSSUMMA ORIGINALCLSSUMMA, 
           cor_d.ProgIndex ProgIndexDet,
           cor_d.ParentId ParentId,
           cor_c.Summa SummaCpt,           
           cor_d.DirectionCLS DirectionCLS,
           cor_d.BuhOperationCls BuhOperationCls, cor_d.IFS IFS, cor_d.ClsType ClsType, cor_d.KD KD,
           cor_c.SourceType SourceType, 0 DestType,
           cor_c.OriginalDate OriginalDate,
           kd.Kdvalue KDValue, ifs.FinSourceValue IFSValue,
           cor_d.SubsidyCls SubsidyCls, 
           s.Code SubsidyClsCode,
           cor_d.PayPromiseCLS PayPromiseCLS, 
           p.Code PayPromiseCLSCode,
           cor_d.BudAllocationCLS BudAllocationCLS, 
           b.Code BudAllocationCLSCode, 
           mt.ActivityKind ActivityKind,
           cor_d.changeacc_ref changeacc_ref,
           55 fAlgIndex,          
           
           -1 ControlResult, cast('' as char(1024)) ControlMessage              
         FROM       
           CorrectionDetail cor_d
             left join CorrectionCaption cor_c on (cor_c.Id = cor_d.RecordIndex)
             left join Kd on (kd.id = cor_d.kd)
             left join InnerFinSource ifs on (ifs.id = cor_d.ifs)
             left join kvsr tKVSR on (tKVSR.Id = cor_d.KVSR)
             left join kvr  tKVR on (tKVR.Id = cor_d.KVR)
             left join kcsr tKCSR on (tKCSR.Id = cor_d.KCSR)
             left join SubsidyCls s on (cor_d.SubsidyCls = s.ID) 
             left join PayPromiseCLS p on (cor_d.PayPromiseCLS = p.ID)  
             left join BudAllocationCLS b on (cor_d.BudAllocationCLS = b.ID)
             left join TransfertCls tc on (tc.ID = cor_d.TransfertCls)   
             left join FacialAcc_Cls f on (cor_d.Facialacc_Cls = f.Id)
             left join Org_Accounts fccoa on (fccoa.id = f.FCAccount) 
             left join Organizations org on (org.id = f.Org_Ref)
             LEFT JOIN MeansType MT ON (mt.ID =   cor_d.MeansType)      
         WHERE 
           (cor_d.RecordIndex in (@MasterID))
        ",Суммы);      
  результат.Values(кЗапросРеестра) :=  '';   
  результат.Values(кЗапросЗаголовка) := 
      "SELECT 
         cor_c.ID ID, cor_c.InputDate InputDate, cor_c.DocNumber DocNumber,  
         cor_c.AcceptDate AcceptDate, cor_c.Note fNote, cor_c.RecordDate RecordDate,
         cor_c.Reject_CLS Reject_CLS, cor_c.RejectCause RejectCause,
         cor_c.DocStateRef DocStateRef, cor_c.Summa SummaCpt, cor_c.BUDGETRef BUDGETRef, cor_c.ProgIndex ProgIndex,
         55 fAlgIndex, 
         cor_c.OriginalPayerAcc_ref sourceAccount,  cor_c.OriginalAcceptorAcc_Ref DestAccount
       FROM       
         CorrectionCaption cor_c 
       WHERE 
         (cor_c.ID in (@MasterID))";  
конец;
 
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
переменные
  КонДата,СтарыйФильтр  : строка;
  Данные, Заголовок,
  Вспомогательный       : СтатическиеДанные;
  ti                    : ITableInfoX;
  ИндексКолонки         : ЦЕЛОЕ;   
  СписокIdДетализации,
  СписокChildId         : строка;
  
начало
  //получение данных из коллекции
  ПолучитьЗаголовокИПроверяемые(НаборыДанных, Заголовок, Данные);
  ti := Шаблон.Template.TableInfo;
  
  // тип ограничения по текущей дате или нет
  // для состояний ограничения по датам надо стандартные накладывать
  Если НЕ КонтрольСостояний(Вид)
  тогда 
  начало
    если Ограничения.Values(кПервыйВызов) тогда 
    начало
      // если есть ссылка на реестр (за исключением реестра УРМ), то ограничиваем по дате реестра,
      // иначе, если заполнена дата документа и она превышает текущую дату, то ограничиваем по дате документа,
      // иначе ограничиваем по дате принятия (если дата принятия пуста, то функция MaxDateExToStr вернет текущую дату)
      попытка
        СтарыйФильтр := Заголовок.Фильтр;
        Заголовок.Фильтр := 'not (ДатаУчета is null)';
        если Заголовок.ЧислоЗаписей = 0 тогда
        начало
          Заголовок.Фильтр := 'ДатаВвода &gt; ' + ЦелоеВСтроку(СтрокаВРасширеннуюДату(ДатаВСтроку(ТекущаяДата)));
          если Заголовок.ЧислоЗаписей = 0 тогда
          начало
            Заголовок.Фильтр := СтарыйФильтр; 
            КонДата := MaxDateExToStr(Заголовок, "ДатаПринятия");
          конец
          иначе
            КонДата := MaxDateExToStr(Заголовок, "ДатаВвода");
        конец 
        иначе
          КонДата := MaxDateExToStr(Заголовок, "ДатаУчета");
      обязательно
        Заголовок.Фильтр := СтарыйФильтр; 
      конец;  
      если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000") тогда
        Ограничения.Values("КонечнаяДата") := КонДата;
    конец;      
    // наложим ограничения по кодам состояний по OR
    Если Ограничения.Values(кТипДокПоСхеме) тогда 
      Ограничения.Values("СписокСостояний") := GetStatesLevels(Заголовок.ПолеПоИмени('СостояниеДокумента').КакЦелое, '&gt;');  
  конец;
  //накладываем ограничения по л/с плательщика в документах
  ИндексКолонки := ti.FindColumnByField("ЛицевойСчет");  
  если ИндексКолонки &gt; -1 тогда 
    если ti.Columns(ИндексКолонки).IsDataRequired  тогда 
      начало
        Ограничения.Values("ЛицСчетЧек") := да;  
        Ограничения.Values('ЛицСчет') := GetLimitStr(Данные, "ЛицевойСчет");
      конец;
// находим список ид детализации уведомления
// находим в таблице связей все подчиненные документы, сохраняем их ид
// ограничиваем по этим ид - эти документы нам не нужны в контроле - так как иначе произойдёт дублированние сумм (и из уведомления и из связанного документа возмутся одни и те же суммы)    
  СписокIdДетализации := GetLimitStr(Данные, "КодЗаписи");
  Если СписокIdДетализации &lt;&gt; "" тогда
  начало
    Вспомогательный := СоздатьСтатическиеДанные;
    Вспомогательный.СоединитьБД;
    Вспомогательный.Запрос := "[PumpData] 
                               {
                                Select lr.ParentID, lr.ChildID
                                from 
                                  LinkRecords lr
                                where
                                  (1=1)and(lr.ParentID in (" + СписокIdДетализации + "))
                               }";
    Вспомогательный.Открыть;                           
    СписокChildId := GetLimitStr(Вспомогательный, "ChildID");
  конец;   
  Если СписокChildId &lt;&gt; "" тогда
    Ограничения.Values("ОгрКодЗаписиУведомления") :=' and d.id not in (' + СписокChildId + ') ';
  Ограничения.Values("ДлинныеОграниченияПоддержаны") := 1;                           
конец;

переменные
  ф : ФормаВвода;
  КартаПолей : IVariables;  
начало
  ф := ПолучитьФормуВвода;
//  ф.Детализация.Таблица.Filtered := ложь; // это чтобы нормально обрабатывались плюсики на интерфейсе
  КартаПолей := ПолучитьКартуПолей();
  БК_Уведомления := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
//  ф.Детализация.Таблица.Filtered := истина;
конец.
</value>
    <param value="БК_Уведомления" type="3" name="version">36.193.54</param>
    <param value="БК_Уведомления" type="3" name="crc32">$34FC4D38</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010100</V>
            <V N="Name">Логический контроль уведомления</V>
            <V N="Template">(55.02.01)Логический контроль.XLM</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010200</V>
            <V N="Name">Контроль уведомления расход(по лимитам)</V>
            <V N="Template">(55.02.02)Уведомления_Расход(по лимитам).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010300</V>
            <V N="Name">Контроль уведомления расход(по ОФ)</V>
            <V N="Template">(55.02.03)Уведомления_Расход(по ОФ).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010400</V>
            <V N="Name">Контроль уведомления расход(по БО)</V>
            <V N="Template">(55.02.04)Уведомления_Расход(по БО).XLM</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010600</V>
            <V N="Name">Контроль уведомления возврат расхода(проверка возможности возврата)</V>
            <V N="Template">(55.02.06)Уведомления_ВозвратРасхода(проверка возможности возврата).XLM</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010700</V>
            <V N="Name">Контроль уведомления расход(по годовой росписи)</V>
            <V N="Template">(55.02.07)Уведомления_Расход(по годовой росписи).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010800</V>
            <V N="Name">Контроль уведомления приход(расходная класссификация, по годовой росписи)</V>
            <V N="Template">(55.02.08)Уведомления_Приход(расходная класссификация, по годовой росписи).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010900</V>
            <V N="Name">Контроль уведомления приход(расходная классификация, по лимитам)</V>
            <V N="Template">(55.02.09)Уведомления_Приход(расходная классификация, по лимитам).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55011000</V>
            <V N="Name">Контроль уведомления возврат прихода(расходная классификация, проверка возможности возврата)</V>
            <V N="Template">(55.02.10)Уведомления_ВозвратПрихода(расходная классификация, проверка возможности возврата).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55011100</V>
            <V N="Name">Контроль уведомления возврат прихода(доходная классификация, проверка возможности возврата)</V>
            <V N="Template">(55.02.11)Уведомления_ВозвратПрихода(доходная классификация, проверка возможности возврата).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020100</V>
            <V N="Name">Логический контроль уведомления</V>
            <V N="Template">(55.02.01)Логический контроль.XLM</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020200</V>
            <V N="Name">Контроль уведомления расход(по лимитам)</V>
            <V N="Template">(55.02.02)Уведомления_Расход(по лимитам).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020300</V>
            <V N="Name">Контроль уведомления расход(по ОФ)</V>
            <V N="Template">(55.02.03)Уведомления_Расход(по ОФ).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020400</V>
            <V N="Name">Контроль уведомления расход(по БО)</V>
            <V N="Template">(55.02.04)Уведомления_Расход(по БО).XLM</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020600</V>
            <V N="Name">Контроль уведомления возврат расхода(проверка возможности возврата)</V>
            <V N="Template">(55.02.06)Уведомления_ВозвратРасхода(проверка возможности возврата).XLM</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020700</V>
            <V N="Name">Контроль уведомления расход(по годовой росписи)</V>
            <V N="Template">(55.02.07)Уведомления_Расход(по годовой росписи).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020800</V>
            <V N="Name">Контроль уведомления приход(расходная класссификация, по годовой росписи)</V>
            <V N="Template">(55.02.08)Уведомления_Приход(расходная класссификация, по годовой росписи).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020900</V>
            <V N="Name">Контроль уведомления приход(расходная классификация, по лимитам)</V>
            <V N="Template">(55.02.09)Уведомления_Приход(расходная классификация, по лимитам).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55021000</V>
            <V N="Name">Контроль уведомления возврат прихода(расходная классификация, проверка возможности возврата)</V>
            <V N="Template">(55.02.10)Уведомления_ВозвратПрихода(расходная классификация, проверка возможности возврата).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55021100</V>
            <V N="Name">Контроль уведомления возврат прихода(доходная классификация, проверка возможности возврата)</V>
            <V N="Template">(55.02.11)Уведомления_ВозвратПрихода(доходная классификация, проверка возможности возврата).xlm</V>
            <V N="Generation">БК_Уведомления</V>
            <V N="Options">22</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.54</param>
  </node>
  <version_info>
    <file>Сборка(99)Системные_Контроль.xml</file>
    <version>36.193.08</version>
    <info>&lt;p&gt;Контроли интерфейсов служебного назначения&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:14</buildtime>
  </version_info>
  <description>Бюджетный контроль</description>
  <node path="Бюджет\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_СхемаСостояний">включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_СхемаСостояний(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;

функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кПоляСуммы) := "";
  результат.Values(кЛогСуммы) := '';
  результат.Values(кПоляОгрЗаголовка) := '';  
  результат.Values(кТипДокПоСхеме) := 0;
  результат.Values(кПроверкаПоРаскладке) := "";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := '';
  результат.Values(кКлассификаторы) := '';
  результат.Values(кСсылка) := '';
  результат.Values(кНомерДетали) := -1;
  результат.Values(кВидПроверяемыхДанных) := cdLiner;  
  результат.Values(кСвязьСЗаголовком) := "КодЗаписи=ID";
  результат.Values(кПоляЗаголовока) := "КодДокумента=ID,ИндексыДанных=ProgIndex";
  результат.Values(кЗапрос) := "";
  результат.Values(кЗапросЗаголовка) :=
      ' SELECT distinct d.ID ID, d.ProgIndex, d.Name' +
      ' FROM DocumentTypes d ' +
      ' WHERE (d.ID in (@MasterID)) ';
конец; 

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  БК_СхемаСостояний := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_СхемаСостояний" type="3" name="Export">MARAEVA\baranova\07.06.2007 13:09:53</param>
    <param value="БК_СхемаСостояний" type="3" name="version">36.193.08</param>
    <param value="БК_СхемаСостояний" type="3" name="crc32">$5D42411A</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="БК_СхемаСостоянийГраф">включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";

БК_СхемаСостояний(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;

функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кПоляСуммы) := "";
  результат.Values(кЛогСуммы) := '';
  результат.Values(кПоляОгрЗаголовка) := '';  
  результат.Values(кТипДокПоСхеме) := 0;
  результат.Values(кПроверкаПоРаскладке) := "";
  результат.Values(кПоляЗаголовкаСостояний) := "";              
  результат.Values(кКлассификаторыСостояний) := '';
  результат.Values(кКлассификаторы) := '';
  результат.Values(кСсылка) := '';
  результат.Values(кНомерДетали) := -1;
  результат.Values(кВидПроверяемыхДанных) := cdLiner;  
  результат.Values(кСвязьСЗаголовком) := "КодЗаписи=ID";
  результат.Values(кПоляЗаголовока) := "КодДокумента=ID,ИндексыДанных=ProgIndex";
  результат.Values(кЗапрос) := "";
  результат.Значение(кТипДокументаВКонтроле) := 9910;
  результат.Values(кЗапросЗаголовка) :=
      ' SELECT distinct d.ID ID, d.ProgIndex, d.Name' +
      ' FROM DocumentTypes d ' +
      ' WHERE (d.ID in (@MasterID)) ';
  Вид := ctxCustomPost;
конец; 

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  ПараметрыКонтроля.Values(OptNeedShowControl) := 1;
  БК_СхемаСостояний := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="БК_СхемаСостоянийГраф" type="3" name="Export">MARAEVA\baranova\25.09.2007 15:58:21</param>
    <param value="БК_СхемаСостоянийГраф" type="3" name="version">36.193.08</param>
    <param value="БК_СхемаСостоянийГраф" type="3" name="crc32">$6C5633F9</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="К_АдминКонтроль">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\control.lib';
включить '\Библиотеки\output.lib';
включить '\Библиотеки\sysUtils.lib';
включить '\Библиотеки\ReportTools.lib';
включить "Project";

К_АдминКонтроль(Вид: целое; Шаблон: строка; Резерв: Объект): целое;
константы
  nl = #10#13;
  ПутьКУзелТемп = "Бюджет\Ресурсы\Темп";
  
переменные
  ПотокДанные: ВНЕШНИЙОБЪЕКТ;
  Визуализатор: IUniViewer; 
  ШаблонОтчета: ITableInfoX; 
  Обработчики: IVariables;
  Окно: ОкноВывода;
  Ф: ФормаВвода;
  НеКомпилирующиесяМакросы: Текст;  
  Данные: СтатическиеДанные;
  СписокРасширений, ШаблоныНаДиске, Шаблоны, НеСуществующиеШаблоны: Текст;
  ОбработчикиИзРеестра, ОбработчикиИзШаблона, НеКомпилОбработчикиИзРеестра: Текст; 
  УзелТемп: УзелРеестра;
  ЗначУзелТемпСШаблона: ЗначениеРеестра;
  ИдПотока, НетСобытия: целое;
  Filename, ИмяШаблона, ИмяОбработчика, КодОтчетаСтр, НазваниеОшибки: строка;
  ПрфТемпМакрос, ТипВизуализатора, ДопПуть, ПутьКСобытиям, РасшШаблона: строка;
  сч1, сч2, сч: целое; 

  функция ОткрытьШ(Шаблон, ИмяВизуализатора: строка; ШаблонОтчета: ITableInfoX): IUniViewer;
  начало
    результат := CreateComObject(ИмяВизуализатора); 
    LoadTemplateToViewer(Шаблон, результат);
    ШаблонОтчета := результат.GetTable;
  конец;

  функция СкриптНеКомпилируется(ПутьКСкрипту, ИмяСкрипта: строка): целое;
  переменные
    ЗначУзелТемп: ЗначениеРеестра;
    ДлнИмяСкрипта, ДлнПрфТемпМакрос: целое;
  начало
    результат := нет;
    ДлнИмяСкрипта := Длина(ИмяСкрипта);
    ДлнПрфТемпМакрос := Длина(ПрфТемпМакрос);
    если (ДлнИмяСкрипта + ДлнПрфТемпМакрос) &gt; 64 тогда
      ИмяСкрипта := Подстрока(ИмяСкрипта, 1, 64 - ДлнПрфТемпМакрос); 
    ЗначУзелТемп := УзелТемп.Значение(ПрфТемпМакрос + ИмяСкрипта);
    ЗначУзелТемп.КакСтрока := "включить '" + ПутьКСкрипту + "\" + ИмяСкрипта + "';" + nl +
      "начало " + nl +
      "конец."; 
    ЗначУзелТемп.ТипДанных := 7;
    попытка              
      ВыполнитьСкрипт(ПутьКУзелТемп + "\" + ЗначУзелТемп.Имя);
    неудача
      НазваниеОшибки := ПоследняяОшибка;
      результат := да;
    конец;
  конец;
  
  функция ПроверитьМакросыВРеестре(ПутьКМакросам: строка): целое;
  переменные
    СписокМакросов: Текст;
    сч: целое;
  начало
    результат := да;
    СписокМакросов := СоздатьТекст; 
    попытка
      СписокМакросов.РазделенноеЗначение := Реестр.Узел(ПутьКМакросам).СписокЗначений;
      НеКомпилирующиесяМакросы.Значение := "";
      от сч := 0 до (СписокМакросов.Количество - 1) делать
        если СкриптНеКомпилируется(ПутьКМакросам, СписокМакросов.Стр(сч)) тогда
        начало
          НеКомпилирующиесяМакросы.Добавить(СписокМакросов.Стр(сч) + ' - ' + НазваниеОшибки);
          результат := нет;
        конец;
    обязательно
      УдалитьОбъект(СписокМакросов);
    конец;
  конец;

  функция ОпределитьТипВизуализатора(ТипФайла: строка): строка;
  начало
    выбрать Строчные(ТипФайла) из
      ".clx": результат := CellViewer;
      ".sts", ".tmf", ".xlm": результат := SSViewer;
    иначе
      результат := F1Viewer;
    конец;
  конец;
  
начало
  НеКомпилирующиесяМакросы := СоздатьТекст;
  НеСуществующиеШаблоны := СоздатьТекст;
  ОбработчикиИзРеестра := СоздатьТекст;
  НеКомпилОбработчикиИзРеестра := СоздатьТекст;
  ОбработчикиИзШаблона := СоздатьТекст;
  ШаблоныНаДиске := СоздатьТекст;
  Шаблоны := СоздатьТекст;
  СписокРасширений := СоздатьТекст;
  Данные := СоздатьСтатическиеДанные;
  Окно := ОкноВывода;
  // для компиляции макросов будем создавать отдельный узел реестра с макросами
  УзелТемп := Реестр.Узел(ПутьКУзелТемп);
  // сейчас по умолчанию процесс компиляции кэшируется, поэтому
  // будем добавлять префикс системного времени в имя временного макроса
  ПрфТемпМакрос := ВремяВСтроку(ПолучитьТекущееСистемноеВремя);
  ПрфТемпМакрос := ЗаменитьСтроку(ПрфТемпМакрос, ":", "");
  попытка
    Ф := ПолучитьФормуВвода;
    Окно.Очистить;
    ДопПуть := "";
    СписокРасширений.РазделенноеЗначение := "\*.xlc,\*.sts,\*.clx";
    ПутьКСобытиям := "Бюджет\Объекты\Отчеты\Скрипты\События";
    выбрать Ф.АктивнаяДетализация из
      // закладка Отчеты
      0: ИдПотока := ENUM_REPORTS;
      // закладка Печатные документы
      1: начало
           ИдПотока := ENUM_DOCS;
           ДопПуть := "\Документы";
         конец;
      // закладка Контроли
      2: начало
           ИдПотока := ENUM_CONTROL;
           ДопПуть := "\Шаблоны БК";
           СписокРасширений.РазделенноеЗначение := "\*.xlm";
           ПутьКСобытиям := "Бюджет\Объекты\Контроль\Скрипты\События";
         конец;
      // закладка Импорт
      3: начало
           ИдПотока := ENUM_IMPORT;
           ДопПуть := "\Импорт";
           СписокРасширений.РазделенноеЗначение := "\*.sts";
         конец;
      // закладка Экпорт
      4: начало
           ИдПотока := ENUM_EXPORT;
           ДопПуть := "\Экспорт";
           СписокРасширений.РазделенноеЗначение := "\*.sts";
         конец;
      // закладка Генерация
      5: начало
           ИдПотока := ENUM_GENERATION;
           ДопПуть := "\Генерация";
           СписокРасширений.РазделенноеЗначение := "\*.tmf";
         конец;
      иначе
        выход; // сценарии пока не контролируем
    конец;
    // проверяем макросы алгоритмов
    если не ПроверитьМакросыВРеестре("Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы") тогда
    начало
      Окно.Вывести('НЕКОМПИЛИРУЮЩИЕСЯ АЛГОРИТМЫ');
      Окно.Вывести(НеКомпилирующиесяМакросы.Значение);
    конец;
    // проверяем макросы запросов
    если не ПроверитьМакросыВРеестре("Бюджет\Ресурсы\Макросы\Запросы") тогда
    начало
      Окно.Вывести('НЕКОМПИЛИРУЮЩИЕСЯ ЗАПРОСЫ');
      Окно.Вывести(НеКомпилирующиесяМакросы.Значение);
    конец; 
    // для закладки контролей проверяем макросы контролей БК_
    если Ф.АктивнаяДетализация = 2 тогда
      если не ПроверитьМакросыВРеестре("Бюджет\Объекты\Контроль\Скрипты\Контроль") тогда
      начало
        Окно.Вывести('НЕКОМПИЛИРУЮЩИЕСЯ МАКРОСЫ КОНТРОЛЯ');
        Окно.Вывести(НеКомпилирующиесяМакросы.Значение);
      конец;  
    // проверка шаблонов:
    // составляем список шаблонов, лежащих в соответствующей папке
    попытка
      от сч1 := 0 до (СписокРасширений.Количество - 1) делать
      начало
        если FindFirst(TemplatePath + ДопПуть + СписокРасширений.Стр(сч1),
          ($0000003F - $00000020 - $00000010 - $00000008), Filename) тогда                            
        попытка
          ШаблоныНаДиске.Добавить(FileName);
          пока FindNext(Filename) делать
            ШаблоныНаДиске.Добавить(FileName);
        обязательно
          FindClose;
        конец;
      конец;
    неудача
    конец;
    // проверяем события с шаблонов
    ПотокДанные := ReadEnum(ИдПотока);
    Данные.ДобавитьЦелоеПоле("ИД");
    Данные.ДобавитьСтроковоеПоле("Шаблон", 255);
    Данные.ДобавитьСтроковоеПоле("ОсновнойСкрипт", 255);
    Данные.Открыть;
    Данные.PumpData(ПотокДанные, "Шаблон=Template,ИД=CLS,ОсновнойСкрипт=Generation");
    Данные.Индекс := "ИД";
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      ИмяШаблона := Данные.ПолеПоИмени("Шаблон").КакСтрока;
      // если шаблон не указан, выведем эту информацию в окно вывода
      если УбратьПробелы(ИмяШаблона) = "" тогда
      начало
        КодОтчетаСтр := ФорматироватьКлассификатор(Данные.ПолеПоИмени('ИД').КакЦелое, '00.00.00.00');
        НеСуществующиеШаблоны.Добавить(КодОтчетаСтр + ' - шаблон не указан');
      конец
      иначе
        попытка 
          РасшШаблона := Строчные(Подстрока(ИмяШаблона, Длина(ИмяШаблона) - 3, 4));
          // если шаблон указан, смотрим его расширение (исключаем композиты, ленты и посторонние шаблоны)
          если Позиция(РасшШаблона, СписокРасширений.РазделенноеЗначение) &gt; 0 тогда
            начало
              Шаблоны.Добавить(ИмяШаблона);
              // по расширению шаблона определяем тип визуализатора для открытия шаблона
              ТипВизуализатора := ОпределитьТипВизуализатора(РасшШаблона);
              // открываем шаблон
              Визуализатор := ОткрытьШ(ДопПуть + "\"  + ИмяШаблона, ТипВизуализатора, ШаблонОтчета);
              // для каждой страницы шаблона анализируем события
              от сч := 0 до (Визуализатор.TemplateCount - 1) делать
              начало
                Визуализатор.TemplateIndex := сч;
                Обработчики := Визуализатор.GetProjVars;
                от сч1 := 0 до (Обработчики.Count - 1) делать
                начало
                  ИмяОбработчика := Обработчики.Values(Обработчики.Names(сч1));
                  если УбратьПробелы(ИмяОбработчика) &lt;&gt; "" тогда
                  начало
                    // если используется обработчик из реестра
                    если (Позиция(#10, ИмяОбработчика) = 0) и (Позиция(#13, ИмяОбработчика) = 0) тогда
                    // то сформируем список таких обработчиков, чтобы потом проверить за один цикл
                    начало
                      НетСобытия := 1;
                      сч2 := 0; 
                      пока (НетСобытия) и (сч2 &lt; ОбработчикиИзРеестра.Количество) делать 
                         если ИмяОбработчика = ОбработчикиИзРеестра.Стр(сч2) тогда
                           НетСобытия := 0
                         иначе
                           сч2 := сч2 + 1;
                      если НетСобытия тогда ОбработчикиИзРеестра.Добавить(ИмяОбработчика);
                    конец  
                    иначе  
                      // если макрос написан в шаблоне, то проверяем его на компилируемость
                      начало
                        ЗначУзелТемпСШаблона := УзелТемп.Значение(ПрфТемпМакрос + Данные.ПолеПоИмени('ИД').КакСтрока +
                          (ЦелоеВСтроку(сч)) + ЦелоеВСтроку(сч1));
                        ЗначУзелТемпСШаблона.КакСтрока := ИмяОбработчика;
                        ЗначУзелТемпСШаблона.ТипДанных := 7;
                        если СкриптНеКомпилируется(ПутьКУзелТемп, ЗначУзелТемпСШаблона.Имя) тогда
                        начало
                          КодОтчетаСтр := ФорматироватьКлассификатор(Данные.ПолеПоИмени('ИД').КакЦелое, '00.00.00.00');
                          ОбработчикиИзШаблона.Добавить(КодОтчетаСтр + " - " + ИмяШаблона + ": событие " +
                            Обработчики.Names(сч1) + ' - ' + НазваниеОшибки);
                        конец;
                      конец;
                  конец;
                конец;
              конец;
            конец;
        неудача
          КодОтчетаСтр := ФорматироватьКлассификатор(Данные.ПолеПоИмени('ИД').КакЦелое, '00.00.00.00');
          НеСуществующиеШаблоны.Добавить(КодОтчетаСтр + ' - ' + ИмяШаблона);
        конец;
      Данные.Следующий;  
    конец;
    // проверяем на компилируемость заполненный ранее список макросов,
    // находящихся в реестре и используемых в шаблонах
    от сч1 := 0 до (ОбработчикиИзРеестра.Количество - 1) делать
      если Реестр.Узел(ПутьКСобытиям).Значение(ОбработчикиИзРеестра.Стр(сч1)).КакСтрока = '' тогда
        НеКомпилОбработчикиИзРеестра.Добавить(ОбработчикиИзРеестра.Стр(сч1) + ' - не существует')
      иначе
        если СкриптНеКомпилируется(ПутьКСобытиям, ОбработчикиИзРеестра.Стр(сч1)) тогда
          НеКомпилОбработчикиИзРеестра.Добавить(ОбработчикиИзРеестра.Стр(сч1) + ' - ' + НазваниеОшибки);
    // сравниваем список шаблонов в Бюджете и список шаблонов с диска: удаляем из списка шаблонов с диска те,
    // которые используются, оставшиеся выведем как список неиспользующихся шаблонов
    сч1 := 0;
    пока сч1 &lt; ШаблоныНаДиске.Количество делать
    начало
      сч2 := 0;
      пока сч2 &lt; Шаблоны.Количество делать
        если Шаблоны.стр(сч2) &lt;&gt; ШаблоныНаДиске.Стр(сч1) тогда
          сч2 := сч2 + 1
        иначе
          Прервать;
      если сч2 &lt;&gt; Шаблоны.Количество тогда 
        ШаблоныНаДиске.Удалить(сч1)
      иначе      
        сч1 := сч1 + 1; 
    конец;
    // выводим результаты проверок шаблонов
    если НеСуществующиеШаблоны.Количество тогда
    начало
      Окно.Вывести('НЕСУЩЕСТВУЮЩИЕ ШАБЛОНЫ');
      Окно.Вывести(НеСуществующиеШаблоны.Значение);
    конец;
    если ШаблоныНаДиске.Количество тогда
    начало
      Окно.Вывести('НЕИСПОЛЬЗУЕМЫЕ ШАБЛОНЫ');
      Окно.Вывести(ШаблоныНаДиске.Значение);
    конец;
    если НеКомпилОбработчикиИзРеестра.Количество тогда
    начало
      Окно.Вывести('НЕКОМПИЛИРУЮЩИЕСЯ МАКРОСЫ ИЗ РЕЕСТРА, ИПОЛЬЗУЕМЫЕ В ШАБЛОНАХ');
      Окно.Вывести(НеКомпилОбработчикиИзРеестра.Значение);
    конец;
    если ОбработчикиИзШаблона.Количество тогда
    начало
      Окно.Вывести('НЕКОМПИЛИРУЮЩИЕСЯ МАКРОСЫ ОБРАБОТКИ ИЗ ШАБЛОНОВ');
      Окно.Вывести(ОбработчикиИзШаблона.Значение);
    конец;  
    // если в окне вывода что-то записали, то значит ошибки есть
    если Окно.Count тогда
    начало
      ВызватьОшибку('Ошибки найдены');
      Окно.Показать;
    конец
    иначе
      MsgBox('Ошибок не обнаружено');
  обязательно
    УзелТемп.Удалить;
    УдалитьОбъект(НеКомпилирующиесяМакросы, НеСуществующиеШаблоны, ОбработчикиИзРеестра, 
      НеКомпилОбработчикиИзРеестра, ОбработчикиИзШаблона, ШаблоныНаДиске, Шаблоны, Данные, СписокРасширений);
  конец;  
конец.
</value>
    <param value="К_АдминКонтроль" type="3" name="Export">MARAEVA-XP\baranova\25.10.2010 16:06:20</param>
    <param value="К_АдминКонтроль" type="3" name="version">36.193.08</param>
    <param value="К_АдминКонтроль" type="3" name="crc32">$BF7B52A6</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="К_АдминКонтрольБК">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\control.lib';
включить '\Библиотеки\output.lib';
включить '\Библиотеки\sysUtils.lib';

К_АдминКонтроль(Вид: целое; Шаблон: строка; Резерв: Объект): целое;
константы
  nl=#10#13;
переменные
   ПотокКонтроли : ВНЕШНИЙОБЪЕКТ;
   Контроли : СтатическиеДанные;
   ПутьКСкрипту,
   имяШаблона:строка;
   Алгоритмы,АлгоритмыВШаблоне,НеСуществующиеШаблоны,НеКомпилирующиесяАлгоритмы,
   ОбработчикиИзРеестра,ОбработчикиИзШаблона:Текст; 
   сч1,сч2:целое; 
   имяАлгоритма:строка;
   НетАлгоритма:целое;
   ОсновнойСкрипт: строка;
   Окно : ОкноВывода;
   КодОтчета:целое;
   КодОтчетаСтр:строка;
   НазваниеОшибки:строка;
   ЕстьОшибки:целое;
   ИнфоОШаблоне         : ITemplates;
   Заголовки, Обработчики : IVariables;
   РаскладкаШаблона     : ITableInfoX;
   ИмяОбработчика: строка;
   НетСобытия:целое;
   ВспомСтр:строка;
   ШаблоныНаДиске,Шаблоны:Текст;
   Filename:строка;

функция СкриптНеКомпилируется(ПутьКСкрипту, ИмяСкрипта, НазваниеОшибки: строка): ЦЕЛОЕ;
переменные
  строкаскрипта:строка;
начало
  результат:=нет;
  строкаскрипта:='включить "' + ПутьКСкрипту + ИмяСкрипта + '";'+nl+
                 'начало'+nl+
                 'конец'; 
  попытка                
    результат := (не Event(строкаскрипта,nil));
  неудача
    НазваниеОшибки:=последняяошибка;
    результат:=да
  конец  
конец;
//--------------------------------------------------------------------------------------------------------------------------------------- 
начало
  Алгоритмы:=СоздатьТекст();
  НеКомпилирующиесяАлгоритмы:=СоздатьТекст();
  АлгоритмыВШаблоне:=СоздатьТекст();
  НеСуществующиеШаблоны:=СоздатьТекст();
  ОбработчикиИзРеестра:=СоздатьТекст();
  ОбработчикиИзШаблона:=СоздатьТекст();
  ШаблоныНаДиске:=СоздатьТекст();
  Шаблоны:=СоздатьТекст();
  
  Контроли := СоздатьСтатическиеДанные();
  попытка
    ЕстьОшибки:=0;
    Окно:=ОкноВывода;
    Окно.Очистить;
    попытка
      если FindFirst(TemplatePath +
                     '\Шаблоны БК\*.xlm',$0000003F, Filename) 
      тогда                            
        попытка
          ШаблоныНаДиске.Добавить(TemplatePath +'\Шаблоны БК\'+FileName);
          пока FindNext(Filename) делать ШаблоныНаДиске.Добавить(TemplatePath +'\Шаблоны БК\'+FileName);
        обязательно
          FindClose;
        конец;
    неудача
    конец;
    ПотокКонтроли := ReadEnum(ENUM_Control);
    Контроли.ДобавитьЦелоеПоле("КонтрольИД");
    Контроли.ДобавитьСтроковоеПоле("Шаблон", 255);
    Контроли.ДобавитьСтроковоеПоле("ОсновнойСкрипт", 255);
    Контроли.Открыть;
    Контроли.PumpData(ПотокКонтроли, "Шаблон=Template,КонтрольИД=CLS,ОсновнойСкрипт=generation");
    Контроли.First;
    пока не Контроли.eof делать
    начало
      имяШаблона:=TemplatePath +'\Шаблоны БК\'+Контроли.fieldbyname('шаблон').AsString;
      Шаблоны.Добавить(имяШаблона);
      ОсновнойСкрипт:=Контроли.fieldbyname('ОсновнойСкрипт').AsString;
      попытка
        //получаем описание шаблона по его имени
        ИнфоОШаблоне := ControlLoadTemplate(имяШаблона);
        РаскладкаШаблона := ИнфоОШаблоне.CheckTemplate.TableInfo;
        АлгоритмыВШаблоне.Значение := РаскладкаШаблона.GetCategories();
        Обработчики := ИнфоОШаблоне.Template.Functions;
        //выбираем обработчики в шаблоне и из реестра 
        от сч1 := 0 до 1 делать
          начало
            если сч1=0
            тогда  ВспомСтр:='ДоЗакачки'
            иначе  ВспомСтр:='ПослеЗакачки';
            ИмяОбработчика := Обработчики.Values(ВспомСтр);
            если (позиция(#10,ИмяОбработчика)=0) и
                 (позиция(#13,ИмяОбработчика)=0)  и
                  (ИмяОбработчика&lt;&gt;'')
            тогда      //обработчики из реестра
              начало
                НетСобытия:=1;
                сч2:=0; 
                пока (НетСобытия) и  (сч2&lt;ОбработчикиИзРеестра.Количество) делать 
                   если ИмяОбработчика=ОбработчикиИзРеестра.Стр(сч2)
                   тогда НетСобытия:=0
                   иначе сч2:=сч2+1;
                если  (НетСобытия)
                  тогда ОбработчикиИзРеестра.Добавить(ИмяОбработчика);
              конец  
          конец;
        //формируем перечень всех алгоритмов используемых в шаблонах контроля    
        от сч1 := 0 до АлгоритмыВШаблоне.Количество - 1 делать
          начало    
            имяАлгоритма:=АлгоритмыВШаблоне.Стр(сч1); 
            сч2:=0; 
            НетАлгоритма:=1;
            пока (НетАлгоритма) и  (сч2&lt;Алгоритмы.Количество) делать 
              если  имяАлгоритма=Алгоритмы.Стр(сч2)
              тогда  НетАлгоритма:=0
              иначе  сч2:=сч2+1;  
            если (НетАлгоритма)
              тогда  Алгоритмы.Добавить(имяАлгоритма);
          конец;
           
      неудача   
        начало
          ЕстьОшибки:=1;
          КодОтчета:=Контроли.fieldbyname('КонтрольИД').Asinteger;
          КодОтчетаСтр:=ФорматироватьКлассификатор(КодОтчета,'00.00.00.00');
          НеСуществующиеШаблоны.Добавить(КодОтчетаСтр+' - '+имяШаблона)
        конец;
      конец;  
      Контроли.next;  
    конец;
    //проверяем на компилируемость используемые в контроле алгоритмы  
    от сч1 := 0 до Алгоритмы.Количество - 1 делать
    начало
      ПутьКСкрипту := 'Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы\';
      если  СкриптНеКомпилируется(ПутьКСкрипту, Алгоритмы.Стр(сч1), НазваниеОшибки)
        тогда начало
          ЕстьОшибки:=1;
          НеКомпилирующиесяАлгоритмы.Добавить(Алгоритмы.Стр(сч1)+' - '+НазваниеОшибки);
        конец;
    конец;    
    //проверяем на компилируемость используемые в контроле управляющие макросы        
    если ЕстьОшибки
    тогда  
      начало
        msgbox('Ошибки найдены');
        Окно.Вывести('НЕСУЩЕСТВУЮЩИЕ ШАБЛОНЫ');
        Окно.Вывести(НеСуществующиеШаблоны.Значение);
        Окно.Вывести('НЕКОМПИЛИРУЮЩИЕСЯ АЛГОРИТМЫ');
        Окно.Вывести(НеКомпилирующиесяАлгоритмы.Значение);
        Окно.Показать;
      конец 
    иначе  msgbox('Ошибок не обнаружено');

    //проверка на компилируемость обработчиков контроля в реестре
    от сч1 := 0 до ОбработчикиИзРеестра.Количество - 1 делать
      если  Реестр.Узел('Бюджет\Объекты\Контроль\скрипты\события').Значение(ОбработчикиИзРеестра.Стр(сч1)).какСтрока &lt;&gt; ''
      тогда начало
        ПутьКСкрипту := 'Бюджет\Объекты\Контроль\Скрипты\События\';
        если СкриптНеКомпилируется(ПутьКСкрипту, ОбработчикиИзРеестра.Стр(сч1), НазваниеОшибки)
          тогда начало
            ЕстьОшибки:=1;
            ОбработчикиИзШаблона.Добавить(ОбработчикиИзРеестра.Стр(сч1) + ' - '+НазваниеОшибки);
          конец;      
      конец
      иначе ОбработчикиИзРеестра.Стр(сч1):=ОбработчикиИзРеестра.Стр(сч1)+' - не существует';

    сч1:=0;
    пока сч1 &lt;  ШаблоныНаДиске.Количество делать
    начало
      сч2:=0;
      пока (Сч2&lt;Шаблоны.Количество)  
      делать
        если (Прописные(Шаблоны.стр(сч2))&lt;&gt;Прописные(ШаблоныНаДиске.Стр(сч1)))
          тогда сч2:=сч2+1
          иначе прервать;
      если сч2&lt;&gt;Шаблоны.Количество        
        тогда ШаблоныНаДиске.Удалить(сч1)
        иначе сч1:=сч1+1; 
    конец;      
    Окно.Вывести('СПИСОК ОБРАБОТЧИКОВ ШАБЛОНОВ, НАХОДЯЩИХСЯ В РЕЕСТРЕ');
    Окно.Вывести(ОбработчикиИзРеестра.Значение);
    Окно.Вывести('НЕКОРРЕКТНЫЕ МАКРОСЫ ОБРАБОТКИ');
    Окно.Вывести(ОбработчикиИзШаблона.Значение);
    Окно.Вывести('НЕИСПОЛЬЗУЕМЫЕ ШАБЛОНЫ');
    Окно.Вывести(ШаблоныНаДиске.Значение);
  обязательно
    Интерфейс(Контроли).Освободить;
    УдалитьОбъект(Алгоритмы,АлгоритмыВШаблоне,НеСуществующиеШаблоны,НеКомпилирующиесяАлгоритмы,
                  ОбработчикиИзРеестра,ОбработчикиИзШаблона,ШаблоныНаДиске,Шаблоны);
  конец;  
конец.
</value>
    <param value="К_АдминКонтрольБК" type="3" name="Export">ARTEMY\kudryavov\16.08.2005 14:07:18</param>
    <param value="К_АдминКонтрольБК" type="3" name="version">36.193.08</param>
    <param value="К_АдминКонтрольБК" type="3" name="crc32">$AE697CF1</param>
  </node>
  <node path="Бюджет\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="К_Банки">//***************************************************************************************************
//                              контроль справочника банков
//***************************************************************************************************
//Соответствие полей в формате "поле шаблона" = "поле с интерфейса":
//КодДокумента=ID       - код организации
//Адрес=ADDRESS         - адрес организации
//Город=CITY            - город организации
//Страна=COUNTRY        - страна организации
//Телефон=PHONE         - телефон организации
//ГосНИ=GOSNI           - ГосНИ организации
//ИНН=INN               - ИНН организации
//КПП=INN20             - КПП организации
//Наименование=NAME     - наименование организации
//Регион=RegionCLS      - район организации
//СубИНН=SUBINN         - Суб ИНН организации
//ТипОрганизации=ORG_CLS- тип организации
//БИК=mfo               - БИК банка
//КоррСчет=Cor          - корреспонденский счет банка
//БанкЗакрыт=closed     - закрыт ли банк
//****************вычислимые поля***********************

включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";

К_Банки(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кКлюч) := "КодДокумента";  
  результат.Values(кПолеРеестра) := '';
  результат.Values(кПоляЗаголовока) := "";
  результат.Values(кКлассификаторы) := "КодДокумента=ID,Адрес=ADDRESS,Город=CITY,Страна=COUNTRY,Телефон=PHONE,ГосНИ=GOSNI,ИНН=INN,КПП=INN20,"
                                     + "Наименование=NAME,Регион=RegionCLS,СубИНН=SUBINN,ТипОрганизации=ORG_CLS,БИК=mfo,КоррСчет=Cor,БанкЗакрыт=closed";
  результат.Values(кЗапросЗаголовка) := '';    
  результат.Values(кЗапросРеестра) := '';   
  результат.Values(кЗапрос) := 'SELECT o.inn, o.name, o.gosni, o.city, o.country,'
                             + '       o.phone, o.address, o.org_cls, o.subinn, o.inn20,'
                             + '       b.id, b.mfo, b.cor, b.closed, o.RegionCls '
                             + 'FROM organizations o '
                             + 'Inner join banks b on (b.id=o.id)'
                             + 'WHERE (b.id in (@MasterID))';
конец; 
//устанавливаются ограничения на выбираемые остатки:
//1) по Варианту ведения росписи(контроль по росписи)
//2) по л/с плательщиков проверяемых документов
//Проводится контроль на заполненность реквизитов документа
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
начало
конец;

переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  К_Банки := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="К_Банки" type="3" name="Export">NEWBURDELNY\burdelny\20.06.2006 19:48:38</param>
    <param value="К_Банки" type="3" name="version">36.193.08</param>
    <param value="К_Банки" type="3" name="crc32">$0581A728</param>
  </node>
  <node path="Бюджет\Объекты\Контроль\Скрипты\Контроль">
    <value type="7" name="К_Организации">//***************************************************************************************************
//                              контроль справочника организаций
//***************************************************************************************************
//Соответствие полей в формате "поле шаблона" = "поле с интерфейса":
//КодДокумента=ID       - код организации
//Адрес=ADDRESS         - адрес организации
//Город=CITY            - город организации
//Страна=COUNTRY        - страна организации
//Телефон=PHONE         - телефон организации
//ЭлЯщик=EMail          - электронный ящик организации
//ЭлСайт=WebSite        - электронный сайт организации
//ГосНИ=GOSNI           - ГосНИ организации
//ИНН=INN               - ИНН организации
//КПП=INN20             - КПП организации
//КодВУФК=UFKCODE       - код организации в УФК 
//Наименование=NAME     - наименование организации
//ОКАТО=Okato           - ОКАТО организации
//Регион=RegionCLS      - район организации
//СубИНН=SUBINN         - Суб ИНН организации
//ПризнакФО=RCOrg       - признак, что организация = ФО
//ТипОрганизации=ORG_CLS- тип организации
//ОКАТОДляНалога=AddOKATO- дополнение к ОКАТО
//ОтделениеСБ=BankDepNumber     - номер отделения СБ
//ФКЛицевойСчет=FACIALCODE      - лицевой счет в ФК              
//КодЗаписи=id                  - ИД р/счета
//Организация=ORG_REF           - ссылка на организацию
//ФКОрганизация=SERVICE_ORG_REF - ссылка на организацию в ФК
//Банк=bank_ref                 - ссылка на банк                         
//Описание=COMMENT              - описание р/счета
//Наименованиесчета=ACC         - наименование счета
//СчетЗакрыт=CLOSED             - р/счет закрыт
//ПОУмолчанию=IsDefault         - установлен ли текущий р/счет счетом по умолчанию
//ТипСчета=ACC_CLS              - классификатор: тип счета
//ТипФинансирования=FinType     - классификатор: тип финансирования 
//****************вычислимые поля***********************

включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";

К_Организация(Вид: целое; Шаблон: строка; ПараметрыКонтроля: IVariables): целое;
  
функция ПолучитьКартуПолей: IVariables;
начало
  результат := ПустаяКартаПолей();
  результат.Values(кСсылкаНаМодуль) := Adapter;
  результат.Values(кСсылка) := "ORG_Ref";
  результат.Values(кПолеРеестра) := '';
  результат.Values(кПоляЗаголовока) := "КодДокумента=ID,Адрес=ADDRESS,Город=CITY,Страна=COUNTRY,Телефон=PHONE,ЭлЯщик=EMail,ЭлСайт=WebSite,"
                                     + "ГосНИ=GOSNI,ИНН=INN,КПП=INN20,КодВУФК=UFKCODE,Наименование=NAME,ОКАТО=Okato,Регион=RegionCLS,"
                                     + "СубИНН=SUBINN,ПризнакФО=RCOrg,ТипОрганизации=ORG_CLS,ОКАТОДляНалога=AddOKATO";
                                     //, bugphone, dirphone, bugname, dirname   
  результат.Values(кКлассификаторы) := "ОтделениеСБ=BankDepNumber,ФКЛицевойСчет=FACIALCODE,КодЗаписи=id,Организация=ORG_REF,"
                                     + "ФКОрганизация=SERVICE_ORG_REF,Банк=bank_ref,Описание=COMMENT,НаименованиеСчета=ACC,СчетЗакрыт=CLOSED,"
                                     + "ПОУмолчанию=IsDefault,ТипСчета=ACC_CLS,ТипФинансирования=FinType";
                                     //ACCDEFAULT
  результат.Values(кЗапросЗаголовка) :=
      'SELECT id, inn, name, gosni, city, country, phone, address, org_cls, subinn, inn20, '
    + '       RCorg, RegionCLS, Email, WebSite, okato, AddOkato, UFKCODE '
    + 'FROM organizations '
    + 'WHERE (ID in (@MasterID))';
    
  результат.Values(кЗапросРеестра) := '';   
  результат.Values(кЗапрос) :=
      'SELECT id, Acc, ACC_CLS, Org_REF, Comment, CLOSED, BANK_REF, FinType, BankDepNumber, FACIALCODE, SERVICE_ORG_REF, IsDefault '
    + 'FROM Org_Accounts '
    + 'WHERE Org_REF in (@MasterID)';
конец; 
//устанавливаются ограничения на выбираемые остатки:
//1) по Варианту ведения росписи(контроль по росписи)
//2) по л/с плательщиков проверяемых документов
//Проводится контроль на заполненность реквизитов документа
функция SetLimit(НаборыДанных, Ограничения: IVariables; Шаблон: ITemplates);
начало
конец;
 
переменные
  КартаПолей : IVariables;
начало
  КартаПолей := ПолучитьКартуПолей();
  К_Организация := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец.
</value>
    <param value="К_Организации" type="3" name="Export">NEWBURDELNY\burdelny\20.06.2006 19:48:43</param>
    <param value="К_Организации" type="3" name="version">36.193.08</param>
    <param value="К_Организации" type="3" name="crc32">$5B2C5888</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010100</V>
            <V N="Name">Контроль корректности шаблонов отчетов и окружения</V>
            <V N="Template">(03.02.07)логический контроль.xlm</V>
            <V N="Generation">К_АдминКонтроль</V>
            <V N="Options">2</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.08</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99080100</V>
            <V N="Name">Контроль схемы</V>
            <V N="Template">(99.08.01) Контроль схемы состояний (обязательный).XLM</V>
            <V N="Generation">БК_СхемаСостояний</V>
            <V N="Options">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.08</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99080200</V>
            <V N="Name">Контроль схемы предупредительный</V>
            <V N="Template">(99.08.02) Контроль схемы состояний (предупредительный).XLM</V>
            <V N="Generation">БК_СхемаСостояний</V>
            <V N="Options">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.08</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99100100</V>
            <V N="Name">Контроль графической схемы</V>
            <V N="Template">(99.08.01) Контроль схемы состояний (обязательный).XLM</V>
            <V N="Generation">БК_СхемаСостоянийГраф</V>
            <V N="Options">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.08</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Бюджетный контроль">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99100200</V>
            <V N="Name">Контроль графической схемы предупредительный</V>
            <V N="Template">(99.08.02) Контроль схемы состояний (предупредительный).XLM</V>
            <V N="Generation">БК_СхемаСостоянийГраф</V>
            <V N="Options">6</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Бюджетный контроль" type="3" name="version">36.193.08</param>
  </node>
  <version_info>
    <file>Сборка.Контроль.Стандартные.xml</file>
    <version>36.223.03</version>
    <info>&lt;p&gt;Стандартные макросы бюджетного контроля&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:15</buildtime>
  </version_info>
  <description>Системные макросы для контролей</description>
  <node path="%root%\Ресурсы\Макросы\Контроль">
    <value type="7" name="ВыборДляПредставлений.abl">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\StateManage.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Documents.lib";
включить '\макросы\Стандартные.abl';
включить '\макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl';

ВыборДляПредставлений(ПараметрыКонтроля: iVariables);

функция ПеренестиПоляОгрВДеталь(Заголовок, Деталь: СтатическиеДанные; КартаПолей: IVariables);
переменные
  СписокПолейОгр,
  МаппингПолей  : Текст;
  Нашли,
  инд, индПолей : целое;
  МаппингПереноса,
  ПолеПриемника,
  ПолеИсточника : строка;
начало
  СписокПолейОгр := СоздатьТекст();
  МаппингПолей := СоздатьТекст();
  попытка
    МаппингПолей.РазделенноеЗначение(",") := Прописные(КартаПолей.Values(кПоляЗаголовока));
    СписокПолейОгр.РазделенноеЗначение(",") := КартаПолей.Values(кПоляОгрЗаголовка);
    от инд := 0 до СписокПолейОгр.Количество-1 делать
    начало
      //поиск в маппинге полей имени русского поля, по которому накладывается ограничение
      индПолей := 0;
      Нашли := нет;   
      пока (индПолей &lt;= МаппингПолей.Количество-1)и не Нашли  делать
      начало
          если (Прописные(МаппингПолей.ИмяПараметра(индПолей)) = Прописные(СписокПолейОгр.Стр(инд))) 
            тогда Нашли := да
            иначе индПолей := индПолей + 1;        
      конец;
      если Нашли тогда //создаем поле в детализации
        если не Деталь.НайтиПоле(МаппингПолей.ЗначениеПараметра(МаппингПолей.ИмяПараметра(индПолей)), nil) тогда
          МаппингПереноса := МаппингПереноса + МаппингПолей.Стр(индПолей)+",";
    конец;    
    //переносим значения полей в деталь
    ПолеПриемника := КартаПолей.Values(кСсылка);
    ПолеИсточника := КартаПолей.Values(кКлючЗаголовкаИзБазы);
    если (УбратьПробелы(МаппингПереноса) &lt;&gt; "") тогда
    начало
      МаппингПереноса := ЗаменитьПодстроку(ЗаменитьЧастиМаппинга(нет, Подстрока(МаппингПереноса, 0, Длина(МаппингПереноса)-1)), ",", ";");
      ПереносНедостающихПолейПоСвязке(Деталь, Заголовок, ПолеПриемника, ПолеИсточника, МаппингПереноса);
    конец;  
  обязательно
    УдалитьОбъект(МаппингПолей);
    УдалитьОбъект(СписокПолейОгр);
  конец;
конец;
 
 //возврат результатов бюджетного контроля в основные данные на представлении
функция ВозвратРезКонтроляПоИД(ИзКонтроля, Приемник: СтатическиеДанные; КодИДВПриемнике, ИмяПоляРезВПриемнике: строка);
переменные      
  fCR, fID, fRI : IField;
начало
    fID := ИзКонтроля.Поле('ID'); 
    fCR := ИзКонтроля.Поле(ControlResult);
      
    Приемник.Индекс := КодИДВПриемнике;
    fRI := Приемник.Поле(ИмяПоляРезВПриемнике);
    ИзКонтроля.First;
    пока (не ИзКонтроля.Eof) делать
    начало
      Приемник.SetScope(ArrayOf(fID.AsInteger));
      Приемник.First();
      пока (не Приемник.Eof) делать
        начало
          если (0 &lt;= fCR.AsInteger)
            тогда fRI.AsInteger := tcr_OffsetView + fCR.AsInteger
            иначе fRI.AsInteger := -1;
          Приемник.Next();
        конец;
      ИзКонтроля.Next();
    конец;
конец;
//вызов списка контролей на представлении для набора с переданными ИД 
функция ВызватьПереченьКонтролейПоИД(Источник: СтатическиеДанные; ТипДанныхКонтроля: ЦЕЛОЕ;
                                     СписокКонтролей, ИмяПоляРезВИсточнике, КодИДВИсточнике: СТРОКА);
переменные
  ПарамКонтроля,
  НаборДанных   : IVariables;      

  Контроль      : СтатическиеДанные;
  БКы           : Текст;
  сч            : целое; 
начало
  БКы := СоздатьТекст();
  Контроль := СоздатьСтатическиеДанные();
  ПарамКонтроля := CreateVariables();
  НаборДанных := CreateVariables();      
  попытка
    Контроль.ДобавитьЦелоеПоле('ID'); 
    Контроль.ДобавитьЦелоеПоле(ControlResult);
    Контроль.Открыть();
    Контроль.GroupData(Источник, 'Keys=ID;ID=' + КодИДВИсточнике + ';'+ControlResult+'=-1;Default=false');
    
    БКы.РазделенноеЗначение := СписокКонтролей;
    //определяем передаваемый в контроль набор данных
    ПарамКонтроля.Values(кВидНабораДанных) := ТипДанныхКонтроля;
    ПарамКонтроля.Values(stVarControlData) := НаборДанных;
    НаборДанных.Values('0') := Контроль;
    от сч:=0 до БКы.Количество-1 делать
      начало
        ПарамКонтроля.Values(cPrevCall) := (сч &lt;&gt; (БКы.Количество-1));
        ExecuteControl(СтрокаВЦелое(БКы.Стр(сч)), ctxView, ПарамКонтроля);
      конец;
    ВозвратРезКонтроляПоИД(Контроль, Источник, КодИДВИсточнике, ИмяПоляРезВИсточнике);  
  обязательно
    Источник.CancelRange;  
    Интерфейс(НаборДанных).Освободить;
    Интерфейс(ПарамКонтроля).Освободить;
    УдалитьОбъект(БКы);
  конец;
конец;

функция ФормПроверяемыеДляПредставления(Вид: целое; ЭталонныйНабор: СтатическиеДанные; Шаблон: ITemplates; ПараметрыКонтроля: IVariables);
переменные
  Документы,
  Деталь        : СтатическиеДанные;
  КартаПолей,
  НаборыДанных  : IVariables;
  НомерДетали   : целое;
  Отсутствующие,
  Маппинг       : СТРОКА;
начало
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  //получаем наборы данных для контроля
  если (ПараметрыКонтроля = nil) тогда ВозбудитьОшибку('Нет коллекции с параметрами');
  НаборыДанных := ПараметрыКонтроля.Values(stVarControlData);
  если (НаборыДанных = nil) тогда ВозбудитьОшибку('Нет проверяемого множества');
  ПараметрыКонтроля.Values(кТолькоЧтение) := да;
  //получаем заголовок для контроля  
  Документы := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
  ПараметрыКонтроля.Values(кНуженКонтроль) := НуженКонтроль(Документы, ЭталонныйНабор, Шаблон, КартаПолей);
    
  если ПараметрыКонтроля.Values(кНуженКонтроль)
    тогда выбрать КартаПолей.Values(кВидПроверяемыхДанных) из
            cdMasterDetail: 
              начало
                НомерДетали := КартаПолей.Values(кНомерДеталиВОписанииПолей);      
                //если переданные данные заголовок, то по ним выбираем полный заголовок и деталь для контроля
                //если переданные данные деталь, то по ним нужно получить полную деталь и восстановить заголовок
                если ПараметрыКонтроля.Values(кВидНабораДанных) = ctCaption тогда
                начало
                  //проверка наличия детали          
                  Деталь := ПолучитьДетальКонтроляИЗКоллекции(ПараметрыКонтроля, НомерДетали + 1);
/*                    если Деталь &lt;&gt; nil
                      тогда ЗаполнитьДаннымиНабора(НомерДетали, Вид, Деталь, ЭталонныйНабор, ПараметрыКонтроля)
                      иначе начало 
                        //получение полной детали
                        Деталь := ПолучитьДанныеДетали(НомерДетали, кКлючЗаголовка, Документы, КартаПолей);                
                        //перенос в эталон
                        ВыделитьОтсутствующиеПоляДетали(Маппинг, КартаПолей, Деталь, ЭталонныйНабор);
                        ЗанестиВЭталонныйНабор(нет, Маппинг, Деталь, ЭталонныйНабор, КартаПолей);            
                      конец;*/
                  если Деталь = nil тогда
                    Деталь := ПолучитьДанныеДетали(НомерДетали, кКлючЗаголовка, Документы, КартаПолей);
                  ЗаполнитьДаннымиНабора(НомерДетали, Вид, Деталь, ЭталонныйНабор, ПараметрыКонтроля);    
                конец
                иначе 
                  если ПараметрыКонтроля.Values(кВидНабораДанных) = ctDetail тогда
                  начало
                    Деталь := Документы;
                    //перенос детали с необходимым набором полей
                    ЗаполнитьДаннымиНабора(НомерДетали, Вид, Деталь, ЭталонныйНабор, ПараметрыКонтроля);
                    //полное восстановление заголовка и перенос в эталон
                    Отсутствующие := ВыделитьОтсутствующиеПоляЗаголовка(Маппинг, КартаПолей, Деталь, ЭталонныйНабор);
                    если (Отсутствующие &lt;&gt; '') или (Маппинг &lt;&gt; '') тогда
                    начало
                      Документы := ПолучитьДанныеЗаголовка(Отсутствующие, кСсылка, Деталь, КартаПолей);
                      //получаем перечень полей заголовка необходимых для наложения органичений в упр. макросе
                      ПеренестиПоляОгрВДеталь(Документы, Деталь, КартаПолей);
                    конец;  
                  конец
                  иначе
                    ВозбудитьОшибку("Вид данных, переданных с представления в контроль, не определен!");
                //перенос заголовка с необходимым набором полей  
                ЗаполнитьДаннымиНабора(-1, Вид, Документы, ЭталонныйНабор, ПараметрыКонтроля);
              конец;
            cdLiner:  
              начало
                ЗаполнитьЛинейНабором(Вид, Шаблон, ПараметрыКонтроля, Документы, ЭталонныйНабор);
              конец;
          конец;//выбрать      
конец;

функция ВернутьРезультатВПредставление(ВидКонтроля: Целое; ЭталонныйНабор: СтатическиеДанные; ПараметрыКонтроля: IVariables);
переменные
  Детализация,
  Заголовок     : СтатическиеДанные;
  КартаПолей    : IVariables;
  ключЗаголовка,  
  ключИсточника,
  ключПриемника : СТРОКА;    
  СтрокаОшибки  : строка;
  НомерДетали,
  Макс_РезКонтроля,
  БылаОшибка    : целое; 
начало
  БылаОшибка := нет;
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  //если заголовок из представления передавался, то возвращаем в него результат
  если ПараметрыКонтроля.Values(кВидНабораДанных) = ctCaption
    тогда начало
      КлючЗаголовка := КартаПолей.Values(кКлючЗаголовка);
      Заголовок := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
      Макс_РезКонтроля := MaxFieldIntValue(Заголовок, ControlResult);                
      БылаОшибка := tcrGeneral &lt; Макс_РезКонтроля;
    конец
    иначе начало
      Детализация := ПолучитьДетальКонтроляИзКоллекции(ПараметрыКонтроля, 0); 
      Макс_РезКонтроля := MaxFieldIntValue(Детализация, ControlResult);
    конец;    
  //для детализации возвращаем результат в набор детали
  ключИсточника := ПолучитьПолеКлюч(КартаПолей.Values(кКлючи), да, 0);
  ключПриемника := ПолучитьПолеКлюч(КартаПолей.Values(кКлючи), нет, 0);
  НомерДетали := КартаПолей.Values(кНомерДеталиВОписанииПолей);
  Детализация := ПолучитьДетальКонтроляИзКоллекции(ПараметрыКонтроля, НомерДетали + 1);
  если (Детализация &lt;&gt; nil) тогда 
    БылаОшибка := БылаОшибка или (tcrGeneral &lt; SetCtrlResult(ЭталонныйНабор, Детализация, ключИсточника, ключПриемника, ControlResult, ControlMessage, 0, нет));
  если БылаОшибка тогда
  начало
    если (ПараметрыКонтроля &lt;&gt; nil)
      тогда СтрокаОшибки := ПараметрыКонтроля.Values('Имя')
      иначе СтрокаОшибки := '';
  конец;
  ПараметрыКонтроля.Values(кРезультатКонтроля) := Макс_РезКонтроля;  
конец;

//------------------------------------------основной вызов формирования извне------------------------------------------
переменные
  ПараметрыДляФорм      : IVariables;
  ОписаниеШаблона       : ITemplates;  
  ЭталонНабор           : СтатическиеДанные;
 
  ВидОперации, 
  ВидКонтроля           : ЦЕЛОЕ;      
начало
  ВидОперации := ПараметрыКонтроля.values(КВидДействия);
  ПараметрыДляФорм := ПараметрыКонтроля.Values(КонтрольПараметры);
  ОписаниеШаблона := ПараметрыДляФорм.Values(кОписаниеШаблона);
  ЭталонНабор := ПараметрыДляФорм.Values(КонтрольДанные);
  ВидКонтроля := ПараметрыДляФорм.Values("ВидКонтроля"); 
  выбрать ВидОперации из
    Конст_ВыборДанныхКонтроля()         : ФормПроверяемыеДляПредставления(ВидКонтроля, ЭталонНабор, ОписаниеШаблона, ПараметрыКонтроля);
    Конст_ВозвратРезультатовКонтроля()  : ВернутьРезультатВПредставление(ВидКонтроля, ЭталонНабор, ПараметрыКонтроля);
  конец; 
конец;
</value>
    <param value="ВыборДляПредставлений.abl" type="3" name="Export">MARAEVA-XP\baranova\08.10.2009 19:25:15</param>
    <param value="ВыборДляПредставлений.abl" type="3" name="version">36.223.03</param>
    <param value="ВыборДляПредставлений.abl" type="3" name="crc32">$F019FE7E</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Контроль">
    <value type="7" name="ВыборДляСостояний.abl">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\reports.lib";
включить "\Библиотеки\Variables.lib";
включить "\Библиотеки\StateManage.lib";
включить '\макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl';

ВыборДляСостояний(ПараметрыКонтроля: IVariables);
константы
  ОшибкаНетДеталиВКоллекции     = "Функция: 'ФормПроверяемыеДляСостояний'. Детализации проверяемых документов с указанным номером %d не передано";
//удаление из набора детали данных, не связанных с заголовком 
функция УдалениеЛишнейДетали(КартаПолей: IVariables; Заголовок, ДанныеДетали: СтатическиеДанные);
переменные
  ДетальПоЗаголовку: СтатическиеДанные;     
  ИДЗаголовков  : IVariables;
  сч            : целое;
  ЧастьИД,
  КлючЗаголовка,
  Ссылка        : СТРОКА;
начало
  КлючЗаголовка := КартаПолей.Values(кКлючЗаголовка);
  Ссылка := КартаПолей.Values(кСсылка);
  ИДЗаголовков := GetLimits(Заголовок, 100, КлючЗаголовка);
  ДетальПоЗаголовку := СоздатьСтатическиеДанные();
  попытка
    ДетальПоЗаголовку.ПрисвоитьПоля(ДанныеДетали);
    ДетальПоЗаголовку.Открыть();
    от сч  := 0 до ИДЗаголовков.Count-1 делать
    начало
      ЧастьИД := ИДЗаголовков.IndexValues(сч);
      ДанныеДетали.Фильтр := Формат("%s in [%s]", Ссылка, ЧастьИД);
      ДанныеДетали.Filtered := ДА;
      ДетальПоЗаголовку.PumpData(ДанныеДетали, '');
      ДанныеДетали.Filtered := Нет;
      ДанныеДетали.Фильтр := "";            
    конец;
    ДанныеДетали.Clear();
    ДанныеДетали.PumpData(ДетальПоЗаголовку, '');
  обязательно
    ДанныеДетали.Filtered := Нет;
    ДанныеДетали.Фильтр := "";       
    УдалитьОбъект(ИДЗаголовков);
  конец;  
конец;

функция ФормПроверяемыеДляСостояний(Вид: целое; ЭталонныйНабор: СтатическиеДанные; Шаблон: ITemplates; ПараметрыКонтроля: IVariables);
переменные
  КартаПолей,
  НаборыДанных  : IVariables;
  Документы, 
  ТекущаяДеталь : СтатическиеДанные;
  НомерДеталиВХранении: целое;
начало
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  КартаПолей.Values(кСсылкаНаФормирование) := Adapter;
  если УбратьПробелы(КартаПолей.Values(кКлассификаторыСостояний)) &lt;&gt; ""
    тогда SubstituteMap(кКлассификаторыСостояний, кКлассификаторы, КартаПолей);
  если УбратьПробелы(КартаПолей.Values(кПоляЗаголовкаСостояний)) &lt;&gt; ""
    тогда SubstituteMap(кПоляЗаголовкаСостояний, кПоляЗаголовока, КартаПолей);
        
  если ПараметрыКонтроля.CheckPAram(OptNeedShowControl) тогда
    ПараметрыКонтроля.Values(кТолькоЧтение) := не ПараметрыКонтроля.Values(OptNeedShowControl)
  иначе ПараметрыКонтроля.Values(кТолькоЧтение) := да;
  //получаем наборы данных для контроля
  если (ПараметрыКонтроля = nil) тогда ВозбудитьОшибку('Нет коллекции с параметрами');
  НаборыДанных := ПараметрыКонтроля.Values(stVarControlData);
  если (НаборыДанных = nil) тогда ВозбудитьОшибку('Нет проверяемого множества');

  Документы := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
  ПараметрыКонтроля.Values(кНуженКонтроль) := НуженКонтроль(Документы, ЭталонныйНабор, Шаблон, КартаПолей);  
  если ПараметрыКонтроля.Values(кНуженКонтроль)
    тогда выбрать КартаПолей.Values(кВидПроверяемыхДанных) из
            cdMasterDetail: 
              начало
                НомерДеталиВХранении := Целое(КартаПолей.Values(кНомерДеталиВОписанииПолей));
                если (НомерДеталиВХранении &lt; 0)или(НомерДеталиВХранении &gt; НаборыДанных.Count-2)
                  тогда ВозбудитьОшибку(Формат(ОшибкаНетДеталиВКоллекции, НомерДеталиВХранении));
                ТекущаяДеталь := ПолучитьДетальКонтроляИзКоллекции(ПараметрыКонтроля, НомерДеталиВХранении + 1);
                ДобавитьПоляКонтроляВНабор(ТекущаяДеталь);  
                ЗаполнитьДаннымиНабора(НомерДеталиВХранении, Вид, ТекущаяДеталь, ЭталонныйНабор, ПараметрыКонтроля);
//                УдалениеЛишнейДетали(КартаПолей, Документы, ЭталонныйНабор);
                ЗаполнитьДаннымиНабора(-1, Вид, Документы, ЭталонныйНабор, ПараметрыКонтроля);      
              конец;
            cdLiner:  
              начало
                ЗаполнитьЛинейНабором(Вид, Шаблон, ПараметрыКонтроля, Документы, ЭталонныйНабор);
              конец;
          конец;//выбрать      
конец;

функция ВернутьРезультатВДокСостояний(ВидКонтроля: целое; ЭталонныйНабор: СтатическиеДанные; ПараметрыКонтроля: IVariables);
переменные
  ДетальИзПараметра,
  Документы     : СтатическиеДанные;
  
  КартаПолей    : IVariables;
  НомерДетали   : целое;  
  Ключи, ПоляСуммы, 
  Классификаторы: строка;  
начало
  Документы := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
  ПараметрыКонтроля.Values(кРезультатКонтроля) := MaxFieldIntValue(Документы, ControlResult);
  если не ПараметрыКонтроля.Values(кТолькоЧтение) тогда
  начало
    КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
    НомерДетали := КартаПолей.VAlues(кНомерДеталиВОписанииПолей);
    Ключи := КартаПолей.VAlues(кКлючи);
    Классификаторы := КартаПолей.Values(кКлассификаторы);  
    ПоляСуммы := КартаПолей.Values(кПоляСуммы);
    
    ДетальИзПараметра := ПолучитьДетальКонтроляИзКоллекции(ПараметрыКонтроля, НомерДетали + 1);
    SynchDetail(ЭталонныйНабор, ДетальИзПараметра, InvertMap(Ключи),
                СформироватьМаппингДляВставки(ПараметрыКонтроля, Классификаторы), InvertMap(ПоляСуммы),
                ControlResult + '=' + ControlResult + ',' +
                ControlMessage + '=' + ControlMessage, 0);
  конец;
конец;

функция ВозвратРезультата(Документы: СтатическиеДанные; Параметры: IVariables);
переменные
  КлючЗаголовка : строка;
начало
  если Параметры &lt;&gt; nil
    тогда начало
      если Параметры.Values(cPrevCall) = нет
        тогда SetCtrlResult(Документы, Параметры.Values(stVarControlData), КлючЗаголовка, КлючЗаголовка,
                      ControlResult, ControlMessage, 0, нет);
    конец;
конец;

//------------------------------------------основной вызов формирования извне------------------------------------------
переменные
  ПараметрыДляФорм      : IVariables;
  ОписаниеШаблона       : ITemplates;  
  ЭталонНабор           : СтатическиеДанные;
 
  ВидОперации, 
  ВидКонтроля           : ЦЕЛОЕ;      
начало
  ВидОперации := ПараметрыКонтроля.values(КВидДействия);
  ПараметрыДляФорм := ПараметрыКонтроля.Values(КонтрольПараметры);
  ОписаниеШаблона := ПараметрыДляФорм.Values(кОписаниеШаблона);
  ЭталонНабор := ПараметрыДляФорм.Values(КонтрольДанные);
  ВидКонтроля := ПараметрыДляФорм.Values("ВидКонтроля"); 
  выбрать ВидОперации из
    Конст_ВыборДанныхКонтроля()         : ФормПроверяемыеДляСостояний(ВидКонтроля, ЭталонНабор, ОписаниеШаблона, ПараметрыКонтроля);
    Конст_ВозвратРезультатовКонтроля()  : ВернутьРезультатВДокСостояний(ВидКонтроля, ЭталонНабор, ПараметрыКонтроля);
  конец; 
конец;
</value>
    <param value="ВыборДляСостояний.abl" type="3" name="Export">ZIMIN\Zimin\12.09.2011 16:05:49</param>
    <param value="ВыборДляСостояний.abl" type="3" name="version">36.223.03</param>
    <param value="ВыборДляСостояний.abl" type="3" name="crc32">$B6E5647B</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Контроль">
    <value type="7" name="ВыборСИнтерфейса.abl">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";

ВыборСИнтерфейса(ПараметрыКонтроля: IVariables);

константы
  КонтрольТолькоЗаголовка = 'КЗ';
  ГлобалПараметры = 'ГлобПараметрыКонтроль';
  ДанныеДляКонтроля = 'ДанныеКонтроль';      
  Конст_РезВПредставлении = "RowImage";    
  КонстПолеСсылкаНаРеестр = "Reestr_ref";
//-----------------------------------------------------------------------
функция ИндексКартинок: целое;
переменные
  GUID : СТРОКА;
  фв : ФормаВвода;
  il : IImageList;
начало
  результат := 0;
  фв := ПолучитьФормуВвода();
  GUID := фв.Идентификатор;
  если CheckParam(GUID) тогда
    начало
      результат := Values(GUID);
    конец иначе
    начало 
      il := ПолучитьОбъект('ILother');
      результат := AddCtrlImages(il);
      Values(GUID) := результат;
    конец;
конец;

функция ПеренестиДанные(ДоСохранения: целое; КартаПолей: IVariables; Приемник, Источник: СтатическиеДанные);
переменные
  ПолеИсточника : IField;
  индЗаписи,
  сч    : ЦЕЛОЕ;
  ВсеИД : Текст;
начало
  ВсеИД := СоздатьТекст();
  Источник.ЗапретитьПрорисовку();  
  попытка
    ВсеИД.РазделенноеЗначение(",") := КартаПолей.Values("IntfCode");
    от индЗаписи := 0 до ВсеИД.Количество - 1 делать
    начало
      если Источник.Локализовать("ID", ВсеИД.Стр(индЗаписи), 0)
        тогда начало
          Приемник.Insert();
          от сч := 0 до Приемник.ЧислоПолей - 1 делать
          начало
            если Источник.FindField(Приемник.Поля(сч).FieldName, ПолеИсточника)
              тогда начало
                если не ДоСохранения
                  тогда Приемник.Поля(сч).Assign(ПолеИсточника)
                  ИНАЧЕ Приемник.Поля(сч).AsVariant := ПолеИсточника.CacheValue;
              конец;                   
          конец;
          Приемник.Post();          
        конец;  
    конец;  
  обязательно
    Источник.РазрешитьПрорисовку();  
    УдалитьОбъект(ВсеИД);
  конец;  
конец;

//очистка презультатов контроля с детализаций форм ввода  
функция СброситьДетали;
переменные
  ф: ФормаВвода;
  сч: целое;
  Данные : СтатическиеДанные; 
начало
  ф := ПолучитьФормуВвода;
  от сч:=0 до ф.КоличествоДетализаций-1 делать
    начало
      Данные := ф.Детализация(сч).Таблица;
      если Данные.Состояние = 0 тогда Данные.Открыть;
      InstallData(Данные, ControlResult + '=-1,' + ControlMessage + '=');
    конец;  
конец;

функция ПроверкаНаДоступностьДанных(ВидКонтроля: ЦЕЛОЕ);
переменные
  Мастер: СтатическиеДанные;
  ф : ФормаВвода;
начало
  ф := ПолучитьФормуВвода();
  Мастер := ф.Заголовки.Таблица;
  если Мастер=nil тогда ВызватьОшибку("Форма не инициализирована");
  если (Мастер.Вначале и Мастер.ВКонце) //допустимо отсутствие данных в заголовках интерфейса ввода при вызове контроля на сохранение данных
   и не (((Мастер.State = dsEdit) или (Мастер.State = dsInsert)) 
       и (КонтрольНаСохранениеДокументов(ВидКонтроля) или КонтрольПоОдномуДокументу(ВидКонтроля))) тогда
    ВызватьОшибку("Не активна форма заголовков");
конец;  

//проверка наличия всех полей сумм, указанных в маппинге, и возможности их редактирования на форме ввода
//возвращает да, если все поля сумм шаблона на интерфейсе ввода заблокированы
функция ДокументБлокирован(НомерДетали: целое; ЛокПарам: IVariables; Раскладка: ITableInfoX): целое;
переменные
  БлокироватьПоле, сч, ИндКол: целое;
  ИмяПоляВШаблоне, ИмяПоля, ПоляСуммы: строка;
  ЛокКартаПолей: IVariables;
  col: IColumnInfoX;
  Ткст: Текст;  
  Сетка: СеткаДанных;
  КолонкаСуммы: Колонка;
  ф: ФормаВвода;
начало
  результат := да;
  ЛокКартаПолей := ЛокПарам.Values(КонтрольКартаПолей);
  ПоляСуммы := УбратьПробелы(ЛокКартаПолей.Values(кПоляСуммы));
  если (ПоляСуммы &lt;&gt; '') тогда
    начало
      ф := ПолучитьФормуВвода();
      Сетка := Ф.Детализация(НомерДетали).Сетка;
      Ткст := СоздатьТекст();
      попытка 
        Ткст.РазделенноеЗначение := ПоляСуммы;
        от сч := 0 до Ткст.Количество-1 делать
        начало
          ИмяПоля := Ткст.ЗначениеПараметра(Ткст.ИмяПараметра(сч));
          КолонкаСуммы := ColumnByFieldName(Сетка, ИмяПоля);
          если (КолонкаСуммы = nil)
            тогда БлокироватьПоле := да
            иначе БлокироватьПоле := (ф.МожноРедактироватьСтолбец(КолонкаСуммы) = нет);
          //блокируем все колонки с именем поля на шаблоне, если оно нередактируемо на интерфейсе   
          если БлокироватьПоле
            тогда начало
              ИмяПоляВШаблоне := Ткст.ИмяПараметра(сч);
              от ИндКол := 0 до Раскладка.Count-1 делать
              начало
                col := Раскладка.Columns(ИндКол);              
                если col.FieldName = ИмяПоляВШаблоне
                  тогда col.Options := БитИли(col.Options, toxReadOnly)
              конец;    
            конец;
          результат := результат и БлокироватьПоле;      
        конец;
      обязательно
        УдалитьОбъект(Ткст);
      конец; 
    конец;  
конец;

функция ФормированиеЗаголовкаДок(СИнтерфейсаВвода: СтатическиеДанные): СтатическиеДанные;
переменные
  сч            : целое;
начало
  результат := СоздатьСтатическиеДанные();
  результат.ПрисвоитьПоля(СИнтерфейсаВвода);
  от сч := 0 до СИнтерфейсаВвода.ЧислоПолей-1 делать
    результат.Поля(сч).DisplayLabel := СИнтерфейсаВвода.Поля(сч).DisplayLabel;
  результат.Открыть;
конец;
//функция копирования данных из набора либо выделенных с сетки ввода
функция ПолучитьКопиюДанныхСИнтерфейса(СеткаНиИнтф: СеткаДанных; НаборНаИнтф: СтатическиеДанные; КопияОднойЗаписи: ЦЕЛОЕ): СтатическиеДанные;
переменные      
  НеБратьИзСетки: целое;        
начало
  НеБратьИзСетки := да;
  если СеткаНиИнтф = nil
    тогда НеБратьИзСетки := нет
    иначе если СеткаНиИнтф.ЕстьВыделенныеСтроки
            тогда Результат := СеткаНиИнтф.ПолучитьВыделенныеСтроки
            иначе НеБратьИзСетки := нет;
    если не НеБратьИзСетки тогда 
    начало
      Результат := ФормированиеЗаголовкаДок(НаборНаИнтф);
      если КопияОднойЗаписи
        тогда Результат.Скопироватьзапись(нет, НаборНаИнтф, "", "ID=ID")
        иначе Результат.Закачать(НаборНаИнтф, "");                
    конец;
конец;
//функция копирования одной строки заголовка с интерфейса ввода
функция ПолучитьТекущийДокумент: СтатическиеДанные;
переменные
  ф             : ФормаВвода;
начало
  ф := ПолучитьФормуВвода();
  результат := ПолучитьКопиюДанныхСИнтерфейса(nil, ф.Заголовки.Таблица, да);
конец;
//функция получения заголовков напрямую с интерфейса ввода
функция ПолучитьДокументы(Вид: целое): СтатическиеДанные;
переменные
  ф : ФормаВвода;
  Сетка : СеткаДанных;
  Промежуточные,
  Данные : СтатическиеДанные;
  Сам : целое;
начало
  если КонтрольПоОдномуДокументу(Вид) тогда
    начало
      результат := ПолучитьТекущийДокумент();
    конец иначе
    начало
      //при запуске контроля на представлениях, основанных на BG.OCX
      ф := ПолучитьФормуВвода();
      попытка
        Сам := ф.ПараметрПользователя('Сам');
      неудача
        Сам := нет;
      конец;  
      если (Сам &lt;&gt; 0) тогда
        начало
          Данные := ф.ПараметрПользователя('Выделенные');
          если (Данные = nil) тогда ВызватьОшибку('Нет документов');
          если (Данные.RecordCount = 0) тогда ВызватьОшибку('Выберите документы');
          Промежуточные := СоздатьСтатическиеДанные();
          попытка
            Промежуточные.ПрисвоитьПоля(Данные);
            Промежуточные.Открыть();
            Промежуточные.PumpData(Данные, "");
            ДобавитьСлужебныеПоля(Данные);
            Данные.PumpData(Промежуточные, "");
          обязательно
            УдалитьОбъект(Промежуточные);        
          конец;                              
          результат := Данные;
        конец иначе
        начало //контроль на обычных интерфейсах ввода
          Сетка := ф.Заголовки.Сетка;
          если (0 &lt;= ф.АктивнаяДетализация) или (Сетка.ЕстьВыделенныеСтроки() = нет)
            тогда результат := ПолучитьТекущийДокумент()
            иначе результат := Сетка.ПолучитьВыделенныеСтроки();
        конец;    
    конец;
конец;
//получение данных заголовка после внесения изменений на интерфейсе (ApplyUpdates) 
функция ПолучитьДокументыПослеИзменения(КартаПолей: IVariables): СтатическиеДанные;
переменные
  Ф             : ФормаВвода;
  Заголовки     : СтатическиеДанные;
начало
  Ф := ПолучитьФормуВвода();
  Заголовки := Ф.Заголовки.Таблица;
  результат := ФормированиеЗаголовкаДок(Заголовки);
  ПеренестиДанные(Нет, КартаПолей, результат, Заголовки);
конец;
//получение данных заголовка до внесения изменений на интерфейсе - берем старое значение из базы(ApplyUpdates)
функция ПолучитьДокументыДоИзменения(КартаПолей: IVariables): СтатическиеДанные;
переменные
  Ф             : ФормаВвода;
  Заголовки     : СтатическиеДанные;
начало
  Ф := ПолучитьФормуВвода();
  Заголовки := Ф.Заголовки.Таблица;
  результат := ФормированиеЗаголовкаДок(Заголовки);
  ПеренестиДанные(Да, КартаПолей, результат, Заголовки);
конец;

//через "ЗапросРеестра" получаем данные заголовков
функция ПолучитьДокументыРеестра(ГлобальныеПараметры: IVariables): СтатическиеДанные;
переменные
  ф : ФормаВвода;
  ИмяПоляРеестра, НомерРеестра : строка;
  КартаПолей,
  Ограничения,
  Параметры     : IVariables;
  Заголовок     : СтатическиеДанные; 
  Длг   : ДиалогПараметров;
  рез, ОткДлг : ЦЕЛОЕ; 
начало
  КартаПолей := глобальныеПараметры.Values(КонтрольКартаПолей);
  Ограничения := глобальныеПараметры.Values(КонтрольПараметры);
  результат := nil;
  ИмяПоляРеестра := КартаПолей.Values(кПолеРеестра);
  ф := ПолучитьФормуВвода();
  если (0 &lt;= ф.АктивнаяДетализация) тогда
    ВозбудитьОшибку('Для контроля реестра перейдите в заголовок документа');
  Заголовок := ф.Заголовки.Таблица;
  НомерРеестра := '';
  если (ИмяПоляРеестра &lt;&gt; '') тогда
    попытка
      НомерРеестра := УбратьПробелы(Заголовок.FieldByName(ИмяПоляРеестра).КакСтрока);
    неудача
      НомерРеестра := '';
    конец;
  // получение номера реестра
//  если (Ограничения.Values(кПервыйВызов)) //выбор номера реестра в диалоге выполняется на первый контроль по "Выполнить все"
  // убрано использование кПервыйВызов из-за ситауции: если в первом контроле сработал фильтр заголовка,
  // то контроль не выполнится, и кПервыйВызов будет "да"
  если ГлобальныеПараметры.Values("НомерРеестра") = "" тогда
  начало    
    ОткДлг := КартаПолей.Values(кУбратьДиалогРеестра);
    если (ОткДлг &lt;&gt; 0) тогда
    начало
      если (НомерРеестра = '') тогда ВозбудитьОшибку('Не могу получить номер реестра');
      рез := Результат_Ок;  
    конец
    иначе
      начало
        Длг := СоздатьФормуДиалога();
        попытка
          Длг.Очистить;
          Длг.Добавить("Номер реестра", "РНом", 0, 0, "");
          если (НомерРеестра &lt;&gt; "") тогда Длг.Значение("РНом") := НомерРеестра; 
          рез := Длг.Выполнить();
          НомерРеестра := Длг.Значение("РНом");
        обязательно        
          УдалитьОбъект(Длг);
        конец;
        //если выбор номера реестра подтвержден получаем данные    
        если (рез &lt;&gt; Результат_Ок) тогда
          ВызватьОшибку('Действие отменено пользователем');
      конец;    
    ГлобальныеПараметры.Values("НомерРеестра") := НомерРеестра;          
  конец
  иначе 
    НомерРеестра := ГлобальныеПараметры.Values("НомерРеестра");       
  // запоминаем значение параметра для sql-запроса реестра  
  Параметры := CreateVariables();
  попытка
    Параметры.AddItems('registry');
    Параметры.Values('registry') := НомерРеестра;
    результат := ПолучитьДанныеКонтроляЗапросом(Параметры, КартаПолей.Values(кЗапросРеестра));
  обязательно
    УдалитьОбъект(Параметры);
  конец;  
конец;

//в зависимости от типа контроля либо берем документы реестра, либо с интерфейса/параметра в уд. реестре
функция ДокументыДляКонтроля(Вид: целое; ПараметрыКонтроля: IVariables): СтатическиеДанные;
переменные                                       
 мап:строка;
начало
  выбрать Вид из
    ctxRegistry         : результат := ПолучитьДокументыРеестра(ПараметрыКонтроля);
    ctxCustomApply      : результат := ПолучитьДокументыПослеИзменения(ПараметрыКонтроля);
    ctxInvertApply      : результат := ПолучитьДокументыДоИзменения(ПараметрыКонтроля);        
    иначе результат := ПолучитьДокументы(Вид);
  конец;  
  если не результат.FindField(ControlResult, nil)
    тогда ВызватьОшибку("Функция 'ДокументыКонтроля' не найдено поле результата:" + ControlResult);
  если не результат.FindField(ControlMessage, nil)
    тогда ВызватьОшибку("Функция 'ДокументыКонтроля' не найдено поле причины непрохождения контроля:" + ControlMessage);
  //сброс значений полей контроля
  мап := ControlResult + '=-1,' + ControlMessage + '=';
  если результат.FindField(ControlResultHint, nil) 
    тогда мап := мап+','+ControlResultHint + '=';  
  InstallData(результат, мап);
конец;

функция ЗанестиМастерДеталь(ВидКонтроля, НомерДетали, ВЗаголовке: целое; Шаблон: ITemplates; 
                            ПараметрыКонтроля: IVariables; Документы, ЭталонныйНабор: СтатическиеДанные);
//в случае нахождения в документа
//данные детали для формирования эталонного набора берем с интерфейса ввода
//иначе данные детали берем запросом из базы
//данные заголовка всегда переносятся из переданного набора "Документы"                              
переменные
  Ф: ФормаВвода;
  КартаПолей: IVariables;
  Деталь: ФормаДетализации;
  Сетка: СеткаДанных;
  иДеталь: СтатическиеДанные;
  НомерДеталиВХранении: целое;
  КлючЗаголовка, Запрос, ПоляСуммы, ЛогСуммы: строка;
начало
  Ф := ПолучитьФормуВвода;
  КартаПолей := ПараметрыКонтроля.VAlues(КонтрольКартаПолей);
  НомерДеталиВХранении := КартаПолей.Values(кНомерДеталиВОписанииПолей);      
  если не ВЗаголовке тогда 
  начало
    ПоляСуммы := УбратьПробелы(КартаПолей.Values(кПоляСуммы));
    Деталь := ф.Детализация(НомерДетали);
    если Ф.АктивнаяДетализация = -1 тогда
    начало
      если ф.ЕстьИзменения тогда ф.СохранитьИзменения;
      Деталь.Открыть;
    конец;
    Сетка := Деталь.Сетка;
    //даем редактировать в форме пред. контроля только разрешенные на интерфейсе поля
    если ВидКонтроля = ctxPrior тогда
      ПараметрыКонтроля.Values(кТолькоЧтение) := ДокументБлокирован(НомерДетали, ПараметрыКонтроля, Шаблон.Template.TableInfo);
    //для пред.контроля можно выделить лишь часть записей детали  
    если (ВидКонтроля = ctxPrior) и (Сетка.ЕстьВыделенныеСтроки = -1) тогда 
      иДеталь := Сетка.ПолучитьВыделенныеСтроки
    иначе 
      иДеталь := ПолучитьКопиюДанныхСИнтерфейса(nil, Деталь.Таблица, нет);
    // !для поддержки инт. 02.09: если закачка данных идет не через запрос карты полей, то в статиксете детали будет спец. поле
    // со списком id реальных записей детали; для контроля с инт-са нужно такое же спец. поле добавить в ЭталонныйНабор 
    если КартаПолей.ПараметрСуществует(кДопКлюч) и иДеталь.НайтиПоле(КартаПолей.Значение(кДопКлюч), nil) тогда
    начало
      ЭталонныйНабор.Закрыть;
      ЭталонныйНабор.ДобавитьСтроковоеПоле(КартаПолей.Значение(кДопКлюч)).Размер := 1024;
      ЭталонныйНабор.Открыть;
    конец;
    //формируем в плоский набор данные детали  
    ЗаполнитьДаннымиНабора(НомерДеталиВХранении, ВидКонтроля, иДеталь, ЭталонныйНабор, ПараметрыКонтроля);            
    если ВидКонтроля = ctxPrior тогда
    начало
      ЛогСуммы := УбратьПробелы(КартаПолей.Values(кЛогСуммы));
      GenLogicalParams(Документы, Деталь.Таблица, ЭталонныйНабор, Шаблон.Template.TableInfo, ПоляСуммы, ЛогСуммы);
    конец;
  конец
  иначе 
    начало
      иДеталь := ПолучитьДетальКонтроляИзКоллекции(ПараметрыКонтроля, НомерДеталиВХранении + 1);
      если иДеталь = nil тогда //в параметрах ранее не было сохранено - пытаемся получить из базы
      начало               
        Запрос := КартаПолей.Values(кЗапрос);
        КлючЗаголовка := КартаПолей.Values(кКлючЗаголовка);
        иДеталь := ПолучитьДанныеПоЧастям(Документы, КлючЗаголовка, Запрос);
      конец;    
      //формируем в плоский набор данные детали  
      ЗаполнитьДаннымиНабора(НомерДеталиВХранении, ВидКонтроля, иДеталь, ЭталонныйНабор, ПараметрыКонтроля);      
    конец;
  //переносим данные заголовка в плоский набор
  Документы := ЗаполнитьДаннымиНабора(-1, ВидКонтроля, Документы, ЭталонныйНабор, ПараметрыКонтроля);        
конец;

функция ФормПроверяемыеДляИнтерфейса(ВидКонтроля: целое; ЭталонныйНабор: СтатическиеДанные; 
                                   Шаблон: ITemplates; ПараметрыКонтроля: IVariables);
//1.получение данных заголовка для контроля(если первый вызов то с интерфейса. иначе из сохраненного параметра)
//2.проверка необходимости запуска контроля по фильтру заголовка
//3.формирование по полученным данным эталонного линейного проверяемого набора                                   
переменные
  Ф             : ФормаВвода;
  Параметры,
  КартаПолей    : IVariables;
  Документы, 
  СохраненныйЗаголовок  : СтатическиеДанные;
  ВЗаголовке, 
  НомерДетали   : ЦЕЛОЕ;
начало
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  КартаПолей.Values(кСсылкаНаФормирование) := Adapter;  
  //определение нужно ли детализацию брать напрямую с интерфейса или через запросы
  Ф := ПолучитьФормуВвода();   
  ВЗаголовке := (ф.АктивнаяДетализация = -1);  
  //проверяем есть ли в коллекции расширенный набор    
  СохраненныйЗаголовок := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
  если (СохраненныйЗаголовок = nil)
    тогда начало
      ПроверкаНаДоступностьДанных(ВидКонтроля);
      //получение данных с интерфейса ввода
      Документы := ДокументыДляКонтроля(ВидКонтроля, ПараметрыКонтроля);
      //создание копии проверяемых заголовков(т.к. при выполнении нескольких контролей в него могут добавляться отсутствующие ранее поля)
      //и внесение выбранных для контроля данных в параметр
      СохраненныйЗаголовок := ПолучитьКопиюДанныхСИнтерфейса(nil, Документы, нет);
      СоздатьКоллекциюИЗапомнитьНабор(0, СохраненныйЗаголовок, ПараметрыКонтроля);
            
      //занесение в дополнительный параметр выбранных данных из базы
      Параметры := КартаПолей.Values(ГлобалПараметры);
      если Параметры=nil тогда 
      начало
        Параметры := CreateVariables;
        КартаПолей.Values(ГлобалПараметры) := Параметры;
      конец; 
      если Документы&lt;&gt;nil тогда
        Параметры.Values(ДанныеДляКонтроля) := Документы;
      если не ВЗаголовке
        тогда СброситьДетали();  
    конец;
  //Если находимся в детали и выбрали несколько заголовков (Хы-хы)   
  если (не ВЗаголовке) и (СохраненныйЗаголовок.RecordCount &lt;&gt; 1) тогда
    ВозбудитьОшибку('Нельзя провести контроль над несколькими документами находясь в детализации');
  если (ВЗаголовке и (ВидКонтроля = ctxPrior) и (СохраненныйЗаголовок.RecordCount = 1)) тогда ВЗаголовке := нет;//???
  если (не ВЗаголовке) тогда
    начало
      НомерДетали := КартаПолей.Values(кНомерДетали);
      если ((НомерДетали &lt; 0) или (ф.КоличествоДетализаций &lt;= НомерДетали)) 
        тогда ВЗаголовке := да 
        иначе если (КартаПолей.Values(КонтрольТолькоЗаголовка) &lt;&gt; нет) 
                тогда ВЗаголовке := да;
    конец;
  ПараметрыКонтроля.Values(кНуженКонтроль) := НуженКонтроль(СохраненныйЗаголовок, ЭталонныйНабор, Шаблон, КартаПолей);
  ПараметрыКонтроля.Values(кТолькоЧтение) := да;
  //получение данных для контроля
  если ПараметрыКонтроля.Values(кНуженКонтроль) тогда
    выбрать КартаПолей.Values(кВидПроверяемыхДанных) из//если это контроль над мастер-деталью
      cdMasterDetail: ЗанестиМастерДеталь(ВидКонтроля, НомерДетали, ВЗаголовке, Шаблон, ПараметрыКонтроля, СохраненныйЗаголовок, ЭталонныйНабор); 
      cdLiner: начало
                 ЗаполнитьЛинейНабором(ВидКонтроля, Шаблон, ПараметрыКонтроля, СохраненныйЗаголовок, ЭталонныйНабор);
                 // даем редактировать в форме пред. контроля только разрешенные на интерфейсе поля
                 если (ВидКонтроля = ctxPrior) тогда
                   ПараметрыКонтроля.Values(кТолькоЧтение) := ДокументБлокирован(-1, ПараметрыКонтроля, Шаблон.Template.TableInfo);
               конец; 
    конец;
конец;

функция ВернутьРезультатНаИнтерфейс(Вид: целое; ЭталонныйНабор: СтатическиеДанные; ПараметрыКонтроля: IVariables);
//1.определение индекса, с которого начинаются картинки контроля на интерфейсе ввода(для обычных свой для представлений свой)
//2.если интерфейс мастер-детальный простановка результатов в детализации
//3.простановка результатов в заголовке
//4.если проверяется несколько записей в пост.контроле или контроль реестра, то вывод формы результатов
//5.при непрохождении принудительного контроля вызов ошибки для блокировки изменений 
переменные
  МаксРез_Контроля,
  Индекс, Номер,
  НомерДеталиВХранении,
  Сам, БылаОшибка: целое;
  СтрокаОшибки,
  Классификаторы,
  КлючДетали,
  КлючЗаголовка,
  ПоляСуммы, Ключи,
   _Ключ   : строка;
  Ф             : ФормаВвода;
  ПарамКонтроля,
  КартаПолей    : IVariables;
  Заголовки,
  СохраненныйВПараметре,
  ДетальВПараметре,
  Выделенные,
  ДетальНаИнтф, ЗаголовокНаИнтф: СтатическиеДанные;
  СеткаДеталь   : СеткаДанных;  
начало
  //получение данных и имен полей для возврата результатов на интерфейс ввода 
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  ПарамКонтроля := ПараметрыКонтроля.Values(КонтрольПараметры);
  Ключи := КартаПолей.Values(кКлючи);
  КлючДетали := ПолучитьПолеКлюч(КартаПолей.Values(кКлючи), нет, 0);
  КлючЗаголовка := КартаПолей.Values(кКлючЗаголовка);
  Классификаторы := КартаПолей.Values(кКлассификаторы);  
  ПоляСуммы := КартаПолей.Values(кПоляСуммы);
  НомерДеталиВХранении := КартаПолей.Values(кНомерДеталиВОписанииПолей);  
  Номер := КартаПолей.Values(кНомерДетали);
  
  СохраненныйВПараметре := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
  ДетальВПараметре := ПолучитьДетальКонтроляИзКоллекции(ПараметрыКонтроля, НомерДеталиВХранении + 1);   
  //определение индекса картинок контроля на интерфейсе
  Ф := ПолучитьФормуВвода();
  попытка
    Сам := ф.ПараметрПользователя('Сам');
  неудача
    Сам := нет;
  конец;
  если Сам &lt;&gt; 0
    тогда Индекс := tcr_OffsetView
    иначе Индекс := ИндексКартинок();

  если (КартаПолей.Values(кВидПроверяемыхДанных)  = cdMasterDetail)
    тогда начало
      ДетальНаИнтф := Ф.Детализация(Номер).Таблица;
      СеткаДеталь := Ф.Детализация(Номер).Сетка;
      //если вызван отдельный контроль и все выделенные для контроля документы не подпадают под условия проверки(фильтр заголовка)
      //переносим результат вручную в открытую деталь               
      если (не ПараметрыКонтроля.Values(кНуженКонтроль)) и (ПарамКонтроля.Values(кПервыйВызов) или ДетальВПараметре = nil) тогда
        начало
          если (Ф.АктивнаяДетализация &lt;&gt; -1)
            тогда начало
              Выделенные := ПолучитьКопиюДанныхСИнтерфейса(СеткаДеталь, ДетальНаИнтф, нет);
              InstallData(Выделенные, ControlResult + '='+ЦелоеВСтроку(tcrDetailError+1)+',' + ControlMessage + '=');
              //простановка неподлежания проверке данным контролем у полученных записей детализации документа                  
              попытка
                ДетальНаИнтф.ЗапретитьПрорисовку();
                SetCtrlResult(Выделенные, ДетальНаИнтф, КлючДетали, КлючДетали, ControlResult, ControlMessage, Индекс, да);                                
              обязательно
                ДетальНаИнтф.РазрешитьПрорисовку();              
              конец;    
            конец;
        конец
        иначе
          //перенос результатов контроля в детальный интерфейс при наличии проверяемых данных
          начало 
            если (ПараметрыКонтроля.Values(кТолькоЧтение)) или (ЭталонныйНабор.ЧислоЗаписей = 0) тогда
            начало
              если Ф.АктивнаяДетализация &lt;&gt; -1 тогда
              начало
                  _Ключ := ПолучитьПолеКлюч(Ключи, нет, 0);                  
                  SetCtrlResult(ДетальВПараметре, ДетальНаИнтф, _Ключ, _Ключ, ControlResult, ControlMessage, Индекс, да);
              конец;
            конец        
            иначе
              начало
                //в случае наличия возможности редактировать проверяемые документы возвращаем результаты непосредственно с переданного
                SynchDetail(ЭталонныйНабор, ДетальНаИнтф, InvertMap(Ключи), СформироватьМаппингДляВставки(ПараметрыКонтроля, Классификаторы), InvertMap(ПоляСуммы),
                            ControlResult + '=' + ControlResult + ',' + ControlMessage + '=' + ControlMessage, Индекс);
                если (Ф.АктивнаяДетализация = -1 и ф.ЕстьИзменения) тогда ф.СохранитьИзменения;
              конец;
          конец;  
    конец;
    
    //простановка результатов контроля в заголовки документов        
    Заголовки := ф.Заголовки.Таблица;
    попытка
      Сам := ф.ПараметрПользователя('Сам');
    неудача
      Сам := нет;
    конец;
    если (Сам &lt;&gt; 0) тогда //в представлении
    начало
      БылаОшибка := tcrGeneral &lt; MaxFieldIntValue(СохраненныйВПараметре, ControlResult);
      Заголовки.DisableControls();
      попытка
        SynchDetail(СохраненныйВПараметре, Заголовки, "Код"+"="+КартаПолей.Values(кКлючЗаголовка), 
                    "", "", Конст_РезВПредставлении+"="+ControlResult, Индекс);
      обязательно                     
        Заголовки.EnableControls();
      конец;                      
    конец
    иначе  //на интерфейсе ввода
      начало
        если (КартаПолей.Values(кВидПроверяемыхДанных) = cdLiner) и 
          (не ПараметрыКонтроля.Values(кТолькоЧтение)) и (ЭталонныйНабор.ЧислоЗаписей &gt; 0) тогда
        начало
          ЗаголовокНаИнтф := Ф.Заголовки.Таблица;
          //в случае наличия возможности редактировать проверяемые документы возвращаем результаты непосредственно из ЭталонныйНабор
          SynchDetail(ЭталонныйНабор, ЗаголовокНаИнтф, InvertMap(Ключи), InvertMap(КартаПолей.Values(кПоляЗаголовока)), InvertMap(ПоляСуммы),
                      ControlResult + '=' + ControlResult + ',' + ControlMessage + '=' + ControlMessage, Индекс);
          если (Ф.АктивнаяДетализация = -1) и (ф.ЕстьИзменения) тогда
            ф.СохранитьИзменения;
        конец;                    
        БылаОшибка := tcrGeneral &lt; SetCtrlResult(СохраненныйВПараметре, Заголовки, КлючЗаголовка, КлючЗаголовка,
          ControlResult, ControlMessage, Индекс, да);
      конец;
  МаксРез_Контроля := tcrTrue;    
  //вывод формы результатов контроля                                              
  если ((Вид = ctxPost) и ((СохраненныйВПараметре.RecordCount &lt;&gt; 1) или (Сам &lt;&gt; 0))) или (Вид = ctxRegistry) тогда
    МаксРез_Контроля := ShowControlResult(СохраненныйВПараметре, ControlResult);                                       
  //вывод предупреждения о непрохождении контроля при принудительном контроле    
  если (БылаОшибка и КонтрольСПроверкой(Вид)) тогда
    начало
      если (ПараметрыКонтроля &lt;&gt; nil)
        тогда СтрокаОшибки := ПараметрыКонтроля.Values(OptProblemControl)
        иначе СтрокаОшибки := '';
      СтрокаОшибки := 'Документ не прошел контроль' + #13#10 + СтрокаОшибки;
      ВозбудитьОшибку(СтрокаОшибки);  
    конец;
  если (МаксРез_Контроля = tcrTrue) тогда  
    МаксРез_Контроля := MaxFieldIntValue(СохраненныйВПараметре, ControlResult);
  ПараметрыКонтроля.Values(кРезультатКонтроля) := МаксРез_Контроля;        
конец;

функция ПропуститьПустойДок;
переменные
  Мастер: СтатическиеДанные;
начало
  Мастер := ПолучитьФормуВвода.Заголовки.Таблица;       
  если ((Мастер.ПолеПоИмени(ControlResult).КакЦелое - ИндексКартинок) = tcrDetailError)       
    тогда 
    иначе ВозбудитьОшибку(ПоследняяОшибка);
конец;

функция ВернутьРезультатВРеестр(ПараметрыКонтроля: IVariables);
//предполагается, что проверяется зараз 1 реестр 
переменные
  ф                     : ФормаВвода;
  КартаПолей,
  ОграниченияКонтроля   : IVariables;
  ПолеРез               : IField;
  ЗаголовкиДокументов,
  Мастер                : СтатическиеДанные;
  ВидКонтроля, ИндексСтроки,
  РезКонтроля           : ЦЕЛОЕ;
  ИДРеестров            : СТРОКА;
начало
  ф := ПолучитьФормуВвода();
  Мастер := ф.Заголовки.Таблица;
  ЗаголовкиДокументов := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
  ОграниченияКонтроля := ПараметрыКонтроля.Values(КонтрольПараметры);
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  ВидКонтроля := ОграниченияКонтроля.Values("ВидКонтроля");
  
  РезКонтроля := -1;
  ПолеРез := ЗаголовкиДокументов.ПолеПоИмени(ControlResult);
  ЗаголовкиДокументов.ВНачало();
  пока не ЗаголовкиДокументов.ВКонце делать
  начало
    если (ПолеРез.КакЦелое &gt; РезКонтроля) и (ПолеРез.КакЦелое &lt;= tcrFalse)
      тогда РезКонтроля := ПолеРез.КакЦелое;
    ПолеРез.КакЦелое := ПолеРез.КакЦелое + ИндексКартинок;           
    ЗаголовкиДокументов.Следующая();
  конец;
  Мастер.DisableControls();
  попытка
    ИДРеестров := GetLimitStr(ЗаголовкиДокументов, КонстПолеСсылкаНаРеестр);
    ИндексСтроки := Мастер.ПолеПоИмени(КартаПолей.VAlues(кКлючЗаголовка)).КакЦелое;    
    Мастер.Фильтр := "(ID in [" + ИДРеестров + "])";
    Мастер.Filtered := да;   
    //чистим поля результатов
    Мастер.ВНачало();
    пока не Мастер.Вконце делать
    начало        
      Мастер.ПолеПоИмени(ControlResult).КакЦелое := ИндексКартинок;
      Мастер.ПолеПоИмени(ControlMessage).КакСтрока := "";
      Мастер.Следующая();        
    конец;
    если (РезКонтроля &lt; 0) 
      тогда Мастер.ПолеПоИмени(ControlResult).КакДробное := tcrDetailError + 1 + ИндексКартинок
      иначе начало
        MoveCtrlResultToCaption("ID", КонстПолеСсылкаНаРеестр, Мастер, ЗаголовкиДокументов, ControlResult, ControlMessage);
  //      Мастер.ПолеПоИмени(ControlResult).КакДробное := РезКонтроля + ИндексКартинок;
      конец;
    //восстановление значений кодов результата без учета индекса картинки на интерфейсе  
    ЗаголовкиДокументов.ВНачало();
    пока не ЗаголовкиДокументов.ВКонце делать
    начало
      ПолеРез.КакЦелое := ПолеРез.КакЦелое - ИндексКартинок;           
      ЗаголовкиДокументов.Следующая();
    конец;
    если ((tcrGeneral &lt; РезКонтроля) и (ВидКонтроля = ctxCustomPost)) тогда
      ВозбудитьОшибку('Реестр не прошел контроль');
  обязательно
    Мастер.Filtered := нет;  
    Мастер.Фильтр := "";
    Мастер.Вначало();         
    Мастер.Локализовать("ID", ИндексСтроки, 0);  
    Мастер.EnableControls();
  конец;     
конец; 
//------------------------------------------основной вызов формирования извне------------------------------------------
переменные
  ПараметрыДляФорм      : IVariables;
  ОписаниеШаблона       : ITemplates;  
  ЭталонНабор           : СтатическиеДанные;
 
  ВидОперации, 
  ВидКонтроля           : ЦЕЛОЕ;      
начало
  ВидОперации := ПараметрыКонтроля.values(КВидДействия);
  ПараметрыДляФорм := ПараметрыКонтроля.Values(КонтрольПараметры);
  ОписаниеШаблона := ПараметрыДляФорм.Values(кОписаниеШаблона);
  ЭталонНабор := ПараметрыДляФорм.Values(КонтрольДанные);
  ВидКонтроля := ПараметрыДляФорм.Values("ВидКонтроля"); 
  выбрать ВидОперации из
    Конст_ВыборДанныхКонтроля()         : ФормПроверяемыеДляИнтерфейса(ВидКонтроля, ЭталонНабор, ОписаниеШаблона, ПараметрыКонтроля);
    Конст_ВозвратРезультатовКонтроля()  : ВернутьРезультатНаИнтерфейс(ВидКонтроля, ЭталонНабор, ПараметрыКонтроля);
  конец; 
конец;
</value>
    <param value="ВыборСИнтерфейса.abl" type="3" name="Export">MARAEVA7\baranova\22.04.2013 13:11:44</param>
    <param value="ВыборСИнтерфейса.abl" type="3" name="version">36.223.03</param>
    <param value="ВыборСИнтерфейса.abl" type="3" name="crc32">$1CCFA54E</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Контроль">
    <value type="7" name="ПоддержкаКонтроля.abl">включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Pather.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Макросы\Стандартные.abl';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";

константы                       
  ОшибкаОтсутствияПоляВМаппингеЗаг = "Функция 'СоздатьДанныеДокПоОгр' для поля с именем:%s не сопоставлен английский маппинг.";
  ОшибкаОтсутствияПоляВДанныхЗаг   = "Функция 'СоздатьДанныеДокПоОгр' поле с именем:%s не найдено.";
  Конст_МакросФормированияДляИнтф       = "%root%\Ресурсы\Макросы\Контроль\ВыборСИнтерфейса.abl";
  Конст_МакросФормированияДляСостояний  = "%root%\Ресурсы\Макросы\Контроль\ВыборДляСостояний.abl";
  Конст_МакросФормированияДляПредставлений= "%root%\Ресурсы\Макросы\Контроль\ВыборДляПредставлений.abl";     
//0)вызов основной функции, вызывающей контроль
//1)загрузка шаблона и формирование плоского набора по раскладке шаблона
//2)формирование наборов данных в зависимости от типа шаблона
//2.1)основной диспетчер по типам контроля
//2.2)в зависимости от типа контроля вызов того или иного вида формирования проверяемых данных
//а)для данных из базы, если не все поля, определенные раскладкой, есть в данных, то проверяем их наличие в маппинге заголовка и если они там есть формируем данные запросом 
//б)данные заголовков всегда сохраняем в глобальных параметрах с накопленным ранее результатом контроля
 
//3)выполнение контроля, заданного текущим шаблоном
//4)возврат результатов контроля в проверяемые данные(если это последний контроль в случае выполнения нескольких или обязательный возврат)

  ОшибкаОпределенияПоля = "Функция:'ВернутьМаппингПоОписаниюПолейИРаскладке' в описании полей отсутствует описание поля: %s";
  ОшибкаНаличияПоляПоиска="Функция:'ВернутьМаппингПоОписаниюПолейИРаскладке' не задано значение поля для поиска в описании полей";

  ЭлОграничения         = "Параметры";
  ЭлИмяАлгоритма        = "ИмяАлгоритма";
  ЭлИндексШаблона       = "ИндексШаблона";  
  ЭлРаскладка           = "Раскладка";
  ЭлДопускКОптимизации  = "Оптимизация";  //если в шаблоне для которого описан элемент алгоритма(есть скрипт шаблона, обработчик "ДоЗакачки", "Запросы"??? то смешивать с описанием алгоритма из других страниц нельзя(даже если совпадают параметры))

  amiPostControlBeforeMode = $00000008;

  optTmplRes = "TemplateResources";
  cResValue = "Value";
    
// функция загрузки ресурса с закладки Ресурсы шаблона контроля (без визуализатора)
функция ЗагрузитьРесурс(Шаблон: ITemplates; ИмяРесурса: строка): БЕЗТИПА;
переменные
  КоллекцияРесурсов, РесурсЗнач: IVariables;
начало
  результат := nil;
  если Шаблон &lt;&gt; nil тогда
    если Шаблон.Options.ПараметрСуществует(optTmplRes) тогда
    начало
      КоллекцияРесурсов := Шаблон.Options.Значение(optTmplRes);
      если КоллекцияРесурсов &lt;&gt; nil тогда
        если КоллекцияРесурсов.ПараметрСуществует(ИмяРесурса) тогда
        начало
          РесурсЗнач := КоллекцияРесурсов.Значение(ИмяРесурса);
          если РесурсЗнач &lt;&gt; nil тогда
            если РесурсЗнач.ПараметрСуществует(cResValue) тогда
              результат := РесурсЗнач.Значение(cResValue);
        конец;
    конец;
конец;

//ВЫЗОВ КОНТРОЛЯ ИЗВНЕ
функция ВызватьПринудительныйКонтроль;
начало
  попытка
    ExecControl(ctxCustomPost, nil);
  неудача    
    если (Access = Access_Adm) тогда
    начало
      если (Сообщение(ПоследняяОшибка + #13#10 + 'Продолжить?', Сообщение_Предупреждение,
        Кнопка_Да + Кнопка_Нет) = результат_нет) тогда Ошибка;
    конец
    иначе
      Ошибка;
  конец;          
конец;

функция ВызватьПереченьКонтролей(СписокКодыКонтроля: Текст; ВидКонтроля: целое; Данные: IVariables);
переменные
  сч    : целое;
начало
  от сч := СписокКодыКонтроля.Количество-1 назад 0 делать
  начало
    ExecuteControl(СтрокаВЦелое(СписокКодыКонтроля.стр(сч)), ВидКонтроля, Данные);
  конец;
конец;

//Определяем использование системы состояний для типа документов заданного параметром
функция ТипДокИдетПоСхеме(ТипДок: ЦЕЛОЕ): целое;
переменные
  сс : СтатическиеДанные;
начало
  Результат := Ложь;
  сс := СоздатьСтатическиеДанные();
  попытка
    сс.СоединитьБД();
    сс.Запрос := "[PumpData] {SELECT UseState FROM DocumentTypes WHERE ID=@ID}";
    сс.Параметр("ID") := ТипДок;
    сс.Открыть();
    сс.Вначало();
    если сс.RecordCount &gt; 0 тогда
      Результат := сс.Поле("UseState").КакЦелое &lt;&gt; 0;
    сс.Закрыть();
  обязательно  
    УдалитьОбъект(сс);
  конец;  
конец;

//проверка на то, что за контроль запускается
функция ЭтоКомпозитныйКонтроль(ИмяШаблона: строка): целое;
начало
  результат := (Позиция(".XLM", Прописные(ИмяШаблона)) = 0)
             и (Позиция(".CLD", Прописные(ИмяШаблона)) = 0);
конец;

функция ВернутьСписокШаблоновКонтроля(ПереченьКодов: строка): IVariables;
переменные
  ОписаниеКонфигурации,         //перечень соответствий имя поля из кофигурации и как оно хранится в используемом СС
  СписокКодов   : Текст;
  Конфигурация  : СтатическиеДанные;
  индекс        : целое;
  индексИмени,  
  конецИмени    : целое;
  ОдинШаблон,
  ИмяСтраницы,
  КодШаблона    : строка; 
начало
  результат := CreateVariables();
  СписокКодов := СоздатьТекст();
  ОписаниеКонфигурации := СоздатьТекст();
  попытка
    ОписаниеКонфигурации.РазделенноеЗначение := "Template=Шаблон_255,CLS=КонтрольИД,generation=ОсновнойСкрипт_255";
    Конфигурация := ПолучитьКонфигурацию(ENUM_Control, ОписаниеКонфигурации);
    СписокКодов.РазделенноеЗначение := ПереченьКодов;
    Конфигурация.IndexFieldNames() := "КонтрольИД";
    от индекс := 0 до СписокКодов.Количество-1 делать
    начало
      ИмяСтраницы := "";
      ОдинШаблон := СписокКодов.Стр(индекс);
      индексИмени := Позиция("[", ОдинШаблон);
      если (индексИмени &lt;&gt; 0) тогда
      начало
        конецИмени := Позиция("]", ОдинШаблон);
        ИмяСтраницы := Подстрока(ОдинШаблон, индексИмени+1, конецИмени - индексИмени - 1);
        КодШаблона := Подстрока(ОдинШаблон, 0, индексИмени-1);
      конец
      иначе КодШаблона := ОдинШаблон;   
      если Конфигурация.FindKey(ArrayOf(КодШаблона)) тогда
      начало
        если (ИмяСтраницы &lt;&gt; "") тогда
         ОдинШаблон := ИмяСтраницы
        иначе ОдинШаблон := "@"+КодШаблона;
        результат.AddItems(ОдинШаблон);
        результат.Values(ОдинШаблон) := Конфигурация.ПолеПоИмени("Шаблон").КакСтрока;
      конец;
    конец;    
  обязательно
    если (Конфигурация &lt;&gt; nil) тогда
      УдалитьОбъект(Конфигурация);      
    УдалитьОбъект(ОписаниеКонфигурации);
    УдалитьОбъект(СписокКодов);
  конец;
конец;
                      
функция ПолучитьМаппингОдногоПоляПоОписанию(ОписаниеПолей: СтатическиеДанные; ОсновноеИмяДляПоиска, ВторичноеИмяДляПоиска, ИскомоеПоле: строка): строка;
переменные
  ДляМаппинга,
  ПоляПоиска    : строка;
  ДляПоиска     : Variant;  
начало
  результат := "";
  ДляПоиска := CreateVariant();
  попытка
    ПоляПоиска := ДокПоле_ИмяВАлгоритмах();
    ДляПоиска.VarArrayOF(0);
    если (УбратьПробелы(ВторичноеИмяДляПоиска) &lt;&gt; "")
      тогда начало
        ДляПоиска.AsString(0) := ВторичноеИмяДляПоиска;
        ДляМаппинга := ВторичноеИмяДляПоиска;                                     
      конец
      иначе начало
        ДляПоиска.AsString(0) := ОсновноеИмяДляПоиска;
        ДляМаппинга := ОсновноеИмяДляПоиска;                             
      конец;
    //находим поле в описании
    если ОписаниеПолей.Локализовать(ПоляПоиска, ДляПоиска, 1)
      тогда начало
        //формируем маппинг             
        результат := ДляМаппинга + "=" + ОписаниеПолей.ПолеПоимени(ИскомоеПоле).КакСтрока;
      конец;
  обязательно
    УдалитьОбъект(ДляПоиска);  
  конец;    
конец;

//для строк с перечислением значений в поле с переданным именем
//в возвращаемый набор вставляем дублирующую запись 
функция ПреобразоватьБезРазделителей(ОписаниеПолей: СтатическиеДанные; ПолеВНабореОписания: строка): СтатическиеДанные;
переменные
  ПолеИзАлг: IField;    
  СписокРусских: Текст;
  ИндексПовтора: ЦЕЛОЕ;       
  ДляОбработки: СтатическиеДанные;
начало
  СписокРусских := СоздатьТекст();
  ДляОбработки := СоздатьСтатическиеДанные();
  попытка
    ДляОбработки.ПрисвоитьПоля(ОписаниеПолей);
    ДляОбработки.Открыть;
    результат := СоздатьСтатическиеДанные();
    результат.ПрисвоитьПоля(ОписаниеПолей);
    результат.Открыть();
    результат.PumpData(ОписаниеПолей,"");
    результат.Filter := ПолеВНабореОписания + ' = ""';
    результат.Filtered := Да;
    результат.Очистить;
    результат.Filtered := Нет;  
    результат.Filter := ПолеВНабореОписания + ' like "*,*"';
    результат.Filtered := Да;    
    ДляОбработки.PumpData(результат, "");
    результат.Очистить;
    результат.Filtered := Нет; 
    результат.Filter := "";
    ПолеИзАлг := результат.Поле(ПолеВНабореОписания);
    ДляОбработки.ВНачало();
    пока не ДляОбработки.ВКонце делать
    начало
      СписокРусских.РазделенноеЗначение(",") := ДляОбработки.Поле(ПолеВНабореОписания).КакСтрока;       
      от ИндексПовтора := 0 до СписокРусских.Количество-1 делать 
      начало
        результат.СкопироватьЗапись(0, ДляОбработки, "", "Id=ID");
        ПолеИзАлг.КакСтрока := СписокРусских.Стр(ИндексПовтора);               
      конец;
      ДляОбработки.Следующая();
    конец;                            
  обязательно
    УдалитьОбъект(СписокРусских, ДляОбработки);
  конец;
конец;

функция ВернутьМаппингПоОписаниюПолейИПеречню(ПереченьПолей: строка; ТипДокументов, НомерНабора: целое; ПолеВНабореОписания: строка): строка;
переменные
  ОписаниеБезРазделителей,
  ОписаниеПолей : СтатическиеДанные;
  СписокПолейДляПоиска  : Текст;
  МаппингОднойПары      : строка;
  сч            : целое;
начало
  результат := "";
  если (ПолеВНабореОписания) = ""
    тогда ВызватьОшибку(ОшибкаНаличияПоляПоиска);
  ОписаниеПолей := GetDocFieldsByDocType(ТипДокументов);
  ОписаниеБезРазделителей := ПреобразоватьБезРазделителей(ОписаниеПолей, ДокПоле_ИмяВАлгоритмах());
  //преобразуем описание в набор с одним значением поля "Имя поля в алгоритмах"
  ОписаниеБезРазделителей.IndexFieldNames := ДокПоле_НомерДетали + ";" + ДокПоле_ЭтоБюджет;
  СписокПолейДляПоиска := СоздатьТекст();
  попытка
    СписокПолейДляПоиска.РазделенноеЗначение(",") := ПереченьПолей;
/$если Бюджет      
    //оставляем поля касающиеся только "Бюджет" и "Бюджет+Урм"
    ОписаниеБезРазделителей.SetRange(ArrayOF(НомерНабора, ОписаниеПоляПринадлежитБюджету), ArrayOF(НомерНабора, ОписаниеПоляПринадлежитВсем));
/$иначе
    //в УРМ пока все маппинги описаны в управляющих макросах
    ОписаниеБезРазделителей.SetRange(ArrayOF(НомерНабора, -1), ArrayOF(НомерНабора, -1));
/$конец    
    от сч := 0 до СписокПолейДляПоиска.Количество - 1 делать
    начало
      МаппингОднойПары := ПолучитьМаппингОдногоПоляПоОписанию(ОписаниеБезРазделителей, СписокПолейДляПоиска.Стр(сч), "", ПолеВНабореОписания);
      если (УбратьПробелы(МаппингОднойПары) &lt;&gt; "")
        тогда результат := результат + МаппингОднойПары + ",";
    конец;
    результат := Подстрока(результат, 1, Длина(результат) - 1);
  обязательно 
    ОписаниеБезРазделителей.CancelRange();
    УдалитьОбъект(ОписаниеБезРазделителей);
    УдалитьОбъект(СписокПолейДляПоиска);
  конец;    
конец;
                                                              
функция ВернутьМаппингПоОписаниюПолейИРаскладке(ОписаниеШаблона: ITableInfoX; ТипДокументов, НомерНабора: ЦЕЛОЕ; ПолеВНабореОписания: СТРОКА): строка;
переменные
  ОписаниеБезРазделителей,
  ОписаниеПолей : СтатическиеДанные;
  КолонкаВШаблоне: IColumnInfoX;
  МаппингОднойПары      : строка;
  сч            : целое;
начало
  результат := "";
  если (ПолеВНабореОписания) = ""
    тогда ВызватьОшибку();
  ОписаниеПолей := GetDocFieldsByDocType(ТипДокументов);
  ОписаниеБезРазделителей := ПреобразоватьБезРазделителей(ОписаниеПолей, ДокПоле_ИмяВАлгоритмах());
  ОписаниеБезРазделителей.Filter := ДокПоле_ТипДок + "=" +ЦелоеВСтроку(ТипДокументов);
  ОписаниеБезРазделителей.Filtered := Да;   
  ОписаниеБезРазделителей.IndexFieldNames := ДокПоле_НомерДетали + ";" + ДокПоле_ЭтоБюджет;
  попытка
/$если Бюджет      
    //оставляем поля касающиеся только "Бюджет" и "Бюджет+Урм"  
    ОписаниеБезРазделителей.SetRange(ArrayOF(НомерНабора, ОписаниеПоляПринадлежитБюджету), ArrayOF(НомерНабора, ОписаниеПоляПринадлежитВсем));
/$иначе
    //в УРМ пока все маппинги описаны в управляющих макросах
    ОписаниеБезРазделителей.SetRange(ArrayOF(НомерНабора, -1), ArrayOF(НомерНабора, -1));
/$конец    
    от сч := 0 до ОписаниеШаблона.Count - 1 делать
    начало
      КолонкаВШаблоне := ОписаниеШаблона.Columns(сч);
      //поле участвует в анализе данных
      если КолонкаВШаблоне.IsDataRequired //и (КолонкаВШаблоне.CalcField = cfxEmpty) 
        тогда начало
          МаппингОднойПары := ПолучитьМаппингОдногоПоляПоОписанию(ОписаниеБезРазделителей, КолонкаВШаблоне.FieldName, КолонкаВШаблоне.AliasName, ПолеВНабореОписания);
          если (УбратьПробелы(МаппингОднойПары) &lt;&gt; "")
            тогда результат := результат + МаппингОднойПары + ",";
        конец;  
    конец;
    результат := Подстрока(результат, 1, Длина(результат) - 1);
  обязательно 
    ОписаниеБезРазделителей.CancelRange();
    ОписаниеБезРазделителей.Filtered := нет;    
    ОписаниеБезРазделителей.Filter := "";
    УдалитьОбъект(ОписаниеБезРазделителей);
  конец;    
конец;

//удаляет параметры из коллекции с теми же именами, что и скрытые поля в раскладке согласно маппингу 
функция ИсклПараметрыПоМаппингуИРаскладке(Ограничения: IVariables; ti: ItableInfoX; Маппинг: СТРОКА): IVariables;
переменные
  col                   : IColumnInfoX;
  ПроверкаПоРаскладке   : Текст;
  Исключить,
  инд, ИндексКол        : ЦЕЛОЕ;
начало
  результат := CreateVariables();
  ПроверкаПоРаскладке := СоздатьТекст();
  попытка
    результат.PumpData(Ограничения);
    ПроверкаПоРаскладке.РазделенноеЗначение(",") := Маппинг;
    от инд := (ПроверкаПоРаскладке.Количество - 1) назад 0 делать
    начало
      Исключить := Нет;
      ИндексКол :=  ti.FindColumnByField(ПроверкаПоРаскладке.ИмяПараметра(инд));
      если ИндексКол &gt; -1
        тогда начало
          col := ti.Columns(ИндексКол);
          если не col.IsDataRequired
            тогда Исключить := Да;      
        конец
        иначе Исключить := Да;
      если Исключить
        тогда результат.Delete(ПроверкаПоРаскладке.ЗначениеПараметра(ПроверкаПоРаскладке.ИмяПараметра(инд)));  
    конец;
  обязательно
    УдалитьОбъект(ПроверкаПоРаскладке);
  конец;
конец;
   
// удаляет пересечения из маппинга заголовков, если поле есть в маппинге детали, но не указано в маппинге ограничений заголовка
функция УдалитьПересеченияМаппинга(КоллекцияКартыПолей: IVariables);
переменные
  ТкстЗаголовок, ТкстДеталь, ТкстИменаПарамДеталь, ТкстОгрЗаголовка: Текст;
  сч: целое;
начало
  ТкстЗаголовок := СоздатьТекст;
  ТкстДеталь := СоздатьТекст;
  ТкстИменаПарамДеталь := СоздатьТекст;
  ТкстОгрЗаголовка := СоздатьТекст;
  попытка
    ТкстОгрЗаголовка.РазделенноеЗначение := КоллекцияКартыПолей.Значение(кПоляОгрЗаголовка);
    // формируем список полей из маппинга детали
    ТкстДеталь.РазделенноеЗначение := КоллекцияКартыПолей.Значение(кКлассификаторы);
    от сч := 0 до (ТкстДеталь.Количество - 1) делать
      ТкстИменаПарамДеталь.Добавить(ТкстДеталь.ИмяПараметра(сч));
    // удаляем из маппинга заголовка те поля, которые есть в детали, но не указаны в маппинге ограничений заголовка
    ТкстЗаголовок.РазделенноеЗначение := КоллекцияКартыПолей.Значение(кПоляЗаголовока);
    сч := 0;
    пока сч &lt; ТкстЗаголовок.Количество делать
    начало
      если (ТкстОгрЗаголовка.Поиск(ТкстЗаголовок.ИмяПараметра(сч)) &lt; 0)
        и (ТкстИменаПарамДеталь.Поиск(ТкстЗаголовок.ИмяПараметра(сч)) &gt; -1) тогда
        ТкстЗаголовок.Удалить(сч)
      иначе
        сч := сч + 1;
    конец;        
    КоллекцияКартыПолей.Значение(кПоляЗаголовока) := ТкстЗаголовок.РазделенноеЗначение;
  обязательно
    УдалитьОбъект(ТкстЗаголовок, ТкстДеталь, ТкстИменаПарамДеталь, ТкстОгрЗаголовка);
  конец;
конец;

//формирование коллекции "КартаПолей" по умолчанию                        
функция ПустаяКартаПолей: IVariables;
начало
  результат := CreateVariables;
  результат.SetCapacity(16);
  результат.Values(кНомерДетали) := 0;
  результат.Values(кНомерДеталиВОписанииПолей) := результат.Values(кНомерДетали);
  результат.Values(кПоляСуммы) := 'ПроверяемаяСумма=SUMMA';
  результат.Values(кЛогСуммы) := 'ПроверяемаяСумма=SUMMA';
  результат.Values(кКлюч) := 'КодЗаписи';
  результат.Values(кКлючи) := 'КодЗаписи=ID';
  результат.Values(кСсылка) := 'RecordIndex';
  результат.Values(кВнутренняяСсылка) := результат.Values(кСсылка);  
  результат.Values(кСвязьСЗаголовком) := 'КодЗаписи=RecordIndex';  
  результат.Values(кКлючЗаголовка) := 'ID';
  результат.Values(кВнутреннийКлючЗаголовка) := результат.Values(кКлючЗаголовка);  
  результат.Values(кКлючЗаголовкаИзБазы) := результат.Values(кКлючЗаголовка);
  результат.Values(кВернутьРезНаИнтфСтандартно) := да;
  результат.Values(кВидПроверяемыхДанных) := cdMasterDetail;//по умолчанию в контроль передаются мастер-деталь наборы
  результат.Values(кТипДокументаВКонтроле) := -1;
конец;

функция ОграничитьИзУпрМаркоса(Заголовок, Деталь: СтатическиеДанные; Огр: IVariables; Описание: ITemplates; АдаптерМодуля: ВнешнийОбъект);
переменные
  НаборДанных   : IVariables;
начало
  НаборДанных := CreateVariables();
  //вызов функции наложения ограничений из управляющего макроса
  НаборДанных.Values('0') := Заголовок;
  НаборДанных.Values('1') := Деталь;
  ОграничитьПоБЮджету("КодБюджета", Заголовок, Огр);        
  если (АдаптерМодуля &lt;&gt; nil) тогда АдаптерМодуля.SetLimit(НаборДанных, Огр, Описание);
конец;
//формирование коллекции параметров с учетом вложенной коллекции с "@&lt;ИмяАлгоритма&gt;"
функция ОгрДляАлгоритма(Источник: IVariables; ИмяАлгоритма: СТРОКА): IVariables;
переменные
  ИсключительноДляАлг   : IVariables; 
начало
  результат := CreateVariables();
  результат.SetValues(Источник, 0); 
  если Источник.ПараметрСуществует("@" + ИмяАлгоритма) тогда
    начало
      ИсключительноДляАлг := Источник.Значение("@" + ИмяАлгоритма); 
      результат.SetValues(ИсключительноДляАлг, coxSpecialClear);                   
    конец;
конец;

//формируем наиболее подробную раскладку из колонок, не принадлежащих алгоритмам или принадлежащих указанному алгоритму 
функция ОбъединитьРаскладкиПоАлгоритму(Алгоритм: СТРОКА; Приемник, Источник: ITableInfoX);
переменные
  индКолонок,
  ИндВприемнике : целое;
  col, col2     : IColumnInfoX;
начало
  от индКолонок := 0 до Источник.Count-1 делать
  начало
    col := Источник.Columns(индКолонок);
    //анализируем наличие колонки, если она выводится и либо не принадлежит к алгоритму, 
    //                                                  либо принадлежит указанному, 
    //                                                  либо не надо ограничивать по алгоритму
    если col.IsDataRequired и ((УбратьПробелы(col.Category) = "")или(УбратьПробелы(col.Category) = Алгоритм)или (Алгоритм = "")) тогда
    начало
      ИндВприемнике := Приемник.FindColumnByField(col.FieldName);
      если (ИндВприемнике &gt; 0) тогда //если колонка в приемнике присутствует, смортим чтобы она выводилась  
      начало
        col2 := Приемник.Columns(ИндВприемнике);
        если не col2.IsRequired тогда
          col2.Required := col2.Required - trxHidden;  
      конец                            
      иначе col.CopyTo(Приемник.Add());//колонка в раскладке приемника отсутствует, добавляем текущую колонку                      
    конец;               
  конец;//цикл по раскладке источника и добавление недостающих полей в расклдаку приемника
конец;

// вызов обработчика контроля с шаблона
функция ВызовОбработчикаКонтроля(ВремяИсполнения: строка; Шаблон: ITemplates; Парам: IVariables; Остатки, Проверяемые: СтатическиеДанные; Раскладка: ITableInfoX);
переменные      
  ДляОбработчика: IVariables;        
начало
  ДляОбработчика := CreateVariables();
  ДляОбработчика.Values(АлгПараметры) := Парам;
  ДляОбработчика.Values(АлгДанные) := Остатки;
  ДляОбработчика.Values(АлгРаскладка) := Раскладка;
  ДляОбработчика.Values(КонтрольДанные) := Проверяемые;  
  CtrlEventRecursive(ВремяИсполнения, ДляОбработчика, Шаблон, да);
конец;

функция ПолучитьЗаголовокИПроверяемые(НаборыДанных: IVariables; Заголовок, Деталь: СтатическиеДанные);
начало
  если НаборыДанных.Count &lt; 2
    тогда ВызватьОшибку("Функция 'SetLimit': количество переданных наборов данных меньше требуемого");
  Заголовок := НаборыДанных.IndexValues(0);
  если Заголовок = nil
    тогда ВызватьОшибку("Функция 'SetLimit': отсутствует заголовочный набор данных");
  Деталь := НаборыДанных.IndexValues(1);
  если Деталь = nil
    тогда ВызватьОшибку("Функция 'SetLimit': отсутствует проверяемый набор данных");
конец;
//добавление служебного поля-суммы в раскладку 
функция ДобавитьПолеИтогаВРаскладку(ti: ITableInfoX; ИмяПоля: СТРОКА);
переменные
  ci    : IColumnInfoX;
начало
  ci := ti.Add;
  ci.Name := ИмяПоля; 
  ci.FieldName := ИмяПоля;
  ci.Group := grpSum;              
  ci.ValueType := vtxDouble;
  ci.ColumnType := ctpDisplay;
  ci.Required := trxRequired + trxHidden;
конец;

//ЗАГРУЗКА ШАБЛОНА И СОЗДАНИЕ НАБОРОВ ДАННЫХ ПО РАСКЛАДКАМ ШАБЛОНА

//загрузка шаблона контроля и создание полей в проверяемом наборе данных по раскладке шаблона  
функция ЗагрузитьШаблон(Шаблон, Ключ : СТРОКА; ss: СтатическиеДанные; КодКонтроля: целое): ITemplates;
переменные
  ti: ITableInfoX;
  ci: IColumnInfoX;
  Конфигурация: СтатическиеДанные;
  ПоляГруппировки, Ключи, ОписаниеКонфигурации: Текст;
  ИндексКолонки, Флаг, i, ГруппаКонтроля: целое;
  стр: строка;
начало
  ДобавитьСлужебныеПоля(ss);
  ss.Закрыть();
  результат := ControlLoadTemplate(Шаблон);
  ti := LoadDynamicReport(КодКонтроля, dcu_Control, результат.Template.Identifier, результат.CheckTemplate.TableInfo);
  ti.CopyTo(результат.CheckTemplate.TableInfo); 
  ti := результат.CheckTemplate.TableInfo; 
  //создание обязательного поля с ИД проверяемой записи
  Ключи := СоздатьТекст;
  ПоляГруппировки := СоздатьТекст();
  попытка
    Ключи.РазделенноеЗначение := Ключ;
    от i:=0 до Ключи.Количество-1 делать
      начало
        стр := УбратьПробелы(Ключи.Стр(i));
        если (стр &lt;&gt; '') тогда
          начало
            ci := ti.Add;
            ci.Name := стр;
            ci.FieldName := стр;
            ci.ColumnType := ctpDisplay;
            ci.Required := trxCreate + trxHidden;
          конец;
      конец;
    // при загрузке шаблона в Filter дописывается CaptionFilter; если фильтры равны, то очистим Filter; 
    // вместо Filter фильтры проверяемых данных будут накапливаться в параметре раскладки TotalFilter(кОбщийФильтрПроверяемых);
    // перед UniControl Filter заполним общим фильтром TotalFilter
    если УбратьПробелы(ti.Params("CaptionFilter")) &lt;&gt; "" тогда
      если УбратьПробелы(ti.Params("CaptionFilter")) = УбратьПробелы(ti.Params("Filter")) тогда
        ti.Params("Filter") := "";
    // если Filter на шаблоне заполнен, то вызывается алерт
    если УбратьПробелы(ti.Params("Filter")) &lt;&gt; "" тогда
    начало
      ГруппаКонтроля := КодКонтроля цел 1000000;
      // игнорируем для части блоков 
      если не (ГруппаКонтроля входит [0, 25, 30, 36, 37, 43, 46, 50]) тогда
        Alert("Контроль может работать дольше, так как в нем используется устаревший фильтр проверяемых данных. Шаблон " + Шаблон);
    конец;
    // добавляем колонку для фильтрации проверяемых данных (вместо Filter)
    если ti.FindColumnByField(фПроверяемыеВОбработке) &lt; 0 тогда
    начало
      ci := ti.Add;
      ci.Name := фПроверяемыеВОбработке;
      ci.FieldName := фПроверяемыеВОбработке;
      ci.ColumnType := ctpDisplay;
      ci.Required := trxCreate + trxHidden;
      ci.CalcField := cfxControlFilterScript;
      ci.Script := ti.Params(кСкриптФильтраПроверяемых);
    конец
    иначе
      ВызватьОшибку("В шаблоне используется имя поля, зарезервированное для фильтрации проверяемых данных (IsProcessingControlData)");
    //создание полей сумм для каждого критерия
    Флаг := Нет;
    i := 0;
    ПоляГруппировки.РазделенноеЗначение := ti.GetKeys;
    пока (i &lt;= ПоляГруппировки.Количество-1)и не Флаг делать
    начало
      стр := ПоляГруппировки.Стр(i);
      ИндексКолонки := ti.FindColumnByField(стр);
      если ИндексКолонки &gt; -1
        тогда начало
          ci := ti.Columns(ИндексКолонки);
          //создаем фиктивную колонку для каждого поля-"критерия" куда будем помещать сумму каждой записи,
          // для которой производим обобщение по критерию  
          если ci.ColumnType = ctpCriterion
            тогда Флаг  := ДА;
        конец;
      i := i + 1;  
    конец;        
    если Флаг тогда 
      от i := 0 до ti.Count-1 делать
        начало
          ci := ti.Columns(i);
          стр := ci.FieldName;
          //для каждого поля начального остатка 
          если ci.total = 1
            тогда начало
              //создание поля с корректированной суммой при обобщении по критериям
              ДобавитьПолеИтогаВРаскладку(ti, стр+cCriterionSaveSum);   
              //создание поля максимального отклонения от первоначальной суммы при выравнивании отрицательных начальных остатков по критериям              
              ДобавитьПолеИтогаВРаскладку(ti, стр+cCriterionSubSum);    
            конец;
        конец;
  обязательно
    УдалитьОбъект(ПоляГруппировки);
    УдалитьОбъект(Ключи);
  конец;

  BringToLinear(ti);
  ОписаниеКонфигурации := СоздатьТекст;
  попытка
    ОписаниеКонфигурации.РазделенноеЗначение := "Template=Шаблон_255,CLS=КонтрольИД,generation=ОсновнойСкрипт_255,ControlType=ТипКонтроля";
    Конфигурация := ПолучитьКонфигурацию(ENUM_Control, ОписаниеКонфигурации);
  обязательно
    УдалитьОбъект(ОписаниеКонфигурации);
  конец;
  если Конфигурация.Locate("КонтрольИД", МассивИз(КодКонтроля), 0) тогда
    // Для логического контроля анализ состава не нужен
    если (Конфигурация.ПолеПоИмени("ТипКонтроля").КакЦелое &lt;&gt; 3) и (результат.CheckTemplate.Variables.Значение("НеИспользоватьАнализСостава") &lt;&gt; 1) тогда
      ДобавитьГиперКолонки(ti);
  УдалитьОбъект(Конфигурация);
  ДобавитьПоля(ti, ss);
  AddNullFields(ti, ss); 
конец;
//возвращает описание шаблона по его имени и плоский набор с полями, заданными в раскладке шаблона 
функция СоздатьДанныеПоШаблону(Шаблон: строка; КартаПолей: IVariables; ОписаниеШаблона: ITemplates): СтатическиеДанные;
переменные
  Ключи, ВнутрСсылка,
  СсылкаДляРезультата,
  Ключ,  Ссылка : строка;
начало
  Ключ := КартаПолей.Values(кКлюч);
  Ссылка := КартаПолей.Values(кСсылка);
  ВнутрСсылка := КартаПолей.Values(кВнутренняяСсылка);
  если УбратьПробелы(КартаПолей.Values(кСвязьСзаголовком)) &lt;&gt; ""
    тогда СсылкаДляРезультата := ПолучитьПолеКлюч(КартаПолей.Values(кСвязьСзаголовком), да, 0);
  если (Прописные(СсылкаДляРезультата) &lt;&gt; Прописные(Ссылка)) и (СсылкаДляРезультата &lt;&gt; "")
    тогда Ключи := Ключ + ',' + Ссылка + ',' + СсылкаДляРезультата
    иначе Ключи := Ключ + ',' + Ссылка;
  если (Прописные(Ссылка) &lt;&gt; Прописные(ВнутрСсылка))и (УбратьПробелы(ВнутрСсылка)&lt;&gt; "") тогда
    Ключи := Ключи + ',' + ВнутрСсылка;   
  Результат := СоздатьСтатическиеДанные();
  ОписаниеШаблона := ЗагрузитьШаблон(Шаблон, Ключи, Результат, КартаПолей.Значение(кКодКонтроля));
  Результат.Открыть();
конец;

//создание коллекции статических данных по раскладке по каждому указанному шаблону   
функция СоздатьДанныеПоКомпозитКонтролю(ПереченьКодовШаблонов: строка; КартаПолей: IVariables; ОписаниеШаблонов: ITemplates): IVariables;
переменные
  СписокШаблонов: IVariables;
  НаборДляОднойСтр: СтатическиеДанные;
  ОдинШаблон: ITemplates;
  Промежуточный, ОднаСтраница: ITemplate;
  Ключи, СсылкаДляРезультата, Ключ, Ссылка: строка;
  сч: целое;
начало
  Ключ := КартаПолей.Values(кКлюч);
  Ссылка := КартаПолей.Values(кСсылка);
  если УбратьПробелы(КартаПолей.Values(кСвязьСзаголовком)) &lt;&gt; ""
    тогда СсылкаДляРезультата := ПолучитьПолеКлюч(КартаПолей.Values(кСвязьСзаголовком), да, 0);
  если (Прописные(СсылкаДляРезультата) &lt;&gt; Прописные(Ссылка)) и (СсылкаДляРезультата &lt;&gt; "")
    тогда Ключи := Ключ + ',' + Ссылка + ',' + СсылкаДляРезультата
    иначе Ключи := Ключ + ',' + Ссылка; 
  //оставляем только сам перечень кодов контроля 
  пока (Позиция("\", ПереченьКодовШаблонов) &lt;&gt; 0) делать
  начало
    ОтсечьПоРазделитель("\", ПереченьКодовШаблонов, 1, Да);
  конец;

  результат := CreateVariables();
  СписокШаблонов := ВернутьСписокШаблоновКонтроля(ПереченьКодовШаблонов);
  от сч := 0 до СписокШаблонов.cOUNT-1 делать
  начало
    НаборДляОднойСтр := СоздатьСтатическиеДанные(); 
    ОдинШаблон := ЗагрузитьШаблон(TemplatePath + "\Шаблоны БК\" + СписокШаблонов.IndexValues(сч), Ключи, НаборДляОднойСтр, КартаПолей.Значение(кКодКонтроля));
    НаборДляОднойСтр.Открыть();
    если (ОписаниеШаблонов &lt;&gt; nil) тогда
    начало
      //перенос в основное описание шаблонов: раскладки, запросов, ограничений, обработчиков
      ОднаСтраница := ОдинШаблон.CheckTemplate;
      Промежуточный := ОписаниеШаблонов.Add();
      ОднаСтраница.CopyTo(Промежуточный);
    конец
    иначе начало
      ОписаниеШаблонов := ОдинШаблон;
      Промежуточный := ОписаниеШаблонов.CheckTemplate; 
    конец;  
    если (СписокШаблонов.Names(сч)[1] &lt;&gt; "@") тогда
      Промежуточный.Options.Values("PageName") := Строка(СписокШаблонов.Names(сч));                      
    результат.AddItems(сч);
    результат.IndexValues(сч) := НаборДляОднойСтр;    
  конец;
конец;

функция СоздатьДанныеДокДляОгр(Вид: целое; Источник: СтатическиеДанные; КартаПолей: IVariables): СтатическиеДанные;
переменные
  МаппингПолей,
  ИменаПолейОгр : Текст;
  НовоеПоле,
  ПолеОгр       : Поле;
  МаппингПереноса,
  АнглИмяПоля,
  РусскоеИмяПоля,
  Ключ  : СТРОКА;
  
  РазмерПоля,
  Нашли, ТипПоля,
  сч, индПолей  : целое;
начало
  ИменаПолейОгр := СоздатьТекст();
  МаппингПолей := СоздатьТекст();
  попытка
    Ключ := КартаПолей.Values(кКлючЗаголовка);
    ИменаПолейОгр.РазделенноеЗначение(",") := Прописные(КартаПолей.Values(кПоляОгрЗаголовка));
    МаппингПолей.РазделенноеЗначение(",") := Прописные(КартаПолей.Values(кПоляЗаголовока));
    МаппингПереноса := Ключ + "=" + Ключ;

    результат := СоздатьСтатическиеДанные();
    попытка
      //поиск в маппинге полей имени русского поля по кторому накладывается ограничение  
      от сч := 0 до ИменаПолейОгр.Количество-1 делать
      начало
        индПолей := 0;
        Нашли := нет;
        пока не Нашли и (индПолей &lt;= МаппингПолей.Количество-1) делать
        начало
          РусскоеИмяПоля := ИменаПолейОгр.Стр(сч);
          если МаппингПолей.ИмяПараметра(индПолей) = РусскоеИмяПоля
            тогда Нашли := да;
          индПолей := индПолей + 1;        
        конец;
        //создаем поле с русским аналогом имени поля в источнике
        если Нашли
          тогда начало
            АнглИмяПоля := МаппингПолей.ЗначениеПараметра(РусскоеИмяПоля);
            ПолеОгр := nil;        
            если Источник.FindField( АнглИмяПоля, ПолеОгр)
              тогда начало
                ТипПоля := ПолеОгр.FieldType;
                РазмерПоля := ПолеОгр.Size;
                НовоеПоле := результат.CreateField(РусскоеИмяПоля, ТипПоля);
                если ТипПоля = 1 //для строкового поля
                  тогда НовоеПоле.Size := РазмерПоля;
                МаппингПереноса := МаппингПереноса + "," + РусскоеИмяПоля + "=" + АнглИмяПоля;               
              конец
              иначе ВызватьОшибку(Формат(ОшибкаОтсутствияПоляВДанныхЗаг, АнглИмяПоля));
          конец
          иначе ВызватьОшибку(Формат(ОшибкаОтсутствияПоляВМаппингеЗаг, РусскоеИмяПоля));
      конец;
      //создаем поле ИД документов
      результат.ДобавитьЦелоеПоле(Ключ);
      результат.Открыть();                                   
      результат.PumpData(Источник, МаппингПереноса);        
    неудача
      УдалитьОбъект(результат);
      ВызватьОшибку(ПоследняяОшибка);
    конец;
  обязательно
    УдалитьОбъект(МаппингПолей);  
    УдалитьОбъект(ИменаПолейОгр);
  конец;      
конец;

//*************************************ИСПОЛНЕНИЕ КОНТРОЛЯ ПРИ ОДНОСТРАНИЧНОМ РЕЖИМЕ 
функция Контроль(Вид: целое; ss: СтатическиеДанные; Шаблон: ITemplates; Ограничения: IVariables);
переменные
  Данные: СтатическиеДанные;
  КартаПолей, Парам: IVariables;
  ti: ITableInfoX;
  Ключ: строка;
  ПоказатьФорму: целое;
начало
  КартаПолей := Ограничения.Values(КонтрольКартаПолей);
  Ключ := КартаПолей.Values(кКлюч);
  если ИнвертированныйКонтроль(Вид) тогда
    InvertSum(ss, КартаПолей.Values(кПоляСуммы));
  //показывать форму в случае принудительного контроля
  ti := Шаблон.Template.TableInfo;
  ti.Params('ShowDebug') := КонтрольПоОдномуДокументу(Вид) или КонтрольНаСохранениеДокументов(Вид)
    или КонтрольПредставления(Вид) или Ограничения.Значение(кВклРежимПредКонтроляИзСС);
  //для пред. контроля анализ "можно редактировать данные"  
  если (Вид = ctxPrior) тогда
    ti.Params('ReadOnly') := КартаПолей.Values(кТолькоЧтение);
  //задание поля удаления пересечений из множества предварительных остатков
  если не ИнвертированныйКонтроль(Вид) тогда 
    ti.Params('Key') := Ключ
  иначе
    ti.Params('Key') := '';  
  ExchangeNullFields(ti, ss);
  
  Данные := СоздатьСтатическиеДанные();
  Парам := CreateVariables();  
  попытка
    //создание полей в множестве начального остатка в сооветствии с текущим шаблоном контроля
    Данные.ДобавитьЦелоеПоле(Ключ);
    ДобавитьПоля(ti, Данные);          
    ДобавитьСлужебныеПоля(Данные);
    //передача раскладки и наборов данных(остатков и проверяемых) в обработчики контроля
    Парам.Values(АлгПараметры) := Ограничения;
    Парам.Values(АлгДанные) := Данные;
    Парам.Values(АлгРаскладка) := ti;
    Парам.Values(КонтрольДанные) := ss;  
    // Обработчик до закачки - ДоЗакачки
    CtrlEventRecursive(ДоЗакачки, Парам, Шаблон, да);
    // вычисляем служебную колонку со скриптом фильтра проверяемых, если не задан старый фильтр проверяемых
    если УбратьПробелы(ti.Params("Filter")) = "" тогда
      ВыполнитьСкриптФильтраПроверяемых(ss, ti, Ограничения);
    ДополнитьФильтрДляДанныхКонтроля(Шаблон, кОбщийФильтрПроверяемых, ("(" + фПроверяемыеВОбработке + " is null) or (" + фПроверяемыеВОбработке + " &lt;&gt; 0)"), 0, 0);

    // добавляем в общий фильтр значение из Filter (перед определением необходимости выполнения контроля);
    // теперь общий фильтр будет содержать фильтр по заголовку, типу контроля, настраиваемым параметрам, IsProcessingControlData и старый Filter
    ДополнитьФильтрДляДанныхКонтроля(Шаблон, кОбщийФильтрПроверяемых, ti.Params("Filter"), 0, 0);
    // выполняем функции контроля, если задан старый Filter (для совместимости) или остались данные после наложения всех фильтров
    если (УбратьПробелы(ti.Params("Filter")) &lt;&gt; "")
      или ВыполнятьКонтрольПослеФильтра(Вид, ss, ti.Params(кОбщийФильтрПроверяемых)) тогда // здесь накладывается общий фильтр на проверяемые данные
    начало
      // !для поддержки инт. 02.09: чтобы исключить задвоение проверяемых данных, на нач. остатки нужно накладывать ограничение
      // по кодам записей первой детали (стандартное удаление пересечений для 02.09 не работает)
      СформироватьСпецОграничения(Вид, ss, Ограничения);
      // Удалить длинные ограничения, если не установлено иное в параметрах шаблона
      если (Ограничения.Values("ДлинныеОграниченияПоддержаны") &lt;&gt; 1) тогда
        CheckLimits(Ограничения, 150);
      //Ограничение по правам
      /$если Бюджет
      если (ЦелаяКонстанта(-1, 24) = 1)
        и ЕстьПраво("Использование видимости по правам", 21000000, СтрокаВЦелое(КартаПолей.Значение("КодКонтроля"))) тогда
        Ограничения.Значение("ОграничВидимостьПоПравамЧек") := да
      иначе
        Ограничения.Значение("ОграничВидимостьПоПравамЧек") := нет;
      если Ограничения.Values('ОграничВидимостьПоПравамЧек') тогда
        НАЛОЖИТЬОГРАНИЧЕНИЯПРАВА(Ограничения, нет)
      иначе
        СКОПИРОВАТЬОГРАНИЧЕНИЯПРАВА(Ограничения);
      /$конец  
      ПоказатьФорму := (вид = ctxPrior) или Ограничения.Values(OptNeedShowControl);
      если (ПоказатьФорму)и(не Ограничения.Значение("НеИспользоватьАнализСостава")) тогда
        Ограничения.Значение(кПарамГиперТекст) := да
      иначе
        // включаем оптимизицию на сервере, если:
        // - не используется анализ состава;
        // - неинвертированный контроль;
        // - не заполнен фильтр проверяемого множества; 
        // - не заполнен фильтр исходного множества перед удалением пересечений
        если (ss.RecordCount &lt; 2000)
          и (не((Ограничения.CheckParam(кПарамГруппироватьНаСервере)) и (Ограничения.Значение(кПарамГруппироватьНаСервере) = 0)))
          и (Ограничения.Значение("КодЗаписи") = "")
          и (не ИнвертированныйКонтроль(Вид))
          и (УбратьПробелы(ti.Params("Filter")) = "") и (УбратьПробелы(ti.Params("DeleteFilter")) = "") тогда
        начало
          //Если записей больше 2000, то оптимизация не выгодна из-за сильного утяжеления запросов
          Ограничения.Значение(кПарамГруппироватьНаСервере) := да;
          если ti.FindColumnByField(Ключ) &lt;&gt; -1 тогда      
            ti.Delete(ti.FindColumnByField(Ключ));
          Ограничения.Значение("КодЗаписи") := '#' + GetLimitStr(ss, Ключ);
        конец;
      // формируем параметры ЗАПРОСОВ!!!
      СформироватьПараметрыЗапросов(Шаблон.Template.Tables, nil, Ограничения, nil, nil, ti, Данные, Reporter);    
      ВыполнитьАлгоритмы(ti, Парам);
      // если дальше будет вызываться ресурс, то ограничение по коду записи убираем, чтобы оно не повлияло на выборку 
      если Ограничения.ПараметрСуществует("КодЗаписи") тогда Ограничения.Delete("КодЗаписи");
      // Обработчик после закачки - ПослеЗакачки
      CtrlEventRecursive(ПослеЗакачки, Парам, Шаблон, да);
      ПоказатьФорму := (вид = ctxPrior) или Ограничения.Values(OptNeedShowControl);
      //При группировке на сервере пересечения удалять не надо.    
      Ограничения.Values(OptNeedDropElimination) := (Ограничения.Values(OptNeedDropElimination)или не ИнвертированныйКонтроль(Вид))
        и(не Ограничения.Значение(кПарамГруппироватьНаСервере)); 
      // заменяем Filter общим фильтром проверяемых данных
      ДополнитьФильтрДляДанныхКонтроля(Шаблон, "Filter", ti.Params(кОбщийФильтрПроверяемых), 1, 0);
      КартаПолей.Values(кТолькоЧтение) := (UniControl(ПоказатьФорму, ss, Данные, ti, Mapper, Reporter, Ограничения, Progress) = нет); 
    конец;
    ExchangeNullFields(ti, ss);
  обязательно  
    УдалитьОбъект(Данные);
    УдалитьОбъект(Парам);
  конец;  
конец;

//проверяем необходимость вызова функций контроля после наложения фильтра заголовка
функция ПроизвестиКонтроль(Вид: ЦЕЛОЕ; Данные: СтатическиеДанные; Шаблон: ITemplates; Ограничения : IVariables);
переменные
  Раскладка : ITableInfoX;
начало
  Раскладка := Шаблон.Template.TableInfo;
  если ВыполнятьКонтрольПослеФильтра(Вид, Данные, Раскладка.Params("CaptionFilter")) тогда
  начало
    ДополнитьФильтрДляДанныхКонтроля(Шаблон, кОбщийФильтрПроверяемых, Раскладка.Params("CaptionFilter"), 0, 0);    
    Контроль(Вид, Данные, Шаблон, Ограничения);
  конец;
  Данные.Фильтр := "";
конец;

//0.создание копии линейных проверяемых данных и простановка результатов контроля по умолчанию
//1.вызов обработчика "ДоВыполнения"
//2.наложение ограничений через обработчики в управляющем макросе(по заголовку и детали)
//3.вызов контроля с проверкой его необходимости после наложения фильтра на заголовок
//4.перенос результатов контроля в реальном наборе из пропущенной через контроль копии
функция КонтрольДокументов(Вид: целое; Заголовок, Деталь: СтатическиеДанные; Шаблон: ITemplates; Огр, КартаПолей: IVariables): целое;
переменные
  ВО: ВНЕШНИЙОБЪЕКТ;                       
  КопияПроверяемых, ДокСРуссПолями: СтатическиеДанные;
  Промежуточный, НаборДанных: IVariables;
  ВсеОгр, Парам: IVariables;
  ti: ITableInfoX;
  ПолеРезКонтроля: IField;
  Ссылка, Ключ, КлючЗаголовка: строка;
  ПоляСуммы: строка;
  ПроизводитьКонтроль: целое;
начало
  КлючЗаголовка := КартаПолей.Values(кКлючЗаголовка);
  Ссылка := КартаПолей.Values(кСсылка);
  если (УбратьПробелы(КартаПолей.Values(кСвязьСзаголовком)) &lt;&gt; "") тогда 
    Ссылка := ПолучитьПолеКлюч(КартаПолей.Values(кСвязьСзаголовком), да, 0);
  ПоляСуммы := УбратьПробелы(КартаПолей.Values(кЛогСуммы));
  ВО := Объект(КартаПолей.Values(кСсылкаНаМодуль));
  если КартаПолей.Значение(кТипДокПоСхеме) тогда
    Огр.Значение(кТипДокПоСхеме) := Да;
  
  //формирование заголовочного набора с русскими именами полей для наложения ограничений по этим полям 
  ДокСРуссПолями := СоздатьДанныеДокДляОгр(Вид, Заголовок, КартаПолей);
  ВсеОгр := CreateVariables();
  НаборДанных := CreateVariables();
  КопияПроверяемых := СоздатьСтатическиеДанные();
  попытка
    ti := Шаблон.Template.TableInfo;
    ti.Params('ShowDebug') := КонтрольПоОдномуДокументу(Вид);
    //сброс результатов контроля   
    InstallData(Деталь, ControlResult + '=-1,' + ControlMessage + '=');
    //формирование копии проверяемого набора во избежание передачи в дальнейшие контроли возможных изменений над набором текущим контролем  
    КопияПроверяемых.ПрисвоитьПоля(Деталь);
    КопияПроверяемых.Открыть();
    КопияПроверяемых.Закачать(Деталь);  

    //ФОРМИРОВАНИЕ ПАРАМЕТРОВ-ОГРАНИЧЕНИЙ ДЛЯ ОБРАБОТЧИКОВ
    если не Огр.ПараметрСуществует(кТипДокументаВКонтроле) тогда
      Огр.Значение(кТипДокументаВКонтроле) := КартаПолей.Значение(кТипДокументаВКонтроле);
    ОграничитьИзУпрМаркоса(ДокСРуссПолями, КопияПроверяемых, Огр, Шаблон, ВО);    
    //для контроля на очистку поля остатки всегда текущую дату(если иное ограничение не задается в обработчиках на шаблоне)  
    если ИнвертированныйКонтроль(Вид) тогда
      Огр.Values("КонечнаяДата") := ДатаВСтроку(ТекущаяДатаССервера);       //текущая дата
    если Огр.Values(кПервыйВызов)
      тогда Огр.Values(кПервыйВызов) := нет;
    если Огр.CheckParam('НастройкиКонтроля') тогда
      ВсеОгр.PumpData(Огр.Значение("НастройкиКонтроля"));
    //ограничения с шаблона перетираются значениями в управляющем макросе  
    ВсеОгр.PumpData(Шаблон.Template.Variables);
    //сбросить ограничения по полям, которых нет в раскладке
    Промежуточный := ИсклПараметрыПоМаппингуИРаскладке(Огр, Шаблон.CheckTemplate.TableInfo, Строка(КартаПолей.Values(кПроверкаПоРаскладке)));
    ВсеОгр.PumpData(Промежуточный);  
    ВсеОгр.Values(КонтрольКартаПолей) := КартаПолей;
    // Выполняем обработчик "До выполнения"
    Парам := CreateVariables();
    Парам.Values(АлгРаскладка) := ti;
    Парам.Values(АлгПараметры) := ВсеОгр;
    CtrlEventRecursive(ДоВыполнения, Парам, Шаблон, да);  
    
    ПроизводитьКонтроль := да;
    //проверка на совпадение сумм заголовка и в целом по детализации и в случае успеха вызов контроля
    если ((Вид &lt;&gt; ctxPrior) и не ИнвертированныйКонтроль(Вид) и (ПоляСуммы &lt;&gt; '')) тогда
      ПроизводитьКонтроль := CtrlBySum(Заголовок, КопияПроверяемых, КлючЗаголовка, Ссылка, ControlResult, ControlMessage, ПоляСуммы) &lt;&gt; нет;
    если ПроизводитьКонтроль тогда
      ПроизвестиКонтроль(Вид, КопияПроверяемых, Шаблон, ВсеОгр);
    //возврат полученных результатов контроля в исходные данные(+нужно вернуть записи, которые были добавлены и суммы которые были изменены)
    //предполагается, что данные могут быть измиенены только в предварительном контроле 
    //или в любом другом контроле если вдруг скажем что данные разрешены для изменения (здесь нужно помнить что шаблон тогда подключать нужно один)     
    если (Вид = ctxPrior) или (КартаПолей.Values(кТолькоЧтение) = нет) 
      тогда начало
        Деталь.Clear();
        Деталь.Закачать(КопияПроверяемых);
        //находим максимально плохой результат проведения контроля 
        ПолеРезКонтроля := КопияПроверяемых.ПолеПоИмени(ControlResult);
        КопияПроверяемых.ВНачало();
        пока не КопияПроверяемых.ВКонце делать
        начало
          если результат &lt; ПолеРезКонтроля.КакЦелое
            тогда результат := ПолеРезКонтроля.КакЦелое;
          КопияПроверяемых.Следующая();
        конец;                         
      конец
      иначе начало
        Ключ := ПолучитьПолеКлюч(Строка(КартаПолей.Values(кКлючи)), Да, 0);
        результат := SetCtrlResult(КопияПроверяемых, Деталь, Ключ, Ключ, ControlResult, ControlMessage, 0, нет);
      конец;  
  обязательно
    если Промежуточный &lt;&gt; nil тогда 
      УдалитьОбъект(Промежуточный);
    УдалитьОбъект(КопияПроверяемых);  
    УдалитьОбъект(ДокСРуссПолями);
    УдалитьОбъект(НаборДанных);
    УдалитьОбъект(ВсеОгр);
  конец;   
конец;

//*********************ДЛЯ МНОГОСТРАНИЧНОГО КОНТРОЛЯ

функция ФормироватьСписокАлгоритмов(ПереченьСтр: Текст; НаборыОгр: IVariables; ОписанияШаблонов: ITemplates): IVariables;
//в списке хранится информация:
//1.    - имя алгоритма
//2.    - набор параметров, с которыми запускается алгоритм
//3.    - перечень шаблонов, для которых определен элемент списка
//4.    - наиболее подробная раскладка полей которые нужно выбрать алгоритмом для перекачки на все использующие алгоритм страницы 
переменные
  ЭлементСписка,
  ПарамДляАлг,
  ПарамСтр      : IVariables;
  ОднаСтраница  : ITemplate;
  РаскладкаЭлемента,
  Раскладка     : ITableInfoX;
  col           : IColumnInfoX;
  АлгоритмыСтраницы     : Текст;
  РазрешитьОптимизиацию,
  НеСопоставлен,
  индКол,
  индЭлемента,
  сч, индАлг    : ЦЕЛОЕ;
  ИмяАлг        : СТРОКА;         
начало
  результат := CreateVariables();
  АлгоритмыСтраницы := СоздатьТекст();
  попытка
    от сч := 0 до ОписанияШаблонов.Count - 1 делать
    начало
      если (ПереченьСтр.Поиск(ЦелоеВСтроку(сч)) &gt; -1)тогда
      начало
        РазрешитьОптимизиацию := да;
        АлгоритмыСтраницы.Значение := "";
        ОписанияШаблонов.Index  := сч;
        ОднаСтраница := ОписанияШаблонов.CheckTemplate();
        Раскладка := ОднаСтраница.TableInfo;
        АлгоритмыСтраницы.Значение := Раскладка.GetCategories;    
        ПарамСтр := НаборыОгр.IndexValues(сч);

        //1.заполнен ли "скрипт" шаблона 
        если (Раскладка.Script &lt;&gt; "") тогда
          РазрешитьОптимизиацию := нет;
        от индАлг := 0 до АлгоритмыСтраницы.Количество - 1 делать
        начало
          ИмяАлг := АлгоритмыСтраницы.Стр(индАлг);
          ПарамДляАлг := ОгрДляАлгоритма(ПарамСтр, ИмяАлг);
          //4.сравнение параметров-органичений для алгоритма из списка с параметрами текущей страницы        
          НеСопоставлен := да;
          индЭлемента := 0;
          пока (индЭлемента &lt;= результат.Count - 1)и НеСопоставлен делать
          начало
            ЭлементСписка := результат.IndexValues(индЭлемента);
            //элемент описывает тот же алгоритм и по нему разрешена оптимизицаия
            если (ИмяАлг = ЭлементСписка.Values(ЭлИмяАлгоритма))и Целое(ЭлементСписка.Values(ЭлДопускКОптимизации)) тогда 
            начало
              если СовпадаютПараметры(ПарамДляАлг, ЭлементСписка.Values(ЭлОграничения)) тогда
                НеСопоставлен := нет 
              иначе индЭлемента := индЭлемента + 1;//пробег по списку элементов выполнения алгоритмов
            конец
            иначе индЭлемента := индЭлемента + 1;//пробег по списку элементов выполнения алгоритмов   
          конец;

          если (НеСопоставлен или не РазрешитьОптимизиацию) тогда
          начало
            ЭлементСписка := CreateVariables();
            ЭлементСписка.Values(ЭлОграничения) := ПарамДляАлг;
            ЭлементСписка.Values(ЭлИмяАлгоритма) := ИмяАлг;
            ЭлементСписка.Values(ЭлИндексШаблона) := ЦелоеВСтроку(сч);
            //создаем копию раскладки страницы в элементе  
            РаскладкаЭлемента := Раскладка.Replicate;
            от индКол := РаскладкаЭлемента.Count-1 назад 0 делать
            начало
              col := РаскладкаЭлемента.Columns(индКол);
              //грохаем колонки сумм не относящихся к текущему алгоритму
              если (col.Category &lt;&gt; ИмяАлг) и (col.Category &lt;&gt; "") тогда
                РаскладкаЭлемента.Delete(индКол);                             
            конец;        
            ЭлементСписка.Values(ЭлРаскладка) := РаскладкаЭлемента;
            ЭлементСписка.Values(ЭлДопускКОптимизации) := РазрешитьОптимизиацию;          
            ИндЭлемента := результат.Count; 
            результат.AddItems(ЦелоеВСтроку(ИндЭлемента));
            результат.Values(ЦелоеВСтроку(ИндЭлемента)) := ЭлементСписка; 
          конец  
          иначе начало
            ЭлементСписка.Values(ЭлИндексШаблона) := Строка(ЭлементСписка.Values(ЭлИндексШаблона)) + "," + ЦелоеВСтроку(сч);
            РаскладкаЭлемента := ЭлементСписка.Values(ЭлРаскладка);
            //формирование наиболее подробного описания полей из раскладки в элементе и обработанной странице          
            ОбъединитьРаскладкиПоАлгоритму(ИмяАлг, Раскладка, РаскладкаЭлемента);
          конец;
        конец;//цикл по алгоритмам страницы
      конец//страница подлежит обработке  
    конец;//цикл по страницам контроля
  обязательно
    УдалитьОбъект(АлгоритмыСтраницы);
  конец;
конец;

/*функция КоррекцияПараметровПоСтранице(ИндСтраницы: целое; Элементы, ОграниченияСтр: iVariables);
//??учесть, что для отдельного алгоритма в параметрах-огр. может быть указано отсутствие для данного алгоритма параметра,
// а обработчик "ДоЗакачки" эту коллекцию с @ не обрабатывает
переменные      
  СтрДляЭлемента: Текст;
  ОгрАлгоритма,
  ИсключительноДляАлг,
  КопияОгрСтр   : IVariables;
  индПарам,
  ПоСтрЭлемента,
  счАлг         : ЦЕЛОЕ;
  ИмяПарам,
  ИмяАлгоритма  : СТРОКА;        
начало
  КопияОгрСтр := CreateVariables(); 
  СтрДляЭлемента := СоздатьТекст();
  попытка
  от счАлг := 0 до Элементы.Count-1 делать
  начало
    ИмяАлгоритма := Элементы.VAlues(ЭлИмяАлгоритма);
    ОгрАлгоритма := Элементы.Values(ЭлОграничения);
    СтрДляЭлемента.Значение := "";
    СтрДляЭлемента.РазделенноеЗначение(",") := Элементы.VAlues(ЭлИндексШаблона);
    ПоСтрЭлемента := 0;
    //ищем в каждом элементе индекс переданной страницы
    пока (ПоСтрЭлемента &lt;= СтрДляЭлемента.Количество - 1) делать
    начало
      если (ИндСтраницы = СтрокаВЦелое(СтрДляЭлемента.Стр(ПоСтрЭлемента))) тогда 
      начало
        //формируем копию ограничений только для алгоритма зашитого в элементе, сформированную на странице 
        КопияОгрСтр.SetValues(ОграниченияСтр, 0);
        если ОграниченияСтр.CheckParam("@" + ИмяАлгоритма) тогда
        начало
          ИсключительноДляАлг := ОграниченияСтр.VAlues("@" + ИмяАлгоритма);
          КопияОгрСтр.SetValues(ИсключительноДляАлг, coxSpecialClear);
        конец;
        //производим сравнение имен параметров и их значений(считаем, что у параметра в обработчике могут почистить его значение, но удалить его сам нет)
        от индПарам := 0 до КопияОгрСтр.Count-1 делать
        начало
          ИмяПарам := КопияОгрСтр.Names(индПарам);
          если не ОгрАлгоритма.CheckPAram(ИмяПарам) тогда //параметр добавлен в обработчике
          начало
            ОгрАлгоритма.VAlues(ИмяПарам) := КопияОгрСтр.Values(ИмяПарам);                     
          конец
          иначе если не ЗначенияПараметровРавны(ОгрАлгоритма.Values(ИмяПарам), КопияОгрСтр.Values(ИмяПарам))  //значение в обработчике изменено 
                тогда ОгрАлгоритма.Values(ИмяПарам) := КопияОгрСтр.Values(ИмяПарам);
        конец;
      конец; 
      ПоСтрЭлемента := ПоСтрЭлемента + 1;              
    конец;
  конец;
  обязательно
    УдалитьОбъект(СтрДляЭлемента);
    Интерфейс(КопияОгрСтр).Освободить;
  конец;
конец;*/
// Комментарий
/*функция УдалитьСтрИзОписания(УдаляемыйИндекс: целое; ОписаниеАлг: IVariables);
переменные
  ИндВОписании,
  индАлг        : ЦЕЛОЕ;
  ВсеСтрДляАлг  : Текст;
начало  
  ВсеСтрДляАлг := СоздатьТекст();
  попытка 
    от индАлг := ОписаниеАлг.Count-1 назад 0 делать
    начало
      ОписаниеАлг := ОписаниеАлг.IndexValues(индАлг);
      ВсеСтрДляАлг.РазделенноеЗначение(",") := ОписаниеАлг.Values(ЭлИндексШаблона);
      ИндВОписании := ВсеСтрДляАлг.Поиск(ЦелоеВСтроку(УдаляемыйИндекс));
      если (ИндВОписании &gt; -1) тогда
        ВсеСтрДляАлг.Удалить(ИндВОписании);
      //если не остается страниц, для которых нужно исполнить элемент-алгоритм, то удалем элемент из перечня  
      если (УбратьПробелы(ВсеСтрДляАлг.Значение) = "") тогда
        ОписаниеАлг.Delete(индАлг);                       
    конец;        
  обязательно
    УдалитьОбъект(ВсеСтрДляАлг);
  конец;
конец;  */
//получение данных по описанию алгоритма и перекачка данных в наборы для страниц указанных в описании элемента
функция ПолучитьОстатки(Ключ: строка; СписокАлгоритмов, НаборыОстатков: IVariables);
переменные
  ОписаниеАлгоритма,    
  ПарамВАлгоритме: IVariables;
  ДанныеСтраницы,
  ДанныеЭлемента: СтатическиеДанные;
  СтраницыДляАлг: Текст;
  ИндексСтраницы,
  ИндСтр, ИндАлг: ЦЕЛОЕ;                
начало
  ДанныеЭлемента := СоздатьСтатическиеДанные();
  ДанныеЭлемента.Открыть();
  ПарамВАлгоритме := CreateVariables();
  СтраницыДляАлг := СоздатьТекст(); 
  попытка 
    от ИндАлг := 0 до СписокАлгоритмов.Count - 1 делать
    начало
      ОписаниеАлгоритма := СписокАлгоритмов.IndexValues(ИндАлг); 
      //чистка параметров
      ПарамВАлгоритме.Clear();
      ДанныеЭлемента.Clear(); 
      ДанныеЭлемента.Закрыть();
      ДанныеЭлемента.DestroyFields();
      //создание полей в сооветствии с наиболее подробной раскладкой элемента-алгоритма      
      ДанныеЭлемента.ДобавитьЦелоеПоле(Ключ);
      ДобавитьПоля(ITableInfoX(ОписаниеАлгоритма.Values(ЭлРаскладка)), ДанныеЭлемента);          
      ДобавитьСлужебныеПоля(ДанныеЭлемента);
      //передача раскладки и наборов данных(остатков и проверяемых) в обработчики контроля
      ПарамВАлгоритме.Values(АлгПараметры) := ОписаниеАлгоритма.Values(ЭлОграничения);
      ПарамВАлгоритме.Values(АлгДанные) := ДанныеЭлемента;
      ПарамВАлгоритме.Values(АлгРаскладка) := ОписаниеАлгоритма.Values(ЭлРаскладка);
      //выполнение алгоритма
      ВыполнитьАлгоритмы(ОписаниеАлгоритма.Values(ЭлРаскладка), ПарамВАлгоритме);     
      //перенос выбранных данных в старницы, описанные в элементе
      СтраницыДляАлг.РазделенноеЗначение(",") := ОписаниеАлгоритма.Values(ЭлИндексШаблона);
      от ИндСтр := 0 до СтраницыДляАлг.Количество-1 делать
      начало
        ИндексСтраницы := СтрокаВЦелое(СтраницыДляАлг.Стр(ИндСтр));
        ДанныеСтраницы := НаборыОстатков.IndexValues(ИндексСтраницы);
        ДанныеСтраницы.PumpData(ДанныеЭлемента, ""); 
      конец;   
    конец;
  обязательно
    УдалитьОбъект(СтраницыДляАлг);
    УдалитьОбъект(ПарамВАлгоритме);
    УдалитьОбъект(ДанныеЭлемента);
  конец;  
конец;
 
функция МультиКонтроль(Вид: целое; Заголовок, Деталь: СтатическиеДанные; ПроверяемыеНаборы, Огр, КартаПолей: IVariables; ОписаниеСтраниц: ITemplates): целое;
переменные
  ФильтрЗаголовкаВСтр,
  КлючЗаголовка, Ключ,
  КлючДляРезультата,       
  Ссылка, ПоляСуммы: строка;
  ПоказатьФорму, индСтр: ЦЕЛОЕ;
  ВО: ВНЕШНИЙОБЪЕКТ;
  СписокИсполняемых: Текст;
  ДокСРуссПолями,
  ОдинПроверяемыйНабор,
  ОдинНаборОстатки: СтатическиеДанные;
  Промежуточный, Обработчики, ОгрСтраницы: IVariables; //коллекция ограничений для страницы
  ОднаСтраница: ITemplate;
  СписокВызововАлг, НаборыОстатков, НаборыОгр: IVariables;
  СписокРаскладок: ITableListX;
  Раскладка: ITableInfoX;
начало
  //получение заголовка с русскими именами
  КлючЗаголовка := КартаПолей.Values(кКлючЗаголовка);
  Ключ := КартаПолей.Values(кКлюч);
  КлючДляРезультата := ПолучитьПолеКлюч(Строка(КартаПолей.Values(кКлючи)), Да, 0);    
  Ссылка := КартаПолей.Values(кСсылка);
  ПоляСуммы := УбратьПробелы(КартаПолей.Values(кЛогСуммы));
  ВО := Объект(КартаПолей.Values(кСсылкаНаМодуль));
  если КартаПолей.Значение(кТипДокПоСхеме) тогда
    Огр.Значение(кТипДокПоСхеме) := Да;
  
  //формирование заголовочного набора с русскими именами полей для наложения ограничений по этим полям 
  ДокСРуссПолями := СоздатьДанныеДокДляОгр(Вид, Заголовок, КартаПолей);
  НаборыОгр := CreateVariables(); //коллекция ограничений для каждой страницы контроля
  НаборыОстатков := CreateVariables();
  Промежуточный := CreateVariables();
  СписокИсполняемых := СоздатьТекст();
  попытка
    //сброс результатов контроля   
    InstallData(Деталь, ControlResult + '=-1,' + ControlMessage + '=');
    //для контроля на очистку поля остатки всегда текущую дату(если иное ограничение не задается в обработчиках на шаблоне)  
    если ИнвертированныйКонтроль(Вид) тогда
      Огр.Values("КонечнаяДата") := ДатаВСтроку(ТекущаяДатаССервера);
    // дополняем общий фильтр проверяемых в набор раскладок
    ДополнитьФильтрДляДанныхКонтроля(ОписаниеСтраниц, кОбщийФильтрПроверяемых,
       ("(" + фПроверяемыеВОбработке + " is null) or (" + фПроверяемыеВОбработке + " &lt;&gt; 0)"), 0, 0);
    //Ограничение по правам
    /$если Бюджет 
    если (ЦелаяКонстанта(-1,24) = 1)
      и ЕстьПраво("Использование видимости по правам", 21000000, СтрокаВЦелое(КартаПолей.Значение("КодКонтроля"))) тогда
      Огр.Значение("ОграничВидимостьПоПравамЧек") := да
    иначе
      Огр.Значение("ОграничВидимостьПоПравамЧек") := нет;
    /$конец  
    // для каждой страницы
    от индСтр := 0 до ОписаниеСтраниц.Count-1 делать
    начало
      ОписаниеСтраниц.Index := индСтр;
      ОднаСтраница := ОписаниеСтраниц.Template;
      Обработчики := ОднаСтраница.Functions; 
      Раскладка := ОднаСтраница.TableInfo;
      //простановка параметров ShowDebug, ReadOnly И KEY
      Раскладка.Params('ShowDebug') := КонтрольПоОдномуДокументу(Вид) или КонтрольНаСохранениеДокументов(Вид)
        или КонтрольПредставления(Вид) или Огр.Значение(кВклРежимПредКонтроляИзСС);
      Раскладка.Params('ReadOnly') := КартаПолей.Values(кТолькоЧтение);
      если не ИнвертированныйКонтроль(Вид) 
        тогда Раскладка.Params('Key') := Ключ
        иначе Раскладка.Params('Key') := '';  
      //создание полей в множестве начального остатка в сооветствии с отдельной страницей контроля
      ОдинНаборОстатки := СоздатьСтатическиеДанные();
      ОдинНаборОстатки.ДобавитьЦелоеПоле(Ключ);
      ДобавитьПоля(Раскладка, ОдинНаборОстатки);          
      ДобавитьСлужебныеПоля(ОдинНаборОстатки);
      НаборыОстатков.AddItems(ЦелоеВСтроку(НаборыОстатков.Count));                                       
      НаборыОстатков.IndexValues(индСтр) := ОдинНаборОстатки;
              
      //заполнение копиии детализации
      ОдинПроверяемыйНабор := ПроверяемыеНаборы.IndexValues(индСтр);
      ОдинПроверяемыйНабор.Закачать(Деталь);
      //перенос значений полей с указанным "Имя поля с интерфейса"      
      ExchangeNullFields(Раскладка, ОдинПроверяемыйНабор);
      //если инвертированный контроль, то смена знака у сумм
      если ИнвертированныйКонтроль(Вид) тогда InvertSum(ОдинПроверяемыйНабор, КартаПолей.Values(кПоляСуммы));
      
      //ФОРМИРОВАНИЕ ОГРАНИЧЕНИЙ ДЛЯ СТРАНИЦЫ
      Промежуточный.Clear(); 
      //ограничения с шаблона перетираются значениями в управляющем макросе
      Промежуточный.PumpData(ОднаСтраница.Variables);
      //вызов наложения ограничений из упр. макроса
      ОграничитьИзУпрМаркоса(ДокСРуссПолями, Деталь, Огр, ОписаниеСтраниц, ВО);
      //чтобы диалог с датами показывать 1 раз
      если (Огр.Values(кПервыйВызов) = да) тогда
        Огр.Values(кПервыйВызов) := нет;
      Промежуточный.PumpData(Огр);        
      //сбросить ограничения по полям, которых нет в раскладке
      ОгрСтраницы := ИсклПараметрыПоМаппингуИРаскладке(Промежуточный, Раскладка, Строка(КартаПолей.Values(кПроверкаПоРаскладке)));
      ОгрСтраницы.Values(КонтрольКартаПолей) := КартаПолей;
      
      // Выполняем обработчик "До выполнения"
      // обработчик используется ОБЫЧНО для модификации "фильтра заголовка" 
      ВызовОбработчикаКонтроля(ДоВыполнения, ОписаниеСтраниц, ОгрСтраницы, ОдинНаборОстатки, ОдинПроверяемыйНабор, Раскладка);
 
      если (ОдинПроверяемыйНабор.RecordCount = 0)
        тогда ФильтрЗаголовкаВСтр := ''
        иначе ФильтрЗаголовкаВСтр := УбратьПробелы(Раскладка.Params('CaptionFilter'));
      если ФильтрЗаголовкаВСтр &lt;&gt; '' тогда
      начало
        ОдинПроверяемыйНабор.Filter := ФильтрЗаголовкаВСтр;
        ОдинПроверяемыйНабор.Filtered := (ФильтрЗаголовкаВСтр &lt;&gt; '');
        // здесь добавим в общий фильтр каждой раскладки фильтр заголовка, т.к. он мог измениться в событии ДоВыполнения;
        если УбратьПробелы(Раскладка.Params(кОбщийФильтрПроверяемых)) = "" тогда
          Раскладка.Params(кОбщийФильтрПроверяемых) := ФильтрЗаголовкаВСтр
        иначе
          Раскладка.Params(кОбщийФильтрПроверяемых) := "(" + Раскладка.Params(кОбщийФильтрПроверяемых) + ") and (" + ФильтрЗаголовкаВСтр + ")";
      конец;
      //есть записи подлежащие проверке после наложения фильтра или это предварительный контроль(можно ввести в форме новые записи)  
      если ((ОдинПроверяемыйНабор.RecordCount &lt;&gt; 0) или (Вид = ctxPrior)) тогда    
      начало
        СписокИсполняемых.Добавить(ЦелоеВСтроку(индСтр));
        //в параметрах для каждой страницы убираем параметр о выпонлении 1 контроля(чтобы при формировании для алгоритмов со схожими ограничениями в разных страницах не мешал) 
        если ОгрСтраницы.CheckParam(кПервыйВызов) тогда
          ОгрСтраницы.Delete(кПервыйВызов);        
        // Обработчик до закачки - ДоЗакачки        
        ВызовОбработчикаКонтроля(ДоЗакачки, ОписаниеСтраниц, ОгрСтраницы, ОдинНаборОстатки, ОдинПроверяемыйНабор, Раскладка);
        //при наличии обработчика вносим в элементы алгоритмов для данной страницы изменения в значениях и количестве параметров, сделанные в  обработчике
/*        если Обработчики.CheckParam("ДоЗакачки") и (УбратьПробелы(Обработчики.Values("ДоЗакачки")) &lt;&gt; "") тогда
        начало
          КоррекцияПараметровПоСтранице(ОписаниеАлг, индСтр, ОгрСтраницы);
        конец;*/
        // вычисляем служебную колонку со скриптом фильтра проверяемых, если не задан старый фильтр проверяемых
        если УбратьПробелы(Раскладка.Params("Filter")) = "" тогда
          ВыполнитьСкриптФильтраПроверяемых(ОдинПроверяемыйНабор, Раскладка, ОгрСтраницы);
        // удалить длинные ограничения
        если (ОгрСтраницы.Values("ДлинныеОграниченияПоддержаны") &lt;&gt; 1) тогда
            CheckLimits(ОгрСтраницы, 150);
        // формируем параметры ЗАПРОСОВ!!!
        СформироватьПараметрыЗапросов(ОднаСтраница.Tables, nil, ОгрСтраницы, nil, nil, Раскладка, ОдинНаборОстатки, Reporter);
      конец;
      // добавим/заменим в каждой раскладке Filter общим фильтром раскладки 
      если УбратьПробелы(Раскладка.Params(кОбщийФильтрПроверяемых)) &lt;&gt; "" тогда
        если УбратьПробелы(Раскладка.Params("Filter")) = "" тогда
          Раскладка.Params("Filter") := Раскладка.Params(кОбщийФильтрПроверяемых)
        иначе
          Раскладка.Params("Filter") := "(" + Раскладка.Params("Filter") + ") and (" + Раскладка.Params(кОбщийФильтрПроверяемых) + ")";

      НаборыОгр.AddItems(ЦелоеВСтроку(НаборыОгр.Count));
      НаборыОгр.IndexValues(индСтр) := ОгрСтраницы;
/$если Бюджет
      //Ограничение по правам
      ОгрСтраницы := НаборыОгр.IndexValues(индСтр);
      если ОгрСтраницы.Values('ОграничВидимостьПоПравамЧек') тогда
        НАЛОЖИТЬОГРАНИЧЕНИЯПРАВА(ОгрСтраницы, нет)
      иначе
        СКОПИРОВАТЬОГРАНИЧЕНИЯПРАВА(ОгрСтраницы);
/$конец        
    конец;
    //анализ формирования списка алгоритмов с параметрами+для каких шаблонов, что запускать 
    СписокВызововАлг := ФормироватьСписокАлгоритмов(СписокИсполняемых, НаборыОгр, ОписаниеСтраниц);
    
    ПолучитьОстатки(Ключ, СписокВызововАлг, НаборыОстатков);  
    //**для каждой страницы
    СписокРаскладок := ОписаниеСтраниц.Template.Tables.Replicate();
    СписокРаскладок.Clear();
    от индСтр := 0 до ОписаниеСтраниц.Count-1 делать
    начало
      если (СписокИсполняемых.Поиск(ЦелоеВСтроку(индСтр)) &gt; -1) тогда  
      начало
        //передача раскладки и наборов данных(остатков и проверяемых) в обработчики контроля
        ОгрСтраницы := НаборыОгр.IndexValues(индСтр);
        ОдинНаборОстатки := НаборыОстатков.IndexValues(индСтр);
        ОдинПроверяемыйНабор := ПроверяемыеНаборы.IndexValues(индСтр);
        ОписаниеСтраниц.Index := индСтр;
        ОднаСтраница := ОписаниеСтраниц.Template;    
        Раскладка := ОднаСтраница.TableInfo;
        ВызовОбработчикаКонтроля(ПослеЗакачки, ОписаниеСтраниц, ОгрСтраницы, ОдинНаборОстатки, ОдинПроверяемыйНабор, Раскладка);
      конец;
      //формирование списка раскладок для контроля
      ОписаниеСтраниц.Index := индСтр;
      Раскладка := СписокРаскладок.Add();
      ОписаниеСтраниц.Template.TableInfo.CopyTo(Раскладка);
      //прописываем в коллекцию параметров "имя страницы"
      ОгрСтраницы := НаборыОгр.IndexValues(индСтр);      
      Промежуточный := ОписаниеСтраниц.Template.Options;
      если (Промежуточный.Values("PageName") &lt;&gt; "") тогда
        ОгрСтраницы.VAlues(OptPageName) := Промежуточный.Values("PageName");
      ОгрСтраницы.Values(OptNeedDropElimination) := ОгрСтраницы.Values(OptNeedDropElimination)или не ИнвертированныйКонтроль(Вид);         
    конец;
    ПоказатьФорму := (вид = ctxPrior) или Огр.Values(OptNeedShowControl);     
    //вызов функции расчета остатков
    КартаПолей.Values(кТолькоЧтение) := (MultiControl(ПоказатьФорму, ПроверяемыеНаборы, НаборыОстатков, СписокРаскладок, Mapper, Reporter, НаборыОгр, Progress) = нет);  
    //возврат назад значений полей с указанным "Имя поля с интерфейса"
    от индСтр := 0 до ОписаниеСтраниц.Count-1 делать
    начало
      ОдинПроверяемыйНабор := ПроверяемыеНаборы.IndexValues(индСтр);
      ОдинПроверяемыйНабор.Filtered := нет; 
      ОдинПроверяемыйНабор.Фильтр := "";    
      //возврат значений полей с указанным "Имя поля с интерфейса"
      ExchangeNullFields(Раскладка, ОдинПроверяемыйНабор);
      //возврат результатов из копии детали в оригинал с накоплением наихудшего результата по страницам (сейчас суммы на страницах нельзя редакитровать для мульти контроля)
      результат := SetCtrlResult(ОдинПроверяемыйНабор, Деталь, КлючДляРезультата, КлючДляРезультата, ControlResult, ControlMessage, 0, нет);
    конец;
  обязательно
    УдалитьОбъект(СписокИсполняемых);
    УдалитьОбъект(Промежуточный);
    если (НаборыОгр &lt;&gt; nil) тогда
    начало
      от индСтр := 0 до НаборыОгр.Count-1 делать
        УдалитьОбъект(IVariables(НаборыОгр.IndexValues(индСтр)));
      УдалитьОбъект(НаборыОгр);         
    конец;
    если (НаборыОстатков &lt;&gt; nil) тогда
    начало
      от индСтр := 0 до НаборыОстатков.Count-1 делать
        УдалитьОбъект(IVariables(НаборыОстатков.IndexValues(индСтр)));
      УдалитьОбъект(НаборыОстатков);         
    конец;
    если (СписокВызововАлг &lt;&gt; nil) тогда
    начало
      от индСтр := 0 до СписокВызововАлг.Count-1 делать
      начало
        УдалитьОбъект(СписокВызововАлг.Values(ЭлОграничения));
        УдалитьОбъект(СписокВызововАлг.Values(ЭлРаскладка));          
      конец;
      УдалитьОбъект(СписокВызововАлг);
    конец;     
    УдалитьОбъект(ДокСРуссПолями);
  конец;
конец;
 
функция ОбщийКонтроль(Вид: целое; Шаблон: СТРОКА; КартаПолей, ПараметрыКонтроля: IVariables): целое;
переменные
  НастройкиКонтроля,
  КоллекцияПроверяемых,
  Ограничения   : IVariables;
  ОдинШаблон    : ITemplates;
  РаскладкаСтраницы,
  ti            : ITableInfoX;
  РасширенныйЗаголовок,
  ДетальВПараметре,
  ПлоскийНабор  : СтатическиеДанные;
  результатПроведения,
  ПроставлятьНаличиеПустыхДок,
  ДляЧтения, сч : целое;
  КлючЗаголовка,
  КлючВПараметре,
  КлючВПлоскомНаборе,
  ИмяВОписанииПолейДляПроверяемых,
  МаппингПоПолямОграничений,
  Ссылка        : строка;
  СписокПолейПоНастраиваемым: строка;
начало
  //проверка указанности вида контроля
  если (Вид = -1) тогда
    ВызватьОшибку("Не указан вид проводимого контроля");
  //создание общих для системы контроля ограничений
  Ограничения := ПолучитьПараметрыОгр(Вид, ПараметрыКонтроля);
  если Ограничения.CheckParam("НастройкиКонтроля") тогда
  начало
    НастройкиКонтроля := Ограничения.Значение("НастройкиКонтроля");
    НастройкиКонтроля.Clear;
  конец
  иначе
  начало
    НастройкиКонтроля := CreateVariables;
    Ограничения.Значение("НастройкиКонтроля") := НастройкиКонтроля;
  конец;
  ЗагрузитьНастройкиОтчета(ПараметрыКонтроля, НастройкиКонтроля);
  Ограничения.Values(OptControlName) := ПараметрыКонтроля.Values(OptControlName);
  если ПараметрыКонтроля.CheckParam(OptNeedShowControl) тогда
    Ограничения.Values(OptNeedShowControl) := ПараметрыКонтроля.Values(OptNeedShowControl);
  если ПараметрыКонтроля.CheckParam(OptNeedShowControlOnTop)
    тогда Ограничения.Values(OptNeedShowControlOnTop) := ПараметрыКонтроля.Values(OptNeedShowControlOnTop);
  если ПараметрыКонтроля.CheckParam(OptNeedDropElimination)
    тогда Ограничения.Values(OptNeedDropElimination) := ПараметрыКонтроля.Values(OptNeedDropElimination);
  Ограничения.Values(cControlType) := ПараметрыКонтроля.Values(cControlType);
  Ограничения.Values(кКонечнаяДатаКонтроля) := ПараметрыКонтроля.Values(кКонечнаяДатаКонтроля);
  если ПараметрыКонтроля.CheckParam(кВклРежимПредКонтроляИзСС) тогда
    Ограничения.Values(кВклРежимПредКонтроляИзСС) := ПараметрыКонтроля.Values(кВклРежимПредКонтроляИзСС);
  // если включена галка Сервис/Управление/Контроли в режиме предконтроля и выполняются постконтроли,
  // то установим параметр для вывода формы непройденных контролей
  // (OptNeedShowControl во всех случаях показывает форму, ShowDebug - только для непройденных контролей)
  Ограничения.Values(кВклРежимПредКонтроляИзСС) := Ограничения.Values(кВклРежимПредКонтроляИзСС)
    или ((WPMenuFlagValue(amiPostControlBeforeMode) = 1) и (Вид = ctxPost));   

  ПараметрыКонтроля.Values(КонтрольКартаПолей) := КартаПолей;
  КартаПолей.Значение(кКодКонтроля) := ПараметрыКонтроля.Значение(кКодКонтроля);
  // для Москвы понадобилось в стандартных контролях выводить расширенную информацию с кодами классификации для каждой
  // не прошедшей контроль записи, поэтому добавили параметр РасширеннаяИнформацияОбОшибке для обработки на шаблоне
  если ПараметрыКонтроля.CheckParam("РасширеннаяИнформацияОбОшибке") тогда
    Ограничения.Values("РасширеннаяИнформацияОбОшибке") := ПараметрыКонтроля.Values("РасширеннаяИнформацияОбОшибке");
  
  //загрузка шаблона контроля и создание плоского проверяемого множества
  если ЭтоКомпозитныйКонтроль(Шаблон) тогда 
  начало
    КоллекцияПроверяемых := СоздатьДанныеПоКомпозитКонтролю(Шаблон, КартаПолей, ОдинШаблон);
    //формирование наиболее подробного проверяемого набора на основе раскладки всех страниц
    ti := ОдинШаблон.Template.TableInfo.Replicate;
    от сч := 0 до ОдинШаблон.Count-1 делать
    начало
      ОдинШаблон.Index := сч;
      РаскладкаСтраницы := ОдинШаблон.Template.TableInfo;
      ОбъединитьРаскладкиПоАлгоритму("", ti, РаскладкаСтраницы);
      если ПараметрыКонтроля.Значение(cControlType) &lt;&gt; 3 тогда
        //Для логического контроля анализ состава не нужен
        ДобавитьГиперКолонки(РаскладкаСтраницы);
    конец;
    ПлоскийНабор := СоздатьСтатическиеДанные(); 
    ДобавитьСлужебныеПоля(ПлоскийНабор);
    ПлоскийНабор.Закрыть();
    если ПараметрыКонтроля.Значение(cControlType) &lt;&gt; 3 тогда
      //Для логического контроля анализ состава не нужен  
      ДобавитьГиперКолонки(ti);          
    ДобавитьПоля(ti, ПлоскийНабор);
    AddNullFields(ti, ПлоскийНабор);
    ПлоскийНабор.Открыть(); 
  конец
  иначе начало  
    ПлоскийНабор := СоздатьДанныеПоШаблону(Шаблон, КартаПолей, ОдинШаблон);
    ti := ОдинШаблон.Template.TableInfo;
  конец;
  
  выбрать Вид из
    ctxState: ИмяВОписанииПолейДляПроверяемых := ДокПоле_ИмяВСостояниях();
    иначе ИмяВОписанииПолейДляПроверяемых := ДокПоле_ИмяНаИнтф(); 
  конец;
  //ФОРМИРОВАНИЕ МАППИНГОВ ПОЛЕЙ ДЛЯ ПЕРЕНОСА проверяемых данных в эталонный набор
  если (Целое(КартаПолей.Values(КТипДокументаВКонтроле)) &lt;&gt; -1) тогда 
  начало 
    //для заголовка
    МаппингПоПолямОграничений := ВернутьМаппингПоОписаниюПолейИРаскладке(ti, КартаПолей.Values(КТипДокументаВКонтроле), 0, ИмяВОписанииПолейДляПроверяемых);
    если (УбратьПробелы(МаппингПоПолямОграничений) &lt;&gt; "")
      тогда если (УбратьПробелы(КартаПолей.Values(кПоляЗаголовока)) &lt;&gt; "")
            тогда КартаПолей.Values(кПоляЗаголовока) := МаппингПоПолямОграничений + "," + КартаПолей.Values(кПоляЗаголовока)
            иначе КартаПолей.Values(кПоляЗаголовока) := МаппингПоПолямОграничений;
    МаппингПоПолямОграничений := ВернутьМаппингПоОписаниюПолейИПеречню(КартаПолей.Values(кПоляОгрЗаголовка), КартаПолей.Values(КТипДокументаВКонтроле), 0, ИмяВОписанииПолейДляПроверяемых);
    если (УбратьПробелы(МаппингПоПолямОграничений) &lt;&gt; "")
      тогда если (УбратьПробелы(КартаПолей.Values(кПоляЗаголовока)) &lt;&gt; "")
            тогда КартаПолей.Values(кПоляЗаголовока) := МаппингПоПолямОграничений + "," + КартаПолей.Values(кПоляЗаголовока) 
            иначе КартаПолей.Values(кПоляЗаголовока) := МаппингПоПолямОграничений;
    //если используются настраиваемые параметры, в маппинге полей должны присутствовать те,
    //по которым будет идти ограничение и накладываться потом фильтр на проверяемый набор данных (здесь выполняется для полей заголовка)
    СписокПолейПоНастраиваемым := ПолучитьСписокПолейПоНастраивПараметрам(КартаПолей.Values(кПоляЗаголовока), НастройкиКонтроля);
    если СписокПолейПоНастраиваемым &lt;&gt; "" тогда
    начало
      МаппингПоПолямОграничений := ВернутьМаппингПоОписаниюПолейИПеречню(СписокПолейПоНастраиваемым,КартаПолей.Values(КТипДокументаВКонтроле),0,ИмяВОписанииПолейДляПроверяемых);
      если УбратьПробелы(МаппингПоПолямОграничений) &lt;&gt; "" тогда 
        если УбратьПробелы(КартаПолей.Values(кПоляЗаголовока)) &lt;&gt; "" тогда
          КартаПолей.Values(кПоляЗаголовока) := МаппингПоПолямОграничений + "," + КартаПолей.Values(кПоляЗаголовока) 
        иначе
          КартаПолей.Values(кПоляЗаголовока) := МаппингПоПолямОграничений;
    конец;
    //для детали
    если (КартаПолей.Values(кВидПроверяемыхДанных) &lt;&gt; cdLiner) тогда 
    начало
      МаппингПоПолямОграничений := ВернутьМаппингПоОписаниюПолейИРаскладке(ti, КартаПолей.Values(КТипДокументаВКонтроле), 
                                                                           КартаПолей.Values(кНомерДеталиВОписанииПолей)+1, ИмяВОписанииПолейДляПроверяемых); 
      если (УбратьПробелы(МаппингПоПолямОграничений) &lt;&gt; "") тогда
        если (УбратьПробелы(КартаПолей.Values(кКлассификаторы)) &lt;&gt; "") 
          тогда КартаПолей.Values(кКлассификаторы) := МаппингПоПолямОграничений + "," + КартаПолей.Values(кКлассификаторы) 
          иначе КартаПолей.Values(кКлассификаторы) := МаппингПоПолямОграничений;                                                                     
      //если используются настраиваемые параметры, в маппинге полей должны присутствовать те,
      //по которым будет идти ограничение и накладываться потом фильтр на проверяемый набор данных (здесь выполняется для полей детали)
      СписокПолейПоНастраиваемым := ПолучитьСписокПолейПоНастраивПараметрам(КартаПолей.Values(кКлассификаторы), НастройкиКонтроля);
      если СписокПолейПоНастраиваемым &lt;&gt; "" тогда
      начало
        МаппингПоПолямОграничений := ВернутьМаппингПоОписаниюПолейИПеречню(СписокПолейПоНастраиваемым, КартаПолей.Values(КТипДокументаВКонтроле),
                                                                           КартаПолей.Values(кНомерДеталиВОписанииПолей)+1, ИмяВОписанииПолейДляПроверяемых);
        если УбратьПробелы(МаппингПоПолямОграничений) &lt;&gt; "" тогда
          если УбратьПробелы(КартаПолей.Values(кКлассификаторы)) &lt;&gt; "" тогда
            КартаПолей.Values(кКлассификаторы) := МаппингПоПолямОграничений + "," + КартаПолей.Values(кКлассификаторы) 
          иначе
            КартаПолей.Values(кКлассификаторы) := МаппингПоПолямОграничений;                                                                     
      конец;
    конец;
    // если есть пересечения в маппингах заголовка и детали, удаляем из маппинга заголовка
    УдалитьПересеченияМаппинга(КартаПолей);                                                                                    
  конец;
  //ВЫБОР ПРОВЕРЯЕМЫХ ДАННЫХ В ЗАВИСИМОСТИ ОТ ВИДА КОНТРОЛЯ
  если ПараметрыКонтроля.CheckParam(кОгрПоИДЗаписи) тогда 
    КартаПолей.Values(кОгрПоИДЗаписи) := ПараметрыКонтроля.CheckParam(кОгрПоИДЗаписи);  

  ПараметрыКонтроля.Values(КВидДействия) := Конст_ВыборДанныхКонтроля();
  Ограничения.Values(кОписаниеШаблона) := ОдинШаблон;
  Ограничения.Values(КонтрольДанные) := ПлоскийНабор;   
  если КонтрольСИнтерфейса(Вид) или КонтрольСПроверкой(Вид)
    тогда ExecScript(Конст_МакросФормированияДляИнтф, ПараметрыКонтроля)
    иначе если КонтрольСостояний(Вид)
            тогда ExecScript(Конст_МакросФормированияДляСостояний, ПараметрыКонтроля)
            иначе если КонтрольПредставления(Вид)
                    тогда ExecScript(Конст_МакросФормированияДляПредставлений, ПараметрыКонтроля);
                    
  //ВНИМАНИЕ!!!: формирование проверяемых данных должно вернуть в коллекции "ПараметрыКонтроля"
  //нужно ли проводить контроль после наложения фильтра заголовка на заголовочные данные - параметр "кНуженКонтроль"
  //можно ли будет редактировать хотя бы одну сумму при выводе данных на форму - параметр "кТолькоЧтение"
  //в параметре "stVarControlData" коллекция со сформированными проверяемыми наборами данных с полным набором полей                      
  //проведение процедуры контроля
  КартаПолей.Values(кТолькоЧтение) := ПараметрыКонтроля.Values(кТолькоЧтение);
  КартаПолей.Values(кТипДокПриВызове) := ПараметрыКонтроля.Values(кТипДокументаВКонтроле);
  КартаПолей.Values(кКодКонтроля) := ПараметрыКонтроля.Values(кКодКонтроля);  
  ПараметрыКонтроля.Values(кНуженКонтроль) := (ПараметрыКонтроля.Values(кНуженКонтроль) и
    НуженКонтрольПоТипуКонтроля(Вид, Ограничения, КартаПолей, ПлоскийНабор, ОдинШаблон));
  ДляЧтения := да;
  если ПараметрыКонтроля.Values(кНуженКонтроль)
    тогда начало //есть проверяемые записи после наложения фильтра заголовка
      РасширенныйЗаголовок := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыКонтроля);
      ДетальВПараметре := ПолучитьДетальКонтроляИзКоллекции(ПараметрыКонтроля, КартаПолей.Values(кНомерДеталиВОписанииПолей)+1);
      если ЭтоКомпозитныйКонтроль(Шаблон) тогда
      начало
        //в статисет ПлоскийНабор поля, необходимые для ограничения по настраиваемым параметрам, уже закачаны
        //с интерфейса, из системы состояний или с представления, но в КоллекцияПроверяемых этих полей еще нет; их туда добавляем, если нужно 
        СписокПолейПоНастраиваемым := ПолучитьСписокПолейПоНастраивПараметрам("", НастройкиКонтроля);
        ДополнитьНастраивПолямиПроверНаборы(СписокПолейПоНастраиваемым, ПлоскийНабор, КоллекцияПроверяемых);
        результатПроведения := МультиКонтроль(Вид, РасширенныйЗаголовок, ПлоскийНабор, КоллекцияПроверяемых, Ограничения, КартаПолей, ОдинШаблон)
      конец
      иначе
        результатПроведения := КонтрольДокументов(Вид, РасширенныйЗаголовок, ПлоскийНабор, ОдинШаблон, Ограничения, КартаПолей);
      если (результатПроведения &gt; tcrGeneral)
        тогда если (Строка(ПараметрыКонтроля.Values(OptProblemControl)) &lt;&gt; "")
                тогда ПараметрыКонтроля.Values(OptProblemControl) := ПараметрыКонтроля.Values(OptProblemControl) + #13#10 + ПараметрыКонтроля.Values(OptControlName)
                иначе ПараметрыКонтроля.Values(OptProblemControl) := ПараметрыКонтроля.Values(OptControlName);
      ДляЧтения := КартаПолей.Values(кТолькоЧтение);
      КлючЗаголовка := КартаПолей.Values(кВнутреннийКлючЗаголовка); 
      КлючВПараметре := ПолучитьПолеКлюч(Строка(КартаПолей.Values(кКлючи)), нет, 0);
      КлючВПлоскомНаборе := ПолучитьПолеКлюч(Строка(КартаПолей.Values(кКлючи)), да, 0);
      //при наличии переопределенного поля связи с заголовком берем соответствующий параметр, иначе по умолчанию ссылку
      если (УбратьПробелы(КартаПолей.Values(кСвязьСзаголовком)) &lt;&gt; "")
        тогда Ссылка := ПолучитьПолеКлюч(КартаПолей.Values(кСвязьСзаголовком), да, 0)
        иначе Ссылка := КартаПолей.Values(кВнутренняяСсылка);  
      //если проверяем один документ проставляем у проверяемого набора ссылку на этот заголовок  
      если (ДляЧтения = нет) тогда если (РасширенныйЗаголовок.RecordCount = 1) тогда
        InstallData(ПлоскийНабор, Ссылка + '=' + РасширенныйЗаголовок.ПолеПоИмени(КлючЗаголовка).КакСтрока);
      ПроставлятьНаличиеПустыхДок := (КартаПолей.Values(OptNeedSkipEmpty) &lt;&gt; 1);           
      //возврат результатов контроля в набор заголовка
      MoveCtrlResultToCaptionEx(КлючЗаголовка, Ссылка, РасширенныйЗаголовок, ПлоскийНабор, ПроставлятьНаличиеПустыхДок, ControlResult, ControlMessage);
      // заполняем ErrControlList в данных заголовка
      ЗаполнитьСписокНепройденных(КлючЗаголовка, Ссылка, РасширенныйЗаголовок, ПлоскийНабор, ПараметрыКонтроля.Значение(кКодКонтроля));
      //возврат результатов после каждого контроля с накополнением в соответствующую деталь в параметрах коллекции контроля
      если (ДетальВПараметре &lt;&gt; nil)
        тогда MoveCtrlResultToCaptionEx(КлючВПараметре, КлючВПлоскомНаборе, ДетальВПараметре, ПлоскийНабор, ПроставлятьНаличиеПустыхДок, ControlResult, ControlMessage);      
    конец;
      
    //ВОЗВРАТ РЕЗУЛЬТАТОВ В ЗАВИСИМОСТИ ОТ ВИДА КОНТРОЛЯ
    ПараметрыКонтроля.Values(кТолькоЧтение) := ДляЧтения;
    если (ПараметрыКонтроля.Values(cPrevCall) = нет)
      тогда начало
        ПараметрыКонтроля.Values(КВидДействия) := Конст_ВозвратРезультатовКонтроля();      
        если (КонтрольСИнтерфейса(Вид) или КонтрольСПроверкой(Вид)) и КартаПолей.Values(кВернутьРезНаИнтфСтандартно)
          тогда ExecScript(Конст_МакросФормированияДляИнтф, ПараметрыКонтроля)//Результат := ВернутьРезультатНаИнтерфейс(Вид, ПлоскийНабор, ПараметрыКонтроля)
          иначе если КонтрольСостояний(Вид)
                  тогда ExecScript(Конст_МакросФормированияДляСостояний, ПараметрыКонтроля)//Результат := tcrGeneral &gt;= ВернутьРезультатВДокСостояний(Вид, ПлоскийНабор, ПараметрыКонтроля)
                  иначе если КонтрольПредставления(Вид)
                          тогда ExecScript(Конст_МакросФормированияДляПредставлений, ПараметрыКонтроля);//результат := ВернутьРезультатВПредставление(Вид, Документы, ПлоскийНабор, ПараметрыКонтроля);
      конец;                            
конец;
//-------------------------------------------------------------------------------------------------------
</value>
    <param value="ПоддержкаКонтроля.abl" type="3" name="Export">MARAEVA7\baranova\22.04.2013 13:11:48</param>
    <param value="ПоддержкаКонтроля.abl" type="3" name="version">36.223.03</param>
    <param value="ПоддержкаКонтроля.abl" type="3" name="crc32">$6276AA0B</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Контроль">
    <value type="7" name="ПоддержкаКонтроля3.abl">включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Pather.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Контроль\ПоддержкаКонтроля.abl';
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";
включить '\Макросы\Контроль\ВыборСИнтерфейса.abl';
включить '\Макросы\ВспомогательныеФункции.abl';
включить "\Библиотеки\StateManage.lib";

//по любому выбирать данные из базы
функция кВыбиратьДанныеИзБазы: строка; начало результат := "кВыбиратьДанныеИзБазы"; конец;
//даже если стоит кВыбиратьДанныеИзБазы не выбирает данные, а берет ее именно из передаваемых данных
функция ипКонтрольПоПереданнымДанным: строка; начало результат := "кКонтрольПоПереданымДанным"; конец;
//признак того что не надо использоват стандартный контроль
функция ипНеИспользоватьСтандартныйКонтроль: строка; начало результат := "кНеИспользоватьСтандартныйКонтроль"; конец;
//по этому признаку не будет приделываться Offset картинок для результатов
функция ипКонтрольНеНаИнтерфейсе: строка; начало результат := "кНеКонтрольНаИнтерфейсе"; конец;

//константы для непосредственных данных по которым ведется контроль (куда нужно будет выводить результат)
функция ипЗаголовокДляКонтроля: Строка; начало результат  := "ЗаголовокДляКонтроля"; конец;
функция ипДетализацияДляКонтроля: Строка; начало результат  := "ДетализацияДляКонтроля"; конец;

//данные альтернативного заголовка - т.е. возможно заголовка более верхнего или серединного уровня (Этапы в договорах по отношению к БО)
функция ипДанныеАльтернативногоЗаголовка: Строка; начало результат := "АльтернативныйЗаголовок"; конец;
//ключи по кторым выводятся результаты контроля в альтернативный заголовок   КлючЗаголовка=ПолеСсылка
функция ипКлючДляПроставленияРезАлтерЗаг: Строка; начало результат := "кКлючДляПроставленияРезАлтерЗаг"; конец;
//
функция ипСвязьЗагИАльтернЗаголовка: Строка; начало результат := "кСвязьЗагИАльтернЗаголовка"; конец;
//
функция ипОбязательныйВыводВАльтЗаголовок: Строка; начало результат := "кОбязательныйВыводВАльтЗаголовок"; конец;


//ключ по которому будут подтягиваться результаты контроля в детали
функция ипКлючДляПроставленияРезДет: строка; начало результат := "кКлючДляПроставленияРезДет"; конец;
//ключ по которому будут подтягиваться результаты контроля в детали
функция ипКлючДляПроставленияРезЗаг: строка; начало результат := "кКлючДляПроставленияРезЗаг"; конец;

//константы маппинга при контрле по набору данных в поля в управляющем макросе
функция ипЗаголовокМаппингВУпрМакрос: Строка; начало результат  := "мапЗаголовокМаппингВУпрМакрос"; конец;
функция ипДетализацияМаппингВУпрМакрос: Строка; начало результат  := "мапДетализацияМаппингВУпрМакрос"; конец;

//кто вызвал контроль
функция ипИнициаторКонтроля: Строка; начало результат  := "кИнициаторКонтроля"; конец;
  //кто вызвал контроль
  функция зпИнициаторКонтроля_Мастер: Строка; начало результат  := "ИнициаторКонтроля_Мастер"; конец;


//константа определяющая вид контроля (ctxPred, ctxPost и т.д.)
функция ипВидКонтроля: Строка; начало результат  := "кВидКонтроля"; конец;

функция ипНеПоказыватьФомуОбщегоРезультата: Строка; начало результат  := "кНеПоказыватьРезультат"; конец;

//Опции мягкого контроля
функция окПредупреждение: Целое; начало результат := 1; конец; 
функция окДействие: Целое; начало результат := 2; конец;

//строка ошибки покзываемая когда документы не прошли контроль
функция стрДокументыНеПрошлиКонтроль: Строка; начало результат := "Документы не прошли контроль"; конец;

//константы из ПоддержкиКонтроля.abl
константы
  ипДанныеДляРезультата = 'Результат';
  ипДанныеДетали = 'ДетальКонтроль';
  
функция ПолучитьПолныйПутьКШаблону(Шаблон: строка): строка;
начало
  результат := TemplatePathEx(tpxControl) + Шаблон;
конец;


функция ЗаполнитьДеталь(Документы, Деталь : СтатическиеДанные; КартаПолей : IVariables);
переменные
  Ключи, Классификаторы, ПоляСуммы, Маппинг, Ошибочные : строка;
начало
  если Документы.Active тогда
    начало
      Ключи := УбратьПробелы(КартаПолей.Values(кКлючи));
      Классификаторы := УбратьПробелы(КартаПолей.Values(кКлассификаторы));
      ПоляСуммы := УбратьПробелы(КартаПолей.Values(кПоляСуммы));
      Маппинг := Ключи + ',';
      если (Классификаторы &lt;&gt; '') тогда Маппинг := Маппинг + Классификаторы + ',';
      Маппинг := Маппинг + ПоляСуммы;
      Маппинг := FixPumpMap(Маппинг, Деталь);
      Ошибочные := УбратьПробелы(CheckPumpMap(Документы, Маппинг));
      если (Ошибочные &lt;&gt; '') тогда
        ВозбудитьОшибку('Отсутствующие поля : ' + Ошибочные);
      Деталь.PumpData(Документы, Маппинг);
    конец;
конец;

// Сохраняет результаты контроля (поля контроля) в ссДанные с накоплением строк ошибок в поле результата контроля
// (если было несколько контролей по данной записи и в них были ошибки найдены)
// сопоставление производиться по ключам. В функцию передаются имена ИД для входящих датасетов.
функция ВернутьРезультатыКонтроляИзБуффера(ссБуффер, ссДанные: СтатическиеДанные; КлючБуффера, КлючДанные: Строка; Смещение: Целое; Префикс: Строка);
переменные
  пДанныеКлюч, пБуфферКлюч: Поле;           
  пДанныеControlResult, пБуфферControlResult: Поле;
  пДанныеControlMessage, пБуфферControlMessage: Поле;
  bm: Целое; 
начало
  если не ссДанные.НайтиПоле(КлючДанные, пДанныеКлюч) тогда
    ВызватьОшибку("Поддержкаконтроля3.abl: ВернутьРезультатыКонтроляИзБуффера: поле КлючДанные="+КлючДанные +" не найдено");
  если не ссБуффер.НайтиПоле(КлючБуффера, пБуфферКлюч) тогда
    ВызватьОшибку("Поддержкаконтроля3.abl: ВернутьРезультатыКонтроляИзБуффера: поле КлючБуффера="+КлючБуффера +" не найдено");
  если не ссДанные.НайтиПоле(ControlResult, пДанныеControlResult) тогда
    ВызватьОшибку("Поддержкаконтроля3.abl: ВернутьРезультатыКонтроляИзБуффера: поле ссДанные.ControlResult="+ControlResult +" не найдено");
  если не ссБуффер.НайтиПоле(ControlResult, пБуфферControlResult) тогда
    ВызватьОшибку("Поддержкаконтроля3.abl: ВернутьРезультатыКонтроляИзБуффера: поле ссБуффер.ControlResult="+ControlResult +" не найдено");
  если не ссДанные.НайтиПоле(ControlMessage, пДанныеControlMessage) тогда
    ВызватьОшибку("Поддержкаконтроля3.abl: ВернутьРезультатыКонтроляИзБуффера: поле ссДанные.ControlMessage="+ControlMessage +" не найдено");
  если не ссБуффер.НайтиПоле(ControlMessage, пБуфферControlMessage) тогда
    ВызватьОшибку("Поддержкаконтроля3.abl: ВернутьРезультатыКонтроляИзБуффера: поле ссБуффер.ControlMessage="+ControlMessage +" не найдено");
  ссБуффер.IndexFieldNames := КлючБуффера;
  ссДанные.DisableControls;
  попытка
    если Префикс &lt;&gt; '' тогда  Префикс := Префикс + ': ';
    bm := ссДанные.Bookmark;    
    ссДанные.ВНачало;
    пока не ссДанные.ВКонце делать
    начало  
      //находим текущую запись среди проверяемых
      если ссБуффер.FindKey(ArrayOf(пДанныеКлюч.какЦелое)) тогда
      начало
        //если текущий результат меньше нового то проставляем новый
        если (пДанныеControlResult.какЦелое  &lt; (пБуфферControlResult.какЦелое + Смещение)) или пДанныеControlResult.Пустое или
             //если не участвовал в контроле, то тоже надо затирать результат 
              ((пДанныеControlResult.какЦелое  &gt; (tcrDetailError + Смещение)) и (пБуфферControlResult.какЦелое &lt;= tcrDetailError)) тогда
          пДанныеControlResult.какЦелое := пБуфферControlResult.какЦелое + Смещение;
        //если поле если сообщение об ишибке то его надо добавить
        если пБуфферControlMessage.какСтрока &lt;&gt; '' тогда
        начало 
          если пДанныеControlMessage.какСтрока &lt;&gt; '' тогда
            пДанныеControlMessage.какСтрока := пДанныеControlMessage.какСтрока + ';' + Префикс + ЗаменитьСтроку(пБуфферControlMessage.какСтрока, ';', ';' + Префикс)
          иначе  
            пДанныеControlMessage.какСтрока := Префикс + ЗаменитьСтроку(пБуфферControlMessage.какСтрока, ';', ';' + Префикс);
        конец;            
      конец;     
      ссДанные.Следующая;
    конец;
    ссДанные.Bookmark := bm; 
  обязательно
    ссДанные.EnableControls;
  конец;     
конец;

//большинство кода здесь впоследствии можно будет запменит на ПолучитьДанныеДетали
функция СформироватьНаборДанныхДляПроверки(ЛинейныйКонтроль, БратьДанныеИзБазы, КонтрПоПереданнымДанным, КонтрНеНаИнтерфейсе : Целое;  
                                           колКартаПолей: IVariables; 
                                           ссЗаголовок, ссДетализация, ccНаборДанныхДляПроверки: СтатическиеДанные);
переменные
   КлючЗаголовка, Запрос: строка; 
   колСписокКлючей: IVariables;                                          
   ссБуфер, ссЗаголовокБуфф: СтатическиеДанные;
   НедостающиеПоля: Строка;
   тНедостающиеПоля: Текст;
   МаппинГруппировки: Строка;
   Инд: Целое;
начало
  если не ЛинейныйКонтроль тогда
  начало
    //она пустая в контроле с интерфейса и в контроле по нашей системе состояний 
    если (ссДетализация = nil) или
        (БратьДанныеИзБазы и не КонтрПоПереданнымДанным) тогда
    начало 
      //Нужно выбрать детализацию из базы
      КлючЗаголовка := колКартаПолей.Values(кКлючЗаголовка);
      Запрос := колКартаПолей.Values(кЗапрос);
      // Получаем список ключей заголовка для ограничения выборки детализации
      колСписокКлючей := GetLimits(ссЗаголовок, 100, КлючЗаголовка);
      ссДетализация := СоздатьСтатическиеДанные;
      ссБуфер := СоздатьСтатическиеДанные;
      попытка      
        если (Позиция(ControlResult, Запрос) = 0) тогда
        начало
          Инд := Позиция('select', Строчные(Запрос));
          если (Инд &lt;&gt; 0) тогда
            Запрос := 'select 0 ' + ControlResult + ", cast('' as char(255)) "   + ControlMessage + ',' +
                      Подстрока(Запрос, Инд + 6, Длина(Запрос) - Инд - 5);
        конец;            
        // Загружаем в буфер данные. 
        // Назначение этого буфера не понятно, но так сделано в функции ПолучитьДанныеДетали
        ссБуфер.DefProps('ParamChar') := '@';
        ссБуфер.Запрос := '[PumpData] {' + Запрос + '}';
        ссБуфер.СоединитьБД;
        LoadCtrlDocs(ссДетализация, ссБуфер, 'MasterID', колСписокКлючей, Progress);
        если не ссДетализация.Active тогда
        начало
          ссБуфер.Параметр("MasterID") := "-1";
          ссБуфер.Открыть;
          ссДетализация.ПрисвоитьПоля(ссБуфер);
          ссДетализация.Открыть;
        конец;
        ЗаполнитьДеталь(ссДетализация, ccНаборДанныхДляПроверки, колКартаПолей);
      обязательно
        УдалитьОбъект(колСписокКлючей, ссБуфер);
      конец
    конец  
    иначе
      ЗаполнитьДеталь(ссДетализация, ccНаборДанныхДляПроверки, колКартаПолей);
  конец;

  //Заголовок по-любому дополняем полями если стоит признак выбирать данные из базы
  если БратьДанныеИзБазы и (не КонтрПоПереданнымДанным) 
       //на интерфейсе  поля добавлять нельзя поэтому - что они там уже должны быть
       и КонтрНеНаИнтерфейсе тогда 
  начало
    НедостающиеПоля := УбратьПробелы(CheckPumpMap(ссЗаголовок, колКартаПолей.Values(кПоляЗаголовока)));
    //если каких-то полей нет, тогда докачиываем необходимую инфомацию
    если НедостающиеПоля &lt;&gt; "" тогда
    начало
      тНедостающиеПоля := СоздатьТекст;
      //надо выбрать данные заголовки и присоединить их к уже имеющимся данным
      ссБуфер := СоздатьСтатическиеДанные;
      ссЗаголовокБуфф := СоздатьСтатическиеДанные;
      попытка
        тНедостающиеПоля.РазделенноеЗначение := НедостающиеПоля;
        МаппинГруппировки := Формат("default=false;insert=false;keys=%s;%0:s=%0:s",  колКартаПолей.Values(кКлючЗаголовка));
        от Инд := 0 до тНедостающиеПоля.Количество - 1 делать
          МаппинГруппировки := Формат('%s;%s=%1:s', МаппинГруппировки, тНедостающиеПоля.ЗначениеПараметра(тНедостающиеПоля.ИмяПараметра(Инд)));
        колСписокКлючей := GetLimits(ссЗаголовок, 100, колКартаПолей.Values(кКлючЗаголовка));
        // Загружаем в буфер данные. 
        ссБуфер.DefProps('ParamChar') := '@';
        ссБуфер.Запрос := '[PumpData] {' +  колКартаПолей.Values(кЗапросЗаголовка) + '}';
        //просто чтобы создать поля
        ссБуфер.Params('MasterID') := -1;
        ссБуфер.СоединитьБД;
        ссБуфер.Открыть;
        //присваиваем поля временному буфферу
        ссЗаголовокБуфф.AssignFields(ссБуфер);
        ДобавитьНедостающиеПоля(ссБуфер, ссЗаголовок, '');
        ссБуфер.Close;
        LoadCtrlDocs(ссЗаголовокБуфф, ссБуфер, 'MasterID', колСписокКлючей, Progress);
        //причем добавлем только те поля которых не хватает
        ссЗаголовок.GroupData(ссЗаголовокБуфф, МаппинГруппировки);
      обязательно
        УдалитьОбъект(ссБуфер, ссЗаголовокБуфф, тНедостающиеПоля);
      конец;     
    конец;
  конец;
  
  если ЛинейныйКонтроль тогда ЗаполнитьДеталь(ссЗаголовок, ccНаборДанныхДляПроверки, колКартаПолей);  
конец;

функция ВернутьРезультатыКонтроляВАльтЗаголовок(ccЗаголовок, ссАльтЗаголовок, ccДетализация: СтатическиеДанные; МаппингВАльтЗаголовок, МаппингЗаголовкаВАльтЗаголовок: Строка; Смещение: Целое; Префикс: Строка);
переменные
  bm: Целое;
  ссБуфф: СтатическиеДанные; 
начало                                                                          
  если МаппингВАльтЗаголовок = '' тогда ВызватьОшибку('ВернутьРезультатыКонтроляВАльтЗаголовок: МаппингВАльтернативныйЗаголовок= ""');
  если МаппингЗаголовкаВАльтЗаголовок = '' тогда ВызватьОшибку('ВернутьРезультатыКонтроляВАльтЗаголовок: МаппингЗаголовкаВАльтЗаголовок= ""');  
  bm := ссАльтЗаголовок.Bookmark;
  ссАльтЗаголовок.DisableControls;
  ссБуфф := СоздатьСтатическиеДанные;
  попытка
    ссБуфф.AssignFields(ссАльтЗаголовок);
    ссБуфф.Close;
    ссБуфф.ДобавитьЦелоеПоле("_HasCaption");
    ссБуфф.Open;
    ссБуфф.PumpData(ссАльтЗаголовок, "");
    ссБуфф.GroupData(ccЗаголовок, Формат("insert=false;default=false;keys=%s;%s;_HasCaption=1", ДоРавно(МаппингЗаголовкаВАльтЗаголовок), МаппингЗаголовкаВАльтЗаголовок));
    УдалитьДанныеПоФильтру(ссБуфф, "_HasCaption &lt;&gt; 1");
    InstallData(ссБуфф, ControlResult + '=-1,' + ControlMessage + '=');
    MoveCtrlResultToCaption(ДоРавно(МаппингВАльтЗаголовок), ПослеРавно(МаппингВАльтЗаголовок), ссБуфф, ccДетализация, ControlResult, ControlMessage);
//    ВернутьРезультатыКонтроляИзБуффера(ссБуфф, ссАльтЗаголовок, ДоРавно(МаппингВАльтЗаголовок), ДоРавно(МаппингВАльтЗаголовок), Смещение, Префикс);
    SetCtrlResult(ссБуфф, ссАльтЗаголовок,  ДоРавно(МаппингВАльтЗаголовок),  ДоРавно(МаппингВАльтЗаголовок), ControlResult, ControlMessage, ИндексКартинок, да); 
  обязательно
    УдалитьОбъект(ссБуфф);                          
    ссАльтЗаголовок.Bookmark := bm;
    ссАльтЗаголовок.EnableControls;
    ссАльтЗаголовок.FreeBookmark(bm);
  конец;                                  
конец;

функция ВернутьРезультатыКонтроляВЗаголовок(ccЗаголовок, ccДетализация: СтатическиеДанные; КлючЗаголовка, Ссылка: Строка; Смещение: Целое; Префикс: Строка);
переменные
  bm: Целое;
  ссБуфф: СтатическиеДанные; 
начало
  если КлючЗаголовка = '' тогда ВызватьОшибку('ВернутьРезультатыКонтроляВЗаголовок: КлючЗаголовка= ""');
  если Ссылка = '' тогда ВызватьОшибку('ВернутьРезультатыКонтроляВЗаголовок: Ссылка= ""');
  bm := ccЗаголовок.Bookmark;
  ccЗаголовок.DisableControls;
  ссБуфф := СоздатьСтатическиеДанные;
  попытка
    ссБуфф.AssignFields(ccЗаголовок);
    ссБуфф.PumpData(ccЗаголовок, "");
    InstallData(ссБуфф, ControlResult + '=-1,' + ControlMessage + '=');
    MoveCtrlResultToCaption(КлючЗаголовка, Ссылка, ссБуфф, ccДетализация, ControlResult, ControlMessage);
    ВернутьРезультатыКонтроляИзБуффера(ссБуфф, ccЗаголовок, КлючЗаголовка, КлючЗаголовка, Смещение, Префикс); 
  обязательно
    УдалитьОбъект(ссБуфф);                          
    ccЗаголовок.Bookmark := bm;
    ccЗаголовок.EnableControls;
    ccЗаголовок.FreeBookmark(bm);
  конец;                                  
конец;

//поверяем все ли поля нужные в шаблоне есть в передаваемых данных
//необходимо когда передаются полные данные документа              x
функция ПроверкаСтруктурыКонтролируемыхДанных(ЛинейныйКонтроль: Целое; колКартаПолей: IVariables; 
                                              ссЗаголовок, ссДетализация, ccНаборДанныхДляПроверки: СтатическиеДанные);
переменные
  ОставшиесяПоля: Строка;
начало
  //проверяем заданы ли параметры
  если ссЗаголовок = nil тогда ВызватьОшибку("Не задан заголовок для контроля");
  если не ЛинейныйКонтроль и (ссДетализация = nil) тогда ВызватьОшибку("Не задана детализация для контроля");
  //при контроле по набору данных в наборе данных должны быть все поля заданые в шаблоне в шаблоне...
  //...сначала проверяем для загололовк      
  ОставшиесяПоля := FixPumpMap(колКартаПолей.Values(кПоляЗаголовока), ccНаборДанныхДляПроверки);
  ОставшиесяПоля := CheckPumpMap(ссЗаголовок, ОставшиесяПоля);
  если ОставшиесяПоля &lt;&gt; '' тогда ВызватьОшибку("Не заданы поля в заголовке: " + ОставшиесяПоля);
  //...потом для детализации если надо
  если не ЛинейныйКонтроль тогда
  начало
    ОставшиесяПоля := FixPumpMap(колКартаПолей.Values(кКлассификаторы), ccНаборДанныхДляПроверки);
    ОставшиесяПоля := CheckPumpMap(ссДетализация, ОставшиесяПоля);
    если ОставшиесяПоля &lt;&gt; '' тогда ВызватьОшибку("Не заданы поля в детализации: " + ОставшиесяПоля);
  конец;
конец;

функция ВыполнитьКонтрольНаПереход(Вид: целое; ЛинейныйКонтроль: целое; ccНаборДанныхДляПроверки: СтатическиеДанные; Шаблон: ITemplates;  
                                   колОграничения, колКартаПолей, колПараметрыКонтроля: IVariables; Events: ВНЕШНИЙОБЪЕКТ): целое;
переменные
  ссЗаголовок, ссДетализация : СтатическиеДанные;
  БратьДанныеИзБазы, КонтрПоПереданнымДанным, ОбязВыводВАльтЗаголовок: целое;
  Ключ, КлючЗаголовка: строка;
  Прогресс: IProgress;
  КонтрНеНаИнтерфейсе: Целое;
  НеПоказыватьРезультат: Целое;
начало
  //для единообразия закачиваем  карту полей в параметры контроля, а то тут параметр там параметр...
  колПараметрыКонтроля.PumpData(колКартаПолей);
  
  //В некоторых случаях в детализации документа недостаточно данных для контроля. 
  //Тогда можно указать этот параметр, и детализация для контроля выберется из базы.
  если колПараметрыКонтроля.ПараметрСуществует(кВыбиратьДанныеИзБазы) тогда
    БратьДанныеИзБазы := СтрокаВЦелое(колПараметрыКонтроля.Values(кВыбиратьДанныеИзБазы)) 
  иначе 
    БратьДанныеИзБазы := нет;
    
  если колПараметрыКонтроля.ПараметрСуществует(ипКонтрольПоПереданнымДанным) тогда
    КонтрПоПереданнымДанным := СтрокаВЦелое(колПараметрыКонтроля.Values(ипКонтрольПоПереданнымДанным)) 
  иначе 
    КонтрПоПереданнымДанным := нет;
    
  если колПараметрыКонтроля.ПараметрСуществует(ипКонтрольНеНаИнтерфейсе) тогда
    КонтрНеНаИнтерфейсе := СтрокаВЦелое(колПараметрыКонтроля.Values(ипКонтрольНеНаИнтерфейсе)) 
  иначе 
    КонтрНеНаИнтерфейсе := нет;
    
  если колПараметрыКонтроля.ПараметрСуществует(ипНеПоказыватьФомуОбщегоРезультата ) тогда
    НеПоказыватьРезультат  := СтрокаВЦелое(колПараметрыКонтроля.Values(ипНеПоказыватьФомуОбщегоРезультата)) 
  иначе 
    НеПоказыватьРезультат  := нет;
    
  если колПараметрыКонтроля.ПараметрСуществует(ипОбязательныйВыводВАльтЗаголовок) тогда
    ОбязВыводВАльтЗаголовок  := СтрокаВЦелое(колПараметрыКонтроля.Values(ипОбязательныйВыводВАльтЗаголовок)) 
  иначе 
    ОбязВыводВАльтЗаголовок  := нет;
    
  //получаем заголовок и детализацию контролируемых данных
  ссЗаголовок := колПараметрыКонтроля.Values(ипДанныеДляРезультата); 
  ссДетализация := колПараметрыКонтроля.Values(ипДанныеДетали);
  
  если ЛинейныйКонтроль тогда
  начало
    Ключ := колКартаПолей.Values(кКлюч);
    КлючЗаголовка := колКартаПолей.Values(кКлючЗаголовка);
    колКартаПолей.Values(кКлючи) := Ключ + '=' + КлючЗаголовка;
    колКартаПолей.Values(кСсылка) := Ключ;
  конец;             
      
  //если контроль по переданным данным, то все поля заданные в шаблоне, должны быть и в этих данных      
  если КонтрПоПереданнымДанным тогда
    ПроверкаСтруктурыКонтролируемыхДанных(ЛинейныйКонтроль, колКартаПолей, ссЗаголовок, ссДетализация, ccНаборДанныхДляПроверки);
    
  //заполняем данными набор данных над которым будет выполняться контроль (полученный из шаблона контроля)    
  СформироватьНаборДанныхДляПроверки(ЛинейныйКонтроль, БратьДанныеИзБазы, КонтрПоПереданнымДанным, КонтрНеНаИнтерфейсе, колКартаПолей, ссЗаголовок, ссДетализация, ccНаборДанныхДляПроверки);
  InstallData(ссЗаголовок, ControlResult + '=-1,' + ControlMessage + '=');
  если не ЛинейныйКонтроль тогда
    InstallData(ссДетализация, ControlResult + '=-1,' + ControlMessage + '=');    
  //выполняем сам контроль
  если НуженКонтроль(ссЗаголовок, ccНаборДанныхДляПроверки, Шаблон, колКартаПолей) тогда    
    КонтрольДокументов(Вид, ссЗаголовок, ccНаборДанныхДляПроверки, Шаблон, колОграничения, колКартаПолей);
    
  если (((Вид = ctxPost) и (ссЗаголовок.RecordCount &lt;&gt; 1)) или (Вид = ctxRegistry)) и (не НеПоказыватьРезультат) тогда
      ShowControlResult(ссЗаголовок, ControlResult);       
    
  //зачемто убиваем прогресс, хотя мне не понятно зачем (Wasp)  
  Прогресс := Progress;
  Прогресс.EndProgress();
  
  //теперь займемся выводом результатов наружу
  //в заголовке результаты контроля уже установлены функцей КонтрольДокументов
  //осталось сделать это в детализации
  если не ЛинейныйКонтроль тогда
  начало
    //при проверке из нашей системы состояний детализации в параметрах контроля нет :(
    //и поэтому ничего возвращать не надо
    если колПараметрыКонтроля.Values(ипДанныеДетали) &lt;&gt; nil тогда
      SetCtrlResult(ccНаборДанныхДляПроверки, колПараметрыКонтроля.Values(ипДанныеДетали), УбратьПробелы(колПараметрыКонтроля.Values(кКлюч)), ПослеРавно(колПараметрыКонтроля.Values(кКлючи)), ControlResult, ControlMessage, 0, нет);
    SetCtrlResult(ccНаборДанныхДляПроверки, ссДетализация, УбратьПробелы(колПараметрыКонтроля.Values(кКлюч)), ПослеРавно(колПараметрыКонтроля.Values(кКлючи)), ControlResult, ControlMessage, 0, нет);
  конец;    

  //на интерфейс результаты выкидываем сразу же
  если не КонтрНеНаИнтерфейсе тогда
  начало
    //возвращаем результаты бюджетного из буфера в переданные данные...
    //...в заголовок
    если колПараметрыКонтроля.Values(ипЗаголовокДляКонтроля) &lt;&gt; nil тогда
    начало
      //что бы не бегал при открытой детализации
    /*  если ссЗаголовок.RecordCount = 1 тогда
      начало
        IStaticSet(колПараметрыКонтроля.Values(ипЗаголовокДляКонтроля)).Поле(ControlResult).какЦелое := -1;
        IStaticSet(колПараметрыКонтроля.Values(ипЗаголовокДляКонтроля)).Поле(ControlMessage).какСтрока := '';
      конец  
      иначе
        InstallData(колПараметрыКонтроля.Values(ипЗаголовокДляКонтроля), ControlResult + '=-1,' + ControlMessage + '=');*/
       
      SetCtrlResult(ссЗаголовок, колПараметрыКонтроля.Values(ипЗаголовокДляКонтроля), колПараметрыКонтроля.Values(кКлючЗаголовка), колПараметрыКонтроля.Values(кКлючЗаголовка),  ControlResult, ControlMessage, ИндексКартинок, да);
    конец;  
    
    если не ЛинейныйКонтроль тогда
    начало
      //...в детализацию
      если колПараметрыКонтроля.Values(ипДетализацияДляКонтроля) &lt;&gt; nil тогда
        если IStaticSet(колПараметрыКонтроля.Values(ипДетализацияДляКонтроля)).Active тогда
        начало
          InstallData(колПараметрыКонтроля.Values(ипДетализацияДляКонтроля), ControlResult + '=-1,' + ControlMessage + '=');
          SetCtrlResult(ссДетализация, колПараметрыКонтроля.Values(ипДетализацияДляКонтроля), ПослеРавно(колПараметрыКонтроля.Values(кКлючи)), ПослеРавно(колПараметрыКонтроля.Values(кКлючи)), ControlResult, ControlMessage, ИндексКартинок, да);
        конец; 
      
    конец;     
  конец;
  
  //... иногда выводить результат в альтернатиый заголовок требуется не только на интерфейсе, но и
  // в системе состояний (например в контроле реестра, когда в заголовок и детализацию выбираются данные казанчейства,
  //а сам реестр выступет в роли альтернативного заголовка)
  если (не КонтрНеНаИнтерфейсе) или ОбязВыводВАльтЗаголовок тогда
      //Вывод результатов в альтернативный заголовок   
      если колПараметрыКонтроля.Values(ипДанныеАльтернативногоЗаголовка) &lt;&gt; nil тогда
        если IStaticSet(колПараметрыКонтроля.Values(ипДанныеАльтернативногоЗаголовка)).Active тогда
        начало
          если колПараметрыКонтроля.Values(ипКлючДляПроставленияРезАлтерЗаг) = ""  тогда
            ВызватьОшибку("Не указан маппинг кючей для передачи результатов контроля в альтернативный заголовок");
          
          если колПараметрыКонтроля.Values(ипСвязьЗагИАльтернЗаголовка) &lt;&gt;  "" тогда 
             ВернутьРезультатыКонтроляВАльтЗаголовок(ссЗаголовок, колПараметрыКонтроля.Values(ипДанныеАльтернативногоЗаголовка), ссДетализация,
                                                     колПараметрыКонтроля.Values(ипКлючДляПроставленияРезАлтерЗаг),
                                                     колПараметрыКонтроля.Values(ипСвязьЗагИАльтернЗаголовка),
                                                     ИндексКартинок, '')
          иначе 
          начало
            InstallData(колПараметрыКонтроля.Values(ипДанныеАльтернативногоЗаголовка), ControlResult + '=-1,' + ControlMessage + '=');                                 
            ВернутьРезультатыКонтроляВЗаголовок(колПараметрыКонтроля.Values(ипДанныеАльтернативногоЗаголовка), ссДетализация,
                                              ДоРавно(колПараметрыКонтроля.Values(ипКлючДляПроставленияРезАлтерЗаг)), 
                                              ПослеРавно(колПараметрыКонтроля.Values(ипКлючДляПроставленияРезАлтерЗаг)),
                                              ИндексКартинок, '');
          конец;                                      
        конец;
  
  результат := MaxFieldIntValue(ссЗаголовок, ControlResult) &lt; tcrFalse;  
конец;

функция ОбщийКонтрольРасширенныйЕх(ЛинейныйКонтроль: целое; Вид: целое; Шаблон: строка; КартаПолей, колПараметры: IVariables; Events: ОБЪЕКТ; 
                                   ИспользоватьСтандартныйКонтроль: целое): целое;
переменные
  ss: СтатическиеДанные;
  Шаблоны : IVariables;
  Ключ, Ссылка : Строка;
  Ограничения : IVariables;
  ВидКонтроля: целое;
начало
  результат := да;
  если не ИспользоватьСтандартныйКонтроль тогда
  начало
    если Шаблон &lt;&gt; "" тогда
    начало
      Ограничения := ПолучитьПараметрыОгр(Вид, колПараметры);
      Ключ := КартаПолей.Values(кКлюч);
      Ссылка := КартаПолей.Values(кСсылка);
      ss := СоздатьСтатическиеДанные;
      если ЛинейныйКонтроль тогда
        Шаблоны := ЗагрузитьШаблон(Шаблон, Ключ, ss, 0)
      иначе
        Шаблоны := ЗагрузитьШаблон(Шаблон, Ключ + ',' + Ссылка, ss, 0);
      попытка
        ss.Открыть;
        ВидКонтроля := Вид;
        если ВидКонтроля = ctxState тогда
          ВидКонтроля := ctxCustomPost;  
        если Шаблоны.Count &lt;&gt; 0 тогда
          результат := ВыполнитьКонтрольНаПереход(ВидКонтроля, ЛинейныйКонтроль, ss, Шаблоны, Ограничения, КартаПолей, колПараметры, Events);
      обязательно
        УдалитьОбъект(Шаблоны, ss);
      конец;
    конец;    
  конец  
  иначе
  начало
    /*если ЛинейныйКонтроль тогда
      //god результат := ОбщийЛинКонтроль(Вид, Шаблон, КартаПолей, колПараметры, Events) &lt; tcrFalse
      
    иначе*/
      результат := ОбщийКонтроль(Вид, Шаблон, КартаПолей, колПараметры) &lt; tcrFalse;    
  конец;   
конец;                                   

функция УдалитьДетализациюИзПараметров (Параметры: IVariables): Целое; 
переменные
  сч: Целое;
  Имя: Строка;
начало
  от сч := 0 до 8 делать
  начало
    Имя := 'ДетальКонтроль' + ЦелоеВСтроку(сч); 
    Если Параметры.ПараметрСуществует(Имя) тогда
     Параметры.Values(Имя) := nil; 
  конец;
конец;

функция ОбщийКонтрольРасширенный(ЛинейныйКонтроль: целое; Вид: целое; Шаблон: строка; КартаПолей, Параметры: IVariables; Events: ОБЪЕКТ): целое;
переменные
  ИспользоватьСтандартныйКонтроль: Целое;
начало
/* 
  УдалитьДетализациюИзПараметров(Параметры);
  если ЛинейныйКонтроль тогда    
    результат := ОбщийЛинКонтроль(Вид, Шаблон, КартаПолей, Параметры, Events)  &lt; tcrFalse                        
  иначе
    результат := ОбщийКонтроль(Вид, Шаблон, КартаПолей, Параметры, Events) &lt; tcrFalse;
*/    

  если Параметры.CheckParam(ипНеИспользоватьСтандартныйКонтроль) тогда
    ИспользоватьСтандартныйКонтроль := не СтрокаВЦелое(Параметры.Values(ипНеИспользоватьСтандартныйКонтроль)) 
  иначе 
    ИспользоватьСтандартныйКонтроль := да;
  результат := ОбщийКонтрольРасширенныйЕх(ЛинейныйКонтроль, Вид, Шаблон, КартаПолей, Параметры, Events, ИспользоватьСтандартныйКонтроль);
конец;

//если контроль мягкий, то выдаем предупреждение
функция СообщениеМягкогоКонтроля(ОпцииКонтроля: Целое; ИмяКонтроля: Строка; ПрерватьКонтроль: Целое): Целое;
переменные
  ТекстСообщения: Строка;
  Кнопки: Целое;
начало
  результат := нет;
  если БитИ(ОпцииКонтроля, окПредупреждение) тогда
  начало
    ТекстСообщения := Формат('Документы не прошли контроль (%s). Учитывать это?' + #13#10 +                           
                             'Если Вы не хотите учитывать результат этого контроля в итоговом результате нажмите "Нет".' + #13#10 +
                             'Если Вы хотите учитывать результат этого контроля в итоговом результате нажмите "Да".', ИмяКонтроля);
                                  
    Кнопки := Кнопка_Да + Кнопка_Нет;
    если ПрерватьКонтроль тогда 
    начало
      Кнопки := Кнопки + Кнопка_Отмена;
      ТекстСообщения := ТекстСообщения + #13#10 + 'Если Вы хотите прервать контроль и вернуться к редактированию документа нажмите "Отмена".';                               
    конец;  
    
    результат := Сообщение(ТекстСообщения, Сообщение_Предупреждение, Кнопки);
    выбрать результат из
      Результат_Да: результат := нет;
      Результат_Нет: результат := да;      
      Результат_Отмена: ВызватьОшибку(стрДокументыНеПрошлиКонтроль);
    конец;  
  конец;
конец;

//заполняем коллекцию значениями необходимыим для контроля
функция ЗаполнитьКоллекциюДляКонтроляНаборовДанных(Коллекция: IVariables; Заголовок, Детализация: СтатическиеДанные);
начало
  Коллекция.Values(ипКонтрольПоПереданнымДанным) := да;
  Коллекция.Values(ипНеИспользоватьСтандартныйКонтроль) := да;  
  Коллекция.Values(ипКонтрольНеНаИнтерфейсе) := да;   
//god  Коллекция.Values("Результат") := Заголовок; 
  Коллекция.Values("ДетальКонтроль") := Детализация; 
  Коллекция.Values("Debug") := 0;
  Коллекция.Values("PrevCall") := 0;
  Коллекция.Values(ипКлючДляПроставленияРезДет) := 'ID=ID';
  Коллекция.Values(ипКлючДляПроставленияРезЗаг) := 'ID=ID';
конец;

функция ЗаполнитьЗначениеКлючей(ссДанные: СтатическиеДанные; Ключ: Строка; Генерировать: Целое);
переменные
  пКлюч: Поле;
  bm: Целое;
начало
  bm := ссДанные.Bookmark;
  ссДанные.DisableControls;
  попытка 
    ссДанные.ВНачало;
    пКлюч := ссДанные.Поле(Ключ);
    пока не ссДанные.ВКонце делать
    начало
      если Генерировать и пКлюч.Пустое тогда
        пКлюч.какЦелое := -ссДанные.RecNo;
      если не Генерировать и  (пКлюч.какЦелое &lt; 0) тогда
        пКлюч.Clear;       
      ссДанные.Следующая;  
    конец;
  обязательно
    ссДанные.Bookmark := bm; 
    ссДанные.EnableControls;
    ссДанные.FreeBookmark(bm);
  конец;  
конец;


функция ВыполнитьКонтрольМастерДетальНадНаборомиДанных(КодКонтроля: Целое; колПараметры: IVariables; ссОписаниеКонтролей: СтатическиеДанные): целое;
переменные
  ИмяШаблона: строка;
  СкриптКонтроля: строка;
  колПараметрыКонтроля: IVariables;
  ссЗаголовок, ссДетализация: СтатическиеДанные; 
  ВидКонтроля: Целое;  
  СозданоОписаниеКонтролей: Целое;
начало
  //если поисание контроля не задано, то создаем его
  СозданоОписаниеКонтролей := нет;
  если СозданоОписаниеКонтролей = nil тогда
  начало
    ссОписаниеКонтролей := СоздатьДанныеИзРеестра(КорневойУзелРеестра+"\Конфигурация", "Бюджетный контроль");
    СозданоОписаниеКонтролей := да;
  конец;  
  //создаем коллекцию для параметров контроля
  колПараметрыКонтроля := CreateVariables;
  //создаем буффера для передачи данных контролю
  ссЗаголовок := СоздатьСтатическиеДанные;
  ссДетализация :=  СоздатьСтатическиеДанные;
  попытка
    //заполняем коллекию для контроля
    если колПараметры.Values(ипЗаголовокДляКонтроля) = nil тогда 
      ВызватьОшибку("ПоддержкаКонтроля3.ВыполнитьКонтрольМастерДетальНадНаборомиДанных: Не задан заголовок для контроля");
    колПараметрыКонтроля.Clear;  
    колПараметрыКонтроля.PumpData(колПараметры);
    ЗаполнитьКоллекциюДляКонтроляНаборовДанных(колПараметрыКонтроля, ссЗаголовок, ссДетализация);
    
    ссОписаниеКонтролей.IndexFieldNames := 'Cls';
    //если названия полей в УМ отличаются от названия полей в датасете, то их маппинг должен быть указан в параметр с именем XXXМаппингВУпрМакрос
    ЗакачатьПоМаппингуССозданиемПолей(колПараметры.Values(ипЗаголовокДляКонтроля), ссЗаголовок, колПараметры.Values(ипЗаголовокМаппингВУпрМакрос));
    InstallData(ссЗаголовок, ControlResult + '=-1,' + ControlMessage + '=');

    если колПараметры.Values(ипДетализацияДляКонтроля) &lt;&gt; nil тогда
    начало
      //Ключевое поле в детализаци должно быть обязательно заполнено  
      //если не заполнено, то добавляем в него пустые значения
      ЗаполнитьЗначениеКлючей(колПараметры.Values(ипДетализацияДляКонтроля), 'ID', да);
      ЗакачатьПоМаппингуССозданиемПолей(колПараметры.Values(ипДетализацияДляКонтроля), ссДетализация, колПараметры.Values(ипДетализацияМаппингВУпрМакрос));
      InstallData(ссДетализация, ControlResult + '=-1,' + ControlMessage + '=');
    конец;
      
    //получаем вид контроля
    если колПараметры.Values(ипВидКонтроля) &lt;&gt; '' тогда
      ВидКонтроля := колПараметры.Values(ипВидКонтроля)
    иначе
      ВызватьОшибку('ПоддержкаКонтроля3.ВыполнитьКонтрольМастерДетальНадНаборомиДанных: В параметрах не указан вид контроля');  
    
    //выполняем скрипт контроля
    если ссОписаниеКонтролей.FindKey(МассивИз(КодКонтроля)) тогда
    начало
      ИмяШаблона := ссОписаниеКонтролей.ПолеПоИмени("Template").КакСтрока;
      СкриптКонтроля := ссОписаниеКонтролей.ПолеПоИмени("Generation").КакСтрока;
      результат := ExecScript(КорневойУзелРеестра+"\Объекты\Контроль\Скрипты\Контроль\"+СкриптКонтроля, 
                              ВидКонтроля, ПолучитьПолныйПутьКШаблону(ИмяШаблона), колПараметрыКонтроля);
    конец
    иначе
      ВызватьОшибку("В конфигурации контроля отсутствует контроль с кодом " + ЦелоеВСтроку(КодКонтроля));
  
    //возвращем результаты из буферов в реальные данные
    если колПараметрыКонтроля.Values(ипЗаголовокДляКонтроля) &lt;&gt; nil тогда  
      ВернутьРезультатыКонтроляИзБуффера( ссЗаголовок, //из
                                          колПараметрыКонтроля.Values(ипЗаголовокДляКонтроля), //в 
                                          ПослеРавно(колПараметрыКонтроля.Values(ипКлючДляПроставленияРезЗаг)), 
                                          ДоРавно(колПараметрыКонтроля.Values(ипКлючДляПроставленияРезЗаг)), 
                                          0,
                                          ссОписаниеКонтролей.Поле('Name').какСтрока);
    если колПараметрыКонтроля.Values(ипДетализацияДляКонтроля) &lt;&gt; nil тогда
    начало  
      ВернутьРезультатыКонтроляИзБуффера( ссДетализация, //из
                                          колПараметрыКонтроля.Values(ипДетализацияДляКонтроля), //в
                                          ДоРавно(колПараметрыКонтроля.Values(ипКлючДляПроставленияРезДет)), 
                                          ПослеРавно(колПараметрыКонтроля.Values(ипКлючДляПроставленияРезДет)), 
                                          0,
                                          ссОписаниеКонтролей.Поле('Name').какСтрока);
                                          
      //если надо то выкидываем данные в альтернативный заголовок
      если колПараметрыКонтроля.Values(ипДанныеАльтернативногоЗаголовка) &lt;&gt; nil тогда
      начало
        если колПараметрыКонтроля.Values(ипКлючДляПроставленияРезАлтерЗаг) = '' тогда 
          ВызватьОшибку("Не указан маппинг в альтернативный заголовок");
           
        ВернутьРезультатыКонтроляВЗаголовок(колПараметрыКонтроля.Values(ипДанныеАльтернативногоЗаголовка), ссДетализация,
                                            ДоРавно(колПараметрыКонтроля.Values(ипКлючДляПроставленияРезАлтерЗаг)), 
                                            ПослеРавно(колПараметрыКонтроля.Values(ипКлючДляПроставленияРезАлтерЗаг)),
                                            0,
                                            ссОписаниеКонтролей.Поле('Name').какСтрока);  
                          
      конец;                         
      ЗаполнитьЗначениеКлючей(колПараметры.Values(ипДетализацияДляКонтроля), 'ID', нет);
    конец;

  обязательно
    УдалитьОбъект(колПараметрыКонтроля, ссЗаголовок, ссДетализация);
    //если создовали, то надо и удалить
    если СозданоОписаниеКонтролей тогда
      УдалитьОбъект(ссОписаниеКонтролей);
  конец;        
конец;

функция ПолучитьДанныеКонтроля (КоллекцияКонтроля : IVariables; Номер : целое) : СтатическиеДанные;
переменные
  Данные : IVariables;
начало
  Данные := КоллекцияКонтроля.Значение(stVarControlData);
  если Данные &lt;&gt; nil тогда
    результат := Данные.Значение(ЦелоеВСтроку(Номер));
конец;

функция СтдПустаяКартаПолей : IVariables; начало результат := ПустаяКартаПолей конец;

функция ПустаяКартаПолей : IVariables; начало результат := СтдПустаяКартаПолей конец;

функция ОбщийКонтрольСтандартный(Вид: целое; Шаблон: СТРОКА; КартаПолей, ПараметрыКонтроля: IVariables) : целое;
начало
 результат := ОбщийКонтроль(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец;

функция ОбщийКонтроль(Вид: целое; Шаблон: СТРОКА; КартаПолей, ПараметрыКонтроля: IVariables) : целое;
начало
  результат := ОбщийКонтрольСтандартный(Вид, Шаблон, КартаПолей, ПараметрыКонтроля);
конец;

// добавляем специфичные поля в запросы и маппинги
// КудаДобавлять:
//      кПоляЗаголовкаСостояний 0
//      кПоляОгрЗаголовка       1
//      кПоляЗаголовока         2  (0=2 тк просто маппинг)
//      кЗапросЗаголовка        3 (или просто запрос)
функция ДобавитьПоляВконтроль (КудаДобавлять : целое; Алиас : строка) : строка;
начало
  выбрать КудаДобавлять из
    1 : результат := ",КодБюджета";
    0, 2 : результат := ",КодБюджета=BudgetRef";
    3 : результат := ", " + Алиас + ".BudgetRef ";
  иначе
    результат := "";  
  конец;
конец;

функция ВернутьРезультатКонтроляДляСостояний (ПараметрыКонтроля: IVariables; РезКонтроля : целое);
начало
  если РезКонтроля тогда
    ПараметрыКонтроля.Values(кРезультатКонтроля) := 0
  иначе
    ПараметрыКонтроля.Values(кРезультатКонтроля) := 4;
конец;

// если год бюджета из констант меньше текущего то возврящаем 12 месяц
// иначе текущий. Нужно для запуска контроля в базе ранних лет.
функция ТекущийМесяцСУчетомГода : целое;
/$если Бюджет    
переменные
  ГодБюджета: Целое;
/$конец
начало
  //Получаем год текущего Бюджета
/$если Бюджет    
  ГодБюджета := ДанныеКлассификатора.Поиск(тк_Бюджет, "ID", ЦелаяКонстанта(-1, 3), "Year");
  Если ТекущийГод &gt; ГодБюджета
/$иначе
  Если ТекущийГод &gt; ИдентификаторБазы  
/$конец
    тогда Результат := 12
    иначе Результат := ТекущийМесяц;
конец;
</value>
    <param value="ПоддержкаКонтроля3.abl" type="3" name="Export">ZIMIN\zimin\29.05.2009 15:13:53</param>
    <param value="ПоддержкаКонтроля3.abl" type="3" name="version">36.223.03</param>
    <param value="ПоддержкаКонтроля3.abl" type="3" name="crc32">$DBB9930B</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Контроль">
    <value type="7" name="ПоддержкаФорм_яПроверяемых.abl">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Documents.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\StateManage.lib";
включить '\Макросы\Стандартные.abl';
включить '\Макросы\отчеты\ПоддержкаОтчетов.abl';

константы
  ОшибкаОтсутствияМаппингаПоляОгр= "Функция 'ВыделитьОтсутствующиеПоляЗаголовка' отсутствует маппинг для поля-ограничения:%s";

  //константа для списка настраиваемых параметров: НаименованиеПараметра=НаименованиеПоля
  Конст_СписокИМаппингНастраиваемых = "ТипДеятельности=ТипДеятельности;ТипКлассификации=ТипКлассификации;ТипСредствБюдж=ТипСредств";
  
функция Конст_ВыборДанныхКонтроля: целое;
начало
  результат := 1;         
конец;

функция Конст_ВозвратРезультатовКонтроля: целое;
начало
  результат := 2;         
конец;
        
функция КонтрольПоОдномуДокументу(Вид: целое): целое;
начало
  результат := (Вид = ctxCustomPost) или (Вид = ctxInvert) или (Вид = -ctxCustomPost) или (Вид = -ctxInvert);
конец;

функция КонтрольНаСохранениеДокументов(Вид: целое): целое;
начало
  результат := (Вид = ctxCustomApply) или (Вид = ctxInvertApply);
конец;
функция ИнвертированныйКонтроль(Вид: целое): целое;
начало
  результат := (Вид = ctxStateInvert) или (Вид = ctxInvert) или (Вид = -ctxInvert) или (Вид = ctxInvertApply) или (Вид = -ctxInvertApply);
конец;

функция КонтрольСостояний(Вид: целое): целое;
начало
  результат := (Вид = ctxStateInvert) или (Вид = ctxState);
конец;

функция КонтрольСПроверкой(Вид: целое): целое;
начало
  результат := КонтрольПоОдномуДокументу(Вид) или КонтрольНаСохранениеДокументов(Вид) или (Вид = ctxPrint);
конец;

функция КонтрольСИнтерфейса(Вид: целое): целое;
начало
  результат := КонтрольПоОдномуДокументу(Вид) или (КонтрольНаСохранениеДокументов(Вид)) или (Вид = ctxPrior) или (Вид = ctxPost) или (Вид = ctxRegistry);
конец;

функция КонтрольПредставления(Вид: целое): целое;
начало
  результат := (Вид = ctxView) или (Вид = ctxWizard);
конец;

функция НайтиИмяВТексте(ИмяПарам: СТРОКА; индПарам: целое; СписокЗначений: Текст): ЦЕЛОЕ;
начало
  индПарам := 0;
  результат := нет;
  пока не результат и (индПарам &lt;= СписокЗначений.Количество-1) делать
  начало
    если Прописные(ИмяПарам) = Прописные(СписокЗначений.ИмяПараметра(индПарам))
      тогда результат := да        
      иначе индПарам := индПарам + 1;        
  конец;
конец;

//1. Исключение из маппинга полей без группировки, как не значимых;
//2. Исключение системных полей, например ИндексыДанных
функция СформироватьМаппингДляВставки(ПараметрыКонтроля: IVariables; Маппинг: строка): строка;
переменные
  Параметры: IVariables;
  Раскладки: ITemplates;
  тМаппинг: текст;
  Раскладка: ITableInfoX;
  сч, Кол: целое;
начало
  Параметры := ПараметрыКонтроля.Значение(КонтрольПараметры);
  Раскладки := Параметры.Значение(кОписаниеШаблона);
  Раскладка := Раскладки.Items(0).TableInfo;
  Результат := "";
  тМаппинг := СоздатьТекст;
  попытка
    тМаппинг.РазделенноеЗначение := Маппинг;
    от сч := 0 до тМаппинг.Количество - 1 делать
    начало
      Кол := Раскладка.FindColumnByField(тМаппинг.ИмяПараметра(сч));
      если Кол = -1 тогда
        Результат := Результат + "," + тМаппинг.Стр(сч)
      иначе                                                  
        если (Раскладка.Columns(Кол).Group &lt;&gt; grpNone) и
             (Прописные(тМаппинг.ИмяПараметра(сч)) &lt;&gt; "ИНДЕКСЫДАННЫХ") и
             (Прописные(тМаппинг.ИмяПараметра(сч)) &lt;&gt; "ИНДЕКСДАННЫХ") тогда
          Результат := Результат + "," + тМаппинг.Стр(сч);
    конец;
  обязательно
    УдалитьОбъект(тМаппинг);
  конец;
  если Результат &lt;&gt; "" тогда
    Результат := Подстрока(Результат, 2, Длина(Результат) - 1);  
  Результат := InvertMap(Результат);  
конец;

//формирование наиболее общих ограничений для любого контроля
функция СоздатьОграничения(ВидКонтроля: целое) : IVariables;
переменные
  Год, Месяц, День : целое;
  ТекДата : дробное;
начало
  результат := CreateVariables;
  ТекДата := ТекущаяДатаССервера;
  ПолучитьДату(ТекДата, Год, Месяц, День);
  результат.Values("НачальнаяДата") :=  "00.00.0000";
  результат.Values("КонечнаяДата") := ДатаВСтроку(ТекДата);           //текущая дата
  результат.Values("Бюджет") := ЦелаяКонстанта(-1, 3);                //текущий бюджет
  результат.Values("ВидКонтроля") := ЦелоеВСтроку(ВидКонтроля);
  результат.Values("БюджетныйКонтроль") := '1'; // для идентификации, что алгоритмы вызываются из бюджетного контроля
конец;

//формирование ограничения по умолчанию 
функция ОграничениеПОУмолчанию(Приемник, НаборПараметров: IVariables; ИмяОграничения: строка; ЗначениеОграничения: Variant);
начало
  если (не НаборПараметров.CheckParam(ИмяОграничения) и не Приемник.CheckParam(ИмяОграничения)) тогда
    выбрать ЗначениеОграничения.VarType из
      VarInteger: Приемник.VAlues(ИмяОграничения) := ЗначениеОграничения.AsInteger;
      VarString: Приемник.VAlues(ИмяОграничения) := ЗначениеОграничения.AsString;
    иначе Приемник.VAlues(ИмяОграничения) := ЗначениеОграничения.AsInterface;        
    конец;
конец;

//переопределяем переданный в функцию бюджет в разыменовщике через его параметры
функция ЗадатьБюджетРазыменовщику(Бюджеты: строка);
переменные
  ПараметрыРазыменовки  : IVariables;
начало
  ПараметрыРазыменовки := Интерфейс(Mapper).ЗапроситьИнтерфейс("{6BB402A0-922E-11D5-9B6E-5254AB1A8A09}");
  ПараметрыРазыменовки.Значение("Знач_Бюджет") := Бюджеты;
конец;

//формирование ограничения для работы многобджетовости
функция ОграничитьПоБЮджету(ИмяПоляБюджет: строка; Источник: СтатическиеДанные; Ограничения: IVariables);
начало
  если Источник.FindField(ИмяПоляБюджет, nil) и ЕстьМногобюджетность()
    тогда начало
      Ограничения.Values("Бюджет") := GetLimitStr(Источник, ИмяПоляБюджет);
      ЗадатьБюджетРазыменовщику(Ограничения.Values("Бюджет"));
    конец;                        
конец;

// УСТАРЕВШАЯ. формирование ограничения по варианту росписи из системных настроек
функция ОграничитьПоВариантуРосписи(Ограничения: IVariables; Шаблон: ITemplates);
переменные
  ТекущаяСтраница       : ITemplate;
  ПараметрыСтр          : IVariables;
  ЗначениеПоУмолчанию   : Variant;
начало
  ТекущаяСтраница := Шаблон.Template;
  ПараметрыСтр := ТекущаяСтраница.Variables;
  ЗначениеПоУмолчанию := CreateVariant();
  попытка
    ЗначениеПоУмолчанию.ASInteger := ЦелаяКонстанта(18, 1);
    //получаем основной вариант росписи из настроек 
    ОграничениеПОУмолчанию(Ограничения, ПараметрыСтр, "ВариантРосписи", ЗначениеПоУмолчанию);
  обязательно
    УдалитьОбъект(ЗначениеПоУмолчанию);
  конец; 
конец;
//формирование ограничения по умолчанию на основании набора данных  
функция ОграничитьПоНаборуДанных(Ограничения: IVariables; Шаблон: ITemplates; ДляОграничения: СтатическиеДанные; ИмяОграничения, ИмяПоля: строка);
переменные
  ТекущаяСтраница       : ITemplate;
  ПараметрыСтр          : IVariables;
  ЗначениеПоУмолчанию   : Variant;
начало
  ТекущаяСтраница := Шаблон.Template;
  ПараметрыСтр := ТекущаяСтраница.Variables;
  ЗначениеПоУмолчанию := CreateVariant();
  попытка
    ЗначениеПоУмолчанию.ASString := GetLimitStr(ДляОграничения, ИмяПоля);
    //получаем основной вариант росписи из настроек 
    ОграничениеПОУмолчанию(Ограничения, ПараметрыСтр, ИмяОграничения, ЗначениеПоУмолчанию);
  обязательно
    УдалитьОбъект(ЗначениеПоУмолчанию);
  конец; 
конец;

// УСТАРЕВШАЯ. формирование ограничения по варианту росписи УРМ из системных настроек
функция ОграничитьПоВариантуРосписиУРМ(Ограничения: IVariables; Шаблон: ITemplates; ИмяПараметра: строка);
переменные
  ТекущаяСтраница       : ITemplate;
  ПараметрыСтр          : IVariables;
  ЗначениеПоУмолчанию   : Variant;
начало
  ТекущаяСтраница := Шаблон.Template;
  ПараметрыСтр := ТекущаяСтраница.Variables;
  ЗначениеПоУмолчанию := CreateVariant();
  попытка
    ЗначениеПоУмолчанию.ASInteger := ЦелаяКонстанта(1000, 3);
    //получаем основной вариант росписи из настроек 
    ОграничениеПОУмолчанию(Ограничения, ПараметрыСтр, ИмяПараметра, ЗначениеПоУмолчанию);
  обязательно
    УдалитьОбъект(ЗначениеПоУмолчанию);
  конец; 
конец;

//добавление обязательных для любого контроля полей в набор данных
функция ДобавитьСлужебныеПоля(Данные: СтатическиеДанные);
начало
  Данные.Закрыть;
  Данные.ДобавитьЦелоеПоле(ControlID);    
  если не Данные.FindField(ControlResult, nil) тогда
    Данные.ДобавитьЦелоеПоле(ControlResult);
  если не Данные.FindField(ControlMessage, nil) тогда
    Данные.ДобавитьСтроковоеПоле(ControlMessage).Размер := 1024;
  Данные.Открыть;    
конец;
//добавление полей обязательных для контроля в запрос на выборку
функция ДобавитьПоляКонтроля(Запрос: строка): строка;
переменные 
  рез : целое;
начало
  результат := Запрос;
  если (Позиция(ControlResult, результат) = 0) тогда
    начало
      рез := Позиция('from', Строчные(результат));
      если (рез &lt;&gt; 0) тогда
        результат := Подстрока(результат, 0, рез - 1) +
                     ', -1 ' + ControlResult + ", cast('' as char(1024)) "   + ControlMessage + ' ' +
                     Подстрока(результат, рез, Длина(результат) - (рез - 1));
    конец;
конец;

функция ДобавитьПоляКонтроляВНабор(НаборДанных: СтатическиеДанные);
переменные
  Промежуточный : СтатическиеДанные;
начало
  Промежуточный := СоздатьСтатическиеДанные();
  попытка
    Промежуточный.ПрисвоитьПоля(НаборДанных);
    Промежуточный.Открыть();
    Промежуточный.Закачать(НаборДанных);
    НаборДанных.Закрыть();
    если не НаборДанных.FindField(ControlResult, nil)
      тогда НаборДанных.ДобавитьЦелоеПоле(ControlResult);
    если не НаборДанных.FindField(ControlMessage, nil)
      тогда НаборДанных.ДобавитьСтроковоеПоле(ControlMessage, 1024).Size := 1024;      
    НаборДанных.Открыть();
    НаборДанных.Закачать(Промежуточный);
  обязательно
    УдалитьОбъект(Промежуточный);
  конец;
конец;

функция ПолучитьДетальИзПараметра(КоллекцияСДанными: IVariables;ИмяПараметра: строка; НомерДетали: целое): СтатическиеДанные;
переменные
  НаборыДанных  : IVariables;
начало
  Результат := nil;
  //получаем необходимые данные из переданной коллекции
  НаборыДанных := КоллекцияСДанными.Values(ИмяПараметра);
  //получаем набор выделенных документов с указанным номером(0-заголовок,1..-детали)
  если (НаборыДанных &lt;&gt; nil)
    тогда если (НаборыДанных.count &gt;= НомерДетали + 1)
            тогда Результат := НаборыДанных.IndexValues(НомерДетали);
конец;
       
функция ПолучитьДетальКонтроляИзКоллекции(КоллекцияСДанными: IVariables;НомерДетали: целое): СтатическиеДанные;
начало
  Результат := ПолучитьДетальИзПараметра(КоллекцияСДанными, stVarControlData, НомерДетали); 
конец;

функция ПолучитьЗаголовокКонтроляИЗКоллекции(КоллекцияСДанными: IVariables): СтатическиеДанные;
начало
  //получаем заголовки выделенных документов 
  Результат := ПолучитьДетальКонтроляИзКоллекции(КоллекцияСДанными, 0);
конец;

функция СоздатьКоллекциюИЗапомнитьНабор(НомерНабора: целое; НаборДанных: СтатическиеДанные; Коллекция: IVariables);
переменные
  сч, ЧислоНаборов: целое;                                
  СписокНаборов : IVariables;
начало
  СписокНаборов := Коллекция.Values(stVarControlData);
  если СписокНаборов = nil
    тогда начало
      СписокНаборов := CreateVariables();
      Коллекция.Values(stVarControlData) := СписокНаборов;
    конец;
  ЧислоНаборов := СписокНаборов.Count;  
  если ЧислоНаборов - 1 &lt; НомерНабора
    тогда от сч := ЧислоНаборов до НомерНабора делать 
            СписокНаборов.Values(ЦелоеВСтроку(сч)) := nil;
  //сохранить набор в параметрах контроля               
  если СписокНаборов.IndexValues(НомерНабора) = nil
    тогда СписокНаборов.IndexValues(НомерНабора) := НаборДанных;
конец;

функция СоздатьКоллекциюИПолучитьНабор(НомерНабора: целое; ПараметрыКонтроля: IVariables): СтатическиеДанные;
переменные
  ПроверяемыеНаборы     : IVariables;     
начало
  ПроверяемыеНаборы := ПараметрыКонтроля.Values(stVarControlData);  
  если (ПроверяемыеНаборы &lt;&gt; nil) 
    тогда результат := ПолучитьДетальИзПараметра(ПараметрыКонтроля, stVarControlData, НомерНабора)
    иначе начало
      ПроверяемыеНаборы := CreateVariables();
      ПараметрыКонтроля.Values(stVarControlData) := ПроверяемыеНаборы;
      результат := nil;      
   конец;
конец;

функция ВернутьНаборВПараметр(НомерПарам: целое; ПараметрыКонтроля: IVariables; НаборДанных: СтатическиеДанные);
переменные
  сч, КолПарам  : ЦЕЛОЕ;
  Параметры     : IVariables;
начало
  Параметры := ПараметрыКонтроля.Values(stVarControlData);
  если Параметры.Count &lt;= НомерПарам
    тогда начало
      КолПарам := Параметры.Count;
      от сч := КолПарам до НомерПарам делать
      начало
        Параметры.AddItems(ЦелоеВСтроку(сч));
        Параметры.Values(ЦелоеВСтроку(сч)) := nil;
      конец;        
    конец;
  Параметры.IndexValues(НомерПарам) := НаборДанных;       
конец;

функция ПолучитьПолеКлюч(МаппингКлючей: строка; ДоРавно, НомерПараметра: целое): строка;
переменные
  ВсеКлючи : Текст;
начало
  ВсеКлючи := СоздатьТекст();
  попытка
    ВсеКлючи.РазделенноеЗначение(",") := МаппингКлючей;
    если ДоРавно
      тогда результат := ВсеКлючи.ИмяПараметра(НомерПараметра)
      иначе результат := ВсеКлючи.ЗначениеПараметра(ВсеКлючи.ИмяПараметра(НомерПараметра));
  обязательно
    УдалитьОбъект(ВсеКлючи);
  конец;     
конец;

функция ПолучитьПараметрыОгр(Вид: целое; ПараметрыКонтроля: IVariables): IVariables;
начало
  если (ПараметрыКонтроля &lt;&gt; nil) тогда
  начало
    Результат := ПараметрыКонтроля.Values(КонтрольПараметры);
    // если Результат = nil, то считается, что это первый вызов: кПервыйВызов=да;
    // если Результат &lt;&gt; nil, то кПервыйВызов нельзя присваивать "нет", т.к. он может быть равен "да", если
    // первый контроль не выполнялся из-за фильтра заголовка или фильтра сумм по типу контроля
    // (если устанавливать "нет", то в макросах БК_ дата контроля будет высчитываться неверно, т.к. зависит от кПервыйВызов)
    если (Результат = nil) тогда
    начало
      Результат := СоздатьОграничения(Вид);
      ПараметрыКонтроля.Values(КонтрольПараметры) := Результат;
      Результат.Values(кПервыйВызов) := да;
    конец;
  конец
  иначе  
    Результат := СоздатьОграничения(Вид);
//  если (ПараметрыКонтроля &lt;&gt; nil) тогда Результат.SetValues(ПараметрыКонтроля, 0);
конец;

функция ПолучитьДанныеКонтроляЗапросом(Ограничения: IVariables; Запрос: строка): СтатическиеДанные;
переменные
  сч    : ЦЕЛОЕ;
начало
  Запрос := ДобавитьПоляКонтроля(Запрос);
  результат := СоздатьСтатическиеДанные();
  попытка
    результат.DefProps('ParamChar') := '@';
    результат.Запрос := '[PumpData] {' + Запрос + '}';
    от сч := 0 до Ограничения.Count-1 делать
    начало
      результат.параметр(Ограничения.Names(сч)) := Ограничения.IndexValues(сч);
    конец;  
    результат.СоединитьБД();
    результат.Открыть();
  неудача
    УдалитьОбъект(результат);
    ВызватьОшибку("Ошибка в функции 'ПолучитьДанныеКонтроляЗапросом': "+ ПоследняяОшибка);
  конец;  
конец;

функция ПолучитьДанныеПоЧастям(Источник: СтатическиеДанные; ПолеКлюч, Запрос : строка): СтатическиеДанные;
переменные
  Буф           : СтатическиеДанные;
  СписокКлючей  : IVariables;
начало
  Запрос := ДобавитьПоляКонтроля(Запрос);
  результат := СоздатьСтатическиеДанные();
  если Источник.ЧислоЗаписей  &lt;&gt; 0
    тогда СписокКлючей := GetLimits(Источник, 100, ПолеКлюч)
    иначе начало //если данных нет то выполнять запрос будем только для выбора недостающих полей 
      СписокКлючей := CreateVariables();
      СписокКлючей.AddItems("0");
      СписокКлючей.Values("0") := "-1";              
    конец;
  Буф := СоздатьСтатическиеДанные();
  попытка
    Буф.DefProps('ParamChar') := '@';
    Буф.Запрос := '[PumpData] {' + Запрос + '}';
    Буф.СоединитьБД;
    LoadCtrlDocs(результат, Буф, 'MasterID', СписокКлючей, Progress);
  обязательно  
    УдалитьОбъект(Буф); 
    УдалитьОбъект(СписокКлючей);
  конец;  
конец;

функция ВыделитьОтсутствующиеПоляДетали(Маппинг: строка; КартаПолей: IVariables; Реальный, Эталонный: СтатическиеДанные): строка;
//Вид контроля - на будущее для возможного разделения маппингов набора данных в зависимости от вида контроля
переменные      
  Ключи, ПоляСуммы,
  СвязьСЗаголовком,
  ссылкаНаЗаголовок,
  Классификаторы: строка;
начало
  Ключи := УбратьПробелы(КартаПолей.Values(кКлючи));
  Классификаторы := УбратьПробелы(КартаПолей.Values(кКлассификаторы));
  ссылкаНаЗаголовок := "";
  если УбратьПробелы(КартаПолей.Values(кСсылка)) &lt;&gt; ""
    тогда ссылкаНаЗаголовок := КартаПолей.Values(кСсылка) + "=" + КартаПолей.Values(кСсылка);
  СвязьСЗаголовком := УбратьПробелы(КартаПолей.Values(кСвязьСЗаголовком));
   
  ПоляСуммы := УбратьПробелы(КартаПолей.Values(кПоляСуммы));
  Маппинг := Ключи + ',';
  если ссылкаНаЗаголовок &lt;&gt; ""
    тогда Маппинг := Маппинг + ссылкаНаЗаголовок + ",";
  если СвязьСЗаголовком &lt;&gt; ""
    тогда Маппинг := Маппинг + СвязьСЗаголовком + ",";
  если (Классификаторы &lt;&gt; '') тогда Маппинг := Маппинг + Классификаторы + ',';
  Маппинг := Маппинг + ПоляСуммы;
  Маппинг := FixPumpMap(Маппинг, Эталонный);
  Результат := УбратьПробелы(CheckPumpMap(Реальный, Маппинг));
конец;
//возвращает перечень полей, которые нужны для выкачки из заголовка для проведения контроля, но их нет в переданном "Реальном"
функция ВыделитьОтсутствующиеПоляЗаголовка(Маппинг: строка; КартаПолей: IVariables; Реальный, Эталонный: СтатическиеДанные): строка;
//OUT Маппинг   - возвращаемый маппинг с учетом тех полей, которые только есть в эталоне
//IN  КартаПолей- хранилище маппингов для контроля
//IN  Реальный  - набор, откуда берутся данные полей по искомому маппингу
//IN  Эталонный - набор, подготовленный для заполнения его проверяемыми по раскладке шаблона   
переменные
  ПоляОгр, ВсеПоляЗаголовка,
  ПереносПолейПоШаблону : Текст;
  РуссИмяПоля : СТРОКА;
  индПоля, сч   : ЦЕЛОЕ;  
начало
  ПоляОгр := СоздатьТекст();
  ВсеПоляЗаголовка := СоздатьТекст(); 
  ПереносПолейПоШаблону := СоздатьТекст();
  попытка
    //оставляем в маппинге только поля, присутствующие в переданном эталонном наборе 
    ВсеПоляЗаголовка.РазделенноеЗначение(",") := УбратьПробелы(КартаПолей.Values(кПоляЗаголовока));
    ПереносПолейПоШаблону.РазделенноеЗначение(",") := FixPumpMap(ВсеПоляЗаголовка.РазделенноеЗначение(","), Эталонный);
    ПоляОгр.РазделенноеЗначение(",") := УбратьПробелы(КартаПолей.Values(кПоляОгрЗаголовка));
    //бежим по полям ограничений заголовка и смотрим есть ли это поле в эталонном наборе, если нет то хотя бы в общем маппинге полей заголовка
    //иначе ругань    
    от сч := 0 до ПоляОгр.Количество-1 делать
    начало
      РуссИмяПоля := ПоляОгр.Стр(сч);
      если не НайтиИмяВТексте(РуссИмяПоля, индПоля, ПереносПолейПоШаблону)
        тогда начало
          если НайтиИмяВТексте(РуссИмяПоля, индПоля, ВсеПоляЗаголовка)
            тогда ПереносПолейПоШаблону.Добавить(ВсеПоляЗаголовка.Стр(индПоля))
            иначе ВызватьОшибку(Формат(ОшибкаОтсутствияМаппингаПоляОгр, РуссИмяПоля));
        конец;
    конец;
    //возвращаем в параметр маппинг полей присутствующих в эталонном+то, что должно быть для полей ограничений
    Маппинг := ПереносПолейПоШаблону.РазделенноеЗначение(",");
    //возвращаем перечень полей из сфомированного маппинга, отсутствующих в реальном наборе заголовка  
    Результат := УбратьПробелы(CheckPumpMap(Реальный, Маппинг));
  обязательно
    УдалитьОбъект(ПереносПолейПоШаблону);
    УдалитьОбъект(ВсеПоляЗаголовка);    
    УдалитьОбъект(ПоляОгр);
  конец;  
конец;

функция ПолучитьДанныеДетали(НомерДетали: целое; ПараметрСвязки: строка; Документы: СтатическиеДанные; КартаПолей: IVariables): СтатическиеДанные;
переменные
  Ограничения   : IVariables;
  Запрос, КлючДетали,
  КлючЗаголовка : строка;                              
начало
  Запрос := КартаПолей.Values(кЗапрос);
  если (Запрос &lt;&gt; '') тогда
    начало
      КлючЗаголовка := КартаПолей.Values(ПараметрСвязки);
      если КартаПолей.CheckPAram(кОгрПоИДЗаписи) и КартаПолей.Values(кОгрПоИДЗаписи) тогда
      начало
        КлючДетали := ПолучитьПолеКлюч(КартаПолей.Values(кКлючи), нет, 0);
        Ограничения := CreateVariables();
        попытка
          Ограничения.VAlues("MasterID") := GetLimitStr(Документы, КлючЗаголовка); 
          Ограничения.VAlues("DetailID") := GetLimitStr(Документы, КлючДетали);
          результат := ПолучитьДанныеКонтроляЗапросом(Ограничения, Запрос);
        обязательно
          УдалитьОбъект(Ограничения);
        конец;
      конец  
      иначе результат := ПолучитьДанныеПоЧастям(Документы, КлючЗаголовка, Запрос);
    конец иначе
    начало //для линейного контроля берем документы заголовков
      результат := Документы;
    конец;
конец;
                         
функция ПолучитьДанныеЗаголовка(Отсутствующие, ПараметрСвязки: строка; Документы: СтатическиеДанные; КартаПолей: IVariables): СтатическиеДанные;
переменные
  Запрос, КлючЗаголовка : строка;
                
начало
  Запрос := УбратьПробелы(КартаПолей.Values(кЗапросЗаголовка));
  КлючЗаголовка := КартаПолей.Values(ПараметрСвязки);
  если (Запрос = '') тогда 
    ВозбудитьОшибку('Отсутствующие поля заголовка : ' + Отсутствующие);
  результат := ПолучитьДанныеПоЧастям(Документы, КлючЗаголовка, Запрос);
конец;

функция ЗанестиВЭталонныйНабор(ИсточникЭтоЗаголовок: целое; Маппинг: строка; Источник, Эталон: СтатическиеДанные; КартаПолей: IVariables);
переменные
  КлючЗаголовка,
  Ссылка,
  РусскоеПолеКлюч,                
  Отсутствующие : СТРОКА;
  местоположение: ЦЕЛОЕ;
начало
  Отсутствующие := УбратьПробелы(CheckPumpMap(Источник, Маппинг));
  если (Отсутствующие &lt;&gt; '') тогда
    ВозбудитьОшибку('Отсутствующие поля : ' + Отсутствующие);

  местоположение := Источник.BookMark;
  попытка
    если не ИсточникЭтоЗаголовок
      тогда начало
        РусскоеПолеКлюч := ПолучитьПолеКлюч(КартаПолей.Values(кКлючи), да, 0);      
        Эталон.GroupData(Источник, "KEYS=" + РусскоеПолеКлюч + ";default=false;" + ЗаменитьПодстроку(Маппинг, ",", ";"))//для детали
      конец  
      иначе начало
        КлючЗаголовка := КартаПолей.Values(кКлючЗаголовкаИзБазы);
        если УбратьПробелы(КартаПолей.Values(кСвязьСзаголовком)) &lt;&gt; ""
          тогда Ссылка := ПолучитьПолеКлюч(КартаПолей.Values(кСвязьСзаголовком), да, 0)
          иначе Ссылка := КартаПолей.Values(кСсылка);                
        JoinDetailData(КлючЗаголовка, Ссылка, Источник, Эталон, Маппинг);
      конец;
  обязательно
    Источник.BookMark := местоположение;
    Источник.FreeBookmark(местоположение);
  конец;    
конец;

функция ПородитьНедостающиеПоля(Источник, Приемник: СтатическиеДанные; ОтсутствующиеПоля: Текст; ОшибкаПриОтсутствииПоля: строка);
переменные
  ПолеИсточника: IField;
  сч: целое;
  ИмяПоляПриемника, ИмяПоляИсточн: строка;
начало          
  от сч := 0 до ОтсутствующиеПоля.Количество-1 делать
  начало
    если Позиция("=", ОтсутствующиеПоля.Стр(сч)) &gt; 0 тогда
    начало
      ИмяПоляПриемника := ОтсутствующиеПоля.ИмяПараметра(сч);  
      ИмяПоляИсточн := ОтсутствующиеПоля.ЗначениеПараметра(ИмяПоляПриемника);
    конец
    иначе
      начало
        ИмяПоляПриемника := ОтсутствующиеПоля.Стр(сч);
        ИмяПоляИсточн := ИмяПоляПриемника;
      конец;
      
    если не Источник.FindField(ИмяПоляИсточн, ПолеИсточника) тогда
    начало
      если УбратьПробелы(ОшибкаПриОтсутствииПоля) &lt;&gt; "" тогда
        ВызватьОшибку(Формат(ОшибкаПриОтсутствииПоля, ИмяПоляИсточн));
    конец
    иначе
      начало
        если не Приемник.FindField(ИмяПоляПриемника, nil) тогда
          выбрать ПолеИсточника.Тип из
            2,3,8: Приемник.ДобавитьЦелоеПоле(ИмяПоляПриемника);
            4,5,6,7: Приемник.ДобавитьДробноеПоле(ИмяПоляПриемника);
            иначе
              Приемник.ДобавитьСтроковоеПоле(ИмяПоляПриемника, ПолеИсточника.Размер).Размер := ПолеИсточника.Размер;
          конец;
      конец;
  конец;   
конец;

функция ПереносНедостающихПолейПоСвязке(Приемник, Источник: СтатическиеДанные; ПоляСвязиПриемника, ПоляСвязиИсточника, МаппингОтсутствующих: строка);
переменные
  ДляХранения           : СтатическиеДанные;
  МаппингПриемника,
  МаппингИсточника,
  ОтсутствующиеПоля     : Текст;
  СвязьНаборов          : строка;
  сч                    : целое;
начало
  ДляХранения := СоздатьСтатическиеДанные();
  ОтсутствующиеПоля := СоздатьТекст();
  попытка
    ДляХранения.ПрисвоитьПоля(Приемник);
    ДляХранения.Открыть();
    ДляХранения.Закачать(Приемник);
    
    Приемник.Clear();
    Приемник.Закрыть();
    //выделение списка отсутствующих полей
    ОтсутствующиеПоля.разделенноеЗначение(";") := МаппингОтсутствующих;
    //добавление полей
    ПородитьНедостающиеПоля(Источник, Приемник, ОтсутствующиеПоля, "Функция 'ПереносНедостающихПолейПоСвязке' отсутствует поле с именем: %s");
    Приемник.Открыть();
    Приемник.Закачать(ДляХранения);
    //поготовка связи
    СвязьНаборов := "";
    МаппингПриемника := СоздатьТекст();
    МаппингИсточника := СоздатьТекст();
    попытка 
      МаппингПриемника.РазделенноеЗначение(",") := ПоляСвязиПриемника;
      МаппингИсточника.РазделенноеЗначение(",") := ПоляСвязиИсточника;
      от сч := 0 до МаппингПриемника.Количество-1 делать
      начало
        СвязьНаборов := СвязьНаборов + МаппингПриемника.Стр(сч) + "=" + МаппингИсточника.Стр(сч) + ";";
      конец;
    обязательно
      УдалитьОбъект(МаппингПриемника);
      УдалитьОбъект(МаппингИсточника);
    конец;  
    Приемник.GroupData(Источник, "KEYS="+ПоляСвязиПриемника+";insert=false;default=false;"+СвязьНаборов+МаппингОтсутствующих);               
  обязательно
    УдалитьОбъект(ОтсутствующиеПоля);
    УдалитьОбъект(ДляХранения);
  конец;
конец;

функция ПереносНедостающихПолей(Приемник, Источник: СтатическиеДанные; ПолеКлюч, МаппингОтсутствующих: строка);
начало
  ПереносНедостающихПолейПоСвязке(Приемник, Источник, ПолеКлюч, ПолеКлюч, МаппингОтсутствующих);
конец;

//функция дописывает фильтр в раскладке шаблона контроля 
функция ДополнитьФильтрДляДанныхКонтроля(НаборРаскладок: ITemplates; ИмяФильтраРаскладки, СтрокаФильтра: строка; 
  ЗаменитьФильтр, ПроверятьГруппировку: целое);
переменные
  ИнфПоРаскладке: ITableInfoX;
  сч: целое;       
начало
  если СтрокаФильтра &lt;&gt; "" тогда
  начало
    от сч := 0 до (НаборРаскладок.Count - 1) делать
    начало
      ИнфПоРаскладке := НаборРаскладок.Items(сч).TableInfo;
      если (не ПроверятьГруппировку)
        или (ПроверятьГруппировку и ((ИнфПоРаскладке.Params(кГруппироватьПроверяемые) = 0)
                                    или (ИнфПоРаскладке.Params(кГруппироватьПроверяемые) = -1))) тогда
      начало
        если ЗаменитьФильтр или (ИнфПоРаскладке.Params(ИмяФильтраРаскладки) = "") тогда
          ИнфПоРаскладке.Params(ИмяФильтраРаскладки) := "(" + СтрокаФильтра + ")"
        иначе
          если Позиция(СтрокаФильтра, ИнфПоРаскладке.Params(ИмяФильтраРаскладки)) &lt; 1 тогда
            ИнфПоРаскладке.Params(ИмяФильтраРаскладки) := "(" + ИнфПоРаскладке.Params(ИмяФильтраРаскладки) + ") and (" + СтрокаФильтра + ")";
      конец;
    конец;
  конец;
конец;

//ДЛЯ НАСТРАИВАЕМЫХ ПАРАМЕТРОВ
//функция возвращает список полей, которые нужны для фильтрации проверяемого набора по настраиваемым параметрам,
//причем дублирующие поля, которые уже есть в МаппингВсехПолей, не записываются;
//маппинг соответствия параметров и полей задается константой Конст_СписокИМаппингНастраиваемых;
//функция также используется в ПоддержкаКонтроля.xml при формировании маппингов для полей КартаПолей.Values(кПоляЗаголовока) и
//КартаПолей.Values(кКлассификаторы), чтобы не потерять маппинги для требуемых полей (и чтобы не прописывать/не дублировать их в макросах БК_)
функция ПолучитьСписокПолейПоНастраивПараметрам(МаппингВсехПолей: строка; ОгрПараметры: IVariables): строка;
переменные
  НаимПараметра: строка;
  ТкстВсеНастраиваемые, ТкстСписокТребПолей: Текст;
  сч1, сч2: целое;
начало
  результат := "";
  ТкстВсеНастраиваемые := СоздатьТекст;
  ТкстСписокТребПолей := СоздатьТекст;
  попытка
    ТкстВсеНастраиваемые.РазделенноеЗначение(";") := Конст_СписокИМаппингНастраиваемых;
    от сч1 := 0 до (ТкстВсеНастраиваемые.Количество - 1) делать
    начало
      НаимПараметра := ТкстВсеНастраиваемые.ИмяПараметра(сч1);
      если УбратьПробелы(ОгрПараметры.Значение(НаимПараметра)) &lt;&gt; "" тогда
      начало
        ТкстСписокТребПолей.РазделенноеЗначение := ТкстВсеНастраиваемые.ЗначениеПараметра(НаимПараметра);
        от сч2 := 0 до (ТкстСписокТребПолей.Количество - 1) делать
          //если поле настраиваемого параметра в маппинге МаппингВсехПолей уже есть,
          //то мы его не добавляем в список, чтобы не было дублирования 
          если (Позиция(ТкстСписокТребПолей.Стр(сч2),МаппингВсехПолей) &lt; 1) и
            (Позиция(ТкстСписокТребПолей.Стр(сч2),результат) &lt; 1) тогда
            результат := результат + ТкстСписокТребПолей.Стр(сч2) + ","; 
      конец;
    конец;
    если результат &lt;&gt; "" тогда
      результат := Подстрока(результат,1,длина(результат)-1);
  обязательно
    УдалитьОбъект(ТкстВсеНастраиваемые,ТкстСписокТребПолей);
  конец;
конец;

//ДЛЯ НАСТРАИВАЕМЫХ ПАРАМЕТРОВ
//ДЛЯ МУЛЬТИКОНТРОЛЯ
//функция добавляет поля из СписокПолей в каждый статиксет из НаборПроверДанных, если эти поля есть в ПроверДанные
функция ДополнитьНастраивПолямиПроверНаборы(СписокПолей: строка; ПроверДанные: СтатическиеДанные; НаборПроверДанных: IVariables);
переменные
  СтатДанныеИзНабора, ВремДанные: СтатическиеДанные;
  ТкстСписокПолей: Текст;
  сч1           : целое;
начало
  если СписокПолей &lt;&gt; "" тогда
  начало
    ТкстСписокПолей := СоздатьТекст;
    ВремДанные := СоздатьСтатическиеДанные;
    попытка 
      ТкстСписокПолей.РазделенноеЗначение := СписокПолей;
      от сч1 := 0 до (НаборПроверДанных.Count - 1) делать
      начало
        СтатДанныеИзНабора := НаборПроверДанных.IndexValues(сч1);
        ВремДанные.ПрисвоитьПоля(СтатДанныеИзНабора);
        ВремДанные.Открыть;
        ВремДанные.Закачать(СтатДанныеИзНабора);
        СтатДанныеИзНабора.Закрыть;
        ПородитьНедостающиеПоля(ПроверДанные, СтатДанныеИзНабора, ТкстСписокПолей, "");
        СтатДанныеИзНабора.Открыть;
        СтатДанныеИзНабора.Закачать(ВремДанные);
        ВремДанные.Закрыть;
      конец;
    обязательно
      УдалитьОбъект(ТкстСписокПолей, ВремДанные);
    конец;
  конец;
конец;

//ДЛЯ НАСТРАИВАЕМЫХ ПАРАМЕТРОВ
//функция формирует фильтр по настраиваемым параметрам для эталонного набора и, если фильтр не пустой,
//дополняет список отсутствующих полей для дозакачки их потом через запросы, т.к. поля могут отсутствовать на инт-се и
// их может не быть в шаблоне; функция также дополняет маппинг для эталонного набора этими отсутсвующими полями
//для последующей перекачки данных из проверяемого набора в эталонный 
функция ФильтрИДополнОтсутствПоНастраиваемым(НомерСС: целое; МаппингОтсутствующих, МаппингЭталНабора: строка;
  ПроверяемыеСИнт: СтатическиеДанные; НастраивПарам, КартаПолейПарам: IVariables; МаппингОтсутствНастраив: строка): строка;
переменные
  НаимПараметра, НаимПоля, НаимПоляВПроверНаборе: строка;
  ТкстМаппингПолейКарты, ТкстВсеНастраиваемые, ТкстСпскПолейНастраив: Текст;
  сч1: целое;
  ОгрПоНастраиваемым: строка;
начало
  результат := "";
  МаппингОтсутствНастраив := "";

  ТкстВсеНастраиваемые := СоздатьТекст;
  ТкстСпскПолейНастраив := СоздатьТекст;
  ТкстМаппингПолейКарты := СоздатьТекст;

  попытка
    если НомерСС &gt; -1 тогда
      ТкстМаппингПолейКарты.РазделенноеЗначение := КартаПолейПарам.Значение(кКлассификаторы)
    иначе
      ТкстМаппингПолейКарты.РазделенноеЗначение := КартаПолейПарам.Значение(кПоляЗаголовока);
    
    ТкстВсеНастраиваемые.РазделенноеЗначение(";") := Конст_СписокИМаппингНастраиваемых;
    от сч1 := 0 до (ТкстВсеНастраиваемые.Количество - 1) делать
    начало
      НаимПараметра := ТкстВсеНастраиваемые.ИмяПараметра(сч1);
      если УбратьПробелы(НастраивПарам.Значение(НаимПараметра)) &lt;&gt; "" тогда
      начало
        ОгрПоНастраиваемым := "";
        НаимПоля := ТкстВсеНастраиваемые.ЗначениеПараметра(НаимПараметра);
        //если в маппинге полей из КартыПолей для соответствующего статиксета (заголовка или детали)
        //нет искомого поля, то ограничение по настраиваемому параметру не накладываем;
        //в КартуПолей маппинг по настраиваемым полям записывается в функции ОбщийКонтроль
        НаимПоляВПроверНаборе := ТкстМаппингПолейКарты.ЗначениеПараметра(НаимПоля);
        если НаимПоляВПроверНаборе &lt;&gt; "" тогда
        начало
          ОгрПоНастраиваемым := Ограничение((НаимПараметра + "=" + НаимПоля), НастраивПарам);
          если ОгрПоНастраиваемым &lt;&gt; "" тогда
          начало
            если (не ПроверяемыеСИнт.НайтиПоле(НаимПоляВПроверНаборе, nil)) и
              (Позиция(НаимПоляВПроверНаборе, МаппингОтсутствующих) &lt; 1) тогда
              если МаппингОтсутствующих = "" тогда
                МаппингОтсутствующих := НаимПоля + "=" + НаимПоляВПроверНаборе
              иначе
                МаппингОтсутствующих := МаппингОтсутствующих + "," + НаимПоля + "=" + НаимПоляВПроверНаборе;
            если (Позиция(НаимПоляВПроверНаборе, МаппингЭталНабора) &lt; 1) и
              (Позиция(НаимПоляВПроверНаборе, МаппингОтсутствНастраив) &lt; 1) тогда
              МаппингОтсутствНастраив := МаппингОтсутствНастраив + "," + НаимПоля + "=" + НаимПоляВПроверНаборе;
          конец;
        конец;
        //формируем строку фильтра по полям настраиваемых параметров
        если ОгрПоНастраиваемым &lt;&gt; "" тогда
          результат := результат + ОгрПоНастраиваемым;
      конец;
    конец;
    если результат &lt;&gt; "" тогда
    начало
      результат := Подстрока(результат, 6, длина(результат)-5); //убираем and в начале фильтра
      //запоминаем маппинг полей настраиваемых параметров для добавления и перекачки этих полей в эалонный набор
      если МаппингОтсутствНастраив &lt;&gt; "" тогда
      начало
        если МаппингЭталНабора = "" тогда
          МаппингЭталНабора := Подстрока(МаппингОтсутствНастраив, 2, длина(МаппингОтсутствНастраив)-1)
        иначе
          МаппингЭталНабора := МаппингЭталНабора + МаппингОтсутствНастраив;
        МаппингОтсутствНастраив := Подстрока(МаппингОтсутствНастраив, 2, длина(МаппингОтсутствНастраив)-1);
      конец;
    конец;
  обязательно
    УдалитьОбъект(ТкстВсеНастраиваемые, ТкстСпскПолейНастраив, ТкстМаппингПолейКарты);
  конец;
конец;

//Параметр с данными контроля теперь не в КартаПолей.Values(ГлобальныеПараметры)
//а в ПараметрыКонтроля.Values(stVarControlData)
//считается, что либо в параметре, либо переданный набор "Документы" СС существует   
функция ЗаполнитьДаннымиНабора(НомерНабора, ВидКонтроля: целое; Документы, ЭталонныйНабор: СтатическиеДанные; ПараметрыКонтроля: IVariables): СтатическиеДанные;
//1.    - либо набору из параметра(если он есть) либо по переданному набору "Документы" определяется маппинг полей для переноса в "эталонныйНабор"
//2.    - при отсутствии некоторых полей в наборе, необходимых для переноса в "эталонныйНабор", делаетя перевыборка недостающих запросом к базе в "Проверяемый набор"
//3.    - осуществляется перенос значений полей из "Документы" либо набора в параметрах тех что есть, недостающие из подкаченного из базы набора
//4.    -полученный набор (если докачивали из базы, то он) иначе выбранный из параметра  
переменные
  КартаПолей            : IVariables;
  СНедостающимиПолями,
  ПроверяемыйНабор      : СтатическиеДанные;
  ПолеКлюч,
  ЭталонныйМаппинг,
  МаппингПереноса,
  Отсутствующие         : строка;
  КонтрольПарам: IVariables;
  ФильтрНастраивПараметров, МаппингПолейНастраиваемых: строка;
  ПолеКлючЭталон: строка;                             
начало
  Отсутствующие := "";
  ФильтрНастраивПараметров := "";
  КонтрольПарам := ПараметрыКонтроля.Values(КонтрольПараметры);
  //проверка наличия достаточного набора данных для контроля
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  результат := СоздатьКоллекциюИПолучитьНабор(НомерНабора + 1, ПараметрыКонтроля);
  СНедостающимиПолями := nil;
  попытка    
    если (результат &lt;&gt; nil) и (ПараметрыКонтроля.Values(кВидНабораДанных) &lt;&gt; ctDetail)
      тогда ПроверяемыйНабор := результат
      иначе ПроверяемыйНабор := Документы;
    если НомерНабора &gt; -1 тогда //если набор заголовочный, то поля нужно брать из другого параметра в "Карте полей" 
      Отсутствующие := ВыделитьОтсутствующиеПоляДетали(ЭталонныйМаппинг, КартаПолей, ПроверяемыйНабор, ЭталонныйНабор)
    иначе
      Отсутствующие := ВыделитьОтсутствующиеПоляЗаголовка(ЭталонныйМаппинг, КартаПолей, ПроверяемыйНабор, ЭталонныйНабор);
    //Отсутствующие и ЭталонныйМаппинг дополняем в случае необходимости полями, которые нужны для ограничения по настраиваемым параметрам,
    //чтобы можно было выбрать недостающие поля запросами и перекачать в ЭталонныйНабор; формируем фильтр по полям настраиваемых параметров
    ФильтрНастраивПараметров := ФильтрИДополнОтсутствПоНастраиваемым(НомерНабора, Отсутствующие, ЭталонныйМаппинг, ПроверяемыйНабор,
      КонтрольПарам.Значение("НастройкиКонтроля"), КартаПолей, МаппингПолейНастраиваемых);

    //в случае недостачи полей выбираем через запрос из базы   
    если (Отсутствующие &lt;&gt; '') тогда 
      если НомерНабора &gt; -1
        тогда начало
          СНедостающимиПолями := ПолучитьДанныеДетали(НомерНабора, кСсылка, Документы, КартаПолей);
          МаппингПереноса := КартаПолей.Values(кКлючи);
          //при наличии определенного параметра связи детализации с заголовком заносим связь в маппинг
          если УбратьПробелы(КартаПолей.Values(кСвязьСЗаголовком)) &lt;&gt; ""
            тогда МаппингПереноса := МаппингПереноса + "," + КартаПолей.Values(кСвязьСЗаголовком);
          ПолеКлюч := ПолучитьПолеКлюч(КартаПолей.Values(кКлючи), нет, 0);
          //здесь для дальнейшего сохранения набора переносим в источник значения полей переданных в контроль, а не выбранные из базы
          //т.к. контроль мог быть вызван на какое-то внешнее действие, изменившее данные по отношению к версии записи в базе данных
          МаппингПереноса := ЗаменитьПодстроку(ЗаменитьЧастиМаппинга(нет, Отсутствующие), ",", ";");
          ПереносНедостающихПолей(ПроверяемыйНабор, СНедостающимиПолями, ПолеКлюч, МаппингПереноса);
        конец  
        иначе начало
          СНедостающимиПолями := ПолучитьДанныеЗаголовка(Отсутствующие, кКлючЗаголовка, Документы, КартаПолей);
          //заносим выбранные недостающие поля из СС с запросом в набор из параметров контроля
          //здесь для дальнейшего сохранения набора переносим в источник значения полей переданных в контроль, а не выбранные из базы
          //т.к. контроль мог быть вызван на какое-то внешнее действие, изменившее данные по отношению к версии записи в базе данных
          ПолеКлюч := КартаПолей.Values(кКлючЗаголовка);
          МаппингПереноса := ЗаменитьПодстроку(ЗаменитьЧастиМаппинга(нет, Отсутствующие), ",", ";");
          ПереносНедостающихПолей(ПроверяемыйНабор, СНедостающимиПолями, ПолеКлюч, МаппингПереноса);
        конец;

    //если сформирован фильтр по настраиваемым параметрам, то нужно его записать в фильтр раскладки,
    //иначе если просто отфильтровать проверяемые данные, то результат контроля некуда будет записывать, либо он будет неверным
    если ФильтрНастраивПараметров &lt;&gt; "" тогда
    начало
      //если есть отсутствующие поля, то их нужно добавить в эталонный набор
      если МаппингПолейНастраиваемых &lt;&gt; "" тогда
      начало
        если НомерНабора &gt; -1 тогда
        начало
          ПолеКлюч := ПолучитьПолеКлюч(КартаПолей.Values(кКлючи), нет, 0);
          ПолеКлючЭталон := ПолучитьПолеКлюч(КартаПолей.Values(кКлючи), да, 0)
        конец
        иначе
          начало
            ПолеКлюч := КартаПолей.Values(кКлючЗаголовка);
            ПолеКлючЭталон := КартаПолей.Values(кКлюч);
          конец;
        ПереносНедостающихПолейПоСвязке(ЭталонныйНабор, ПроверяемыйНабор, ПолеКлючЭталон, ПолеКлюч, ЗаменитьПодстроку(МаппингПолейНастраиваемых, ",", ";"));
      конец;
      //запомним фильтр в раскладке
      ДополнитьФильтрДляДанныхКонтроля(КонтрольПарам.Значение(кОписаниеШаблона), кОбщийФильтрПроверяемых, ФильтрНастраивПараметров, 0, 0);
    конец;
    // !для поддержки инт. 02.09: для детали при контроле с инт-са (в ЭталонныйНабор уже будет спец. поле для закачки id реальных деталей)
    // нужно дополнить маппинг перекачки маппингом для спец. поля (для контроля из системы состояний все будет стандартно через первую деталь)
    если (НомерНабора &gt; -1) и ЭталонныйНабор.НайтиПоле(КартаПолей.Значение(кДопКлюч)) тогда
      ЭталонныйМаппинг := ЭталонныйМаппинг + "," + КартаПолей.Значение(кДопКлюч) + "=" + КартаПолей.Значение(кДопКлюч);
    //перенос данных с учетом докаченных недостающих полей в эталонный набор согласно маппинга          
    ЗанестиВЭталонныйНабор(НомерНабора = -1, ЭталонныйМаппинг, ПроверяемыйНабор, ЭталонныйНабор, КартаПолей);
    если (ПараметрыКонтроля.Values(кВидНабораДанных) &lt;&gt; ctDetail) тогда        
      ВернутьНаборВПараметр(НомерНабора + 1, ПараметрыКонтроля, ПроверяемыйНабор);    
    результат := ПроверяемыйНабор;
  обязательно 
    если СНедостающимиПолями &lt;&gt; nil
      тогда УдалитьОбъект(СНедостающимиПолями); 
  конец;          
конец;

функция ЗаполнитьЛинейНабором(ВидКонтроля: целое; Шаблон: ITemplates; ПараметрыКонтроля: IVariables; Документы, ЭталонныйНабор: СтатическиеДанные);
переменные
  КартаПолей, КонтрольПарам: IVariables;
  ПроверяемыйНабор, ДанныеИзПараметра: СтатическиеДанные;
  СНедостающимиПолями: СтатическиеДанные;
  Ключи, ПоляЗаголовка, ПолеКлюч, Запрос, ПоляСуммы: строка;
  Отсутствующие, Маппинг, ПолеКлючЭталон, МаппингПереноса: строка;  
  ФильтрНастраивПараметров, МаппингОтсутствПолейНастраив: строка;  
начало
  КартаПолей := ПараметрыКонтроля.Values(КонтрольКартаПолей);
  КонтрольПарам := ПараметрыКонтроля.Values(КонтрольПараметры);
  Ключи := УбратьПробелы(КартаПолей.Values(кКлючи));
  ПоляЗаголовка := УбратьПробелы(КартаПолей.Values(кПоляЗаголовока));
  ПоляСуммы := УбратьПробелы(КартаПолей.Values(кПоляСуммы));
  Запрос := КартаПолей.Values(кЗапросЗаголовка);
  ПолеКлюч := КартаПолей.Values(кКлючЗаголовка);
  СНедостающимиПолями := nil;
  попытка
    ДанныеИзПараметра := СоздатьКоллекциюИПолучитьНабор(0, ПараметрыКонтроля);
    если ДанныеИзПараметра &lt;&gt; nil тогда
      ПроверяемыйНабор := ДанныеИзПараметра
    иначе
      ПроверяемыйНабор := Документы;  
    //формирование маппинга для перекачки
    Маппинг := Ключи + ',' + ПоляСуммы;
    если ПоляЗаголовка &lt;&gt; '' тогда Маппинг := Маппинг  + ',' + ПоляЗаголовка;
    // определяем, есть ли отсутствующие поля
    Отсутствующие := УбратьПробелы(CheckPumpMap(ПроверяемыйНабор, Маппинг));
    Маппинг := FixPumpMap(Маппинг, ЭталонныйНабор);
    //Отсутствующие и Маппинг дополняем в случае необходимости полями, которые нужны для ограничения по настраиваемым параметрам,
    //чтобы можно было выбрать недостающие поля запросами и перекачать в ЭталонныйНабор; формируем фильтр по полям настраиваемых параметров
    ФильтрНастраивПараметров := ФильтрИДополнОтсутствПоНастраиваемым(-1, Отсутствующие, Маппинг, ПроверяемыйНабор,
      КонтрольПарам.Значение("НастройкиКонтроля"), КартаПолей, МаппингОтсутствПолейНастраив);
    //если есть отсутствующие в проверяемом наборе поля, то закачиваем их через запросы
    если Отсутствующие &lt;&gt; "" тогда
    начало
      СНедостающимиПолями := ПолучитьДанныеЗаголовка(Отсутствующие, кКлючЗаголовка, Документы, КартаПолей);
      МаппингПереноса := ЗаменитьПодстроку(ЗаменитьЧастиМаппинга(нет, Отсутствующие), ",", ";");
      ПереносНедостающихПолей(ПроверяемыйНабор, СНедостающимиПолями, ПолеКлюч, МаппингПереноса);
    конец; 
    //если сформирован фильтр по настраиваемым параметрам, то нужно его записать в фильтр раскладки,
    //иначе если просто отфильтровать проверяемые данные, то результат контроля некуда будет записывать, либо он будет неверным
    если ФильтрНастраивПараметров &lt;&gt; "" тогда
    начало
      //если есть отсутствующие поля, то их нужно добавить в эталонный набор
      если МаппингОтсутствПолейНастраив &lt;&gt; "" тогда
      начало
        ПолеКлючЭталон := ПолучитьПолеКлюч(Ключи, да, 0);
        ПереносНедостающихПолейПоСвязке(ЭталонныйНабор, ПроверяемыйНабор, ПолеКлючЭталон, ПолеКлюч, ЗаменитьПодстроку(МаппингОтсутствПолейНастраив, ",", ";"));
      конец;
      //запомним фильтр в раскладке
      ДополнитьФильтрДляДанныхКонтроля(КонтрольПарам.Значение(кОписаниеШаблона), кОбщийФильтрПроверяемых, ФильтрНастраивПараметров, 0, 0);
    конец;
    //перенос данных с учетом докаченных недостающих полей в эталонный набор согласно маппинга          
    ЭталонныйНабор.PumpData(ПроверяемыйНабор, Маппинг);
    СоздатьКоллекциюИЗапомнитьНабор(0, ПроверяемыйНабор, ПараметрыКонтроля);
  обязательно 
    если СНедостающимиПолями &lt;&gt; nil
      тогда УдалитьОбъект(СНедостающимиПолями); 
  конец;          
конец;

//проверка присутствия записей в заголовке после наложения фильтра заголовка 
функция НуженКонтроль(Заголовок, ЭталонныйНабор: СтатическиеДанные; Шаблон: ITemplates; КартаПолей : IVariables): целое;
переменные
  Отсутствующие, Маппинг, Карта: строка;  //для определения и выбора недостающих полей в набор заголовков
  ФильтрРезультата, ФильтрОдногоШаблона: строка; 
  Раскладка: ITableInfoX;
  ПроверяемыйНабор: СтатическиеДанные;
  сч: целое; 
начало
  результат := нет;
  ФильтрРезультата := '(1&lt;&gt;1)';
  от сч := 0 до (Шаблон.Count - 1) делать
  начало
    Раскладка := Шаблон.Items(сч).TableInfo;
    ФильтрОдногоШаблона := УбратьПробелы(Раскладка.Params('CaptionFilter'));
    результат := (ФильтрОдногоШаблона = "") или результат;    
    если не результат тогда
      фильтрРезультата := фильтрРезультата + ' or (' + ФильтрОдногоШаблона + ")";
  конец;
  // накладываем фильтр и проверяем, останутся ли проверяемые данные
  если не результат тогда
  начало
    //при наличии фильтра докачка недостающих полей заголовка
    Отсутствующие := ВыделитьОтсутствующиеПоляЗаголовка(Маппинг, КартаПолей, Заголовок, ЭталонныйНабор);
    если УбратьПробелы(Отсутствующие) &lt;&gt; "" тогда
      ПроверяемыйНабор := ПолучитьДанныеЗаголовка(Отсутствующие, кКлючЗаголовка, Заголовок, КартаПолей)
    иначе
      ПроверяемыйНабор := Заголовок;
    попытка  
      //проверка наличия записей подходящих под фильтр   
      Карта := КартаПолей.Values(кПоляЗаголовока);
      ПроверяемыйНабор.Фильтр := TransFilter(фильтрРезультата, Карта);
      результат := (ПроверяемыйНабор.RecordCount &lt;&gt; 0);
    обязательно
      ПроверяемыйНабор.Фильтр := '';
      если УбратьПробелы(Отсутствующие) &lt;&gt; "" тогда
        УдалитьОбъект(ПроверяемыйНабор);         
    конец;  
  конец;
конец;

// по параметру из общих настроек шаблона(шаблонов) optGroupControlDataSet функция определяет,
// установлена ли группировка проверямых данных; optGroupControlDataSet = Группировать данные проверяемого множества:
// 0 - не группировать
// 1 - группировать 
// 2 - переносить суммы -- по этому значению проверяемые данные группируются
// 3 - отключить стандартный контроль (с группировкой) 
// -1 - отключить стандартный контроль (без группировки) 
функция ГруппироватьПроверяемые(НаборРаскладок: ITemplates): целое;
переменные
  ИнфПоРаскладке: ITableInfoX;
  сч: целое;       
начало
  от сч := 0 до (НаборРаскладок.Count - 1) делать
  начало
    ИнфПоРаскладке := НаборРаскладок.Items(сч).TableInfo;
    если (ИнфПоРаскладке.Params(кГруппироватьПроверяемые) = 0) или (ИнфПоРаскладке.Params(кГруппироватьПроверяемые) = -1) тогда
    начало
      результат := 0;
      сч := НаборРаскладок.Count; // встретили "не группировать", выходим из цикла
    конец
    иначе
      результат := 1;
  конец;
конец;

функция ФильтрДляТипаКонтроля(ИнвертСуммы: целое): строка;
начало
  если ИнвертСуммы тогда
    результат := "&lt;-0.005"
  иначе результат := "&gt;0.005";  
конец;
// по типу контроля (ControlType) накладываем соответствующий фильтр на проверяемые данные
// и определяем, остались ли данные для контроля; здесь проверяемые данные окончательно не фильтруем, фильтрация
// в делфевой функции контроля
функция НуженКонтрольПоТипуКонтроля(ВидКонтроля: целое; Параметры, Карта: IVariables;
  НаборПроверДанных: СтатическиеДанные; ВсеРаскладки: ITemplates) : целое;
переменные
  СтатДанные: СтатическиеДанные;
  Фильтр, ФильтрЗначСумм: строка;
  ПоляСуммы, ИмяПоля: строка;
  Маппинг: Текст;
  ИнвертКонтроль, сч: целое;
начало
  результат := 1;
  // если контроль увеличения или уменьшения сумм, то будем накладывать фильтр на проверяемые данные
  если (Параметры.Values(cControlType) = 1) или (Параметры.Values(cControlType) = 2) тогда
    // причем будем накладывать фильтр по суммам, если проверяемые данные не будут группироваться
    если не ГруппироватьПроверяемые(ВсеРаскладки) тогда
    начало
      ПоляСуммы := УбратьПробелы(Карта.Values(кПоляСуммы));
      ПоляСуммы := FixPumpMap(ПоляСуммы, НаборПроверДанных);
      если ПоляСуммы &lt;&gt; "" тогда
      начало
        ИнвертКонтроль := ИнвертированныйКонтроль(ВидКонтроля);
        
        СтатДанные := СоздатьСтатическиеДанные;
        Маппинг := СоздатьТекст;
        Фильтр := "";
        попытка
          СтатДанные.ПрисвоитьПоля(НаборПроверДанных);
          СтатДанные.Открыть;
          СтатДанные.Закачать(НаборПроверДанных);
          если ИнвертКонтроль тогда
            InvertSum(СтатДанные, ПоляСуммы);
          //формируем по полям сумм проверяемых данных фильтр
          Маппинг.РазделенноеЗначение := ПоляСуммы; 
          от сч := 0 до (Маппинг.Количество - 1) делать
          начало
            ИмяПоля := Маппинг.ИмяПараметра(сч);
            //для Дебета из доходов все наоборот
            если (Прописные(Маппинг.ЗначениеПараметра(ИмяПоля)) = "DEBIT") тогда
            начало
              //контроль увеличения сумм
              если Параметры.Values(cControlType) = 1 тогда
                ФильтрЗначСумм := ФильтрДляТипаКонтроля(не ИнвертКонтроль)
              иначе
                //контроль уменьшения сумм
                ФильтрЗначСумм := ФильтрДляТипаКонтроля(ИнвертКонтроль);
            конец
            иначе
              начало
                //контроль увеличения сумм
                если Параметры.Values(cControlType) = 1 тогда
                  ФильтрЗначСумм := ФильтрДляТипаКонтроля(ИнвертКонтроль)
                иначе
                  //контроль уменьшения сумм
                  ФильтрЗначСумм := ФильтрДляТипаКонтроля(не ИнвертКонтроль);                  
              конец;
            Фильтр := Фильтр + "or("+ ИмяПоля + ФильтрЗначСумм + ")";
          конец;
          если Фильтр &lt;&gt; "" тогда
          начало
            сч := Позиция("(",Фильтр);
            Фильтр := Подстрока(Фильтр,сч,(Длина(Фильтр)-сч+1))
          конец;  
          СтатДанные.Фильтр := Фильтр;
          результат := (СтатДанные.ЧислоЗаписей &gt; 0);
          //если проверяемые данные фильтруются, и все равно остаются записи для проверки, то надо запомнить фильтр,
          //в делфевой функции контроля фильтры для проверяемых данных из шаблона  накапливаются в фильтре Filter
          если результат тогда
            ДополнитьФильтрДляДанныхКонтроля(ВсеРаскладки, кОбщийФильтрПроверяемых, Фильтр, 0, 1);
        обязательно
          УдалитьОбъект(СтатДанные,Маппинг);
        конец;    
      конец;
    конец;
конец;

// заполнение поля ErrControlList: если результат контроля с ошибкой, то добавляем код контроля в список непрошедших 
// контроль, если этого кода еще нет; если контроль пройден, то удаляем код контроля из непрошедших, если он там есть 
функция ЗаполнитьСписокНепройденных(ИДЗаголовка, СсылкаНаЗаголовок: строка; ссДанные, ссПроверДанные: СтатическиеДанные; КодБК: строка);
переменные
  ссДоп: СтатическиеДанные;
  пСписокОшибок, пРезБК, пСсылка: Поле;
  Ткст: Текст;
  сч: целое;
  ФильтрПроверДанных: строка;
начало
  если ссДанные.НайтиПоле(ErrControlList, пСписокОшибок) и (КодБК &lt;&gt; "") тогда
  начало
    ссДоп := СоздатьСтатическиеДанные;
    Ткст := СоздатьТекст;
    попытка
      Ткст.Сортированый := да;
      Ткст.Дубликаты := нет;

      ссДоп.ДобавитьЦелоеПоле(СсылкаНаЗаголовок);
      ссДоп.ДобавитьЦелоеПоле(ControlResult);
      ссДоп.Открыть;
      ФильтрПроверДанных := ссПроверДанные.Фильтр; 
      ссПроверДанные.Фильтр := "ControlResult &gt; -1";
      ссДоп.Группировать(ссПроверДанные, "keys=" + СсылкаНаЗаголовок + ";" + СсылкаНаЗаголовок + "=" + СсылкаНаЗаголовок +
        ";ControlResult=max(ControlResult)");
      
      ссДанные.Индекс := ИДЗаголовка;
      пСсылка := ссДоп.ПолеПоИмени(СсылкаНаЗаголовок);
      пРезБК := ссДоп.ПолеПоИмени(ControlResult);
      ссДоп.ВНачало;
      пока не ссДоп.ВКонце делать
      начало
        ссДанные.SetScope(ArrayOf(пСсылка.КакЦелое));
        Ткст.РазделенноеЗначение := пСписокОшибок.КакСтрока;
        // если результат контроля содержит ошибку (tcrGeneral=1), то добавляем код контроля в список непройденных
        если пРезБК.КакЦелое &gt; tcrGeneral тогда
          Ткст.Добавить(КодБК)
        иначе
          // иначе ищем код в списке, и, если он там есть, удаляем из списка
          начало
            сч := Ткст.Поиск(КодБК);
            если сч &gt; -1 тогда Ткст.Удалить(сч);
          конец;            
        пСписокОшибок.КакСтрока := Ткст.РазделенноеЗначение;
        ссДоп.Следующий;
      конец;
    обязательно
      ссПроверДанные.Фильтр := ФильтрПроверДанных;
      ссДанные.CancelRange;
      ссДанные.Индекс := "";
      УдалитьОбъект(ссДоп, Ткст);
    конец;
  конец;
конец;

// функция выполняет скрипт проверямых данных из шаблона, для которого добавлена служебная колонка IsProcessingControlData;
// колонка будет принимать значение "да" (данные будут проверяться) или "нет";
// если кто-то уже скрыл колонку, мы ее не открываем (не вычисляем)
функция ВыполнитьСкриптФильтраПроверяемых(ссДанные: СтатическиеДанные; Раскладка: ITableInfoX; Парам: IVariables);
переменные
  СтарыйФильтр: строка;
начало
  СтарыйФильтр := ссДанные.Фильтр;
  попытка 
    ссДанные.Фильтр := "(" + фПроверяемыеВОбработке + " is null) or (" + фПроверяемыеВОбработке + " &lt;&gt; 0)";
    CalcDataSet(ссДанные, Раскладка, Mapper, nil, Парам, ecfControlFilterScript);
  обязательно
    ссДанные.Фильтр := СтарыйФильтр;
  конец;
конец;

// выполнять или нет процедуры контроля проверяем 2 раза: сначала при наложении CaptionFilter, потом при наложении
// общего фильтра (CaptionFilter + по типу контроля + по настраиваемым параметрам + IsProcessingControlData + старый Filter) 
функция ВыполнятьКонтрольПослеФильтра(ВидКонтроля: целое; ссДанные: СтатическиеДанные; СтрокаФильтра: строка) : целое;
переменные
  КолЗап: целое;
  СтрФильтр: строка;
начало
  КолЗап := ссДанные.ЧислоЗаписей;
  если КолЗап = 0 тогда
    СтрФильтр := ""
  иначе
    СтрФильтр := СтрокаФильтра;
  если СтрФильтр &lt;&gt; "" тогда ссДанные.Фильтр := СтрФильтр;
  // контроль выполняется, если после наложения фильтра остались записи, подлежащие проверке, или
  // записей не было изначально и это предконтроль (для возможности ввода данных на инт-с через форму предконтроля)  
  результат := ((ссДанные.ЧислоЗаписей &lt;&gt; 0) или ((КолЗап = 0) и (ВидКонтроля = ctxPrior)));
конец;

// !для поддержки инт. 02.09; функция формирует ограничение на начальные остатки по id реальной детали, которые хранятся
// в спец. поле второй детали (для контроля из системы состояний не требуется, т.к. там все стандартно через первую деталь) 
функция СформироватьСпецОграничения(ВидКонтроля: целое; ссДанные: СтатическиеДанные; Парам: IVariables);
переменные
  КартаПолей: IVariables;
  пДопКлюч: Поле;
  ДопКлюч, СтрОгр: строка;
начало
  если не КонтрольСостояний(ВидКонтроля) тогда
  начало
    КартаПолей := Парам.Значение(КонтрольКартаПолей);
    если КартаПолей.ПараметрСуществует(кДопКлюч) тогда
    начало
      ДопКлюч := КартаПолей.Значение(кДопКлюч);
      если ссДанные.НайтиПоле(ДопКлюч, пДопКлюч) тогда
      начало
        СтрОгр := "";
        ссДанные.ВНачало;
        пока не ссДанные.ВКонце делать
        начало
          если УбратьПробелы(пДопКлюч.КакСтрока) &lt;&gt; "" тогда
            СтрОгр := СтрОгр + "," + УбратьПробелы(пДопКлюч.КакСтрока);
          ссДанные.Следующий;
        конец;
        если СтрОгр &lt;&gt; "" тогда
          Парам.Значение("КодЗаписи") := '#' + Подстрока(СтрОгр, 2, Длина(СтрОгр) - 1);
      конец;
    конец;  
  конец;
конец;



</value>
    <param value="ПоддержкаФорм_яПроверяемых.abl" type="3" name="Export">MARAEVA7\baranova\22.04.2013 13:11:51</param>
    <param value="ПоддержкаФорм_яПроверяемых.abl" type="3" name="version">36.223.03</param>
    <param value="ПоддержкаФорм_яПроверяемых.abl" type="3" name="crc32">$D8ADB85F</param>
  </node>
  <node path="Бюджет\Объекты\Контроль\Настройки">
    <value type="3" name="Скрипты контроля">{11658671-B992-11D4-BBAA-008048DEE085}='БК_КазнРеестр'
{4A94FF93-8318-11D3-A207-008048CA149C}='БК_КазнПП'
{4A94FF94-8318-11D3-A207-008048CA149C}='БК_КазнЧеки'
{4A94FF95-8318-11D3-A207-008048CA149C}='БК_КазнРазассигновка'
{5EF70940-1335-11D3-8D70-008048FB76DB}='БК_Распоряжения'
{6F13EBB1-6B6B-11D3-B8EF-008048FB9814}='БК_Лимиты'
{71AC5C21-C89D-11D5-9B9B-5254AB1A8A09}='К_АдминКонтроль'
{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}='БК_Ссуды'
{82D199F0-814C-11D3-A203-008048CA149C}='БК_КазнПриходОтПрочих'
{4A94FF92-8318-11D3-A207-008048CA149C}='БК_КазнПриходПоОбъявлениям'
{96EFE3F0-6F34-11D2-A865-00500454E75E}='БК_КазнПереброска'
{B172F5A1-F8D6-11D3-9358-008048C7055B}='БК_ЗаявкиКазначейства'
{BED689E2-1569-11D2-BA42-008048E67EC1}='БК_Роспись'
{C82317A5-DD72-4C97-B03D-F91C187B31BE}='БК_Обязательства'
{CE465041-04CB-4D7F-BB37-6E9C38C9F617}='БК_Заявки'
{F2761231-512D-475E-9F01-18B974DE93BE}='БК_СводРаспоряжения_Фин','БК_СводРаспоряжения_ПогашениеПроцента','БК_СводРаспоряжения_ВыдачаСсуд'
{4F1E9A81-1007-11D6-8B59-00C026EF7D4C}='БК_КонсМесячныеОтчеты'
{E17513C0-2847-11D2-BAFC-000021670177}='БК_МесячныеОтчеты'
{A7DD8A02-ACE2-41C6-B219-9D7B7F74D728}='К_АдминКонтрольБК'</value>
    <param value="Скрипты контроля" type="3" name="version">36.223.03</param>
    <param value="Скрипты контроля" type="3" name="crc32">$D6713E57</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Контроль">
    <value type="7" name="ФункцииДляКонтроляСхемыСостояний.abl">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";

включить "\Библиотеки\Variables.lib";
включить "\Библиотеки\SysUtils.lib";
включить "\Библиотеки\Statics.lib";
включить "\Библиотеки\pather.lib";
включить "\Библиотеки\Documents.lib";
включить "\Библиотеки\DataTools.lib";
включить "\Библиотеки\ABLTools.lib";

константы
  nl = #13#10;
  КодОб = 7000000;
  УзелМакрос = "Бюджет\Ресурсы\Состояния\Действия\";

переменные
  ПройденныеСост, Транс: Variant;
  КоличВсехСост : целое;

функция ПолучитьСостояния(КодДок : целое; Ограничение : строка) : СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат.СоединитьБД;
    результат.Запрос := '[PumpData] ' + nl +
                        '{SELECT sd.id, sd.DocTypeRef, sd.StateNumber, sd.StateTypeRef, sd.StateOrder ' + nl +
                        ' FROM State_DocStates sd ' + nl +
                        ' WHERE (sd.DocTypeRef = ' + целоевстроку(КодДок) + ') ' + Ограничение + nl +
                        ' Order By sd.StateNumber }';
    результат.Открыть;
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец;  
конец;

функция ПолучитьПереходы(КодДок : целое; Ограничение : строка) : СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат.СоединитьБД;
    результат.Запрос := '[PumpData]' + nl +
                        '{SELECT sj.id, sj.DocTypeRef, sj.BeginStateRef, s1.StateNumber BeginState, s1.StateTypeRef, ' + nl +
                        ' sj.EndStateRef, s2.StateNumber EndState, sj.BackJump ' + nl +
                        ' FROM  State_Jumps sj ' + nl +
                        ' left join State_DocStates s1 on (s1.Id = sj.BeginStateRef) ' + nl +
                        ' left join State_DocStates s2 on (s2.Id = sj.EndStateRef) ' + nl +
                        ' WHERE (sj.DocTypeRef = ' + целоевстроку(КодДок) + ') ' + Ограничение + nl +
                        ' }';
    результат.Открыть;
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец;  
конец;

функция ПолучитьИДПереходовСПравами(Ограничение : строка) : СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат.СоединитьБД;
    результат.Запрос := "[PumpData]" + nl +
                        "{SELECT distinct r.objref, dbu.username  " + nl +
                        " FROM UsersRights r " + nl +
                        " left join dbusers dbu on (r.userref=dbu.id) " + nl +
                        " WHERE (r.objectkindref="+ЦелоеВСтроку(КодОб)+") and ((r.IsReject is null) or (r.IsReject = 0)) " + nl + 
                          Ограничение + " } " + nl +
                        "{SELECT distinct r.objref, dbu.username  " + nl +
                        " FROM groupsrights r " + nl +
                        " left join usersingroups uig on (r.groupref=uig.groupref) " + nl +
                        " left join dbusers dbu on (uig.userref=dbu.id) " + nl +
                        " WHERE (r.objectkindref="+ЦелоеВСтроку(КодОб)+") and ((r.IsReject is null) or (r.IsReject = 0))" + nl +
                          Ограничение + " }";
    результат.Открыть;
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец;  
конец;

/*функция ПолучитьИДПереходовСПравами(КодДок : целое; Ограничение : строка) : СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат.СоединитьБД;
    результат.Запрос := "[PumpData]" + nl +
                        "{SELECT ur.objref, dbu.username " + nl +
                        " FROM UsersRights ur " + nl +
                        " left join dbusers dbu on (ur.userref=dbu.id) " + nl +
                        " left join State_Jumps sj on (ur.objref=sj.id) " + nl +
                        " WHERE (sj.DocTypeRef = " + целоевстроку(КодДок) + ") and (ur.objectkindref="+ЦелоеВСтроку(КодОб)+") " + nl + 
                        " and ((ur.IsReject is null) or (ur.IsReject = 0)) " + Ограничение + " } " + nl +
                        "{SELECT gr.objref, dbu.username " + nl +
                        " FROM groupsrights gr " + nl +
                        " left join State_Jumps sj on (gr.objref=sj.id) " + nl +
                        " left join usersingroups uig on (gr.groupref=uig.groupref) " + nl +
                        " left join dbusers dbu on (uig.userref=dbu.id) " + nl +
                        " WHERE (sj.DocTypeRef = " + целоевстроку(КодДок) + ") and (gr.objectkindref="+ЦелоеВСтроку(КодОб)+") " + nl +
                        " and ((gr.IsReject is null) or (gr.IsReject = 0)) " + Ограничение + " }";
    результат.Открыть;
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец;  
конец;*/

функция ПолучитьИДПереходовВклВДействия(КодДок : целое; Ограничение : строка) : СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат.СоединитьБД;
    результат.Запрос := '[PumpData]' + nl +
                        '{SELECT saj.ActionRef, saj.JumpRef, ' + nl + 
                        ' sj.BeginStateRef, s1.StateTypeRef BeginType, sj.EndStateRef, s2.StateTypeRef EndType, sa.Name ' + nl +
                        ' FROM STATE_ACTIONJUMPS saj ' + nl +
                        ' left join State_Actions sa on (sa.Id = saj.ActionRef)' + nl +
                        ' left join State_Jumps sj on (sj.Id = saj.JumpRef)' + nl +
                        ' left join State_DocStates s1 on (s1.Id = sj.BeginStateRef) ' + nl +
                        ' left join State_DocStates s2 on (s2.Id = sj.EndStateRef) ' + nl +
                        ' WHERE (sa.DocTypeRef = ' + целоевстроку(КодДок) + ') ' + Ограничение + nl +
                        ' }';
    результат.Открыть;
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец;  
конец;

функция ПолучитьДействия(КодДок : целое; Ограничение : строка) : СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат.СоединитьБД;
    результат.Запрос := '[PumpData]' + nl +
                        '{SELECT sa.id, sa.DocTypeRef, sa.ActionName, sa.ActEvent, sa.IconName, sa.Name ' + nl +
                        ' FROM  State_Actions sa ' + nl +
                        ' WHERE (sa.DocTypeRef = ' + целоевстроку(КодДок) + ') ' + Ограничение + nl +
                        ' }';
    результат.Открыть;
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец;  
конец;

функция ПолучитьСценарий(КодДок, ТипСценария : целое) : СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  попытка
    результат.СоединитьБД;
    если ТипСценария = 1 тогда
      результат.Запрос := '[PumpData]' + nl +
                          '{SELECT sjc.ControlCode ' + nl +
                          ' FROM State_JumpControl sjc '  + nl +
                          ' JOIN State_Jumps sj ON sjc.JumpRef = sj.ID ' + nl +
                          ' WHERE (sj.DocTypeRef = ' + целоевстроку(КодДок) + ') AND (sjc.RecordType = 3) ' + nl +
                          ' }'
    иначе
      результат.Запрос := '[PumpData]' + nl +
                          '{SELECT sjc.ControlCode ' + nl +
                          ' FROM State_JumpControl sjc ' + nl +
                          ' JOIN State_Actions sa ON sjc.ActionRef = sa.ID ' + nl +
                          ' WHERE (sa.DocTypeRef = ' + целоевстроку(КодДок) + ') AND (sjc.RecordType = 4) AND (sa.IsBudget IN (0,1))' + nl +
                          ' }';                          
    результат.Открыть;
  неудача
    ВызватьОшибку(ПоследняяОшибка);
  конец;  
конец;

функция НайтиЗначение(МассивПоиска : Variant; НомерСост, Кол : целое) : целое;
переменные
  сч : целое;
начало
  результат := -1;
  от сч := 0 до (Кол-1) делать
    если МассивПоиска.КакЦелое(сч) = НомерСост тогда результат := сч;

  если результат &lt; 0
    тогда ВызватьОшибку("Значение в массиве не найдено (функция НайтиЗначение)");    
конец;

функция ОбходСхемы(ТекущееСост : целое; ПереходыДокумента : СтатическиеДанные; УчетНаправления : целое);
переменные
  ном_сост, след_сост : целое;
начало
  след_сост := -1;
  ном_сост := -1;
  
  ПройденныеСост.КакЦелое(НайтиЗначение(Транс,ТекущееСост,КоличВсехСост)) := "1";

  ПереходыДокумента.ВНачало;
  пока (не ПереходыДокумента.ВКонце) и (след_сост = -1) делать
  начало
    // куда дальше шагать
    выбрать УчетНаправления из
    0 : начало
          если ПереходыДокумента.ПолеПоИмени("BeginState").КакЦелое = ТекущееСост
            тогда ном_сост := ПереходыДокумента.ПолеПоИмени("EndState").КакЦелое
            иначе 
              если ПереходыДокумента.ПолеПоИмени("EndState").КакЦелое = ТекущееСост
                тогда ном_сост := ПереходыДокумента.ПолеПоИмени("BeginState").КакЦелое
                иначе ном_сост := -1;
        конец;
    1 : начало
          если ПереходыДокумента.ПолеПоИмени("BeginState").КакЦелое = ТекущееСост
            тогда ном_сост := ПереходыДокумента.ПолеПоИмени("EndState").КакЦелое
            иначе ном_сост := -1;
        конец;
     конец;           

    // если ещё там не были
    если ном_сост &lt;&gt; -1 тогда
      если ПройденныеСост.КакЦелое(НайтиЗначение(Транс,ном_сост,КоличВсехСост)) = 0
        тогда след_сост := ном_сост;  

    если след_сост &lt;&gt; -1
      тогда
        начало
          ОбходСхемы(след_сост,ПереходыДокумента,УчетНаправления);
          ПереходыДокумента.ВНачало; // идем сначала статиксета переходов 
          след_сост := -1;          // чтобы не было зацикливания
        конец   
      иначе ПереходыДокумента.Следующий;

  конец;

конец;

функция ЧислоСвязанных(ПройденныеСост : Variant) : целое;
переменные
  сч : целое;
начало
  результат := 0;
  от сч := 0 до (КоличВсехСост-1) делать
    если ПройденныеСост.КакЦелое(сч) = 1 тогда результат := результат + 1;
конец;

// дополнительная функция обхода и вычисления результата для проверки достижимости
функция ВыполнениеДостижимости(КодДок : целое; ссСостояния, ссПереходы : СтатическиеДанные; СписокРез : строка) : целое;
переменные
  СостоянияНач, Состояния_НЕНач : СтатическиеДанные;
  ТекСост, сч, КоличНЕНачСост : целое;
  ПройденныеНЕНач, ТрансНЕНач: Variant;
начало
  // выбираем отдельно начальные состояния и неначальные
  СостоянияНач := ПолучитьСостояния(КодДок," and (sd.StateTypeRef in (0,4)) ");
  Состояния_НЕНач := ПолучитьСостояния(КодДок," and (not (sd.StateTypeRef in (0,4))) ");
  КоличНЕНачСост := Состояния_НЕНач.ЧислоЗаписей;

  ПройденныеСост := CreateVariant;
  ПройденныеСост.VarArrayOf(0);
  ПройденныеСост.VarArrayRedim(КоличВсехСост);

  Транс := CreateVariant;
  Транс.VarArrayOf(0);
  Транс.VarArrayRedim(КоличВсехСост);

  // Заполняем массив с номерами всех состояний
  ссСостояния.ВНачало;
  от сч := 0 до (КоличВсехСост-1) делать
  начало
    если не ссСостояния.ВКонце тогда 
      начало
        Транс.КакЦелое(сч) := ссСостояния.ПолеПоИмени("StateNumber").КакЦелое;
        ссСостояния.Следующий;
      конец;  
  конец;

  ПройденныеНЕНач := CreateVariant;
  ПройденныеНЕНач.VarArrayOf(0);
  ПройденныеНЕНач.VarArrayRedim(КоличНЕНачСост);

  ТрансНЕНач := CreateVariant;
  ТрансНЕНач.VarArrayOf(0);
  ТрансНЕНач.VarArrayRedim(КоличНЕНачСост);

  // Заполняем массив неначальных состояний нулями (состояния пока не достигнуты)
  // Заполняем массив с номерами неначальных состояний
  Состояния_НЕНач.ВНачало;
  от сч := 0 до (КоличНЕНачСост-1) делать
  начало
    ПройденныеНЕНач.КакЦелое(сч) := 0;
    если не Состояния_НЕНач.ВКонце тогда 
      начало
        ТрансНЕНач.КакЦелое(сч) := Состояния_НЕНач.ПолеПоИмени("StateNumber").КакЦелое;
        Состояния_НЕНач.Следующий;
      конец;  
  конец;
 
  попытка
    // Идем по списку начальных состояний и фиксируем достигнутые из этих состояний вершины
    СостоянияНач.ВНачало;
    пока не СостоянияНач.ВКонце делать
    начало

      // Для каждой начальной вершины считаем все состояния непройденными
      от сч := 0 до (КоличВсехСост-1) делать
        ПройденныеСост.КакЦелое(сч) := 0;

      ТекСост := СостоянияНач.ПолеПоИмени("StateNumber").КакЦелое;
      ОбходСхемы(ТекСост,ссПереходы,1);
      
      // Если в списке всех пройденных за текущий обход состояний есть достигнутые неначальные состояния,
      // то помеченаем их в списке для неначальных состояний как достигнутые
      от сч := 0 до (КоличНЕНачСост-1) делать
        если ПройденныеСост.КакЦелое(НайтиЗначение(Транс,(ТрансНЕНач.КакЦелое(сч)),КоличВсехСост)) = 1
          тогда ПройденныеНЕНач.КакЦелое(сч) := 1;

      СостоянияНач.Следующий;
    конец;  

    // Определяем список недостигнутых состояний и результат функции
    от сч := 0 до (КоличНЕНачСост-1) делать
      если  ПройденныеНЕНач.КакЦелое(сч) = 0 тогда СписокРез := СписокРез + ТрансНЕНач.КакСтрока(сч) + ",";

    если СписокРез &lt;&gt; "" тогда
     начало
       СписокРез := подстрока(СписокРез,1,(длина(СписокРез)-1));
       результат := 0;
     конец
     иначе результат := 1;  

   обязательно
     ПройденныеСост.VarClear;
     Транс.VarClear;
     ПройденныеНЕНач.VarClear;
     ТрансНЕНач.VarClear;
   конец;    
конец;

//------------------------------------------Обязательные правила------------------------------------------//

// функция проверки связанности графа состояний
функция ВыполняетсяПравилоСостоянияСвязаны(КодДокумента : целое; СписокНесвязанных : строка) : целое;
переменные
  ДанСостояния, ДанПереходы : СтатическиеДанные;
  ТекСост, сч, макс, чс : целое;
  РезПройденные: Variant;
начало
  СписокНесвязанных := "";

  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    ДанПереходы := ПолучитьПереходы(КодДокумента, "");
    если ДанПереходы.ЧислоЗаписей &gt; 0 тогда
    начало
      макс := 0;

      ПройденныеСост := CreateVariant;
      ПройденныеСост.VarArrayOf(0);
      ПройденныеСост.VarArrayRedim(КоличВсехСост);

      РезПройденные := CreateVariant;
      РезПройденные.VarArrayOf(0);
      РезПройденные.VarArrayRedim(КоличВсехСост);

      Транс := CreateVariant;
      Транс.VarArrayOf(0);
      Транс.VarArrayRedim(КоличВсехСост);

      попытка
        // Заполняем массив результирующих состояний нулями (состояния не связаны)
        // Заполнение массива с номерами состояний
        ДанСостояния.ВНачало;
        от сч := 0 до (КоличВсехСост-1) делать
        начало
          РезПройденные.КакЦелое(сч) := 0;
          если не ДанСостояния.ВКонце тогда 
            начало
              Транс.КакЦелое(сч) := ДанСостояния.ПолеПоИмени("StateNumber").КакЦелое;
              ДанСостояния.Следующий;
            конец;  
        конец;
        
        ДанСостояния.ВНачало;
        пока не ДанСостояния.ВКонце делать
        начало

          // Считаем все состояния несвязанными
          от сч := 0 до (КоличВсехСост-1) делать
            ПройденныеСост.КакЦелое(сч) := 0;

          ТекСост := ДанСостояния.ПолеПоИмени("StateNumber").КакЦелое;
          ОбходСхемы(ТекСост,ДанПереходы,0);
          
          // Запоминаем максимально число пройденных связанных состояний и пройденные состояния
          чс := ЧислоСвязанных(ПройденныеСост);
          если чс &gt; макс тогда
            начало 
              макс := чс;
              от сч := 0 до (КоличВсехСост-1) делать
                РезПройденные.КакЦелое(сч) := ПройденныеСост.КакЦелое(сч);
            конец;  

          ДанСостояния.Следующий;
        конец;  

        // Определяем список несвязанных состояний и результат функции
        от сч := 0 до (КоличВсехСост-1) делать
          если  РезПройденные.КакЦелое(сч) = 0 тогда СписокНесвязанных := СписокНесвязанных + Транс.КакСтрока(сч) + ",";
        если СписокНесвязанных &lt;&gt; "" тогда
         начало
           СписокНесвязанных := подстрока(СписокНесвязанных,1,(длина(СписокНесвязанных)-1));
           результат := 0;
         конец
         иначе результат := 1;

      обязательно
        ПройденныеСост.VarClear;
        Транс.VarClear;
        РезПройденные.VarClear;
      конец    

    конец
    иначе   //нет переходов
      начало
        результат := 0;
        // Все состояния будут несвязанными, формируем из них список
        ДанСостояния.ВНачало;
        пока не ДанСостояния.ВКонце делать
        начало
          СписокНесвязанных := СписокНесвязанных + ДанСостояния.ПолеПоИмени("StateNumber").КакСтрока + ",";
          ДанСостояния.Следующий;
        конец;
          СписокНесвязанных := подстрока(СписокНесвязанных,1,(длина(СписокНесвязанных)-1));
      конец;  
    
  конец
  иначе результат := 0; //нет состояний

конец;

// функция проверки достижимости графа состояний
функция ВыполняетсяПравилоДостижимости(КодДокумента : целое; СписокНедостижимых : строка) : целое;
переменные
  ДанСостояния, ДанПереходы : СтатическиеДанные;
начало
  СписокНедостижимых := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // выбираем все необратные переходы
    ДанПереходы := ПолучитьПереходы(КодДокумента, " and ((sj.BackJump is null) or (sj.BackJump = 0)) ");

    результат := ВыполнениеДостижимости(КодДокумента,ДанСостояния,ДанПереходы,СписокНедостижимых);

  конец
  иначе результат := 0;

конец;

// функция проверки существования у неконечных и неотклоненных состояний
// переходов (обратные и переходы "сам в себя" не учитываются) 
функция ВыполняетсяПравилоЕстьПереходы(КодДокумента : целое; СписокНеверныхСостояний : строка) : целое;
переменные
  ДанСостоянияВсе, ДанСостояния, ДанПереходы : СтатическиеДанные;
начало
  СписокНеверныхСостояний := "";

  // выбираем все состояния схемы
  ДанСостоянияВсе := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостоянияВсе.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // выбираем неконечные и неотклоненные состояния
    ДанСостояния := ПолучитьСостояния(КодДокумента, " and (not (sd.StateTypeRef in (1,2,5))) ");
    // выбираем необратные и переходы "не сам в себя"
    ДанПереходы := ПолучитьПереходы(КодДокумента, " and ((sj.BackJump is null) or (sj.BackJump = 0)) and (sj.BeginStateRef &lt;&gt; sj.EndStateRef) ");
    
    ДанСостояния.ВНачало;
    ДанПереходы.ВНачало;

    пока не ДанСостояния.ВКонце делать
    начало
      если не ДанПереходы.Локализовать("BeginState",(ДанСостояния.ПолеПоИмени("StateNumber").КакЦелое),0) тогда
        начало
          СписокНеверныхСостояний := СписокНеверныхСостояний + ДанСостояния.ПолеПоИмени("StateNumber").КакСтрока + ",";
        конец;
      ДанСостояния.Следующий;
    конец;

    если СписокНеверныхСостояний &lt;&gt; "" тогда
     начало
       СписокНеверныхСостояний := подстрока(СписокНеверныхСостояний,1,(длина(СписокНеверныхСостояний)-1));
       результат := 0;
     конец
     иначе результат := 1;  
  
  конец
  иначе результат := 0;

конец;

// функция проверки существования хотя бы одного начального (начального пользовательского) состояния
// и хотя бы одного конечного состояния 
функция ВыполняетсяПравилоНачалКонечСостояния(КодДокумента : целое; НетСостояний : строка) : целое;
переменные
  ДанСостоянияВсе, ДанСостояния : СтатическиеДанные;
начало
  НетСостояний := "";

  // выбираем все состояния схемы
  ДанСостоянияВсе := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостоянияВсе.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // выбираем начальные (начальные пользовательские) и конечные состояния
    ДанСостояния := ПолучитьСостояния(КодДокумента, " and (sd.StateTypeRef in (0,2,4)) ");
    ДанСостояния.ВНачало;

    если ДанСостояния.ЧислоЗаписей &gt; 0 тогда
      начало
       // выбираем начальные и начальные пользовательские состояния
        ДанСостояния.Фильтр := "StateTypeRef &lt;&gt; 2";
        если ДанСостояния.ЧислоЗаписей = 0
          тогда НетСостояний := "В схеме состояний отсутствуют начальные состояния";
        
        ДанСостояния.Фильтр := "";
       // выбираем конечные состояния
        ДанСостояния.Фильтр := "StateTypeRef = 2";
        если ДанСостояния.ЧислоЗаписей = 0
          тогда НетСостояний := "В схеме состояний отсутствуют конечные состояния";
        
      конец
      иначе НетСостояний := "В схеме состояний отсутствуют начальные и конечные состояния";

    если НетСостояний &lt;&gt; ""
      тогда результат := 0
      иначе результат := 1;  
  
  конец
  иначе результат := 0;

конец;

//------------------------------------------Предупредительные правила------------------------------------------//

// функция проверки достижимости графа состояний с использованием только тех прямых переходов,
// на которые выданы права
функция ВыполняетсяПравилоДостижимостиСПравами(КодДокумента : целое; СписокНедостижимых : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ПереходыСПравами : СтатическиеДанные;
начало
  СписокНедостижимых := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // выбираем необратные переходы документа
    ДанПереходы := ПолучитьПереходы(КодДокумента, " and ((sj.BackJump is null) or (sj.BackJump = 0)) ");
    //определяем, даны ли кому-то (пользователю или группе) права на выбранные переходы
    если ДанПереходы.ЧислоЗаписей &gt; 0 тогда
      ПереходыСПравами := ПолучитьИДПереходовСПравами(" and (r.objref in ("+GetLimitStr(ДанПереходы,"id")+")) ")
    иначе  
      ПереходыСПравами := ПолучитьИДПереходовСПравами(" and (r.objref is null) ");

    //оставляем только те переходы, на которые даны права
    ДанПереходы.Фильтр := "id in ("+GetLimitStr(ПереходыСПравами,"objref")+")";
    результат := ВыполнениеДостижимости(КодДокумента,ДанСостояния,ДанПереходы,СписокНедостижимых);

  конец
  иначе результат := 0;

конец;  

// функция проверки достижимости графа состояний с использованием только тех прямых переходов,
// которые включены в действия
функция ВыполняетсяПравилоДостижимостиСДейств(КодДокумента : целое; СписокНедостижимых : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ПерехВклВДейств : СтатическиеДанные;
начало
  СписокНедостижимых := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    ПерехВклВДейств := ПолучитьИДПереходовВклВДействия(КодДокумента, "");
    если ПерехВклВДейств.ЧислоЗаписей &gt; 0 тогда
      // выбираем те необратные переходы, которые включены в действия
      ДанПереходы := ПолучитьПереходы(КодДокумента, " and ((sj.BackJump is null) or (sj.BackJump = 0)) and (sj.id in ("+GetLimitStr(ПерехВклВДейств,"JumpRef")+")) ")
    иначе  
      ДанПереходы := ПолучитьПереходы(КодДокумента, " and (sj.id is null) ");

    результат := ВыполнениеДостижимости(КодДокумента,ДанСостояния,ДанПереходы,СписокНедостижимых);

  конец
  иначе результат := 0;

конец;

// функция проверки, на все ли переходы даны права
функция ВыполняетсяПравилоПраваНаПереходы(КодДокумента : целое; СписокПерехБезПрав : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ПереходыСПравами : СтатическиеДанные;
  ПереходВычСтр : строка;
начало
  СписокПерехБезПрав := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  // выбираем все переходы документа
  ДанПереходы := ПолучитьПереходы(КодДокумента, "");
  если (КоличВсехСост &gt; 0) и (ДанПереходы.ЧислоЗаписей &gt; 0) тогда
  начало
    //определяем, даны ли кому-то (пользователю или группе) права на выбранные переходы
    ПереходыСПравами := ПолучитьИДПереходовСПравами(" and (r.objref in ("+GetLimitStr(ДанПереходы,"id")+")) ");
      
    //оставляем только те переходы, на которые НЕ даны права
    ДанПереходы.Фильтр := "not (id in ("+GetLimitStr(ПереходыСПравами,"objref")+"))";

    ПереходВычСтр := "";
    ДанПереходы.ВНачало;
    // формируем список переходов, на которые нет прав
    пока не ДанПереходы.ВКонце делать
    начало
      ПереходВычСтр := ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("BeginState").AsInteger,"00",0);
      ПереходВычСтр := ПереходВычСтр + "-" + ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("EndState").AsInteger,"00",0);
      СписокПерехБезПрав := СписокПерехБезПрав + ПереходВычСтр + ",";
      ДанПереходы.Следующий;
    конец;

    если СписокПерехБезПрав &lt;&gt; "" тогда
     начало
       СписокПерехБезПрав := подстрока(СписокПерехБезПрав,1,(длина(СписокПерехБезПрав)-1));
       результат := 0;
     конец
     иначе результат := 1;  

  конец
  иначе результат := 0;

конец;

// функция проверки, все ли переходы привязаны в действиям
функция ВыполняетсяПравилоПерехВклВДейств(КодДокумента : целое; СписокПерехБезДейств : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ПерехВклВДейств : СтатическиеДанные;
  ПереходВычСтр : строка;
начало
  СписокПерехБезДейств := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  // выбираем все переходы документа
  ДанПереходы := ПолучитьПереходы(КодДокумента, "");
  если (КоличВсехСост &gt; 0) и (ДанПереходы.ЧислоЗаписей &gt; 0) тогда
  начало
    // выбираем из базы все id переходов, которые включены в действия
    ПерехВклВДейств := ПолучитьИДПереходовВклВДействия(КодДокумента, "");
    // выбираем все переходны, которых нет в списке переходов, включенных в действия 
    ДанПереходы.Фильтр := "not (id in ("+GetLimitStr(ПерехВклВДейств,"JumpRef")+"))";
    ПереходВычСтр := "";
    ДанПереходы.ВНачало;
    // формируем список переходов, на которые нет прав
    пока не ДанПереходы.ВКонце делать
    начало
      ПереходВычСтр := ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("BeginState").AsInteger,"00",0);
      ПереходВычСтр := ПереходВычСтр + "-" + ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("EndState").AsInteger,"00",0);
      СписокПерехБезДейств := СписокПерехБезДейств + ПереходВычСтр + ",";
      ДанПереходы.Следующий;
    конец;

    если СписокПерехБезДейств &lt;&gt; "" тогда
     начало
       СписокПерехБезДейств := подстрока(СписокПерехБезДейств,1,(длина(СписокПерехБезДейств)-1));
       результат := 0;
     конец
     иначе результат := 1;  

  конец
  иначе результат := 0;

конец;

// функция нахождения пользователей, имеющих права на переходы из более чем одного состояния с типом "Начальное состояние"
функция НахождПользПраваНаНачСостояния(КодДокумента : целое; СписокПользователей : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ПереходыСПравами, ДопССПрава : СтатическиеДанные;
  ном, колич : целое;
  стр : строка;
начало
  СписокПользователей := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  // выбираем все переходы документа
  ДанПереходы := ПолучитьПереходы(КодДокумента, "");
  если (КоличВсехСост &gt; 0) и (ДанПереходы.ЧислоЗаписей &gt; 0) тогда
  начало
    // выбираем всех пользователей, которым даны права на переходы текущего документа
    ПереходыСПравами := ПолучитьИДПереходовСПравами(" and (r.objref in ("+GetLimitStr(ДанПереходы,"id")+")) ");
    //оставляем переходы из состояний с типом "Начальное состояние", на которые даны права
    ДанПереходы.Фильтр := "(StateTypeRef=0) and (id in ("+GetLimitStr(ПереходыСПравами,"objref")+"))";

    ном := -1;
    колич := 0;
    стр := "";
    ДанПереходы.Индекс := "BeginState";
    ДанПереходы.ВНачало;
    // считаем в статиксете переходов количество разных начальных состояний
    // и запоминаем id этих переходов
    пока не ДанПереходы.ВКонце делать
    начало
      если ном &lt;&gt; ДанПереходы.ПолеПоИмени("BeginState").КакЦелое тогда
        начало
          колич := колич + 1;
          стр := стр + ДанПереходы.ПолеПоИмени("id").КакСтрока + ",";
        конец;  
      ном := ДанПереходы.ПолеПоИмени("BeginState").КакЦелое;
      ДанПереходы.Следующий;
    конец;
    
    // если в статиксете переходов количество разных начальных состояний больше одного
    // то из статиксета с правами берем записи с переходами из начальных состояний
    если колич &gt; 1 тогда
      начало
        ПереходыСПравами.Фильтр := "objref in (" + подстрока(стр,1,(длина(стр)-1)) + ")";

        если ПереходыСПравами.ЧислоЗаписей &gt; 0 тогда
        начало
          // нам нужен дополнительный статиксет, чтобы определить,
          // что для пользователя назначено право на более, чем один, переход из начального состояния
          ДопССПрава := СоздатьСтатическиеДанные;
          ДопССПрава.ПрисвоитьПоля(ПереходыСПравами);
          ДопССПрава.Открыть;
          ДопССПрава.Закачать(ПереходыСПравами,"");
          
          ПереходыСПравами.Индекс := "username";
          ПереходыСПравами.ВНачало;
          стр := "";
          пока не ПереходыСПравами.ВКонце делать
          начало
            если стр &lt;&gt; ПереходыСПравами.ПолеПоИмени("username").КакСтрока тогда
            начало
              ДопССПрава.Фильтр := "";
              ДопССПрава.Фильтр := "username='"+ПереходыСПравами.ПолеПоИмени("username").КакСтрока+"'";
              если ДопССПрава.ЧислоЗаписей &gt; 1 тогда
                СписокПользователей := СписокПользователей + ПереходыСПравами.ПолеПоИмени("username").КакСтрока + ", ";
            конец;
            стр := ПереходыСПравами.ПолеПоИмени("username").КакСтрока; 
            ПереходыСПравами.Следующий;
          конец;
        конец;  
      конец;
      
    если СписокПользователей &lt;&gt; "" тогда
    начало
      СписокПользователей := подстрока(СписокПользователей,1,(длина(СписокПользователей)-2));
      результат := 1;
    конец  
    иначе
      начало
        СписокПользователей := "Нет пользователей, имеющих права на переходы из нескольких начальных состояний";
        результат := 0;
      конец;

  конец
  иначе результат := 0;

конец;  

// функция нахождения переходов "из А в Б" и "из Б в А", когда ни один не помечен как обратный, либо ни один не помечен, как прямой
функция ВыполняетсяПравилоНетЦиклПереходов(КодДокумента : целое; СписокСостояний : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ДанПерехДоп : СтатическиеДанные;
  ПереходВычСтр : строка;
начало
  СписокСостояний := "";

  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // выбираем все переходы, кроме переходов "сам в себя" (петель)
    ДанПерехДоп := ПолучитьПереходы(КодДокумента, " and (sj.BeginStateRef &lt;&gt; sj.EndStateRef) ");

    // делаем копию статиксета переходов и добавляем поле флага для отметки нужных нам переходов
    ДанПереходы := СоздатьСтатическиеДанные;
    ДанПереходы.ПрисвоитьПоля(ДанПерехДоп);
    ДанПереходы.ДобавитьЦелоеПоле("Flag");
    ДанПереходы.Открыть;
    ДанПереходы.Закачать(ДанПерехДоп);

    ДанПереходы.Индекс := "BeginState";
    ДанПереходы.ВНачало;
    пока не ДанПереходы.ВКонце делать
    начало
      // если среди переходов есть перевернутый относительно текущего переход и у него флаг "Обратный" такой же, как и у прямого перехода,
      // то считаем, что это циклические переходы и устанавливаем у текущего прямого перехода флаг для отметки в 1  
      ДанПерехДоп.Фильтр := "((BeginState="+ДанПереходы.ПолеПоИмени("EndState").КакСтрока+") and (EndState="+ДанПереходы.ПолеПоИмени("BeginState").КакСтрока+"))";
      если (ДанПерехДоп.ЧислоЗаписей &gt; 0) и (ДанПереходы.ПолеПоИмени("BackJump").КакЦелое = ДанПерехДоп.ПолеПоИмени("BackJump").КакЦелое)
        тогда ДанПереходы.ПолеПоИмени("Flag").КакЦелое := 1
        иначе ДанПереходы.ПолеПоИмени("Flag").КакЦелое := 0; 

      // чтобы в статиксете переходов не помечать флагом перевернутый относительно текущего переход,
      // то удаляем из дополнительного статиксета с переходами перевернутый и прямой переходы
      ДанПерехДоп.Очистить;
      ДанПерехДоп.Фильтр := "((BeginState="+ДанПереходы.ПолеПоИмени("BeginState").КакСтрока+") and (EndState="+ДанПереходы.ПолеПоИмени("EndState").КакСтрока+"))";
      ДанПерехДоп.Очистить;
      
      ДанПереходы.Следующий;
    конец;

    // из основного статиксета с переходами выбираем те, которые отмечены флагом,
    // и формируем список циклических переходов с учетом того, что у нас помечен только один переход из двух циклических
    ДанПереходы.ВНачало;
    пока не ДанПереходы.ВКонце делать
    начало
      если ДанПереходы.ПолеПоИмени("Flag").КакЦелое = 1 тогда
        начало
          ПереходВычСтр := ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("BeginState").AsInteger,"00",0);
          ПереходВычСтр := ПереходВычСтр + "-" + ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("EndState").AsInteger,"00",0);
          СписокСостояний := СписокСостояний + ПереходВычСтр + ",";
          ПереходВычСтр := ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("EndState").AsInteger,"00",0);
          ПереходВычСтр := ПереходВычСтр + "-" + ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("BeginState").AsInteger,"00",0);
          СписокСостояний := СписокСостояний + ПереходВычСтр + ";";
        конец;
      ДанПереходы.Следующий;
    конец;

    если СписокСостояний &lt;&gt; "" тогда
     начало
       СписокСостояний := подстрока(СписокСостояний,1,(длина(СписокСостояний)-1));
       результат := 0;
     конец
     иначе результат := 1;  

  конец
  иначе результат := 0;

конец;

// функция проверки наличия переходов, одновременно входящих в действие Бюджета
// и в действие УРМ
функция ВыполняетсяПравилоНетПереходовБюджетИУрм(КодДокумента: целое; СписокПереходов: строка) : целое;
переменные
  ДанСостояния, ДанПереходыБюджет, ДанПереходыУРМ: СтатическиеДанные;
  ПереходВычСтр: строка;
начало
  СписокПереходов := '';
  
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало  
    ДанПереходыБюджет := ПолучитьИДПереходовВклВДействия(КодДокумента, " and (sa.IsBudget = 1) ");
    ДанПереходыБюджет.Группировать(ДанПереходыБюджет, "keys=JumpRef;Insert=False");
    ДанПереходыУРМ := ПолучитьИДПереходовВклВДействия(КодДокумента, " and (sa.IsBudget = 2) ");
    ДанПереходыУРМ.Группировать(ДанПереходыУРМ, "keys=JumpRef;Insert=False"); 
  
    // если переход встретился в обеих выборках, то запоминаем его  
    ДанПереходыБюджет.ВНачало;
    пока не ДанПереходыБюджет.ВКонце  делать
    начало
      если ДанПереходыУРМ.Search("JumpRef",МассивИз(ДанПереходыБюджет.ПолеПоИмени("JumpRef").КакЦелое)) тогда
      начало
        ПереходВычСтр := ФорматироватьКлассификатор(ДанПереходыБюджет.ПолеПоИмени("BeginStateRef").AsInteger,"00.00.00");
        ПереходВычСтр := ПереходВычСтр + "-" + ФорматироватьКлассификатор(ДанПереходыБюджет.ПолеПоИмени("EndStateRef").AsInteger,"00.00.00");
        СписокПереходов := СписокПереходов + ПереходВычСтр + ";";   
      конец;
      ДанПереходыБюджет.Следующий
    конец;
  
    если СписокПереходов &lt;&gt; "" тогда
    начало
      СписокПереходов := подстрока(СписокПереходов,1,(длина(СписокПереходов)-1));
      результат := 0;
    конец
    иначе 
      результат := 1;     
  
  конец
  иначе 
    результат := 0;      
      
конец;

// дополнительная функция обхода и вычисления результата для проверки обратной достижимости
функция ВыполнениеОбратДостижимости(КодДок : целое; ссСостояния, ссПереходы : СтатическиеДанные; СписокРез : строка) : целое;
переменные
  СостоянияНач, Состояния_НЕНач : СтатическиеДанные;
  ТекСост, сч, КоличНЕНачСост, КоличНачСост, естьнач : целое;
  НЕВозврат, ТрансНЕВозврат, ПройденныеНач, ТрансНач : Variant;
  СписокВозвр, СписокНач : строка;
начало
  // выбираем отдельно начальные состояния и неначальные
  СостоянияНач := ПолучитьСостояния(КодДок," and (sd.StateTypeRef in (0,4)) ");
  КоличНачСост := СостоянияНач.ЧислоЗаписей;

  Состояния_НЕНач := ПолучитьСостояния(КодДок," and (not (sd.StateTypeRef in (0,4))) ");
  КоличНЕНачСост := Состояния_НЕНач.ЧислоЗаписей;

  ПройденныеСост := CreateVariant;
  ПройденныеСост.VarArrayOf(0);
  ПройденныеСост.VarArrayRedim(КоличВсехСост);

  Транс := CreateVariant;
  Транс.VarArrayOf(0);
  Транс.VarArrayRedim(КоличВсехСост);

  // Заполняем массив с номерами всех состояний
  ссСостояния.ВНачало;
  от сч := 0 до (КоличВсехСост-1) делать
  начало
    если не ссСостояния.ВКонце тогда 
      начало
        Транс.КакЦелое(сч) := ссСостояния.ПолеПоИмени("StateNumber").КакЦелое;
        ссСостояния.Следующий;
      конец;  
  конец;

  ПройденныеНач := CreateVariant;
  ПройденныеНач.VarArrayOf(0);
  ПройденныеНач.VarArrayRedim(КоличНачСост);

  ТрансНач := CreateVariant;
  ТрансНач.VarArrayOf(0);
  ТрансНач.VarArrayRedim(КоличНачСост);

  // Заполняем массив начальных состояний нулями (состояния пока не достигнуты)
  // Заполняем массив с номерами начальных состояний
  СостоянияНач.ВНачало;
  от сч := 0 до (КоличНачСост-1) делать
  начало
    ПройденныеНач.КакЦелое(сч) := 0;
    если не СостоянияНач.ВКонце тогда 
      начало
        ТрансНач.КакЦелое(сч) := СостоянияНач.ПолеПоИмени("StateNumber").КакЦелое;
        СостоянияНач.Следующий;
      конец;  
  конец;

  НЕВозврат := CreateVariant;
  НЕВозврат.VarArrayOf(0);
  НЕВозврат.VarArrayRedim(КоличНЕНачСост);

  ТрансНЕВозврат := CreateVariant;
  ТрансНЕВозврат.VarArrayOf(0);
  ТрансНЕВозврат.VarArrayRedim(КоличНЕНачСост);

  // Заполняем массив неначальных состояний нулями 
  // Заполняем массив с номерами неначальных состояний
  Состояния_НЕНач.ВНачало;
  от сч := 0 до (КоличНЕНачСост-1) делать
  начало
    НЕВозврат.КакЦелое(сч) := 0;
    если не Состояния_НЕНач.ВКонце тогда 
      начало
        ТрансНЕВозврат.КакЦелое(сч) := Состояния_НЕНач.ПолеПоИмени("StateNumber").КакЦелое;
        Состояния_НЕНач.Следующий;
      конец;  
  конец;
 
  попытка
    // Идем по списку неначальных состояний и фиксируем достигнутые из этих состояний вершины
    Состояния_НЕНач.ВНачало;
    пока не Состояния_НЕНач.ВКонце делать
    начало

      // Для каждой неначальной вершины считаем все состояния непройденными
      от сч := 0 до (КоличВсехСост-1) делать
        ПройденныеСост.КакЦелое(сч) := 0;

      ТекСост := Состояния_НЕНач.ПолеПоИмени("StateNumber").КакЦелое;
      ОбходСхемы(ТекСост,ссПереходы,1);
      
      // если в текущем обходе среди состояний есть начальные, то помечаем их в списке 
      // прохождения начальных состояний и устанавливаем флаг, что есть начальные состояния
      естьнач := нет;
      от сч := 0 до (КоличНачСост-1) делать
        если ПройденныеСост.КакЦелое(НайтиЗначение(Транс,(ТрансНач.КакЦелое(сч)),КоличВсехСост)) = 1 тогда 
          начало
            ПройденныеНач.КакЦелое(сч) := 1;
            естьнач := да;
          конец;  

      // если в текущем обходе нет начальных состояний,
      // то помечаем обойденные неначальные состояния в списке для неначальных состояний как невозвратные (=1)
      если не естьнач тогда
        от сч := 0 до (КоличНЕНачСост-1) делать
          если ПройденныеСост.КакЦелое(НайтиЗначение(Транс,(ТрансНЕВозврат.КакЦелое(сч)),КоличВсехСост)) = 1
            тогда НЕВозврат.КакЦелое(сч) := 1;

      Состояния_НЕНач.Следующий;
    конец;  

    СписокВозвр := "";
    // Определяем список неначальных состояний, из которых невозможно вернуться в начальное
    от сч := 0 до (КоличНЕНачСост-1) делать
      если НЕВозврат.КакЦелое(сч) = 1 тогда СписокВозвр := СписокВозвр + ТрансНЕВозврат.КакСтрока(сч) + ",";
    
    если СписокВозвр &lt;&gt; "" тогда СписокРез := "Невозвратные неначальные состояния: " + подстрока(СписокВозвр,1,(длина(СписокВозвр)-1));

    СписокНач := "";
    // Определяем список начальных состояний, кторые не были достигнуты
    от сч := 0 до (КоличНачСост-1) делать
      если ПройденныеНач.КакЦелое(сч) = 0 тогда СписокНач := СписокНач + ТрансНач.КакСтрока(сч) + ",";

    если СписокНач &lt;&gt; "" тогда
      начало 
        если СписокРез &lt;&gt; "" 
          тогда СписокРез := СписокРез + ", невозвратные начальные состояния: " + подстрока(СписокНач,1,(длина(СписокНач)-1))
          иначе СписокРез := "Невозвратные начальные состояния: " + подстрока(СписокНач,1,(длина(СписокНач)-1));
      конец;

    если СписокРез &lt;&gt; ""
      тогда результат := 0
      иначе результат := 1;  

  обязательно
    ПройденныеСост.VarClear;
    Транс.VarClear;
    ПройденныеНач.VarClear;
    ТрансНач.VarClear;
    НЕВозврат.VarClear;
    ТрансНЕВозврат.VarClear;
  конец;    

конец;

// функция проверки обратной достижимости графа состояний с использованием переходов, включенных в действия:
// предоставление списка неначальных состояний, из которых невозможно вернуться хотя бы в одно из состояний
// с типом "начальное состояние" ("пользовательское начальное"), а также тех начальных состояний,
// в которые невозможно вернуться ни из какого другого
функция ВыполняетсяПравилоОбратДостижСДейств(КодДокумента : целое; СписокНедостижимых : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ПерехВклВДейств : СтатическиеДанные;
начало
  СписокНедостижимых := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // выбираем те переходы, которые включены в действия
    ПерехВклВДейств := ПолучитьИДПереходовВклВДействия(КодДокумента, "");
    // и переходы НЕ из начальных состояний
    если ПерехВклВДейств.ЧислоЗаписей &gt; 0 тогда
      ДанПереходы := ПолучитьПереходы(КодДокумента, " and (not (s1.StateTypeRef in (0,4))) and (sj.id in ("+GetLimitStr(ПерехВклВДейств,"JumpRef")+")) ")
    иначе
      ДанПереходы := ПолучитьПереходы(КодДокумента, " and (sj.id is null) ");

    результат := ВыполнениеОбратДостижимости(КодДокумента,ДанСостояния,ДанПереходы,СписокНедостижимых);

  конец
  иначе результат := 0;

конец;

// функция проверки обратной достижимости графа состояний с использованием переходов, на которые выданы права:
// предоставление списка неначальных состояний, из которых невозможно вернуться хотя бы в одно из состояний
// с типом "начальное состояние" ("пользовательское начальное"), а также тех начальных состояний,
// в которые невозможно вернуться ни из какого другого
функция ВыполняетсяПравилоОбратДостижСПравами(КодДокумента : целое; СписокНедостижимых : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ПереходыСПравами : СтатическиеДанные;
начало
  СписокНедостижимых := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // выбираем все переходы НЕ из начальных состояний
    ДанПереходы := ПолучитьПереходы(КодДокумента, " and (not (s1.StateTypeRef in (0,4))) ");
    //определяем, даны ли кому-то (пользователю или группе) права на выбранные переходы
    если ДанПереходы.ЧислоЗаписей &gt; 0 тогда
      ПереходыСПравами := ПолучитьИДПереходовСПравами(" and (r.objref in ("+GetLimitStr(ДанПереходы,"id")+")) ")
    иначе  
      ПереходыСПравами := ПолучитьИДПереходовСПравами(" and (r.objref is null) ");
    //оставляем только те переходы, на которые даны права
    ДанПереходы.Фильтр := "id in ("+GetLimitStr(ПереходыСПравами,"objref")+")";

    результат := ВыполнениеОбратДостижимости(КодДокумента,ДанСостояния,ДанПереходы,СписокНедостижимых);

  конец
  иначе результат := 0; 

конец;

// функция проверки успешности компиляции макроса
функция МакросКомпилируется(Путь:строка):целое;
переменные
  строкаскрипта:строка;
начало
  результат:=да;
  строкаскрипта:='включить "' + Путь +'";'+nl+
                 'начало'+nl+
                 'конец'; 
  попытка
    результат := Event(строкаскрипта,nil);
  неудача
//    ВызватьОшибку(ПоследняяОшибка);
    результат:=нет;
  конец;  

конец;  

// функция проверки существования в реестре и компиляции макросов действий
// и макросов событий на формирование параметров
функция НаличиеМакросов(КодДокумента : целое; СписокОтсут : строка) : целое;
переменные
  ДанСостояния, ДанДействия : СтатическиеДанные;
  ОтсутМакросы, МакросНеКомпилир, ОтсутСобытНаФормир : строка;
  ТекстМакроса, ПутьКМакросу : строка;
начало
  СписокОтсут := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // выбираем все действия документа
    ДанДействия := ПолучитьДействия(КодДокумента, "");
    
    ОтсутМакросы := "";
    МакросНеКомпилир := "";
    ОтсутСобытНаФормир := "";
    ДанДействия.ВНачало;
    пока не ДанДействия.ВКонце делать
    начало
      // проверяем макросы действий
      если ДанДействия.ПолеПоИмени("ActionName").КакСтрока &lt;&gt; '' тогда
        начало 
          ПутьКМакросу := УзелМакрос+целоевстроку(КодДокумента)+"\"+ДанДействия.ПолеПоИмени("ActionName").КакСтрока;
          ТекстМакроса := Реестр.Узел(УзелМакрос+целоевстроку(КодДокумента)).Значение(ДанДействия.ПолеПоИмени("ActionName").КакСтрока).какСтрока;

          // если нет макроса или он пустой, то записываем его в список отсутствующих
          если ТекстМакроса = ''
            тогда ОтсутМакросы := ОтсутМакросы + ДанДействия.ПолеПоИмени("ActionName").КакСтрока + ","
            иначе
              начало
                // если макрос есть, то компилируем его
                если не МакросКомпилируется(ПутьКМакросу)
                  // и записываем в список некомпилируемых, если компиляция выдала ошибку 
                  тогда МакросНеКомпилир := МакросНеКомпилир + ДанДействия.ПолеПоИмени("ActionName").КакСтрока + ",";
              конец;      
        конец;

      // проверяем макросы событий на формирование параметров
      если ДанДействия.ПолеПоИмени("ActEvent").КакСтрока &lt;&gt; '' тогда
        начало
          ПутьКМакросу := УзелМакрос+целоевстроку(КодДокумента)+"\ПараметрыДействия\"+ДанДействия.ПолеПоИмени("ActEvent").КакСтрока;
          ТекстМакроса := Реестр.Узел(УзелМакрос+целоевстроку(КодДокумента)+"\ПараметрыДействия").Значение(ДанДействия.ПолеПоИмени("ActEvent").КакСтрока).какСтрока;

          // если нет макроса или он пустой, то записываем его в список отсутствующих
          если ТекстМакроса = ''
            тогда ОтсутСобытНаФормир := ОтсутСобытНаФормир + ДанДействия.ПолеПоИмени("ActEvent").КакСтрока + ","
            иначе
              начало
                // если макрос есть, то компилируем его
                если не МакросКомпилируется(ПутьКМакросу)
                  // и записываем в список некомпилируемых, если компиляция выдала ошибку 
                  тогда МакросНеКомпилир := МакросНеКомпилир + ДанДействия.ПолеПоИмени("ActEvent").КакСтрока + ",";
              конец;      
        конец;

      ДанДействия.Следующий;
    конец;
    
    // формируем результирующий список
    если ОтсутМакросы &lt;&gt; "" тогда
      начало
        ОтсутМакросы := Подстрока(ОтсутМакросы,1,(длина(ОтсутМакросы)-1));
        СписокОтсут := СписокОтсут + "Нет действий: " + ОтсутМакросы + ". ";
      конец;

    если ОтсутСобытНаФормир &lt;&gt; "" тогда
      начало
        ОтсутСобытНаФормир := Подстрока(ОтсутСобытНаФормир,1,(длина(ОтсутСобытНаФормир)-1));
        СписокОтсут := СписокОтсут + "Нет событий для параметров: " + ОтсутСобытНаФормир + ". ";
      конец;
    если МакросНеКомпилир &lt;&gt; "" тогда
      начало
        МакросНеКомпилир := Подстрока(МакросНеКомпилир,1,(длина(МакросНеКомпилир)-1));
        СписокОтсут := СписокОтсут + "Не компилируются: " + МакросНеКомпилир + ". ";
      конец;
      
    если СписокОтсут &lt;&gt; ""
      тогда результат := 0
      иначе результат := 1;  

  конец
  иначе результат := 0; 

конец;

// функция проверки существования в реестре и компиляции макросов
// сценариев для переходов и действий
функция НаличиеМакросовСценариев(КодДокумента : целое; СписокОтсут : строка) : целое;
переменные
  КонфПереходы, КонфДействия, СценПереходы, СценДействия : СтатическиеДанные;
  Буф : Буфер;
  ОтсутЭлем, ОтсутМакросПерех, ОтсутМакросДейст, МакросНеКомпилир : строка;
  ПутьКМакросу, ТекстМакроса : строка;
начало
  СписокОтсут := "";
  КонфПереходы := СоздатьСтатическиеДанные;
  КонфДействия := СоздатьСтатическиеДанные;
  Буф := СоздатьБуфер;
  ОтсутЭлем := "";
  ОтсутМакросПерех := "";
  ОтсутМакросДейст := "";
  МакросНеКомпилир := "";
  
  Реестр.Узел('Бюджет\Конфигурация').Значение('МакросыПереходов').СохранитьВБуфер(Буф);
  Буф.Позиция := 0;
  КонфПереходы.ЗагрузитьИзБуфера(Буф);
  СценПереходы := ПолучитьСценарий(302,1);
  СценПереходы.ВНачало;      
  пока не СценПереходы.ВКонце делать
    начало
      если не КонфПереходы.Search('CLS',МассивИз(СценПереходы.ПолеПоИмени('ControlCode').КакЦелое)) тогда
        ОтсутЭлем := ОтсутЭлем + ФорматироватьКлассификатор(СценПереходы.ПолеПоИмени('ControlCode').КакЦелое,'00.00.00.00') + ','
      иначе
        начало
          ПутьКМакросу := УзелМакрос+целоевстроку(КодДокумента)+"\"+КонфПереходы.ПолеПоИмени("Script").КакСтрока;
          ТекстМакроса := Реестр.Узел(УзелМакрос+целоевстроку(КодДокумента)).Значение(КонфПереходы.ПолеПоИмени("Script").КакСтрока).какСтрока;
          если ТекстМакроса = '' тогда
            ОтсутМакросПерех := ОтсутМакросПерех + КонфПереходы.ПолеПоИмени("Script").КакСтрока + ','
          иначе
            если не МакросКомпилируется(ПутьКМакросу) тогда
              МакросНеКомпилир := МакросНеКомпилир + КонфПереходы.ПолеПоИмени("Script").КакСтрока + ',' 
        конец;
      СценПереходы.Следующий  
    конец;
    
  Буф.Позиция := 0;
  Буф.Размер := 0;
  Реестр.Узел('Бюджет\Конфигурация').Значение('МакросыДействий').СохранитьВБуфер(Буф);
  Буф.Позиция := 0;
  КонфДействия.ЗагрузитьИзБуфера(Буф);
  СценДействия := ПолучитьСценарий(302,2);
  СценДействия.ВНачало;  
  пока не СценДействия.ВКонце делать
    начало
      если не КонфДействия.Search('CLS',МассивИз(СценДействия.ПолеПоИмени('ControlCode').КакЦелое)) тогда
        ОтсутЭлем := ОтсутЭлем + ФорматироватьКлассификатор(СценДействия.ПолеПоИмени('ControlCode').КакЦелое,'00.00.00.00') + ','
      иначе
        начало
          ПутьКМакросу := УзелМакрос+целоевстроку(КодДокумента)+"\"+КонфДействия.ПолеПоИмени("Script").КакСтрока;
          ТекстМакроса := Реестр.Узел(УзелМакрос+целоевстроку(КодДокумента)).Значение(КонфДействия.ПолеПоИмени("Script").КакСтрока).какСтрока;
          если ТекстМакроса = '' тогда
            ОтсутМакросДейст := ОтсутМакросДейст + КонфДействия.ПолеПоИмени("Script").КакСтрока + ','
          иначе
            если не МакросКомпилируется(ПутьКМакросу) тогда
              МакросНеКомпилир := МакросНеКомпилир + КонфДействия.ПолеПоИмени("Script").КакСтрока + ',' 
        конец;
      СценДействия.Следующий  
    конец;
  
    если ОтсутЭлем &lt;&gt; "" тогда
      начало
        ОтсутЭлем := Подстрока(ОтсутЭлем,1,(длина(ОтсутЭлем)-1));
        СписокОтсут := СписокОтсут + "Нет элементов конфигурации: " + ОтсутЭлем + ". ";
      конец; 
    если ОтсутМакросПерех &lt;&gt; "" тогда
      начало
        ОтсутМакросПерех := Подстрока(ОтсутМакросПерех,1,(длина(ОтсутМакросПерех)-1));
        СписокОтсут := СписокОтсут + "Нет макросов сценариев переходов: " + ОтсутМакросПерех + ". ";
      конец; 
    если ОтсутМакросДейст &lt;&gt; "" тогда
      начало
        ОтсутМакросДейст := Подстрока(ОтсутМакросДейст,1,(длина(ОтсутМакросДейст)-1));
        СписокОтсут := СписокОтсут + "Нет макросов сценариев действий: " + ОтсутМакросДейст + ". ";
      конец; 
    если МакросНеКомпилир &lt;&gt; "" тогда
      начало
        МакросНеКомпилир := Подстрока(МакросНеКомпилир,1,(длина(МакросНеКомпилир)-1));
        СписокОтсут := СписокОтсут + "Не компилируются: " + МакросНеКомпилир + ". ";
      конец;                   

  если СписокОтсут &lt;&gt; ""
    тогда результат := 0
    иначе результат := 1;  
  
  УдалитьОбъект(Буф);
  КонфПереходы.Free;
  КонфДействия.Free; 
  СценПереходы.Free;
  СценДействия.Free
конец;


// функция проверки использования ЭЦП у документа 
функция ИспользуетсяЭЦП(КодДок : целое) : целое;
переменные
  Дан : СтатическиеДанные;
начало
  результат := 0; 
  Дан := СоздатьСтатическиеДанные;
  попытка
    Дан.СоединитьБД;
    Дан.Запрос := '[PumpData]' + nl +
                        '{SELECT d.ID ' + nl +
                        ' FROM DocumentTypes d ' + nl +
                        ' WHERE (d.ID  = ' + целоевстроку(КодДок) + ') and (not ((d.NeedEDS is null) or (d.NeedEDS = 0)))}';
    Дан.Открыть;
    
    если Дан.ЧислоЗаписей &gt; 0 
      тогда результат := 1; 
  обязательно
    УдалитьОбъект(Дан);
  конец;  
конец;

// функция проверки отсутствия подписываемых петель в документах, использующих ЭЦП
функция ОтсутствуютПетлиЭЦП(КодДокумента : целое; СписокПетель : строка) : целое;
переменные
  ДанСостояния, ДанПереходы : СтатическиеДанные;
  ПереходВычСтр : строка;
начало
  СписокПетель := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // проверяем, стоит ли у документа галка "Требуется ЭЦП"
    если ИспользуетсяЭЦП(КодДокумента) тогда
    начало
      // выбираем все переходы "сам в себя", у которых стоит галка "Требуется ЭЦП"
      ДанПереходы := ПолучитьПереходы(КодДокумента, " and (sj.BeginStateRef = sj.EndStateRef) and (not ((sj.NeedEDS is null) or (sj.NeedEDS = 0))) ");

      ПереходВычСтр := "";
      ДанПереходы.ВНачало;
      // формируем список петель с ЭЦП
      пока не ДанПереходы.ВКонце делать
      начало
        ПереходВычСтр := ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("BeginState").AsInteger,"00",0);
        ПереходВычСтр := ПереходВычСтр + "-" + ФорматироватьКлассификатор(ДанПереходы.ПолеПоИмени("EndState").AsInteger,"00",0);
        СписокПетель := СписокПетель + ПереходВычСтр + ",";
        ДанПереходы.Следующий;
      конец;
    конец;

    если СписокПетель &lt;&gt; "" тогда
      начало 
        СписокПетель := подстрока(СписокПетель,1,(длина(СписокПетель)-1));
        результат := 0;
      конец
      иначе результат := 1;  

  конец
  иначе результат := 0;

конец;

// параметр АС определяет принадежность: Бюджет или УРМ(1 - Бюджет, 2 - УРМ)
// функция проверки действий с принадлежностью АС на то, что права на переходы, входящие в эти действия,
// даны только пользователям АС
функция ВсеПраваПользАСНаДействАС(КодДокумента : целое; АС: целое; СписокПользНеАС : строка) : целое;
переменные
  ДанСостояния, ДанПереходы, ПереходыСПравами : СтатическиеДанные;
  стр : строка;
начало
  СписокПользНеАС := "";

  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // в зависимости от принадлежности Бюджет/УРМ
    если АС = 1 тогда
    начало
      // выбираем все переходы действий документа, у которых стоит принадлежность Бюджет
      ДанПереходы := ПолучитьИДПереходовВклВДействия(КодДокумента, " and (sa.IsBudget = 1) ");
      // выбираем все переходы, на которые даны права пользователям УРМ
      ПереходыСПравами := ПолучитьИДПереходовСПравами(" and (dbu.RemoteId &gt; -1) ");
    конец  
    иначе
    начало
      // выбираем все переходы действий документа, у которых стоит принадлежность УРМ
      ДанПереходы := ПолучитьИДПереходовВклВДействия(КодДокумента, " and (sa.IsBudget = 2) ");
      // выбираем все переходы, на которые даны права пользователям Бюджета
      ПереходыСПравами := ПолучитьИДПереходовСПравами(" and (dbu.RemoteId = -1) ");
    конец;  
    
    // опередедяем, есть ли в действиях АС записи с переходами,
    // на которые даны права пользователям не АС
    ПереходыСПравами.Фильтр := "objref in (" + GetLimitStr(ДанПереходы,"JumpRef") + ")";

    если ПереходыСПравами.ЧислоЗаписей &gt; 0 тогда
    начало
      // нашли переходы у действий с принадлежностью АС, на которые даны права пользователям не АС
      // формируем список пользователей не АС
      стр := "";
      ПереходыСПравами.Индекс := "username";
      ПереходыСПравами.ВНачало;
      пока не ПереходыСПравами.ВКонце делать
      начало
        если стр &lt;&gt; ПереходыСПравами.ПолеПоИмени("username").КакСтрока тогда 
          СписокПользНеАС := СписокПользНеАС + ПереходыСПравами.ПолеПоИмени("username").КакСтрока + ", ";
        стр := ПереходыСПравами.ПолеПоИмени("username").КакСтрока; 
        ПереходыСПравами.Следующий;
      конец;
    
      результат := 0;
      если АС = 1 тогда
        СписокПользНеАС := "На переходы Бюджета даны права пользов. УРМ: " + подстрока(СписокПользНеАС,1,(длина(СписокПользНеАС)-2))
      иначе  
        СписокПользНеАС := "На переходы УРМ даны права пользов. Бюджета: " + подстрока(СписокПользНеАС,1,(длина(СписокПользНеАС)-2));
    конец
    иначе 
      результат := 1;

  конец
  иначе 
    результат := 0;

конец;  

// функция проверки, указаны ли в действиях с принадлежностью УРМ, имеющих конечные состояния,
// переходы  из "конечного состояния" в состояние "отклонен"  
функция МожноОтклонитьУРМ (КодДокумента : целое; СтрРезультат : строка) : целое;
переменные
  ДанСостояния, ПерехВклВДействЕстьКон, ПерехВклВДействКонОткл : СтатическиеДанные;
  вар : Variant;
  консост  : целое;
начало
  СтрРезультат := "";
  
  // выбираем все состояния схемы
  ДанСостояния := ПолучитьСостояния(КодДокумента, "");
  КоличВсехСост := ДанСостояния.ЧислоЗаписей;
  если КоличВсехСост &gt; 0 тогда
  начало
    // получаем все переходы действий документа, у которых стоит принадлежность УРМ 
    // и в которых используется конечное состояние
    ПерехВклВДействЕстьКон := ПолучитьИДПереходовВклВДействия(КодДокумента, " and (sa.IsBudget &gt; 1) and ((s1.StateTypeRef=2) or (s2.StateTypeRef=2)) ");
    
    // получаем все переходы действий документа, у которых стоит принадлежность УРМ 
    // и в которых используются переходы из "конечного состояния" в состояние "отклонен" 
    ПерехВклВДействКонОткл := ПолучитьИДПереходовВклВДействия(КодДокумента, " and (sa.IsBudget &gt; 1) and ((s1.StateTypeRef=2) and (s2.StateTypeRef=1)) ");
    
    вар := CreateVariant;
    попытка
      результат := 1;

      ПерехВклВДействЕстьКон.Индекс := "ActionRef";
      ПерехВклВДействКонОткл.Индекс := "ActionRef;BeginStateRef";
    
      ПерехВклВДействЕстьКон.ВНачало;
      пока (не ПерехВклВДействЕстьКон.ВКонце) и результат делать
      начало
        // в действиях, в которых используется конечное состояние, определяем у текущего перехода
        // ссылку на конечное состояние, которую будем потом искать во втором статиксете
        если ПерехВклВДействЕстьКон.ПолеПоИмени("BeginType").КакЦелое = 2
          тогда консост := ПерехВклВДействЕстьКон.ПолеПоИмени("BeginStateRef").КакЦелое
          иначе консост := ПерехВклВДействЕстьКон.ПолеПоИмени("EndStateRef").КакЦелое;
        // опеределяем значения полей для поиска
        вар.VarArrayOf(ПерехВклВДействЕстьКон.ПолеПоИмени("ActionRef").КакЦелое,консост);
        // ищем, есть ли в действиях с переходами из "конечного состояния" в состояние "отклонен"
        // переход ИЗ ранее определенного конечного состояния
        если не ПерехВклВДействКонОткл.Locate("ActionRef;BeginStateRef",вар,0)
          тогда результат := 0;
            
        ПерехВклВДействЕстьКон.Следующий;
      конец;

      если не результат
        тогда СтрРезультат := "Не во всех действиях УРМ можно отклонить документ из конечного состояния";

    обязательно
      вар.VarClear;
    конец;
  конец
  иначе результат := 0;

конец;
</value>
    <param value="ФункцииДляКонтроляСхемыСостояний.abl" type="3" name="Export">BOGOMOLOVP\bogomolov\23.04.2009 16:19:35</param>
    <param value="ФункцииДляКонтроляСхемыСостояний.abl" type="3" name="version">36.223.03</param>
    <param value="ФункцииДляКонтроляСхемыСостояний.abl" type="3" name="crc32">$CB62C903</param>
  </node>
  <version_info>
    <file>Сборка.Контроль.События.xml</file>
    <version>36.223.03</version>
    <info>&lt;p&gt;Стандартные макросы бюджетного контроля&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:15</buildtime>
  </version_info>
  <description>Макросы для контролей</description>
  <node path="%root%\Объекты\Контроль\Скрипты\События">
    <value type="7" name="Активация">//Стандартные действия для активации (инициализациализации) контроля
//Добавляются колонки для индикации результатов контроля (иконки и текста ошибки)  
включить "\библиотеки\Documents.lib";
включить "\библиотеки\LibRU.lib";
включить "\библиотеки\Control.lib";
включить "\библиотеки\Variables.lib";
включить "project";
АктивацияКонтроля(Резерв: Объект);

функция ДобавитьКолонку(Сетка: СеткаДанных; ИмяПоля, Имя, Заголовок: строка; Ширина, ТолькоДляЧтения, Видима: целое; Опции: строка);
переменные
  title: ВнешнийОбъект;
начало
  если Сетка &lt;&gt; nil тогда
    если Сетка.ColumnByFieldName(ИмяПоля) = nil тогда
      для Сетка.ДобавитьКолонку(ИмяПоля, Сетка.DefProps('Name') + Имя, Заголовок) делать
        начало
          .Ширина := Ширина;
          .ТолькоДляЧтения := ТолькоДляЧтения;
          .Видима := Видима;
          .DefProps("Options") := Опции;
          title := .DefProps("Title");
          title.DefProps("Options") := "+toSortable";
        конец;  
конец;

переменные
  ф     : ФормаВвода;
  Мастер, Деталь: СтатическиеДанные;
  МС, МС2, ДС : СеткаДанных;
  сч, СостояниеОткрытияМастера, СостояниеОткрытияДетали    : целое;
  GUID  : строка;
НАЧАЛО
  ф := ПолучитьФормуВвода;
  // Если кому-то захочется назначить контроль на специфический интерфейс
  если (ф = nil) или не ПроектАктивен тогда Выход;
  Мастер := ф.Заголовки.Таблица;
  если Мастер=nil тогда выход;
  МС := ф.Заголовки.Сетка;
  МС2 := ПолучитьОбъект("cgoiSingleCaption");
  GUID := ф.Идентификатор;
  // запоминаем были ли открыты датасеты. Если уже были открыты, а требуемых полей в них почему-то нет, то закрываем, добавляем поля и снова открываем. 
  СостояниеОткрытияМастера := Мастер.Active;
  //сбрасываем сохраненный ранее индекс картинок контроля для данного интерфейса
  если CheckParam(GUID) тогда
    Values(GUID) := null;
    
  если МС&lt;&gt;nil тогда
  начало
  // добавление полей в заголовок
  если (не Мастер.FindField(ControlResultHint, nil)) тогда
    начало
      Мастер.Закрыть;
      Мастер.ДобавитьСтроковоеПоле(ControlResultHint, 1024).DefProps('Name') := ControlResultHint;
    конец;   
  если (не Мастер.FindField(ControlResult, nil)) тогда
    начало
      Мастер.Закрыть;
      Мастер.ДобавитьЦелоеПоле(ControlResult).DefProps('Name') := ControlResult;
    конец;
  если МС.ColumnByFieldName(ControlResult)=nil тогда
    для МС.ДобавитьКолонку(ControlResult, ControlResult+'c', '', Колонка_ИзображениеПоИндексу) делать
      начало
        .Видима := Да;
        .DefProps("Options") := "+coNoPaste";
      конец;
  // отдельно связываем с полем - содержимым хинта, так как колонка может быть добавлена ранее системой состояний  
  МС.ColumnByFieldName(ControlResult).DefProps('HintFieldName') := ControlResultHint;
  если (не Мастер.FindField(ControlMessage, nil)) тогда
    начало
      Мастер.Закрыть;
      Мастер.ДобавитьСтроковоеПоле(ControlMessage, 1024);
      ДобавитьКолонку(МС, ControlMessage, ControlMessage+ 'c', 'Результат бюджетного контроля', 200, Да, Да, "+coNoPaste");
      ДобавитьКолонку(МС2, ControlMessage, ControlMessage+ 'c', 'Результат бюджетного контроля', 200, Да, Да, "+coNoPaste");
    конец;
  // добавляем поле для списка непройденных контролей (только в заголовок)
  если не Мастер.FindField(ErrControlList, nil) тогда
  начало
    Мастер.Закрыть;
    Мастер.ДобавитьСтроковоеПоле(ErrControlList, 1024);
    ДобавитьКолонку(МС, ErrControlList, ErrControlList + 'c', 'Список непройденных контролей', 120, Да, Нет, "+coNoPaste");
    ДобавитьКолонку(МС2, ErrControlList, ErrControlList + 'c', 'Список непройденных контролей', 120, Да, Нет, "+coNoPaste");
  конец;
  Мастер.active := СостояниеОткрытияМастера;   
  // добавление полей во все детализации
  // в грид добавляем только колонку для иконки
  // поле для текста ошибки добавляем, а колонку для текста ошибки нет, так как стандартно она не используется, 
  // а поле позднее, когда статиксет открыт, добавить уже будет нельзя  
  от сч:=0 до ф.КоличествоДетализаций-1 делать
    начало
      Деталь := ф.Детализация(сч).Таблица;
      ДС := ф.Детализация(сч).Сетка;
      // запоминаем были ли открыты датасеты. Если уже были открыты, а требуемых полей в них почему-то нет, то закрываем, добавляем поля и снова открываем.
      СостояниеОткрытияДетали := Деталь.Active;
      если (не Деталь.FindField(ControlResultHint, nil)) тогда
        начало
          Деталь.Закрыть;
          Деталь.ДобавитьСтроковоеПоле(ControlResultHint, 1024).DefProps('Name') := ControlResultHint + ЦелоеВСтроку(сч + 1);
        конец;   
      если (не Деталь.FindField(ControlResult, nil)) тогда
        начало
          Деталь.Закрыть;
          Деталь.ДобавитьЦелоеПоле(ControlResult).DefProps('Name') := ControlResult + ЦелоеВСтроку(сч + 1);
          для ДС.ДобавитьКолонку(ControlResult, ControlResult+ 'c' + ЦелоеВСтроку(сч + 1), '', Колонка_ИзображениеПоИндексу) делать
          начало
            .Видима := Да;
            .DefProps('HintFieldName') := ControlResultHint;
            .DefProps("Options") := "+coNoPaste";
          конец;            
        конец;   
      если (не Деталь.FindField(ControlMessage, nil)) тогда
        начало
          Деталь.Закрыть;
          Деталь.ДобавитьСтроковоеПоле(ControlMessage);
          Деталь.ПолеПоИмени(ControlMessage).Размер := 1024;
          Деталь.ПолеПоИмени(ControlMessage).DefProps('Name') := ControlMessage + ЦелоеВСтроку(сч + 1);      
          ДобавитьКолонку(ДС, ControlMessage, ControlMessage+ 'c' + ЦелоеВСтроку(сч + 1), 'Результат бюджетного контроля', 200, Да, Да, "+coNoPaste");
        конец;
      Деталь.active := СостояниеОткрытияДетали;  
    конец;
  конец; 
КОНЕЦ.
</value>
    <param value="Активация" type="3" name="version">36.223.03</param>
    <param value="Активация" type="3" name="crc32">$4C1AB5F1</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Контроль">
    <value type="7" name="АнализКонтролируемойКлассификации.abl">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\макросы\запросы\ЗапросыРоспись.abl';

функция ТипКлассификацииПоКодуДокумента(КодДокумента: строка): строка;
переменные
  СписокИндексов: Текст;
  Инд: целое;
  знч: строка;
начало
  результат := '';
  СписокИндексов := СоздатьТекст;
  попытка
    СписокИндексов.РазделенноеЗначение := КодДокумента;
    от Инд := 0 до СписокИндексов.Количество - 1 делать
    начало
      знч := УбратьПробелы(СписокИндексов.Стр(Инд));
      если (знч &lt;&gt; '')
      тогда
        выбрать (СтрокаВЦелое(знч) цел 100) из
          //Расходы
          02: выбрать СтрокаВЦелое(знч) из
                //Эти интерфесы не только расходные
                0205, 0207, 0204:
                  результат := результат + ',0,1,2';
                0208, 0210:
                  результат := результат + ',0,1';
                иначе
                  результат := результат + ',0';
              конец;
          //Источники
          19: результат := результат + ',1';
          //Доходы
          22: результат := результат + ',2';
          иначе
            ВызватьОшибку('Неподдерживаемый код документа: ' + знч);
        конец;
    конец;
  обязательно
    УдалитьОбъект(СписокИндексов);
  конец;
  результат := Подстрока(результат, 2);
конец;

Функция ИндексДанныхПоКодуДокумента(КодДокумента: строка): строка;
переменные
  СписокИндексов: Текст;
  Инд: целое;
  знч: строка;
начало
  результат := '';
  СписокИндексов := СоздатьТекст;
  попытка
    СписокИндексов.РазделенноеЗначение := КодДокумента;
    от Инд := 0 до СписокИндексов.Количество - 1 делать
    начало
      знч := УбратьПробелы(СписокИндексов.Стр(Инд));
      если (знч &lt;&gt; '')
      тогда
        выбрать СтрокаВЦелое(знч) из
          //Расходы
          0201: результат := результат + ',32';
          0202: результат := результат + ',260';
          0203: результат := результат + ',261';
          0204: результат := результат + ',262';
          0205: результат := результат + ',263';
          0206: результат := результат + ',268';
          0207: результат := результат + ',272';
          0208: результат := результат + ',273';
          //Источники
          1901: результат := результат + ',264';
          1902: результат := результат + ',215';
          1903: результат := результат + ',265';
          1906: результат := результат + ',271';
          //Казначейство
          0302: результат := результат + ',63';
          //Бюджетные обязательства
          1601: результат := результат + ',1601'; //реального прогиндекса нет
          //Объемы финансирования(Limits.ocx)
          0801: результат := результат + ',57';
          иначе
            ВызватьОшибку('Неподдерживаемый код документа: ' + знч);
        конец;
    конец;
  обязательно
    УдалитьОбъект(СписокИндексов);
  конец;
  результат := Подстрока(результат, 2);
конец;

функция ОпределитьПараметрыПоТипуКлассификации(Коллекция: IVariables; ДляРасходов, ДляИсточников, ДляДоходов: целое);
переменные
  ТипКлассификации: Текст;
  Инд: целое;
  знч: строка;
начало
  ДляРасходов := нет;
  ДляИсточников := нет;
  ДляДоходов := нет;
  если Коллекция.ПараметрСуществует('ТипКлассификации')
  тогда начало
    знч := УбратьПробелы(Коллекция.Значение('ТипКлассификации'));
    если (знч &lt;&gt; '')
    тогда начало
      ТипКлассификации := СоздатьТекст;
      попытка
        ТипКлассификации.РазделенноеЗначение := знч;
        от Инд := 0 до ТипКлассификации.Количество - 1 делать
        начало
          знч := УбратьПробелы(ТипКлассификации.Стр(Инд));
          если (знч &lt;&gt; '')
          тогда
            выбрать СтрокаВЦелое(знч) из
              0: ДляРасходов := да;
              1: ДляИсточников := да;
              2: ДляДоходов := да;
            конец;
        конец;
      обязательно
        УдалитьОбъект(ТипКлассификации);
      конец;
    конец
    иначе начало
      ДляРасходов := да;
      ДляИсточников := да;
      ДляДоходов := да;
    конец;
  конец
  иначе
    ДляРасходов := да;
конец;

функция КонстантаПоИндексуДанных(СписокИндексовДанных: строка; Коллекция: IVariables): строка;
переменные
  СписокИндексов: Текст;
  Инд: целое;
  знч: строка;
  группа_конст: строка;
начало
  результат := '';
  СписокИндексов := СоздатьТекст;
  попытка
    СписокИндексов.РазделенноеЗначение := СписокИндексовДанных;
    от Инд := 0 до СписокИндексов.Количество - 1 делать
    начало
      знч := УбратьПробелы(СписокИндексов.Стр(Инд));
      выбрать строкаВЦелое(знч) из
        252 : знч:=''; // нужно явно использовать 32
        253 : знч:=''; // нужно явно использовать 273
      конец;

      если (знч &lt;&gt; '') тогда
      начало
        если (СтрокаВЦелое(знч) = 63) и ((Коллекция.Значение('ВидДеятельности') = 2) или (Коллекция.Значение('ТипДеятельности') = 2))
        тогда
          группа_конст := '34'
        иначе
          группа_конст := '33';
        результат := результат + ',' + группа_конст + '_' + ЦелоеВСтроку(СтрокаВЦелое(знч));
      конец;
    конец;
  обязательно
    УдалитьОбъект(СписокИндексов);
  конец;
  результат := Подстрока(результат, 2);
конец;

функция КонстантаПоИмениКонстанты(СписокИменКонстант: строка): строка;
переменные
  СписокИндексов: Текст;
  Инд: целое;
  знч: строка;
начало
  результат := '';
  СписокИндексов := СоздатьТекст;
  попытка
    СписокИндексов.РазделенноеЗначение := СписокИменКонстант;
    от Инд := 0 до СписокИндексов.Количество - 1 делать
    начало
      знч := УбратьПробелы(СписокИндексов.Стр(Инд));
      если (знч &lt;&gt; '')
      тогда начало
        выбрать знч из //ABL сравнивает не учитывая регистр
          //Расходы
          'СБР_Расходы_ЛБО':   знч := '33_260';
          'СБР_Расходы_БА':    знч := '34_260';
          'КП_Расходы':        знч := '33_261';
          'БР_Расходы_ЛБО':    знч := '33_32';
          'БР_Расходы_БА':     знч := '34_32';
          'КП_ПБС_Расходы':    знч := '33_268';
          'СметаПоПД_Расходы': знч := '33_262';
          'ЗаконОБюджете':     знч := '33_263';
          'КП_Месяц':          знч := '33_272';
          'КП_ПБС_Месяц':      знч := '33_273';
          //Источники
          'СБР_Источники':     знч := '33_264';
          'КП_Источники':      знч := '33_265';
          'БР_Источники':      знч := '33_215';
          'КП_ПБС_Источники':  знч := '33_271';
          //Казначейство
          'КазнПП_Бюджет':     знч := '33_63';
          'КазнПП_Внебюджет':  знч := '34_63';
          //Бюджетные обязательства
          'БО':                знч := '33_1601'; //реального прогиндекса нет
          //Объемы финансирования(Limits.ocx)
          'ПредельныеОФ_Уведомления': знч := '33_57';
          иначе
            ВызватьОшибку('Неподдерживаемое имя контролируемой константы: ' + знч);
        конец;
        результат := результат + ',' + знч;
      конец;
    конец;
  обязательно
    УдалитьОбъект(СписокИндексов);
  конец;
  результат := Подстрока(результат, 2);
конец;

функция ИсключитьКолонку(Колонка: IColumnInfoX);
начало
  Колонка.Hidden := да;
  Колонка.Required := БитИли(Колонка.Required, trxDynamicHidden);
конец;

функция ИзменитьЗначениеСтроковойКонстанты(Классификаторы: Текст);
переменные
  знч: строка;
  к: целое;
  индРегион: целое;
начало
  индРегион := -1;
  от к := 0 до Классификаторы.Количество - 1 делать
  начало
    знч := Прописные(УбратьПробелы(Классификаторы.ИмяПараметра(к)));
    если (знч = 'РЕГИОН') и (индРегион = -1) тогда
      индРегион := к
    иначе если (знч = 'РАЙОНТРАНСФЕРТА') тогда
      индРегион := -2;
  конец;
  если (индРегион &gt;= 0) тогда
    Классификаторы.ЗначениеПараметра('РайонТрансферта') := Классификаторы.ЗначениеПараметра(Классификаторы.ИмяПараметра(индРегион));
конец;

функция ИсключениеКлассификацииПоКонстантам(Раскладка: ITableInfoX; СписокКонстант: строка; Коллекция: IVariables);
переменные
  ДляРасходов, ДляИсточников, ДляДоходов: целое;
  ИндексыДанных, Классификаторы: Текст;
  знч: строка;
  Инд, к, сч: целое;
начало
  ОпределитьПараметрыПоТипуКлассификации(Коллекция, ДляРасходов, ДляИсточников, ДляДоходов);
  если не ДляРасходов тогда начало
    Инд := Раскладка.FindColumn('КВСР');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
    Инд := Раскладка.FindColumn('КФСР');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
    Инд := Раскладка.FindColumn('КЦСР');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
    Инд := Раскладка.FindColumn('КВР');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
    Инд := Раскладка.FindColumn('КЭСР');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
  конец;
  если не ДляИсточников тогда начало
    Инд := Раскладка.FindColumn('ИсточникВнутрФинансирования');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
    Инд := Раскладка.FindColumn('ИсточникВнутрФинансированияКлюч');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
  конец;
  если не ДляДоходов тогда начало
    Инд := Раскладка.FindColumn('КодДохода');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
    Инд := Раскладка.FindColumn('КДКлюч');
    если (Инд &gt;= 0) тогда ИсключитьКолонку(Раскладка.Columns(Инд));
  конец;

  ИндексыДанных := СоздатьТекст;
  Классификаторы := СоздатьТекст;
  попытка
    ИндексыДанных.РазделенноеЗначение := СписокКонстант;
    от Инд := 0 до ИндексыДанных.Количество - 1 делать
    начало
      знч := УбратьПробелы(ИндексыДанных.Стр(Инд));
      если (знч &lt;&gt; '')
      тогда начало
        к := Позиция("_", знч);
        если (к &lt;= 1) или (к &gt;= Длина(знч))
        тогда
          ВызватьОшибку('Неверный формат константы: ' + знч);
        сч := СтрокаВЦелое(Подстрока(знч, к+1, Длина(знч)-к));
        к := СтрокаВЦелое(Подстрока(знч, 1, к-1));
        Классификаторы.РазделенноеЗначение := СтроковаяКонстанта(к, сч);
        ИзменитьЗначениеСтроковойКонстанты(Классификаторы);
        от к := 0 до Классификаторы.Количество - 1 делать
        начало
          знч := УбратьПробелы(Классификаторы.ИмяПараметра(к));
          если (знч &lt;&gt; '')
          тогда начало
            сч := Раскладка.FindColumn(знч);
            знч := УбратьПробелы(Классификаторы.ЗначениеПараметра(Классификаторы.ИмяПараметра(к)));
            если (сч &gt;= 0) и (знч &lt;&gt; '')
            тогда
              если (СтрокаВЦелое(знч) = 0)
              тогда
                ИсключитьКолонку(Раскладка.Columns(сч));
          конец;
        конец;
      конец;
    конец;
  обязательно
    УдалитьОбъект(Классификаторы);
    УдалитьОбъект(ИндексыДанных);
  конец;
конец;

функция ИсключениеКлассификацииПоИменамКонстант(Раскладка: ITableInfoX; СписокИменКонстант: строка; Коллекция: IVariables);
начало
  ИсключениеКлассификацииПоКонстантам(Раскладка, КонстантаПоИмениКонстанты(СписокИменКонстант), Коллекция);
конец;

функция ИсключениеКлассификацииПоИндексам(Раскладка: ITableInfoX; СписокИндексовДанных: строка; Коллекция: IVariables);
начало
  ИсключениеКлассификацииПоКонстантам(Раскладка, КонстантаПоИндексуДанных(СписокИндексовДанных, Коллекция), Коллекция);
конец;

функция ИсключениеКлассификацииПоКодуДокумента(Раскладка: ITableInfoX; СписокКодовДокументов: строка; Коллекция: IVariables);
начало
  ИсключениеКлассификацииПоИндексам(Раскладка, ИндексДанныхПоКодуДокумента(СписокКодовДокументов), Коллекция);
конец;

функция ИсключениеКлассификацииПоГруппам(Раскладка: ITableInfoX; СписокГрупп: строка; Коллекция: IVariables);
переменные
  ДляРасходов, ДляИсточников, ДляДоходов: целое;
начало
  ОпределитьПараметрыПоТипуКлассификации(Коллекция, ДляРасходов, ДляИсточников, ДляДоходов);
  ИсключениеКлассификацииПоИндексам(Раскладка, ПолучитьОгрПоГруппеПлановыхДокументов(СписокГрупп, ДляРасходов, ДляИсточников, ДляДоходов), Коллекция);
конец;

функция ИсключениеКлассификации(Раскладка: ITableInfoX; Коллекция: IVariables);
начало
  если Коллекция.ПараметрСуществует('СписокГруппПлановыхДокументов')
  тогда
    ИсключениеКлассификацииПоГруппам(Раскладка, Коллекция.Значение('СписокГруппПлановыхДокументов'), Коллекция);
  если Коллекция.ПараметрСуществует('СписокКодовДокументов')
  тогда
    ИсключениеКлассификацииПоКодуДокумента(Раскладка, Коллекция.Значение('СписокКодовДокументов'), Коллекция);
  если Коллекция.ПараметрСуществует('СписокИндексовДанных')
  тогда
    ИсключениеКлассификацииПоИндексам(Раскладка, Коллекция.Значение('СписокИндексовДанных'), Коллекция);
  если Коллекция.ПараметрСуществует('СписокИменКонтролируемыхКонстант')
  тогда
    ИсключениеКлассификацииПоИменамКонстант(Раскладка, Коллекция.Значение('СписокИменКонтролируемыхКонстант'), Коллекция);
  если Коллекция.ПараметрСуществует('СписокКонтролируемыхКонстант')
  тогда
    ИсключениеКлассификацииПоКонстантам(Раскладка, Коллекция.Значение('СписокКонтролируемыхКонстант'), Коллекция);
конец;

//Полный набор классификаторов в шаблонах
функция ПолучитьСписокКлассификаторов: строка;
начало
  результат := "КВСР,КФСР,КЦСР,КВР,КЭСР,СубКЭСР,ТипСредств,Мероприятие,Направление,Регион,ВидАссигнований,ВидПлана,"+
               "ВидИзменений,ТипФинансирования,ТипДокОснования,"+
               "КодЦелевыхСредств,КодБюджАссигнования,КодРасходногоОбязательства,КодСубсидии";
конец;

функция ВернутьАктуальнуюКлассификациюРаскладки(Раскладка: ITableInfoX; Классификаторы: строка): строка;
переменные
  ц, инд: целое;
  тКлассиф: Текст;
начало
  результат := "";
  тКлассиф := СоздатьТекст;
  попытка
    тКлассиф.РазделенноеЗначение := Классификаторы;
    от ц := 0 до тКлассиф.Количество - 1 делать
    начало
      инд := Раскладка.FindColumn(тКлассиф.Стр(ц));
      если инд &gt; -1 тогда
        если не Раскладка.Columns(инд).Hidden тогда
          результат := результат + "," + тКлассиф.Стр(ц);
    конец;
  обязательно
    УдалитьОбъект(тКлассиф);
  конец;
  результат := Подстрока(результат, 2, Длина(результат) - 1);
конец;

</value>
    <param value="АнализКонтролируемойКлассификации.abl" type="3" name="Export">MITROFANOVNEW\mitrofanov\29.03.2013 16:00:37</param>
    <param value="АнализКонтролируемойКлассификации.abl" type="3" name="version">36.223.03</param>
    <param value="АнализКонтролируемойКлассификации.abl" type="3" name="crc32">$F65DCE8D</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\События">
    <value type="7" name="КонтрольВыборДатыКонтроляПоСостояниям">включить "\Библиотеки\Reports.lib";
//включить "\Библиотеки\Documents.lib";
//включить "\Библиотеки\VAriables.lib";
//включить "\Библиотеки\LibRU.lib";
//включить "\Библиотеки\Control.lib";
//включить "\Макросы\Контроль\ПоддержкаКонтроля.abl";
//включить "\Макросы\Отчеты\ПоддержкаОтчетов.abl";
//включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";

ВыборДатыКонтроля(Параметры : IVariables);

/*функция ПолучитьМаксЦелоеЗнач(Источник: СтатическиеДанные; Имяполя: СТРОКА): целое;
переменные
  Макс  : ЦЕЛОЕ;
  ПолеПоиска    : IField;
  СтарыйФильтр  : строка;
начало
  СтарыйФильтр := Источник.Фильтр;
  Макс := -1;  
  попытка
    Источник.Filtered := Нет;
    если УбратьПробелы(СтарыйФильтр) &lt;&gt; ""
      тогда Источник.Фильтр := "("+СтарыйФильтр + ")and("+ControlResult + "&lt;=2)"
      иначе Источник.Фильтр := "("+ControlResult + "&lt;=2)";
    Источник.Filtered := Да;    

    ПолеПоиска := Источник.ПолеПоИмени(Имяполя);
    Источник.ВНачало();
    пока не Источник.ВКонце делать
    начало
      если (ПолеПоиска.КакЦелое &gt; Макс)и(не ПолеПоиска.Пустое)
        тогда Макс := ПолеПоиска.КакЦелое;
      Источник.Следующая();
    конец;
    результат := Макс;
  обязательно
    Источник.Filtered := Нет;
    Источник.Фильтр := СтарыйФильтр;
    Источник.Filtered := УбратьПробелы(СтарыйФильтр)&lt;&gt;"";
  конец;  
конец;
*/
//константы
//  КонстДатаРеестра      = "ReestrDate";
//  КонстСсылкаНаРеестр   = "Reestr_Ref";
//переменные
//  ПараметрыАлгоритмов   :IVariables;
//  ПроверяемыеПоСостояниям: СтатическиеДанные;
//  КонДата               : строка;
//  Вид, максДата,
//  ВариантКонечнойДаты,
//  СсылкаНаРеестрУРМ     : целое;
начало

/*  ПараметрыАлгоритмов := Параметры.Значение(АлгПараметры);
  Вид := ПараметрыАлгоритмов.Values("ВидКонтроля");
  ПроверяемыеПоСостояниям := Values(КонтрольДанныеПОСостояниям);
  //для контроля состояний конечную дату контроля берем в зависимости от настроек в константах
  если КонтрольСостояний(Вид)
    тогда начало
      ВариантКонечнойДаты := ЦелаяКонстанта(57, 1);
      выбрать ВариантКонечнойДаты из
      0: начало
           МаксДата := ПолучитьМаксЦелоеЗнач(ПроверяемыеПоСостояниям, КонстДатаРеестра);//по макс. дату реестра в документах
           если МаксДата &gt; -1
             тогда КонДата := ДатаВСтроку(РасширДатаВОбычную(МаксДата))
             иначе КонДата := ДатаВСтроку(ТекущаяДатаССервера());
         конец;    
      1: КонДата := ДатаВСтроку(ТекущаяДатаССервера());//по текущую дату
      2: начало                              //по макс. дату реестра в документах за исключением п/п от УРМ
           попытка
             СсылкаНаРеестрУРМ := ЦелаяКонстанта(56, 0);
             ПроверяемыеПоСостояниям.Фильтр := "("+КонстСсылкаНаРеестр+"&lt;&gt;"+ЦелоеВСтроку(СсылкаНаРеестрУРМ)+")";
             ПроверяемыеПоСостояниям.Filtered := ДА;
             МаксДата := ПолучитьМаксЦелоеЗнач(ПроверяемыеПоСостояниям, КонстДатаРеестра);
             если МаксДата &gt; -1
               тогда КонДата := ДатаВСтроку(РасширДатаВОбычную(МаксДата))
               иначе КонДата := ДатаВСтроку(ТекущаяДатаССервера());
           обязательно
             ПроверяемыеПоСостояниям.Filtered := Нет;           
             ПроверяемыеПоСостояниям.Фильтр := "";
           конец;  
         конец;
      конец;//выбрать   
      если (КонДата &lt;&gt; "") и (КонДата &lt;&gt; "00.00.0000")
        тогда ПараметрыАлгоритмов.Values("КонечнаяДата") := КонДата;
    конец;
*/
конец.
</value>
    <param value="КонтрольВыборДатыКонтроляПоСостояниям" type="3" name="version">36.223.03</param>
    <param value="КонтрольВыборДатыКонтроляПоСостояниям" type="3" name="crc32">$0A9BAF5E</param>
  </node>
  <node path="Бюджет\Объекты\Контроль\Скрипты\События">
    <value type="7" name="КонтрольПараметрыПлательщик(Лимиты)">включить "\библиотеки\Documents.lib";
включить "\библиотеки\LibRU.lib";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\ABLTools.lib";

ОбобщенныеЛС(Параметры:IVariables);
переменные
  ОдинЛС        : целое;
  МногоЛС,      
  ОбработанныеЛС: строка;
  ЛокПараметры,Пользовательские: IVariables;   
НАЧАЛО
//для предварительного контроля смотрим по л/с если он ХХХ.01.ХХХ.Х,то включаем выбор расходов со всех л/с ХХХ.01.000.0-ХХХ.01.999.9
//для всех остальных контролей остатки выбираются всегда со всех л/с ХХХ.01.000.0 - ХХХ.01.999.9
  ЛокПараметры := Параметры.Values(АлгПараметры);
//  Пользовательские := Параметры.Values(АлгПараметрыВывода);
  если СтрокаВЦелое(ЛокПараметры.Values("ВидКонтроля")) &lt;&gt; 0
    тогда ЛокПараметры.Values("ЛицСчетЧек") := Нет
    иначе если  ((СтрокаВЦелое(ЛокПараметры.Values("ЛицСчет")) цел 10000)ост 100)= 1
            тогда ЛокПараметры.Values("ЛицСчетЧек") := Нет
            иначе ЛокПараметры.Values("ЛицСчетЧек") := Да;
            
  МногоЛС := Строка(ЛокПараметры.Values("ЛицСчет"));
  ОбработанныеЛС := "";
  пока Позиция(",", МногоЛС) &lt;&gt; 0 делать
  начало
    ОдинЛС := СтрокаВЦелое(Подстрока(МногоЛС, 0, Позиция(",", МногоЛС)-1));
    если (ОдинЛС цел 10000) ост 100 = 1
      тогда ОдинЛС := (ОдинЛС цел 10000)* 10000;
    ОбработанныеЛС := ОбработанныеЛС + ЦелоеВСтроку(ОдинЛС) + ",";  
    МногоЛС := Подстрока(МногоЛС, Позиция(",", МногоЛС)+1, Длина(МногоЛС)-Позиция(",", МногоЛС));
  конец;
  ОдинЛС := СтрокаВЦелое(МногоЛС);
  если (ОдинЛС цел 10000) ост 100 = 1
    тогда ОдинЛС := (ОдинЛС цел 10000)* 10000;
  ОбработанныеЛС := ОбработанныеЛС + ЦелоеВСтроку(ОдинЛС) + ",";  
  ЛокПараметры.Values("ЛицСчет") := ОбработанныеЛС;
КОНЕЦ.

</value>
    <param value="КонтрольПараметрыПлательщик(Лимиты)" type="3" name="version">36.223.03</param>
    <param value="КонтрольПараметрыПлательщик(Лимиты)" type="3" name="crc32">$296DC107</param>
  </node>
  <node path="Бюджет\Объекты\Контроль\Скрипты\События">
    <value type="7" name="КонтрольПараметрыПолучатель(Лимиты)">//накладывание ограничений для контроля по лимитам(получателя)
включить "\библиотеки\Documents.lib";
включить "\библиотеки\LibRU.lib";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\ABLTools.lib";

ОбобщенныеЛС(Параметры:IVariables);
переменные
  ОдинЛС        : целое;
  МногоЛС,      
  ОбработанныеЛС: строка;
  ЛокПараметры,Пользовательские: IVariables;   
НАЧАЛО
//для предварительного контроля смотрим по л/с если он ХХХ.01.ХХХ.Х,то включаем выбор расходов со всех л/с ХХХ.01.000.0-ХХХ.01.999.9
//для всех остальных контролей остатки выбираются всегда со всех л/с ХХХ.01.000.0 - ХХХ.01.999.9
  ЛокПараметры := Параметры.Values(АлгПараметры);
//переносим из Сформированного для получателя ограничения в стандартные для выбора данных в алгоритмах
  ЛокПараметры.Values("ЛицСчет") := ЛокПараметры.Values("DestFacialACC_CLS"); 
  если СтрокаВЦелое(ЛокПараметры.Values("ВидКонтроля")) &lt;&gt; 0
    тогда ЛокПараметры.Values("ЛицСчетЧек") := Нет
    иначе если  ((СтрокаВЦелое(ЛокПараметры.Values("ЛицСчет")) цел 10000)ост 100)= 1
            тогда ЛокПараметры.Values("ЛицСчетЧек") := Нет
            иначе ЛокПараметры.Values("ЛицСчетЧек") := Да;
            
  МногоЛС := Строка(ЛокПараметры.Values("ЛицСчет"));
  ОбработанныеЛС := "";
  пока Позиция(",", МногоЛС) &lt;&gt; 0 делать
  начало
    ОдинЛС := СтрокаВЦелое(Подстрока(МногоЛС, 0, Позиция(",", МногоЛС)-1));
    если (ОдинЛС цел 10000) ост 100 = 1
      тогда ОдинЛС := (ОдинЛС цел 10000)* 10000;
    ОбработанныеЛС := ОбработанныеЛС + ЦелоеВСтроку(ОдинЛС) + ",";  
    МногоЛС := Подстрока(МногоЛС, Позиция(",", МногоЛС)+1, Длина(МногоЛС)-Позиция(",", МногоЛС));
  конец;
  ОдинЛС := СтрокаВЦелое(МногоЛС);
  если (ОдинЛС цел 10000) ост 100 = 1
    тогда ОдинЛС := (ОдинЛС цел 10000)* 10000;
  ОбработанныеЛС := ОбработанныеЛС + ЦелоеВСтроку(ОдинЛС) + ",";  
  ЛокПараметры.Values("ЛицСчет") := ОбработанныеЛС;
КОНЕЦ.

</value>
    <param value="КонтрольПараметрыПолучатель(Лимиты)" type="3" name="version">36.223.03</param>
    <param value="КонтрольПараметрыПолучатель(Лимиты)" type="3" name="crc32">$DDC29BB7</param>
  </node>
  <node path="Бюджет\Объекты\Контроль\Скрипты\События">
    <value type="7" name="КонтрольУчетЗаявок">//************************************************************************************************
// Обработчик для контроля новых заявок
//************************************************************************************************
включить "\библиотеки\Variables.lib";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\Documents.lib";
включить "\библиотеки\LibRU.lib";

//вычитание из выбранных остатков записей ссылающихся на проверяемые заявки
КонтрольУчетЗаявок(Параметры: IVariables);
переменные
  Исходный              : СтатическиеДанные; // Исходный - исходный сс с выбранными начальными остатками
  НомераЗаявок          : Текст;             // НОмераЗаявок - ИД проверяемых заявок  
  ПарамОгр              : IVariables;
  ОгрПоЗаявкам          : строка;
  сч                    : целое;
начало
  Исходный := Параметры.Values(АлгДанные);
  ПарамОгр := Параметры.Values(АлгПараметры);
  НомераЗаявок := СоздатьТекст();
  попытка
    НомераЗаявок.РазделенноеЗначение := ПарамОгр.Values("ПроверяемыеЗаявки");
    ОгрПоЗаявкам := "";
    от сч := 0 до НомераЗаявок.Количество-1 делать
    начало
      ОгрПоЗаявкам := ОгрПоЗаявкам + "(Заявка="+ НомераЗаявок.Стр(сч)+ ")or";
    конец;
    ОгрПоЗаявкам := Подстрока(ОгрПоЗаявкам, 0, Длина(ОгрПоЗаявкам) - 2);
    если ОгрПоЗаявкам &lt;&gt; ""
      тогда начало
        Исходный.Фильтр := ОгрПоЗаявкам;
        Исходный.Filtered := ДА;
        Исходный.Clear;        
        Исходный.Filtered := Нет;
        Исходный.Фильтр := "";
      конец;  
  обязательно
    Интерфейс(НомераЗаявок).Освободить;     
  конец
конец;
</value>
    <param value="КонтрольУчетЗаявок" type="3" name="version">36.223.03</param>
    <param value="КонтрольУчетЗаявок" type="3" name="crc32">$AF526DD7</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\События">
    <value type="7" name="КонтрольУчетФинансированияБезСсылокБО">//************************************************************************************************
// Обработчик для контроля бюджетных обязательств
// Делает следующее: 1)Выделяет из бюджетных обязательств только те которые не имеют уточнений
//                     - самое последнее в цепочке
//                   2)Отсекает в расходных документах те, которые имеют ссылки на БО
//                     - (т.е. все выплаты на основании бюджетных обязательств)
//Внимание: удаляются обязательства, которые являются последним уточнением, но есть еще непринятые проверяемые БО уточняющие их 
//************************************************************************************************
включить "\библиотеки\Variables.lib";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\Documents.lib";
включить "\библиотеки\LibRU.lib";
включить "\библиотеки\Control.lib";

КонтрольУчетФинансированияБезСсылокБО(Параметры: IVariables);
переменные
// Исходный      - исходный сс с выбранными начальными остатками
// Обязательства - обрабатывает блок обязательств
// Казначейство  - обрабатывает блок казначейских документов
  ti: ITableInfoX;
  Проверяемые, Исходный, Казначейство: СтатическиеДанные;
  ПарамОгр: IVariables;
  НомераБО, поля: Текст;
  сч, Индекс, ВидКонтроля: целое;
  НачДата, ТекДата: целое;
  СтрокаМаппинга, ЛеваяЧасть, ПраваяЧасть: строка;
константы
  ПоляГруппировки1 = "БюджОбяз,ЛицевойСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Мероприятие,ИсточникФинансирования,ТипФинансирования,";
  ПоляГруппировки2 = "ТипСредств,ТипДокумента,ИсточникВнутрФинансирования,Регион,Мероприятие,Направление";

  ПоляСумм1 = "ФинРеестрЗаПериод,ФинФактЗаПериод,КазнРеестрВозврРасходЗаПериод,КазнРеестрРасходЗаПериод,РоспКвартСуммаНаГод,ОбязСуммаНаГод,";
  ПоляСумм2 = "КазнРеестрРасходСВозвратомЗаПериод,РоспНаПервыйГод,РоспНаВторойГод,РоспНаТретийГод,ОбязНаПервыйГод,ОбязНаВторойГод,ОбязНаТретийГод";
  ПоляСуммКвартал = ",РоспКвартал1,РоспКвартал2,РоспКвартал3,РоспКвартал4,ОбязКвартал1,ОбязКвартал2,ОбязКвартал3,ОбязКвартал4";
  ПоляСуммМесяц1 = ",РоспЯнварь,РоспФевраль,РоспМарт,РоспАпрель,РоспМай,РоспИюнь";
  ПоляСуммМесяц2 = ",РоспИюль,РоспАвгуст,РоспСентябрь,РоспОктябрь,РоспНоябрь,РоспДекабрь";
  ПоляСуммОбяз1 = ",ОбязЯнварь,ОбязФевраль,ОбязМарт,ОбязАпрель,ОбязМай,ОбязИюнь";
  ПоляСуммОбяз2 = ",ОбязИюль,ОбязАвгуст,ОбязСентябрь,ОбязОктябрь,ОбязНоябрь,ОбязДекабрь";
  
  ПолеПринятНепринят = "ПринятыеНепринятые"; 
  ПолеФильтра = "ЗаписьПроверяется";
начало
  Исходный := Параметры.Values(АлгДанные);
  ПарамОгр := Параметры.Values(АлгПараметры);
  ti := Параметры.Values(АлгРаскладка);
  Индекс := ti.FindColumnByField(ПолеФильтра);
  если Индекс &gt; -1 тогда //если поле фильтра "контроль принятых БО присутствует"
  начало
    ВидКонтроля := ПарамОгр.Values("ВидКонтроля");
    Проверяемые := Параметры.Values(КонтрольДанные);
    Проверяемые.ВНачало;
    пока не Проверяемые.ВКонце делать
    начало
      если (ВидКонтроля = ctxCustomPost)и(Проверяемые.ПолеПоИмени(ПолеПринятНепринят).КакЦелое) тогда
        Проверяемые.ПолеПоИмени(ПолеФильтра).КакЦелое := 0//на проставление даты принятия проверяем, что документ принят, а не отклонен
      иначе
        Проверяемые.ПолеПоИмени(ПолеФильтра).КакЦелое := 1;//для отклоненных документов на принятие документа контроля не делается
      Проверяемые.Следующий;         
    конец;
  конец;
  //получаем ограничение по дате выбираемых остатков
  попытка
    НачДата := СтрокаВРасширеннуюДату(ПарамОгр.Значение("НачальнаяДата"));
    если НачДата = 0 тогда НачДата := 1;
  неудача
    НачДата := 1;
  конец;  
  попытка
    ТекДата := СтрокаВРасширеннуюДату(ПарамОгр.Значение("КонечнаяДата"));      
  неудача
    ТекДата := ОбычнаяДатаВРасшир(ТекущаяДата);
  конец;  
       
  Казначейство := СоздатьСтатическиеДанные;
  попытка
    Казначейство.AssignFields(Исходный);
    Казначейство.Открыть;
    // получим записи из блока бюджетных обязательств
    Исходный.Фильтр := "((ИндексыДанных &lt; 60) or (ИндексыДанных &gt; 76)) and (ИндексыДанных &lt;&gt; 23) and (ИндексыДанных &lt;&gt; 223) " +
      "and (ИндексыДанных &lt;&gt; 315) and (ИндексыДанных &lt;&gt; 316) and (БюджОбяз &lt;&gt; 0)";
    //отсеиваем обязательства, которые уточнены проверяемыми БО, необходимо для того, чтобы 
    //при контроле непринятого уточнения дата уточнения у таких документов не проставляется
    //однако удалить их нужно, ибо при контроле указанного документа будет по сути считаться
    //удвоение (уточненный+уточняющий), что не верно т.к. второй документ отменяет первый 
    НомераБО := СоздатьТекст;
    попытка
      если ПарамОгр.CheckParam("НомераУточненных") тогда
      начало
        Исходный.Индекс := "БюджОбяз";
        НомераБО.РазделенноеЗначение := ПарамОгр.Values("НомераУточненных");
        от сч := 0 до (НомераБО.Количество - 1) делать
        начало
          //Левая часть - номер проверяемого БО
          ЛеваяЧасть := Подстрока(НомераБО.Стр(сч), 0, Позиция("=", НомераБО.Стр(сч))-1);
          //Правая часть - номер уточненного документа проверяемым БО             
          ПраваяЧасть := Подстрока(НомераБО.Стр(сч), Позиция("=", НомераБО.Стр(сч))+1, Длина(НомераБО.Стр(сч))-Позиция("=", НомераБО.Стр(сч)));
          если Исходный.FindKey(ArrayOf(СтрокаВЦелое(ПраваяЧасть))) тогда
            Исходный.Удалить;
        конец;    
      конец;
    обязательно
      УдалитьОбъект(НомераБО);
    конец;  
    // отсеиваем уточненные обязательства c датой уточнения по проверяемую дату
    Исходный.Фильтр := "(ДатаУточнения &gt;= " + ЦелоеВСтроку(НачДата) + ") and (ДатаУточнения &lt;= " + ЦелоеВСтроку(ТекДата) + ") " +
      "and ((ИндексыДанных &lt; 60) or (ИндексыДанных &gt; 76)) and (ИндексыДанных &lt;&gt; 23) and (ИндексыДанных &lt;&gt; 223) " +
      "and (ИндексыДанных &lt;&gt; 315) and (ИндексыДанных &lt;&gt; 316) and (БюджОбяз &lt;&gt; 0)";
    Исходный.Очистить;
    // для документов казначейства нужно сделать следующее
    // удалить документы, которые связаны обязательствами
    Исходный.Фильтр := "((ИндексыДанных &gt;= 60) and (ИндексыДанных &lt;= 76)) or (ИндексыДанных = 23) or (ИндексыДанных = 223) " +
      "or (ИндексыДанных = 315) or (ИндексыДанных = 316)";
    Казначейство.Закачать(Исходный);
    Исходный.Очистить;
    //удаление документов казначейства ссылающихся на БО 
    Казначейство.Фильтр := "БюджОбяз &lt;&gt; 0";
    Казначейство.Очистить;        
    Казначейство.Фильтр := "";                
    Исходный.Фильтр := "";
    
    Поля := СоздатьТекст();
    Поля.РазделенноеЗначение := ПоляГруппировки1 + ПоляГруппировки2;
    СтрокаМаппинга := '';
    от сч := 0 до Поля.Количество-1 делать
      если Исходный.FindField(Поля.Стр(сч), nil) тогда
        СтрокаМаппинга := СтрокаМаппинга+','+Поля.Стр(сч)+'='+Поля.Стр(сч);
    Поля.РазделенноеЗначение := ПоляСумм1 + ПоляСумм2 + ПоляСуммКвартал + ПоляСуммМесяц1 + ПоляСуммМесяц2 + ПоляСуммОбяз1 + ПоляСуммОбяз2;
    от сч := 0 до Поля.Количество-1 делать
      если Исходный.FindField(Поля.Стр(сч),nil) тогда
        СтрокаМаппинга := СтрокаМаппинга + ','+Поля.Стр(сч) + '=' + Поля.Стр(сч);
    Исходный.PumpData(Казначейство,Подстрока(СтрокаМаппинга, 2, Длина(СтрокаМаппинга)));    
  обязательно
    УдалитьОбъект(Казначейство);
  конец;
конец;
</value>
    <param value="КонтрольУчетФинансированияБезСсылокБО" type="3" name="Export">MARAEVA7\baranova\11.03.2013 19:00:51</param>
    <param value="КонтрольУчетФинансированияБезСсылокБО" type="3" name="version">36.223.03</param>
    <param value="КонтрольУчетФинансированияБезСсылокБО" type="3" name="crc32">$20E7680D</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\События">
    <value type="7" name="КонтрольУчетФинансированияУточненнымиБО">//************************************************************************************************
// Обработчик для контроля бюджетных обязательств
// Делает следующее: 1)Выделяет из бюджетных обязательств только те, которые не имеют уточнений
//                     - самое последнее в цепочке
//                   2)Оставляет в расходных документах те, которые имеют ссылки на выбранные в остатках БО
//                     - (т.е. все выплаты на основании бюджетных обязательств)
//Внимание: удаляются обязательства, которые являются последним уточнением, но есть еще непринятые проверяемые БО уточняющие их 
//************************************************************************************************
включить "\библиотеки\Variables.lib";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\Documents.lib";
включить "\библиотеки\LibRU.lib";
включить "\библиотеки\Control.lib";

КонтрольУчетФинансированияУточненнымиБО(Параметры: IVariables);
константы
  ПоляГруппировки1 = "БюджОбяз,ЛицевойСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ОбобщенныйСубКЭСР,Мероприятие,ИсточникФинансирования,";
  ПоляГруппировки2 = "ТипФинансирования,ТипСредств,ТипДокумента,Направление";
  ПоляСумм1 = "ФинРеестрЗаПериод,ФинФактЗаПериод,КазнРеестрВозврРасходЗаПериод,КазнРеестрРасходЗаПериод,КазнФактРасходЗаПериод,";
  ПоляСумм2 = "КазнФактВозврРасходЗаПериод,КазнФактПриходЗаПериод,КазнФактВозврПриходЗаПериод,РоспКвартСуммаНаГод,ОбязСуммаНаГод,ОбязСуммаПоТекМесяц";
  ПолеБОВПроверяемых = "НомерПоследнегоБО";
  ПолеБО = 'БюджОбяз';
  ПолеИндексыДанных = "ИндексыДанных";
переменные
// Исходный      - исходный сс с выбранными начальными остатками
// Обязательства - обрабатывает блок обязательств
// Казначейство  - обрабатывает блок казначейских документов
  Проверяемые, Исходный, Обязательства, Казначейство: СтатическиеДанные;
  ПарамОгр: IVariables;
  ti: ITableInfoX;
//НомераБО - все номера БО, уточненные проверяемыми БО
//Поля     - список полей, которые участвуют в группировке при возврате в исходный сс обработанных данных 
  НомераБО, поля: Текст;
  НомерБО,НомерУточняющегоБО:Поле;
  ИндексКолонки, флаг, удалять, НомерУточняющего:целое;
  НачДата, ТекДата, сч: целое;
  ЛеваяЧасть, ПраваяЧасть, СтрокаМаппинга: строка;
  
  функция ПодтянутьНомерУточнения(Источник: СтатическиеДанные; ОписаниеШаблона: ITableInfoX; ПолеНомерБО: строка);
  переменные
    ИндексКолонкиБО: целое;
  начало
    //в случае если колонка в шаблоне не боевая говорим, что ее нельзя использовать
    ИндексКолонкиБО := ОписаниеШаблона.FindColumnByField("ДатаЗавершения");
    если ИндексКолонкиБО &gt; -1 тогда
      если не ОписаниеШаблона.Columns(ИндексКолонкиБО).IsDataRequired тогда
        ИндексКолонкиБО := -1;
    Источник.индекс:= ПолеНомерБО;
    
    Источник.First;
    НомерБО := Источник.ПолеПоИмени(ПолеНомерБО);
    НомерУточняющегоБО := Обязательства.ПолеПоИмени('НомерУточняющегоБО');
    пока не Источник.EOF делать
    начало
      флаг := да;
      удалять := да;
      пока Обязательства.FindKey(ArrayOf(НомерБО.КакЦелое)) и флаг делать
      начало
        Удалять := нет;
        НомерУточняющего := НомерУточняющегоБО.КакЦелое;
        если (НомерУточняющего &gt; 0) и (НомерУточняющего &lt;&gt; НомерБО.КакЦелое) и Обязательства.FindKey(ArrayOf(НомерУточняющего)) тогда 
          НомерБО.КакЦелое := НомерУточняющего
        иначе
          флаг := нет;
        //заполняем дату завершения договора(последнего принятого уточнения) в казначействе, т.к. из алгоритмов это поле приходит пустым               
        если ИндексКолонкиБО &gt; -1 тогда  
          Источник.ПолеПОИмени("ДатаЗавершения").КакЦелое := Обязательства.ПолеПоИмени("ДатаЗавершения").КакЦелое;              
      конец;
      если удалять и НомерБО.Пустое тогда
        Источник.Удалить
      иначе
        Источник.Next;
    конец;
  конец;

начало
  //получаем описание шаблона, ограничения и выбранные данные из коллекции
  Исходный := Параметры.Values(АлгДанные);
  Проверяемые := Параметры.Values(КонтрольДанные);
  ПарамОгр := Параметры.Values(АлгПараметры);
  ti := Параметры.Values(АлгРаскладка);
  //получаем ограничение по датам периода    
  попытка
    НачДата := СтрокаВРасширеннуюДату(ПарамОгр.Значение("НачальнаяДата"));
    если НачДата = 0 тогда НачДата := 1;
  неудача
    НачДата := 1;
  конец;  
  попытка
    ТекДата := СтрокаВРасширеннуюДату(ПарамОгр.Значение("КонечнаяДата"));      
  неудача
    ТекДата := ОбычнаяДатаВРасшир(ТекущаяДата);
  конец;  

  Обязательства := СоздатьСтатическиеДанные();
  Казначейство := СоздатьСтатическиеДанные();
  Поля := СоздатьТекст();  
  попытка
    Обязательства.AssignFields(Исходный);
    Обязательства.Открыть;
    Казначейство.AssignFields(Исходный);
    Казначейство.Открыть;
    // получим записи из блока бюджетных обязательств
    Исходный.Фильтр := "((ИндексыДанных &lt; 60) or (ИндексыДанных &gt; 76)) and (ИндексыДанных &lt;&gt; 23) and (ИндексыДанных &lt;&gt; 223) " +
      "and (ИндексыДанных &lt;&gt; 315) and (ИндексыДанных &lt;&gt; 316) and (" + ПолеБО + " &lt;&gt; 0)";
    // сохраним их отдельно. Они пригодятся нам для учета казначейского финансирования.
    Обязательства.Закачать(Исходный);
    Обязательства.Индекс := ПолеБО;
    // отсеиваем уточненные обязательства c датой уточнения по проверяемую дату
    Исходный.Фильтр := Исходный.Фильтр + " and (ДатаУточнения &gt;= " + ЦелоеВСтроку(НачДата) + ") and (ДатаУточнения &lt;= " + ЦелоеВСтроку(ТекДата) + ")";
    Исходный.Очистить;
    // для документов казначейства нужно сделать следующее
    // удалить документы, которые не связаны с нужными нам обязательствами
    // возможно документ связан с уточненными обязательствами, а уточняющее его обязательсво входит в множество нужных
    // тогда этот документ оставляем и связываем его с последним уточняющим обязательством
    Исходный.Фильтр := "((ИндексыДанных &gt;= 60) and (ИндексыДанных &lt;= 76)) or (ИндексыДанных = 23) or (ИндексыДанных = 223) " +
      "or (ИндексыДанных = 315) or (ИндексыДанных = 316)";
    Казначейство.Закачать(Исходный);
    Исходный.Очистить;
    //подставляем номер последнего действующего номера БО в цепочке для каждой записи в исходных данных  
    ПодтянутьНомерУточнения(Казначейство, ti, ПолеБО);
    //для проверяемых записей подтяжка номера последнего уточнения в вычислимое поле
    ИндексКолонки := ti.FindColumn(ПолеБОВПроверяемых); 
    если ИндексКолонки &gt; -1 тогда
      если ti.Columns(ИндексКолонки).IsDataRequired тогда 
      начало
        Проверяемые.ВНачало;
        пока не Проверяемые.ВКонце делать
        начало
          Проверяемые.ПолеПоИмени(ПолеБОВПроверяемых).КакЦелое := Проверяемые.ПолеПоИмени(ПолеБО).КакЦелое;
          Проверяемые.Следующая;
        конец;
        //подставляем номер последнего действующего номера БО в цепочке для каждой записи в проверяемых данных          
        ПодтянутьНомерУточнения(Проверяемые, ti, ПолеБОВПроверяемых);        
      конец;
    //выделяем оставшиеся 
    Исходный.Фильтр := "((ИндексыДанных &lt; 60) or (ИндексыДанных &gt; 76)) and (ИндексыДанных &lt;&gt; 23) and (ИндексыДанных &lt;&gt; 223) " +
      "and (ИндексыДанных &lt;&gt; 315) and (ИндексыДанных &lt;&gt; 316) and (" + ПолеБО + " &lt;&gt; 0)";
    //отсеиваем обязательства, которые уточнены проверяемыми БО, необходимо для того, чтобы 
    //при контроле непринятого уточнения дата уточнения у таких документов не проставляется
    //однако удалить их нужно, ибо при контроле указанного документа будет по сути считаться
    //удвоение (уточненный+уточняющий), что не верно т.к. второй документ отменяет первый 
    НомераБО := СоздатьТекст();
    попытка
      если ПарамОгр.CheckParam("НомераУточненных") тогда
      начало
        Исходный.Индекс := ПолеБО;
        НомераБО.РазделенноеЗначение := ПарамОгр.Values("НомераУточненных");
        от сч := 0 до (НомераБО.Количество - 1) делать
        начало
          ЛеваяЧасть := Подстрока(НомераБО.Стр(сч), 0, Позиция("=", НомераБО.Стр(сч))-1);
          ПраваяЧасть := Подстрока(НомераБО.Стр(сч), Позиция("=", НомераБО.Стр(сч))+1, Длина(СтрокаВЦелое(НомераБО.Стр(сч))-Позиция("=", НомераБО.Стр(сч))));
//Левая часть - номер проверяемого БО
//Правая часть - номер уточненного документа проверяемым БО             
          если Исходный.FindKey(ArrayOf(СтрокаВЦелое(ПраваяЧасть))) тогда
            Исходный.Удалить;
//подменяем номера ссылок на БО в казначействе на номера непринятых уточнений, если такие есть
//чтобы в казначействе стояли номера не последнего принятого уточнения, а проверяемых непринятых БО, которые уточняют его             
          Казначейство.Фильтр := ПолеБО + "=" + ПраваяЧасть;
          Казначейство.ВНачало;
          пока не Казначейство.ВКонце делать
          начало
            Казначейство.ПолеПоИмени(ПолеБО).КакЦелое := СтрокаВЦелое(ЛеваяЧасть);
            Казначейство.Следующая
          конец;
          Казначейство.Фильтр := "";
        конец;                 
      конец;
    обязательно
      Исходный.Фильтр := ""; 
      УдалитьОбъект(НомераБО);
    конец;
    //формируем строку маппинга соответствия полей классификаторов по описанию шаблона при переносе данных из одного сс в другой
    Поля.РазделенноеЗначение := ПоляГруппировки1 + ПоляГруппировки2;
    СтрокаМаппинга := '';
    от сч := 0 до (Поля.Количество - 1) делать
    начало
      ИндексКолонки := ti.FindColumn(Поля.Стр(сч));
      если ИндексКолонки &gt; -1 тогда
        если ti.Columns(ИндексКолонки).ISDatarequired тогда 
          СтрокаМаппинга := СтрокаМаппинга + ',' + Поля.Стр(сч) + '=' + Поля.Стр(сч);
    конец;
    //формируем строку маппинга соответствия полей сумм по описанию шаблона при переносе данных из одного сс в другой
    Поля.РазделенноеЗначение := ПоляСумм1 + ПоляСумм2;
    от сч := 0 до (Поля.Количество - 1) делать
    начало
      ИндексКолонки := ti.FindColumn(Поля.Стр(сч));
      если ИндексКолонки &gt; -1 тогда
        если ti.Columns(ИндексКолонки).IsDataRequired тогда
          СтрокаМаппинга := СтрокаМаппинга + ',' + Поля.Стр(сч) + '=' + Поля.Стр(сч);
    конец;
    Исходный.PumpData(Казначейство, Подстрока(СтрокаМаппинга, 2, Длина(СтрокаМаппинга)));  
  обязательно
    УдалитьОбъект(Поля, Обязательства, Казначейство);
  конец;
конец;
</value>
    <param value="КонтрольУчетФинансированияУточненнымиБО" type="3" name="Export">MARAEVA7\baranova\11.03.2013 19:00:48</param>
    <param value="КонтрольУчетФинансированияУточненнымиБО" type="3" name="version">36.223.03</param>
    <param value="КонтрольУчетФинансированияУточненнымиБО" type="3" name="crc32">$74B42DFF</param>
  </node>
  <node path="Бюджет\Объекты\Интерфейсы\Служебные">
    <value type="7" name="Фильтрация">// формирование фильтра для данных - стандартные интерфейсы ввода
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';

// передается  МаппингПолей: Имя ограничения в коллекции = Поле
// МаппингОграничений: Имя ограничения в коллекции - значение 
Фильтрация(МаппингПолей, МаппингОграничений, Маски : Строка) : Строка;
переменные 
  КоллекцияОграничений : IVariables;
начало
  // создаем коллекцию, где будем хранить все ограничения
  КоллекцияОграничений := CreateVariables;
  КоллекцияОграничений.AddItems(МаппингОграничений);
  // вызываем функцию формирования строки фильтра
  Фильтрация := FormLimitByParamsEx(МаппингПолей, Маски, КоллекцияОграничений, нет);
  //MsgBox(Фильтрация);
конец;
</value>
    <param value="Фильтрация" type="3" name="version">36.223.03</param>
    <param value="Фильтрация" type="3" name="crc32">$D404F3B9</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\События">
    <value type="7" name="ФормированиеГиперДокумент">// обработчик для показа гипер документов
включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Hypertext.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';

ФормированиеГиперДокумент(НаборДанных: IStaticSets);
переменные
  ОсновнойВизуализатор, ВизуализаторДетали, Визуализатор : IUniViewer;
  ДанныеОтчета,  Заголовок  : СтатическиеДанные;
  КоллекцияОграничений,ЛокКоллекцияОграничений : IVariables;
  ГиперДанные, ГиперЗаголовок : СтатическиеДанные;
  Раскладка, РаскладкаДетали : ITableInfoX;
  ФормаГиперТекста : IHyperForm;
  ПараметрыВыводаЗаголовок, ПараметрыВыводаДеталь : IVariables;
  СписокАлгоритмов, СписокРеальныхАлгоритмов : Текст;
  сч : Целое; 
  ЭтоМетаАлгоритм : Целое; // Мета алгоритм или нет
  СкриптШаблонаБаза : Строка; // скрипт базового шаблона
  СписокАлгоритмовДляЗаписи : Строка; // список алгоритмов сформировавших документ в отчете
  
функция ДобавитьГиперКолонкиВРаскладку(Раскладка : ITableInfoX; ДобавлятьКолонкиПользователя : целое) : ITableInfoX;
переменные
  Колонка, ТекущаяКолока : IColumnInfoX;
  сч : Целое;
  Группировка : Целое;
начало
   Результат := Раскладка;
   если (Раскладка.GetKeys = '')
     тогда Группировка := grpNone
     иначе Группировка := grpGroup;
      
   Раскладка.Options := БитИли(Раскладка.Options, ttoTotalLevel);
   Раскладка.Options := БитИли(Раскладка.Options, ttoResultHidden);
   //надо показывать все основные данные отчета а не скрывать их
   Раскладка.Options := БитИ(Раскладка.Options, БитНе(ttoDataHidden));
   // пробегаем все колонки и у критериев меняем тип (Что бы не было излишних промежуточных итогов)
   сч := 0;
   от Сч := 0 до Раскладка.Count - 1 
   делать начало
     ТекущаяКолока := Раскладка.Columns(сч);
     выбрать ТекущаяКолока.ColumnType из
     ctpNone : ТекущаяКолока.Hidden := да;
     ctpCriterion :
       начало
         ТекущаяКолока.ColumnType := ctpDisplay;
         ТекущаяКолока.Required := БитИли(ТекущаяКолока.Required, trxRequired);         
       конец;
     конец;  
   конец;
   // добавляем колонку с индексом алгоритма(Разыменованный индекс алгоритма)
   Если ДобавлятьКолонкиПользователя 
   тогда начало
     Колонка := Раскладка.Add; 
     Колонка.Caption := 'Блок данных';
     Колонка.Name := '_ИндексАлгоритма';
     Колонка.FieldName := 'ИндексАлгоритма';
     Колонка.Group := Группировка;
     Колонка.ColumnType := ctpDisplay;
     Колонка.ValueType := vtxInteger;
     Колонка.Width := 114;
     Колонка.Code := 'Служебные.ИмяАлгоритма';
     Колонка.Named := да;
     Колонка.Required := trxDaily + trxRequired + trxNotTotal;
     Колонка.Hidden := нет;
     Колонка.Level := 0;
     Колонка.Options:=toxFixedCol;
     Колонка.AutoSize :=asxAutoHeight; 
   конец;  
   
   Если ДобавлятьКолонкиПользователя 
   тогда начало
      // добавляем колонку с индексом алгоритма(Для дальнейшей работы - без разыменовки)
     Колонка := Раскладка.Add; 
     Колонка.Caption := 'Индекс алгоритма';
     Колонка.Name := '_БлокДанных';
     Колонка.FieldName := 'ИндексАлгоритма';
     Колонка.Group := Группировка;
     Колонка.ColumnType := ctpDisplay;
     Колонка.ValueType := vtxInteger;
     Колонка.Width := 75;
     Колонка.Required := trxDaily + trxRequired + trxNotTotal;
     Колонка.Hidden := да;
     Колонка.Level := 0;
   конец;
   
   // добавляем колонку с ProgIndex(Для дальнейшей работы - без разыменовки) 
   Колонка := Раскладка.Add; 
   Колонка.Caption := 'Индекс данных записи';
   Колонка.Name := '_ИндексыДанных';
   Колонка.FieldName := 'ИндексыДанных';
   Колонка.Group := Группировка;
   Колонка.ColumnType := ctpDisplay;
   Колонка.ValueType := vtxInteger;
   Колонка.Width := 75;
   Колонка.Required := trxDaily + trxRequired + trxNotTotal;
   Колонка.Hidden := да;
   Колонка.Level := 0;

   // добавляем колонку с ProgIndex'ом заголовка(Для дальнейшей работы - без разыменовки) 
   Колонка := Раскладка.Add; 
   Колонка.Caption := 'Индекс данных документа';
   Колонка.Name := '_ИндексыДанныхЗаголовок';
   Колонка.FieldName := 'ИндексыДанныхЗаголовок';
   Колонка.Group := Группировка;
   Колонка.ColumnType := ctpDisplay;
   Колонка.ValueType := vtxInteger;
   Колонка.Width := 75;
   Колонка.Required := trxDaily + trxRequired + trxNotTotal;
   Колонка.Hidden := да;
   Колонка.Level := 0;

   // добавляем колонку с именем интерфейса(Разыменованный индекс данных). 
   //Дополнительно анализируем индекс данных заголовка для тех случаев, когда индексы данных в заголовке и детали различны  
   Колонка := Раскладка.Add;
   Колонка.Caption := 'Интерфейс';
   Колонка.Name := '_ИмяИнтерфейса';
   Колонка.FieldName := 'ВычИмяИнтерфейса';
   Колонка.Group := Группировка;
   Колонка.ColumnType := ctpDisplay;
   Колонка.ValueType := vtxString;
   Колонка.Width := 150;
   //Колонка.Code := 'Служебные.БлокДанных';
   //Колонка.Named := да;
   Колонка.Required := trxDaily + trxRequired + trxNotTotal;
   Колонка.Hidden := нет;
   Колонка.Level := 0;
   Колонка.Options:=toxFixedCol;
   Колонка.AutoSize :=asxAutoHeight;
   Колонка.CalcField := да;
   Колонка.ValueSize := 255;
   Колонка.script := 
     "начало  
        если ИндексыДанныхЗаголовок.Пустое или (ИндексыДанныхЗаголовок.какцелое=ИндексыДанных.какцелое) тогда 
          Значение.КакСтрока:=разыменовать('Служебные.БлокДанных',ИндексыДанных.КакЦелое)
        иначе 
          Значение.КакСтрока:=разыменовать('Служебные.БлокДанных',ИндексыДанныхЗаголовок.КакЦелое)+'('+разыменовать('Служебные.БлокДанных',ИндексыДанных.КакЦелое)+')';
      конец.";
   
   // Добавления поля ID детали
   Колонка := Раскладка.Add; 
   Колонка.Caption := 'Код Записи';
   Колонка.Name := '_КодЗаписи';
   Колонка.FieldName := 'КодЗаписи';
   Колонка.Group := Группировка;
   Колонка.ColumnType := ctpDisplay;
   Колонка.ValueType := vtxInteger;
   Колонка.Width := 75;
   Колонка.Required := trxDaily + trxRequired + trxNotTotal;
   Колонка.Hidden := да;
   Колонка.Level := 0;
конец;

функция СделатьВсеКолонкиРаскладкиДляЧтения(Раскладка : ITableInfoX);
переменные
  сч : Целое;
начало
 от сч := 0 до Раскладка.Count - 1 делать
     Раскладка.Columns(сч).Options := БитИли(toxReadOnly, Раскладка.Columns(сч).Options);
конец;     

// инициализирует Визуализатор детали по индексу алгоритма
функция ИнициализироватьВизуализаторДетали(ГиперФорма : IHyperForm; Визуализатор: IUniViewer; ИндексАлг : Целое; ШаблонПоУмолчанию : Строка);
переменные
  ПутьКШаблону : Строка;
начало
  Визуализатор := ГиперФорма.DetailSSViewerByAlgIndex(ИндексАлг);
  ПутьКШаблону := ГиперФорма.GetTemplateByAlgIndex(ИндексАлг);
  // если шаблона нет, то берем тот же шаблон что и у выполненного отчета (это лучше чем ничего)
  Если (ПутьКШаблону = '')
    тогда ПутьКШаблону := ШаблонПоУмолчанию; 
  Если (ПутьКШаблону = '')
    тогда ВызватьОшибку('Не указан путь к шаблону показа гипер текста для алгоритма c индексом ' + ЦелоеВСтроку(ИндексАлг));
  Визуализатор.Template := ПутьКШаблону;
конец;

функция СформироватьРаскладкуДетали(ТекущаяРаскладкаДетали, РаскладкаОтчета : ITableInfoX; СписокИменАлгоритмов : Строка; 
  НеУдалятьКолонки : Целое; СкриптШаблона : Строка);
переменные 
  ЕстьЧтоДобавлять : Целое;
  сч : Целое;
  ТекущаяКолока, КолонкаОтчета : IColumnInfoX;
  СписокАлгоритмов : Текст;
начало
  // скрипт устанавливаем
  ТекущаяРаскладкаДетали.Script := СкриптШаблона; 
  // если речь идет о метаалгортме то не надо ничего удалять
  Если НЕ НеУдалятьКолонки
  тогда начало
    // Проверка будет ли что добавлять (если нет, то мы и удалять не будем)
    ЕстьЧтоДобавлять := нет;
    СписокАлгоритмов := СоздатьТекст;
    Попытка
      СписокАлгоритмов.разделенноеЗначение := СписокИменАлгоритмов; 
      от Сч := 0 до РаскладкаОтчета.Count - 1 
      делать начало
        КолонкаОтчета := РаскладкаОтчета.Columns(сч);
        Если (не ЕстьЧтоДобавлять) и КолонкаОтчета.IsDataRequired и ((КолонкаОтчета.ColumnType = ctpResult) или (КолонкаОтчета.ColumnType = ctpCrossResult)) и
             (КолонкаОтчета.Category &lt;&gt; '') и (СписокАлгоритмов.Поиск(КолонкаОтчета.Category) &lt;&gt; -1)
        тогда начало
          ЕстьЧтоДобавлять := да;
        конец;
      конец;
    Обязательно
      УдалитьОбъект(СписокАлгоритмов);
    конец;
    если ЕстьЧтоДобавлять тогда начало
      // 1. необходимо удалить все колонки результата из раскладки детали
      сч := 0;
      пока (Сч &lt;= ТекущаяРаскладкаДетали.Count - 1) 
      делать начало
        ТекущаяКолока := ТекущаяРаскладкаДетали.Columns(сч);
        Если (ТекущаяКолока.ColumnType = ctpResult) или (ТекущаяКолока.ColumnType = ctpCrossResult)
          тогда ТекущаяРаскладкаДетали.delete(сч)        
          иначе Сч := Сч + 1; 
      конец;
      // 2. необходимо добавить в раскладку детали все колонки результата относящиеся к данному алгоритму
      СписокАлгоритмов := СоздатьТекст;
      Попытка
        СписокАлгоритмов.разделенноеЗначение := СписокИменАлгоритмов; 
        от Сч := 0 до РаскладкаОтчета.Count - 1 
        делать начало
          КолонкаОтчета := РаскладкаОтчета.Columns(сч);
          Если КолонкаОтчета.IsDataRequired и ((КолонкаОтчета.ColumnType = ctpResult) или (КолонкаОтчета.ColumnType = ctpCrossResult)) и
               (КолонкаОтчета.Category &lt;&gt; '') и (СписокАлгоритмов.Поиск(КолонкаОтчета.Category) &lt;&gt; -1)
          тогда начало
             ТекущаяКолока := ТекущаяРаскладкаДетали.Add;
             КолонкаОтчета.CopyTo(ТекущаяКолока);
             ТекущаяКолока.Hidden := нет;
             ТекущаяКолока.Level := 0;
          конец;
        конец;
      Обязательно
        УдалитьОбъект(СписокАлгоритмов);
      конец;
    конец;
  конец;  
конец;

//Основной блок
НАЧАЛО
   // получаем форму гипер текста
   ФормаГиперТекста := HyperTextForm;
   ФормаГиперТекста.Clear;
   если (НаборДанных.PageIndex &lt; 0) тогда выход;
   ДанныеОтчета := НаборДанных.DataSets(НаборДанных.PageIndex);
   // получаем коллекцию ограничений
   КоллекцияОграничений := GetHyperTextParams(ДанныеОтчета.ПолеПоИмени(ПолеХранениеГиперТекст));
   локКоллекцияОграничений  := создатьКоллекцию;
   Если (КоллекцияОграничений.Values('КодЗаписи') = '') или (КоллекцияОграничений.Values('КодЗаписи') = '0')
     тогда ВызватьОшибку('Для данной строки невозможно показать данные, сформировавшие ее');
   СписокАлгоритмовДляЗаписи := КоллекцияОграничений.Values('ИндексАлгоритма');  
   // берем ограничения с которыми был выполнен отчет
   КоллекцияОграничений.Pumpdata(Ivariables(НаборДанных.params(НаборДанных.PageIndex)).Values('@ПараметрыГиперТекст'));
   // вернем назад список алгоритмов (он может и подпортиться)
   КоллекцияОграничений.Values('ИндексАлгоритма') := СписокАлгоритмовДляЗаписи;  // в параметрах на панели мог быть такой же параметр
   //берем раскладку с которой будем заполнять первую страницу
   Раскладка := CreateTableInfo;
   ITableInfoX(Ivariables(НаборДанных.params(НаборДанных.PageIndex)).Values('@РаскладкаГиперТекст')).CopyTo(Раскладка); 
   // добавляем колонки в гипер документ
   Раскладка := ДобавитьГиперКолонкиВРаскладку(Раскладка, да);
   // фильтры не нужны
   Раскладка.PreFilter := '';
   Раскладка.Filter := '';
   СкриптШаблонаБаза := Раскладка.Script;
   Визуализатор := ModalWafer.CheckSSViewer;
   // получаем параметры вывода
   ПараметрыВыводаЗаголовок := CreateVariables; 
   ПараметрыВыводаЗаголовок.Pumpdata(Ivariables(НаборДанных.params(НаборДанных.PageIndex)).Values('@ПараметрыВыводаГиперТекст'));
   СформироватьГиперДанные('', Визуализатор, Раскладка, КоллекцияОграничений, ГиперДанные, ГиперЗаголовок, ПараметрыВыводаЗаголовок);
   ОсновнойВизуализатор := ФормаГиперТекста.MainSSViewer;
   // делаем все колонки только для чтения
   СделатьВсеКолонкиРаскладкиДляЧтения(Раскладка);
   // выводим данные пользователю на основную страничку 
   ВывестиДанные(ОсновнойВизуализатор, nil, Раскладка, ПараметрыВыводаЗаголовок, КоллекцияОграничений,
                  ГиперДанные, Заголовок, да);
                  
   // формируем данные детализации
   СписокАлгоритмов := СоздатьТекст; 
   СписокРеальныхАлгоритмов := СоздатьТекст; 
   Попытка
     // возможен случай метаАлгоритмов!!!
     СписокАлгоритмов.РазделенноеЗначение := КоллекцияОграничений.Values('ИндексАлгоритма');
     КоллекцияОграничений.Значение("ПечатныйДокумент") := да;
     
     // не накладываем ограничения по синтетическому бух счету, так как часть разрядов может автоформироваться и ограничение может отработать неверно
     КоллекцияОграничений.Delete('БухСчетДебет');
     КоллекцияОграничений.Delete('БухСчетДебетБезЭК');
     КоллекцияОграничений.Delete('БухСчетКредит');
     КоллекцияОграничений.Delete('БухСчетКредитБезЭК');
     КоллекцияОграничений.Delete('БухСинтетСчет');
     КоллекцияОграничений.Delete('БухСинтетСчетБезЭК');
         
     // Смотрим, а может это мета алгоритм
     ЭтоМетаАлгоритм := (КоллекцияОграничений.Values('ИндексРеальногоАлгоритма') &lt;&gt; '');
     Если ЭтоМетаАлгоритм
       тогда начало
         СписокРеальныхАлгоритмов.РазделенноеЗначение := КоллекцияОграничений.Values('ИндексРеальногоАлгоритма');
         // в коллекцию ограничений нужные алгоритмы пихаем (Для Мета Алгоритма это особенно важно)
         КоллекцияОграничений.Values('ИндексАлгоритма') := СписокРеальныхАлгоритмов.РазделенноеЗначение ;  
       конец  
       иначе СписокРеальныхАлгоритмов.РазделенноеЗначение := КоллекцияОграничений.Values('ИндексАлгоритма');
     
     от Сч := 0 до СписокАлгоритмов.Количество - 1 
     делать начало
       // инициализируем визуализатор
       ИнициализироватьВизуализаторДетали(ФормаГиперТекста, ВизуализаторДетали, целое(СписокРеальныхАлгоритмов.стр(сч)), Визуализатор.Template);
       // изменяем раскладку детали
       РаскладкаДетали := ВизуализаторДетали.GetTable;
       // фильтры убираем (по идее нужных колонок может и не быть)
       РаскладкаДетали.Filter := '';
       РаскладкаДетали.PreFilter := '';
       СформироватьРаскладкуДетали(РаскладкаДетали, Раскладка, разыменовать('Служебные.СписокАлгоритмов', СписокРеальныхАлгоритмов.стр(сч)), 
         ЭтоМетаАлгоритм, СкриптШаблонаБаза);
       // добавляем к оаскладке нужные колонки
       РаскладкаДетали := ДобавитьГиперКолонкиВРаскладку(РаскладкаДетали, Нет);
       //формируем ограничения. создаем локальную коллекцию, так как для каждого алгоритма могут быть добавлены свои параметры
       // с шаблона гипердокумента, уникальные для алгоритма
       локКоллекцияОграничений.AssignData(КоллекцияОграничений);
       //берем с шаблона гипердокумента дополнительные параметры
       локКоллекцияОграничений.PumpData(ВизуализаторДетали.GetVariables);
       //формируем данные 
       СформироватьГиперДанные('', ВизуализаторДетали, РаскладкаДетали, локКоллекцияОграничений, ГиперДанные, ГиперЗаголовок, nil);
       // делаем все колонки только для чтения
       СделатьВсеКолонкиРаскладкиДляЧтения(РаскладкаДетали);
       // выводим данные для каждого алгоритма отдельно                   
       ВывестиДанные(ВизуализаторДетали, nil, РаскладкаДетали, ПараметрыВыводаДеталь, локКоллекцияОграничений,
                     ГиперДанные, Заголовок, да); 
     конец; 
   обязательно
     УдалитьОбъект(СписокАлгоритмов);
   конец;       
           
   ФормаГиперТекста.ShowModalHyperText;
   ФормаГиперТекста.Clear;
КОНЕЦ.
</value>
    <param value="ФормированиеГиперДокумент" type="3" name="Export">ZIMIN\Zimin\08.06.2011 17:17:46</param>
    <param value="ФормированиеГиперДокумент" type="3" name="version">36.223.03</param>
    <param value="ФормированиеГиперДокумент" type="3" name="crc32">$EF6B4032</param>
  </node>
  <version_info>
    <file>Области форматирования. Базовые настройки.xml</file>
    <version>36.052.00</version>
    <info>&lt;p&gt;Настройки редактора RegionsEditor, базовые настройки областей форматирования, критерии, маппинги&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:17</buildtime>
  </version_info>
  <description>Настройки редактора, базовые настройки областей форматирования, критерии, маппинги</description>
  <node path="%root%\Ресурсы\Макросы\ЭлектронныйОбмен">
    <value type="7" name="ДляРаботыСРабочимиМестами.abl">включить "\Библиотеки\LibRu.lib";
включить '\Макросы\Вспомогательные.abl';

константы
  нл = #13#10;

// Получает запись по запросу, либо добавляет новую, если такая не найдена, возвращает ИД записи
Функция ПолучитьЗаписьПоЗапросу(Запрос: Строка): Целое;
переменные
  ссДанные: СтатическиеДанные;
начало
  ссДанные := СоздатьСтатическиеДанные;
  Попытка
    ссДанные.СоединитьБД;
    ссДанные.Запрос := Запрос;
    ссДанные.Открыть;
    если ссДанные.ЧислоЗаписей = 0 тогда начало
      ссДанные.Добавить;
      ссДанные.Поле("ID").КакЦелое := ПолучитьИд;
      ссДанные.Сохранить;
      ссДанные.СохранитьИзменения;
    конец;
    Результат := ссДанные.Поле("ID").КакЦелое;
  обязательно
    УдалитьОбъект(ссДанные);
  конец;    
конец;
  
// Находит либо добавляет рабочее место в бюджет, и возвращает его ИД   
функция ДобавитьРабочееМесто(Наименование: Строка): Целое;
переменные
  Запрос: Строка;
начало
  Запрос := "[PumpData] {select id from WORKPLACES where NOTE = '"+Наименование+"'}"+нл+
            Формат("[InsertData] {insert into WORKPLACES (ID, NOTE) values (@ID,'%s')}", Наименование);
  Результат := ПолучитьЗаписьПоЗапросу(Запрос);    
конец;
  
// Находит либо добавляет объект системы (интерфейс) в бюджет, и возвращает его ИД
Функция ДобавитьОбъектСистемы(Гуид, Наименование: Строка; Код: Целое): Целое;
переменные
  Запрос: Строка;
начало
  Запрос := "[PumpData] {select id from Interfaces where GUID = '"+Гуид+"'}"+нл+
                       Формат("[InsertData] {insert into Interfaces (ID, GUID, NOTE, CLS) values (@ID, '%s', '%s', %d)}", Гуид, Наименование, Код );
  Результат := ПолучитьЗаписьПоЗапросу(Запрос);
конец;

// Связывает Интерфейс с рабочим местом Бюджета
функция СвязатьОбъектСРабочимМестом(ИдРМ, ИдОбъекта: Целое; ЗаголовокИнтерфейса: Строка);
переменные
  Запрос: Строка;
начало
  Запрос := Формат("[PumpData] {select id from WORKPLACES_INTERFACE where (WORKPLACES_REF = %d)and(INTERFACES_REF = %d)}", ИдРМ, ИдОбъекта)+нл+
            Формат("[InsertData] {insert into WORKPLACES_INTERFACE (ID,WORKPLACES_REF,INTERFACES_REF,NOTE) values (@ID,%d,%d,'%s')}",
            ИдРМ, ИдОбъекта, ЗаголовокИнтерфейса);
  ПолучитьЗаписьПоЗапросу(Запрос);          
конец;

// Добавляет интерфейс на рабочее место
функция ДобавитьИнтерфейсНаРМ(ИдРМ: Целое; Гуид, НаименованиеОбъекта: Строка; Код: Целое; ЗаголовокИнтерфейса: Строка);
переменные
  ИдОбъекта: Целое;
начало
  ИдОбъекта := ДобавитьОбъектСистемы(Гуид, НаименованиеОбъекта, Код);
  СвязатьОбъектСРабочимМестом(ИдРМ, ИдОбъекта, ЗаголовокИнтерфейса);
конец;

функция ДобавитьПользователяРабочегоМеста(ИдРМ, ИдПользователя: Целое);
переменные
  Запрос: Строка;
начало
  Запрос := Формат("[PumpData] {select id from USER_WORKPLACES where (WORKPLACES_REF = %d)and(USERS_REF = %d)}", ИдРМ, ИдПользователя)+нл+
            Формат("[InsertData] {insert into USER_WORKPLACES (ID, USERS_REF, WORKPLACES_REF) values (@ID, %d, %d)}", ИдПользователя, ИдРМ);
  ПолучитьЗаписьПоЗапросу(Запрос);   
конец;


Функция ДобавитьИнтерфейсыЭлектронногоОбмена;
переменные
  ИдРМ: Целое;
начало
  // Добавляем рабочее место
  ИдРМ := ДобавитьРабочееМесто("Электронный обмен");
  // Входящие платежи
  ДобавитьИнтерфейсНаРМ(ИдРМ, '{FE9F8D41-C23F-11D5-B571-0050BF2079BC}', 'Входящие платежи', 1805, 'Входящие платежи');
  // Монитор входящих пакетов
  ДобавитьИнтерфейсНаРМ(ИдРМ, '{BB3F0931-C786-11D5-8EFB-000021DDD8D5}', 'Монитор пакетов', 1806, 'Монитор входящих пакетов');
  // Электронный обмен платежными поручениями
  ДобавитьИнтерфейсНаРМ(ИдРМ, '{DCD3A201-01A8-11D5-9238-4854E826BF13}', 'Экспорт электронных документов', 1807, 'Экспорт электронных документов');
  // Редактор настроек Электронного обмена
  ДобавитьИнтерфейсНаРМ(ИдРМ, '{59E883CB-EC39-45E2-9409-78910D74846A}', 'Редактор настроек Электронного обмена', 1808, 'Редактор настроек Электронного обмена');
  // Таблица подстановок реквизитов при импорте ЭПД
  ДобавитьИнтерфейсНаРМ(ИдРМ, '{84AB1481-04A6-4885-9524-B0689D95F35A}', 'Таблица подстановок реквизитов при импорте ЭПД', 1809, 'Таблица подстановок реквизитов при импорте ЭПД');
  // Расходные п/п.
  ДобавитьИнтерфейсНаРМ(ИдРМ, '{EF52F7D8-C963-492E-8012-F94BD6E4197E}', 'Интерфейс отображения буферной таблицы для расходных п/п.', 1810, 'Расходные п/п.');
  // Уведомления об уточнении
  ДобавитьИнтерфейсНаРМ(ИдРМ, '{9CDFC584-6F7A-44CC-95AD-B9B947AFDCA4}', 'Интерфейс отображения буферной таблицы уведомлений об уточнении', 1812, 'Интерфейс отображения буферной таблицы уведомлений об уточнении');

  // По умолчанию добавляем пользователя РМ - sysdba
  ДобавитьПользователяРабочегоМеста(ИдРМ, 0);
конец;

Начало
//  ДобавитьИнтерфейсыЭлектронногоОбмена;
  ДобавитьОбъектСистемы("{A7B7ED86-DB11-4D8A-96CE-1BAE4B7EC77F}", "Редактор областей форматирования", 1813);
конец;
</value>
    <param value="ДляРаботыСРабочимиМестами.abl" type="3" name="Export">EVOLKOVA\pautov\01.10.2012 18:34:23</param>
    <param value="ДляРаботыСРабочимиМестами.abl" type="3" name="version">36.052.00</param>
    <param value="ДляРаботыСРабочимиМестами.abl" type="3" name="crc32">$9A04DB2E</param>
  </node>
  <script type="abl" name="Добавление объекта 18.13" exec="after">
включить "\Макросы\ЭлектронныйОбмен\ДляРаботыСРабочимиМестами.abl";

НАЧАЛО
  ДобавитьОбъектСистемы("{A7B7ED86-DB11-4D8A-96CE-1BAE4B7EC77F}", "Редактор областей форматирования", 1813);
КОНЕЦ;
</script>
  <node path="Бюджет\Объекты\Документы\Настройки\ФорматыОбластей">
    <value flags="1" type="4" name="Использовать">0</value>
    <param value="Использовать" type="3" name="version">36.052.00</param>
  </node>
  <script type="abl" exec="after">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить '\Макросы\ПараметрыИзБд.abl';
включить 'Бюджет\Ресурсы\Макросы\Отчеты\ПоддержкаПроекта.abl';
включить '\Библиотеки\ABLTools.lib';

константы
  ПутьКНовымНастройкам = 'Бюджет\Объекты\Документы\Настройки\ФорматыОбластей';
  ФлагПереноса = "ПереносВыполнен";

переменные
  Рег: Реестр;  
  
функция ЗаменитьВОдномЗначении(УзелЗначения, Старое, Новое: Строка; ЧистаяЗамена: целое);
переменные
  Инд: Целое;
  тПодузлыЗначения: Текст;
  тЗначения: Текст;
  Зн: ЗначениеРеестра;
  узел: УзелРеестра;
начало
  тПодузлыЗначения := СоздатьТекст;
  тЗначения := СоздатьТекст;
  попытка
    узел := Рег.Узел(УзелЗначения);
    тПодузлыЗначения.Значение := узел.СписокУзлов;
    от Инд := 0 до тПодузлыЗначения.Количество - 1 делать
      ЗаменитьВОдномЗначении(УзелЗначения + '\' + тПодузлыЗначения.Стр(Инд), Старое, Новое, ЧистаяЗамена);
                       
    тЗначения.Значение := узел.СписокЗначений;  
    от Инд := 0 до тЗначения.Количество - 1 делать
    начало       
      Зн := Рег.Узел(УзелЗначения).Значение(тЗначения.Стр(Инд));
      если (тЗначения.Стр(Инд) = 'ПеременнаяКлассификация') или (тЗначения.Стр(Инд) = 'ПостояннаяКлассификация') тогда
      начало
        Зн.КакСтрока := ЗаменитьСтроку(Зн.КакСтрока, ' '+Старое+',', ' '+Новое+',');
        Зн.КакСтрока := ЗаменитьСтроку(Зн.КакСтрока, ','+Старое+',', ','+Новое+',');
        Зн.КакСтрока := ЗаменитьСтроку(Зн.КакСтрока, ','+Старое+' ', ','+Новое+' ');
        Зн.КакСтрока := ЗаменитьСтроку(Зн.КакСтрока, '{'+Старое+'}', '{'+Новое+'}');
        Зн.КакСтрока := ЗаменитьСтроку(Зн.КакСтрока, '&lt;'+Старое+'&gt;', '&lt;'+Новое+'&gt;');
      конец
      иначе
        если ЧистаяЗамена тогда
          Зн.КакСтрока := ЗаменитьСтроку(Зн.КакСтрока, Старое, Новое)
        иначе
          Зн.КакСтрока := ЗаменитьСтроку(Зн.КакСтрока, '&lt;'+Старое+'&gt;', '&lt;'+Новое+'&gt;');
                   
      если Зн.Имя = Старое тогда  
        Зн.Имя := Новое; 
    конец;
      
  обязательно
//    УдалитьОбъект(тПодузлыЗначения);
//    УдалитьОбъект(тЗначения);
  конец;    
конец;

функция ЗаменитьПараметры(Узел, Старое, Новое: Строка; Уровень, ЧистаяЗамена: целое);
переменные
  Инд: Целое;
  тПодузлыКомплектов: Текст;
начало
  если Уровень = 1 тогда
    ЗаменитьВОдномЗначении(Узел, Старое, Новое, ЧистаяЗамена)
  иначе
  начало
    тПодузлыКомплектов := СоздатьТекст;
    попытка
      тПодузлыКомплектов.Значение := Рег.Узел(Узел).СписокУзлов;
      от Инд := 0 до тПодузлыКомплектов.Количество - 1 делать
        ЗаменитьПараметры(Узел + '\' + тПодузлыКомплектов.Стр(Инд), Старое, Новое, Уровень - 1, ЧистаяЗамена);
    обязательно
    //УдалитьОбъект(тПодУзлыКомплектов)
    конец;
  конец;    
конец;

функция ЗаменитьВОдномТипеДокумента(ТипДокумента: строка);
начало
  попытка    
    ЗаменитьПараметры(
      ПутьКНовымНастройкам + '\' + ТипДокумента + '\Комплекты', 
      "&lt;КодДохода&gt;|КДКлюч.", 
      "&lt;КодДохода&gt;|КД.",
      4, да);  
      
    ЗаменитьПараметры(
      ПутьКНовымНастройкам + '\' + ТипДокумента + '\Комплекты', 
      "&lt;КодДоходаПолуч&gt;|КДКлюч.", 
      "&lt;КодДоходаПолуч&gt;|КД.",
      4, да);
/*    ЗаменитьПараметры(
      ПутьКНовымНастройкам + '\' + ТипДокумента + '\Комплекты', 
      "&lt;Заголовок.Сумма&gt;", 
      "&lt;СуммаЗаголовка&gt;",
      4, да);*/
  обязательно
//    УдалитьОбъект(тМаппингиЗамены);
  конец;
конец;

начало
  Рег := Реестр;
  если Реестр.Узел(ПутьКНовымНастройкам).Значение(ФлагПереноса).Существует тогда 
  начало  
    ЗаменитьВОдномТипеДокумента('0301');
    ЗаменитьВОдномТипеДокумента('0302');
    ЗаменитьВОдномТипеДокумента('0303');
    ЗаменитьВОдномТипеДокумента('0305');
    ЗаменитьВОдномТипеДокумента('0306');
    ЗаменитьВОдномТипеДокумента('0308');
    ЗаменитьВОдномТипеДокумента('0311');
    ЗаменитьВОдномТипеДокумента('0312');
    ЗаменитьВОдномТипеДокумента('0314');
    ЗаменитьВОдномТипеДокумента('0315');
    ЗаменитьВОдномТипеДокумента('0317');
    ЗаменитьВОдномТипеДокумента('0318');
    ЗаменитьВОдномТипеДокумента('0322');
    ЗаменитьВОдномТипеДокумента('0324');
  конец;     
конец;
</script>
  <script type="abl" exec="after">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить '\Макросы\ПараметрыИзБд.abl';
включить 'Бюджет\Ресурсы\Макросы\Отчеты\ПоддержкаПроекта.abl';
включить '\Библиотеки\ABLTools.lib';

константы
  ПутьКНовымНастройкам = 'Бюджет\Объекты\Документы\Настройки\ФорматыОбластей';
  ФлагПереноса = "ПереносВыполнен";

переменные
  Рег: Реестр;

функция ОчиститьСтроку(СтрокаДляЧистки, Удаляемое : строка) : строка;
переменные
  Альфа, Омега : целое;
  ДлинаХвоста, ВстретилиЗапрещеннуюСкобку : целое;
  ХвостСтроки : строка;
начало
    Результат := '';
    ХвостСтроки := СтрокаДляЧистки;
    Альфа := Позиция(Удаляемое,Прописные(ХвостСтроки));
    пока Альфа &lt;&gt;  0 делать     
    начало  
      ДлинаХвоста := Длина(ХвостСтроки);
      Омега := Альфа + (Длина(Удаляемое)-1);
      ВстретилиЗапрещеннуюСкобку := нет;
      Пока (Альфа &gt; 0) и (Подстрока(ХвостСтроки, Альфа, 1) &lt;&gt; '{')   и (не ВстретилиЗапрещеннуюСкобку) делать
      начало
          если подстрока(ХвостСтроки, Альфа, 1) &lt;&gt; '}' тогда
              Альфа := Альфа - 1
          иначе
             ВстретилиЗапрещеннуюСкобку := Да;
      конец;
      если не ВстретилиЗапрещеннуюСкобку и Альфа &gt; 0 тогда
      начало
        ВстретилиЗапрещеннуюСкобку := нет; 
        пока (Омега &lt; ДлинаХвоста) и (подстрока(ХвостСтроки, Омега, 1) &lt;&gt; '}') и (не ВстретилиЗапрещеннуюСкобку)  делать
          если подстрока(ХвостСтроки, Омега, 1) &lt;&gt; '{' тогда 
            Омега := Омега + 1
          иначе
            ВстретилиЗапрещеннуюСкобку := Да;
      конец;
      если Омега &lt;= ДлинаХвоста  и  (не ВстретилиЗапрещеннуюСкобку) тогда
        Результат := Результат + Подстрока(ХвостСтроки, 1, Альфа - 1) 
      иначе
        Результат := Результат + Подстрока(ХвостСтроки, 1, Омега);
          
      ХвостСтроки := подстрока(ХвостСтроки, омега + 1, ДлинаХвоста - Омега);  
      Альфа := Позиция(Удаляемое,Прописные(ХвостСтроки));
    конец;
    
    результат := результат + ХвостСтроки;
конец;
  
функция УдалитьВОдномЗначении(УзелЗначения, Удаляемое: Строка);
переменные
  Инд: Целое;
  тПодузлыЗначения: Текст;
  тЗначения: Текст;
  Зн: ЗначениеРеестра;
  узел: УзелРеестра;
начало
  тПодузлыЗначения := СоздатьТекст;
  тЗначения := СоздатьТекст;
  попытка
    узел := Рег.Узел(УзелЗначения);
    тПодузлыЗначения.Значение := узел.СписокУзлов;
    от Инд := 0 до тПодузлыЗначения.Количество - 1 делать
      УдалитьВОдномЗначении(УзелЗначения + '\' + тПодузлыЗначения.Стр(Инд), Удаляемое);
                       
    тЗначения.Значение := узел.СписокЗначений;  
    от Инд := 0 до тЗначения.Количество - 1 делать
    начало       
      Зн := Рег.Узел(УзелЗначения).Значение(тЗначения.Стр(Инд));

     если ПОЗИЦИЯ(удаляемое,прописные(Зн.КакСтрока)) &gt; 0 тогда
       Зн.КакСтрока := ОчиститьСтроку(Зн.КакСтрока, удаляемое);
                   
      /*если Зн.Имя = Старое тогда  
        Зн.Имя := Новое;   */
    конец;
      
  обязательно
//    УдалитьОбъект(тПодузлыЗначения);
//    УдалитьОбъект(тЗначения);
  конец;    
конец;

функция УдалитьПараметры(Узел, Удаляемое: Строка; Уровень: целое);
переменные
  Инд: Целое;
  тПодузлыКомплектов: Текст;
начало
  если Уровень = 1 тогда
    УдалитьВОдномЗначении(Узел, Удаляемое)
  иначе
  начало
    тПодузлыКомплектов := СоздатьТекст;
    попытка
      тПодузлыКомплектов.Значение := Рег.Узел(Узел).СписокУзлов;
      от Инд := 0 до тПодузлыКомплектов.Количество - 1 делать
        УдалитьПараметры(Узел + '\' + тПодузлыКомплектов.Стр(Инд), Удаляемое, Уровень - 1);
    обязательно
    //УдалитьОбъект(тПодУзлыКомплектов)
    конец;
  конец;    
конец;

функция УдалитьВОдномТипеДокумента(ТипДокумента: строка);
начало
  попытка    
    УдалитьПараметры(ПутьКНовымНастройкам + '\' + ТипДокумента + '\Комплекты','ЗАГОЛОВОК.ПРИМЕЧАНИЕДЕТАЛЬ', 4);  
  обязательно
//    УдалитьОбъект(тМаппингиЗамены);
  конец;
конец;

начало
  Рег := Реестр;
  если Реестр.Узел(ПутьКНовымНастройкам).Значение(ФлагПереноса).Существует тогда 
  начало  
    УдалитьВОдномТипеДокумента('0301');
    УдалитьВОдномТипеДокумента('0302');
    УдалитьВОдномТипеДокумента('0305');
    УдалитьВОдномТипеДокумента('0312');
    УдалитьВОдномТипеДокумента('0314');
    УдалитьВОдномТипеДокумента('0315');
    УдалитьВОдномТипеДокумента('0317');
    УдалитьВОдномТипеДокумента('0318');
    УдалитьВОдномТипеДокумента('0322');
    УдалитьВОдномТипеДокумента('0324');
  конец;     
конец;
</script>
  <script type="abl" exec="before">// Переименование областей форматирования для совместимости с настройками УРМ
включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить '\Макросы\ПараметрыИзБд.abl';
//включить 'Бюджет\Ресурсы\Макросы\Отчеты\ПоддержкаПечатныхДокументов';
включить 'Бюджет\Ресурсы\Макросы\Отчеты\ПоддержкаПроекта.abl';
включить '\Библиотеки\ABLTools.lib';

Константы
  ПутьКНастройкамОбластей = 'Бюджет\Объекты\Документы\Настройки\ФорматыОбластей';
  nl=#13#10;
  
функция ПолучитьПодузлы(ПутьКУзлу: Строка): Текст;
начало
  Результат := создатьТекст(Реестр.Узел(ПутьКУзлу).СписокУзлов);
  
конец;

функция ПолучитьПодузлыУровня(ПутьКУзлу: Строка; Уровень: Целое): Текст;
переменные
  тПодузлы, тПодузлыУровня: Текст;
  инд: Целое;
начало
  Результат := СоздатьТекст;
  если Уровень = 0 тогда
    Результат.Значение := ПутьКУзлу
  иначе
  начало
    тПодузлы := ПолучитьПодузлы(ПутьКУзлу);  
    от инд := 0 до тПодузлы.Количество-1 делать
    начало
      тПодузлыУровня := ПолучитьПодузлыУровня(ПутьКУзлу+'\'+тПодузлы.стр(инд),Уровень-1);
      Результат.Значение := Результат.Значение + тПодузлыУровня.Значение;
      УдалитьОбъект(тПодузлыУровня);
    конец;
    УдалитьОбъект(тПодузлы);
  конец;      
конец;

функция ПолучитьНовоеИмяОбластиФорматирования(ИмяОбласти: Строка): Строка;
начало
  Выбрать ИмяОбласти из
    "ИННПлательщика": Результат := "ИНН";
    "КПППлательщика": Результат := "КПП";
    "НаименованиеПлательщика": Результат := "Наименование";
    "СчетПлательщика": Результат := "Счет";
    "НаименованиеБанкаПлательщика": Результат := "НаименованиеБанка";
    "ИННПолучателя": Результат := "ИНН";
    "КПППолучателя": Результат := "КПП";
    "НаименованиеПолучателя": Результат := "Наименование";
    "СчетПолучателя": Результат := "Счет";
    "НаименованиеБанкаПолучателя": Результат := "НаименованиеБанка";
  иначе
    Результат := ИмяОбласти;
  конец;  
конец;


Функция ПереименоватьОбластиФорматирования(ПутьКНастройкамОбластей: Строка);
переменные
  тУзлыОбластей: Текст;
  инд: Целое;
  НовоеИмяОбласти, СтароеИмяОбласти: Строка;
начало
  тУзлыОбластей := ПолучитьПодузлыУровня(ПутьКНастройкамОбластей, 6);
  от Инд:=0 до тУзлыОбластей.Количество-1 делать
  начало
    СтароеИмяОбласти := Реестр.Узел(тУзлыОбластей.Стр(Инд)).Имя;
    НовоеИмяОбласти := ПолучитьНовоеИмяОбластиФорматирования(СтароеИмяОбласти);
    если НовоеИмяОбласти&lt;&gt;СтароеИмяОбласти тогда 
      Реестр.Узел(тУзлыОбластей.Стр(Инд)).Имя := НовоеИмяОбласти; 
  конец;
конец;

  
НАЧАЛО
  ПереименоватьОбластиФорматирования(ПутьКНастройкамОбластей);
КОНЕЦ;
</script>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0302">
    <value type="3" name="ПечатьНаСлл">[Заголовок],SourceAccount=СчетПлат,DestAccount=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,Credit=Сумма,SourceFacialAcc_Cls=ЛицСчетПлательщика,[Деталь],ClsType=ТипКлассификации,SourceKVSR=КВСР,SourceKFSR=КФСР,SourceKCSR=КЦСР,SourceKVR=КВР,SourceKESR=КЭСР,SourceSubKESR=СубКЭСР,SourceFact=Мероприятие,SourceFinSource=ИсточникФинансирования,SourceMeansType=ТипСредств,SourceDirectionCls=Направление,SourceFinType=ТипФинансирования,SourcePromise=БюджОбяз,SourceKDCode=КодДохода,SourceIFSCode=ИсточникВнутрФинансирования,SourceIFS=ИсточникВнутрФинансированияКлюч,Credit=Сумма</value>
    <param value="ПечатьНаСлл" type="3" name="version">36.052.00</param>
    <param value="ПечатьНаСлл" type="3" name="crc32">$16DE20EA</param>
  </node>
  <delnode path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0309" />
  <delnode path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0317" />
  <delnode path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0318" />
  <script type="abl" exec="after">
включить "\Библиотеки\LibRu.lib";
константы
  ПутьКНастройкамОбластей = 'Бюджет\Объекты\Документы\Настройки\ФорматыОбластей\0308\Комплекты\Базовый\';
 
начало
  Реестр.Узел(ПутьКНастройкамОбластей+"НазначениеПлатежа\Вариант00\НазначениеПлатежа").Значение("КодСубсидииПлат").Удалить;
  Реестр.Узел(ПутьКНастройкамОбластей+"НазначениеПлатежаПолучателя\Вариант00\НазначениеПлатежаПолучателя").Значение("КодСубсидииПолуч").Удалить;
конец.
</script>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\5502">
    <value type="3" name="мапОсновной">[Заголовок],Facialacc_Cls=ЛицевойСчетЗаголовок,OriginalAcceptorAcc_Ref=СчетПолуч,OriginalPayerAcc_Ref=СчетПлат,OriginalAcceptorAcc=ОргПолучСчет,
OriginalAcceptorOrgName=ОргПолучИмя,OriginalAcceptorOrgINN=ОргПолучИНН,OriginalAcceptorOrgInn20=ОргПолучКПП,OriginalPayerAcc=ОргПлатСчет,
OriginalPayerOrgName=ОргПлатИмя,OriginalPayerOrgINN=ОргПлатИНН,OriginalPayerOrgInn20=ОргПлатКПП,Note=Примечание,OriginalNote=НазначениеПлатежа,
[Деталь],ClsType=ТипКлассификации,ChangeAcc_Ref=НоваяОрганизацияСсылка,ChangeAcc=НоваяОрганизацияСчет,ChangeOrgName=НоваяОрганизацияИмя,
ChangeOrgINN=НоваяОрганизацияИНН,ChangeOrgInn20=НоваяОрганизацияКПП,
FacialAcc_Cls=ЛицевойСчет,KFSR=КФСР,KCSR=КЦСР,KVR=КВР,KESR=КЭСР,KVSR=КВСР,DirectionCls=Направление,
MeansType=ТипСредств,Note=Примечание,FACT=Мероприятие,RegionCls=Район,FinType=ТипФинансирования,FinSource=ИсточникОбразования,
DocType=ТипДокумента,SubKesr=СубКЭСР,Kd=КД,IFS=ИВФ</value>
    <param value="мапОсновной" type="3" name="version">36.052.00</param>
    <param value="мапОсновной" type="3" name="crc32">$993EBE8D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\5502\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
  полеТипСредств: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  БюджетныеСредства := нет;
  // Считаем что во всех строках детали один и тот же вид деятельности
  если Деталь.НайтиПоле("ТипСредств",полеТипСредств) тогда
    БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", полеТипСредств.КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:53</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:53</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:53</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;
</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:53</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:53</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
константы
  тк_Доходная = 2;
  тк_Расходная = 0;
переменные 
  Деталь : СтатическиеДанные;
  ПолеТипКлассификации: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  если не Деталь.НайтиПоле("ClsType", ПолеТипКлассификации) тогда
    Деталь.НайтиПоле("ТипКлассификации", ПолеТипКлассификации);
  если ПолеТипКлассификации&lt;&gt;null тогда
    РасходнаяБК := ПолеТипКлассификации.КакЦелое = тк_Расходная;
конец;
</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:53</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:53</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
начало
  Федеральные := КритерийФедеральные( Параметры, 
                                      НаборыДанных,
                                      СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                    );  
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:53</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$6B5339C7</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$1AF41A62</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$DF37B349</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E81FF0BF</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\5502\Комплекты">
    <value type="3" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\5502\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НоваяОрганизация">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Имя">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КраткоеИмя}{|(|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|)}{|, р/с: |&lt;Заголовок.ОргПолучСчет&gt;|}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8ADEE532</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">&lt;Заголовок.ОргПолучИНН&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$776A07DA</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">&lt;Заголовок.ОргПолучКПП&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$ECD179BD</param>
        </node>
        <node path="Счет">
          <value type="3" name="Формат">&lt;Заголовок.ОргПолучСчет&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$04672E4A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Примечание">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Примечание">
          <value type="3" name="Формат">&lt;Деталь.Примечание&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A96D3349</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="Формат">&lt;Заголовок.НазначениеПлатежа&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$7D94709A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="ПримечаниеЗаголовок">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="ПримечаниеЗаголовок">
          <value type="3" name="Формат">&lt;Заголовок.Примечание&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$7646EFC8</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\5501">
    <value type="3" name="МапОсновной">[Заголовок],Facialacc_Cls=ЛицевойСчетЗаголовок,OriginalAcceptorAcc_Ref=СчетПолуч,OriginalPayerAcc_Ref=СчетПлат,OriginalAcceptorAcc=ОргПолучСчет,
OriginalAcceptorOrgName=ОргПолучИмя,OriginalAcceptorOrgINN=ОргПолучИНН,OriginalAcceptorOrgInn20=ОргПолучКПП,OriginalPayerAcc=ОргПлатСчет,
OriginalPayerOrgName=ОргПлатИмя,OriginalPayerOrgINN=ОргПлатИНН,OriginalPayerOrgInn20=ОргПлатКПП,Note=Примечание,OriginalNote=НазначениеПлатежа,
[Деталь],ClsType=ТипКлассификации,ChangeAcc_Ref=НоваяОрганизацияСсылка,ChangeAcc=НоваяОрганизацияСчет,ChangeOrgName=НоваяОрганизацияИмя,ChangeOrgINN=НоваяОрганизацияИНН,ChangeOrgInn20=НоваяОрганизацияКПП,
FacialAcc_Cls=ЛицевойСчет,KFSR=КФСР,KCSR=КЦСР,KVR=КВР,KESR=КЭСР,KVSR=КВСР,DirectionCls=Направление,
MeansType=ТипСредств,Note=Примечание,FACT=Мероприятие,RegionCls=Район,FinType=ТипФинансирования,FinSource=ИсточникОбразования,
DocType=ТипДокумента,SubKesr=СубКЭСР,Kd=КД,IFS=ИВФ</value>
    <param value="МапОсновной" type="3" name="version">36.052.00</param>
    <param value="МапОсновной" type="3" name="crc32">$A4853620</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\5501\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
  полеТипСредств: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  БюджетныеСредства := нет;
  // Считаем что во всех строках детали один и тот же вид деятельности
  если Деталь.НайтиПоле("ТипСредств",полеТипСредств) тогда
    БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", полеТипСредств.КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:41</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:41</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:41</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;
</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:41</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
константы
  тк_Доходная = 2;
  тк_Расходная = 0;
переменные 
  Деталь : СтатическиеДанные;
  ПолеТипКлассификации: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  если не Деталь.НайтиПоле("ClsType", ПолеТипКлассификации) тогда
    Деталь.НайтиПоле("ТипКлассификации", ПолеТипКлассификации);
  если ПолеТипКлассификации&lt;&gt;null тогда
    РасходнаяБК := ПолеТипКлассификации.КакЦелое = тк_Расходная;
конец;
</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:41</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:41</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
начало
  Федеральные := КритерийФедеральные( Параметры, 
                                      НаборыДанных,
                                      СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                    );  
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:40:41</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$6B5339C7</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$1AF41A62</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$DF37B349</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E81FF0BF</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\5501\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\5501\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НоваяОрганизация">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Имя">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КраткоеИмя}{|(|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|)}{|, р/с: |&lt;Заголовок.ОргПолучСчет&gt;|}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8ADEE532</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">&lt;Заголовок.ОргПолучИНН&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$776A07DA</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">&lt;Заголовок.ОргПолучКПП&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$ECD179BD</param>
        </node>
        <node path="Счет">
          <value type="3" name="Формат">&lt;Заголовок.ОргПолучСчет&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$04672E4A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Примечание">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Примечание">
          <value type="3" name="Формат">&lt;Деталь.Примечание&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A96D3349</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="ПримечаниеЗаголовок">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="ПримечаниеЗаголовок">
          <value type="3" name="Формат">&lt;Заголовок.Примечание&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$7646EFC8</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="Формат">&lt;Заголовок.НазначениеПлатежа&gt;</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$7D94709A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0702\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
  полеТипСредств: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  БюджетныеСредства := нет;
  // Считаем что во всех строках детали один и тот же вид деятельности
  если Деталь.НайтиПоле("ТипСредств",полеТипСредств) тогда
    БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", полеТипСредств.КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));

  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  вУФКСчетПлат := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  вУФКСчетПолуч := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="Наличность">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Наличность(Параметры, НаборыДанных : IVariables): целое;
начало
  Наличность := КритерийНаличность( Параметры, 
                                    НаборыДанных, 
                                    СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                  );
конец;
</value>
    <param value="Наличность" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  стр, СчетОрг, СчетФК : строка;
  полеИнформацияОНалоге: поле;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := нет;
  если Заголовок.НайтиПоле("ИнформацияОНалоге", полеИнформацияОНалоге) тогда начало
    стр := РазыменоватьАудит("Налог.ПоказательОснованияПлатежа", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
    НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");

    если не НалоговыйПлатеж тогда 
    начало
      стр := РазыменоватьАудит("Налог.ПоказательНалоговогоПериода", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
    конец;

    если не НалоговыйПлатеж тогда 
    начало
      стр := РазыменоватьАудит("Налог.ПоказательТипаПлатежа", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
    конец;
  
    если не НалоговыйПлатеж тогда
    начало
      СчетОрг := РазыменоватьАудит("Р/с.ИмяЛСФК", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
      СчетФК  := РазыменоватьАудит("Р/с.ИмяРС", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж     := СчетОрг = СчетФК; 
    конец;
  конец;
конец;</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПД (Параметры,НаборыДанных: IVariables): целое;
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := НаборыДанных.Значение("Заголовок");
  ссДетальКлассификацийФорм :=  НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  если ссДетальКлассификацийФорм.НайтиПоле("ТипСредств") тогда начало 
    если РазыменоватьАудит("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2 тогда
      ПД := Да
    иначе
      ПД := Нет;
  конец;    
конец;
</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  НалоговаяИнф,КПП: Строка;
  полеКПП: Поле;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  если Заголовок.НайтиПоле("ИнформацияОНалоге",полеКПП) тогда начало
    НалоговаяИнф := полеКПП.КакСтрока;
    КПП := РазыменоватьАудит("Налог.КППФилиалаПлательщика",НалоговаяИнф, Параметры.Значение("ДатаАудита"));
    ПлатежЗаФилиал := (КПП&lt;&gt;НалоговаяИнф) и (КПП&lt;&gt;"") и (КПП&lt;&gt;"0");
  конец иначе
    ПлатежЗаФилиал := Нет;  
конец;</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
константы
  тк_Доходная = 2;
  тк_Расходная = 0;
переменные 
  Деталь : СтатическиеДанные;
  ПолеТипКлассификации: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  если не Деталь.НайтиПоле("ClsType", ПолеТипКлассификации) тогда
    Деталь.НайтиПоле("ТипКлассификации", ПолеТипКлассификации);
  если ПолеТипКлассификации&lt;&gt;null тогда
    РасходнаяБК := ПолеТипКлассификации.КакЦелое = тк_Расходная;
конец;
</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ВременныеСредства (Параметры,НаборыДанных: IVariables): целое;
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := НаборыДанных.Значение("Заголовок");
  ссДетальКлассификацийФорм := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  если ссДетальКлассификацийФорм.НайтиПоле("ТипСредств") тогда начало 
    если РазыменоватьАудит("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3 тогда
      ВременныеСредства := Да
    иначе
      ВременныеСредства := Нет;
  конец;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\Макросы\Стандартные.abl";
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок: СтатическиеДанные;
  СчетПлательщика: строка;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  СчетПлательщика := РазыменоватьАудит("Р/с.ИмяЛСФК",Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));
  Федеральные := Подстрока(СчетПлательщика,1,2) = "03";
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:16</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$6B5339C7</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$98566D8A</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$C9E73D11</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="Наличность" type="3" name="version">36.052.00</param>
    <param value="Наличность" type="3" name="crc32">$301F8C91</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$6F532D4D</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$2E30CF7B</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$55733331</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$DF37B349</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$A88D2F9A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E2FF988E</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\ФорматыОбластей\0702">
    <value type="3" name="МапЭлОбм">[Заголовок],SUMMA=Сумма,SummaCaption=СуммаЗаголовка,SourceFA_Cls=ЛицСчетПлательщика,DestFA_Cls=ЛицСчетПолучателя,SourceAcc_Ref=СчетПлат,DestAcc_Ref=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,SourceRealOrg_Ref=Распорядитель,[Деталь],KVR=КВР,KVSR=КВСР,KFSR=КФСР,KCSR=КЦСР,KESR=КЭСР,SubKESR=СубКЭСР,Fact=Мероприятие,Meanstype=ТипСредств,FinType=ТипФинансирования,Promise=БюджОбяз,FinSource=ИсточникФинансирования,IFS=ИсточникВнутрФинансирования,IFSKey=ИсточникВнутрФинансированияКлюч,SUMMA=Сумма,KD=КодДохода,SOURCEFACIALACC_CLS=ЛицСчетПлатДет,SourceDirectionCLS=Направление,SourceFA_Cls=ЛицСчетПлательщика,DestFA_Cls=ЛицСчетПолучателя,SourceAcc_Ref=СчетПлат,DestAcc_Ref=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,SourceRealOrg_Ref=Распорядитель,BudAllocationCls=КодБюджАссигнованияКлюч,PayPromiseCls=КодРасходногоОбязательстваКлюч</value>
    <param value="МапЭлОбм" type="3" name="version">36.052.00</param>
    <param value="МапЭлОбм" type="3" name="crc32">$C1477E32</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0702\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0702\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ||&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ||&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДохода">&amp;{@ТРИМ||&lt;КодДохода&gt;|КДКлюч.Код|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ||&lt;КФСР&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ||&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ||&lt;КЭСР&gt;|КЭСР.Код,@%d(000000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПЕРЕМ |; |,|{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПОСТ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{ПостояннаяКлассификация}| в т.ч. |{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ||&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}{| |&lt;Заголовок.Примечание&gt;|}{|\n|&lt;Заголовок.НДС&gt;|}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$58B1A85D</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$104816D6</param>
          <param value="КодДохода" type="3" name="version">36.052.00</param>
          <param value="КодДохода" type="3" name="crc32">$E9E5B7BB</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$A23B8CA8</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$966B214C</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$EE4FB393</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$EC8A549C</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$9C318C04</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$5B149B8E</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$1E7978EA</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$B0407E9C</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8A4A407F</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$C0B32098</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КодПлательщикаВУФК">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КодВУФК}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$6C56C0D1</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}|} {|лс |{@|&lt;Заголовок.СчетПлат&gt;|Р/с.ИмяЛСФК}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$689DDF03</param>
        </node>
        <node path="ПолнНаимБюджетополуч">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8DD59616</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$49DD225A</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$1F85D912</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8FD61CC7</param>
        </node>
        <node path="КодПлательщикаВУФК">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КодВУФК}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$6C56C0D1</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$146D62A0</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.Имя}{| (ИНН |{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}|}{| КПП |{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}|}{| |{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}|} {|лс |{@|&lt;Заголовок.СчетПлат&gt;|Р/с.ИмяЛСФК}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$89B1E8F4</param>
        </node>
        <node path="ПолнНаимБюджетополуч">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8DD59616</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$EC50AD6F</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$FF5DE17B</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|)}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$4D2D75C9</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$8ABE2CE5</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$F2EFBDBC</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B9651B13</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$22DE6574</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя } ({|ИНН |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}|}{| КПП |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|}{| лс |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|}){|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$96316357</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DCA86549</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0324\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0324\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ|КВР:|&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ|КВСР:|&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ|КФСР:|&lt;КФСР&gt;|КФСР.Код,@%d(9999)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ|КЦСР:|&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ|КЭСР:|&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="Мероприятие">&amp;{@ТРИМ|Мероприятие:|&lt;Мероприятие&gt;|Мероприятие.Код,@%d(000000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Мероприятие,БюджОбяз,Сумма | ПЕРЕМ | |, |{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{Мероприятие}|{БюджОбяз}|{Сумма}}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Мероприятие,БюджОбяз,Сумма | ПОСТ | |, |{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{Мероприятие}|{БюджОбяз}|{Сумма}}|)}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{||{ПостояннаяКлассификация}| -{БСУМ|&lt;Заголовок.Сумма&gt;|-|=}}| В том числе:\n|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ|Суб КЭСР:|&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> - &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$60A13D23</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$0544EC9F</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$3BB73950</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$CE2C7CF3</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$F01031B4</param>
          <param value="Мероприятие" type="3" name="version">36.052.00</param>
          <param value="Мероприятие" type="3" name="crc32">$C7C95416</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$605A8139</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$6BDCDAE8</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$E364D97F</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$C7F58B9E</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$07C647D4</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A60D352A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0322\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
  полеТипСредств: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  БюджетныеСредства := нет;
  // Считаем что во всех строках детали один и тот же вид деятельности
  если Деталь.НайтиПоле("ТипСредств",полеТипСредств) тогда
    БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", полеТипСредств.КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));

  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  вУФКСчетПлат := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  вУФКСчетПолуч := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="Наличность">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Наличность(Параметры, НаборыДанных : IVariables): целое;
начало
  Наличность := КритерийНаличность( Параметры, 
                                    НаборыДанных, 
                                    СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                  );
конец;
</value>
    <param value="Наличность" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  стр, СчетОрг, СчетФК : строка;
  полеИнформацияОНалоге: поле;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := нет;
  если Заголовок.НайтиПоле("ИнформацияОНалоге", полеИнформацияОНалоге) тогда начало
    стр := РазыменоватьАудит("Налог.ПоказательОснованияПлатежа", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
    НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");

    если не НалоговыйПлатеж тогда 
    начало
      стр := РазыменоватьАудит("Налог.ПоказательНалоговогоПериода", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
    конец;

    если не НалоговыйПлатеж тогда 
    начало
      стр := РазыменоватьАудит("Налог.ПоказательТипаПлатежа", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
    конец;
  
    если не НалоговыйПлатеж тогда
    начало
      СчетОрг := РазыменоватьАудит("Р/с.ИмяЛСФК", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
      СчетФК  := РазыменоватьАудит("Р/с.ИмяРС", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж     := СчетОрг = СчетФК; 
    конец;
  конец;
конец;</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных: IVariables): целое;
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := НаборыДанных.Значение("Заголовок");
  ссДетальКлассификацийФорм := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  если ссДетальКлассификацийФорм.НайтиПоле("ТипСредств") тогда начало 
    если РазыменоватьАудит("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2 тогда
      ПД := Да
    иначе
      ПД := Нет;
  конец;    
конец;
</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  НалоговаяИнф,КПП: Строка;
  полеКПП: Поле;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  если Заголовок.НайтиПоле("ИнформацияОНалоге",полеКПП) тогда начало
    НалоговаяИнф := полеКПП.КакСтрока;
    КПП := РазыменоватьАудит("Налог.КППФилиалаПлательщика",НалоговаяИнф, Параметры.Значение("ДатаАудита"));
    ПлатежЗаФилиал := (КПП&lt;&gt;НалоговаяИнф) и (КПП&lt;&gt;"") и (КПП&lt;&gt;"0");
  конец иначе
    ПлатежЗаФилиал := Нет;  
конец;</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
константы
  тк_Доходная = 2;
  тк_Расходная = 0;
переменные 
  Деталь : СтатическиеДанные;
  ПолеТипКлассификации: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  если не Деталь.НайтиПоле("ClsType", ПолеТипКлассификации) тогда
    Деталь.НайтиПоле("ТипКлассификации", ПолеТипКлассификации);
  если ПолеТипКлассификации&lt;&gt;null тогда
    РасходнаяБК := ПолеТипКлассификации.КакЦелое = тк_Расходная;
конец;
</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ВременныеСредства (Параметры,НаборыДанных: IVariables): целое;
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := НаборыДанных.Значение("Заголовок");
  ссДетальКлассификацийФорм := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  если ссДетальКлассификацийФорм.НайтиПоле("ТипСредств") тогда начало 
    если РазыменоватьАудит("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3 тогда
      ВременныеСредства := Да
    иначе
      ВременныеСредства := Нет;
  конец;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\Макросы\Стандартные.abl";
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок: СтатическиеДанные;
  СчетПлательщика: строка;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  СчетПлательщика := РазыменоватьАудит("Р/с.ИмяЛСФК",Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));
  Федеральные := Подстрока(СчетПлательщика,1,2) = "03";
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:30:03</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$6B5339C7</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$98566D8A</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$C9E73D11</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="Наличность" type="3" name="version">36.052.00</param>
    <param value="Наличность" type="3" name="crc32">$301F8C91</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$6F532D4D</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$DA98A06A</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$55733331</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$DF37B349</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$A88D2F9A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E2FF988E</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0322\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0322\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ||&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ||&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ||&lt;КФСР&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ||&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ||&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,БюджОбяз,Сумма | ПЕРЕМ |;|,|{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}||{СубКЭСР}|{ИсточникВнутрФинансирования}|{БюджОбяз}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,БюджОбяз,Сумма | ПОСТ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{БюджОбяз}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{ПостояннаяКлассификация}|в т.ч.|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ||&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|&lt;Заголовок.Примечание&gt;{|\n|&lt;Заголовок.НДС&gt;|}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$58B1A85D</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$104816D6</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$A23B8CA8</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$966B214C</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$54EA9A52</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$E3531ED0</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$E3F4836E</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$26247276</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$1E7978EA</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$B0407E9C</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$01247B57</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| (|{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$34E998AC</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$C0B32098</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| (|{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$34E998AC</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$49DD225A</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}|}{|, |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{|, |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$2F1305A1</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$1F85D912</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}|}{|, |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{|, |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$2F1305A1</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$EC50AD6F</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$FF5DE17B</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|)}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$4D2D75C9</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$8ABE2CE5</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$F2EFBDBC</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B9651B13</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$22DE6574</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя } ({|ИНН |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}|}{| КПП |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|}){|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$E0F77CF5</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DCA86549</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0315\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := КритерийНалоговыйПлатеж( Параметры, 
                                              НаборыДанных,
                                              Заголовок.Поле("ИнформацияОНалоге"), 
                                              Заголовок.Поле("СчетПолуч")
                                            );
конец;
</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  ПлатежЗаФилиал := Длина(УбратьПробелы(РазыменоватьАудит("Налог.КППФилиалаПлательщика", Заголовок.Поле("ИнформацияОНалоге").КакСтрока, Параметры.Значение("ДатаАудита")))) &gt; 0;
конец;
</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры, НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$88EC9132</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$B0D11ED1</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$F951701D</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$463EC944</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$CF4B356A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0315">
    <value type="3" name="ПечатьНаСлл">[Заголовок],SourceAccount=СчетПлат,DestAccount=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,Credit=Сумма,SourceFacialAcc_Cls=ЛицСчетПлательщика,[Деталь],ClsType=ТипКлассификации,SourceKVSR=КВСР,SourceKFSR=КФСР,SourceKCSR=КЦСР,SourceKVR=КВР,SourceKESR=КЭСР,SourceSubKESR=СубКЭСР,SourceFact=Мероприятие,SourceFinSource=ИсточникФинансирования,SourceMeansType=ТипСредств,SourceDirectionCls=Направление,SourceFinType=ТипФинансирования,SourcePromise=БюджОбяз,SourceKDCode=КодДохода,SourceIFSCode=ИсточникВнутрФинансирования,Credit=Сумма</value>
    <param value="ПечатьНаСлл" type="3" name="version">36.052.00</param>
    <param value="ПечатьНаСлл" type="3" name="crc32">$98FBC291</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0315\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0315\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ||&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ||&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ||&lt;КФСР&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ||&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ||&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,БюджОбяз,Сумма | ПЕРЕМ |; |,|{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{БюджОбяз}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,БюджОбяз,Сумма | ПОСТ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{БюджОбяз}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{ПостояннаяКлассификация}| в т.ч. |{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ||&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|&lt;Заголовок.Примечание&gt;{|\n|&lt;Заголовок.НДС&gt;|}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$58B1A85D</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$104816D6</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$A23B8CA8</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$966B214C</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$54EA9A52</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$5F18A464</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$E3F4836E</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$5B149B8E</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$1E7978EA</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$B0407E9C</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$01247B57</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| (|{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$34E998AC</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$C0B32098</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| (|{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$34E998AC</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$49DD225A</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| ( ИНН |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}|}{| КПП |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}|}{| |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$084CE59E</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$1F85D912</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| ( ИНН |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}|}{| КПП |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}|}{| |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$084CE59E</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$EC50AD6F</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{| (|{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95784340</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$FF5DE17B</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{| (|{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95784340</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$8ABE2CE5</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{| (|{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95784340</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$F2EFBDBC</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{| (|{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95784340</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DCA86549</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0314\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := КритерийНалоговыйПлатеж( Параметры, 
                                              НаборыДанных,
                                              Заголовок.Поле("ИнформацияОНалоге"), 
                                              Заголовок.Поле("СчетПолуч")
                                            );
конец;
</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  ПлатежЗаФилиал := Длина(УбратьПробелы(РазыменоватьАудит("Налог.КППФилиалаПлательщика", Заголовок.Поле("ИнформацияОНалоге").КакСтрока, Параметры.Значение("ДатаАудита")))) &gt; 0;
конец;
</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры, НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:22</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$88EC9132</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$B0D11ED1</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$F951701D</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$463EC944</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$CF4B356A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\ФорматыОбластей\0314">
    <value type="3" name="МапЭлОбм">[Заголовок],SUMMA=Сумма,SummaCaption=СуммаЗаголовка,SourceFA_Cls=ЛицСчетПлательщика,DestFA_Cls=ЛицСчетПолучателя,SourceAcc_Ref=СчетПлат,DestAcc_Ref=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,SourceRealOrg_Ref=Распорядитель,[Деталь],ClsType=ТипКлассификации,KVR=КВР,KVSR=КВСР,KFSR=КФСР,KCSR=КЦСР,KESR=КЭСР,SubKESR=СубКЭСР,Fact=Мероприятие,Meanstype=ТипСредств,FinType=ТипФинансирования,TransfertCls=КодЦелевыхСредствКлюч,SubsidyCls=КодСубсидииКлюч,Promise=БюджОбяз,FinSource=ИсточникФинансирования,IFS=ИсточникВнутрФинансирования,IFSKey=ИсточникВнутрФинансированияКлюч,SUMMA=Сумма,KD=КодДохода,SOURCEFACIALACC_CLS=ЛицСчетПлатДет,SourceDirectionCLS=Направление,SourceFA_Cls=ЛицСчетПлательщика,DestFA_Cls=ЛицСчетПолучателя,SourceAcc_Ref=СчетПлат,DestAcc_Ref=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,SourceRealOrg_Ref=Распорядитель,SourceBudgetPromiseAgrNum=ДоговораБОПлатНомерДоговора,SourceBudgetPromiseAgrDate=ДоговораБОПлатДатаДоговора,SourceExecDocNum=ДокИсполненияПлатНомер,SourceExecDocDate=ДокИсполненияПлатДата,FundsSource=ИсточникОбразованияСредств,BudAllocationCls=КодБюджАссигнованияКлюч,PayPromiseCls=КодРасходногоОбязательстваКлюч</value>
    <param value="МапЭлОбм" type="3" name="version">36.052.00</param>
    <param value="МапЭлОбм" type="3" name="crc32">$1135066D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0314">
    <value type="3" name="ПечатьНаСлл">[Заголовок],SourceAccount=СчетПлат,DestAccount=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,Credit=Сумма,SourceFacialAcc_Cls=ЛицСчетПлательщика,[Деталь],ClsType=ТипКлассификации,SourceKVSR=КВСР,SourceKFSR=КФСР,SourceKCSR=КЦСР,SourceKVR=КВР,SourceKESR=КЭСР,SourceSubKESR=СубКЭСР,SourceFact=Мероприятие,SourceFinSource=ИсточникФинансирования,SourceMeansType=ТипСредств,SourceDirectionCls=Направление,SourceFinType=ТипФинансирования,SourcePromise=БюджОбяз,SourceKDCode=КодДохода,SourceIFSCode=ИсточникВнутрФинансирования,Credit=Сумма</value>
    <param value="ПечатьНаСлл" type="3" name="version">36.052.00</param>
    <param value="ПечатьНаСлл" type="3" name="crc32">$98FBC291</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0314\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0314\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ||&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ||&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДохода">&amp;{@ТРИМ||&lt;КодДохода&gt;|КД.Код|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ||&lt;КФСР&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ||&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ||&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПЕРЕМ |; |,|{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПОСТ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{ПостояннаяКлассификация}| в т.ч. |{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ||&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}{| |&lt;Заголовок.Примечание&gt;|}{|\n|&lt;Заголовок.НДС&gt;|}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$58B1A85D</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$104816D6</param>
          <param value="КодДохода" type="3" name="version">36.052.00</param>
          <param value="КодДохода" type="3" name="crc32">$881701E4</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$A23B8CA8</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$966B214C</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$54EA9A52</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$EC8A549C</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$9C318C04</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$5B149B8E</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$1E7978EA</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$B0407E9C</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8A4A407F</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$F287AD35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$693CD352</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| (|{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$F5E188F7</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$C0B32098</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$F287AD35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$693CD352</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| (|{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$F5E188F7</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$49DD225A</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| ( ИНН |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}|}{| КПП |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}|}{| |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$CADAD91E</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$1F85D912</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{| ( ИНН |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}|}{| КПП |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}|}{| |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{| |{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$CADAD91E</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$EC50AD6F</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$FF5DE17B</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|)}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$4D2D75C9</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$8ABE2CE5</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$F2EFBDBC</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B9651B13</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$22DE6574</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя } ({|ИНН |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}|}{| КПП |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|}){|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$E0F77CF5</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DCA86549</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0312\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := КритерийНалоговыйПлатеж( Параметры, 
                                              НаборыДанных,
                                              Заголовок.Поле("ИнформацияОНалоге"), 
                                              Заголовок.Поле("СчетПолуч")
                                            );
конец;
</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  ПлатежЗаФилиал := Длина(УбратьПробелы(РазыменоватьАудит("Налог.КППФилиалаПлательщика", Заголовок.Поле("ИнформацияОНалоге").КакСтрока, Параметры.Значение("ДатаАудита")))) &gt; 0;
конец;
</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры, НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:29:04</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$88EC9132</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$B0D11ED1</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$F951701D</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$463EC944</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$CF4B356A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0312">
    <value type="3" name="ПечатьНаСлл">[Заголовок],SourceAccount=СчетПлат,DestAccount=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,Credit=Сумма,SourceFacialAcc_Cls=ЛицСчетПлательщика,[Деталь],ClsType=ТипКлассификации,SourceKVSR=КВСР,SourceKFSR=КФСР,SourceKCSR=КЦСР,SourceKVR=КВР,SourceKESR=КЭСР,SourceSubKESR=СубКЭСР,SourceFact=Мероприятие,SourceFinSource=ИсточникФинансирования,SourceMeansType=ТипСредств,SourceDirectionCls=Направление,SourceFinType=ТипФинансирования,SourcePromise=БюджОбяз,SourceKDCode=КодДохода,SourceIFSCode=ИсточникВнутрФинансирования,Credit=Сумма</value>
    <param value="ПечатьНаСлл" type="3" name="version">36.052.00</param>
    <param value="ПечатьНаСлл" type="3" name="crc32">$98FBC291</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0312\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0312\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ||&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ||&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДохода">&amp;{@ТРИМ||&lt;КодДохода&gt;|КД.Код|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ||&lt;КФСР&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ||&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ||&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПЕРЕМ |; |,|{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПОСТ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{ПостояннаяКлассификация}| в т.ч. |{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ||&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}{| |&lt;Заголовок.Примечание&gt;|}{|\n|&lt;Заголовок.НДС&gt;|}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$58B1A85D</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$104816D6</param>
          <param value="КодДохода" type="3" name="version">36.052.00</param>
          <param value="КодДохода" type="3" name="crc32">$881701E4</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$A23B8CA8</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$966B214C</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$54EA9A52</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$EC8A549C</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$9C318C04</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$5B149B8E</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$1E7978EA</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$B0407E9C</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8A4A407F</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$C0B32098</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$49DD225A</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$1F85D912</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$EC50AD6F</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$FF5DE17B</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|)}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$4D2D75C9</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$8ABE2CE5</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$F2EFBDBC</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B9651B13</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$22DE6574</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя } ({|ИНН |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}|}{| КПП |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|}){|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$E0F77CF5</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DCA86549</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0311\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
  полеТипСредств: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  БюджетныеСредства := нет;
  // Считаем что во всех строках детали один и тот же вид деятельности
  если Деталь.НайтиПоле("ТипСредств",полеТипСредств) тогда
    БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", полеТипСредств.КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));

  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  вУФКСчетПлат := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  вУФКСчетПолуч := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="Наличность">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Наличность(Параметры, НаборыДанных : IVariables): целое;
начало
  Наличность := КритерийНаличность( Параметры, 
                                    НаборыДанных, 
                                    СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                  );
конец;
</value>
    <param value="Наличность" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  стр, СчетОрг, СчетФК : строка;
  полеИнформацияОНалоге: поле;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := нет;
  если Заголовок.НайтиПоле("ИнформацияОНалоге", полеИнформацияОНалоге) тогда начало
    стр := РазыменоватьАудит("Налог.ПоказательОснованияПлатежа", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
    НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");

    если не НалоговыйПлатеж тогда 
    начало
      стр := РазыменоватьАудит("Налог.ПоказательНалоговогоПериода", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
    конец;

    если не НалоговыйПлатеж тогда 
    начало
      стр := РазыменоватьАудит("Налог.ПоказательТипаПлатежа", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
    конец;
  
    если не НалоговыйПлатеж тогда
    начало
      СчетОрг := РазыменоватьАудит("Р/с.ИмяЛСФК", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
      СчетФК  := РазыменоватьАудит("Р/с.ИмяРС", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж     := СчетОрг = СчетФК; 
    конец;
  конец;
конец;</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПД (Параметры,НаборыДанных: IVariables): целое;
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := НаборыДанных.Значение("Заголовок");
  ссДетальКлассификацийФорм := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  если ссДетальКлассификацийФорм.НайтиПоле("ТипСредств") тогда начало 
    если РазыменоватьАудит("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2 тогда
      ПД := Да
    иначе
      ПД := Нет;
  конец;    
конец;
</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  НалоговаяИнф,КПП: Строка;
  полеКПП: Поле;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  если Заголовок.НайтиПоле("ИнформацияОНалоге",полеКПП) тогда начало
    НалоговаяИнф := полеКПП.КакСтрока;
    КПП := РазыменоватьАудит("Налог.КППФилиалаПлательщика",НалоговаяИнф, Параметры.Значение("ДатаАудита"));
    ПлатежЗаФилиал := (КПП&lt;&gt;НалоговаяИнф) и (КПП&lt;&gt;"") и (КПП&lt;&gt;"0");
  конец иначе
    ПлатежЗаФилиал := Нет;  
конец;</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
константы
  тк_Доходная = 2;
  тк_Расходная = 0;
переменные 
  Деталь : СтатическиеДанные;
  ПолеТипКлассификации: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  если не Деталь.НайтиПоле("ClsType", ПолеТипКлассификации) тогда
    Деталь.НайтиПоле("ТипКлассификации", ПолеТипКлассификации);
  если ПолеТипКлассификации&lt;&gt;null тогда
    РасходнаяБК := ПолеТипКлассификации.КакЦелое = тк_Расходная;
конец;
</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ВременныеСредства (Параметры,НаборыДанных: IVariables): целое;
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := НаборыДанных.Значение("Заголовок");
  ссДетальКлассификацийФорм := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  если ссДетальКлассификацийФорм.НайтиПоле("ТипСредств") тогда начало 
    если РазыменоватьАудит("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3 тогда
      ВременныеСредства := Да
    иначе
      ВременныеСредства := Нет;
  конец;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\Макросы\Стандартные.abl";
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок: СтатическиеДанные;
  СчетПлательщика: строка;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  СчетПлательщика := РазыменоватьАудит("Р/с.ИмяЛСФК",Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));
  Федеральные := Подстрока(СчетПлательщика,1,2) = "03";
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:54</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$6B5339C7</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$98566D8A</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$C9E73D11</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="Наличность" type="3" name="version">36.052.00</param>
    <param value="Наличность" type="3" name="crc32">$301F8C91</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$6F532D4D</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$7E13A54F</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$55733331</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$DF37B349</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$A88D2F9A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E2FF988E</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0311">
    <value type="3" name="МапЭлОбм">[Заголовок],SUMMA=Сумма,SummaCaption=СуммаЗаголовка,SourceFA_Cls=ЛицСчетПлательщика,DestFA_Cls=ЛицСчетПолучателя,SourceAcc_Ref=СчетПлат,DestAcc_Ref=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,SourceRealOrg_Ref=Распорядитель,[Деталь],ClsType=ТипКлассификации,KVR=КВР,KVSR=КВСР,KFSR=КФСР,KCSR=КЦСР,KESR=КЭСР,SubKESR=СубКЭСР,Fact=Мероприятие,Meanstype=ТипСредств,FinType=ТипФинансирования,TransfertCls=КодЦелевыхСредствКлюч,SubsidyCls=КодСубсидииКлюч,Promise=БюджОбяз,FinSource=ИсточникФинансирования,IFS=ИсточникВнутрФинансирования,IFSKey=ИсточникВнутрФинансированияКлюч,SUMMA=Сумма,KD=КодДохода,SOURCEFACIALACC_CLS=ЛицСчетПлатДет,SourceDirectionCLS=Направление,SourceFA_Cls=ЛицСчетПлательщика,DestFA_Cls=ЛицСчетПолучателя,SourceAcc_Ref=СчетПлат,DestAcc_Ref=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,SourceRealOrg_Ref=Распорядитель,SourceBudgetPromiseAgrNum=ДоговораБОПлатНомерДоговора,SourceBudgetPromiseAgrDate=ДоговораБОПлатДатаДоговора,SourceExecDocNum=ДокИсполненияПлатНомер,SourceExecDocDate=ДокИсполненияПлатДата,FundsSource=ИсточникОбразованияСредств,BudAllocationCls=КодБюджАссигнованияКлюч,PayPromiseCls=КодРасходногоОбязательстваКлюч</value>
    <param value="МапЭлОбм" type="3" name="version">36.052.00</param>
    <param value="МапЭлОбм" type="3" name="crc32">$1135066D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0311\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0311\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ||&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ||&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДохода">&amp;{@ТРИМ||&lt;КодДохода&gt;|КД.Код|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ||&lt;КФСР&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ||&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ||&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПЕРЕМ |;|,|{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПОСТ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{ПостояннаяКлассификация}|в т.ч.|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ||&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}{| |&lt;Заголовок.Примечание&gt;|}{|\n|&lt;Заголовок.НДС&gt;|}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$58B1A85D</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$104816D6</param>
          <param value="КодДохода" type="3" name="version">36.052.00</param>
          <param value="КодДохода" type="3" name="crc32">$881701E4</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$A23B8CA8</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$966B214C</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$54EA9A52</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$06B661E4</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$9C318C04</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$26247276</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$1E7978EA</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$B0407E9C</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8A4A407F</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$F287AD35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$693CD352</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$C0B32098</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$F287AD35</param>
        </node>
        <node path="КодПлательщикаВУФК">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КодВУФК}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$6C56C0D1</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Деталь.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$693CD352</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <node path="ПолнНаимБюджетополуч">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8DD59616</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$49DD225A</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$1F85D912</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КодПлательщикаВУФК">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КодВУФК}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$6C56C0D1</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <node path="ПолнНаимБюджетополуч">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8DD59616</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$EC50AD6F</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$FF5DE17B</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|)}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$4D2D75C9</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$8ABE2CE5</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$F2EFBDBC</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B9651B13</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$22DE6574</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя } ({|ИНН |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}|}{| КПП |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|}){|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$E0F77CF5</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DCA86549</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0308\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредствПлат").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;
</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры,
                                          НаборыДанных,
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры, НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:36</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$41E076DF</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$C0583C26</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$B0D11ED1</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$CF4B356A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0308\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0308\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбязПлат">&amp;{|БО:|&lt;БюджОбязПлат&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансированияПлат">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансированияПлат&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВРПлат">&amp;{@ТРИМ|КВР:|&lt;КВРПлат&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСРПлат">&amp;{@ТРИМ|КВСР:|&lt;КВСРПлат&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодСубсидииКлючПлат">&amp;{@ТРИМ|Код субсидии:|&lt;КодСубсидииКлючПлат&gt;|КодCубсидииКлюч.Код, @%d(000.00.0000)|}</value>
          <value type="3" name="КФСРПлат">&amp;{@ТРИМ|КФСР:|&lt;КФСРПлат&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСРПлат">&amp;{@ТРИМ|КЦСР:|&lt;КЦСРПлат&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСРПлат">&amp;{@ТРИМ|КЭСР:|&lt;КЭСРПлат&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="МероприятиеПлат">&amp;{@ТРИМ|Мероприятие:|&lt;МероприятиеПлат&gt;|Мероприятие.Код,@%d(000000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСРПлат,КВСРПлат,КЦСРПлат,КВРПлат,КЭСРПлат,СубКЭСРПлат,МероприятиеПлат,КодСубсидииКлючПлат,ИсточникВнутрФинансированияПлат,БюджОбязПлат,Сумма | ПЕРЕМ | |, |{КФСРПлат}|{КВСРПлат}|{КЦСРПлат}|{КВРПлат}|{КЭСРПлат}|{СубКЭСРПлат}|{МероприятиеПлат}|{КодСубсидииКлючПлат}|{ИсточникВнутрФинансированияПлат}|{БюджОбязПлат}|{Сумма}}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСРПлат,КВСРПлат,КЦСРПлат,КВРПлат,КЭСРПлат,СубКЭСРПлат,МероприятиеПлат,КодСубсидииКлючПлат,ИсточникВнутрФинансированияПлат,БюджОбязПлат,Сумма | ПОСТ | |, |{КФСРПлат}|{КВСРПлат}|{КЦСРПлат}|{КВРПлат}|{КЭСРПлат}|{СубКЭСРПлат}|{МероприятиеПлат}|{КодСубсидииКлючПлат}|{ИсточникВнутрФинансированияПлат}|{БюджОбязПлат}|{Сумма}}|)}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{||{ПостояннаяКлассификация}| ={БСУМ|&lt;Заголовок.Сумма&gt;|-|=}}| В том числе:\n|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСРПлат">&amp;{@ТРИМ|СубКЭСР:|&lt;СубКЭСРПлат&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> - &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|&lt;Заголовок.Примечание&gt;\nСнято с лицевого счета {@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)} {Разбивка} &lt;Заголовок.НДС&gt;}</value>
          <param value="БюджОбязПлат" type="3" name="version">36.052.00</param>
          <param value="БюджОбязПлат" type="3" name="crc32">$59835436</param>
          <param value="ИсточникВнутрФинансированияПлат" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансированияПлат" type="3" name="crc32">$4ABCEDF4</param>
          <param value="КВРПлат" type="3" name="version">36.052.00</param>
          <param value="КВРПлат" type="3" name="crc32">$5F7E6102</param>
          <param value="КВСРПлат" type="3" name="version">36.052.00</param>
          <param value="КВСРПлат" type="3" name="crc32">$5BB72486</param>
          <param value="КодСубсидииКлючПлат" type="3" name="version">36.052.00</param>
          <param value="КодСубсидииКлючПлат" type="3" name="crc32">$E74363BA</param>
          <param value="КФСРПлат" type="3" name="version">36.052.00</param>
          <param value="КФСРПлат" type="3" name="crc32">$C5FFA19A</param>
          <param value="КЦСРПлат" type="3" name="version">36.052.00</param>
          <param value="КЦСРПлат" type="3" name="crc32">$AB1BACEE</param>
          <param value="КЭСРПлат" type="3" name="version">36.052.00</param>
          <param value="КЭСРПлат" type="3" name="crc32">$17649E68</param>
          <param value="МероприятиеПлат" type="3" name="version">36.052.00</param>
          <param value="МероприятиеПлат" type="3" name="crc32">$94160DD6</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$55697334</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$023FFFF3</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$9F582DD6</param>
          <param value="СубКЭСРПлат" type="3" name="version">36.052.00</param>
          <param value="СубКЭСРПлат" type="3" name="crc32">$D8165CC7</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$07C647D4</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$569524E7</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="НазначениеПлатежаПолучателя">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежаПолучателя">
          <value type="3" name="БюджОбязПолуч">&amp;{|БО:|&lt;БюджОбязПолуч&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансированияПолуч">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансированияПолуч&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВРПолуч">&amp;{@ТРИМ|КВР:|&lt;КВРПолуч&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСРПолуч">&amp;{@ТРИМ|КВСР:|&lt;КВСРПолуч&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДоходаПолуч">&amp;{@ТРИМ||&lt;КодДоходаПолуч&gt;|КД.Код|}</value>
          <value type="3" name="КодСубсидииКлючПолуч">&amp;{@ТРИМ|Код субсидии:|&lt;КодСубсидииКлючПолуч&gt;|КодCубсидииКлюч.Код, @%d(000.00.0000)|}</value>
          <value type="3" name="КФСРПолуч">&amp;{@ТРИМ|КФСР:|&lt;КФСРПолуч&gt;|КФСР.Код,@%d(9999)|}</value>
          <value type="3" name="КЦСРПолуч">&amp;{@ТРИМ|КЦСР:|&lt;КЦСРПолуч&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСРПолуч">&amp;{@ТРИМ|КЭСР:|&lt;КЭСРПолуч&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="МероприятиеПолуч">&amp;{@ТРИМ|Мероприятие:|&lt;МероприятиеПолуч&gt;|Мероприятие.Код,@%d(000000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСРПолуч,КВСРПолуч,КЦСРПолуч,КВРПолуч,КЭСРПолуч,СубКЭСРПолуч,МероприятиеПолуч,КодСубсидииКлючПолуч,ИсточникВнутрФинансированияПолуч,КодДоходаПолуч,БюджОбязПолуч,Сумма | ПЕРЕМ | |, |{КФСРПолуч}|{КВСРПолуч}|{КЦСРПолуч}|{КВРПолуч}|{КЭСРПолуч}|{СубКЭСРПолуч}|{МероприятиеПолуч}|{КодСубсидииКлючПолуч}|{ИсточникВнутрФинансированияПолуч}|{КодДоходаПолуч}|{БюджОбязПолуч}|{Сумма}}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСРПолуч,КВСРПолуч,КЦСРПолуч,КВРПолуч,КЭСРПолуч,СубКЭСРПолуч,МероприятиеПолуч,КодСубсидииКлючПолуч,ИсточникВнутрФинансированияПолуч,КодДоходаПолуч,БюджОбязПолуч,Сумма | ПОСТ | |, |{КФСРПолуч}|{КВСРПолуч}|{КЦСРПолуч}|{КВРПолуч}|{КЭСРПолуч}|{СубКЭСРПолуч}|{МероприятиеПолуч}|{КодСубсидииКлючПолуч}|{ИсточникВнутрФинансированияПолуч}|{КодДоходаПолуч}|{БюджОбязПолуч}|{Сумма}}|)}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{||{ПостояннаяКлассификация}| -{БСУМ|&lt;Заголовок.Сумма&gt;|-|=}}| В том числе:\n|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСРПолуч">&amp;{@ТРИМ|Суб КЭСР:|&lt;СубКЭСРПолуч&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> - &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|\nЗачислено на лицевой счет {@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)} {Разбивка} &lt;Заголовок.НДС&gt;}</value>
          <param value="БюджОбязПолуч" type="3" name="version">36.052.00</param>
          <param value="БюджОбязПолуч" type="3" name="crc32">$858824FB</param>
          <param value="ИсточникВнутрФинансированияПолуч" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансированияПолуч" type="3" name="crc32">$046EC9C4</param>
          <param value="КВРПолуч" type="3" name="version">36.052.00</param>
          <param value="КВРПолуч" type="3" name="crc32">$61BD1959</param>
          <param value="КВСРПолуч" type="3" name="version">36.052.00</param>
          <param value="КВСРПолуч" type="3" name="crc32">$4C317FD5</param>
          <param value="КодДоходаПолуч" type="3" name="version">36.052.00</param>
          <param value="КодДоходаПолуч" type="3" name="crc32">$1E771402</param>
          <param value="КодСубсидииКлючПолуч" type="3" name="version">36.052.00</param>
          <param value="КодСубсидииКлючПолуч" type="3" name="crc32">$838EFA6B</param>
          <param value="КФСРПолуч" type="3" name="version">36.052.00</param>
          <param value="КФСРПолуч" type="3" name="crc32">$E57D821C</param>
          <param value="КЦСРПолуч" type="3" name="version">36.052.00</param>
          <param value="КЦСРПолуч" type="3" name="crc32">$64178496</param>
          <param value="КЭСРПолуч" type="3" name="version">36.052.00</param>
          <param value="КЭСРПолуч" type="3" name="crc32">$83CE36A4</param>
          <param value="МероприятиеПолуч" type="3" name="version">36.052.00</param>
          <param value="МероприятиеПолуч" type="3" name="crc32">$86F043EE</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$209DE16A</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$4C65243A</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$E364D97F</param>
          <param value="СубКЭСРПолуч" type="3" name="version">36.052.00</param>
          <param value="СубКЭСРПолуч" type="3" name="crc32">$1911ECB2</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$07C647D4</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$77BCB7DD</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат" />
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$00000000</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат" />
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$00000000</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя} - {@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Имя} ({@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)})}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$0722C36F</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат" />
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$00000000</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат" />
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$00000000</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя} - {@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Имя} ({@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)})}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$525A4CAB</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0306\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;
</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры, НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:25</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$88EC9132</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$3757EEBF</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$CF4B356A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0306\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0306\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ|КВР:|&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ|КВСР:|&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДохода">&amp;{@ТРИМ||&lt;КодДохода&gt;|КД.Код|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ|КФСР:|&lt;КФСР&gt;|КФСР.Код,@%d(00.00)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ|КЦСР:|&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ|КЭСР:|&lt;КЭСР&gt;|кэср.код,@%d(0.0.0)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,Сумма | ПЕРЕМ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{Сумма}}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,Сумма | ПОСТ | |, |{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{Сумма}}|)}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{||{ПостояннаяКлассификация}| ={БСУМ|&lt;Заголовок.Сумма&gt;|-|=}}| В том числе:\n|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ|СубКЭСР:|&lt;СубКЭСР&gt;|Субкэср.код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> - &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}}</value>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$60A13D23</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$0544EC9F</param>
          <param value="КодДохода" type="3" name="version">36.052.00</param>
          <param value="КодДохода" type="3" name="crc32">$881701E4</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$828D20E9</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$CE2C7CF3</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$A2363A0D</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$6BFA3390</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$F984C385</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$9F582DD6</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$27EC2F45</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$07C647D4</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A60D352A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{|ИНН |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}|} {@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя} {|(ИНН |{@|&lt;Заголовок.ЛицевойСчет&gt;|Лицевой_счет.ОрганизацияВладелец.ИНН}|} {||{@|&lt;Заголовок.ЛицевойСчет&gt;|Лицевой_счет.ОрганизацияВладелец.Имя}|)}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$5DE9D3E4</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|ОН ЖЕ}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$96044BD7</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0305\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:16</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:16</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:16</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := КритерийНалоговыйПлатеж( Параметры, 
                                              НаборыДанных,
                                              Заголовок.Поле("ИнформацияОНалоге"), 
                                              Заголовок.Поле("СчетПолуч")
                                            );
конец;
</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // считаем что во всех строках детали один тип классификации
  ПлатежЗаФилиал := 0;
конец;</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры, НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:28:17</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$88EC9132</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$B0D11ED1</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$F951701D</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$67A42E08</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$CF4B356A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0305">
    <value type="3" name="ПечатьНаСлл">[Заголовок],SourceAccount=СчетПлат,DestAccount=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,Credit=Сумма,SourceFacialAcc_Cls=ЛицСчетПлательщика,[Деталь],ClsType=ТипКлассификации,SourceKVSR=КВСР,SourceKFSR=КФСР,SourceKCSR=КЦСР,SourceKVR=КВР,SourceKESR=КЭСР,SourceSubKESR=СубКЭСР,SourceFact=Мероприятие,SourceFinSource=ИсточникФинансирования,SourceMeansType=ТипСредств,SourceDirectionCls=Направление,SourceFinType=ТипФинансирования,SourcePromise=БюджОбяз,SourceKDCode=КодДохода,SourceIFSCode=ИсточникВнутрФинансирования,Credit=Сумма</value>
    <param value="ПечатьНаСлл" type="3" name="version">36.052.00</param>
    <param value="ПечатьНаСлл" type="3" name="crc32">$98FBC291</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0305\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0305\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ|КВР:|&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ|КВСР:|&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДохода">&amp;{@ТРИМ||&lt;КодДохода&gt;|КД.Код|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ|КФСР:|&lt;КФСР&gt;|КФСР.Код,@%d(00.00)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ|КЦСР:|&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ|КЭСР:|&lt;КЭСР&gt;|кэср.код,@%d(0.0.0)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,ИсточникВнутрФинансирования,КодДохода,Сумма | ПЕРЕМ | |, |{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,ИсточникВнутрФинансирования,КодДохода,Сумма | ПОСТ | |, |{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{||{ПостояннаяКлассификация}| ={БСУМ|&lt;Заголовок.Сумма&gt;|-|=}}| В том числе:\n|{ПеременнаяКлассификация}}</value>
          <value type="3" name="Сумма"> - &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}{| |&lt;Заголовок.Примечание&gt;|}}</value>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$60A13D23</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$0544EC9F</param>
          <param value="КодДохода" type="3" name="version">36.052.00</param>
          <param value="КодДохода" type="3" name="crc32">$881701E4</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$828D20E9</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$CE2C7CF3</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$A2363A0D</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$E87F3225</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$68907981</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$9F582DD6</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$07C647D4</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$F3F0FDA4</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$96F20E2E</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$1F85D912</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8FD61CC7</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$146D62A0</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.Имя }}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$E04BBAE7</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$EC50AD6F</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$F2EFBDBC</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B9651B13</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$22DE6574</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя }{| ИНН |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}|}{| КПП |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|)}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A7B4D919</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DCA86549</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0304\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="Наличность">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Наличность(Параметры, НаборыДанных : IVariables): целое;
начало
  Наличность := КритерийНаличность( Параметры, 
                                    НаборыДанных, 
                                    СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                  );
конец;
</value>
    <param value="Наличность" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := КритерийНалоговыйПлатеж( Параметры, 
                                              НаборыДанных,
                                              Заголовок.Поле("ИнформацияОНалоге"), 
                                              Заголовок.Поле("СчетПолуч")
                                            );
конец;
</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  ПлатежЗаФилиал := Длина(УбратьПробелы(РазыменоватьАудит("Налог.КППФилиалаПлательщика", Заголовок.Поле("ИнформацияОНалоге").КакСтрока, Параметры.Значение("ДатаАудита")))) &gt; 0;
конец;
</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры, НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="СчетПолучателяВФО.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СчетПолучателяВФО(Параметры, НаборыДанных : IVariables): целое;
переменные 
  СчетПолуч: Поле;
  Разыменовщик: IDereference;
начало
  СчетПолучателяВФО := 0;
  СчетПолуч := СтатическиеДанные(НаборыДанных.Значение("Заголовок")).ПолеПоИмени("СчетПолуч");
  если не СчетПолуч.Пустое тогда
    СчетПолучателяВФО := РазыменоватьАудит("Р/с.СчетОбслуживающейОрганизации.СчетОбслуживающейОрганизации", СчетПолуч.КакЦелое, Параметры.Значение("ДатаАудита")) &gt; 0; 
конец;
</value>
    <param value="СчетПолучателяВФО.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
начало
  Федеральные := КритерийФедеральные( Параметры, 
                                      НаборыДанных,
                                      СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                    );  
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <value type="7" name="Экспорт.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";

Экспорт(Параметры, НаборыДанных : IVariables): целое;
начало
  Экспорт := Параметры.Значение("Экспорт") = 1;
конец;
</value>
    <param value="Экспорт.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 18:26:01</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$88EC9132</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$B0D11ED1</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="Наличность" type="3" name="version">36.052.00</param>
    <param value="Наличность" type="3" name="crc32">$301F8C91</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$F951701D</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$463EC944</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$CF4B356A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
    <param value="СчетПолучателяВФО.abl" type="3" name="version">36.052.00</param>
    <param value="СчетПолучателяВФО.abl" type="3" name="crc32">$A85F09C7</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E81FF0BF</param>
    <param value="Экспорт.abl" type="3" name="version">36.052.00</param>
    <param value="Экспорт.abl" type="3" name="crc32">$6AC37E26</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0304\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0304\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ||&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ||&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДохода">&amp;{@ТРИМ||&lt;КодДохода&gt;|КД.Код|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ||&lt;КФСР&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ||&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ||&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПЕРЕМ |;|,|{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,БюджОбяз,Сумма | ПОСТ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{БюджОбяз}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{ПостояннаяКлассификация}|в т.ч.|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ||&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}{| |&lt;Заголовок.Примечание&gt;|}{|\n|&lt;Заголовок.НДС&gt;|}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$58B1A85D</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$104816D6</param>
          <param value="КодДохода" type="3" name="version">36.052.00</param>
          <param value="КодДохода" type="3" name="crc32">$881701E4</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$A23B8CA8</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$966B214C</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$54EA9A52</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$06B661E4</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$9C318C04</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$26247276</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$1E7978EA</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$B0407E9C</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8A4A407F</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$C0B32098</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$49DD225A</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$1F85D912</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$592AEEB0</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C29190D7</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$EC50AD6F</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$FF5DE17B</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|)}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$4D2D75C9</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$8ABE2CE5</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$F2EFBDBC</param>
      </node>
      <node path="Вариант04">
        <value type="3" name="Критерии">НеНалоговыйПлатеж,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B9651B13</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$22DE6574</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.Имя } ({|ИНН |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}|}{| КПП |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|}){|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$E0F77CF5</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DCA86549</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0303\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
  полеТипСредств: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  БюджетныеСредства := нет;
  // Считаем что во всех строках детали один и тот же вид деятельности
  если Деталь.НайтиПоле("ТипСредств",полеТипСредств) тогда
    БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", полеТипСредств.КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));

  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  вУФКСчетПлат := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
  
  вУФКСчетПолуч := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="Наличность">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Наличность(Параметры, НаборыДанных : IVariables): целое;
начало
  Наличность := КритерийНаличность( Параметры, 
                                    НаборыДанных, 
                                    СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                  );
конец;
</value>
    <param value="Наличность" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  стр, СчетОрг, СчетФК : строка;
  полеИнформацияОНалоге: поле;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := нет;
  если Заголовок.НайтиПоле("ИнформацияОНалоге", полеИнформацияОНалоге) тогда начало
    стр := РазыменоватьАудит("Налог.ПоказательОснованияПлатежа", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
    НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");

    если не НалоговыйПлатеж тогда 
    начало
      стр := РазыменоватьАудит("Налог.ПоказательНалоговогоПериода", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
    конец;

    если не НалоговыйПлатеж тогда 
    начало
      стр := РазыменоватьАудит("Налог.ПоказательТипаПлатежа", полеИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
    конец;
  
    если не НалоговыйПлатеж тогда
    начало
      СчетОрг := РазыменоватьАудит("Р/с.ИмяЛСФК", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
      СчетФК  := РазыменоватьАудит("Р/с.ИмяРС", Заголовок.Поле("СчетПолуч").КакЦелое, Параметры.Значение("ДатаАудита"));
      НалоговыйПлатеж := СчетОрг = СчетФК; 
    конец;
  конец;    
конец;
</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных: IVariables): целое;
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := НаборыДанных.Значение("Заголовок");
  ссДетальКлассификацийФорм := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  если ссДетальКлассификацийФорм.НайтиПоле("ТипСредств") тогда начало 
    если РазыменоватьАудит("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2 тогда
      ПД := Да
    иначе
      ПД := Нет;
  конец;    
конец;
</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
  НалоговаяИнф,КПП: Строка;
  полеКПП: Поле;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  если Заголовок.НайтиПоле("ИнформацияОНалоге",полеКПП) тогда начало
    НалоговаяИнф := полеКПП.КакСтрока;
    КПП := РазыменоватьАудит("Налог.КППФилиалаПлательщика",НалоговаяИнф, Параметры.Значение("ДатаАудита"));
    ПлатежЗаФилиал := (КПП&lt;&gt;НалоговаяИнф) и (КПП&lt;&gt;"") и (КПП&lt;&gt;"0");
  конец иначе
    ПлатежЗаФилиал := Нет;  
конец;</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
константы
  тк_Доходная = 2;
  тк_Расходная = 0;
переменные 
  Деталь : СтатическиеДанные;
  ПолеТипКлассификации: Поле;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  если не Деталь.НайтиПоле("ClsType", ПолеТипКлассификации) тогда
    Деталь.НайтиПоле("ТипКлассификации", ПолеТипКлассификации);
  если ПолеТипКлассификации&lt;&gt;null тогда
    РасходнаяБК := ПолеТипКлассификации.КакЦелое = тк_Расходная;
конец;
</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ВременныеСредства (Параметры,НаборыДанных: IVariables): целое;
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := НаборыДанных.Значение("Заголовок");
  ссДетальКлассификацийФорм := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  если ссДетальКлассификацийФорм.НайтиПоле("ТипСредств") тогда начало 
    если РазыменоватьАудит("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3 тогда
      ВременныеСредства := Да
    иначе
      ВременныеСредства := Нет;
  конец;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\Макросы\Стандартные.abl";
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок: СтатическиеДанные;
  СчетПлательщика: строка;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  СчетПлательщика := РазыменоватьАудит("Р/с.ИмяЛСФК",Заголовок.Поле("СчетПлат").КакЦелое, Параметры.Значение("ДатаАудита"));
  Федеральные := Подстрока(СчетПлательщика,1,2) = "03";
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:59:56</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$6B5339C7</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$98566D8A</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$C9E73D11</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="Наличность" type="3" name="version">36.052.00</param>
    <param value="Наличность" type="3" name="crc32">$301F8C91</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$1F1EA892</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$DA98A06A</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$55733331</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$DF37B349</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$A88D2F9A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E2FF988E</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0303\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0303\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ|КВР:|&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ|КВСР:|&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ|КФСР:|&lt;КФСР&gt;|КФСР.Код,@%d(9999)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ|КЦСР:|&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ|КЭСР:|&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="Мероприятие">&amp;{@ТРИМ|Мероприятие:|&lt;Мероприятие&gt;|Мероприятие.Код,@%d(000000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Мероприятие,БюджОбяз,Сумма | ПЕРЕМ | |, |{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{Мероприятие}|{БюджОбяз}|{Сумма}}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Мероприятие,БюджОбяз,Сумма | ПОСТ | |, |{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{Мероприятие}|{БюджОбяз}|{Сумма}}|)}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{||{ПостояннаяКлассификация}| -{БСУМ|&lt;Заголовок.Сумма&gt;|-|=}}| В том числе:\n|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ|Суб КЭСР:|&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> - &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$60A13D23</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$0544EC9F</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$3BB73950</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$CE2C7CF3</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$F01031B4</param>
          <param value="Мероприятие" type="3" name="version">36.052.00</param>
          <param value="Мероприятие" type="3" name="crc32">$C7C95416</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$605A8139</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$6BDCDAE8</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$E364D97F</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$C7F58B9E</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$07C647D4</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A60D352A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0302\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ВидОбслуживанияПолучателяФО">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ВидОбслуживанияПолучателяФО(Параметры, НаборыДанных : IVariables): целое;
начало
  ВидОбслуживанияПолучателяФО := КритерийВидОбслуживанияПолучателяФО(Параметры, НаборыДанных);
конец;
</value>
    <param value="ВидОбслуживанияПолучателяФО" type="3" name="Export">GERMAN\kurkovm\02.11.2012 11:41:48</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="Наличность">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Наличность(Параметры, НаборыДанных : IVariables): целое;
начало
  Наличность := КритерийНаличность( Параметры, 
                                    НаборыДанных, 
                                    СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                  );
конец;
</value>
    <param value="Наличность" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="НалоговыйПлатеж.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

НалоговыйПлатеж(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  НалоговыйПлатеж := КритерийНалоговыйПлатеж( Параметры, 
                                              НаборыДанных,
                                              Заголовок.Поле("ИнформацияОНалоге"), 
                                              Заголовок.Поле("СчетПолуч")
                                            );
конец;
</value>
    <param value="НалоговыйПлатеж.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ПлатежЗаФилиал.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПлатежЗаФилиал(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок : СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  ПлатежЗаФилиал := Длина(УбратьПробелы(РазыменоватьАудит("Налог.КППФилиалаПлательщика", Заголовок.Поле("ИнформацияОНалоге").КакСтрока, Параметры.Значение("ДатаАудита")))) &gt; 0;
конец;
</value>
    <param value="ПлатежЗаФилиал.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="ПолучательБезОткрытияЛС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ПолучательБезОткрытияЛС(Параметры, НаборыДанных : IVariables): целое;
начало
  ПолучательБезОткрытияЛС := Критерий_ПолучательБезОткрытияЛС(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ПолучательБезОткрытияЛС" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры, НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:19</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:20</param>
    <value type="7" name="СчетПолучателяВФО.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СчетПолучателяВФО(Параметры, НаборыДанных : IVariables): целое;
переменные 
  СчетПолуч: Поле;
  Разыменовщик: IDereference;
начало
  СчетПолучателяВФО := 0;
  СчетПолуч := СтатическиеДанные(НаборыДанных.Значение("Заголовок")).ПолеПоИмени("СчетПолуч");
  если не СчетПолуч.Пустое тогда
    СчетПолучателяВФО := РазыменоватьАудит("Р/с.СчетОбслуживающейОрганизации.СчетОбслуживающейОрганизации", СчетПолуч.КакЦелое, Параметры.Значение("ДатаАудита")) &gt; 0; 
конец;
</value>
    <param value="СчетПолучателяВФО.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:20</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
начало
  Федеральные := КритерийФедеральные( Параметры, 
                                      НаборыДанных,
                                      СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                    );  
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:20</param>
    <value type="7" name="Экспорт.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";

Экспорт(Параметры, НаборыДанных : IVariables): целое;
начало
  Экспорт := Параметры.Значение("Экспорт") = 1;
конец;
</value>
    <param value="Экспорт.abl" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 17:16:20</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$88EC9132</param>
    <param value="ВидОбслуживанияПолучателяФО" type="3" name="version">36.052.00</param>
    <param value="ВидОбслуживанияПолучателяФО" type="3" name="crc32">$7E00B58D</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$B0D11ED1</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="Наличность" type="3" name="version">36.052.00</param>
    <param value="Наличность" type="3" name="crc32">$301F8C91</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="version">36.052.00</param>
    <param value="НалоговыйПлатеж.abl" type="3" name="crc32">$F951701D</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="version">36.052.00</param>
    <param value="ПлатежЗаФилиал.abl" type="3" name="crc32">$463EC944</param>
    <param value="ПолучательБезОткрытияЛС" type="3" name="version">36.052.00</param>
    <param value="ПолучательБезОткрытияЛС" type="3" name="crc32">$227F686D</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$CF4B356A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
    <param value="СчетПолучателяВФО.abl" type="3" name="version">36.052.00</param>
    <param value="СчетПолучателяВФО.abl" type="3" name="crc32">$A85F09C7</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E81FF0BF</param>
    <param value="Экспорт.abl" type="3" name="version">36.052.00</param>
    <param value="Экспорт.abl" type="3" name="crc32">$6AC37E26</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0302">
    <value type="3" name="МапЭлОбм">[Заголовок],SUMMA=Сумма,SummaCaption=СуммаЗаголовка,SourceFA_Cls=ЛицСчетПлательщика,DestFA_Cls=ЛицСчетПолучателя,SourceAcc_Ref=СчетПлат,DestAcc_Ref=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,SourceRealOrg_Ref=Распорядитель,[Деталь],ClsType=ТипКлассификации,KVR=КВР,KVSR=КВСР,KFSR=КФСР,KCSR=КЦСР,KESR=КЭСР,SubKESR=СубКЭСР,Fact=Мероприятие,Meanstype=ТипСредств,FinType=ТипФинансирования,TransfertCls=КодЦелевыхСредствКлюч,SubsidyCls=КодСубсидииКлюч,Promise=БюджОбяз,FinSource=ИсточникФинансирования,IFS=ИсточникВнутрФинансирования,IFSKey=ИсточникВнутрФинансированияКлюч,SUMMA=Сумма,KD=КодДохода,SOURCEFACIALACC_CLS=ЛицСчетПлатДет,SourceDirectionCLS=Направление,SourceFA_Cls=ЛицСчетПлательщика,DestFA_Cls=ЛицСчетПолучателя,SourceAcc_Ref=СчетПлат,DestAcc_Ref=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,SourceRealOrg_Ref=Распорядитель,SourceBudgetPromiseAgrNum=ДоговораБОПлатНомерДоговора,SourceBudgetPromiseAgrDate=ДоговораБОПлатДатаДоговора,SourceExecDocNum=ДокИсполненияПлатНомер,SourceExecDocDate=ДокИсполненияПлатДата,FundsSource=ИсточникОбразованияСредств,BudAllocationCls=КодБюджАссигнованияКлюч,PayPromiseCls=КодРасходногоОбязательстваКлюч</value>
    <param value="МапЭлОбм" type="3" name="version">36.052.00</param>
    <param value="МапЭлОбм" type="3" name="crc32">$1135066D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0302">
    <value type="3" name="ПечатьНаСлл">[Заголовок],SourceAccount=СчетПлат,DestAccount=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,Credit=Сумма,SourceFacialAcc_Cls=ЛицСчетПлательщика,[Деталь],ClsType=ТипКлассификации,SourceKVSR=КВСР,SourceKFSR=КФСР,SourceKCSR=КЦСР,SourceKVR=КВР,SourceKESR=КЭСР,SourceSubKESR=СубКЭСР,SourceFact=Мероприятие,SourceFinSource=ИсточникФинансирования,SourceMeansType=ТипСредств,SourceDirectionCls=Направление,SourceFinType=ТипФинансирования,SourcePromise=БюджОбяз,SourceKDCode=КодДохода,SourceIFSCode=ИсточникВнутрФинансирования,SourceIFS=ИсточникВнутрФинансированияКлюч,Credit=Сумма</value>
    <param value="ПечатьНаСлл" type="3" name="version">36.052.00</param>
    <param value="ПечатьНаСлл" type="3" name="crc32">$16DE20EA</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0302">
    <value type="3" name="ЭкспортФК">[Заголовок],SourceAccount=СчетПлат,DestAccount=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,Credit=Сумма,SourceFacialAcc_Cls=ЛицСчетПлательщика,[Деталь],ClsType=ТипКлассификации,SourceKVSR=КВСР,SourceKFSR=КФСР,SourceKCSR=КЦСР,SourceKVR=КВР,SourceKESR=КЭСР,SourceSubKESR=СубКЭСР,SourceFact=Мероприятие,SourceFinSource=ИсточникФинансирования,SourceMeansType=ТипСредств,SourceDirectionCls=Направление,SourceFinType=ТипФинансирования,SourcePromise=БюджОбяз,SourceKD_Str=КодДохода,SourceIFS_Str=ИсточникВнутрФинансирования,Credit=Сумма</value>
    <param value="ЭкспортФК" type="3" name="version">36.052.00</param>
    <param value="ЭкспортФК" type="3" name="crc32">$A1C0B6E9</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0302\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0302\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбяз">&amp;{|БО:|&lt;БюджОбяз&gt;|}</value>
          <value type="3" name="ДоговораБОПлатДатаДоговора">&amp;{@ТРИМ| Дата договора:|&lt;ДоговораБОПлатДатаДоговора&gt;|Дата.Дата|}</value>
          <value type="3" name="ДоговораБОПлатНомерДоговора">&amp;{|№ договора:|&lt;ДоговораБОПлатНомерДоговора&gt;|}</value>
          <value type="3" name="ДокИсполненияПлатДата">&amp;{@ТРИМ|Дата ДИ:|&lt;ДокИсполненияПлатДата&gt;|Дата.Дата|}</value>
          <value type="3" name="ДокИсполненияПлатНомер">&amp;{|№ ДИ:|&lt;ДокИсполненияПлатНомер&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансирования">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансирования&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВР">&amp;{@ТРИМ||&lt;КВР&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСР">&amp;{@ТРИМ||&lt;КВСР&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДохода">&amp;{@ТРИМ||&lt;КодДохода&gt;|КД.Код|}</value>
          <value type="3" name="КФСР">&amp;{@ТРИМ||&lt;КФСР&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСР">&amp;{@ТРИМ||&lt;КЦСР&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСР">&amp;{@ТРИМ||&lt;КЭСР&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,ДоговораБОПлатДатаДоговора,ДокИсполненияПлатДата,БюджОбяз,ДокИсполненияПлатНомер,ДоговораБОПлатНомерДоговора,Сумма | ПЕРЕМ |; |,|{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{ДоговораБОПлатДатаДоговора}|{ДокИсполненияПлатДата}|{БюджОбяз}|{ДокИсполненияПлатНомер}|{ДоговораБОПлатНомерДоговора}|{Сумма}}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ИсточникВнутрФинансирования,КодДохода,ДоговораБОПлатДатаДоговора,ДокИсполненияПлатДата,БюджОбяз,ДокИсполненияПлатНомер,ДоговораБОПлатНомерДоговора,Сумма | ПОСТ | ||{КФСР}|{КВСР}|{КЦСР}|{КВР}|{КЭСР}|{СубКЭСР}|{ИсточникВнутрФинансирования}|{КодДохода}|{ДоговораБОПлатДатаДоговора}|{ДокИсполненияПлатДата}|{БюджОбяз}|{ДокИсполненияПлатНомер}|{ДоговораБОПлатНомерДоговора}|{Сумма}}|)}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{ПостояннаяКлассификация}| в т.ч. |{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСР">&amp;{@ТРИМ||&lt;СубКЭСР&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|{Разбивка}{| |&lt;Заголовок.Примечание&gt;|}{|\n|&lt;Заголовок.НДС&gt;|}}</value>
          <param value="БюджОбяз" type="3" name="version">36.052.00</param>
          <param value="БюджОбяз" type="3" name="crc32">$8CD9D77C</param>
          <param value="ДоговораБОПлатДатаДоговора" type="3" name="version">36.052.00</param>
          <param value="ДоговораБОПлатДатаДоговора" type="3" name="crc32">$A70A678F</param>
          <param value="ДоговораБОПлатНомерДоговора" type="3" name="version">36.052.00</param>
          <param value="ДоговораБОПлатНомерДоговора" type="3" name="crc32">$85F88415</param>
          <param value="ДокИсполненияПлатДата" type="3" name="version">36.052.00</param>
          <param value="ДокИсполненияПлатДата" type="3" name="crc32">$5021E299</param>
          <param value="ДокИсполненияПлатНомер" type="3" name="version">36.052.00</param>
          <param value="ДокИсполненияПлатНомер" type="3" name="crc32">$402BC89A</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансирования" type="3" name="crc32">$983F1F8B</param>
          <param value="КВР" type="3" name="version">36.052.00</param>
          <param value="КВР" type="3" name="crc32">$58B1A85D</param>
          <param value="КВСР" type="3" name="version">36.052.00</param>
          <param value="КВСР" type="3" name="crc32">$104816D6</param>
          <param value="КодДохода" type="3" name="version">36.052.00</param>
          <param value="КодДохода" type="3" name="crc32">$881701E4</param>
          <param value="КФСР" type="3" name="version">36.052.00</param>
          <param value="КФСР" type="3" name="crc32">$A23B8CA8</param>
          <param value="КЦСР" type="3" name="version">36.052.00</param>
          <param value="КЦСР" type="3" name="crc32">$966B214C</param>
          <param value="КЭСР" type="3" name="version">36.052.00</param>
          <param value="КЭСР" type="3" name="crc32">$54EA9A52</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$499440DB</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$91663BD8</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$5B149B8E</param>
          <param value="СубКЭСР" type="3" name="version">36.052.00</param>
          <param value="СубКЭСР" type="3" name="crc32">$1E7978EA</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$B0407E9C</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8A4A407F</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НевУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$A4138B9A</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$16C1CB2E</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">вУФКСчетПлат</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.ИМЯ}{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Город}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$F9EC9048</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$232EC14B</param>
        </node>
        <node path="КодПлательщикаВУФК">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.КодВУФК}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$6C56C0D1</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B895BF2C</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация_ФК.Имя}{| (|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}|}{|, |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя}|}{|, |{@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)}|)}{|\n|{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$2F1305A1</param>
        </node>
        <node path="ПолнНаимБюджетополуч">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Организация.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$8DD59616</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$D047EF3C</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
      <node path="Вариант01">
        <value type="3" name="Критерии">НевУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.Имя}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$25304E45</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$DD898529</param>
      </node>
      <node path="Вариант02">
        <value type="3" name="Критерии">НеСчетПолучателяВФО,вУФКСчетПолуч</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КраткоеИмя}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КраткоеИмя}|}{| |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|}){|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BB4278B0</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$BD655F3A</param>
      </node>
      <node path="Вариант03">
        <value type="3" name="Критерии">вУФКСчетПолуч,СчетПолучателяВФО</value>
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.ИНН}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$31D53B35</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КПП}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$AA6E4552</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетОбслуживающейОрганизации.Организация_ФК.КраткоеИмя}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация_ФК.КраткоеИмя}|}{|, л/с |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетОбслуживающейОрганизации.Имя}|}{| (|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Организация.КраткоеИмя}|}{|, л/с |{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.ИмяЛСФК}|))}{|\n|{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Номер_Отделения_СБ}|}}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$5F9706E7</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$8E3E83C0</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0301\Критерии">
    <value type="7" name="БюджетныеСредства.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

БюджетныеСредства(Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // Считаем что во всех строках детали один и тот же вид деятельности
  БюджетныеСредства := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредствПлат").КакЦелое, Параметры.Значение("ДатаАудита")) = 1;
конец;
</value>
    <param value="БюджетныеСредства.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="вУФКСчетПлат.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПлат(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПлат := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                        );
конец;
</value>
    <param value="вУФКСчетПлат.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="вУФКСчетПолуч.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

вУФКСчетПолуч(Параметры, НаборыДанных : IVariables): целое;
начало
  вУФКСчетПолуч := КритерийСчетОткрытВУФК( Параметры, 
                                          НаборыДанных, 
                                          СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПолуч")
                                        );
конец;
</value>
    <param value="вУФКСчетПолуч.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ДоходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ДоходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ДоходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 2;
конец;</value>
    <param value="ДоходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ИсточниковаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ИсточниковаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ИсточниковаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 1;
конец;</value>
    <param value="ИсточниковаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ЛСПлательщика_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОМС := Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщика_ОтдельныйБУАУ := Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПлательщикаБУАУ := Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных);        
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ЛСПолучателя_ОМС">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОМС := Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателя_ОтдельныйБУАУ := Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПолучателяБУАУ := Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
начало
  ЛСПоПереданнымПолномочиям := Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных);         
конец;
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ОднаСтрокаБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

ОднаСтрокаБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  ОднаСтрокаБК := Деталь.ЧислоЗаписей = 1;
конец;</value>
    <param value="ОднаСтрокаБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="ПД.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

ПД (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =2, тогда это ПД
  ПД := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    ПД := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 2;    
конец;

</value>
    <param value="ПД.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="Поселение">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение(Параметры, НаборыДанных : IVariables): целое;
начало
  Поселение := Критерий_Поселение(Параметры, НаборыДанных);             
конец;
</value>
    <param value="Поселение" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="РасходнаяБК.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";

РасходнаяБК(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Деталь : СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // считаем что во всех строках детали один тип классификации
  РасходнаяБК := Деталь.Поле("ТипКлассификации").КакЦелое = 0;
конец;</value>
    <param value="РасходнаяБК.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="СВР.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Documents.lib";

СВР (Параметры, НаборыДанных : IVariables): целое;
переменные
  Деталь: СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  // если Вид деятельности =3, тогда это средства во временнном распоряжении
  СВР := 0;
  если Деталь.НайтиПоле("ТипСредств") тогда 
    СВР := РазыменоватьАудит("Тип_Средств.ВидДеятельности", Деталь.Поле("ТипСредств").КакЦелое, Параметры.Значение("ДатаАудита")) = 3;    
конец;
</value>
    <param value="СВР.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="сКопейкамиСумма.abl">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib"; 
включить "\библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";


сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
начало
  сКопейкамиСумма := Критерий_сКопейкамиСумма(Параметры,НаборыДанных);
конец;
</value>
    <param value="сКопейкамиСумма.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\Reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Макросы\Стандартные.abl";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
начало
  СубсидииБУАУ := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);             
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <value type="7" name="Федеральные.abl">// Определяет, что платеж с 03-го счета
включить "\библиотеки\reports.lib";
включить "\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Федеральные(Параметры, НаборыДанных : IVariables): целое;
начало
  Федеральные := КритерийФедеральные( Параметры, 
                                      НаборыДанных,
                                      СтатическиеДанные(НаборыДанных.Значение("Заголовок")).Поле("СчетПлат")
                                    );  
конец;
</value>
    <param value="Федеральные.abl" type="3" name="Export">GERMAN\kurkovm\20.03.2012 17:56:26</param>
    <param value="БюджетныеСредства.abl" type="3" name="version">36.052.00</param>
    <param value="БюджетныеСредства.abl" type="3" name="crc32">$41E076DF</param>
    <param value="вУФКСчетПлат.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПлат.abl" type="3" name="crc32">$0CD59DA1</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="version">36.052.00</param>
    <param value="вУФКСчетПолуч.abl" type="3" name="crc32">$1D214474</param>
    <param value="ДоходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ДоходнаяБК.abl" type="3" name="crc32">$B0D11ED1</param>
    <param value="ИсточниковаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="ИсточниковаяБК.abl" type="3" name="crc32">$D88DEBE6</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$DF75F28A</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$CDB51B54</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$0C526183</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$ED7E1C73</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$3908CA4E</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.052.00</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$DE3C2CEF</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.052.00</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$79AE666F</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="version">36.052.00</param>
    <param value="ОднаСтрокаБК.abl" type="3" name="crc32">$57CAA920</param>
    <param value="ПД.abl" type="3" name="version">36.052.00</param>
    <param value="ПД.abl" type="3" name="crc32">$FFD27DF8</param>
    <param value="Поселение" type="3" name="version">36.052.00</param>
    <param value="Поселение" type="3" name="crc32">$3115E75C</param>
    <param value="РасходнаяБК.abl" type="3" name="version">36.052.00</param>
    <param value="РасходнаяБК.abl" type="3" name="crc32">$523690A5</param>
    <param value="СВР.abl" type="3" name="version">36.052.00</param>
    <param value="СВР.abl" type="3" name="crc32">$B90DB2DE</param>
    <param value="сКопейкамиСумма.abl" type="3" name="version">36.052.00</param>
    <param value="сКопейкамиСумма.abl" type="3" name="crc32">$2387099A</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.052.00</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$713DF835</param>
    <param value="Федеральные.abl" type="3" name="version">36.052.00</param>
    <param value="Федеральные.abl" type="3" name="crc32">$E81FF0BF</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0301">
    <value type="3" name="ПечатьНаСлл">[Заголовок],SourceAccount=СчетПлат,DestAccount=СчетПолуч,Note=Примечание,NDS=НДС,TaxNote=ИнформацияОНалоге,Credit=Сумма,SourceFacialAcc_Cls=ЛицСчетПлательщика,[Деталь],ClsType=ТипКлассификации,SourceKVSR=КВСР,SourceKFSR=КФСР,SourceKCSR=КЦСР,SourceKVR=КВР,SourceKESR=КЭСР,SourceSubKESR=СубКЭСР,SourceFact=Мероприятие,SourceFinSource=ИсточникФинансирования,SourceMeansType=ТипСредств,SourceDirectionCls=Направление,SourceFinType=ТипФинансирования,SourcePromise=БюджОбяз,SourceKDCode=КодДохода,SourceIFSCode=ИсточникВнутрФинансирования,Credit=Сумма</value>
    <param value="ПечатьНаСлл" type="3" name="version">36.052.00</param>
    <param value="ПечатьНаСлл" type="3" name="crc32">$98FBC291</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0301\Комплекты">
    <value type="3" flags="1" name="Активный">Базовый</value>
    <param value="Активный" type="3" name="version">36.052.00</param>
    <param value="Активный" type="3" name="crc32">$5482C41D</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей\0301\Комплекты\Базовый">
    <value type="4" name="Системный">1</value>
    <node path="НазначениеПлатежа">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежа">
          <value type="3" name="БюджОбязПлат">&amp;{|БО:|&lt;БюджОбязПлат&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансированияПлат">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансированияПлат&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВРПлат">&amp;{@ТРИМ|КВР:|&lt;КВРПлат&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСРПлат">&amp;{@ТРИМ|КВСР:|&lt;КВСРПлат&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДоходаПлат">&amp;{@ТРИМ||&lt;КодДоходаПлат&gt;|КД.Код|}</value>
          <value type="3" name="КФСРПлат">&amp;{@ТРИМ|КФСР:|&lt;КФСРПлат&gt;|КФСР.Код,@%d(0000)|}</value>
          <value type="3" name="КЦСРПлат">&amp;{@ТРИМ|КЦСР:|&lt;КЦСРПлат&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСРПлат">&amp;{@ТРИМ|КЭСР:|&lt;КЭСРПлат&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="МероприятиеПлат">&amp;{@ТРИМ|Мероприятие:|&lt;МероприятиеПлат&gt;|Мероприятие.Код,@%d(000000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСРПлат,КВСРПлат,КЦСРПлат,КВРПлат,КЭСРПлат,СубКЭСРПлат,МероприятиеПлат,ИсточникВнутрФинансированияПлат,КодДоходаПлат,БюджОбязПлат,Сумма | ПЕРЕМ | |, |{КФСРПлат}|{КВСРПлат}|{КЦСРПлат}|{КВРПлат}|{КЭСРПлат}|{СубКЭСРПлат}|{МероприятиеПлат}|{ИсточникВнутрФинансированияПлат}|{КодДоходаПлат}|{БюджОбязПлат}|{Сумма}}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСРПлат,КВСРПлат,КЦСРПлат,КВРПлат,КЭСРПлат,СубКЭСРПлат,МероприятиеПлат,ИсточникВнутрФинансированияПлат,КодДоходаПлат,БюджОбязПлат,Сумма | ПОСТ | |, |{КФСРПлат}|{КВСРПлат}|{КЦСРПлат}|{КВРПлат}|{КЭСРПлат}|{СубКЭСРПлат}|{МероприятиеПлат}|{ИсточникВнутрФинансированияПлат}|{КодДоходаПлат}|{БюджОбязПлат}|{Сумма}}|)}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{||{ПостояннаяКлассификация}| ={БСУМ|&lt;Заголовок.Сумма&gt;|-|=}}| В том числе:\n|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСРПлат">&amp;{@ТРИМ|СубКЭСР:|&lt;СубКЭСРПлат&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> - &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|Снято с лицевого счета {@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)} {Разбивка}}</value>
          <param value="БюджОбязПлат" type="3" name="version">36.052.00</param>
          <param value="БюджОбязПлат" type="3" name="crc32">$59835436</param>
          <param value="ИсточникВнутрФинансированияПлат" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансированияПлат" type="3" name="crc32">$4ABCEDF4</param>
          <param value="КВРПлат" type="3" name="version">36.052.00</param>
          <param value="КВРПлат" type="3" name="crc32">$5F7E6102</param>
          <param value="КВСРПлат" type="3" name="version">36.052.00</param>
          <param value="КВСРПлат" type="3" name="crc32">$5BB72486</param>
          <param value="КодДоходаПлат" type="3" name="version">36.052.00</param>
          <param value="КодДоходаПлат" type="3" name="crc32">$696EDC65</param>
          <param value="КФСРПлат" type="3" name="version">36.052.00</param>
          <param value="КФСРПлат" type="3" name="crc32">$C5FFA19A</param>
          <param value="КЦСРПлат" type="3" name="version">36.052.00</param>
          <param value="КЦСРПлат" type="3" name="crc32">$AB1BACEE</param>
          <param value="КЭСРПлат" type="3" name="version">36.052.00</param>
          <param value="КЭСРПлат" type="3" name="crc32">$17649E68</param>
          <param value="МероприятиеПлат" type="3" name="version">36.052.00</param>
          <param value="МероприятиеПлат" type="3" name="crc32">$94160DD6</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$ECE2AE6D</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$EA9EBD04</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$9F582DD6</param>
          <param value="СубКЭСРПлат" type="3" name="version">36.052.00</param>
          <param value="СубКЭСРПлат" type="3" name="crc32">$D8165CC7</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$07C647D4</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$C83FF2AF</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="НазначениеПлатежаПолучателя">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="НазначениеПлатежаПолучателя">
          <value type="3" name="БюджОбязПолуч">&amp;{|БО:|&lt;БюджОбязПолуч&gt;|}</value>
          <value type="3" name="ИсточникВнутрФинансированияПолуч">&amp;{@ТРИМ||&lt;ИсточникВнутрФинансированияПолуч&gt;|ИсточникВнутрФинансирования.Код|}</value>
          <value type="3" name="КВРПолуч">&amp;{@ТРИМ|КВР:|&lt;КВРПолуч&gt;|КВР.Код,@%d(000)|}</value>
          <value type="3" name="КВСРПолуч">&amp;{@ТРИМ|КВСР:|&lt;КВСРПолуч&gt;|КВСР.Код,@%d(000)|}</value>
          <value type="3" name="КодДоходаПолуч">&amp;{@ТРИМ||&lt;КодДоходаПолуч&gt;|КД.Код|}</value>
          <value type="3" name="КФСРПолуч">&amp;{@ТРИМ|КФСР:|&lt;КФСРПолуч&gt;|КФСР.Код,@%d(9999)|}</value>
          <value type="3" name="КЦСРПолуч">&amp;{@ТРИМ|КЦСР:|&lt;КЦСРПолуч&gt;|КЦСР.Код,@%d(0000000)|}</value>
          <value type="3" name="КЭСРПолуч">&amp;{@ТРИМ|КЭСР:|&lt;КЭСРПолуч&gt;|КЭСР.Код,@%d(000)|}</value>
          <value type="3" name="МероприятиеПолуч">&amp;{@ТРИМ|Мероприятие:|&lt;МероприятиеПолуч&gt;|Мероприятие.Код,@%d(000000)|}</value>
          <value type="3" name="ПеременнаяКлассификация">{Разбить2 | Деталь | КФСРПолуч,КВСРПолуч,КЦСРПолуч,КВРПолуч,КЭСРПолуч,СубКЭСРПолуч,МероприятиеПолуч,ИсточникВнутрФинансированияПолуч,КодДоходаПолуч,БюджОбязПолуч,Сумма | ПЕРЕМ | |, |{КФСРПолуч}|{КВСРПолуч}|{КЦСРПолуч}|{КВРПолуч}|{КЭСРПолуч}|{СубКЭСРПолуч}|{МероприятиеПолуч}|{ИсточникВнутрФинансированияПолуч}|{КодДоходаПолуч}|{БюджОбязПолуч}|{Сумма}}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="ПостояннаяКлассификация">{|(|{Разбить2 | Деталь | КФСРПолуч,КВСРПолуч,КЦСРПолуч,КВРПолуч,КЭСРПолуч,СубКЭСРПолуч,МероприятиеПолуч,ИсточникВнутрФинансированияПолуч,КодДоходаПолуч,БюджОбязПолуч,Сумма | ПОСТ | |, |{КФСРПолуч}|{КВСРПолуч}|{КЦСРПолуч}|{КВРПолуч}|{КЭСРПолуч}|{СубКЭСРПолуч}|{МероприятиеПолуч}|{ИсточникВнутрФинансированияПолуч}|{КодДоходаПолуч}|{БюджОбязПолуч}|{Сумма}}|)}{| |&lt;Заголовок.ПримечаниеДеталь&gt;|}</value>
          <value type="3" name="Разбивка">{СКЛЕЙ|{||{ПостояннаяКлассификация}| -{БСУМ|&lt;Заголовок.Сумма&gt;|-|=}}| В том числе:\n|{ПеременнаяКлассификация}}</value>
          <value type="3" name="СубКЭСРПолуч">&amp;{@ТРИМ|Суб КЭСР:|&lt;СубКЭСРПолуч&gt;|СубКЭСР.Код,@%d(0000000)|}</value>
          <value type="3" name="Сумма"> - &amp;{БСУМ|&lt;Сумма&gt;|-|=}</value>
          <value type="3" name="Формат">{ТРИМВНУТР|\nЗачислено на лицевой счет {@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)} {Разбивка}}</value>
          <param value="БюджОбязПолуч" type="3" name="version">36.052.00</param>
          <param value="БюджОбязПолуч" type="3" name="crc32">$858824FB</param>
          <param value="ИсточникВнутрФинансированияПолуч" type="3" name="version">36.052.00</param>
          <param value="ИсточникВнутрФинансированияПолуч" type="3" name="crc32">$046EC9C4</param>
          <param value="КВРПолуч" type="3" name="version">36.052.00</param>
          <param value="КВРПолуч" type="3" name="crc32">$61BD1959</param>
          <param value="КВСРПолуч" type="3" name="version">36.052.00</param>
          <param value="КВСРПолуч" type="3" name="crc32">$4C317FD5</param>
          <param value="КодДоходаПолуч" type="3" name="version">36.052.00</param>
          <param value="КодДоходаПолуч" type="3" name="crc32">$1E771402</param>
          <param value="КФСРПолуч" type="3" name="version">36.052.00</param>
          <param value="КФСРПолуч" type="3" name="crc32">$E57D821C</param>
          <param value="КЦСРПолуч" type="3" name="version">36.052.00</param>
          <param value="КЦСРПолуч" type="3" name="crc32">$64178496</param>
          <param value="КЭСРПолуч" type="3" name="version">36.052.00</param>
          <param value="КЭСРПолуч" type="3" name="crc32">$83CE36A4</param>
          <param value="МероприятиеПолуч" type="3" name="version">36.052.00</param>
          <param value="МероприятиеПолуч" type="3" name="crc32">$86F043EE</param>
          <param value="ПеременнаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПеременнаяКлассификация" type="3" name="crc32">$B57F562E</param>
          <param value="ПостояннаяКлассификация" type="3" name="version">36.052.00</param>
          <param value="ПостояннаяКлассификация" type="3" name="crc32">$0A750FA9</param>
          <param value="Разбивка" type="3" name="version">36.052.00</param>
          <param value="Разбивка" type="3" name="crc32">$E364D97F</param>
          <param value="СубКЭСРПолуч" type="3" name="version">36.052.00</param>
          <param value="СубКЭСРПолуч" type="3" name="crc32">$1911ECB2</param>
          <param value="Сумма" type="3" name="version">36.052.00</param>
          <param value="Сумма" type="3" name="crc32">$07C647D4</param>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$3B5DE658</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$B74E7216</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПлат&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$BA30FEC1</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат" />
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$00000000</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат" />
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$00000000</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|ИНН {@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН} {@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя} - {@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Имя} ({@|&lt;Заголовок.ЛицСчетПлательщика&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)})}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$7F10CEA3</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Вариант00">
        <value type="3" name="Критерии" />
        <node path="Счет">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.СчетВБанке.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$95280FC4</param>
        </node>
        <node path="НаименованиеБанка">
          <value type="3" name="Формат">{@|&lt;Заголовок.СчетПолуч&gt;|Р/с.Банк.Имя}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$239C0FDB</param>
        </node>
        <node path="ИНН">
          <value type="3" name="Формат" />
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$00000000</param>
        </node>
        <node path="КПП">
          <value type="3" name="Формат" />
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$00000000</param>
        </node>
        <node path="Наименование">
          <value type="3" name="Формат">{ТРИМВНУТР|ИНН {@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.ОрганизацияВладелец.ИНН} {@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.ОрганизацияВладелец.Имя} - {@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Имя} ({@|&lt;Заголовок.ЛицСчетПолучателя&gt;|Лицевой_Счет.Код,@%d(000.00.000.0)})}</value>
          <param value="Формат" type="3" name="version">36.052.00</param>
          <param value="Формат" type="3" name="crc32">$99DF20E9</param>
        </node>
        <param value="Критерии" type="3" name="version">36.052.00</param>
        <param value="Критерии" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="Системный" type="3" name="version">36.052.00</param>
  </node>
  <version_info>
    <file>Сборка(01)Своды.xml</file>
    <version>36.042.118</version>
    <info>&lt;p&gt;Сводные отчеты. Они берут данные из нескольких блоков данных (алгоритмов)&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:20</buildtime>
  </version_info>
  <description>Новые отчеты. Своды</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1010100</V>
            <V N="Name">Состояние лс (мес смета)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.01.01) Состояние лс(мес.смета).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевого счета.
Предназначен для контроля операций по конкретному лицевому счету.
Применяется теми, кто использует месячную роспись в качестве месячных лимитов.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Уточненная смета месяца - сумма помесячной росписи с учетом уведомлений 
  с начала года по текущий месяц включительно
Остаток средств на начало месяца - остаток на лс на 1 число месяца.
Открытое финансирование за месяц - зачисления на лс
расход за месяц - предполагаемый расход с лс</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1010300</V>
            <V N="Name">Состояние лс (кварт.смета)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.01.03) Состояние лс(кварт.смета).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевого счета.
Предназначен для контроля операций по конкретному лицевому счету.
Применяется теми, кто использует в качестве лимитов квартальную роспись.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Уточненная смета месяца - сумма поквартальной росписи с учетом уведомлений с начала года 
   по текущий квартал включительно.
Остаток средств на начало месяца - остаток на лс на 1 число месяца.
Открытое финансирование за месяц - зачисления на лс
расход за месяц - предполагаемый расход с лс</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1010400</V>
            <V N="Name">Состояние лс (мес.лимит)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.01.04) Состояние лс(мес.лимит).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевого счета.
Предназначен для контроля операций по конкретному лицевому счету.
Применяется теми, кто использует месячные лимиты казначейства.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Лимит месяца - лимит на этот месяц с учетом уведомлений.
Остаток средств на начало месяца - остаток на лс на 1 число месяца.
Открытое финансирование за месяц - зачисления на лс
расход за месяц - предполагаемый расход с лс
Кроме текущего остатка лимита, отображается остаток лимита с учетом остатка открытого финансирования 
  на начало месяца.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1020100</V>
            <V N="Name">Состояние лс сводное (мес.смета)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.02.01) Состояние лс сводное(мес.смета).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевого счета сводное.
Предназначен для контроля операций по всем лицевым счетам либо по группе счетов.
Применяется теми, кто использует месячную роспись в качестве месячных лимитов.
Строится в разрезе лицевых счетов 
 с подведением промежуточных итогов по главным распорядителям и конкретным лицевым счетам.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Уточненная смета месяца - сумма помесячной росписи с учетом уведомлений 
  с начала года по текущий месяц включительно
Остаток средств на начало месяца - остаток на лс на 1 число месяца.
Открытое финансирование за месяц - зачисления на лс
расход за месяц - предполагаемый расход с лс</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1020300</V>
            <V N="Name">Состояние лс сводное (кварт.смета)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.02.03) Состояние лс сводное(кварт.смета).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевого счета сводное.
Предназначен для контроля операций по всем лицевым счетам либо по группе счетов.
Применяется теми, кто использует в качестве лимитов квартальную роспись.
Строится в разрезе лицевых счетов 
 с подведением промежуточных итогов по главным распорядителям и конкретным лицевым счетам.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Уточненная смета месяца - сумма поквартальной росписи с учетом уведомлений с начала года 
   по текущий квартал включительно.
Остаток средств на начало месяца - остаток на лс на 1 число месяца.
Открытое финансирование за месяц - зачисления на лс
расход за месяц - предполагаемый расход с лс</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1020400</V>
            <V N="Name">Состояние лс сводное (мес.лимит)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.02.04) Состояние лс сводное(мес.лимит).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевого счета сводное.
Предназначен для контроля операций по всем лицевым счетам либо по группе счетов.
Применяется теми, кто использует месячные лимиты казначейства.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Лимит месяца - лимит на этот месяц с учетом уведомлений.
Остаток средств на начало месяца - остаток на лс на 1 число месяца.
Открытое финансирование за месяц - зачисления на лс
расход за месяц - предполагаемый расход с лс
Кроме текущего остатка лимита, отображается остаток лимита с учетом остатка открытого финансирования 
  на начало месяца.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1020500</V>
            <V N="Name">Состояние лс сводное (нараст.)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.02.05) Состояние лс сводное(нарастающий).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние л/с. Считается нарастающий итог, т.е. все суммы высчитываются за период с начала года 
по дату формирования отчета.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1020600</V>
            <V N="Name">Состояние лс сводное (кварт.смета+месЛимиты)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.02.06) Состояние лс сводное(кварт.смета+МесЛимиты).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевого счета сводное.
Предназначен для контроля операций по всем лицевым счетам либо по группе счетов.
Применяется теми, кто использует в качестве лимитов квартальную роспись.
Строится в разрезе лицевых счетов 
 с подведением промежуточных итогов по главным распорядителям и конкретным лицевым счетам.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Уточненная смета месяца - сумма поквартальной росписи с учетом уведомлений с начала года 
   по текущий квартал включительно.
Остаток средств на начало месяца - остаток на лс на 1 число месяца.
Открытое финансирование за месяц - зачисления на лс
расход за месяц - предполагаемый расход с лс
дополнительно выводится информация по месячным лимитам казначейства: лимит тек месяца+лимит с начала года и остаток лимита</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1030100</V>
            <V N="Name">Состояние лс за период</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,Бухпроводка,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.03.01) Состояние лс за период.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет позволяет сформировать данные обо всех операциях по л/с за указаный период (за исключением 
классического финансирования). Данные группируются по КВР, КЭСР, типу финансирования и источнику 
финансирования. По КЭСР подводятся промежуточные итоги.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1040100</V>
            <V N="Name">Операции по лс за период</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,УчетКазн,УчетФин,ВклДокументыВыбор,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаРеестраТип,ДатаВводаТип,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,НомерДокИсточн,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ТипПлатДок,Район,ТипСредствБюдж,ПричинаОтклон,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,Сумма,ВыводОграничений,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.04.01) Операции по лс за период.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет позволяет сформировать данные о нереестровых операциях по л/с за указаный период 
(приход и расход) и неденежном финансировании.
Данные группируются по КВСР, КЦСР, КФСР, КВР и КЭСР
По КЭСР подводятся промежуточные итоги.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1060100</V>
            <V N="Name">Справка о финансировании и кас.расх.</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,Даты,Месяц,Год,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,Район,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.06.01) Справка о финансировании и кассовых расходах.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Справка о финансировании и кассовых расходах получателей средсв бюджета</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1070100</V>
            <V N="Name">Оборотная ведомость по касс расходам</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,УчетКазн,УчетФин,УчетМесОтч,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,ФинТипы,ТипДеятельности,ТипКлассификацииРасх,Организация,ИНН,Наимен</V>
            <V N="Template">(01.07.01) Оборотная ведомость по кассовым расходам.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Оборотная ведомость по кассовым расходам получателей
бюджетных средств. Информация берется из казначейства,
финансирования и месячных отчетов организаций. 
Сведение информации происходит по организациям следующим образом:
Лиц счет в казначействе обобщается до первых трех символов (ГРК)
и по нему получается организация-владлец. В финансировании и кассовых 
расходах организация берется из расчетного счета получателя 
(подотчетной организации)</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1070200</V>
            <V N="Name">Оборотная ведомость по счетам распорядителей</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,УчетФин,УчетМесОтч,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,ФинТипы,ТипДеятельности,ТипКлассификацииРасх,Организация,ИНН,Наимен</V>
            <V N="Template">(01.07.02) Оборотная ведомость по счетам распорядителей.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Оборотная ведомость по распорядителям
бюджетных средств. Информация берется из 
финансирования и месячных отчетов организаций.</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1070400</V>
            <V N="Name">Исполнение бюджета по ГРБС в соответствие с кассовым планом</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,УчетКазн,УчетФин,ОднаДата,Даты,Квартал,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,ФинТипы,ТипДеятельности,ТипКлассификации,РасхТипКлс,ИстТипКлс,Организация,ИНН,Наимен,ГиперДокумент</V>
            <V N="Template">(01.07.04) Исполнение бюджета по ГРБС в соответствие с кассовым планом.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Исполнение бюджета с учетом казначейства по финансированию</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1080100</V>
            <V N="Name">Оборотная ведомость по расходам бюджета</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,Месяц,Год,Классификаторы,БухОперация,Район,ФинТипы,ТипДеятельности,ТипКлассификацииРасх</V>
            <V N="Template">(01.08.01) Оборотная ведомость по расходам бюджета.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Оборотная ведомость по расходам бюджета. Считаются обороты по финансированию и месячным 
отчетам организаций на начало, конец и за указанный месяц.</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1090100</V>
            <V N="Name">Исполнение бюджета по ПБС в соответствие с кассовым планом по ПБС</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,УчетКазн,УчетФин,ОднаДата,Даты,Квартал,Классификаторы,БухОперация,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,ФинТипы,ТипДеятельности,ТипКлассификации,РасхТипКлс,ИстТипКлс,Организация,ИНН,Наимен,ГиперДокумент</V>
            <V N="Template">(01.09.01) Исполнение бюджета по ПБС в соответствие с КП по ПБС.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Исполнение бюджета по ПБС в соответствии с КП по ПБС</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1110100</V>
            <V N="Name">Форма № 3. Карточка р/к</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,Месяц,Год,Классификаторы,БухОперация,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,ФинТип,ТипДеятельности,ТипКлассификацииРасх,Организация,ИНН,КПП,Наимен,РС</V>
            <V N="Template">(01.11.01) Форма№3.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Карточка распорядителей кредитов. Берутся данные по бюджетной росписи, месячным отчетам организаций
и финансированию за указанный месяц.</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1120100</V>
            <V N="Name">Форма № 8. Справка о финансировании и кассовых расходах</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,Месяц,Год,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,Район,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,Организация,ИНН,КПП</V>
            <V N="Template">(01.12.01) Форма №8 в разрезе лс.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Справка о финансировании и кассовых расходах получателей бюджетных средств. Выбираются
данные по финансированию, казначейству и месячным отчетам за указанный месяц.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1120200</V>
            <V N="Name">Форма № 8. Справка о финансировании и кассовых расходах в разрезе расчетных счетов</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,Месяц,Год,Классификаторы,БухОперация,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,ТипСредствБюдж,КодЦелевыхСредств,ФинТипы,ТипДеятельности,ТипКлассификацииРасх,Организация,ИНН,КПП,РС</V>
            <V N="Template">(01.12.02) форма № 8. справка о финансировании и кассовых расходах.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Справка о финансировании и кассовых расходах получателей бюджетных средств. Выбираются
данные по финансированию, казначейству и месячным отчетам за указанный месяц.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1150100</V>
            <V N="Name">Справка о ежедневном финансировании</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,РСФО,УчетКазн,УчетФин,Даты,Месяц,Год,Классификаторы,БухОперация,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,Район,ФинИсточники,ФинТипы,ТипДеятельности,ТипКлассификацииРасх,ГиперДокумент</V>
            <V N="Template">(01.15.01) Справка о ежедневном фин-е.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Справка о ежедневном финансировании за указанный месяц. Данные берутся из финансирования и 
казначейства.</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <V N="CLS">1200100</V>
          <V N="Name">Сводный отчет по доходам и расходам в разрезе лс</V>
          <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,ЛицСчет,ТипСредствБюдж,КодДохода,Слой,ТипДеятельности,ТипКлассификацииРасх</V>
          <V N="Template">(01.20.01) Сводный отчет по доходам и расходам в разрезе лс.xlc</V>
          <V N="Generation">Алгоритмы</V>
          <V N="Options">0</V>
          <V N="Note">Отчет, позволяещий сводить доходы и расходы по л/с в разрезе типа средств.</V>
          <V N="OptionsPath" />
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1200200</V>
            <V N="Name">Справка о расходах-доходах по лс</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,ЛицСчет,КодДохода,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ГиперДокумент</V>
            <V N="Template">(01.20.02) Справка о расходах-доходах по лс.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">В отчет попадают данные документов, отражающих доходы организаций, 
данные зачисления средств на лицевые счета организаций и данные платежных документов.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1210100</V>
            <V N="Name">Исполнение бюджета по доходам</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ОднаДата,Классификаторы,ЛицСчет,БухОперация,Мероприятие,КодДохода,Слой,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ЕдиницыИзмерения</V>
            <V N="Template">(01.21.01) исполнение бюджета по коду дохода.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет предназначен для сведения плана и факта доходов на указанную дату в разрезе кода доходов. Суммы выводятся как по месяцам
и кварталам, так и за полугодие, 9 месяцев и год. Сами доходы выводятся на указанную дату.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1220100</V>
            <V N="Name">Карточка учета средств от предпринимательской деятельности</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,УчетКазн,УчетФин,Даты,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,Классификаторы,БухОперация,ЛицСчет,КЭСР,Мероприятие,КодДохода,Слой,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,Организация,ИНН,КПП,Наимен,РС</V>
            <V N="Template">(01.22.01) Карточка учета средств от предпр. деятельности(форма №18).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отображает доходы, расходы по финансированию и казначейству, в разрезе организаций-плательщиков, с подведением
итогов по месяцам.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1020700</V>
            <V N="Name">Состояние л\с, открытых в УФК</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Даты,ТипДатыУнивер,ДатаРеестраТип,ДатаПринятияТип,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,ТипСредствБюдж,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.02.07) Состояние лс открытых в УФК сводное(нарастающий).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевых счетов, открытых в УФК
Предназначен для контроля операций по всем лицевым счетам либо по группе счетов в УФК.
Строится в разрезе лицевых счетов 
 с подведением промежуточных итогов по главным распорядителям.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Для правильного учета объемы финансирования должны вводиться на р\м обмен с УФК, а ЛБО на росписи расходов, источников</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1020800</V>
            <V N="Name">Остатки средств распорядителей в УФК</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,КазнРС,ОднаДата,Даты,ТипДатыУнивер,ДатаРеестраТип,ДатаПринятияТип,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,ТипСредствБюдж,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ПринятыеРеестры,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(01.02.08) Остатки средств распорядителей в УФК.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет состояние лицевых счетов, открытых в УФК
Предназначен для контроля операций по всем лицевым счетам либо по группе счетов в УФК.
Строится в разрезе лицевых счетов 
 с подведением промежуточных итогов по главным распорядителям.
Отчет является реестровым, т.е. учитывается предполагаемый приход и расход.
Для правильного учета объемы финансирования должны вводиться на р\м обмен с УФК, а ЛБО на росписи расходов, источников</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1260100</V>
            <V N="Name">Ведомость по кассовым поступлениям (за период)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,КодДохода,ТипСредствБюдж,ИстВнутрФин,КодЦелевыхСредств,ТипДеятельности,ГиперДокумент</V>
            <V N="Template">(01.26.01) Ведомость по кассовым поступлениям (за период).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1260200</V>
            <V N="Name">Ведомость по кассовым поступлениям (месячная)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,РСФО,Даты,Месяц,Год,Классификаторы,БухОперация,КодДохода,ТипСредствБюдж,ИстВнутрФин,КодЦелевыхСредств,ТипДеятельности,ГиперДокумент</V>
            <V N="Template">(01.26.02) Ведомость по кассовым поступлениям (месячная).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1310100</V>
            <V N="Name">Кассовый план исполнения бюджета</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ОднаДата,Классификаторы,БухОперация,ТипДеятельности,ТипКлассификацииРасх,ЕдиницыИзмерения</V>
            <V N="Template">(01.31.01) Кассовый план исполнения бюджета.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1320100</V>
            <V N="Name">Уведомление о кассовом плане (доходы и источники)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,КодДохода,ТипСредствБюдж,ИстВнутрФин,КодЦелевыхСредств</V>
            <V N="Template">(01.32.01) Уведомление о кассовом плане (доходы и источники).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1070300</V>
            <V N="Name">Исполнение бюджета по ГРБС в соответствие со сводной бюджетной росписью</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,УчетКазн,УчетФин,ОднаДата,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,ФинТипы,ТипДеятельности,ТипКлассификации,РасхТипКлс,ИстТипКлс,Организация,ИНН,Наимен,ГиперДокумент</V>
            <V N="Template">(01.07.03) Исполнение бюджета по ГРБС в соответствие с СБР.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Исполнение бюджета с учетом казначейства по СБР</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1090200</V>
            <V N="Name">Исполнение бюджета по ПБС в соответствие с БР ГРБС</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,УчетКазн,УчетФин,ОднаДата,Классификаторы,БухОперация,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,ФинТипы,ТипДеятельности,ТипКлассификации,РасхТипКлс,ИстТипКлс,Организация,ИНН,Наимен,ГиперДокумент</V>
            <V N="Template">(01.09.02) Исполнение бюджета по ПБС в соответствие с БР ГРБС.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Исполнение бюджета по ПБС в соответствии с БР ГРБС</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1330100</V>
            <V N="Name">Сводный отчет о поступлении целевых средств</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Template">(01.33.01) Свод о поступлении целевых средств.xlc</V>
            <V N="Params">МультиБюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,РСФО,ОднаДата,Классификаторы,КодЦелевыхСредств,ТипДеятельности,ЕдиницыИзмерения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1340100</V>
            <V N="Name">Отчет о передаче целевых средств в разрезе районов</V>
            <V N="Params">МультиБюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,РСФО,ОднаДата,Классификаторы,Район,ТипСредствБюдж,КодЦелевыхСредств,ЕдиницыИзмерения</V>
            <V N="Template">(01.34.01) Отчет о передаче целевых средств (по районам).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1350100</V>
            <V N="Name">Поиск документов с закрытыми операциями</V>
            <V N="Params">Бюджет,ОднаДата</V>
            <V N="Template">(01.35.01) Поиск документов с закрытыми операциями.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">0</V>
            <V N="Note">Отчет показывает документы с закрытыми операциями</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1350200</V>
            <V N="Name">Поиск документов по атрибутам</V>
            <V N="Params">Бюджет,РСФО,ИндексАлгоритма,УчетКазн,УчетПланРас,Доходы,УведомленияОбУточнении,Примечание,ТипПримечания,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаВводаТип,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Направление,Мероприятие,КодДохода,КодДоходаАдм,КодДоходаВид,КодДоходаЭК,ТипСредствБюдж,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,ВидОргВладельцаЛС,КодСубсидии,КодЦелевыхСредств,ТипКлассификации,РасхТипКлс,ИстТипКлс,ДохТипКлс,ОргПостав,ПоставИНН,ПоставКПП,ПоставНаимен,ПоставРС,Сумма,ТипСуммы,Характер_ЛС,лс_ГРБС,лс_ПБС,лс_БУ_АУ,лс_ОтдельныйБУ_АУ,лс_ПоПереданнымПолномочиям,лс_БУ_АУ_ОтдельныйБУ_АУ,лс_ОМС</V>
            <V N="Template">(01.35.02) Поиск документов по атрибутам.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет находит документы с указанными атрибутами</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1021000</V>
            <V N="Name">Сводное состояние лицевых счетов БУ, АУ, ОМС</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ТипСредствБюдж,ГиперДокумент,Характер_ЛС,лс_БУ_АУ,лс_ОМС</V>
            <V N="Template">(01.02.10) Сводное состояние лс БУ, АУ, ОМС.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1021200</V>
            <V N="Name">Сводное состояние отдельных лицевых счетов БУ, АУ</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ТипСредствБюдж,КодСубсидии,ГиперДокумент</V>
            <V N="Template">(01.02.12) Сводное состояние отдельных лс БУ, АУ.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.118</param>
  </node>
  <version_info>
    <file>Сборка(02)ПланРасходов.xml</file>
    <version>36.042.195</version>
    <info>&lt;p&gt;Отчеты по расходной части бюджета&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:23</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Бюджет">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыРоспись.abl";

АлгоритмБюджет(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Раскладка : ITableInfoX;
  Данные : СтатическиеДанные;
  
константы
  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';   
  
функция ВыполнитьСекцииРосп(данные:статическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингРоспись, МаппингСекции, МаппингЗначимыхПолей,МаппингЗначимыхПолейГод: строка;
  ВыбиратьДоходы,ВыбиратьРасходы,ВыбиратьИсточники: целое;
  ОграниченияПоДатам: IDataLimit;
  МаппингГиперТекст,ГруппыГодовыхСумм,ГруппыНеГодовыхСумм,ОгрТипКлс : Строка;
начало
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  Если (Не НадоВыполнятьАлгоритм(2, ЛокКоллекция)) и (не НадоВыполнятьАлгоритм(19, ЛокКоллекция)) тогда выход;
  если не((ЛокКоллекция.Values("УчетПланРасЧек")=да)или(ЛокКоллекция.Values("УчетПланРасЧек")="")
    или(ЛокКоллекция.Values("УчетПланЗаимЧек")=да)или(ЛокКоллекция.Values("УчетПланЗаимЧек")="")) тогда выход;
  // Если задано ограничение по Организации-поставщику, тогда алгоритм выполнять не нужно
  если (ЛокКоллекция.ПараметрСуществует("ПоставОргСсылка") и (ЛокКоллекция.Значение("ПоставОргСсылка") &lt;&gt; "")) тогда
    выход;
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст; 
  
  ПостоянныйМаппингРоспись := FixPumpMapEx(РосписьВернутьМаппингПереносаПолей ,Раскладка);

  Данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные;
  // по умолчанию выбираем только ЛБО
  если (не ЛокКоллекция.ПараметрСуществует("ВыбиратьАссигнования")) и (не ЛокКоллекция.Values("ПечатныйДокумент")) тогда
    ЛокКоллекция.Values("ВыбиратьАссигнования") := 0;
  // если в параметрах ограничений задана только одна дата, то за начало периода берем начало года 
  если не ЛокКоллекция.ПараметрСуществует("ВариантНачалаПериода") тогда
    ЛокКоллекция.Values("ВариантНачалаПериода"):="3";
  // поддержка вывода печатных документов  
  если ЛокКоллекция.Values("ПечатныйДокумент") = да тогда
  начало
    ЛокКоллекция.Values("ТипОгрДата") := 0;
    ЛокКоллекция.Values("ТипДатыУнивер") := 0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);

  // автоопределение типа классификации в случае, если он не задан явно
  если не (ЛокКоллекция.ПараметрСуществует("ТипКлассификацииРасх") или ЛокКоллекция.ПараметрСуществует("ТипКлассификации")) тогда
  начало
    ОгрТипКлс := '';
    ВыбиратьРасходы := (ЛокКоллекция.Values("УчетПланРасЧек")=да)или((не ЛокКоллекция.Значение(кПарамГиперТекст))и НадоВыполнятьАлгоритм(2, ЛокКоллекция));
    ВыбиратьИсточники := (ЛокКоллекция.Values("УчетПланЗаимЧек")=да)или((не ЛокКоллекция.Значение(кПарамГиперТекст))и НадоВыполнятьАлгоритм(19, ЛокКоллекция));
    ВыбиратьДоходы := (ЛокКоллекция.Values("УчетПланДохЧек")=да)или((не ЛокКоллекция.Значение(кПарамГиперТекст))и НадоВыполнятьАлгоритм(22, ЛокКоллекция));
    // если тип классификации автоопределить не удалось, то для совместимости по умолчанию выбираем только расходы и источники
    если не ВыбиратьРасходы и не ВыбиратьИсточники и не ВыбиратьДоходы тогда
      ОгрТипКлс := '0,1'
    иначе
      // если должны выбираться все типы классификации, то ограничения не накладываем
      если ВыбиратьРасходы и ВыбиратьИсточники и ВыбиратьДоходы тогда
        ОгрТипКлс := ''
      иначе // выбираем указанные
      начало
        если ВыбиратьРасходы тогда ОгрТипКлс := '0';
        если ВыбиратьИсточники тогда если ОгрТипКлс='' тогда ОгрТипКлс := '1' иначе ОгрТипКлс := ОгрТипКлс+',1';
        если ВыбиратьДоходы тогда если ОгрТипКлс='' тогда ОгрТипКлс := '2' иначе ОгрТипКлс := ОгрТипКлс+',2';
      конец;
    ЛокКоллекция.Значение("ТипКлассификации") := ОгрТипКлс;    
  конец
  иначе // тип классификации указан явно
    начало
      // Если указан и ТипКлассификации и ТипКлассификацииРасх, то приоритетнее является ТипКлассификации. 
      если не ЛокКоллекция.ПараметрСуществует("ТипКлассификации") тогда
        ЛокКоллекция.Значение("ТипКлассификации") := ЛокКоллекция.Значение("ТипКлассификацииРасх");
      ЛокКоллекция.Delete("ТипКлассификацииРасх"); //Менее приоритетный параметр для упрощения обработки удаляем. 
    конец;

  // последовательно выполняем секции уведомлений

  //Секция 0. Кассовый план(поквартальный или(и) помесячный), годовые суммы бюджетной росписи за период. Период может быть как
  // "С" и "По", так и с начала года по указанную дату включительно, в зависимости от параметров
  МаппингЗначимыхПолей:=РосписьВернутьМаппингПереносаЗначимыхПолей('КассовыйПланЗаПериод');
  МаппингЗначимыхПолейГод:=РосписьВернутьМаппингПереносаЗначимыхПолей('ТрехлетняяРосписьЗаПериод');
  Если ВыполнятьСекцию(данные, ВернутьСписокИмен(МаппингЗначимыхПолей+','+МаппингЗначимыхПолейГод))тогда 
  начало
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("КоментарийСекции") := 'Росп.0.Поквартальный(помесячный)кассовый план, годовые суммы бюджетной росписи за период.';
    ЛокКоллекция.Значение("ДопКомментарийСекции") := #13#10+
    '(Индексы данных по ГРБС 261- КП расходы, 265-КП источники; 260-СБР расходы, 264-СБР источники)'+#13#10+
    '(Индексы данных по ПБС 268-КП по ПБС расходы, 271-КП по ПБС источники; 32-БР расходы 215-БР источники; 262-смета по ПД расходы; 266-смета по ПД источники)';

    //поддержка совместного ведения данных в разрезе ГРБС и в разрезе ПБС на одном интерфейсе в случае, если выдедление уровней явно не указано
    если не ЛокКоллекция.ПараметрСуществует("УровеньПлановыхДокументов") тогда
    начало
    // если выбираются только данные по ГРБС (СБР или КП)
    если (ЛокКоллекция.Значение("ГруппаПлановыхДокументов")="2")или
      (ЛокКоллекция.Значение("ГруппаПлановыхДокументов")="1")или
      (ЛокКоллекция.Значение("ГруппаПлановыхДокументов")="1,2")или
      (ЛокКоллекция.Значение("ГруппаПлановыхДокументов")="2,1")тогда // СБР или КП
      если ПолучитьКонстантуКэш("СовместимостьВеденияПлановыхПоказателей", 32, 27, 0)='2' тогда
      // СБР(КП) может вестись в интерфейсе БР ГРБС,ГАИФ(ПОФ по ПБС,АИФ, помесячном ПОФ)(02.01, 02.06, 19.02, 19.06, 02.08). 
      // При этом интерфейс СБР(КП) должен быть помечен, как неиспользуемый
      // Тогда ГРБСов нужно выделять от ПБСов уровнем документов
        ЛокКоллекция.Значение("УровеньПлановыхДокументов"):=1
      иначе   // на ГРБС
      // поддержка возможности ведения на интерфейсе КП по доходам ГАДБ(22.01) сведений в разрезе АДБ      
      если (ЛокКоллекция.Значение("ГруппаПлановыхДокументов")="1") и не (ПолучитьКонстантуКэш("КП_Помесячно", 32, 13, 0) = "3") и ВыбиратьДоходы тогда 
        ЛокКоллекция.Значение("УровеньПлановыхДокументовДляКПпоДоходам"):=1; // на ГРБС       
    конец;
    
    если ПолучитьКонстантуКэш("ВводБРПОФпоПБСПоСамостоятельнымЛС", 32, 39, 0) = '1' тогда //ввод по самостоятельным лс на БР(КП по ПБС) разрешен
      если ((Позиция("2",ЛокКоллекция.Значение("ГруппаПлановыхДокументов"))&gt;0) или (Позиция("1",ЛокКоллекция.Значение("ГруппаПлановыхДокументов"))&gt;0)) и
        ((Позиция("3",ЛокКоллекция.Значение("ГруппаПлановыхДокументов"))&gt;0) или (Позиция("0",ЛокКоллекция.Значение("ГруппаПлановыхДокументов"))&gt;0)) тогда
        ВызватьОшибку("Невозможно задание групп плановых документов разных уровней при установленной константе, разрешающей ввод БР (ПОФ по ПБС) по самостоятельным л/с");

    // Бюджетные средства, предпринимательские , средства без права расходования
    // если явно не указано что выбирать, то выбираем только бюджетные средства
    // Не ограничиваем по Типу деятельности , так как при включении предпринималки в состав бюджета эти сведения должны попадать в бюджетную отчетность.
    // если же предпринималка не включена в состав бюджета, то по умолчанию эти данные в отчеты не попадут.
    если (не ЛокКоллекция.ПараметрСуществует("ТипДеятельности")) и (не ЛокКоллекция.ПараметрСуществует("ВидДеятельности"))
      и (ЛокКоллекция.Values("ПечатныйДокумент") &lt;&gt; да) и (ЛокКоллекция.Values("БюджетныйКонтроль") &lt;&gt; да) тогда
      ЛокКоллекция.Значение("ВидДеятельности") := 1;  // по умолчанию только бюджетные средства.

    если не ЛокКоллекция.ПараметрСуществует("ГруппаПлановыхДокументов")и не ЛокКоллекция.ПараметрСуществует("ИндексыДанных") тогда
    начало
      ГруппыНеГодовыхСумм := '';
      // если есть только колонки кассового плана(или ПОФ), то выбираем группы документов кассового плана (кассовый план (1),ПОФ по ПБС(0))
      если ВыполнятьСекцию(данные, ВернутьСписокИмен(МаппингЗначимыхПолей)) тогда
        если ЛокКоллекция.Значение("УровеньПлановыхДокументов")=1 тогда // если нужны только документы по ГРБС
          ГруппыНеГодовыхСумм := "1"  //тогда берем только документы интерфейса Кассовый план
        иначе   // иначе берем и документы кассового плана и ПОФ по ПБС (для поддержки л\с с характером "Самостоятельное учреждение")
          если ПолучитьКонстантуКэш("ВводБРПОФпоПБСПоСамостоятельнымЛС", 32, 39, 0) = '1' тогда //если разрешен ввод по самостоятельным лс на БР(ПОФ по ПБС),
          начало
            если ЛокКоллекция.Значение("ВидДеятельности") = 1 тогда
              ГруппыНеГодовыхСумм := "0"  // то КП (1) следует исключить и взять только ПОФ по ПБС(0)
            иначе
              ГруппыНеГодовыхСумм := "0,5";  // то КП (1) следует исключить и взять только ПОФ по ПБС(0) и для совместимости сметы по ПД (5)
            если не (ПолучитьКонстантуКэш("КП_Помесячно", 32, 13, 0) = "3") и ВыбиратьДоходы тогда 
              ЛокКоллекция.Значение("УровеньПлановыхДокументовДляКПпоДоходам"):=0; // Из КП возьмем доходы, так как для них парного интерфейса ПОФ нет и дублирования не будет
          конец  
          иначе
            если ЛокКоллекция.Значение("ВидДеятельности") = 1 тогда
              ГруппыНеГодовыхСумм := "0,1"  // выбираем ПОФ по ПБС(0) и КП (1)
            иначе
              ГруппыНеГодовыхСумм := "0,1,5";  // для совместимости вместе с ПОФ по ПБС(0), КП (1) выбираем и сметы по ПД (5)
          
      // если есть колонки росписи, то выбираем роспись (БР ГРБС(3) и СБР(2))
      ГруппыГодовыхСумм := '';
      если ВыполнятьСекцию(данные, ВернутьСписокИмен(МаппингЗначимыхПолейГод)) тогда
      начало
        если ЛокКоллекция.Значение("УровеньПлановыхДокументов")=1 тогда // если нужны только документы по ГРБС
          ГруппыГодовыхСумм :=  "2"  //тогда берем только документы интерфейса СБР
        иначе    
          если ПолучитьКонстантуКэш("ВводБРПОФпоПБСПоСамостоятельнымЛС", 32, 39, 0) = '1' тогда //если разрешен ввод по самостоятельным лс на БР(КП по ПБС),
            ГруппыГодовыхСумм := "3"  // то СБР (2) следует исключить и взять только БР (3)
          иначе
            ГруппыГодовыхСумм :=  "2,3"; // берем документы и СБР и БР ГРБС (для поддержки л\с с характером "Самостоятельное учреждение")
      конец;                                                                        
          
      // если есть только колонки росписи, то выбираем только роспись (БР ГРБС(3) и СБР(2))  
      если ГруппыНеГодовыхСумм='' тогда
        ЛокКоллекция.Значение("ГруппаПлановыхДокументов") := ГруппыГодовыхСумм
     //иначе есть все колонки. Выбираем и роспись и кассовый план  
      иначе
        ЛокКоллекция.Значение("ГруппаПлановыхДокументов") := ГруппыНЕГодовыхСумм+','+ГруппыГодовыхСумм;

      // для того, чтобы не возникало замножение данных, накладываем ограничение по уровню (ПБС, ГРБС)
      // если уровень распределения не указан явно(ПБС, ГРБС) и не заданы явно группы плановых документов
      //, то выбираем только документы по ПБС, чтобы не возникало проблем с дублированием.
      если не ЛокКоллекция.ПараметрСуществует("УровеньПлановыхДокументов")тогда
        ЛокКоллекция.Значение("УровеньПлановыхДокументов"):=0; // ограничим по ПБС
//  Нижележащий код был предназначен для увеличения совместимости при переходе в 2007 году на 3-летний бюджет. Скорее всего, обеспечивать совместимость больше не требуется  
//      начало
        // определяем, возможно ли дублирование данных при вводе
        //дублирование возможно, если хотя бы на одном интерфейсе, участвующем в выборке одновременно ведутся данные и по ПБС(в т.ч. по самостоятельным) и по ГРБС
        // смотрим отдельно для расходов, источников и доходов

        // СБР(КП) ведется в интерфейсе БР ГРБС,ГАИФ(ПОФ по ПБС,АИФ, помесячном ПОФ)(02.01, 02.06, 19.02, 19.06, 02.08), распределение минусами не делается.
        // при этом СБР(КП) нужно выделять от БР(ПОФ) уровнем документов
//        если ПолучитьКонстантуКэш("СовместимостьВеденияПлановыхПоказателей", 32, 27, 0)='2' тогда
//          ЛокКоллекция.Значение("УровеньПлановыхДокументов"):=0 // ограничим по ПБС
//        иначе  
//          если ВыбиратьРасходы и ЕстьОдновременоеВедениеУровнейГРБСиПБС(0,ГруппыНеГодовыхСумм&lt;&gt;'',ГруппыГодовыхСумм&lt;&gt;'') тогда// для расходов
//            ЛокКоллекция.Значение("УровеньПлановыхДокументов"):=0 // ограничим по ПБС
//          иначе
//            если ВыбиратьИсточники и ЕстьОдновременоеВедениеУровнейГРБСиПБС(1,ГруппыНеГодовыхСумм&lt;&gt;'',ГруппыГодовыхСумм&lt;&gt;'') тогда// для источников
//              ЛокКоллекция.Значение("УровеньПлановыхДокументов"):=0 // ограничим по ПБС
//           иначе
//              если ВыбиратьДоходы и ЕстьОдновременоеВедениеУровнейГРБСиПБС(2,ГруппыНеГодовыхСумм&lt;&gt;'',0) тогда// для доходов
//                ЛокКоллекция.Значение("УровеньПлановыхДокументов"):=0; // ограничим по ПБС
//     конец;             
    конец; 
      
    МаппингСекции :=ПостоянныйМаппингРоспись+","+FixPumpMapEx(МаппингЗначимыхПолей+','+МаппингЗначимыхПолейГод,Раскладка);
       
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                            ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    // производим выборку данных
    ПолучитьРоспись(ДанныеОднойСекции,ЛокКоллекция);

    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  //Секция 1. Годовые суммы СБР за период. БР ГРБС не выбирается.  Период может быть как
  // "С" и "По", так и с начала года по указанную дату включительно, в зависимости от параметров 
  МаппингЗначимыхПолей:=РосписьВернутьМаппингПереносаЗначимыхПолей('ТрехлетняяСБРЗаПериод');
  Если ВыполнятьСекцию(данные, ВернутьСписокИмен(МаппингЗначимыхПолей)) тогда 
  начало
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("КоментарийСекции") := 'Росп.1. Годовые суммы СБР за период. БР ГРБС не выбирается.';
    ЛокКоллекция.Значение("ДопКомментарийСекции") := #13#10+'(Индексы данных 260-расходы, 264-источники)';
    // только СБР. Даже, если ГруппаПлановыхДокументов будет установлена извне, для этой секции она будет перекрыта
    ЛокКоллекция.Значение("ГруппаПлановыхДокументов") := "2"; 
    если ПолучитьКонстантуКэш("СовместимостьВеденияПлановыхПоказателей", 32, 27, 0)='2' тогда
    // СБР ведется в интерфейсе БР ГРБС, распределение минусами не делается.
    // при этом СБР нужно выделять от БР уровнем документов
      ЛокКоллекция.Значение("УровеньПлановыхДокументов"):=1; // на ГРБС
    МаппингСекции :=ПостоянныйМаппингРоспись+","+FixPumpMapex(МаппингЗначимыхПолей,Раскладка);  
       
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                            ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    // производим выборку данных
    ПолучитьРоспись(ДанныеОднойСекции,ЛокКоллекция);

    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;            

  //Секция 2. Годовые суммы Бюджета (на основании закона о бюджете) за период.  Период может быть как
  // "С" и "По", так и с начала года по указанную дату включительно, в зависимости от параметров
  МаппингЗначимыхПолей:=РосписьВернутьМаппингПереносаЗначимыхПолей('БюджетЗаПериод');  
  Если ВыполнятьСекцию(данные, ВернутьСписокИмен(МаппингЗначимыхПолей)) тогда 
  начало
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("КоментарийСекции") := 'Росп.2. Годовые суммы бюджета за период.';
    ЛокКоллекция.Значение("ДопКомментарийСекции") := #13#10+'(Индексы данных 263-расходы, 267-источники)';
    // только Бюджет. Даже, если ГруппаПлановыхДокументов будет установлена извне, для этой секции она будет перекрыта
    ЛокКоллекция.Значение("ГруппаПлановыхДокументов") := "6";  
    МаппингСекции :=ПостоянныйМаппингРоспись+","+FixPumpMapex(МаппингЗначимыхПолей,Раскладка);  
       
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                            ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    // производим выборку данных
    ПолучитьРоспись(ДанныеОднойСекции,ЛокКоллекция);

    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;            

  //Секция 3. УДАЛЕНА(устарело).   
  //Секция 4. Суммы подневного кассового плана              
  МаппингЗначимыхПолей:=РосписьВернутьМаппингПереносаЗначимыхПолей('ПодневныйКПЗаПериод');
  Если ВыполнятьСекцию(данные, ВернутьСписокИмен(МаппингЗначимыхПолей)) тогда 
  начало
    ЛокКоллекция.Values("КоментарийСекции") := 'Росп.4. Подневные суммы КП за период.';
//    ЛокКоллекция.Значение("ДопКомментарийСекции") := #13#10+'(Индексы данных )';

    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    если не ЛокКоллекция.Values("ПечатныйДокумент") тогда
      если СтрокаВЦелое(ЛокКоллекция.Values("Месяц")) &gt; 0 тогда
        ЛокКоллекция.Values("ПериодКП") := ЛокКоллекция.Values("Месяц");

    МаппингСекции :=ПостоянныйМаппингРоспись+","+FixPumpMapex(МаппингЗначимыхПолей,Раскладка);  
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                            ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    // производим выборку данных
    ПолучитьРоспись(ДанныеОднойСекции,ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

конец;
    
// ОСНОВНАЯ ЧАСТЬ  
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  // выбираем данные по секциям
  ВыполнитьСекцииРосп(данные, Ограничения);
конец.
</value>
    <param value="Бюджет" type="3" name="Export">MARAEVA7\baranova\17.10.2012 17:47:54</param>
    <param value="Бюджет" type="3" name="version">36.042.195</param>
    <param value="Бюджет" type="3" name="crc32">$16A749AC</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыРоспись.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Control.lib';
включить '\макросы\отчеты\поддержкаОтчетов.abl';
включить '\макросы\отчеты\поддержкаПроекта.abl';
константы
  nl = #13#10;
  // ограничения по классификаторам
  МаппингРоспись1 = 'ИндексыДанных=d.progIndex%d,КВР=tkvr.Code%k,КЭСР=d.KESR,КВСР=tkvsr.Code%d,КЦСР=tkcsr.Code%k,КФСР=d.KFSR,СубКЭСР=d.SUBKESR,Направление=d.DirectionCLS,ТипСчета=oa.Acc_CLS,ТипДокОснов=c.DocBase,ПричинаОтклон=c.RejectCLS%d';
  МаппингРоспись2 = ',Мероприятие=d.FACT,ФинТип=d.FinType,ФинТипы=d.FinType,ФинИсточник=c.NOTIFYTYPE,ФинИсточники=c.NOTIFYTYPE,Район=d.RegionCls,ТипСредствБюдж=d.MeansType,БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d)';
  МаппингРоспись3 = ',КодДокумента=c.id%d,КодЗаписи=d.id%d,ВидПлана=c.PlanDocType,ДатаВремяСоздания=d.CreateDate,ДатаВремяИзменения=d.UpdateDate,ВидДеятельности=mt.ActivityKind%d,ВариантыРасходовБух=c.Variant%d,ХарактерЛС=f.HARACTERACCOUNT%d';
  МаппингРоспись4 = ',Бюджет=d.BudgetRef%d,Пользователь=c.CreaterUser%s,НомерДокИсточн=c.DOCNUMBER%s,НомерДок=c.ANumber%s,ТипКлассификации=d.CLSType%d,ТипКлассификацииРасх=d.CLSType%d,Баланс=bac.BalanceCls,ИстВнутрФин=ifs_t.FinSourceValue%l';
  МаппингРоспись5 = ",БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),БухОперация=d.BuhOperationCLS%d,СостояниеДокумента=c.DOCSTATEREF";
  МаппингРоспись6 = ",ДатаОтправки=pde.senddate%s,НомерЭлектронногоДокумента=pde.DocNumber%s,Статус=pde.status%d,ПримечаниеЭлДок=pde.note%s,ДатаУведомления=(pde.queuetime%f),НомерПакета=pde.PACKETNUMBER,НомерЭлДок=pde.docNumber%s";
  МаппингРоспись7 = ",ИсточникОбразованияСредств=d.FundsSource%d,Бюджет_РаспОргСсылка=org_GRBS.id%d,ВидИзменений=c.ASSIGNMENTSOURCE%d,ВидАссигнований=d.ASSIGNMENTKIND%d,НаправлениеИсточника=(d.CLSType=0)or(d.CLSType=2)or(ifs_t.Direction%d)";
  МаппингРоспись8 = ",КодДохода=kdt.KDValue%l,СубКодДохода=d.SubKD%d,ПериодКП=c.KPPeriod%d,ПринадлежностьБА_ЛБО=c.Ba_Lbo_Flag%d,КодЦелевыхСредств=tc.Code%d,КодЦелевыхСредствПризнак=tc.TARGETMEANSSIGN%d,ПризнакВидАссигнований=aknd.Mark%d";
  МаппингРоспись9 = ",РайонТрансферта=d.RegionCLS%d,РайонКонтрагента=d.RegionCLS%d,РайонБУ=OrgOwner.RegionCLS%d,КодСубсидии=sc.Code%k,Характер_ЛС=f,Примечание=d.Note%s,ВидОргВладельцаЛС=OrgOwner.Org_Type%d,ПризнакВидИзменений=asrc.Mark%d";
  /$если База70100
  МаппингРоспись10 = ",КодБюджАссигнования=balc.Code%k,КодРасходногоОбязательства=ppc.Code%k";
  /$иначе
  МаппингРоспись10 = ",КодБюджАссигнования=balc.Code%k,КодРасходногоОбязательства=ppc.Code%k,ПолучОргСсылка=d.TransfertOrg_Ref%d,ТипДеятельности=mt.ActivityType%d,Отдел=d.DepartmentCls%k";
  /$конец
  // Органичения по правам на классификацию
  МаппингКЛСПрава_БКРасх = 'KFSR=d.KFSR,KVSR=tkvsr.Code,KCSR=tkcsr.Code,KVR=tkvr.Code,KESR=d.KESR,SUBKESR=d.SUBKESR,FACT=d.FACT,FINTYPE=d.FinType,MEANSTYPE=d.MeansType,DIRECTIONCLS=d.DirectionCLS';
  МаппингКЛСПрава_БКИст = 'KVSR=tkvsrIFS.Code';
  МаппингКЛСПрава_БКДох  = 'KVSR=tkvsrKD.Code';
  

// константы индексов данных плановых интерфейсов
// ПОФ по ПБС
  прогиндПОФпоПБС_Расходы = "268";
  прогиндПОФпоПБС_Источники = "271";
// кассовый план
  прогиндКП_Расходы = "261";
  прогиндКП_Источники = "265";
  прогиндКП_Доходы = "46";
// Бюджетная роспись ГРБС
  прогиндБР_Расходы = "32"; // а в случае совмещенного ведения также и кассовый план по ПБС 
  прогиндБР_Источники = "215";   // а в случае совмещенного ведения также и кассовый план по АИФ
// Сводная бюджетная роспись
  прогиндСБР_Расходы = "260"; // а в случае совмещенного ведения также и кассовый план 
  прогиндСБР_Источники = "264"; // а в случае совмещенного ведения также и кассовый план
// Закон (решение) о бюджете
  прогиндБюджет = "263";
// Сметы по предпринимательской деятельности
  прогиндСметыПоПД = "262";
  прогиндСметыПоПД_Расходы = "262"; //устарело
  прогиндСметыПоПД_Доходы = "269";  //устарело
  прогиндСметыПоПД_Источники = "266";//устарело
// ПОФ по ПБС помесячно
  прогиндПОФпоПБС_Помесячно = "273";
// Кассовый план помесячно
  прогиндКП_Помесячно = "272";
// Внутренние РР
  прогиндВнутренниеРРБАЛБО = "252";
  прогиндВнутренниеРРПОФ = "253";

  //НомерПервичногоДокумента, ДатаПервичногоДокумента, ПримечаниеПоОснованию оставлены для совместимости с предыдущими версиями. Использовать
  //НомерДокОснования,ДатаДокОснования,Основание 
функция РосписьВернутьМаппингПереносаПолей : Строка;
начало
  Результат :=  "КВР=KVR,КВРКлюч=KVRID,КЭСР=KESR,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВСР=KVSR,КВСРКлюч=KVSRID,КФСР=KFSR,СубКЭСР=SubKESR," +
                "Направление=DirectionCLS,ТипФинансирования=FinType,ИсточникФинансирования=FinSource,ТипБюджета=AType," +
                "Мероприятие=Fact,Регион=RegionCls,ВидПлана=PlanDocType,ТипСредств=MeansType,ЛицевойСчет=FacialAcc," +
                "СчетРаспорядителя=Acc_Ref,СчетПолуч=Acc_Ref,ДатаПринятия=AcceptDate,НомерДокумента=DocNumber,"+
                "Примечание=Note,НомерДокПроведения=DocNumber,ИндексыДанных=ProgIndex,КодЗаписи=ID,ДатаПервичногоДокумента=DocDat," +
                "НомерПервичногоДокумента=DocBaseNumber,ПримечаниеПоОснованию=BaseNote,ДатаДокОснования=DocDat," +
                "НомерДокОснования=DocBaseNumber,Основание=BaseNote,ПримечаниеДокумент=Note1,ПоВопросу=Note2," +
                "ДатаДокумента=DateInput,ДатаСоздания=DateInput,ВариантРосписи=Variant,Автор=CreaterUser,ТипСчета=Acc_CLS," +
                "ДатаВвода=DateInput,ТипДокОснования=DocBase,ПричинаОтклонКод=RejectCLS,ПричинаОтклонТекст=REJECTNOTE," +
                "КриптоСтатус=CryptoStatus,СостояниеДокумента=DOCSTATEREF,ПризнакЗависания=DocSuspended,ЕстьВБюджете=IsInBudget," +
                "ЛокальнаяВиза=IsVised,КодДокумента=CptID,ИндексАлгоритма=AlgIndex,ДатаВремяСоздания=CreateDate," +
                "ДатаВремяИзменения=UpdateDate,ДатаВремяСозданияДокумента=CptCreateDate,ДатаВремяИзмененияДокумента=CptUpdateDate," +
                "АвторИзменений=UpdaterUser,АвторДокумента=CptCreaterUser,АвторИзмененийДокумента=CptUpdaterUser," +
                "КодСметы=StimateID,КодСметыЗаписи=DetStimateID,КодФОДокумента=CptFUID,КодФОЗаписи=DetFUID," +
                "КодУРМДокумента=CptSenderRecordID,КодУРМЗаписи=DetSenderRecordID," +
                "КодОтправителяДокумента=CptSenderID,КодОтправителяЗаписи=DetSenderID," + 
                "ОрганизацияЗаголовок=OrgRef, Статус=Status,КодБюджета=BudgetRef,БухОперация=BuhOperationCLS,"+
                "ИсточникВнутрФинансирования=IFS,ИсточникВнутрФинансированияКлюч=IFS_Ref,БККредит=CreditDocCLS,БКДебет=DebitDocCLS,"+
                "ВидДеятельности=ActivityKind,ЭКДебет=CreditDocEK,ЭККредит=DebitDocEK,ПериодОперации=PeriodOfOperation," +
                "ТипКлассификации=CLSType,Баланс=BalanceCls,КорКЭСР=KESRCORR,КодСчетаДебет=DebitCodeAcc70n,"+
                "КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,"+
                "БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan," +
                "БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue,БюджКлассификация=BudClS," +
                "ЛицевойСчетЗаголовок=CptFacialAcc,НачальноеСостояниеДокумента=BeginDocStateRef,НомерПакета=PACKETNUMBER,"+
                "ДатаЭкстренногоИзменения=LASTEXTRCHANGE,МягкаяПричинаОтклонКод=SoftRejectCLS,МягкаяПричинаОтклонТекст=SoftRejectCause,"+
                "ДатаОтправки=pdeSenddate,НомерЭлектронногоДокумента=pdeDocNumber,Статус=pdeStatus,ПримечаниеЭлДок=pdeNote,"+
                "ДатаУведомления=queuetime,ТипВходящейСвязи=InLinkTypeRef,ТипИсходящейСвязи=OutLinkTypeRef,"+
                "ОрганизацияДеталь=Org_Ref_Det,ИсточникОбразованияСредств=FundsSource,ВидИзменений=ASSIGNMENTSOURCE,"+
                "ВидАссигнований=ASSIGNMENTKIND,ОрганизацияРаспорядитель=Org_RefRBS_Det,ОрганизацияГлавныйРаспорядитель=Org_RefGRBS_Det,"+
                "Организация=org_id, ПринадлежностьБА_ЛБО=Ba_Lbo_Flag,ПериодКП=KPPeriod,КодДохода=KD,КДКлюч=KDID,СубКД=SubKD," +
                "ДеньКП=DayPlan,Виза=UsersVisa,КодЦелевыхСредств=TransfertClsValue,КодЦелевыхСредствКлюч=TransfertCls," + 
                "КодВходящейСвязи=InLink,КодИсходящейСвязи=OutLink,ТипВходящейСвязи=InLinkType,ТипИсходящейСвязи=OutLinkType," +
                "КодВходящейСвязиЗаголовка=InLinkCpt,КодИсходящейСвязиЗаголовка=OutLinkCpt," +
                "ТипВходящейСвязиЗаголовка=InLinkTypeCpt,ТипИсходящейСвязиЗаголовка=OutLinkTypeCpt," + 
                "РайонТрансферта=RegionDetail,РайонКонтрагента=RegionContractor,РайонБУ=RegionBudgetEst," +
                "КодСубсидииКлюч=SubsidyCls,КодСубсидии=SubsidyClsCode,ДатаВДРР=DATE_UTV_PP,КодБюджАссигнованияКлюч=BudAllocationCls," +
                "КодБюджАссигнования=BudAllocationClsCode,КодРасходногоОбязательстваКлюч=PayPromiseCls,КодРасходногоОбязательства=PayPromiseClsCode," +
                "ПрежнийКодСубсидииКлюч=SUBSIDYCLSOLD,ПрежнийКодСубсидии=SubsidyClsOldCode";
  /$если !База70100            
  Результат := Результат + ",ОргПолучСубсидии=TransfertOrg_Ref,Отдел=DepartmentCls";
  /$конец 
конец;

Функция РосписьВернутьМаппингПереносаЗначимыхПолей(ИмяСекции:строка):строка;
начало
  Выбрать Прописные(ИмяСекции) из
    // Секция 0.Роспись(и поквартальная и помесячная) бюджета за период.
    Прописные('КассовыйПланЗаПериод'): Результат := 
         "РоспСуммаПоТекКвартал=TotalSumOnQuarter,РоспМесСуммаНаГод=SummMonthOnYear"+
         ",РоспСуммаНаТекКвартал=SumCurQuarter,РоспКвартСуммаНаГод=SummQuarterOnYear,РоспКвартал1=Quarter1,РоспКвартал2=Quarter2"+
         ",РоспКвартал3=Quarter3,РоспКвартал4=Quarter4,РоспСуммаПоВторойКвартал=SumOnSecondQuarter,РоспСуммаПоТретийКвартал=SumOnThirdQuarter"+
         ",РоспСуммаПоТекМесяц=TotalSumOnMonth,РоспСуммаНаТекМесяц=SumCurMonth,РоспЯнварь=Month01,РоспФевраль=Month02,РоспМарт=Month03"+
         ",РоспАпрель=Month04,РоспМай=Month05,РоспИюнь=Month06,РоспИюль=Month07,РоспАвгуст=Month08"+
         ",РоспСентябрь=Month09,РоспОктябрь=Month10,РоспНоябрь=Month11,РоспДекабрь=Month12";
    // секция 0. Годовые суммы бюджетных росписей(сводная роспись, роспись ГРБС, роспись РБС)за период.      
    Прописные('ТрехлетняяРосписьЗаПериод'): Результат := 
         "РоспНаПервыйГод=SummaYear1,РоспНаВторойГод=SummaYear2,РоспНаТретийГод=SummaYear3,РоспСуммаНаТриГода=SummOnPeriod";
    // секция 1. Годовые суммы СБР за период. БР ГРБС не выбирается.
    Прописные('ТрехлетняяСБРЗаПериод'): Результат := 
         "СБРНаПервыйГод=SummaYear1,СБРНаВторойГод=SummaYear2,СБРНаТретийГод=SummaYear3,СБРСуммаНаТриГода=SummOnPeriod";
    //секция 2. Годовые суммы Бюджета за период.
    Прописные('БюджетЗаПериод'): Результат := 
         "БюджетНаПервыйГод=SummaYear1,БюджетНаВторойГод=SummaYear2,БюджетНаТретийГод=SummaYear3,БюджетСуммаНаТриГода=SummOnPeriod";
    // УДАЛЕНА(устарело). секция 3.  Все годовые суммы (Бюджет, бюджетные росписи, сметы по ПД) за период.      
    //секция 4. Подневный кассовый план за период      
    Прописные('ПодневныйКПЗаПериод'): Результат := "ПодневныйКПСумма=DayPlanSumma";
  конец;
конец;

функция ПланДоходовВернутьМаппингПереносаЗначимыхПолей(ИмяСекции:строка) : Строка;
начало
  Выбрать Прописные(ИмяСекции) из
    // Секция 1. Кассовый план, сметы по ПД за период
    Прописные('ПланДоходовЗаПериод'): Результат := 
      'ПланДоходовКвартал1=Quarter1,ПланДоходовКвартал2=Quarter2,ПланДоходовКвартал3=Quarter3,ПланДоходовКвартал4=Quarter4,'+
      'ПланДоходовПоТекКвартал=TotalSumOnQuarter,ПланДоходовНаТекКвартал=SumCurQuarter,ПланДоходовНаГод=SummQuarterOnYear,'+
      'ПланДоходовЯнварь=Month01,ПланДоходовФевраль=Month02,ПланДоходовМарт=Month03,ПланДоходовАпрель=Month04,'+
      'ПланДоходовМай=Month05,ПланДоходовИюнь=Month06,ПланДоходовИюль=Month07,ПланДоходовАвгуст=Month08,'+
      'ПланДоходовСентябрь=Month09,ПланДоходовОктябрь=Month10,ПланДоходовНоябрь=Month11,ПланДоходовДекабрь=Month12,'+ 
      'ПланДоходовПоВторойКвартал=SumOnSecondQuarter,ПланДоходовПоТретийКвартал=SumOnThirdQuarter,'+
      'ПланДоходовПоТекМесяц=TotalSumOnMonth,ПланДоходовНаТекМесяц=SumCurMonth';
    //секция 2. Годовые суммы Бюджета за период.
    Прописные('БюджетЗаПериод'): Результат := 
         "ПланДоходовБюджетНаПервыйГод=SummaYear1,ПланДоходовБюджетНаВторойГод=SummaYear2,ПланДоходовБюджетНаТретийГод=SummaYear3,ПланДоходовБюджетСуммаНаТриГода=SummOnPeriod";
  конец;
конец; 

функция ПолучитьОгрПоБухДокументу(Значение : строка; Коллекция: IVariables) : строка;
переменные
  Операции : СтатическиеДанные;
  сч : целое;
  Огр : строка;
  Документы : текст;
начало
  //Выделение бухгалтерских документов:
  //1 - Ассигнования
  //2 - Утвержденные ЛБО (по ГРБС)
  //3 - Переданные ЛБО (на РБС и ПБС)
  //4 - Полученные ЛБО (РБСами и ПБСами)
  //коды 5-10 пропущены, так как используются в лимитах
  //11-бюджетная роспись ГРБС
  //12-бюджетная роспись РБС
  //13-аналог смет ПБС
  //14-часть росписей ГРБС, которая передается на РБС
  Результат := "";
  Операции := СоздатьСтатическиеДанные;
  Документы := СоздатьТекст;
  попытка
    Документы.РазделенноеЗначение := Значение;
    Огр := "";
    от сч := 0 до Документы.Количество - 1 делать
    начало
      выбрать СтрокаВЦелое(Документы.Стр(сч)) из
        1:  // утвержденные ассигнования
            //берем проводку 503.01(Д) - 501.01(К) для совместимости, чтобы не сломалось РУ у тех, кто не поправит вовремя справочник операций. 
            //после изменений по письму в 25Н нужно брать проводку 503.09(д)-503.01(К) для БА
            // хотя в 22-м разряде могут быть 1,2,3 , берем только 0, так как в справочнике операций вводятся только счета с 0-ым 22-м разрядом.  
            Огр := Огр + " or((bapd.buhacc&gt;=5030100)and(bapd.buhacc&lt;5030200)and(bapc.buhacc&gt;=5010100)and(bapc.buhacc&lt;5010200))"+
                         " or((bapd.buhacc&gt;=5030900)and(bapd.buhacc&lt;5031000)and(bapc.buhacc&gt;=5030100)and(bapc.buhacc&lt;5030200))";
        2: 
            // Утвержденные ЛБО
            //берем проводку 503.01(Д) - 501.01(К) для совместимости, чтобы не сломалось РУ у тех, кто не поправит вовремя справочник операций. 
            //после изменений по письму в 25Н нужно брать проводку 501.09(д)-501.01(К) для БА
            // хотя в 22-м разряде могут быть 1,2,3 , берем только 0, так как в справочнике операций вводятся только счета с 0-ым 22-м разрядом.  
            Огр := Огр + " or((bapd.buhacc&gt;=5030100)and(bapd.buhacc&lt;5030200)and(bapc.buhacc&gt;=5010100)and(bapc.buhacc&lt;5010200))"+
                         " or((bapd.buhacc&gt;=5010900)and(bapd.buhacc&lt;5011000)and(bapc.buhacc&gt;=5010100)and(bapc.buhacc&lt;5010200))";
        3,4 : //Переданные, полученные ЛБО, БА с учетом изменений, вносимых в 25Н письмом
            //в 25Н(с учетом изменений, вносимых в 25Н письмом) для финорганов есть проводки распределения: 
            //для ЛБО ГРБС-&gt;РБС 501.02(Д)-501.02(К), ГРБС-&gt;ПБС(РБС-&gt;ПБС) 501.02(Д)-501.03(К),
            //для БА ГРБС-&gt;РБС 503.02(Д)-503.02(К), ГРБС-&gt;ПБС(РБС-&gt;ПБС) 503.02(Д)-503.03(К),  
            // Определяем по ним передачу по дебетовым счетам
            Огр := Огр + " or((bapd.buhacc&gt;=5010200)and(bapd.buhacc&lt;5010300))or((bapd.buhacc&gt;=5030200)and(bapd.buhacc&lt;5030300))";
            
            // для подержки изменений в Бюджетном кодексе (3-х летнее планирование)+ изменения, вносимые в 25Н письмом
            // Можно выделять следующие операции:
        10: // доведенные до ГРБС БА, ЛБО
            // проводки доведения до ГРБС 501.01(Д) - 501.02(К) для ЛБО, 503.01(Д) - 503.02(К) для БА 
            Огр := Огр + " or((bapd.buhacc&gt;=5010100)and(bapd.buhacc&lt;5010200))"+
                         " or((bapd.buhacc&gt;=5030100)and(bapd.buhacc&lt;5030200))";
        11: //Распределение БА,ЛБО по ПБС. Для ЛБО: 501.02(Д) - 501.03(К), для БА: 503.02(Д) - 503.03(К) - распределение по ПБС. 
            //Эти строки могут входить как в роспись ГРБС, так и в роспись РБС 
            Огр := Огр + " or((bapc.buhacc&gt;=5010300)and(bapc.buhacc&lt;5010400))or((bapc.buhacc&gt;=5030300)and(bapc.buhacc&lt;5030400))";
        12: // Распределение БА,ЛБО по РБС. Для ЛБО: 501.02(Д) - 501.02(К), для БА: 503.02(Д) - 503.02(К) - распределеиние по РБС. 
            //Это та часть росписей ГРБС, которая передается на РБС или перекидывается между РБС
            Огр := Огр + " or((bapd.buhacc&gt;=5010200)and(bapd.buhacc&lt;5010300)and(bapc.buhacc&gt;=5010200)and(bapc.buhacc&lt;5010300))"+
                         " or((bapd.buhacc&gt;=5030200)and(bapd.buhacc&lt;5030300)and(bapc.buhacc&gt;=5030200)and(bapc.buhacc&lt;5030300))";
      конец;
    конец;
    если Огр &lt;&gt; '' тогда
    начало
      Операции.Запрос := "[PumpData]{" + nl +
        "select distinct" + nl +
        "  bac.BuhOperationCLS" + nl +
        "from" + nl +
        "  buhacccorr bac" + nl +
        "  left join buhaccplan bapc on (bac.creditaccref = bapc.id)" + nl +
        "  left join buhaccplan bapd on (bac.debitaccref = bapd.id)" + nl +
        "where (1&lt;&gt;1)" + Огр + "}";
      ПолучитьДанные(Операции, Коллекция);      
      Результат := GetLimitStr(Операции, "BuhOperationCLS");
      если Результат = "" тогда
        Результат := "-1";
    конец
    иначе
      Результат := "";      
  обязательно
    УдалитьОбъект(Операции);
    УдалитьОбъект(Документы);
  конец;
конец;
  
функция ДобавитьЗначение(Список:Текст; значение:строка);
переменные
  СписокИндексовДанных : текст;
  сч:целое;
начало
  если значение&lt;&gt;'' тогда
  попытка
    СписокИндексовДанных := СоздатьТекст;
    СписокИндексовДанных.РазделенноеЗначение := Значение;
    от сч:=0 до СписокИндексовДанных.Количество-1 делать
      если Список.Поиск(СписокИндексовДанных.Стр(сч))&lt;0 тогда //еще нет
        Список.Добавить(СписокИндексовДанных.Стр(сч));
  обязательно
    УдалитьОбъект(СписокИндексовДанных);
  конец;
конец;

// преобразуем ограничение по списку групп плановых документов в ограничение по списку индексов данных
функция ПолучитьОгрПоГруппеПлановыхДокументов(СписокГрупп:строка; ДляРасходов,ДляИсточников,ДляДоходов:целое):строка;
переменные
 сч: целое;
 Группы,СписокИндексовДанных : текст;
начало
    Группы := СоздатьТекст;
    СписокИндексовДанных := СоздатьТекст;
    Результат := ""; 
    попытка
      Группы.РазделенноеЗначение := СписокГрупп;
      // возвращаем прогиндекс интерфейса, на котором заводится соответствующий документ. 
      // В зависимости от констант системы документ может быть заведен на различных интерфейсах, либо может не использоваться совсем
      от сч := 0 до Группы.Количество - 1 делать
      начало
        выбрать Группы.Стр(сч) из
          "0": //ПОФ по ПБС, АИФ
               начало
                 // расходы
                 если ДляРасходов тогда
                 выбрать ПолучитьКонстантуКэш("БРиПОФпоПБС_Расходы", 32, 31, 0) из
                   "1": ДобавитьЗначение(СписокИндексовДанных,прогиндБР_Расходы); // для ввода используется интерфейс БР ГРБС (02.01)
                   "2": если не (ПолучитьКонстантуКэш("ПОФпоПБС_Помесячно", 32, 3, 0) = "3") тогда // если не установлено использование только помесячного ПОФ, то 
                          ДобавитьЗначение(СписокИндексовДанных,прогиндПОФпоПБС_Расходы); // для ввода используется интерфейс ПОФ по ПБС (02.06)
                   // иначе не используется никакой
                 конец;
                 // источники
                 Если ДляИсточников тогда
                 выбрать ПолучитьКонстантуКэш("БРиПОФпоПБС_Источники", 32, 35, 0) из
                   "1": ДобавитьЗначение(СписокИндексовДанных,прогиндБР_Источники); // для ввода используется интерфейс БР ГАИФ (19.02) 
                   "2": если не (ПолучитьКонстантуКэш("ПОФпоПБС_Помесячно", 32, 3, 0) = "3") тогда // если не установлено использование только помесячного ПОФ, то
                          ДобавитьЗначение(СписокИндексовДанных,прогиндПОФпоПБС_Источники); // для ввода используется интерфейс ПОФ по АИФ(19.06)
                   // иначе не используется никакой
                 конец;
                 //ввод ПОФ по ПБС помесячно на отдельном интерфейсе
                 если (ПолучитьКонстантуКэш("ПОФпоПБС_Помесячно", 32, 3, 0) = "2")
                   или (ПолучитьКонстантуКэш("ПОФпоПБС_Помесячно", 32, 3, 0) = "3") тогда
                   ДобавитьЗначение(СписокИндексовДанных, прогиндПОФпоПБС_Помесячно); // дополнительно используется интерфейс помесячного ПОФ (02.08)
                 ДобавитьЗначение(СписокИндексовДанных, прогиндВнутренниеРРПОФ);   // Для Краснодара: дополнительно используется интерфейс внутренних РР (02.10)
               конец;
          "1": //Кассовый план (ГРБС, ГАИФ, ГАДБ) 
               начало
                 // расходы
                 если ДляРасходов тогда
                 выбрать ПолучитьКонстантуКэш("СБРиКП_Расходы", 32, 30, 0) из
                   "1":  ДобавитьЗначение(СписокИндексовДанных,прогиндСБР_Расходы); // для ввода используется интерфейс СБР (02.02)
                   "2","4": ДобавитьЗначение(СписокИндексовДанных,прогиндКП_Расходы) // для ввода используется интерфейс кассового плана (02.03)
                   //если кассовый план не вводится на интерфейсах СБР или КП,  он может быть получен на основании ПОФ по ПБС с соответствующих интерфейсов
                   иначе 
                     ДобавитьЗначение(СписокИндексовДанных,ПолучитьОгрПоГруппеПлановыхДокументов("0",1,0,0));
                 конец;
                 // источники
                 Если ДляИсточников тогда
                 выбрать ПолучитьКонстантуКэш("СБРиКП_Источники", 32, 34, 0) из
                   "1": ДобавитьЗначение(СписокИндексовДанных,прогиндСБР_Источники); // для ввода используется интерфейс СБР (19.01)
                   "2","4": ДобавитьЗначение(СписокИндексовДанных,прогиндКП_Источники); // для ввода используется интерфейс кассового плана (19.03)
                   //если кассовый план не вводится на интерфейсах СБР или КП,  он может быть получен на основании ПОФ по АИФ с соответствующих интерфейсов
                   иначе            
                     ДобавитьЗначение(СписокИндексовДанных,ПолучитьОгрПоГруппеПлановыхДокументов("0",0,1,0));                                       
                 конец;
                 // доходы
                 если ДляДоходов тогда
                   если не (ПолучитьКонстантуКэш("КП_Помесячно", 32, 13, 0) = "3") тогда  //если не установлено использование только помесячного КП
                     ДобавитьЗначение(СписокИндексовДанных,прогиндКП_Доходы);  // для ввода всегда используется интерфейс кассового плана по доходам (22.01)
                 //ввод кассового плана помесячно на отдельном интерфейсе
                 если (ПолучитьКонстантуКэш("КП_Помесячно", 32, 13, 0) = "2")
                   или (ПолучитьКонстантуКэш("КП_Помесячно", 32, 13, 0) = "3") тогда
                   ДобавитьЗначение(СписокИндексовДанных, прогиндКП_Помесячно); // дополнительно используется интерфейс помесячного КП(02.07)
               конец;
          "2": //Сводная бюджетная роспись 
               начало
                 // расходы
                 если ДляРасходов тогда
                 выбрать ПолучитьКонстантуКэш("СБРиКП_Расходы", 32, 30, 0) из
                   "1","2","3": ДобавитьЗначение(СписокИндексовДанных,прогиндСБР_Расходы) // для ввода используется интерфейс СБР (02.02)
                   иначе //если СБР не вводится на интерфейсах СБР,  она может быть получена на основании БР ГРБС с соответствующего интерфейса
                     ДобавитьЗначение(СписокИндексовДанных,ПолучитьОгрПоГруппеПлановыхДокументов("3",1,0,0));
                 конец;
                 // источники
                 Если ДляИсточников тогда
                 выбрать ПолучитьКонстантуКэш("СБРиКП_Источники", 32, 34, 0) из
                   "1","2","3": ДобавитьЗначение(СписокИндексовДанных,прогиндСБР_Источники) // для ввода используется интерфейс СБР (19.01)
                   иначе //если СБР не вводится на интерфейсах СБР,  она может быть получена на основании БР ГРБС с соответствующего интерфейса
                     ДобавитьЗначение(СписокИндексовДанных,ПолучитьОгрПоГруппеПлановыхДокументов("3",0,1,0));
                 конец;
               конец;
          "3": //Бюджетные росписи ГРБС, ГАИФ 
               начало
                 // расходы
                 если ДляРасходов тогда
                 выбрать ПолучитьКонстантуКэш("БРиПОФпоПБС_Расходы", 32, 31, 0) из
                   "1","2","3": ДобавитьЗначение(СписокИндексовДанных,прогиндБР_Расходы); // для ввода используется интерфейс БР ГРБС (02.01)
                   // иначе не используется никакой
                 конец;
                 // источники
                 Если ДляИсточников тогда
                 выбрать ПолучитьКонстантуКэш("БРиПОФпоПБС_Источники", 32, 35, 0) из
                   "1","2","3": ДобавитьЗначение(СписокИндексовДанных,прогиндБР_Источники); // для ввода используется интерфейс БР ГАИФ (19.02)
                   // иначе не используется никакой
                 конец;
                 ДобавитьЗначение(СписокИндексовДанных, прогиндВнутренниеРРБАЛБО); // Для Краснодара: дополнительно используется интерфейс внутренних РР (02.10)
               конец;
          "4": ;//Бюджетные росписи РБС не поддерживаются
          "5": //Сметы по предпринимательской деятельности
               если ПолучитьКонстантуКэш("СметыПоПД", 32, 32, 0) = "1" тогда
                 ДобавитьЗначение(СписокИндексовДанных,прогиндСметыПоПД);  // для ввода всегда используется интерфейс смет по ПД(02.04) по расходам, доходам, источникам
          "6": //Закон (решение) о бюджете
               если ПолучитьКонстантуКэш("ЗаконОБюджете", 32, 33, 0) = "1" тогда
                 ДобавитьЗначение(СписокИндексовДанных,прогиндБюджет);  // для ввода используется интерфейс Бюджет (по расходам, по источникам и по доходам) (02.05)
        конец;
      конец;
      Результат := СписокИндексовДанных.РазделенноеЗначение;
    обязательно
      УдалитьОбъект(Группы);
      УдалитьОбъект(СписокИндексовДанных);
    конец;

конец;
// проверка на наличие одновременного ввода данных и по ГРБС и по ПБС
// тип классификации =0 - расходы, =1 - источники
//если идет выборка только колонок КП или колонок БР, то учтем это
функция ЕстьОдновременоеВедениеУровнейГРБСиПБС(ТипКлассификации:целое;ИспользуютсяГодовыеСуммы,ИспользуютсяНеГодовыеСуммы:целое):целое;
переменные
  ЕстьБРпоГРБС,ЕстьБРпоПБС,ЕстьКПпоГРБС,ЕстьПОФпоПБС:целое;
начало
  результат := нет;
  ЕстьБРпоГРБС := нет;
  ЕстьБРпоПБС := нет;
  ЕстьКПпоГРБС := нет;
  ЕстьПОФпоПБС := нет;
  // расходы
  если ТипКлассификации=0 тогда
  начало
    выбрать ПолучитьКонстантуКэш("БРиКПпоПБС_Расходы", 32, 31, 0) из
      "1","2": начало ЕстьБРпоПБС := да;ЕстьПОФпоПБС := да; конец; // в интерфейсах уровня ПБС ведется и ПОФ по ПБС и БР по ПБС
      "3": ЕстьБРпоПБС := да; // в интерфейсах уровня ПБС ведется только БР по ПБС
      // иначе не используется никакой
    конец;
    выбрать ПолучитьКонстантуКэш("СБРиКП_Расходы", 32, 30, 0) из
      "1","2":  начало ЕстьБРпоГРБС := да;ЕстьКПпоГРБС := да; конец; // в интерфейсах уровня ГРБС ведется и КП и СБР
      "3"    :  ЕстьБРпоГРБС := да; // в интерфейсах уровня ГРБС ведется только СБР
      "4"    :  ЕстьКПпоГРБС := да; // в интерфейсах уровня ГРБС ведется только КП
      // иначе не используется никакой
    конец;
  конец;
  // источники
  Если ТипКлассификации=1 тогда
  начало
   выбрать ПолучитьКонстантуКэш("БРиКПпоПБС_Источники", 32, 35, 0) из
     "1","2":  начало ЕстьБРпоПБС := да;ЕстьПОФпоПБС := да; конец; // в интерфейсах уровня ПБС ведется и ПОФ по ПБС и БР по ПБС
     "3"    :  ЕстьБРпоПБС := да; // в интерфейсах уровня ГРБС ведется только БР по ПБС
     // иначе не используется никакой
   конец;
   выбрать ПолучитьКонстантуКэш("СБРиКП_Источники", 32, 34, 0) из
     "1","2":  начало ЕстьБРпоГРБС := да;ЕстьКПпоГРБС := да; конец; // в интерфейсах уровня ГРБС ведется и КП и СБР
     "3"    :  ЕстьБРпоГРБС := да; // в интерфейсах уровня ГРБС ведется только СБР
     "4"    :  ЕстьКПпоГРБС := да; // в интерфейсах уровня ГРБС ведется только КП
     // иначе не используется никакой
   конец;
  конец;
  // доходы
  Если ТипКлассификации=2 тогда
  начало
    ЕстьКПпоГРБС := да;
    ЕстьПОФпоПБС := да;
  конец;
  результат := (ИспользуютсяНеГодовыеСуммы и ЕстьКПпоГРБС и ЕстьПОФпоПБС)или(ИспользуютсяГодовыеСуммы и ЕстьБРпоГРБС и ЕстьБРпоПБС)
    или(ИспользуютсяНеГодовыеСуммы и ИспользуютсяГодовыеСуммы и (ЕстьБРпоГРБС или ЕстьКПпоГРБС) и (ЕстьБРпоПБС или ЕстьПОФпоПБС));
конец; 

функция ЗапросРоспись(Коллекция:IVariables):строка;
переменные
  Комментарий, Запрос: строка;
  МаппингРоспись, ТаблицаДляОгрПоОрг, СоединениеДляОрганизации: строка;
  СуммаПоТекКвартал, СуммаПоТекМесяц, СуммаНаТекКвартал, СуммаНаТекМесяц, СуммаБух: строка;
  НачДатаСтр, КонДатаСтр, НаправлИсточн: строка;
  ВариантУведомл, УчитРосп, УчитУвед: целое;
  Тек, сч: целое;
  ОгрБазовые, ОгрДоп, ОгрПоДате,ОгрПоСервиснымСчетам, ОгрПоЛицСчету: строка; 
  ОгрПоРоспУвед, ОгрПоОрганизации, ОгрПоРосписи, ОгрПоУведомл, ОгрПоВарианту: строка;
  ОгрВыбиратьАссигнования, ОгрПоТипуОрг, ОгрПоВидуОрг, ОгрПоСводнымУведомлениям: строка;
  ОгрПоПустымБухСчетам, ОгрПоПринадлежностиЛС, ОгрПоСтатусу: строка;
  ОгрПоСвязям, ОгрПоВходящимСвязям, ОгрПоИсходящимСвязям: строка;
  ОгрПоВходящимСвязямЗаголовка, ОгрПоИсходящимСвязямЗаголовка: строка;
  ОгрГруппаПланДок, ОгрУровеньПланДок, ОгрПоДатамБухОпераций, ОгрКодЦели: строка;
  ОгрПрава,ОгрПрава_БКРасх, ОгрПрава_БКИст, ОгрПрава_БКДох: строка;
  /$если База70100
  ОгрТипДеят: строка;
  /$конец
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция росписи")+Коллекция.Значение("ДопКомментарийСекции");
  Коллекция.Значение("ДопКомментарийСекции"):='';
  // формируем ограничение по дате
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаУчетаТип=c.DATE_UTV_PP,ДатаВводаТип=c.DateInput,ДатаДокументаТип=c.DateInput,ДатаПроведенияТип=c.Dat,
    ДатаПринятияТип=c.Dat,ДатаОтправленияТип=pde.SendDate,ДатаСозданияТип=c.CreateDate,
    ДатаИзмененияТип=(c.UpdateDate%d)or(c.CreateDate%d)", Коллекция, "c.Dat");
  
  /$если База70100 
  //ограничение по типу деятельности  
  ОгрТипДеят := ОгрТипДеятельности((Коллекция.Значение("ТипДеятельности")),"ВидДеятельности=mt.ActivityKind%d","ТипСредствБюдж=d.MeansType");
  /$конец
  
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  // формируем ограничение по сервисным л/с, смотрим значения параметров: ЛицСчет, ОргЛС и БюджОргЛС
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) или
      ((Коллекция.Values("ОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("ОргЛС"))) или
      ((Коллекция.Values("БюджОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("БюджОргЛС"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;

  если (Коллекция.Значение("БухОперация") = "") тогда
  начало
    Если (Коллекция.Значение("ВидСанкционированияРасходов") &lt;&gt; "")  тогда
      Коллекция.Значение("БухОперация") := ПолучитьОгрПоБухДокументу(Коллекция.Значение("ВидСанкционированияРасходов"), Коллекция)
    иначе
      Если (Коллекция.Значение("БухгалтерскийДокумент") &lt;&gt; "")  тогда
        Коллекция.Значение("БухОперация") := ПолучитьОгрПоБухДокументу(Коллекция.Значение("БухгалтерскийДокумент"), Коллекция);
  конец;  

  ОгрУровеньПланДок := '';
  ОгрГруппаПланДок := '';
  ОгрВыбиратьАссигнования := '';
  //если включена поддержка 3-х летнего планирования  и не режим печатного документа
  // и нет ограничения по бухпроводкам.
  если (СтрокаВЦелое(ПолучитьКонстантуКэш("СовместимостьВеденияПлановыхПоказателей", 32, 27, 0)) &gt; 0)и (Коллекция.Values("ПечатныйДокумент") &lt;&gt; да)
    и(Коллекция.Значение("БухОперация")='')и не(Коллекция.Значение("БухОперация")='0') тогда
  начало
    // обабатываем уровень распределения плановых документов
    выбрать Коллекция.Значение("УровеньПлановыхДокументов") из
      "#1":  
        ОгрУровеньПланДок := "and(not(((f.HARACTERACCOUNT in (1, 2))or(d.FacialAcc_CLS=0))and(org.ORG_TYPE between 10100 and 10399)))";    
      "0": //На ПБС
        ОгрУровеньПланДок := "and(f.HARACTERACCOUNT in (0, 2))and(d.FacialAcc_CLS&lt;&gt;0)";
      "1": //На ГРБС. Сюда же включаем и 0-вые л\с. Например, на КП по доходам, в законе о бюджете могут быть 0-вые л\с.
           // ГРБСами считаем Финорганы, ГРБС с подведомственной сетью и ГРБС без подведомственной сети 
        ОгрУровеньПланДок := "and((f.HARACTERACCOUNT in (1, 2))or(d.FacialAcc_CLS=0))and(org.ORG_TYPE between 10100 and 10399)";    
      "2": //На РБС
        ОгрУровеньПланДок := "and(f.HARACTERACCOUNT = 1)and(org.ORG_TYPE between 10400 and 10499)and(d.FacialAcc_CLS&lt;&gt;0)";
    конец;
    // преобразуем ограничение по списку групп плановых документов в ограничение по списку индексов данных для расходов и источников
    Коллекция.Значение("ГруппаПлановыхДокументовОгр"):=ПолучитьОгрПоГруппеПлановыхДокументов(Коллекция.Значение("ГруппаПлановыхДокументов"),1,1,1);
    // если запрошенные группы документов не используются, то ничего и не выбираем
    если (Коллекция.Значение("ГруппаПлановыхДокументов")&lt;&gt;"") и (Коллекция.Значение("ГруппаПлановыхДокументовОгр")="") тогда 
      Коллекция.Значение("ГруппаПлановыхДокументовОгр") := "-1";
    ОгрГруппаПланДок := Ограничение("ГруппаПлановыхДокументовОгр=d.Progindex%d", Коллекция);
    если Коллекция.Значение("УровеньПлановыхДокументовДляКПпоДоходам")='1' тогда // для КП по доходам накладываем ограничение по уровню ГРБС, чтобы поддержать возможность ведения в интерфейсе информации по ПБС
        ОгрГруппаПланДок :=  ОгрГруппаПланДок+' and((d.ProgIndex&lt;&gt;'+прогиндКП_Доходы+
        ') or(((f.HARACTERACCOUNT in (1, 2))or(d.FacialAcc_CLS=0))and(org.ORG_TYPE between 10100 and 10399)))'
    иначе
      если Коллекция.Значение("УровеньПлановыхДокументовДляКПпоДоходам")='0' тогда // для КП по доходам накладываем ограничение по уровню ПБС, чтобы поддержать возможность ведения в интерфейсе информации по ПБС
          ОгрГруппаПланДок :=  ОгрГруппаПланДок+' and((d.ProgIndex&lt;&gt;'+прогиндКП_Доходы+
          ') or((f.HARACTERACCOUNT in (0, 2))and(d.FacialAcc_CLS&lt;&gt;0))'+')';
        
  конец;

  если Коллекция.ПараметрСуществует("ВыбиратьАссигнования") тогда
  начало
    если Коллекция.Значение("ВыбиратьАссигнования")='1' тогда  //1-только бюджетные ассигнования,0-только ЛБО
      ОгрВыбиратьАссигнования := ' and ((c.BA_LBO_Flag = 0) or (c.BA_LBO_Flag = 1))'
    иначе если Коллекция.Значение("ВыбиратьАссигнования")='0' тогда  //только лимиты
      ОгрВыбиратьАссигнования := ' and ((c.BA_LBO_Flag = 0) or (c.BA_LBO_Flag = 2))';  
  конец;
  // формируем ограничение по росписи и уведомлениям
  УчитРосп := Коллекция.Values("РосписьЧек");
  УчитУвед := Коллекция.Values("УведомленияЧек"); 
  Если (не УчитРосп) и (не УчитУвед) и (Коллекция.Values("ПечатныйДокумент") &lt;&gt; да) тогда
    начало
      УчитРосп := да;
      УчитУвед := да;
    конец;
  // для контроля: если ограничение по варианту росписи не задано, то берем вариант из констант
  если Коллекция.Values("БюджетныйКонтроль") и (не Коллекция.ПараметрСуществует("ВариантРосписи")) тогда
    Коллекция.Значение("ВариантРосписи") := ПолучитьКонстантуКэш("ОсновнойВариантРосписи", 18, 1, 0);
  ОгрПоВарианту := Ограничение('ВариантРосписи=c.Variant%d',Коллекция);
  
  // формируем ограничение по росписи    
  Если УчитРосп 
    тогда ОгрПоРосписи := "(c.PlanDocType between 100 and 199)"+ОгрПоВарианту
    иначе ОгрПоРосписи := ""; 
    
  // формируем ограничение по уведомлениям
  Если УчитУвед 
    тогда начало
      ВариантУведомл := СтрокаВЦелое(ПолучитьКонстантуКЭШ("УчетВариантаУведомлений",32,1,0));
      если ВариантУведомл 
        тогда ОгрПоУведомл := "(c.PlanDocType &gt;= 200)"+ОгрПоВарианту
        иначе ОгрПоУведомл := "(c.PlanDocType &gt;= 200)";
    конец
    иначе ОгрПоУведомл := "";
       
  // формируем составное ограничение по росписи и уведомлениям
  ОгрПоРоспУвед := "";
  Если УчитРосп и УчитУвед 
    тогда ОгрПоРоспУвед := " and(("+ОгрПоРосписи+")or("+ОгрПоУведомл+"))"
    иначе начало  
      // формируем отдельно ограничения либо по росписи, либо по уведомлениям 
      если УчитРосп 
        тогда ОгрПоРоспУвед := " and("+ОгрПоРосписи+")";      
      если УчитУвед 
        тогда ОгрПоРоспУвед := " and("+ОгрПоУведомл+")";
    конец;  

  ОгрПоЛицСчету := "";
  ОгрПоОрганизации := "";
  // поддержим ограничение по организации, организации распорядителя,бюджетной организации, 
  // счету, счету распорядителя, счету бюджетной организации 
  если не Коллекция.ПараметрСуществует("БюджОргСсылка") тогда 
    если Коллекция.ПараметрСуществует("ОргСсылка") тогда
      Коллекция.Values("БюджОргСсылка"):=Коллекция.Values("ОргСсылка");
  //ограничение по РС оставлено для совместимости 
  если не Коллекция.ПараметрСуществует("БюджРССсылка") тогда 
    если Коллекция.ПараметрСуществует("Бюджет_РаспРССсылка") тогда
      Коллекция.Values("БюджРССсылка"):=Коллекция.Values("Бюджет_РаспРССсылка")
    иначе если Коллекция.ПараметрСуществует("РССсылка") тогда
      Коллекция.Values("БюджРССсылка"):=Коллекция.Values("РССсылка");
      
  если не Коллекция.ПараметрСуществует("ОргЛС") тогда // результирующий параметр теперь ОргЛС, т.к. для него прописана иерархическая маска, 
    если Коллекция.ПараметрСуществует("БюджОргЛС") тогда  // а для БюджОргЛС - нет, и ограничение по лс получалось всегда на равно
      Коллекция.Values("ОргЛС"):=Коллекция.Values("БюджОргЛС");
  если не Коллекция.ПараметрСуществует("БюджЛицСчет11") тогда 
    если Коллекция.ПараметрСуществует("ЛицСчет11") тогда
      Коллекция.Values("БюджЛицСчет11"):=Коллекция.Values("ЛицСчет11");

  СоединениеДляОрганизации := " left join Organizations org on (org.id = d.Org_Ref)";
  выбрать Коллекция.Values("ОпределениеОрганизации") из
    "0": СоединениеДляОрганизации := " left join Organizations org on (org.id = d.Org_Ref)";   // если =0 то соединяем организации по ссылке на организацию из документа
    "1": СоединениеДляОрганизации := " left join Organizations org on (org.id = f.Org_Ref)";   // если =1 то соединяем организации по владельцу л\с
    "2": СоединениеДляОрганизации := " left join KVSR tkvsrOrg on (((tkvsrOrg.id = d.KVSR) and (d.ClsType=0)) or " +
           "((tkvsrOrg.id = ifs_t.KVSR) and (d.ClsType=1)) or ((tkvsrOrg.id = kdt.KVSR) and (d.ClsType=2)))" +nl+
           " left join Organizations org on (org.id = tkvsrOrg.org_ref)";    // соединяем организации по КВСР 
    иначе
      если Позиция("6",Коллекция.Значение("ГруппаПлановыхДокументов"))&gt;0 тогда // если выбираем закон о бюджете, где нет л\с
      начало
        СоединениеДляОрганизации := " left join KVSR tkvsrOrg on (((tkvsrOrg.id = d.KVSR) and (d.ClsType=0)) or " +
           "((tkvsrOrg.id = ifs_t.KVSR) and (d.ClsType=1)) or ((tkvsrOrg.id = kdt.KVSR) and (d.ClsType=2)))" +nl+
           " left join Organizations org on (org.id = tkvsrOrg.org_ref)";    // соединяем организации по КВСР 
        Коллекция.Values("ОпределениеОрганизации") := '2';  //умалчиваемое значение
      конец
      иначе
        если ((Коллекция.Values("ТипКлассификацииРасх")=2) или (Коллекция.Values("ТипКлассификации")=2)) и  //для доходов: если выбираем бюджетные средства
          ((Коллекция.Значение("ВидДеятельности")=1) или (Коллекция.Значение("ТипДеятельности")=1)) тогда 
        начало
          СоединениеДляОрганизации := " left join KVSR tkvsrOrg on (((tkvsrOrg.id = d.KVSR) and (d.ClsType=0)) or " +
           "((tkvsrOrg.id = ifs_t.KVSR) and (d.ClsType=1)) or ((tkvsrOrg.id = kdt.KVSR) and (d.ClsType=2)))" +nl+
           " left join Organizations org on (org.id = tkvsrOrg.org_ref)";    // то соединяем организации по КВСР 
          Коллекция.Values("ОпределениеОрганизации") := "2";
        конец
        иначе 
          Коллекция.Values("ОпределениеОрганизации") := '0';  //умалчиваемое значение 
  конец;
  
  таблицаДляОгрПоОрг := 'org'; //по умолчанию
  если (Коллекция.Values("ОпределениеОрганизации") = '1')или(Коллекция.Values("ОпределениеОрганизации") = '0')тогда 
  выбрать Коллекция.Значение("УровеньПлановыхДокументов")из
    "0": //На ПБС
        таблицаДляОгрПоОрг := 'org';
    "1": //На ГРБС 
        таблицаДляОгрПоОрг := 'org_GRBS';    
    "2": //На РБС
        таблицаДляОгрПоОрг := 'org_RBS'
    иначе
      // для совместимости поддержим старый параметр
      выбрать Коллекция.Values("ОрганизацияЛС") из
        1:таблицаДляОгрПоОрг := "org";      // по владельцу
        2:таблицаДляОгрПоОрг := "org_GRBS"; // по ГРБС
      конец;
  конец;
  // ограничение по типу организации
  ОгрПоТипуОрг := Ограничение('ТипОрг='+таблицаДляОгрПоОрг+'.ORG_CLS%d', коллекция);
  // ограничение по виду организации
  ОгрПоВидуОрг := Ограничение('ВидОрганизаций='+таблицаДляОгрПоОрг+'.Org_Type%d', коллекция);
  // формируем ограничение по лицевому счету
  ОгрПоЛицСчету := СформироватьОгрПоНаборуМаппингов(Коллекция, 'ЛицСчет=d.FacialAcc_CLS,ОргЛС=d.FacialAcc_CLS', 
                                                               'БюджЛицСчет11=foa.Acc%s,НомерЛС=f.FacialCodeEx%s');
  // ограничение по организации. Выбираются данные по ссылке на организацию (из детали или владельца л\с, ПБС или ГРБС) 
  // согласно параметров "ОпределениеОрганизации","УровеньПлановыхДокументов" и "ОрганизацияЛС"  
  ОгрПоОрганизации := Ограничение('БюджОргСсылка=('+таблицаДляОгрПоОрг+'.id%d)',Коллекция);
  
  ОгрПоПринадлежностиЛС := "";    
  выбрать Коллекция.Значение("ПринадлежностьЛС") из
    1 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is null)"; // л\с, открытые не в федеральном казначействе
    2 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is not null)"; // л\с, открытые в федеральном казначействе
  конец;
  
  // формирует параметры запроса для ограничений с панели ограничений
  МаппингРоспись := МаппингРоспись1 + МаппингРоспись2 + МаппингРоспись3 + МаппингРоспись4 + МаппингРоспись5 + 
                    МаппингРоспись6 + МаппингРоспись7 + МаппингРоспись8 + МаппингРоспись9 + МаппингРоспись10; 

  ОгрБазовые := Ограничение(МаппингРоспись,Коллекция);
  
  ОгрПоСвязям := "";
  ОгрПоВходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязи", ОгрПоСвязям);
  ОгрПоИсходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязи", ОгрПоСвязям);
  ОгрПоВходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrсс", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  ОгрПоИсходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrpc", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);
    
  // учет направления источника внутреннего и внешнего финансирования (погашение или поступление)
  // Учет делается только для выборки по источниковой классификации. иначе запрос отработает некорректно: будет умножение на nil
  НаправлИсточн := " ";
  если (Коллекция.Values("УчетНаправленияИсточника")=1) и
    ((Коллекция.Values("ТипКлассификацииРасх")=1) или (Коллекция.Values("ТипКлассификации")=1)
     или (((Коллекция.Values("ИндексыДанных")=прогиндБюджет)или(Коллекция.Values("ИндексыДанных")=прогиндКП_Помесячно)или(Коллекция.Values("ИндексыДанных")=прогиндПОФпоПБС_Помесячно))
          и ((Коллекция.Values("ТипКлассификацииРасх")=1)или(Коллекция.Values("ТипКлассификации")=1)))
     или (Коллекция.Values("ИндексыДанных")=прогиндСБР_Источники)
     или (Коллекция.Values("ИндексыДанных")=прогиндБР_Источники)
     или (Коллекция.Values("ИндексыДанных")=прогиндКП_Источники)
     или (Коллекция.Values("ИндексыДанных")=прогиндПОФпоПБС_Источники))
  тогда 
    НаправлИсточн := "*ifs_t.Direction ";
  
  СуммаПоТекКвартал:="";
  если УбратьПробелы(Коллекция.Values("Квартал"))&lt;&gt;"" тогда
    Тек := Коллекция.Values("Квартал")
  иначе Тек := ((СТрокаВЦелое(Коллекция.Values("КонечнаяДата"))цел 100) ост 100  + 2)цел 3;
  если Тек=0 тогда Тек := ((СТрокаВЦелое(Коллекция.Values("КонечнаяДата"))цел 100) ост 100  + 2)цел 3;// если выбрано квартал=&lt;нет&gt;, то берем текущий квартал
  если тек &gt; 4 тогда тек := 4;
  если тек&lt;1 тогда тек := 1;
  от сч := 1 до тек делать
    если сч=тек тогда    
      СуммаПоТекКвартал := СуммаПоТекКвартал + "d.quarter" + ЦелоеВСтроку(сч)
    иначе
      СуммаПоТекКвартал := СуммаПоТекКвартал + "d.quarter" + ЦелоеВСтроку(сч) + "+";
  // Если значение параметра "Квартал" = год, то значение поля "НаТекКвартал" = сумме за весь год
  если Коллекция.Values("Квартал") = 5 тогда
    СуммаНаТекКвартал := " (" + СуммаПоТекКвартал+")"+НаправлИсточн+" SumCurQuarter, "  
  иначе      
    СуммаНаТекКвартал:=" (d.quarter"+ ЦелоеВСтроку(тек)+")"+НаправлИсточн+ " SumCurQuarter, ";
       
  если (СуммаПоТекКвартал &lt;&gt; "") тогда СуммаПоТекКвартал := " (" + СуммаПоТекКвартал +")"+НаправлИсточн+" TotalSumOnQuarter, ";
 
  СуммаПоТекМесяц:="";
  если УбратьПробелы(Коллекция.Values("Месяц"))&lt;&gt;"" тогда
    Тек := Коллекция.Values("Месяц")
  иначе тек:= (СТрокаВЦелое(Коллекция.Values("КонечнаяДата"))цел 100) ост 100;
  если тек &gt; 12 тогда тек := 12;
  если тек&lt;1 тогда тек := 1;
  от сч := 1 до тек делать     
    если сч=тек тогда
      СуммаПоТекМесяц := СуммаПоТекМесяц + "d.month" + ПравоеВыравнивание(ЦелоеВСтроку(сч),2, "0")
    иначе СуммаПоТекМесяц := СуммаПоТекМесяц + "d.month" + ПравоеВыравнивание(ЦелоеВСтроку(сч),2, "0") + "+";     
  если (СуммаПоТекМесяц &lt;&gt; "") тогда СуммаПоТекМесяц := " (" + СуммаПоТекМесяц +")"+НаправлИсточн+" TotalSumOnMonth, ";   
  СуммаНаТекМесяц:=" d.month"+ ПравоеВыравнивание(ЦелоеВСтроку(тек), 2, "0") +НаправлИсточн+ " SumCurMonth, ";
  
  ОгрДоп := Коллекция.Values("ДопПараметры");

  ОгрПоПустымБухСчетам:='';  
  если (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    ОгрПоПустымБухСчетам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) ";  

  //для бухгалтерии добавим поле суммы, в которое будут помещаться как суммы на текущий год, так и суммы на 3 года.
  если ПолучитьКонстантуКэш("ПериодФормированияПроводок", 32, 28, 0) = "0" тогда  //=0 на год, =1 на 3 года
      СуммаБух := " d.SummaYear1 summa,"
  иначе  // суммы на 3 года будут вычисляться позже. Здесь добавим под них поле.  
    СуммаБух := " cast (0 as float) summa,";

  // Выбирать включенные в сводные уведомления
  если (Коллекция.Values("СводныеУведомления")="2") тогда 
    ОгрПоСводнымУведомлениям := "and(d.UNIONNOTIFYREF is null)"
  иначе 
    ОгрПоСводнымУведомлениям := "";
    
  // формируем стандартные ограничения, накладываемые с панели ограничений
  Если Коллекция.ПараметрСуществует("ОгрСтатус") тогда 
    ОгрПоСтатусу := "and (pde.status = 1)"
  иначе 
    ОгрПоСтатусу :="";
  
  // ограничиваем (если требуется) по правам на классификацию. 
  //Ограничения по остальным правам(на Р\с, организации) накладываются ранее в поддержкаПроекта.abl
  ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКРасх,Коллекция,'((d.CLSType=0)and(%s))');
  ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКИст,Коллекция,' or((d.CLSType=1)and(%s))');
  ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКДох,Коллекция,' or((d.CLSType=2)and(%s))');
  Если ОгрПрава_БКРасх&lt;&gt;"" тогда 
    ОгрПрава := 'and('+ОгрПрава_БКРасх+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
  иначе 
    ОгрПрава := ''; 

  // ограничение по коду цели (зависиот от константы (32, 41): через тип средств или КЦС)
  ОгрКодЦели := ОграничениеПоКодуЦели(Коллекция, "Код_Цели=mt.TargetCls%d", "Код_Цели=tc.TargetCls%d");

  Запрос := "SELECT d.ID, c.id CptID, d.FacialAcc_CLS FacialAcc, c.FacialAccCls CptFacialAcc, d.KFSR, d.KESR," +nl+  
          "  d.KVR KVRID, tkvr.Code KVR, d.KVSR KVSRID, tkvsr.Code KVSR, d.KCSR KCSRID, tkcsr.Code KCSR," +nl+
          "  d.IFS IFS_REF, ifs_t.FinSourceValue IFS, d.KD KDID, kdt.KDValue KD, cast(0 as varchar(20)) BudClS," +nl+
          "  d.SUBKESR, d.DirectionCLS, d.FACT, d.FinType, d.FundsSource, c.NOTIFYTYPE FinSource, d.RegionCls, d.MeansType," +nl+
          "  mt.ActivityKind, d.CLSType, c.ASSIGNMENTSOURCE, d.KESRCORR, d.ASSIGNMENTKIND, d.TransfertCls, tc.Code TransfertClsValue," +nl+
          "  c.RejectCLS, d.ProgIndex, c.DateInput, c.Dat AcceptDate, d.Acc_Ref, oa.Acc_CLS, c.AType, c.Variant, c.REJECTNOTE," +nl+
          "  cast (c.ANumber as varchar(50)) DocNumber, cast (c.DocNumber as varchar(50)) DocBaseNumber," +nl+ 
          "  d.Note, c.Note BaseNote, c.Note1, c.Note2, c.DocBase, c.DocDat, d.BudgetRef, c.KPPeriod, d.SubKD, d.DayPlan," +nl+
          "  c.UsersVisa, c.DocStateRef, c.CryptoStatus, c.BA_LBO_FLAG, c.PlanDocType, " +nl+
          "  c.OrgRef, d.Org_Ref Org_Ref_Det, org.id org_id, org_RBS.id Org_RefRBS_Det, org_GRBS.id Org_RefGRBS_Det," +nl+
          "  d.CreateDate, d.UpdateDate, c.CreateDate CptCreateDate, c.UpdateDate CptUpdateDate," +nl+
          "  d.CreaterUser, d.UpdaterUser, c.CreaterUser CptCreaterUser, c.UpdaterUser CptUpdaterUser," +nl+ 
          "  cast (2 as integer) AlgIndex, c.LASTEXTRCHANGE LASTEXTRCHANGE," +nl+
          "  c.StimateID, d.StimateId DetStimateID, c.Id CptFUID, d.Id DetFUID, c.SenderId CptSenderID, d.SenderId DetSenderID," +nl+
          "  c.SenderRecordId CptSenderRecordID, d.SenderRecordId DetSenderRecordID," + nl + 
          /$если !База70100
          "  d.TransfertOrg_Ref, d.DepartmentCls," +
          /$конец 
          "  d.RegionCLS RegionDetail, d.RegionCLS RegionContractor, OrgOwner.RegionCLS RegionBudgetEst," + nl +
          "  d.SubsidyCls, sc.Code SubsidyClsCode, d.BudAllocationCls, balc.Code BudAllocationClsCode," + nl + 
          "  d.PayPromiseCls, ppc.Code PayPromiseClsCode, d.SUBSIDYCLSOLD, scold.Code SubsidyClsOldCode, " + nl +
          // поля для инструкции 70н
          "  d.BuhOperationCLS, bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, bac.CORRECTIONFLAG, " +nl+     
          "  CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," +nl+                 
          "  CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," +nl+
          "  cast(0 as varChar(17)) CreditDocCLS, cast(0 as varChar(17)) DebitDocCLS," +nl+
          "  cast(0 as varChar(8)) DebitCodeAcc70n, cast(0 as varChar(8)) CreditCodeAcc70n," +nl+
          "  cast(0 as varChar(28)) DebitNumberAcc70n, cast(0 as varChar(28)) CreditNumberAcc70n," +nl+
          "  cast(0 as double precision) DebitAcc70n, cast(0 as double precision) CreditAcc70n," +nl+
          "  cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," +nl+                       
          "  cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," +nl+                                                                                     
          "  0 CreditDocEK, 0 DebitDocEK, cast (1 as integer) PeriodOfOperation, " +nl+
          //поля ЭО
          "  pde.Status, pde.status pdeStatus, pde.DocNumber pdeDocNumber, pde.senddate pdeSenddate, pde.note pdeNote," +nl+
          "  pde.queuetime, pde.PACKETNUMBER, c.DATE_UTV_PP," +nl+
          //поля связей
          "  lrc.LinkTypeRef InLinkTypeRef, lrp.LinkTypeRef OutLinkTypeRef, lrc.ID InLink, lrp.ID OutLink," +nl+
          "  lrc.LinkTypeRef InLinkType, lrp.LinkTypeRef OutLinkType, lrcc.ID InLinkCpt, lrpc.ID OutLinkCpt," +nl+
          "  lrcc.LinkTypeRef InLinkTypeCpt, lrpc.LinkTypeRef OutLinkTypeCpt," +nl+                
          // поля сумм
          "  d.Quarter1"+НаправлИсточн+" Quarter1, d.Quarter2"+НаправлИсточн+" Quarter2," +nl+
          "  d.Quarter3"+НаправлИсточн+" Quarter3,d.Quarter4"+НаправлИсточн+" Quarter4," +nl+
          "  (d.quarter1+d.quarter2+d.quarter3+d.quarter4)"+НаправлИсточн+" SummQuarterOnYear," +nl+
          "  (d.Quarter1+d.Quarter2)"+НаправлИсточн+" SumOnSecondQuarter," +nl+ 
          "  (d.Quarter1+d.Quarter2+d.Quarter3)"+НаправлИсточн+" SumOnThirdQuarter," +nl+
          СуммаБух +nl+
          СуммаПоТекКвартал +nl+
          СуммаНаТекКвартал +nl+
          СуммаПоТекМесяц +nl+
          СуммаНаТекМесяц +nl+
          "  d.Month01"+НаправлИсточн+" Month01, d.Month02"+НаправлИсточн+" Month02, d.Month03"+НаправлИсточн+" Month03," +nl+
          "  d.Month04"+НаправлИсточн+" Month04, d.Month05"+НаправлИсточн+" Month05, d.Month06"+НаправлИсточн+" Month06," +nl+
          "  d.Month07"+НаправлИсточн+" Month07, d.Month08"+НаправлИсточн+" Month08, d.Month09"+НаправлИсточн+" Month09," +nl+
          "  d.Month10"+НаправлИсточн+" Month10, d.Month11"+НаправлИсточн+" Month11, d.Month12"+НаправлИсточн+" Month12," +nl+
          "  (d.month01+d.month02+d.month03+d.month04+d.month05+d.month06+d.month07+d.month08+d.month09+d.month10+d.month11+d.month12)"+НаправлИсточн+" SummMonthOnYear," +nl+
          "  d.SummaYear1 "+НаправлИсточн+"SummaYear1, d.SummaYear2 "+НаправлИсточн+"SummaYear2, d.SummaYear3 "+НаправлИсточн+"SummaYear3," +nl+
          "  (d.SummaYear1 + d.SummaYear2 + d.SummaYear3) "+НаправлИсточн+"SummOnPeriod," +nl+
          "  d.DayPlanSumma"+НаправлИсточн+" DayPlanSumma," +nl+ 
          // несуществующие поля
          "  cast(null as Integer) DocSuspended," +nl+
          "  cast(null as Integer) IsInBudget," +nl+
          "  cast(null as Integer) IsVised," +nl+
          "  cast(null as Integer) BeginDocStateRef," +nl+
          "  cast(null as Integer) SoftRejectCLS," +nl+
          "  cast(null as varchar(255)) SoftRejectCause " +nl+
          "FROM " +nl+
          "  budNotify c right join BudgetData d On (c.id = d.RecordIndex) " +nl+
          "  left join FacialAcc_CLS f On (f.id = d.FacialAcc_CLS) " +nl+
          "  left join Organizations OrgOwner on (f.Org_ref = OrgOwner.Id)" + nl + 
          "  left join Org_Accounts foa on (f.FCAccount = foa.id)" + nl +
          "  left join KVSR tkvsr on (tkvsr.id = d.KVSR)" +nl+
          "  left join KVR tkvr on (tkvr.id = d.KVR)" +nl+
          "  left join SubsidyCls sc on (sc.id = d.SubsidyCLS)" +nl+
          "  left join SubsidyCls scold on (scold.id = d.SUBSIDYCLSOLD)" +nl+          
          "  left join BudAllocationCls balc on (balc.id = d.BudAllocationCls)" +nl+
          "  left join PayPromiseCls ppc on (ppc.id = d.PayPromiseCls)" +nl+
          "  left join KCSR tkcsr on (tkcsr.id = d.KCSR)" +nl+
          "  left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)" +nl+
          "  left join KVSR tkvsrIFS on (tkvsrIFS.id = ifs_t.KVSR)" +nl+
          "  left join KD kdt on (kdt.id = d.KD)" +nl+
          "  left join KVSR tkvsrKD on (tkvsrKD.id = kdt.KVSR)" +nl+
          "  left join TransfertCls tc on (tc.ID = d.TransfertCls)" +nl+
          "  left join AssignmentKind aknd on (aknd.ID = d.AssignmentKind)" +nl+
          "  left join AssignmentSource asrc on (asrc.ID = c.AssignmentSource)" +nl+
          СоединениеДляОрганизации +nl+
          "  left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)" +nl+
          "  left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)" +nl+ 
          "  left join Org_Accounts oa on (oa.id=d.ACC_REF)" +nl+
          // таблицы для инструкции 70н
          "  left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" +nl+
          "  left join BuhOperationCLS boCLS on (boCLS.id = d.BuhOperationCLS)" +nl+    
          "  left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" +nl+
          "  left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" +nl+
          "  left join MeansType mt on (mt.ID = d.MeansType) " +nl+
          "  left join PayDocExchange pde On (pde.PayDocRef = d.id) " +nl+
          "  left join LinkRecords lrp on ((lrp.ParentID = d.id)" + ОгрПоИсходящимСвязям + ")" +nl+
          "  left join LinkRecords lrc on ((lrc.ChildID = d.id)" + ОгрПоВходящимСвязям + ")" +nl+
          "  left join LinkRecords lrpc on ((lrpc.ParentID = c.id)" + ОгрПоИсходящимСвязямЗаголовка + ")" +nl+
          "  left join LinkRecords lrcc on ((lrcc.ChildID = c.id)" + ОгрПоВходящимСвязямЗаголовка + ")" +nl+
          "WHERE " +nl+
          "(1=1)" + ОгрПоРоспУвед +nl+                    
          ОгрБазовые +nl+
          ОгрПоДате +nl+          
          ОгрПоДатамБухОпераций + nl +
          ОгрПоЛицСчету +nl+
          ОгрПоСервиснымСчетам +nl+
          ОгрДоп +nl+
          ОгрПоОрганизации +nl+
          ОгрВыбиратьАссигнования +nl+
          ОгрПоПустымБухСчетам +nl+
          ОгрПоТипуОрг +nl+
          ОгрПоВидуОрг +nl+
          ОгрПоСводнымУведомлениям +nl+
          ОгрПоПринадлежностиЛС +nl+
          ОгрПоСтатусу +nl+
          ОгрГруппаПланДок +nl+
          ОгрУровеньПланДок +nl+
          ОгрПоСвязям + nl +
          /$если База70100
          ОгрТипДеят +nl+
          /$конец
          ОгрПрава + nl +
          ОгрКодЦели;
  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);
конец;

функция ПолучитьРоспись(Данные : СтатическиеДанные; Коллекция:IVariables);
переменные
  Запрос : Строка;
  ЛокКоллекция: IVariables;
начало
  ЛокКоллекция := CreateVariables;
  попытка
    попытка
      ЛокКоллекция.PumpData(Коллекция);
      если Позиция("BudClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0
        тогда ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + ",KVSR,KFSR,KCSR,KVR,KESR,IFS,IFS_REF,KD,ClsType";   
      Запрос := ЗапросРоспись(ЛокКоллекция);
    обязательно
      Коллекция.Values("КоментарийСекции") := "";
    конец;
    ЗакачатьДанныеЗапроса(Данные, Запрос, ЛокКоллекция);
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=IFS,ИВФКлюч=IFS_REF,КД=KD,ВидКлс=ClsType",Данные,ЛокКоллекция);
  обязательно
    УдалитьОбъект(ЛокКоллекция);  
  конец;
конец;

// Дублируем записи по годам с проставлением соответствующего периода операции
функция КлонироватьПроводки(Данные: СтатическиеДанные;Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
  сч: целое;
  СтрокаГруппировки, ВарОчереднГода: строка;
начало
  ВспомСД := СоздатьСтатическиеДанные;
  попытка
    ВспомСД.ПрисвоитьПоля(Данные);
    // чтобы уменьшить число обрабатываемых записей группируем множество.
    // при этом нужно сгруппировать отдельно все положительные и все отрицательные суммы
    // чтобы знак квартальной или месячной суммы при группировке не пропал, учитываем его в добавленной для этого колонке ЗнакСуммы.
    ВспомСД.Открыть;

    //вариант ведения очередного года (4-го года)
    ВарОчереднГода := ЦелоеВСтроку(ЦелаяКонстанта(60,25));

    //Добавляем по записи на каждый год
    от сч := 1 до 3 делать
    начало
      если (Коллекция.Значение("ПериодПланирования") = "")или(Коллекция.Значение("ПериодПланирования") = 0)
        или(Коллекция.Значение("ПериодПланирования") = сч) тогда
      начало  
        СтрокаГруппировки := 'keys=*;Summa=SummaYear' + ЦелоеВСтроку(сч);
        если ВспомСД.НайтиПоле('PeriodOfOperation',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';PeriodOfOperation=((Variant=' + ВарОчереднГода + ')?' +
            ЦелоеВСтроку(сч+1) + ':' + ЦелоеВСтроку(сч) + ')';    
        если ВспомСД.НайтиПоле('CreditAcc70nValue',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';CreditAcc70nValue=((Variant=' + ВарОчереднГода + ')?' +    
            '(CreditAcc70nValue + (' + ЦелоеВСтроку(сч+1) + '*1000))' + ':(CreditAcc70nValue + (' + ЦелоеВСтроку(сч) + '*1000)))';    
        если ВспомСД.НайтиПоле('DebitAcc70nValue',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';DebitAcc70nValue=((Variant=' + ВарОчереднГода + ')?' +    
            '(DebitAcc70nValue + (' + ЦелоеВСтроку(сч+1) + '*1000))' + ':(DebitAcc70nValue + (' + ЦелоеВСтроку(сч) + '*1000)))';    
        если ВспомСД.НайтиПоле('CreditAccPlan',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';CreditAccPlan=((Variant=' + ВарОчереднГода + ')?' +    
            '(CreditAccPlan + (' + ЦелоеВСтроку(сч+1) + '*1000000))' + ':(CreditAccPlan + (' + ЦелоеВСтроку(сч) + '*1000000)))';    
        если ВспомСД.НайтиПоле('DebitAccPlan',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';DebitAccPlan=((Variant=' + ВарОчереднГода + ')?' +    
            '(DebitAccPlan + (' + ЦелоеВСтроку(сч+1) + '*1000000))' + ':(DebitAccPlan + (' + ЦелоеВСтроку(сч) + '*1000000)))';    
        ВспомСД.GroupData(Данные, СтрокаГруппировки);
      конец;            
    конец;    
    Данные.Reset;  
    Данные.Закачать(ВспомСД);    
    ВспомСД.Reset;      
  обязательно
    УдалитьОбъект(ВспомСД);
  конец;  
конец;
       
//-------------------------------------------------------------------------------------------------------
// Получить Роспись с учетом формирования проводок по бухгалтерии
//-------------------------------------------------------------------------------------------------------
константы
  МаппингСвязанныхПолейОбщий1 = "%EС=KESR,KESRCORR,ClsType,IFS_REF,KD;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=KVSR,KFSR,KCSR,KVR,ClsType,IFS_REF,KD;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind;";
  
  МаппингСвязанныхПолейОбщий5 = "summa=SummaYear1,SummaYear2,SummaYear3";
  
функция ПолучитьБухРоспись(Данные: статическиеДанные; коллекция:IVariables);
переменные
  поляВыборки,КорКЭСР: строка;
  МаппингСвязанныхПолей : строка;
начало
  // Формируем по 70Н
  ПоляВыборки := Коллекция.Values("ПоляВыборки");
  МаппингСвязанныхПолей := МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4;

  МаппингСвязанныхПолей := МаппингСвязанныхПолей + МаппингСвязанныхПолейОбщий5;
             
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолей, Коллекция) + ",ProgIndex,CORRECTIONFLAG,Variant";  //вариант выбирается для отражения в проводках 4-го года
  
  попытка
    Если не(Коллекция.ПараметрСуществует("ВариантыРасходовБух") и (Коллекция.Значение("ВариантыРасходовБух") &lt;&gt; '')) тогда
      Коллекция.Значение("ВариантыРасходовБух") := ПолучитьКонстантуКэш("", 60, 24, 2);
    //СБР и БР ГРБС(ГАИФ) расходы и источники, Сметы по ПД
    Коллекция.Значение("ИндексыДанных") := ПолучитьОгрПоГруппеПлановыхДокументов("2,3,5",1,1,0);
    ПолучитьРоспись(Данные, Коллекция);

    КлонироватьПроводки(Данные, Коллекция);
    // используется ли детализация ЭКР в БР ГРБС
    если ПолучитьКонстантуКэш("ДетализацияЭКРвБР", 32, 25, 0)='0' тогда
      КорКЭСР := 'KESR'
    иначе
      КорКЭСР := 'KESRCORR';

    РасширитьОграничениеПоСинтСчетам(Коллекция);
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,' +             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,' +
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,' +
      'ВидКлс=ClsType,КорВидКлс=ClsType,ВидДеятельности=ActivityKind,' +
      'КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,' + 
      'КорКВСР=KVSR,КорКЦСР=KCSR,КорКФСР=KFSR,КорКВР=KVR,КорКЭСР=' + КорКЭСР + ',' +
      'ИВФКлюч=IFS_REF,КорИВФ=IFS_REF,КД=KD,КорКД=KD,' +   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=ProgIndex,' +
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебет=_,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредит=_,' +
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,СуммаВозвратнойОперации=_,' +
      'Сумма=summa,БухОперация=BuhOperationCLS,ИсправляющаяОперация=CORRECTIONFLAG',
      Данные, '2', '2', Коллекция);
  обязательно
    Коллекция.Значение("ПоляВыборки") := ПоляВыборки;                                        
  конец;
конец;
</value>
    <param value="ЗапросыРоспись.abl" type="3" name="Export">MARAEVA7\baranova\19.03.2013 18:46:32</param>
    <param value="ЗапросыРоспись.abl" type="3" name="version">36.042.195</param>
    <param value="ЗапросыРоспись.abl" type="3" name="crc32">$F253129F</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010100</V>
            <V N="Name">Роспись организации</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ОднаДата,ТипКлассификацииРасх,Организация,ИНН,КПП,Наимен,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.01.01) Роспись организации.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает бюджетная роспись указанной организации на дату.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010200</V>
            <V N="Name">Роспись гл.распорядителя на квартал</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ОднаДата,Даты,Квартал,Классификаторы,ЛицСчет,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.01.02) Роспись гл. распорядителя.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отражает сумму лимита бюджетных обязательств, находящихся на л/с ГРК,введенному в параметрах,
 и на л/с конкретных бюджетополучателей, подведомственных данному ГРК.
Суммы лимитов отражаются, исходя из документов, принятых с начала года по 
введенную дату,за желаемый квартал.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010300</V>
            <V N="Name">Роспись получателя бюджетных средств</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ОднаДата,Даты,Квартал,Классификаторы,ЛицСчет,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.01.03) Роспись получателя бюджетных средств.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отражает сумму лимита бюджетных обязательств, находящихся 
для заданной организации с показом росписи на всех его л/с .
Суммы лимитов отражаются, исходя из документов, принятых с начала года по 
введенную дату,за желаемый квартал.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020100</V>
            <V N="Name">Бюджет</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КВР,КЦСР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ,ВидДеятельности</V>
            <V N="Template">(02.02.01) Бюджет.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Выводит роспись бюджета в разрезе бюджетной классификации на указанную дату.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020200</V>
            <V N="Name">Бюджет (вид1)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КВР,КЦСР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ,ВидДеятельности</V>
            <V N="Template">(02.02.02) Бюджет (вид1).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отличается набором  и порядком классификаторов, в разрезе которых выводится роспись.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020300</V>
            <V N="Name">Бюджет (вид2)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КВР,КЦСР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ,ВидДеятельности</V>
            <V N="Template">(02.02.03) Бюджет (вид2).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отличается набором  и порядком классификаторов, в разрезе которых выводится роспись.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020400</V>
            <V N="Name">Бюджет (вид3)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КВР,КЦСР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ,ВидДеятельности</V>
            <V N="Template">(02.02.04) Бюджет (вид3).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отличается набором  и порядком классификаторов, в разрезе которых выводится роспись.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020500</V>
            <V N="Name">Бюджет (вид4)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КВР,КЦСР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ,ВидДеятельности</V>
            <V N="Template">(02.02.05) Бюджет (вид4).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отличается набором  и порядком классификаторов, в разрезе которых выводится роспись.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020600</V>
            <V N="Name">Бюджет(функциональный разрез)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.02.06) Бюджет(функциональный разрез).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Выводит бюджетную роспись в разрезе функциональной статьи расходов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020700</V>
            <V N="Name">Бюджет(экономический разрез)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.02.07) Бюджет(экономический разрез).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Выводит бюджетную роспись в разрезе экономической статьи расходов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020800</V>
            <V N="Name">Бюджет(с функциональным и экономическим разрезами)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КВР,КЦСР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ</V>
            <V N="Template">02020100,02020600,02020700</V>
            <V N="Generation">АлгоритмыН</V>
            <V N="Options">0</V>
            <V N="Note">Выводит роспись бюджета на трех отдельных страницах: в разрезе всей бюджетной классификации, 
в разрезе экономической статьи расходов, в разрезе функциональной статьи расходов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030100</V>
            <V N="Name">Свод росписи ГРК</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ОднаДата,Даты,Квартал,Классификаторы,СтруктураБюджета,ЛицСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.03.01) Свод росписи гл. распорядителей.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отражает суммы лимитов бюджетных обязательств, находящихся на л/с ГРК и на 
л/с конкретных бюджетополучателей, подведомственных данному ГРК,
с промежуточным итогом по каждому ГРК.
Суммы лимитов отражаются, исходя из документов, принятых с начала года по 
введенную дату,за желаемый квартал.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030200</V>
            <V N="Name">Свод росписи получателей бюдж. средств</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ОднаДата,Даты,Квартал,Классификаторы,СтруктураБюджета,ЛицСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.03.02) Свод росписи получателей средств.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отражает суммы лимитов бюджетных обязательств, находящихся на л/с ГРК и на 
л/с конкретных бюджетополучателей, подведомственных данному ГРК,
 с промежуточными итогами для каждого л/с бюджетополучателя и каждого ГРК.
Суммы лимитов отражаются, исходя из документов, принятых с начала года по 
введенную дату,за желаемый квартал.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030400</V>
            <V N="Name">Свод росписи расходов бюджета</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ОднаДата,Организация,ИНН,КПП,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.03.04) Свод росписи расходов бюджета.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040100</V>
            <V N="Name">Форма №2(поквартально)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Квартал,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.04.01) Форма №2(поквартал).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выводит информацию о лимите бюджетных обязательств на квартал.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040200</V>
            <V N="Name">Форма №2(помесячно)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Месяц,ГиперДокумент,ВидДеятельности</V>
            <V N="Template">(02.04.02) Форма №2(помесячно).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выводит информацию о лимите бюджетных обязательств на месяц.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2050100</V>
            <V N="Name">Форма №1 Уведомления о бюджетных ассигнованиях</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,НомерДок,НомерДокИсточн,Классификаторы,СтруктураБюджета,ЛицСчет,ФинИсточники,ФинТипы,КФСР,КВСР,КВР,КЦСР,КЭСР,Направление,СубКЭСР,Мероприятие,РайонТрансферта,РайонБУ,ТипСчета,ТипДокОснов,Организация,ИНН,КПП,РС,ВидДеятельности</V>
            <V N="Template">(02.05.01) Форма №1.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Формирует ленточный отчет об уведомлениях бюджетных ассигнований
по получателям бюджетных средств.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060100</V>
            <V N="Name">Бюджетная роспись</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ГруппаПлановыхДокументов,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаВводаТип,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,НомерДокИсточн,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,РайонТрансферта,РайонБУ,ТипСчета,ТипДокОснов,ТипСредствБюдж,ВидАссигнований,ВидИзменений,КодЦелевыхСредств,ФинИсточники,ФинТипы,ВидДеятельности,ТипКлассификацииРасх,Организация,ИНН,КПП,ВыводОграничений,ГиперДокумент,ВыбиратьАссигнования</V>
            <V N="Template">(02.06.01) Бюджетная роспись (поквартально).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отражает суммы лимитов бюджетных обязательств, находящихся на л/с ГРК и на 
л/с конкретных бюджетополучателей, подведомственных данному ГРК,
с промежуточным итогом по каждому ГРК.
Суммы лимитов отражаются, исходя из документов, принятых с начала года по 
введенную дату,за желаемый квартал.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060200</V>
            <V N="Name">Дерево бюджетной классификации</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ГруппаПлановыхДокументов,Даты,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,НомерДокИсточн,Классификаторы,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинТип,Мероприятие,РайонТрансферта,РайонБУ,ТипСредствБюдж,КодЦелевыхСредств,КодБюджАссигнования,КодРасходногоОбязательства,ТипДеятельности,ВыбиратьАссигнования</V>
            <V N="Template">(02.06.02) заполнение дерева бюджетной классификации.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет строит дерево бюджетной классификации</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021100</V>
            <V N="Name">Формирование Закона о бюджете по СБР</V>
            <V N="Params">СоставБюджета,ВариантРосписи,ТипКлассификации,РасхТипКлс,ИстТипКлс</V>
            <V N="Template">(02.02.11) Формирование Закона о бюджете на основе СБР.tmf</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">65536</V>
            <V N="Note">Формирует Закон о бюджете по СБР(расходы, источники)</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020900</V>
            <V N="Name">Исполнение бюджета по ведомству</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КВР,КЦСР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонБУ,ВидДеятельности</V>
            <V N="Template">(02.02.09) исполнение бюджета по ведомству.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070100</V>
            <V N="Name">Сводная бюджетная роспись расходов на очередной год</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(02.07.01) СБР на очередной год.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070200</V>
            <V N="Name">Сводная бюджетная роспись расходов на плановый период</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(02.07.02) СБР на плановый период.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070300</V>
            <V N="Name">Распределение по СБР расходов на очередной год по ФКР</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(02.07.03) СБР на очередной год по ФКР.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070400</V>
            <V N="Name">Распределение по СБР расходов на плановый период по ФКР</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(02.07.04) СБР на плановый период по ФКР.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070500</V>
            <V N="Name">Распределение по СБР расходов на очередной год по КВСР</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(02.07.05) СБР на очередной год по КВСР.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070600</V>
            <V N="Name">Распределение по СБР расходов на плановый период по КВСР</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(02.07.06) СБР на плановый период по КВСР.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070700</V>
            <V N="Name">Распределение по СБР расходов на очередной год по КЦСР</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(02.07.07) СБР на очередной год по КЦСР.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070800</V>
            <V N="Name">Распределение по СБР расходов на плановый период по КЦСР</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(02.07.08) СБР на плановый период по КЦСР.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030500</V>
            <V N="Name">Показатели кассового плана по расходам</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ЕдиницыИзмерения,ВыводОграничений</V>
            <V N="Template">(02.03.05) Показатели кассового плана по расходам.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080100</V>
            <V N="Name">Соответствие показателей СБР, бюджета, БР ГРБС, КП</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ТипСредствБюдж,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,КодЦелевыхСредств,ЕдиницыИзмерения</V>
            <V N="Template">(02.08.01) Соответствие показателей СБР, бюджета, БР ГРБС, КП.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080200</V>
            <V N="Name">Соответствие показателей БР ГРБС и КП по ПБС</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ТипСредствБюдж,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,КодЦелевыхСредств,ЕдиницыИзмерения</V>
            <V N="Template">(02.08.02) Соответствие показателей БР ГРБС и КП по ПБС.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010400</V>
            <V N="Name">Уведомление о кассовом плане (расходы)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ТипСредствБюдж,ВидАссигнований,КодЦелевыхСредств</V>
            <V N="Template">(02.01.04) Уведомление о кассовом плане (расходы).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2021000</V>
            <V N="Name">Уведомление о кассовом плане (расходы) ГРБС</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ТипСредствБюдж,ВидАссигнований,КодЦелевыхСредств</V>
            <V N="Template">(02.02.10) Уведомление о кассовом плане (расходы) ГРБС.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060300</V>
            <V N="Name">Соответствие БК с лс и организациями</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,ГруппаПлановыхДокументов,Даты,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,НомерДокИсточн,Классификаторы,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,Мероприятие,ТипСредствБюдж,СубКЭСР,Направление,ФинТип,РайонТрансферта,РайонБУ,КодЦелевыхСредств,ТипДеятельности,ВыбиратьАссигнования</V>
            <V N="Template">(02.06.03) Соответствие БК с лс и организациями.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040400</V>
            <V N="Name">Сведения об операциях с субсидиями</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет</V>
            <V N="Template">(02.04.04) Сведения об операциях с субсидиями.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.195</param>
  </node>
  <version_info>
    <file>Сборка(03)Казначейство.xml</file>
    <version>36.042.279</version>
    <info>&lt;p&gt;Отчеты казначейства&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:27</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыКазначейство.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\LinkInfo2.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';
включить '\макросы\отчеты\поддержкаОтчетов.abl';

константы
  nl = #13#10;
  // константы для работы с заблокированными средствами
  бсНеЗаблокированные   = 1; 
  бсЗаблокированные     = 2;
  бсРазблокированные    = 3;
  бсНеУчитывать         = 0;
  // все прогиндексы казначейства
  СписокВсехПрогиндексовКазн='60,61,62,63,64,65,66,67,68,69,70,71,73,75,76';
  // маппинг приходной классификации
  МаппингКлсКазнПриход1 = 'КФСР=d.DestKFSR,КВСР=dKvsr.Code%d,КВР=dKvr.Code%k,КЦСР=dKcsr.Code%k,КЭСР=d.DestKESR,ТипПлатДок=d.DestDocType,КодСубсидии=d_sc.Code%k,';
  МаппингКлсКазнПриход2 = 'СубКЭСР=d.DestSubKESR,ФинИсточник=d.DestFinSource,ФинТип=d.DestFinType,ФинТипы=d.DestFinType,ИстВнутрФин=d_ifs.FinSourceValue%l,ВидАссигнований=d.DestAssignmentKind,';
  МаппингКлсКазнПриход3 = 'Мероприятие=d.DestFACT,ТипСредствБюдж=d.DestMeansType,ФинИсточники=d.DestFinSource,ИсточникОбразованияСредств=d.DestFundsSource,ВидДеятельности=d_mt.ActivityKind%d,КодДохода=D_KD.KDValue%l,';
  МаппингКлсКазнПриход4 = 'ТипБухОперации=c.DestType%d,ДоговораБО=d.DestBudgetPromise,Направление=d.DestDirectionCLS,ТипДокОснов=d.DestDocBase,ХарактерЛС=DFacial.HARACTERACCOUNT%d,Район=d.DestRegionCls%d,';
  МаппингКлсКазнПриход5 = 'НаправлениеИсточника=(d.CLSType=0)or(d.CLSType=2)or(d_ifs.Direction%d),КодЦелевыхСредств=d_tc.Code%d,КодЦелевыхСредствПризнак=d_tc.TARGETMEANSSIGN%d,ТипКлассификации=d.DestCLSType%d,ТипКлассификацииРасх=d.DestCLSType%d,';
  /$если База70100
  МаппингКлсКазнПриход6 = 'РайонТрансферта=d.DestRegionCLS%d,РайонКонтрагента=s_o.RegionCLS%d,РайонБУ=d_OwnOrg.RegionCLS%d,КодБюджАссигнования=d_balc.Code%k,КодРасходногоОбязательства=d_ppc.Code%k';
  /$иначе
  МаппингКлсКазнПриход6 = 'РайонТрансферта=d.DestRegionCLS%d,РайонКонтрагента=s_o.RegionCLS%d,РайонБУ=d_OwnOrg.RegionCLS%d,КодБюджАссигнования=d_balc.Code%k,КодРасходногоОбязательства=d_ppc.Code%k,ТипДеятельности=d_mt.ActivityType%d';
  /$конец
  МаппингБюдОбязУчетДогов = ',НомерБО=%0:s';
  // опциональный маппинг прихода
  МаппингПриходБюдОбязСтд = ',НомерБО=d.DestPromise%d';
  // маппинг расходной классификации
  МаппингКлсКазнРасход1 = "КФСР=d.SourceKFSR%d,КВСР=sKvsr.Code%d,КВР=sKvr.Code%k,КЦСР=sKcsr.Code%k,КЭСР=d.SourceKESR,ТипПлатДок=d.SourceDocType,КодСубсидии=s_sc.Code%k,Район=d.SourceRegionCls%d,";
  МаппингКлсКазнРасход2 = 'ТипБухОперации=c.SourceType%d,ДоговораБО=d.SourceBudgetPromise,Направление=d.SourceDirectionCLS,ТипДокОснов=d.SourceDocBase,ВидДеятельности=s_mt.ActivityKind%d,';
  МаппингКлсКазнРасход3 = 'СубКЭСР=d.SourceSubKESR,ФинИсточник=d.SourceFinSource,ФинТип=d.SourceFinType,ФинТипы=d.SourceFinType,КодДохода=S_KD.KDValue%l,ВидАссигнований=d.SourceAssignmentKind,';
  МаппингКлсКазнРасход4 = 'Мероприятие=d.SourceFACT,ТипСредствБюдж=d.SourceMeansType,ФинИсточники=d.SourceFinSource,ИсточникОбразованияСредств=d.SourceFundsSource,ХарактерЛС=SFacial.HARACTERACCOUNT%d,';
  МаппингКлсКазнРасход5 = 'КодЦелевыхСредств=s_tc.Code%d,КодЦелевыхСредствПризнак=s_tc.TARGETMEANSSIGN%d,ТипКлассификации=d.CLSType%d,ТипКлассификацииРасх=d.CLSType%d,';
  /$если База70100
  МаппингКлсКазнРасход6 = 'РайонТрансферта=d.SourceRegionCls%d,РайонКонтрагента=d_o.RegionCLS%d,РайонБУ=s_OwnOrg.RegionCLS%d,КодБюджАссигнования=s_balc.Code%k,КодРасходногоОбязательства=s_ppc.Code%k';
  /$иначе
  МаппингКлсКазнРасход6 = 'РайонТрансферта=d.SourceRegionCls%d,РайонКонтрагента=d_o.RegionCLS%d,РайонБУ=s_OwnOrg.RegionCLS%d,КодБюджАссигнования=s_balc.Code%k,КодРасходногоОбязательства=s_ppc.Code%k,ТипДеятельности=s_mt.ActivityType%d';
  /$конец
  МаппингКлсКазнРасходОбщий1 = "ИстВнутрФин=s_ifs.FinSourceValue%l,НаправлениеИсточника=(d.CLSType=0)or(d.CLSType=2)or(s_ifs.Direction%d),";
  //Отдельный маппинг для бухгалтерии, ограничение на переброску накладывается по приходной и расходной классификации
  МаппингКлсБухРасход1 = "КФСР=(d.SourceKFSR%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestKFSR%d)),КВСР=(sKvsr.Code%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(dKvsr.Code%d)),";
  МаппингКлсБухРасход2 = "КВР=(sKvr.Code%k)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(dKvr.Code%k)),КЦСР=(sKcsr.Code%k)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(dKcsr.Code%k)),";
  МаппингКлсБухРасход3 = "КЭСР=(d.SourceKESR%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestKESR%d)),ТипПлатДок=(d.SourceDocType%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestDocType%d)),";
  МаппингКлсБухРасход4 = "ТипБухОперации=(c.SourceType%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(c.DestType%d)),ДоговораБО=(d.SourceBudgetPromise%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestBudgetPromise%d)),";
  МаппингКлсБухРасход5 = "Направление=(d.SourceDirectionCLS%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestDirectionCLS%d)),ТипДокОснов=(d.SourceDocBase%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestDocBase%d)),";
  МаппингКлсБухРасход6 = "СубКЭСР=(d.SourceSubKESR%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestSubKESR%d)),ФинИсточник=(d.SourceFinSource%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFinSource%d)),";
  МаппингКлсБухРасход7 = "ФинТип=(d.SourceFinType%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFinType%d)),ФинТипы=(d.SourceFinType%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFinType%d)),";
  МаппингКлсБухРасход8 = "ВидАссигнований=(d.SourceAssignmentKind%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestAssignmentKind%d)),Мероприятие=(d.SourceFACT%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFACT%d)),";
  МаппингКлсБухРасход9 = "ТипСредствБюдж=(d.SourceMeansType%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestMeansType%d)),ФинИсточники=(d.SourceFinSource%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFinSource%d)),";
  МаппингКлсБухРасход10 = "ХарактерЛС=(SFacial.HARACTERACCOUNT%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(DFacial.HARACTERACCOUNT%d)),ИсточникОбразованияСредств=(d.SourceFundsSource%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFundsSource%d)),";  
  МаппингКлсБухРасход11 = "КодДохода=(S_KD.KDValue%l)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(D_KD.KDValue%l)),КодЦелевыхСредств=(s_tc.Code%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d_tc.Code%d)),";
  МаппингКлсБухРасход12 = "КодЦелевыхСредствПризнак=(s_tc.TARGETMEANSSIGN%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d_tc.TARGETMEANSSIGN%d)),";
  МаппингКлсБухРасход13 = "КодСубсидии=(s_sc.Code%k)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d_sc.Code%k)),ВидДеятельности=(s_mt.ActivityKind%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d_mt.ActivityKind%d)),";
  МаппингКлсБухРасход14 = "ТипКлассификации=(d.CLSType%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestCLSType%d)),ТипКлассификацииРасх=(d.CLSType%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestCLSType%d)),";
  МаппингКлсБухРасход15 = "КодБюджАссигнования=(s_balc.Code%k)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d_balc.Code%k)),КодРасходногоОбязательства=(s_ppc.Code%k)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d_ppc.Code%k))";
  // опциональный маппинг расхода
  МаппингРасходБюдОбязСтд = ',НомерБО=d.SourcePromise%d';
  // маппинг для ограничений по датам
  МаппингОгрДаты = 'ДатаРеестраТип=c.ReestrDate,ДатаВводаТип=c.DocumentDate,ДатаДокументаТип=c.DocumentDate,ДатаПринятияТип=d.AcceptDate,ДатаОтправленияТип=ex.SendDate,ДатаЗаявкиТип=c.RequestDate,ДатаСозданияТип=c.Createdate,ДатаРазблокировкиТип=d.UnBlockedDate,ДатаИзмененияТип=c.UpdateDate';
  // общий маппинг прихода и расхода
  МаппингБазовыеОгр1 = 'ПричинаОтклон=c.Reject_CLS%d,НаСчет=c.DestAccount%d,СоСчета=c.SourceAccount%d,Пользователь=d.CreaterUser%s,Бюджет=c.BudgetRef%d,НомерПакета=ex.PacketNumber%s,';
  МаппингБазовыеОгр2 = 'ДатаВремяСоздания=d.CreateDate,ДатаВремяИзменения=d.UpdateDate,ДатаВремяСозданияДокумента=c.CreateDate,ДатаВремяИзмененияДокумента=c.UpdateDate,';
  МаппингБазовыеОгр3 = 'НомерДок=c.DocNumber%s,КодРеестра=c.Reestr_Ref%d,ТипРеестра=ffr.REESTRTYPEEX%d,НомерРеестра=ffr.ReestrNumber%s,Сумма=d.Credit%f,СотояниеКазнДок=C.TreasuaryDocStateCLS%d,ВидПлатежа=c.PayTypeCLS,';
  МаппингБазовыеОгр4 = 'Отдел=c.DepartmentCls%d,КриптоСтатус=c.CryptoStatus%d,СостояниеДокумента=c.DOCSTATEREF%d,РеестрЗаявок=c.ManagerBid,ОчередностьПлатежа=c.PAYPRIORITY,';
  МаппингБазовыеОгр5 = 'БухПроводка=c.BuhPaymentCLS,КодСводногоПП=c.IntegratedDocRef,ФедеральныеСредства=c.FEDERALFUNDSREF,';
  МаппингБазовыеОгр6 = 'НомерЗаявки=c.BidNumber%s,НомерЛокальногоРеестра=mbid.ManagerBidNumber%s,НомерКарточки=c.CardNumber%s,СостояниеРеестра=ffr.DOCSTATEREF%d,Баланс=bac.BalanceCls,';
  МаппингБазовыеОгр7 = "БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),БухОперация=d.BuhOperationCLS%d,";
  МаппингБазовыеОгр8 = "БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),НомерСессии=ffr.SessionNumber%d,НомерФедРеестра=q.ReestrNumber%s,ПричинаБлокировки=d.BlockedCause%s,ПричинаРазблокировки=d.UnblockedCause%s,";
  МаппингБазовыеОгр9 = "Бюджет_РаспОргСсылка=org_GRBS.id%d,Характер_ЛС=f,Примечание=(c.Note%s)or(d.Note%s),ВидОргВладельцаЛС=org.Org_Type%d";  // для Харакетр_ЛС в маппинге указывается только алиас таблицы л/c
  // ограничения, которые могут разбивать запрос на части
  МаппингБазовыеСложныеОграничения = 'КодДокумента=c.id,КодЗаписи=d.ID,pRecordIndex=c.Reestr_Ref';
  // сложные ограничения, раздельные для прихода и расхода
  МаппингСложныеОгрПриход = ',ДокИсполнения=d.DestExecDoc,НомерДокИсп=d_edc.DocNumber%s';
  МаппингСложныеОгрРасход = ',ДокИсполнения=d.SourceExecDoc,НомерДокИсп=s_edc.DocNumber%s';
  // Органичения по правам на классификацию
  МаппингКЛСПраваПриход_БКРасх = 'KFSR=d.DestKFSR,KVSR=dKvsr.Code,KCSR=dKcsr.Code,KVR=dKvr.Code,KESR=d.DestKESR,SUBKESR=d.DestSubKESR,FACT=d.DestFACT,FINTYPE=d.DestFinType,MEANSTYPE=d.DestMeansType,DIRECTIONCLS=d.DestDirectionCLS';
  МаппингКЛСПраваПриход_БКИст  = 'KVSR=dKvsrIFS.Code';
  МаппингКЛСПраваПриход_БКДох  = 'KVSR=dKvsrKD.Code';
  МаппингКЛСПраваРасход_БКРасх = 'KFSR=d.SourceKFSR,KVSR=sKvsr.Code,KCSR=sKcsr.Code,KVR=sKvr.Code,KESR=d.SourceKESR,SUBKESR=d.SourceSubKESR,FACT=d.SourceFACT,FINTYPE=d.SourceFinType,MEANSTYPE=d.SourceMeansType,DIRECTIONCLS=d.SourceDirectionCLS';
  МаппингКЛСПраваРасход_БКИст  = 'KVSR=sKvsrIFS.Code';
  МаппингКЛСПраваРасход_БКДох  = 'KVSR=sKvsrKD.Code';

функция КазначействоВернутьМаппингПереносаПолей(Приход : целое) : Строка;
начало
  // Маппинг полей для Алгоритма    
  Результат := "ДатаЗаявки=BidDate,КВР=KVR,КВРКлюч=KVRID,КЭСР=KESR,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВСР=KVSR,КВСРКлюч=KVSRID,КФСР=KFSR," +
    "СубКЭСР=SubKESR,Направление=DirectionCLS,ТипФинансирования=FinType,ИсточникФинансирования=FinSource,Мероприятие=Fact," +
    "ВидАссигнований=AssignmentKind,ТипДокумента=DocType,НомерПакета=PacketNumber,НомерПакетаДеталь=PacketNumberDet,ТипСредств=MeansType," +
    "ИсточникОбразованияСредств=FundsSource,Примечание=CaptionNote,ПримечаниеДеталь=DetailNote,Отдел=DepartmentCLS," +
    "КодДохода=KDValue,КДКлюч=KD,ИсточникВнутрФинансированияКлюч=IFS_Ref,ИсточникВнутрФинансирования=IFS,БюджОбяз=Promise,"+ 
    "ИндексыДанных=ProgIndex,ИндексыДанныхЗаголовок=CptProgIndex,НомерДокумента=DocNumber,НомерПервДокумента=SourceDocNum," +
    "НомерРеестра=ReestrNumber,ТипРеестра=REESTRTYPEEX,НомерДоверенности=TrustNumber,Операция=TypeOperation,ДокИсполнения=ExecDoc," +
    "ДатаПринятия=AcceptDate,ДатаДокумента=DocumentDate,ДатаРеестра=ReestrDate,ДатаЗаявкиОтдела=RequestDate,НомерЗаявкиОтдела=RequestNumber," +
    "НомерСессии=SessionNumber,КодЦелевыхСредств=TransfertClsValue,КодЦелевыхСредствКлюч=TransfertCls,БухПроводка=BuhPaymentCLS," +
    "ТипКлассификации=ClsType,ВидДеятельности=ActivityKind,БюджКлассификация=BudClS,НаправлениеОперации=OperationDirection," +
    "Автор=CreaterUser,АвторИзменений=UpdaterUser,АвторДокумента=CptCreaterUser,АвторИзмененийДокумента=CptUpdaterUser," +
    "КодИсточника=FinSource,ТипОперации=TypeOperationCLS,Очередность=PayPriority,Период=Period,СчетРаспорядителя=DestAccount," +
    "СрокПлатежа=PayDate,ВидПлатежа=PayTypeCLS,КассовыйСимвол=PaySymbolCLS,ПризнакАрхивности=ArhiveDoc,НомерМемордера=MemOrderNum," +
    "ПричинаОтклонКод=Reject_CLS,ПричинаОтклонТекст=RejectCause,РСКредит=SourceAccount,РСДебет=DestAccount,Заявка=REQUESTSINDEX," +
    "УточнениеИндексаДанных=SUBPROGINDEX,ОрганизацияГлавныйРаспорядитель=Org_RefGRBS_Det,Регион=RegionCLS," +
    "КодБюджета=BudgetRef,КодДокумента=CptID,КодЗаписи=DetID,КодФОДокумента=CptFUID,КодФОЗаписи=DetFUID,"+
    "КодУРМДокумента=CptSenderRecordID,КодУРМЗаписи=DetSenderRecordID,"+
    "КодОтправителяДокумента=CptSenderID,КодОтправителяЗаписи=DetSenderID,"+
    "ПринятиеРеестра=ACCEPTED,ИндексАлгоритма=AlgIndex,СуммаЗаголовка=CaptionSum,СуммаЗаписи=DetCredit,НомерЗаявки=BidNumber," +
    "ДоговораБО=BudgetPromise,ИнформацияОНалоге=TaxNote,НДС=NDS,КриптоСтатус=CryptoStatus,КодСводногоПП=IntegratedDocRef," +
    "ЛокальныйРеестр=ManagerBidID,ЛокальныйРеестрФО=ManagerBidFUID,НомерЛокальногоРеестра=ManagerBIDNUMBER," +
    "ДатаЛокальногоРеестра=ManagerBIDDATE,ЛицСчетЛокальногоРеестра=MANAGERFACIALACCCLS,АрхивЛокальногоРеестра=ManagerARHIVEDOC," +
    "СостояниеДокумента=DOCSTATEREF,СостояниеДокументаКазн=TreasuaryDOCSTATECLS,НомерКарточки=CardNumber,КодРеестра=Reestr_Ref," +
    "ПризнакЗависания=DocSuspended,ЕстьВБюджете=IsInBudget,ЛокальнаяВиза=IsVised,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate," + 
    "ДатаВремяСозданияДокумента=CptCreateDate,ДатаВремяИзмененияДокумента=CptUpdateDate,ДатаЭкстренногоИзменения=LASTEXTRCHANGE,"+
    "ДополнительнаяСвязка=RecordIndex2,КодСметы=StimateID,КодСметыЗаписи=DetStimateId,НачальноеСостояниеДокумента=BeginDocStateRef," +
    "ТипДокОснования=DocBase,ФедеральныеСредства=FederalData,ДатаОтправления=SendDate,Статус=Status,СтатусДетализация=StatusDet,ДатаВвода=DocumentDate," +
    "ДокИсполненияНомер=ExecDocNum,ДокИсполненияВнутрНомер=ExecInnerNumber,ДокИсполненияНомерРеестра=ExecDocReestrNum,ДокИсполненияДата=ExecDocDate,ДИИД=ExecDocID," +
    "ДоговорИД=PromiseAgrID,ДоговорВнутрНомер=PromiseAgrInnerNumber,ДоговораБОВнутрНомер=PromiseAgrInnerNumber," +
    "ДокИсполненияТип=ExecDocType,ДокИсполненияСумма=ExecDocSumma,ДокИсполненияПримечание=ExecDocNote,БОВнутрНомер=innerpromisenum,БОНомер=PromiseNumber," +
    "ДоговораБОНомер=PromiseNumber,НеизменяемыйНомерБО=NonEditPromiseNumber,БОТип=PromiseType,ДоговораБОСумма=PromiseSumma,ДоговораБОНомерДоговора=PromiseAgrNumber," +
    "ДоговораБОДатаДоговора=PromiseAgrDate,ДоговораБОСуммаДоговора=PromiseAgrSumma,ДоговораБОРеестрНомерДоговора=PromiseAgrReestrNumber," +
    "ДоговораБОПримечаниеДоговора=PromiseAgrNote,ДоговораБОНомерКонтракта=PromiseOrderNumber,ДоговораБОДатаКонтракта=PromiseOrderDate," +
    "ДоговораБОСуммаКонтракта=PromiseOrderSumma,ДоговораБОРеестрНомерКонтракта=PromiseOrderReestrNumber,ДоговораБОПримечаниеКонтракта=PromiseOrderNote," +
    "МягкаяПричинаОтклонКод=SoftRejectCLS,МягкаяПричинаОтклонТекст=SoftRejectCause,СвязанныйДокумент=LinkedDocument,"+
    "ЧислоПодтверждающихДокументовПоФаксу=FAXDOCCOUNT,ВерсияИзмененияЗаписи=DetRVERSION,ВерсияИзмененияДокумента=CptRVERSION," +
    "КодВходящейСвязи=InLink,КодИсходящейСвязи=OutLink,ТипВходящейСвязи=InLinkType,ТипИсходящейСвязи=OutLinkType," +
    "КодВходящейСвязиЗаголовка=InLinkCpt,КодИсходящейСвязиЗаголовка=OutLinkCpt,ТипВходящейСвязиЗаголовка=InLinkTypeCpt," +
    "ТипИсходящейСвязиЗаголовка=OutLinkTypeCpt,ПерсональнаяИнформация=CashierPersonalInfo," +
    "КодСубсидииКлюч=SubsidyCls,КодСубсидии=SubsidyClsCode,ВидОрганизацииЛС=FAOrg_Type,КодБюджАссигнованияКлюч=BudAllocationCls," +
    "КодБюджАссигнования=BudAllocationClsCode,КодРасходногоОбязательстваКлюч=PayPromiseCls,КодРасходногоОбязательства=PayPromiseClsCode," +
    "КлючПластиковойКарты=CardRef,РеквизитыПлатежаПолуч=DestStoredPaymentProps,РеквизитыПлатежаПлат=SourceStoredPaymentProps," +
    "ФорматНазначениеПлатежа=StoredPaymentNote," +
    // поля 70н
    "БухОперация=BuhOperationCLS,БухОперацияЗаголовок=CptBuhOperationCLS,ИсточникКорКлюч=IFS_Ref_Corr,ИсточникКор=IFS_Corr," + 
    "ИсточникКорКлючПолуч=SourceIFS_Ref,ИсточникКорПолуч=SourceIFS,ИсточникКорКлючПлат=DestIFS_Ref,ИсточникКорПлат=DestIFS," +
    "БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,ЭКДебет=DebitDocEK%d,ЭККредит=CreditDocEK%d," +
    "КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,НомерСчетаДебет=DebitNumberAcc70n%s28," +
    "НомерСчетаКредит=CreditNumberAcc70n%s28,БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f," +
    "БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,Баланс=BalanceCls," +                         
    "БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue," +
    // поля блокировок 
    "ПризнакБлокировки=IsBlocked,ПричинаБлокировки=BlockedCause,ДатаРазблокировки=UnBlockedDate,ПричинаРазблокировки=UnblockedCause," + 
    //  Классификация плательщика
    "ЛицСчетПлательщика=SourceFacialAcc,ЛицСчетПлатЗаголовок=SourceCaptionFacialAcc,СчетПлат=SourceAccount,БюджОбязПлат=SourcePromise,ДоговораБОПлат=SOURCEBUDGETPROMISE," +
    "ИсточникФинансированияПлат=SourceFinSource,ИсточникОбразованияСредствПлат=SourceFundsSource,КЭСРПлат=SourceKESR,"+ 
    "КВРПлат=SourceKVR,КВРКлючПлат=SourceKVRID,КВСРПлат=SourceKVSR,КВСРКлючПлат=SourceKVSRID,КФСРПлат=SourceKFSR," +
    "КЦСРПлат=SourceKCSR,КЦСРКлючПлат=SourceKCSRID,КодДоходаПлат=SourceKDValue,КДКлючПлат=SourceKD,СубКЭСРПлат=SourceSubKESR," +
    "ИсточникВнутрФинансированияКлючПлат=SourceIFS_Ref,ИсточникВнутрФинансированияПлат=SourceIFS,ТипКлассификацииПлат=SourceClsType," +
    "КодЦелевыхСредствПлат=SourceTransfertClsValue,КодЦелевыхСредствКлючПлат=SourceTransfertCls,НаправлениеПлат=SourceDirectionCLS,"+
    "МероприятиеПлат=SourceFact,ВидАссигнованийПлат=SourceAssignmentKind,ТипСредствПлат=SourceMeansType,РегионПлат=SourceRegionCLS,"+
    "ТипДокументаПлат=SourceDocType,ТипФинансированияПлат=SourceFinType,ТипДокОснованияПлат=SourceDocBase,"+
    "БюджКлассификацияПлат=SourceBudgClS,ДокИсполненияПлат=SourceExecDoc,ДокИсполненияПлатФО=SourceExecDocFUID," +
    "ДокИсполненияПлатНомер=SourceExecDocNum,ДокИсполненияВнутрНомерПлат=SourceExecInnerNumber,ДокИсполненияПлатНомерРеестра=SourceExecDocReestrNum," +
    "ДокИсполненияПлатДата=SourceExecDocDate,ДокИсполненияПлатТип=SourceExecDocType,ДокИсполненияПлатСумма=SourceExecDocSumma," +
    "ДокИсполненияПлатПримечание=SourceExecDocNote,ДоговораБОПлатПримечаниеКонтракта=SourcePromiseOrderNote," +
    "ДоговораБОПлатНомер=SourcePromiseNumber,НеизменяемыйНомерБОПлат=SourceNonEditPromiseNumber,ДоговораБОПлатСумма=SourcePromiseSumma,ДоговораБОПлатНомерДоговора=SourcePromiseAgrNumber," +
    "ДоговораБОПлатВнутрНомер=SourcePromiseAgrInnerNumber,ДоговораБОПлатДатаДоговора=SourcePromiseAgrDate," +
    "ДоговораБОПлатСуммаДоговора=SourcePromiseAgrSumma,ДоговораБОПлатРеестрНомерДоговора=SourcePromiseAgrReestrNumber," +
    "ДИПлатИД=SourceExecDocID,ДоговорПлатИД=SourcePromiseAgrID,ДоговораБОПлатПримечаниеДоговора=SourcePromiseAgrNote," +
    "ДоговораБОПлатНомерКонтракта=SourcePromiseOrderNumber,ДоговораБОПлатДатаКонтракта=SourcePromiseOrderDate," +
    "ДоговораБОПлатСуммаКонтракта=SourcePromiseOrderSumma,ДоговораБОПлатРеестрНомерКонтракта=SourcePromiseOrderReestrNumber," +
    "КодСубсидииКлючПлат=SourceSubsidyCls,КодСубсидииПлат=SourceSubsidyClsCode,ВидОрганизацииЛСПлательщика=SourceFAOrg_Type," +
    "КодБюджАссигнованияКлючПлат=SourceBudAllocationCls,КодБюджАссигнованияПлат=SourceBudAllocationClsCode," +
    "КодРасходногоОбязательстваКлючПлат=SourcePayPromiseCls,КодРасходногоОбязательстваПлат=SourcePayPromiseClsCode," +
    //  Классификация получателя
    "ЛицСчетПолучателя=DestFacialAcc,ЛицСчетПолучЗаголовок=DestCaptionFacialAcc,СчетПолуч=DestAccount,БюджОбязПолуч=DestPromise,ДоговораБОПолуч=DESTBUDGETPROMISE," +
    "ИсточникФинансированияПолуч=DestFinSource,ИсточникОбразованияСредствПолуч=DestFundsSource,КЭСРПолуч=DestKESR,"+ 
    "КВРПолуч=DestKVR,КВРКлючПолуч=DestKVRID,КВСРПолуч=DestKVSR,КВСРКлючПолуч=DestKVSRID,КФСРПолуч=DestKFSR," +
    "КЦСРПолуч=DestKCSR,КЦСРКлючПолуч=DestKCSRID,КодДоходаПолуч=DestKDValue,КДКлючПолуч=DestKD,СубКЭСРПолуч=DestSubKESR," +
    "ИсточникВнутрФинансированияКлючПолуч=DestIFS_Ref,ИсточникВнутрФинансированияПолуч=DestIFS,ТипКлассификацииПолуч=DestClsType," +
    "КодЦелевыхСредствПолуч=DestTransfertClsValue,КодЦелевыхСредствКлючПолуч=DestTransfertCls,НаправлениеПолуч=DestDirectionCLS,"+
    "МероприятиеПолуч=DestFact,ВидАссигнованийПолуч=DestAssignmentKind,ТипСредствПолуч=DestMeansType,РегионПолуч=DestRegionCLS,"+                         
    "ТипДокументаПолуч=DestDocType,ТипФинансированияПолуч=DestFinType,ТипДокОснованияПолуч=DestDocBase,"+
    "БюджКлассификацияПолуч=DestBudgClS,ДокИсполненияПолуч=DestExecDoc,ДокИсполненияПолучФО=DestExecDocFUID," +     
    "ДокИсполненияПолучНомер=DestExecDocNum,ДокИсполненияВнутрНомерПолуч=DestExecInnerNumber,ДокИсполненияПолучНомерРеестра=DestExecDocReestrNum," +
    "ДокИсполненияПолучДата=DestExecDocDate,ДокИсполненияПолучТип=DestExecDocType,ДокИсполненияПолучСумма=DestExecDocSumma," +
    "ДокИсполненияПолучПримечание=DestExecDocNote,ДоговораБОПолучНомер=DestPromiseNumber,НеизменяемыйНомерБОПолуч=DestNonEditPromiseNumber,ДоговораБОПолучСумма=DestPromiseSumma," +
    "ДоговораБОПолучНомерДоговора=DestPromiseAgrNumber,ДИПолучИД=DestExecDocID,ДоговорПолучИД=DestPromiseAgrID," +
    "ДоговораБОПолучДатаДоговора=DestPromiseAgrDate,ДоговораБОПолучСуммаДоговора=DestPromiseAgrSumma," +
    "ДоговораБОПолучРеестрНомерДоговора=DestPromiseAgrReestrNumber,ДоговораБОПолучВнутрНомер=DestPromiseAgrInnerNumber," +
    "ДоговораБОПолучПримечаниеДоговора=DestPromiseAgrNote,ДоговораБОПолучНомерКонтракта=DestPromiseOrderNumber," +
    "ДоговораБОПолучДатаКонтракта=DestPromiseOrderDate,ДоговораБОПолучСуммаКонтракта=DestPromiseOrderSumma," +
    "ДоговораБОПолучРеестрНомерКонтракта=DestPromiseOrderReestrNumber,ДоговораБОПолучПримечаниеКонтракта=DestPromiseOrderNote," +
    "КодСубсидииКлючПолуч=DestSubsidyCls,КодСубсидииПолуч=DestSubsidyClsCode,ВидОрганизацииЛСПолучателя=DestFAOrg_Type," +
    "КодБюджАссигнованияКлючПолуч=DestBudAllocationCls,КодБюджАссигнованияПолуч=DestBudAllocationClsCode," +
    "КодРасходногоОбязательстваКлючПолуч=DestPayPromiseCls,КодРасходногоОбязательстваПолуч=DestPayPromiseClsCode," +
    // поля районов
    "РайонКонтрагента=RegionContractor,РайонБУ=RegionBudgetEst,РайонТрансферта=RegionDetail," + 
    "РайонКонтрагентаПлат=DestRegionContractor,РайонБУПлат=SourceRegionBudgetEst,РайонТрансфертаПлат=SourceRegionDetail," +
    "РайонКонтрагентаПолуч=SourceRegionContractor,РайонБУПолуч=DestRegionBudgetEst,РайонТрансфертаПолуч=DestRegionDetail," + 
    // поля электронного обмена
    "ЭлНомерДокумента=ELNUM,ЭЛСчетПлат=ELSourceAccount,ЭЛИННОргПлательщика=ELSourceOrgINN,ЭЛКППОргПлательщика=ELSourceOrgKPP," +
    "ЭЛИмяОргПлательщика=ELSourceOrgName,ЭЛБИКБанкаПлательщика=ELSourceBankBIK,ЭЛИННОргПолучателя=ELDestOrgINN," +
    "ЭЛКППОргПолучателя=ELDestOrgKPP,ЭЛИмяОргПолучателя=ELDestOrgName,ЭЛСумма=ELSumma,ЭЛНазначениеПлатежа=ELNote,"  +
    "ЭлНалСтатус=SSTATUS,ЭЛБК=ELBK,ЭЛСчетПолуч=ELDestAccount,ЭЛОчередность=ELPriority,ЭЛКорСчетБанкаПлательщика=ELSourceBankCor," +
    "ЭЛИмяФилиалаБанкаПлательщика=ELSourceBankFilialName,ЭЛИмяБанкаПлательщика=ELSourceBankName,ЭЛБИКБанкаПолучателя=ELDestBankBIK," +
    "ЭЛКорСчетБанкаПолучателя=ELDestBankCor,ЭЛИмяФилиалаБанкаПолучателя=ELDestBankFilialName,ЭЛИмяБанкаПолучателя=ELDestBankName," +
    "ЭЛНалоговаяИнформация=ELTaxNote,ЭЛЛСФКПлат=ELSourceFacialCode,ЭЛЛСФКПолуч=ELDestFacialCode,ЭЛДатаДокумента=ELDocDate," +
    "ЭЛВидОперации=ELTypeOperation,ЭлНомерДокументаБанк=ELDocNumber";                                 
  выбрать Приход из
    1: Результат := Результат + ',ЛицевойСчет=DestFacialAcc,РСФО=DestAccount,КорСчет=SourceAccount';         
    0: Результат := Результат + ',ЛицевойСчет=SourceFacialAcc,РСФО=SourceAccount,КорСчет=DestAccount';         
  конец;
конец;  

функция ПроверитьНаНепустуюМаскуКД(Стр: строка): целое;
начало
  Результат := (Стр &lt;&gt; "____________________") и (Стр &lt;&gt; "") и (Стр &lt;&gt; "#") и (Стр &lt;&gt; "#____________________");
конец;

// возвращает способ учета договоров (стандартный=0 или расширенный блок=1)
Функция УчетДоговоров: целое;
начало
    //Определяем используемый блок бюджетных обязательств (1 - Учет договоров)
    Результат := СтрокаВЦелое(ПолучитьКонстантуКЭШ("",30,15,0));  
конец;

// исключает поэлементно из множества элеменнтов, заданного строкой в формате элем1,элем2..элемN множество в том же формате 
Функция ИсключитьИзМножества(Исходное,Исключаемое:строка): строка;
переменные
  тИсходное,тИсключаемое : текст;
  сч,инд:целое;
начало
  тИсходное := СоздатьТекст;
  тИсходное.РазделенноеЗначение := Исходное;
  тИсключаемое := СоздатьТекст;
  тИсключаемое.РазделенноеЗначение := Исключаемое;
  от сч:=0 до тИсключаемое.Количество-1 делать
  начало
    инд := тИсходное.Поиск(тИсключаемое.стр(сч));
    если инд&lt;&gt;-1 тогда тИсходное.удалить(инд);
  конец;
  Результат := тИсходное.РазделенноеЗначение;
конец;

функция ОграничениеДатыПоРеестру(Коллекция : IVariables) : Строка;
переменные
  НачДата, КонДата : строка;
начало
 // формируем ограничение по дате
  НачДата := Коллекция.Values("НачальнаяДата");
  КонДата := Коллекция.Values("КонечнаяДата");    
  
  если (Коллекция.Values("ВсегдаВключатьПроведенныеВРеестр") = 1) тогда
    Результат := "and((c.ReestrDate between " + начДата + " and " + КонДата + ")or" +
                 "(d.AcceptDate between " + НачДата + " and " + КонДата + "))"
  иначе
    Результат := 'and ((c.ReestrDate between ' + начДата + ' and ' + КонДата + ')or' +
                '((c.ReestrDate is null)and(d.AcceptDate between ' + НачДата + ' and ' + КонДата + ')))';
конец;

функция СформироватьОгрПоТипуОрг(Коллекция:IVariables; Имя: строка;Алиас:строка): строка;
переменные
  Огр: Строка;
начало
  результат := '';
  Огр := Ограничение('ТипОрг='+Алиас+'.ORG_CLS%d,ВидОрганизаций='+Алиас+'.Org_Type%d', коллекция);
  если Огр &lt;&gt; '' тогда
    результат := ' inner join Organizations '+Алиас+' on ((' + Имя + '='+ Алиас+'.id)' + Огр + ')' + nl;
конец;

функция ОграничитьПоДатеОтправки(Приход : целое; МаппингДаты : Строка; Коллекция : IVariables) : Строка;
переменные
  ТекОгранич, ПолеТипДок : Строка;
  НовОгранич : Строка;
начало
  ТекОгранич := ПолучитьОграничениеПоТипуДаты(МаппингДаты, Коллекция, "d.AcceptDate");
  // ограничение по датам
  Если (Позиция('ex.SendDate', ТекОгранич) &gt; 0)
  тогда начало
    Если Приход 
      тогда ПолеТипДок := 'd.DestDocType'
      иначе ПолеТипДок := 'd.SourceDocType';
      
    НовОгранич := ПолучитьОграничениеПоТипуДаты('', Коллекция, "d.AcceptDate");
    ТекОгранич := 'and (   ( (' + ПолеТипДок + ' = 1000)' + НовОгранич + ') or ( ('+ПолеТипДок + ' &lt;&gt; 1000) ' + ТекОгранич + '  ) )';  
  конец;
  Результат := ТекОгранич;
конец;

функция ПолучитьОгрПоБухДокументу(Значение : строка) : строка;
переменные
  сч : целое;
  Документы : текст;
  Огр : строка;
начало
  //Выделение бухгалтерских документов:
  //5 - Утвержденные объемы финансирования
  //6 - Переданные объемы финансирования
  Результат := "";
  Документы := СоздатьТекст;
  попытка
    Документы.РазделенноеЗначение := Значение;
    от сч := 0 до Документы.Количество - 1 делать
    начало  
    // считаем, что утверждение объемов делается только на разассигновке(утвержждении)
    //, а передача только на переброске прихода(распределении)
    // чтобы отделить случаи, когда на разассигновке заводят получение объемов сразу на подведомственных добавляем фильтр по характеру счета
    // 1- распорядительные(транзитные) счета, 2 - самостоятельное учреждение
      выбрать СтрокаВЦелое(Документы.Стр(сч)) из
        5 :
          начало
            Огр := "((d.ProgIndex = 75)or((DFacial.HARACTERACCOUNT in (1,2)) and (d.ProgIndex = 65)))";
            Если Результат &lt;&gt; '' тогда
              Результат := Результат + 'or' + Огр
            иначе
              Результат := Огр;               
          конец;
        6 :
          начало
            Огр := "((d.ProgIndex = 76)or((SFacial.HARACTERACCOUNT in (1,2)) and (d.ProgIndex = 66)and(c.OperationDirection=2)))";
            Если Результат &lt;&gt; '' тогда
              Результат := Результат + 'or' + Огр
            иначе
              Результат := Огр;   
          конец;              
      конец;
    конец;
    Если Результат &lt;&gt; '' тогда
      Результат := 'and(' + Результат + ')';
  обязательно
    УдалитьОбъект(Документы);
  конец;
конец;

//Настройка параметров казначейских запросов (общие и для прихода и расхода);
функция НастроитьОграниченияКазначейскихЗапросов(Коллекция:IVariables;Приход:целое):строка;
переменные
  ОгрПоСервиснымСчетам,ОгрПоИнтерфейсу,ОгрПоИнформацииОНалоге: строка;
  СтрИндексовДанных: строка;
  ОгрПоБюджОбяз,ПолеБюджетногоОбязательства, ОгрПоДокИсполн, ПолеДокИсполн: строка;
  ОгрЛСПлатРавенЛСПолуч,ОгрПоЛС_ГРК: строка;
  ОгрПоКассовымРасходам, ОгрПоКасРасхСПередвижками, ОгрПоПустымБухСчетам: строка;
  ОгрПоПринятиюРеестра, ОгрПоПустымЗаявкам: строка;
  ОгрБазовые,СписокБухОпераций: строка;
  ОгрПоДате, ОгрДоп: строка;
  ОграничитьПоФедеральнымСредствам: Строка;
  УчетОпераций: целое;
  ОгрПоСостояниям, ОгрПоАрхиву: Строка; // ограничения по состояниям
  ОгрПоБухДокументу, ОгрПоСводнымУведомлениям, ОгрПоПринадлежностиЛС: строка;
  ОграничениеПоНаличности,  
  ОгрПоДатеБлокировки, ОгрПОРазблокировке, ОгрПоБлокировкам: строка;
  ОгрРеестрУРМ: строка;
  БлокированныеСредства, ЕстьОгрПоБлокировкамНаПанели: целое;
  РСФО: строка;
  ОгрПрава, ОгрПрава_БКРасх, ОгрПрава_БКИст, ОгрПрава_БКДох, ОгрПоСвязям: строка;
  Фильтр: IVariables;
  LinkInfo: ILinkInfo2;
  ТипСвязи: строка;
  ТипыСвязей: СтатическиеДанные;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций, ОгрКодЦели, ОгрИЛ: строка;
  ВыбиратьБезнал: целое;
  ОгрПоЭОВходящие: строка;
  /$если База70100
  ОгрТипДеят: строка;
  /$конец
начало
  // Настраиваем общие параметры  
   // формируем ограничение по расчетным счетам
  РСФО := '';
  если Коллекция.ПараметрСуществует("РСФО") тогда
    РСФО := Коллекция.Values("РСФО");
  если РСФО='' тогда  
    если Коллекция.ПараметрСуществует("КазнРС") тогда
      РСФО := Коллекция.Values("КазнРС");
  если РСФО='' тогда
    если Коллекция.ПараметрСуществует("РСКазн") тогда
      РСФО := Коллекция.Values("РСКазн");

  если приход=да тогда
  начало
    Если не Коллекция.ПараметрСуществует("НаСчет") тогда
      Коллекция.values("НаСчет") := РСФО;
    Коллекция.values("СоСчета") := "";  
  конец
  иначе
  начало
    Если не Коллекция.ПараметрСуществует("СоСчета") тогда
      Коллекция.values("СоСчета") := РСФО;
    Коллекция.values("НаСчет") := "";  
  конец;               
  // формируем ограничение по сервисным л/с, смотрим значения параметров: ЛицСчет, ОргЛС и БюджОргЛС
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) или
      ((Коллекция.Values("ОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("ОргЛС"))) или
      ((Коллекция.Values("БюджОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("БюджОргЛС"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;
  // формируем ограничения по полям, по значениям с панели ограничений
  ОгрБазовые := Ограничение(МаппингБазовыеОгр1 + МаппингБазовыеОгр2 + МаппингБазовыеОгр3 + МаппингБазовыеОгр4 + 
    МаппингБазовыеОгр5 + МаппингБазовыеОгр6 + МаппингБазовыеОгр7 + МаппингБазовыеОгр8 + МаппингБазовыеОгр9, Коллекция);
  // Идея такая: для 68 Progindex операция прихода отражается как приход на виртуальный расчетный счет (расчетный счет суммы в пути),
  // а для 69 операция расхода отражается как расход с виртуального расчетного счета сумм в пути. 
  // Поэтому если нет ограничений по расчетному счету на панели параметров, то ограничение не делается иначе для расходного 
  // запроса ограничиваем на неравенстро Progindex 69, а для приходного - 68
   Если (Коллекция.values("НаСчет") &lt;&gt; '') и (Приход = да) 
     тогда ОгрБазовые := ОгрБазовые + 'and not (d.ProgIndex in (68, 70))';
  
  Если (Коллекция.values("СоСчета") &lt;&gt; '') и (Приход = Нет) 
     тогда ОгрБазовые := ОгрБазовые + 'and  not(d.ProgIndex in (69, 71))';

  если Коллекция.ПараметрСуществует("ПодкреплениеРСНаличности") тогда
    УчетОпераций := СтрокаВЦелое(Коллекция.Значение("ПодкреплениеРСНаличности"))
  иначе
  начало  
    УчетОпераций := СтрокаВЦелое(ПолучитьКонстантуКэш("УчетОперацийСРайоном", 58, 0, 0));
    если УчетОпераций &gt; 1 тогда
      УчетОпераций := 2; 
  конец;

  // формируем ограничение по интерфейсам по параметрам: ИндексыДанныхПриходКазн, ИндексыДанныхРасходКазн или ВклДокументыВыбор и ИндексыДанных
  // (указано в порядке уменьшения приоритета);
  // ограничение формируется по типу данных (приход или расход): для прихода отфильтровавываются (или задаются все) прогиндексы приходных инт-сов,
  // для расхода - прогиндексы расходных инт-сов;
  // ограничения по наличке не меняются (с учетом аналогичной разбивки по типу данных: приход или расход) 
  Коллекция.Значение("ИндексыДанныхОпределены") := 1; //используется в ПолучитьКазначействоДоходы 
  СтрИндексовДанных := "";
  ОграничениеПоНаличности := "";

  если Приход и (УбратьПробелы(Коллекция.Values("ИндексыДанныхПриходКазн")) &lt;&gt; "") тогда
    СтрИндексовДанных := УбратьПробелы(Коллекция.Values("ИндексыДанныхПриходКазн"))
  иначе
    если (не Приход) и (УбратьПробелы(Коллекция.Values("ИндексыДанныхРасходКазн")) &lt;&gt; "") тогда
      СтрИндексовДанных := УбратьПробелы(Коллекция.Values("ИндексыДанныхРасходКазн"))
    иначе
      начало
        если (УбратьПробелы(Коллекция.Values("ВклДокументыВыбор")) &lt;&gt; "") и (УбратьПробелы(Коллекция.Values("ВклДокументыВыбор")) &lt;&gt; "0") тогда
          СтрИндексовДанных := УбратьПробелы(Коллекция.Values("ВклДокументыВыбор"))
        иначе
          если УбратьПробелы(Коллекция.Values("ИндексыДанных")) &lt;&gt; "" тогда
            СтрИндексовДанных := УбратьПробелы(Коллекция.Values("ИндексыДанных"));
        если СтрИндексовДанных = "" тогда
          Коллекция.Значение("ИндексыДанныхОпределены") := 0;

        // ограничение по наличности не учитывается для печатных документов и если есть ограничение по рс;
        // если есть ограничение по правам на рсфо, и оно распространяется на несколько счетов, то
        // ограничение по наличке накладывается, как для общего случая
        если Коллекция.Значение("ВыбиратьДанныеПоБезналу") &lt;&gt; "" тогда
          ВыбиратьБезнал := Коллекция.Значение("ВыбиратьДанныеПоБезналу")
        иначе
          ВыбиратьБезнал := (Коллекция.Значение("ИндексыДанныхОпределены") = 0) и (не Коллекция.Значение("ПечатныйДокумент"))
              и (((Коллекция.Значение("НаСчет") = "") и (Коллекция.Значение("СоСчета") = ""))
                или ((Коллекция.Значение("ОграничВидимостьПоПравамЧек") = да) 
                    и ((Позиция(",", Коллекция.Значение("НаСчет") + Коллекция.Значение("СоСчета")) &gt; 0)
                      или (Позиция("#", Коллекция.Значение("НаСчет") + Коллекция.Значение("СоСчета")) &gt; 0)))); 

        если ВыбиратьБезнал = 1 тогда 
          выбрать УчетОпераций из
            // Используются интерфейсы подкрепления на р\с наличности, возврата с р\с наличности. 
            // В этом случае отдельно накладываем ограничения на документы по наличным операциям, чтобы исключить пересечение с безналичными операциями в ряде случаев,
            // а также чтобы исключить разночтения момента совершения кассовой операции по л\с.
            // Считаем, что кассовая операция по л\с совершается в момент совершения безналичной операции по единому счету (перечисление либо подтверждение возврата) 
            // из наличных документов учитываем только чеки, объявления по единым счетам(по ним не делается подкреплений на счета для наличности),
            // а также чеки, по которым перечисления еще не сформированы. 
            1: начало
                 если Приход тогда
                   ОграничениеПоНаличности := 'or((d_dfbt.IsCommon = 1)and(d.ProgIndex = 62))'
                 иначе
                   ОграничениеПоНаличности := 'or((S_dfbt.IsCommon = 1)and(d.ProgIndex = 64))' +
                                              'or(not((d.AcceptDate is not Null)or((c.Reestr_ref is not null) and (ffr.Accepted = 1)))and(d.ProgIndex = 64))';
               конец;
            // автоопределение необходимости выборки чеков, объявлений по наличию связи. 
            // не выбираем чеки, если по ним было сформировано перечисление и не выбираем объявления, если по ним был сформирован возврат   
            2: начало  
                 если Приход тогда
                   ОграничениеПоНаличности := 'or ((d.ProgIndex = 62) and (lrpc_Declaration.id is null))' 
                 иначе
                   ОграничениеПоНаличности := 'or ((d.ProgIndex = 64) and (lrp_Check.id is null))'; 
               конец;
          конец;
      конец;
  Коллекция.Values("ИндексыДанных") := ОтфильтроватьИндексыДанныхКазн(СтрИндексовДанных, Приход, 0);
  
  если ОграничениеПоНаличности = "" тогда
    ОгрПоИнтерфейсу := Ограничение('ИндексыДанных=d.progIndex%d', Коллекция)
  иначе
    начало 
      // если есть ограничение по наличности, то остальные документы по наличным операциям исключаем
      // (это чеки, объявления, подтверждения перечислений на счета и возвраты со счетов для наличности;
      // перечисления и подтверждения возвратов не исключаем, т.к. это обычные операции по безналичным счетам ФО и учитываются всегда                           
      Коллекция.Values("ИндексыДанных") := ИсключитьИзМножества(Коллекция.Values("ИндексыДанных"), '62,64,69,70');
      ОгрПоИнтерфейсу := Ограничение('ИндексыДанных=(d.progIndex%d)' + ОграничениеПоНаличности, Коллекция);
    конец;
  
  // формируем ограничение по бюджетным обязательствам
  Если УчетДоговоров тогда
    Если Приход тогда 
      ПолеБюджетногоОбязательства := 'd.DestBudgetPromise'
    иначе
        ПолеБюджетногоОбязательства := 'd.SourceBudgetPromise'
  иначе
    Если Приход тогда 
      ПолеБюджетногоОбязательства := 'd.DestPromise'
    иначе
        ПолеБюджетногоОбязательства := 'd.SourcePromise';
    
  // ограничение на непустые номера БО для бюджетных обяхательств и договоров    
  ОгрПоБюджОбяз := Коллекция.Values("БюджетныеОбязательстваКазн"); 
  если УбратьПробелы(ОгрПоБюджОбяз) = "" тогда
    ОгрПоБюджОбяз := Коллекция.Values("БюджетныеДоговораКазн");
  если УбратьПробелы(ОгрПоБюджОбяз) &lt;&gt; "" тогда
    если строкаВЦелое(ОгрПоБюджОбяз) = 1 тогда
      ОгрПоБюджОбяз := "and ("+ПолеБюджетногоОбязательства+" is not null)"
    иначе
      ОгрПоБюджОбяз := "and ("+ПолеБюджетногоОбязательства+" is null)"
  иначе 
    ОгрПоБюджОбяз := "";

 // ограничение на непустые ссылки на документы исполнения    
  если Приход тогда 
    ПолеДокИсполн := 'd.DestExecDoc'
  иначе
    ПолеДокИсполн := 'd.SourceExecDoc';   
    
  если УбратьПробелы(Коллекция.Values("ДокументыИсполненияКазн")) &lt;&gt; "" тогда
    если СтрокаВЦелое(Коллекция.Values("ДокументыИсполненияКазн")) = 1 тогда
      ОгрПоДокИсполн := "and ("+ПолеДокИсполн+" is not null)"
    иначе
      ОгрПоДокИсполн := "and ("+ПолеДокИсполн+" is null)"
  иначе 
    ОгрПоДокИсполн := "";  
    
  // ограничение на равенство л/с плательщика и получателя
  Если (УбратьПробелы(Коллекция.Values("ПлатРавенПолуч"))="") тогда
    ОгрЛСПлатРавенЛСПолуч := ""
  иначе
    Если Коллекция.Values("ПлатРавенПолуч") тогда
      ОгрЛСПлатРавенЛСПолуч := "and(d.DestFacialAcc_Cls=d.SourceFacialAcc_Cls)"
    иначе 
      ОгрЛСПлатРавенЛСПолуч := "and(d.DestFacialAcc_Cls&lt;&gt;d.SourceFacialAcc_Cls)";
    
  // Ограничение по виду расходов (кассовые/некассовые)
  // получаем список бух.операций, соответствующих уменьшению кассовых расходов
  ОгрПоКассовымРасходам := "";
  СписокБухОпераций := "";
  если УбратьПробелы(Коллекция.Values("КассовыеРасходы"))&lt;&gt;"" тогда
  начало
    // получаем список бух.операций, соответствующих кассовым расходам
    // переделано со списка старых бухпроводок на список новых бухопераций 70Н
    СписокБухОпераций := ПолучитьБухОперацииКассовыхРасходов(не приход,0);
    если СписокБухОпераций&lt;&gt;"" тогда
    начало
      ОгрПоКассовымРасходам :="(d.BuhOperationCLS in ("+СписокБухОпераций+"))";
      если Коллекция.Values("КассовыеРасходы")=Да тогда  
        ОгрПоКассовымРасходам := " and "+ОгрПоКассовымРасходам
      иначе
        ОгрПоКассовымРасходам := " and not"+ОгрПоКассовымРасходам;
    конец;
  конец;

  // Ограничение по кассовым расходам с передвижками (счет 402.хх.хх)
  // получаем список бух.операций
  ОгрПоКасРасхСПередвижками := "";
  СписокБухОпераций := "";
  если УбратьПробелы(Коллекция.Values("КассовыеРасходыСПередвижками")) &lt;&gt; "" тогда
  начало
    СписокБухОпераций := ПолучитьБухОперацииКассовыхРасходов(не приход,1);
    если СписокБухОпераций &lt;&gt; "" тогда
    начало
      ОгрПоКасРасхСПередвижками := "(d.BuhOperationCLS in ("+СписокБухОпераций+"))";
      если Коллекция.Values("КассовыеРасходыСПередвижками") = Да тогда  
        ОгрПоКасРасхСПередвижками := " and " + ОгрПоКасРасхСПередвижками
      иначе
        ОгрПоКасРасхСПередвижками := " and not" + ОгрПоКасРасхСПередвижками;
    конец;
  конец;
  
  // Ограничение по принятию реестра
    Если Коллекция.Values("ПринятыеРеестрыЧек") = да тогда
      // у части приходных интерфейсов нет реестров(документы вносятся по выписке из банка). Их тоже надо учитывать.
      ОгрПоПринятиюРеестра := "and((ffr.Accepted = 1) or (d.AcceptDate is not null))"
    иначе
      ОгрПоПринятиюРеестра := "";

  // ограничение по заявке
  Если Коллекция.Values("ИсключатьПустыеЗаявки") = да тогда
    ОгрПоПустымЗаявкам := "and(d.REQUESTSINDEX is not NULL)"
  иначе
    ОгрПоПустымЗаявкам := "";
  // ограничение по лицевым счетам организации-главного распорядителя  
  // !!! параметр "КазнОграничиватьПоГРК" больше не поддерживается. Оставлен для совместимости с пред.версиями !!!
  ОгрПоЛС_ГРК:= '';  
  Если (Коллекция.Values("ОргЛС")='')и(Коллекция.Values("КазнОграничиватьПоГРК")=1) тогда
    ОгрПоЛС_ГРК:= Ограничение('ОргССылка=f.GENERALORG_REF%d',коллекция);

  // Определяем ограничение по дате
  // Если колонка реестровая, но на панели параметров есть тип даты Универ и выброн НЕ Тип ограничения по реестру, то по этой дате и ограничиваем
  // Если колонка фактическая, но на панели параметров есть тип даты Универ и выброно ограничение по реестру, то обрабатываем его аналогично реестровой колонке
  // Проверяем есть ли универсальный ограничитель по датам
  БлокированныеСредства := Коллекция.Значение('БлокированныеСредства');  
  Если Коллекция.ПараметрСуществует("ТипДатыУнивер")
  тогда начало
    если Коллекция.Values("ДатаРеестраТипЧек")
      тогда ОгрПоДате := ОграничениеДатыПоРеестру(Коллекция)
      // ограничиваем по той дат, что выбрана
      иначе начало
        Если (Коллекция.Значение('ДатаБлокировкиТипЧек')&lt;&gt;1) тогда        
           ОгрПоДате := ОграничитьПоДатеОтправки(Приход, МаппингОгрДаты, Коллекция)
        иначе начало  // работаем с ограничениями по датам блокировок
            ОгрПоДатеБлокировки := ПолучитьОграничениеПоТипуДаты('ДатаБлокировкиТип=d.Acceptdate', Коллекция, 'd.AcceptDate') + ' and (d.IsBlocked=1)';
            Если Коллекция.Значение('ВключатьРазблокированныеЧек')=1 тогда
              ОгрПОРазблокировке := ''
            иначе
              ОгрПОРазблокировке :=  'and( not((1=1)' + получитьОграничениеПоТипуДаты('ДатаБлокировкиТип=d.UnBlockedDate', Коллекция, 'd.UnBlockedDate') + ')or (d.UnBlockedDate is null))';
            ОгрПоБлокировкам :=  ОгрПоДатеБлокировки + ОгрПОРазблокировке;
            ОгрПоДате := ОгрПоДате + ОгрПоБлокировкам;
        конец;
      конец;
  конец
  иначе начало
    // нет универсального ограничителя по датам, ограничиваем согласно функциональному преднахначению колонки
    Если Коллекция.Values("УчитыватьРеестр")
      тогда ОгрПоДате := ОграничениеДатыПоРеестру(Коллекция)
      // ограничиваем по той дат, что предназначение колонки
      иначе ОгрПоДате := ОграничитьПоДатеОтправки(Приход, МаппингОгрДаты, Коллекция);
  конец;

   ЕстьОгрПоБлокировкамНаПанели := (не коллекция.ПараметрСуществует("НеВключатьВНеЗаблокированныеРазблокированные")) и 
                                   ((Коллекция.Значение('ДатаБлокировкиТипЧек')=1) или (Коллекция.Значение('ДатаРазБлокировкиТипЧек')=1));
   Если ЕстьОгрПоБлокировкамНаПанели тогда 
     БлокированныеСредства := бсНеУчитывать;

   Выбрать БлокированныеСредства из
     бсРазблокированные   : начало  
                              ОгрПоДате := ОгрПоДате + получитьОграничениеПоТипуДаты('ДатаРазБлокировкиТип=d.UnBlockedDate', Коллекция, 'd.UnBlockedDate');
                            конец; ////////   
     бсЗаблокированные    : начало
                              Если Коллекция.Значение('ДатаРазБлокировкиТипЧек') = 0 тогда
                                ОгрПОРазблокировке := ''
                              иначе   
                                ОгрПОРазблокировке := 'and( not((1=1)' + получитьОграничениеПоТипуДаты('ДатаБлокировкиТип=d.UnBlockedDate', Коллекция, 'd.UnBlockedDate') + ')or (d.UnBlockedDate is null))';
                                
                              ОгрПоДате := ОгрПоДате + 'and (d.IsBlocked=1)' + ОгрПОРазблокировке;  
                            конец; ///////
     бсНеЗаблокированные  : начало
                              если коллекция.значение("НеВключатьВНеЗаблокированныеРазблокированные")&lt;&gt;1 или Коллекция.Значение('ВключатьРазблокированныеЧек')=1 тогда
                                если Коллекция.ПараметрСуществует('КонечнаяДата') и (Коллекция.Values('КонечнаяДата')&lt;&gt;'') тогда
                                  ОгрПоДате := ОгрПоДате + 'and ( (d.IsBlocked&lt;&gt;1)or(d.IsBlocked is null) or ' + ФорматноеОграничениеПоДатам('d.UnBlockedDate', '0', Коллекция.Values('КонечнаяДата')) + ')'
                                иначе
                                  ОгрПоДате := ОгрПоДате + 'and ( (d.IsBlocked&lt;&gt;1)or(d.IsBlocked is null) or ((1=1)' + получитьОграничениеПоТипуДаты('ДатаРазБлокировкиТип=d.UnBlockedDate', Коллекция, 'd.UnBlockedDate') + ') )'
                              иначе  
                                ОгрПоДате := ОгрПоДате + 'and  ((d.IsBlocked&lt;&gt;1)or(d.IsBlocked is null))';  
                            конец; ///////
     бсНеУчитывать        : начало
     
                            конец; //////                                         
   конец;
   
 
  // ограничение, учитывающее проведение документа (проведенные или непроведенные)
  если Коллекция.ПараметрСуществует("ПроведНеПровед") тогда
    Выбрать Коллекция.Values("ПроведНеПровед") из
      1: ОгрПоДате := ОгрПоДате+"and(d.AcceptDate is not NULL)"; // проведенные
      2: ОгрПоДате := ОгрПоДате+"and(d.AcceptDate is NULL)"; // непроведенные
    конец;
    
  // к ограничению по дате необходимо добавить ограничение по состояниям через OR
  ОгрПоСостояниям := СформироватьОграничениеПоПараметрам('Казначейство_СписокСостояний=c.DOCSTATEREF', '', Коллекция, 'OR ');
  ОгрПоДате := ДополнитьОграничение(ОгрПоДате, ОгрПоСостояниям);
    
  // ограничения по федеральным средствам
  Если (Коллекция.Значение("ДанныеТолькоФедеральныхРеестров") = 1)
    тогда ОграничитьПоФедеральнымСредствам := 'and ( not (c.FEDERALFUNDSREF is null)) '
    иначе ОграничитьПоФедеральнымСредствам := '';  
  // дополнительные ограничения  
  ОгрДоп := Коллекция.Values("ДопПараметры");  

  ОгрПоПустымБухСчетам:='';
  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета")и Коллекция.values("НеВключатьПустыеБухСчета")=да
    тогда ОгрПоПустымБухСчетам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) ";

  Если (Коллекция.Значение("ВидСанкционированияРасходов") &lt;&gt; '') тогда
    ОгрПоБухДокументу := ПолучитьОгрПоБухДокументу(Коллекция.Значение("ВидСанкционированияРасходов"))
  иначе
    Если (Коллекция.Значение("БухгалтерскийДокумент") &lt;&gt; '') тогда
      ОгрПоБухДокументу := ПолучитьОгрПоБухДокументу(Коллекция.Значение("БухгалтерскийДокумент"))
    иначе  
      ОгрПоБухДокументу := "";
  
  ОгрПоПринадлежностиЛС := "";    
  выбрать Коллекция.Значение("ПринадлежностьЛС") из
    1 : 
      Если Приход тогда 
        ОгрПоПринадлежностиЛС := "and (DFacial.FCAccount is null)"
      иначе  
        ОгрПоПринадлежностиЛС := "and (SFacial.FCAccount is null)";
    2 : 
      Если Приход тогда 
        ОгрПоПринадлежностиЛС := "and (DFacial.FCAccount is not null)"
      иначе  
        ОгрПоПринадлежностиЛС := "and (SFacial.FCAccount is not null)";
  конец;
          
  // Выбирать включенные в сводные уведомления
  если (Коллекция.Values("СводныеУведомления")="2") тогда 
    ОгрПоСводнымУведомлениям := "and(d.UNIONNOTIFYREF is null)"
  иначе 
    ОгрПоСводнымУведомлениям := "";

  ОгрПоАрхиву := "";
  выбрать Коллекция.Значение("АрхивныеДокументы") из 
    "1" : ОгрПоАрхиву := "and(c.ArhiveDoc = 1)";
    "2" : ОгрПоАрхиву := "and(c.ArhiveDoc = 0)";
  конец;  

  /$если База70100
  если Приход тогда
    ОгрТипДеят := ОгрТипДеятельности((Коллекция.Значение("ТипДеятельности")),"ВидДеятельности=d_mt.ActivityKind%d","ТипСредствБюдж=d.DestMeansType")
  иначе
    ОгрТипДеят := ОгрТипДеятельности((Коллекция.Значение("ТипДеятельности")),"ВидДеятельности=s_mt.ActivityKind%d","ТипСредствБюдж=d.SourceMeansType");
  /$конец
  
  если Приход тогда
    ОгрКодЦели := ОграничениеПоКодуЦели(Коллекция, "Код_Цели=d_mt.TargetCls%d", "Код_Цели=d_tc.TargetCls%d")
  иначе
    ОгрКодЦели := ОграничениеПоКодуЦели(Коллекция, "Код_Цели=s_mt.TargetCls%d", "Код_Цели=s_tc.TargetCls%d");
    
  //возможность исключать документы, у которых родительскими являются уведомления об уточнении платежа
  если Коллекция.Значение("НеУчитыватьУведомленияОбУточнении") = 1 тогда
  начало
    Фильтр := CreateVariables;
    LinkInfo := CreateComObject(TLinkInfo2);
    попытка
      СоединитьИнтерфейс(LinkInfo);
      Фильтр.Значение("ParentDocCls") := '550101,550201';
      ТипыСвязей := LinkInfo.GetLinkTypes(Фильтр);
      ТипСвязи := GetLimitStr(ТипыСвязей, "ID");
      если ТипСвязи &lt;&gt; '' тогда
      начало
        если Коллекция.Значение("ТипВходящейСвязи") &lt;&gt; '' тогда
        начало
          если Позиция("#", Коллекция.Значение("ТипВходящейСвязи")) &gt; 0 тогда
            Коллекция.Значение("ТипВходящейСвязи") := Коллекция.Значение("ТипВходящейСвязи") + ',' + ТипСвязи;
        конец
        иначе
          Коллекция.Значение("ТипВходящейСвязи") := "#" + ТипСвязи;
      конец;  
    обязательно
      ЗакрытьИнтерфейс(LinkInfo);
      УдалитьОбъект(LinkInfo);
    конец;
  конец;  

  ОгрПоСвязям := "";
  ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязи", ОгрПоСвязям);
  ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязи", ОгрПоСвязям);
  ОграничениеПоСвязям(Коллекция, "lrcc", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  ОграничениеПоСвязям(Коллекция, "lrpc", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);

  // ограничиваем (если требуется) по правам на расходную классификацию. Ограничения по остальным правам(на Р\с, организации) накладываются ранее в поддержкаПроекта.abl
  Если Приход тогда 
  начало
    ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваПриход_БКРасх,Коллекция,'((d.DestCLSType=0)and(%s))');
    ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваПриход_БКИст,Коллекция,' or((d.DestCLSType=1)and(%s))');
    ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваПриход_БКДох,Коллекция,' or((d.DestCLSType=2)and(%s))');
  конец     
    иначе
  начало
    ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваРасход_БКРасх,Коллекция,'((d.CLSType=0)and(%s))');
    ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваРасход_БКИст,Коллекция,' or((d.CLSType=1)and(%s))');
    ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваРасход_БКДох,Коллекция,' or((d.CLSType=2)and(%s))');
  конец;  
  Если ОгрПрава_БКРасх&lt;&gt;"" тогда 
    ОгрПрава := 'and('+ОгрПрава_БКРасх+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
  иначе 
    ОгрПрава := ''; 
  // 
  Если Коллекция.Значение("ИсключитьРеестрУРМ") = 1 тогда
    ОгрРеестрУРМ := "and(not((c.Reestr_Ref is not null)and(c.Reestr_Ref = " + 
      ПолучитьКонстантуКэш("", 56, 0, 0) + ")))";
  // ограничение по параметру ИнформацияОНалоге
  ОгрПоИнформацииОНалоге := ""; 
  Если УбратьПробелы(Коллекция.Значение("ИнформацияОНалоге")) &lt;&gt; "" тогда
    ОгрПоИнформацииОНалоге := Формат(" and (c.TaxNote containing '%s')",Коллекция.Значение("ИнформацияОНалоге"));    
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
    
  ОгрИЛ := "";
  если Коллекция.Значение("КазнИЛ")  = "1" тогда // выбираем только ПП связанные с исполнительными листами
    ОгрИЛ := "and (not WritDet.Id is null)";
  // ограничение по ЕстьИнформацияИзЭОВходящие
  если УбратьПробелы(Коллекция.Значение("ЕстьИнформацияИзЭОВходящие")) &lt;&gt; "" тогда
    если (Коллекция.Значение("ЕстьИнформацияИзЭОВходящие") = 0) тогда
      ОгрПоЭОВходящие := " and (c.ElDocRef is null)"
    иначе
      ОгрПоЭОВходящие := " and (c.ElDocRef is not null)";
  //
  результат := ОгрДоп+ОгрБазовые+ОгрПоБюджОбяз+ОгрПоИнтерфейсу+ОгрПоСервиснымСчетам+
        ОгрЛСПлатРавенЛСПолуч+ОгрПоКассовымРасходам+ОгрПоКасРасхСПередвижками+ОгрПоПустымБухСчетам+
        ОгрПоПринятиюРеестра+ОгрПоПустымЗаявкам+ОгрПоЛС_ГРК+ОгрПоДате+ОграничитьПоФедеральнымСредствам +
        ОгрПоДокИсполн + ОгрПоБухДокументу + ОгрПоСводнымУведомлениям + ОгрПоПринадлежностиЛС + ОгрПоАрхиву +
        ОгрПоСвязям + ОгрПрава + ОгрРеестрУРМ + ОгрПоИнформацииОНалоге + ОгрПоДатамБухОпераций + ОгрКодЦели + ОгрИЛ +
        ОгрПоЭОВходящие;
  /$если База70100
  результат := результат + ОгрТипДеят;
  /$конец
конец;

функция ИмяПоляБОДляУД_по_настройке: строка;
начало
  выбрать ЦелаяКонстанта(50, 47) из
    1: результат := 'ps.PromiseNumber';
    2: результат := 'a.ReestrNumber';
    иначе
      результат := 'ps.ANumber';
  конец
конец;

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Функции ЗАПРОС...
/////////////////////////////////////////////////////////////////////////////////////////////////////
функция ВернутьСписокЕдиныхПолей(знак : строка) : Строка;
переменные      
  ИмяПоляБОДляУД: строка;       
начало
  //если используется неизменяемый номер БО
  если УчетДоговоров тогда
    ИмяПоляБОДляУД := ИмяПоляБОДляУД_по_настройке
  иначе 
    ИмяПоляБОДляУД := 'ps.Number';   

  Результат := 
        "c.BidDate BidDate, c.id CptID, c.Id CptFUID, c.SenderID CptSenderID, c.SenderRecordID CptSenderRecordID," + nl+
        "d.id DetID, d.Id DetFUID, d.SenderID DetSenderID, d.SenderRecordID DetSenderRecordID,"+nl+
        "c.DocNumber, c.BuhPaymentCLS, c.PayDate, c.PayTypeCLS, d.PaySymbolCLS, c.ManagerBid ManagerBidID, c.ManagerBid ManagerBidFUID,"+nl+
        "c.PayPriority, c.Period, c.Reject_CLS, c.RejectCause, c.SourceDocNum, c.IntegratedDocRef, c.DepartmentCls,"+nl+
        "d.ProgIndex, c.Progindex CptProgindex, c.DestAccount, c.SourceAccount, c.Note CaptionNote, d.Note DetailNote,"+nl+
        "ffr.ReestrNumber,ffr.SessionNumber, ffr.REESTRTYPEEX, c.Reestr_Ref, c.ReestrDate, c.DocumentDate, d.memordernum,"+nl+
        "c.TREASUARYDOCSTATECLS, c.RequestNumber, c.RequestDate, c.DestStoredPaymentProps, c.SourceStoredPaymentProps, c.StoredPaymentNote,"+nl+
        "d.AcceptDate, c.CreaterUser CptCreaterUser, c.UpdaterUser CptUpdaterUser, d.CreaterUser, d.UpdaterUser," + nl +
        "c.TypeOperationCLS, c.TrustNumber, c.ArhiveDoc ArhiveDoc, c.OperationDirection, "+nl+
        "c.TaxNote, c.Credit CaptionSum, c.NDS NDS, c.FEDERALFUNDSREF FederalData, " +nl+
        "ffr.ACCEPTED, c.BidNumber, d.REQUESTSINDEX, Cast(3 as integer) AlgIndex," +nl+
        "mbid.ManagerBidNumber ManagerBIDNUMBER, mbid.ManagerBidDate ManagerBIDDATE, mbid.MANAGERFACIALACCCLS MANAGERFACIALACCCLS," + nl +
        "mbid.ARHIVEDOC  ManagerARHIVEDOC, c.CryptoStatus, c.DOCSTATEREF, d.CreateDate, d.UpdateDate, d.RecordIndex2," + nl +
        "c.CreateDate CptCreateDate, c.UpdateDate CptUpdateDate, c.CardNumber,c.LASTEXTRCHANGE, c.StimateId, d.StimateId DetStimateId," + nl+
        "c.LinkedDocument,ex.SendDate, pde.Status StatusDet, ex.PacketNumber, pde.PacketNumber PacketNumberDet, c.BudgetRef BudgetRef," + nl +
        "c.FAXDOCCOUNT, d.RVERSION DetRVERSION, c.RVERSION CptRVERSION, d.SUBPROGINDEX," + nl +
        "c.SourceFacialAcc_Cls SourceCaptionFacialAcc, c.DestFacialAcc_Cls DestCaptionFacialAcc, c.CardRef," + nl +
        //  Классификация плательщика
        "d.SourceFacialAcc_CLS SourceFacialAcc, d.SourcePromise, d.SourceBudgetPromise, d.SourceFinSource, d.SourceFundsSource," + nl + 
        "d.SourceKFSR, d.SourceKESR, d.SourceSubKESR, d.SourceDirectionCLS, d.SourceFact, d.SourceAssignmentKind," + nl +
        "d.SourceKVR SourceKVRID, sKvr.Code SourceKVR, d.SourceKVSR SourceKVSRID, sKvsr.Code SourceKVSR," + nl +
        "d.SourceKCSR SourceKCSRID, sKcsr.Code SourceKCSR, d.SourceKD, S_KD.KDValue SourceKDValue,"+ nl+
        "d.SourceDocType, d.SourceMeansType, d.SourceFinType, d.SourceDocBase, d.SourceExecDoc," + nl+
        "d.SourceTransfertCls, s_tc.Code SourceTransfertClsValue, cast(0 as varchar(20)) SourceBudgClS," + nl +
        "d.SourceSubsidyCls, s_sc.Code SourceSubsidyClsCode, d.SourceFAOrg_Type," + nl +
        "d.SourceBudAllocationCls, s_balc.Code SourceBudAllocationClsCode, d.SourcePayPromiseCls, s_ppc.Code SourcePayPromiseClsCode," + nl + 
        "d.SourceRegionCLS SourceRegionDetail, s_OwnOrg.RegionCLS SourceRegionBudgetEst, s_o.RegionCLS SourceRegionContractor," + nl +
        "s_edc.ID SourceExecDocID," + nl +
        "s_edc.DocNumber SourceExecDocNum," + nl +
        "s_edc.ReestrNumber SourceExecDocReestrNum," + nl +
        "s_edc.DocumentDate SourceExecDocDate," + nl +
        "s_edc.DocType SourceExecDocType," + nl +
        "s_edc.Summa SourceExecDocSumma," + nl +
        "s_edc.Note SourceExecDocNote," + nl+    
        "s_" + ИмяПоляБОДляУД + " SourcePromiseNumber," + nl+
        "s_ps.PromiseNumber SourceNonEditPromiseNumber," + nl +
        "s_ps.Summa SourcePromiseSumma," + nl+
        "s_a.id SourcePromiseAgrID," + nl+
        "s_a.DocNumber SourcePromiseAgrNumber," + nl+
        "s_a.AgreementDate SourcePromiseAgrDate," + nl+
        "s_a.InnerNumber SourcePromiseAgrInnerNumber," + nl+
        "s_a.AgreementSumma SourcePromiseAgrSumma," + nl+
        "s_a.ReestrNumber SourcePromiseAgrReestrNumber," + nl+
        "s_a.Note SourcePromiseAgrNote," + nl+
        "s_so.DocNumber SourcePromiseOrderNumber," + nl+
        "s_so.AgreementDate SourcePromiseOrderDate," + nl+
        "s_so.AgreementSumma SourcePromiseOrderSumma," + nl+
        "s_so.ReestrNumber SourcePromiseOrderReestrNumber," + nl+
        "s_so.Note SourcePromiseOrderNote," + nl+                
        //  Классификация получателя
        "d.DestFacialAcc_Cls DestFacialAcc, d.DestPromise, d.DestBudgetPromise, d.DestFinSource, d.DestFundsSource," + nl+ 
        "d.DestKFSR, d.DestKESR, d.DestSubKESR, d.DestDirectionCLS, d.DestFact, d.DestAssignmentKind," + nl+
        "d.DestKVR DestKVRID, dKvr.Code DestKVR, d.DestKVSR DestKVSRID, dKvsr.Code DestKVSR, d.DestKCSR DestKCSRID, dKcsr.Code DestKCSR," + nl +
        "d.DestDocType, d.DestMeansType, d.DestFinType, d.DestDocBase, d.DestExecDoc, d.DestKD, D_KD.KDValue DestKDValue," + nl+
        "d.DestTransfertCls, d_tc.Code DestTransfertClsValue, cast(0 as varchar(20)) DestBudgClS," + nl +
        "d.DestSubsidyCls, d_sc.Code DestSubsidyClsCode, d.DestFAOrg_Type," + nl +  
        "d.DestBudAllocationCls, d_balc.Code DestBudAllocationClsCode, d.DestPayPromiseCls, d_ppc.Code DestPayPromiseClsCode," + nl +      
        "d.DestRegionCLS DestRegionDetail, d_OwnOrg.RegionCLS DestRegionBudgetEst, d_o.RegionCLS DestRegionContractor," + nl +       
        "d_edc.ID DestExecDocID," + nl +
        "d_edc.DocNumber DestExecDocNum," + nl +
        "d_edc.ReestrNumber DestExecDocReestrNum," + nl +
        "d_edc.DocumentDate DestExecDocDate," + nl +
        "d_edc.DocType DestExecDocType," + nl +
        "d_edc.Summa DestExecDocSumma," + nl +
        "d_edc.Note DestExecDocNote," + nl+
        "d_" + ИмяПоляБОДляУД + " DestPromiseNumber," + nl+
        "d_ps.PromiseNumber DestNonEditPromiseNumber," + nl +
        "d_ps.Summa DestPromiseSumma," + nl+
        "d_a.id DestPromiseAgrID," + nl+
        "d_a.DocNumber DestPromiseAgrNumber," + nl+
        "d_a.AgreementDate DestPromiseAgrDate," + nl+
        "d_a.AgreementSumma DestPromiseAgrSumma," + nl+
        "d_a.ReestrNumber DestPromiseAgrReestrNumber," + nl+
        "d_a.InnerNumber DestPromiseAgrInnerNumber," + nl+
        "d_a.Note DestPromiseAgrNote," + nl+
        "d_so.DocNumber DestPromiseOrderNumber," + nl+
        "d_so.AgreementDate DestPromiseOrderDate," + nl+
        "d_so.AgreementSumma DestPromiseOrderSumma," + nl+
        "d_so.ReestrNumber DestPromiseOrderReestrNumber," + nl+
        "d_so.Note DestPromiseOrderNote," + nl+        
        //общие поля 70Н
        "bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
        "CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR,"+nl+
        "CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue,"+nl+        
        "d.BuhOperationCLS, " + nl +      
        " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
        " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," + nl +                       
        " bac.BalanceCls, bac.CORRECTIONFLAG, bac.HeadActivityKind, bac.ActivityKind AccountActivityKind," + nl +
        // поля блокировок (с заголовка всегда сносятся триггерами на детализацию)
        " d.IsBlocked, d.BlockedCause , d.UnBlockedDate , d.UnblockedCause ," + nl +                
        // Поля плательщика 70Н
        "d.SourceIFS SourceIFS_Ref," + nl +      
        "s_ifs.FinSourceValue SourceIFS," + nl +
        "s_ifs.KESR SourceIFSKESR,"+ nl +
        // Поля получателя  70Н 
        "d.DestIFS DestIFS_Ref," + nl +      
        "d_ifs.FinSourceValue DestIFS," + nl +
        "d_ifs.KESR DestIFSKESR," + nl +
        // Несуществующие поля
        "cast(null as Integer) DocSuspended," + nl+
        "cast(null as Integer) IsInBudget," + nl+
        "cast(null as Integer) IsVised," + nl+ 
        "cast(null as Integer) BeginDocStateRef," + nl+
        "cast(null as Integer) SoftRejectCLS," + nl+
        "cast(null as varchar(255)) SoftRejectCause," + nl+
        "cast(null as Integer) SourceExecDocFUID," + nl+
        "cast(null as Integer) DestExecDocFUID," + nl+
        "D_dfbt.IFS DestDFIFS_Ref, S_dfbt.IFS SourceDFIFS_Ref," + nl +
        "lrp.ID OutLink, lrc.ID InLink, lrc.LinkTypeRef InLinkType, lrp.LinkTypeRef OutLinkType," + nl +
        "lrpc.ID OutLinkCpt, lrcc.ID InLinkCpt, lrcc.LinkTypeRef InLinkTypeCpt, " + nl + "lrpc.LinkTypeRef OutLinkTypeCpt," + nl +
        "lrp.ChildId, lrp.ParentId, lrp_lt.ChildDocCls, lrp_lt.ParentDocCls, c.Id Id,"  + nl +                                        
        // Сумма
        знак +"d.Credit Summa," + nl + 
        знак +"d.Credit DetCredit, " + nl +
        "c.CashierPersonalInfo," + nl +
        "d.ClsType SourceClsType, d.DestClsType,";
конец;

// получить поле Организации ЛС
функция ПолучитьПолеОрганизацияЛС(Коллекция : IVariables): строка;
начало
  Результат := "Org_Ref";
  если Коллекция.ПараметрСуществует("ОрганизацияЛС") тогда
  выбрать Коллекция.Values("ОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
  если Коллекция.ПараметрСуществует("БюджОрганизацияЛС") тогда
  выбрать Коллекция.Values("БюджОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
конец;

// формируем нужный Join
функция ВернутьСоединениеТаблиц(Коллекция : IVariables): строка;
переменные 
  ТаблицыУчетДоговоров: строка;
  ОгрПоСвязям, ОгрПоВходящимСвязям, ОгрПоИсходящимСвязям, ОгрПоВходящимСвязямЗаголовка, ОгрПоИсходящимСвязямЗаголовка: строка;
начало
  Если не Коллекция.Значение('Oracle')
    тогда Результат := "FacialFinDetail  d left join FacialFinCaption c On (d.RecordIndex = c.id) "
    иначе Результат := "FacialFinCaption c inner join FacialFinDetail d On (d.RecordIndex = c.id) "+ nl;
    
  ОгрПоСвязям := "";
  ОгрПоВходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязи", ОгрПоСвязям);
  ОгрПоИсходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязи", ОгрПоСвязям);
  ОгрПоВходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrcc", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  ОгрПоИсходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrpc", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);    
    
  результат := результат +
    " left join PayDocExchange ex On (ex.PayDocRef = c.id ) "+nl+  
    " left join PayDocExchange pde On (pde.PayDocRef = d.id ) "+nl+
    " left join FacialFinReestr ffr on (ffr.id=c.Reestr_ref) "+nl+
    " left join BuhPaymentCLS bp On (c.BuhPaymentCls = bp.id) "+nl+
    " left join MANAGERBID mbid  on (mbid.id = c.ManagerBid)"+nl+  
    " left join FACIALACC_CLS DFacial  on (DFacial.id = d.DestFacialAcc_Cls)"+nl+ 
    " left join Organizations d_OwnOrg on (d_OwnOrg.id = DFacial.Org_Ref)" + nl +
    " left join Org_Accounts DFacial_OA on (DFacial_OA.id = DFacial.FCAccount)" + nl +
    " left join Org_Accounts d_oa on (d_oa.ID = c.DestAccount)" + nl + 
    " left join Organizations d_o on (d_o.ID = d_oa.Org_Ref)" + nl +    
    " left join FACIALACC_CLS SFacial on (SFacial.id = d.SourceFacialAcc_CLS)"+nl+
    " left join Organizations s_OwnOrg on (s_OwnOrg.id = SFacial.Org_Ref)"+ nl +
    " left join Org_Accounts SFacial_OA on (SFacial_OA.id = SFacial.FCAccount)" + nl +
    " left join Org_Accounts s_oa on (s_oa.ID = c.SourceAccount)" + nl + 
    " left join Organizations s_o on (s_o.ID = s_oa.Org_Ref)" + nl +    
    " left join incomes32 inc on (c.FEDERALFUNDSREF = inc.id) " + nl +
    " left join quotestitle q on (inc.recordindex = q.id) " + nl +
    " left join TransfertCls s_tc on (d.SourceTransfertCls = s_tc.ID)" + nl +
    " left join TransfertCls d_tc on (d.DestTransfertCls = d_tc.ID)" + nl +  
    " left join SubsidyCls s_sc on (d.SourceSubsidyCls = s_sc.ID)" + nl +
    " left join SubsidyCls d_sc on (d.DestSubsidyCls = d_sc.ID)" + nl + 
    " left join BudAllocationCls s_balc on (d.SourceBudAllocationCls = s_balc.id)" + nl +
    " left join BudAllocationCls d_balc on (d.DestBudAllocationCls = d_balc.id)" + nl +
    " left join PayPromiseCls s_ppc on (d.SourcePayPromiseCls = s_ppc.id)" + nl +
    " left join PayPromiseCls d_ppc on (d.DestPayPromiseCls = d_ppc.id)" + nl + 
    " left join MeansType D_MT on (D_mt.ID = d.DestMeansType) " + nl +
    " left join MeansType S_MT on (S_mt.ID = d.SourceMeansType) " + nl +
    " left join KVSR dKvsr on (dKvsr.id = d.DestKVSR)" + nl +
    " left join KVSR sKvsr on (sKvsr.id = d.SourceKVSR)" + nl +
    " left join KCSR dKcsr on (dKcsr.id = d.DestKCSR)" + nl +
    " left join KCSR sKcsr on (sKcsr.id = d.SourceKCSR)" + nl +
    " left join KVR dKvr on (dKvr.id = d.DestKVR)" + nl +
    " left join KVR sKvr on (sKvr.id = d.SourceKVR)" + nl +
    " left join KD D_KD on (D.DestKD = D_KD.ID)" + nl +
    " left join KD S_KD on (D.SourceKD = S_KD.ID)" + nl +
    " left join KVSR dKvsrKD on (dKvsrKD.id = D_KD.KVSR)" + nl +
    " left join KVSR sKvsrKD on (sKvsrKD.id = S_KD.KVSR)" + nl +
    " left join InnerFinSource D_ifs on (D_ifs.ID = d.DestIFS)" + nl +
    " left join InnerFinSource S_ifs on (S_ifs.ID = d.SourceIFS)" + nl +
    " left join KVSR dKvsrIFS on (dKvsrIFS.id = D_ifs.KVSR)" + nl +
    " left join KVSR sKvsrIFS on (sKvsrIFS.id = S_ifs.KVSR)" + nl +
    " left join LinkRecords lrp on ((lrp.ParentID = d.id)" + ОгрПоИсходящимСвязям + ")" + nl +
    " left join LInkType lrp_lt on (lrp_lt.id = lrp.LinkTypeRef)" + nl +    
    " left join LinkRecords lrc on ((lrc.ChildID = d.id)" + ОгрПоВходящимСвязям + ")" + nl +
    " left join LinkType lrc_lt on (lrc_lt.Id = lrc.LinkTypeRef)" + nl +
    " left join LinkRecords lrpc on ((lrpc.ParentID = c.id)" + ОгрПоИсходящимСвязямЗаголовка + ")" + nl +
    " left join LinkRecords lrcc on ((lrcc.ChildID = c.id)" + ОгрПоВходящимСвязямЗаголовка + ")" + nl +
    // используем информацию о связях по детализации для определения того, было ли сделано перечисление по чеку. Отклоненные связи не учитываем.
    " left join LinkRecords lrp_check on ((lrp_check.ParentID = d.id) and (lrp_check.LinkTypeRef = 30301500) and (lrp_check.IsRejected =  0))" + nl +
    // используем информацию о связях по заголовкам для определения того, был ли сделан возврат по объявлению. Отклоненные связи не учитываем.       
    " left join LinkRecords lrpc_declaration on ((lrpc_declaration.ParentID = c.id) and (lrpc_declaration.LinkTypeRef = 30301300) and (lrpc_declaration.IsRejected =  0))" + nl +
        
    // таблицы 70Н
    " left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
    " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
    " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl+  
    " left join dfAccountsBuhTable D_dfbt on ((c.DestAccount = D_dfbt.id)"+Ограничение('Бюджет=D_dfbt.BudgetRef%d',Коллекция)+")" + nl +
    " left join dfAccountsBuhTable S_dfbt on ((c.SourceAccount = S_dfbt.id)"+Ограничение('Бюджет=S_dfbt.BudgetRef%d',Коллекция)+")" + nl +    
    " left join InnerFinSource D_dfifs on (D_dfifs.ID = D_dfbt.IFS)" + nl +   
    " left join InnerFinSource S_dfifs on (S_dfifs.ID = S_dfbt.IFS)" + nl +
    " left join BuhAccPlan D_dfBAP on (D_dfBAP.ID = D_dfbt.FinOrgAccRef)" + nl +   
    " left join BuhAccPlan S_dfBAP on (S_dfBAP.Id = S_dfbt.FinOrgAccRef)" + nl +
    " left join BuhOperationCLS boCLS on (boCLS.id = d.BuhOperationCLS)" + nl +
    " left join WritExecutionDetail writDet on (writDet.BudgetPromise = d.SourceBudgetPromise)" + nl;       

  //Определяем, какое БО нужно подтягивать к документам: старую версию или последнюю 
  если Коллекция.Значение("УчитыватьВерсииБО") тогда //Берем ту версию, к которой привязвалась платежка
    ТаблицыУчетДоговоров := 
      "  left join PaymentSchedule s_ps on ((d.SourceBudgetPromise = s_ps.InnerPromiseNum) and (d.SourcePromise = s_ps.Number))"+ nl +
      "  left join PaymentSchedule d_ps on ((d.DestBudgetPromise = d_ps.InnerPromiseNum) and (d.DestPromise = d_ps.Number))"
  иначе
    ТаблицыУчетДоговоров := 
      "  left join PaymentSchedule s_ps on ((d.SourceBudgetPromise = s_ps.InnerPromiseNum) and (s_ps.LastAccepted = 1))"+ nl +
      "  left join PaymentSchedule d_ps on ((d.DestBudgetPromise = d_ps.InnerPromiseNum) and (d_ps.LastAccepted = 1))";  
  ТаблицыУчетДоговоров := ТаблицыУчетДоговоров + nl + 
    "  left join Agreements s_a on (s_a.ID = s_ps.AgreementRef)" + nl +
    "  left join Agreements s_so on ((s_so.InnerNumber = s_a.StateOrderRef) and ((s_so.LastAccepted=1) or ((s_so.AdjustmentNumber = 0) and (s_so.Accepted = 0))))" + nl +
    "  left join ExecutionDocumentsCaption s_edc on (s_edc.ID = d.SourceExecDoc)" + nl +
    "  left join Agreements d_a on (d_a.ID = d_ps.AgreementRef)" + nl +
    "  left join Agreements d_so on ((d_so.InnerNumber = d_a.StateOrderRef) and ((d_so.LastAccepted=1) or ((d_so.AdjustmentNumber = 0) and (d_so.Accepted = 0))))" + nl +
    "  left join ExecutionDocumentsCaption d_edc on (d_edc.ID = d.DestExecDoc)";
  результат := результат + ТаблицыУчетДоговоров + nl;
конец;

// определение знака
функция ПолучитьЗнакСуммы(Коллекция : IVariables): строка;
начало
  Если (Коллекция.ПараметрСуществует("СуммаПоложительна")) и (Коллекция.Values("СуммаПоложительна")=нет) 
    тогда Результат := "-"
    иначе Результат := "";
конец;     

// по флажку дополнят маппинг либо тем, либо другим ограничением и
// выдает либо одну либо другую строку
функция ДополнитьМаппингИПоле(Флаг : Целое; ИсходныйМаппинг, РезультирующееПоле : Строка;
                                            МаппингДа, ПолеДа, МаппингНет, ПолеНет : Строка);
начало
  если Флаг 
  тогда начало
     ИсходныйМаппинг:=ИсходныйМаппинг+МаппингДа;
     РезультирующееПоле := ПолеДа;
  конец  
  иначе начало
    ИсходныйМаппинг:=ИсходныйМаппинг+МаппингНет;
    РезультирующееПоле := ПолеНет;
  конец;    
конец;                                            

//формирование приходного запроса по казначейству
Функция ЗапросКазначействоПриход(Коллекция:IVariables): строка;
переменные
  ОгрПоЛицСчету: строка;
  КазнОгр,ОгрПоДенежнымСредствам,ОгрПоРСПлат: строка;
  ОгрПоОрганизацииПлат, ОгрПоОрганизацииПолуч, ОгрПоКлассификаторам, ТаблицаОрг, ТаблицаСчетов, ОгрКодЗаписиУведомления: строка;
  ПолеБюджетногоОбязательства : строка;
  знак : строка;
  ИмяПоляБОДляУД, ИмяПоляВОграничение,
  Комментарий, Запрос, ЗапросСоединения: строка;
  МаппингКлсКазнПриход, ОрганизацияЛС : строка;
  ВремКоллекция:IVariables;
  ОгрПоНевыясн, ОгрПоОргСчетКор: строка;
начало
  //если используется неизменяемый номер БО
  если УчетДоговоров тогда
  начало
    ИмяПоляБОДляУД := 'd_' + ИмяПоляБОДляУД_по_настройке;
    ИмяПоляВОграничение := ИмяПоляБОДляУД + '%s';
  конец  
  иначе начало
    ИмяПоляБОДляУД := 'd_ps.Number';
    ИмяПоляВОграничение := 'd_ps.Number%d';       
  конец;

  ТаблицаОрг := '';
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Казн. Приход.");
  
  МаппингКлсКазнПриход:=МаппингКлсКазнПриход1 + МаппингКлсКазнПриход2 + МаппингКлсКазнПриход3 + МаппингКлсКазнПриход4 +
    МаппингКлсКазнПриход5 + МаппингКлсКазнПриход6;  
  //Определяем используемый блок бюджетных обязательств (1 - Учет договоров)
  ДополнитьМаппингИПоле(УчетДоговоров, МаппингКлсКазнПриход, ПолеБюджетногоОбязательства,
                                       Формат(МаппингБюдОбязУчетДогов, ИмяПоляВОграничение), ИмяПоляБОДляУД, // ДА
                                       МаппингПриходБюдОбязСтд, 'd.DestPromise');  //НЕТ
  // формируем ограничение по денежным средствам
  ОгрПоДенежнымСредствам := СформироватьОграниченияПоДенСредствам(Коллекция, 'd.DestDocType');
  //формируем ограничение по лицевому счету
  ОгрПоЛицСчету := СформироватьОгрПоНаборуМаппингов(Коллекция, "ЛицСчет=d.DestFacialAcc_CLS,сЛицСчета=d.SourceFacialAcc_cls,
    НаЛицСчет=d.DestFacialAcc_cls,ОргЛС=d.DestFacialAcc_CLS,БюджОргЛС=d.DestFacialAcc_CLS","ЛицСчет11=DFacial_OA.ACC%s,
    ОргЛС11=DFacial_OA.ACC%s,БюджОргЛС11=DFacial_OA.ACC%s,НомерЛС=DFacial.FacialCodeEx%s");
  // формируем ограничение по казначейскому Р/С
  ТаблицаСчетов := "";
  ОгрПоРСПлат := "";
  ОгрПоОрганизацииПлат := "";
  ОгрПоОрганизацииПолуч := "";
  ОгрКодЗаписиУведомления := "";
  ОрганизацияЛС := ПолучитьПолеОрганизацияЛС(Коллекция);
  Если Коллекция.ПараметрСуществует('ОгрКодЗаписиУведомления') тогда
    ОгрКодЗаписиУведомления :=Коллекция.Значение('ОгрКодЗаписиУведомления'); 
  
  // !!! Параметр "КазнОграничиватьПоГРК" больше не поддерживается. Оставлен для совместимости с пред. версиями !!!  
  Если (Коллекция.Values("КазнОграничиватьПоГРК")&lt;&gt;1) тогда
  начало
    // Ограничение по организации. Это либо ограничение по организации-плательщику 
    // либо по организации-владельцу лицевого счета получателя. При ограничении по организации-плательщику 
    // может быть указан счет этой организации в этом случае ограничение будет наложено по счету.
    если Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") тогда
    начало
      ОгрПоОрганизацииПолуч := Ограничение("ОргСсылка=f." + ОрганизацияЛС + "%d," + 
                                           "ПолучОргСсылка=f."+ОрганизацияЛС+"%d," +
                                           "РаспОргСсылка=f." + ОрганизацияЛС + "%d",
                                           Коллекция);
      ТаблицаОрг := СформироватьОгрПоТипуОрг(Коллекция, "f." + ОрганизацияЛС,'oof');
    конец
    иначе
      начало
        //ограничение по бюджетному учреждению-получателю
        ОгрПоОрганизацииПолуч := Ограничение("БюджОргСсылка=f." + ОрганизацияЛС + "%d",Коллекция);
        ОгрПоРСПлат := Ограничение("РСССылка=c.SourceAccount%d," + 
                                   "ПлатРСССылка=c.SourceAccount%d," +
                                   "РаспРСССылка=c.SourceAccount%d",
                                   Коллекция);
        если ОгрПоРСПлат = "" тогда
        начало
          ОгрПоОрганизацииПлат := Ограничение("ОргСсылка=oa.Org_Ref%d," + 
                                              "ПлатОргСсылка=oa.Org_Ref%d," +
                                              "РаспОргСсылка=oa.Org_Ref%d",
                                              Коллекция);
          ТаблицаОрг := СформироватьОгрПоТипуОрг(Коллекция,"oa.Org_Ref",'oof');          
          если (ОгрПоОрганизацииПлат &lt;&gt; "") или (ТаблицаОрг &lt;&gt; "") тогда
            ТаблицаСчетов := " inner join Org_Accounts oa on ((c.SourceAccount = oa.id)" + ОгрПоОрганизацииПлат + ")" + nl;          
        конец;
      конец;
  конец;
  // ограничение по организации-контрагенту и корреспондирующему счету 
  ОгрПоОргСчетКор := Ограничение("ПоставРССсылка=c.SourceAccount%d,ПоставОргСсылка=s_oa.Org_Ref%d", Коллекция); 
  // формируем запрос 
  КазнОгр := НастроитьОграниченияКазначейскихЗапросов(Коллекция,Да);
  
  ОгрПоКлассификаторам := Ограничение(МаппингКлсКазнПриход,Коллекция);
  
  ОгрПоНевыясн := "";
  если Коллекция.Значение("ОгрПоНевыясненным") = 1  тогда 
  начало     
    ВремКоллекция := CreateVariables;
    ВремКоллекция.PumpData(Коллекция);
    попытка
      ВремКоллекция.Значение("КодДохода") := '#'+СтроковаяКонстанта(3,0);
      ОгрПоНевыясн:= Ограничение("КодДохода=D_KD.KDValue%l", ВремКоллекция);
      ВремКоллекция.Значение("КодДохода") := '#'+СтроковаяКонстанта(3,11);
      если ВремКоллекция.Значение("КодДохода")&lt;&gt;'' тогда
        ОгрПоНевыясн:= ОгрПоНевыясн + Ограничение("КодДохода=D_KD.KDValue%l", ВремКоллекция);
    обязательно
       УдалитьОБъект(ВремКоллекция)
    конец;
  конец;
  если  Коллекция.Значение("ТолькоНевыясненные")=1  тогда 
  начало  
    ВремКоллекция := CreateVariables;
    ВремКоллекция.PumpData(Коллекция);
    попытка  
      ОгрПоНевыясн := ""; 
      ВремКоллекция.Значение("КодДохода") := СтроковаяКонстанта(3,0);// только данный код
      ОгрПоНевыясн:= Ограничение("КодДохода=d_KD.KDValue%l", ВремКоллекция);
      ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
      если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
        ОгрПоНевыясн := 'and (((1=1)' + ОгрПоНевыясн + ') or ((1=1)' + Ограничение("КодДохода=d_KD.KDValue%l", ВремКоллекция) + '))';
    обязательно
      УдалитьОбъект(ВремКоллекция)
    конец;        
  конец;
  ЗапросСоединения := ВернутьСоединениеТаблиц(Коллекция);
  // определяем знак суммы
  знак := ПолучитьЗнакСуммы(Коллекция);

  // Исходный для работы SQL запрос                            
  запрос := 
  "Select "+nl+
       ВернутьСписокЕдиныхПолей(Знак) +
      // маппинг приходной классификации
      "d.DestKVR KVRID, dKvr.Code KVR, d.DestKVSR KVSRID, dKvsr.Code KVSR, d.DestKCSR KCSRID, dKcsr.Code KCSR," + nl + 
      "d.DestKESR KESR, d.DestKFSR KFSR, d.DestSUBKESR SUBKESR, d.DestDirectionCLS DirectionCLS, d.DestFACT FACT, " + nl +
      "d.DestKD KD, D_KD.KDVALUE KDValue, d.DestTransfertCls TransfertCls, d_tc.Code TransfertClsValue," + nl +
      "d.DestAssignmentKind AssignmentKind, d.DestFinSource FinSource, d.DestFinType FinType, d.DestDocType Doctype," + nl +
      "d.DestMeanstype MeansType, d.DestFundsSource FundsSource, d.DestClsType ClsType, d.DestFAOrg_Type FAOrg_Type," + nl +
      "c.DestAccount acc1, c.DestAccount acc2, c.DestType BuhType, d.DestDocBase DocBase," + nl +
      "d.DestExecDoc ExecDoc, d_edc.ID ExecDocID, d.DestExecInnerNumber, d.DestExecInnerNumber ExecInnerNumber, d_edc.DocNumber ExecDocNum, " + nl +
      "d_edc.ReestrNumber ExecDocReestrNum, d_edc.DocumentDate ExecDocDate, d_edc.DocType ExecDocType, d_edc.Summa ExecDocSumma, d_edc.Note ExecDocNote," + nl +
      "d_ps.innerpromisenum, " + ИмяПоляБОДляУД + " PromiseNumber, d_ps.PromiseNumber NonEditPromiseNumber,d_ps.PromiseType PromiseType, d_ps.Summa PromiseSumma, d_a.id PromiseAgrID," + nl +
      "d_a.innernumber PromiseAgrInnerNumber, d_a.DocNumber PromiseAgrNumber, d_a.AgreementDate PromiseAgrDate," + nl+
      "d_a.AgreementSumma PromiseAgrSumma, d_a.ReestrNumber PromiseAgrReestrNumber, d_a.Note PromiseAgrNote, d_so.DocNumber PromiseOrderNumber," + nl+
      "d_so.AgreementDate PromiseOrderDate, d_so.AgreementSumma PromiseOrderSumma, d_so.ReestrNumber PromiseOrderReestrNumber," + nl+
      "d_so.Note PromiseOrderNote, c.BuhOperationCLS CptBuhOperationCLS, d.DestSubsidyCls SubsidyCls, d_sc.Code SubsidyClsCode," + nl+
      "d.DestBudAllocationCls BudAllocationCls, d_balc.Code BudAllocationClsCode, d.DestPayPromiseCls PayPromiseCls, d_ppc.Code PayPromiseClsCode," + nl +      
      "((c.DestType+1)/2*d.Credit) InSumma, ("+Знак+"(-c.DestType+1)/2*d.Credit) OutSumma, 0 TypeOperation,"+nl+
      /*ПолеБюджетногоОбязательства+*/" d.DestPromise Promise, d.DestBudgetPromise BudgetPromise,"+nl+
      "d.DestRegionCLS RegionDetail, d_OwnOrg.RegionCLS RegionBudgetEst, s_o.RegionCLS RegionContractor," + nl +
      "d.DestRegionCLS RegionCLS, d.DestRegionCLS DestRegionCLS, d.SourceRegionCLS SourceRegionCLS," + nl +
      // приходная классификация 70н
      "d.DestIFS IFS_Ref, D_ifs.FinSourceValue IFS, d.SourceIFS IFS_Ref_Corr, S_ifs.FinSourceValue IFS_Corr," + nl +
      "D_dfifs.FinSourceValue DFIFSValue, D_dfbt.IFS DFIFS_Ref, D_dfBAP.BuhAcc DFBuhAccFO," + nl +
      "D_mt.ActivityKind, S_MT.ActivityKind CorrActivityKind," + nl +
      "cast(0 as varchar(20)) BudClS, org_GRBS.id Org_RefGRBS_Det," + nl +
      //поля электронного обмена
      " bm.ELNUM, bm.LSKL ELSourceAccount,  bm.INNMFKB ELSourceOrgINN, bm.KPPA ELSourceOrgKPP, bm.PayerName ELSourceOrgName," + nl +
      " bm.MFKB ELSourceBankBIK, bm.INNMF ELDestOrgINN, bm.KPPB ELDestOrgKPP, bm.NAMKOR ELDestOrgName, bm.Su ELSumma," + nl +
      " bm.Note ELNote, bm.SStatus Status, bm.SSTATUS, bm.CODBCLAS ELBK, bm.LSKOR ELDestAccount, bm.Aprior ELPriority, bm.KRKB ELSourceBankCor," + nl + 
      " bm.SourceFilialBankName ELSourceBankFilialName, bm.SourceBankName ELSourceBankName, bm.MF ELDestBankBIK, bm.KR ELDestBankCor," + nl + 
      " bm.DestFilialBankName ELDestBankFilialName, bm.DestBankName ELDestBankName, bm.TaxNote ELTaxNote,bm.SourceFacialCode ELSourceFacialCode," + nl + 
      " bm.DestFacialCode ELDestFacialCode, bm.DD ELDocDate, bm.VO ELTypeOperation, bm.ND ELDocNumber " + nl +
  "from " + nl +
      ВернутьСоединениеТаблиц(Коллекция) + nl+      
      " left join RegionCLS rcs on (SFacial."+ПолучитьПолеОрганизацияЛС(Коллекция)+" = rcs.Organizations) "+nl+
      " left join FacialAcc_CLS f On (f.id = d.DestFacialAcc_Cls) "+nl+
      " left join Organizations org on (org.id = f.Org_Ref)" + nl +
      " left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)" + nl +
      " left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)" + nl +
      " left join BankExch_Merdoc bm on (c.eldocref = bm.id)" + nl +
      ТаблицаСчетов +
      ТаблицаОрг +  
  "Where "+nl+
     "(1=1)"+
      ОгрПоДенежнымСредствам+ОгрПоЛицСчету+nl+
      ОгрПоКлассификаторам+
      КазнОгр+nl+
      ОгрПоРСПлат+nl+
      ОгрПоОрганизацииПлат+ОгрПоОрганизацииПолуч+nl+
      ОгрПоОргСчетКор + nl +
      ОгрПоНевыясн + ОгрКодЗаписиУведомления;
   результат := СоздатьСложныйЗапрос(МаппингБазовыеСложныеОграничения+МаппингСложныеОгрПриход, запрос, Комментарий, Коллекция, Да); 
конец;

// формирование расходного запроса по казначейству
функция ЗапросКазначействоРасход(Коллекция:IVariables):строка;
переменные
  ОгрПоЛицСчету: строка;
  ОгрПоОрганизацииПлат, ОгрПоОрганизацииПолуч, ОгрПоРСПолуч, ОгрПоКлассификаторам, ОгрКодЗаписиУведомления: строка;
  ОгрПоДенежнымСредствам,КазнОгр : строка;
  ПолеБюджетногоОбязательства : строка;
  знак, запрос : строка;
  ИмяПоляБОДляУД, ИмяПоляВОграничение,
  Комментарий, ТаблицаОрг, ТаблицаОрг2, ТаблицаСчетов: строка;
  МаппингКлсКазнРасход, ОрганизацияЛС :строка;
  ВремКоллекция:IVariables;
  ОгрПоНевыясн, ОгрПоДате, ОгрПоДатеБлокировки, ОгрПОРазблокировке, ОгрПоБлокировкам, ОгрПоОргСчетКор: строка;
  данныеПредАлгоритмов: СтатическиеДанные;
  ОгрПоЭОИсходящие: строка;
начало
  если УчетДоговоров тогда
  начало
    ИмяПоляБОДляУД := 's_' + ИмяПоляБОДляУД_по_настройке;
    ИмяПоляВОграничение := ИмяПоляБОДляУД + '%s';
  конец  
  иначе начало
    ИмяПоляБОДляУД := 's_ps.Number';
    ИмяПоляВОграничение := 's_ps.Number%d';       
  конец;

  ТаблицаОрг := '';
  ТаблицаОрг2 := '';
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Казн. Расход.");

  если Коллекция.Значение("ПланСчетов") = 3 тогда
  начало
    МаппингКлсКазнРасход := МаппингКлсКазнРасходОбщий1 + МаппингКлсБухРасход1 + МаппингКлсБухРасход2 + МаппингКлсБухРасход3 +
      МаппингКлсБухРасход4 + МаппингКлсБухРасход5 + МаппингКлсБухРасход6 + МаппингКлсБухРасход7 + МаппингКлсБухРасход8 +
      МаппингКлсБухРасход9 + МаппингКлсБухРасход10 + МаппингКлсБухРасход11 + МаппингКлсБухРасход12 + МаппингКлсБухРасход13 +
      МаппингКлсБухРасход14 + МаппингКлсБухРасход15;
    // формируем ограничение по лицевому счету
    ОгрПоЛицСчету := СформироватьОгрПоНаборуМаппингов(Коллекция, "ЛицСчет=(d.SourceFacialAcc_CLS%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFacialAcc_CLS%d)),
      сЛицСчета=d.SourceFacialAcc_cls,НаЛицСчет=d.DestFacialAcc_cls,ОргЛС=(d.SourceFacialAcc_CLS%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFacialAcc_CLS%d)),
      БюджОргЛС=(d.SourceFacialAcc_CLS%d)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(d.DestFacialAcc_CLS%d))", 
      "ЛицСчет11=(SFacial_OA.ACC%s)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(DFacial_OA.ACC%s)),
      ОргЛС11=(SFacial_OA.ACC%s)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(DFacial_OA.ACC%s)),
      БюджОргЛС11=(SFacial_OA.ACC%s)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(DFacial_OA.ACC%s)),
      НомерЛС=(SFacial.FacialCodeEx%s)or(((d.ProgIndex=66)or(d.ProgIndex=67))and(DFacial.FacialCodeEx%s))");
  конец
  иначе
    начало
      МаппингКлсКазнРасход := МаппингКлсКазнРасходОбщий1 + МаппингКлсКазнРасход1 + МаппингКлсКазнРасход2 + МаппингКлсКазнРасход3 + 
        МаппингКлсКазнРасход4 + МаппингКлсКазнРасход5 + МаппингКлсКазнРасход6;
      // формируем ограничение по лицевому счету
      ОгрПоЛицСчету := СформироватьОгрПоНаборуМаппингов(Коллекция, "ЛицСчет=d.SourceFacialAcc_CLS,ОргЛС=d.SourceFacialAcc_CLS,БюджОргЛС=d.SourceFacialAcc_CLS", 
        "ЛицСчет11=SFacial_OA.ACC%s,ОргЛС11=SFacial_OA.ACC%s,БюджОргЛС11=SFacial_OA.ACC%s,НомерЛС=SFacial.FacialCodeEx%s");
    конец;
  //Определяем используемый блок бюджетных обязательств (1 - Учет договоров)
  ДополнитьМаппингИПоле(УчетДоговоров, МаппингКлсКазнРасход, ПолеБюджетногоОбязательства,
                                       Формат(МаппингБюдОбязУчетДогов, ИмяПоляВОграничение), ИмяПоляБОДляУД, // ДА
                                       МаппингРасходБюдОбязСтд, 'd.SourcePromise');  //НЕТ
  // формируем ограничение по денежным средствам
  ОгрПоДенежнымСредствам := СформироватьОграниченияПоДенСредствам(Коллекция, 'd.SourceDocType');
  
  // формируем ограничение по казначейскому Р/С
  ТаблицаСчетов := "";
  ОгрПоОрганизацииПлат := "";
  ОгрПоОрганизацииПолуч := "";
  ОгрПоРСПолуч := "";
  ОгрКодЗаписиУведомления := "";
  ОрганизацияЛС := ПолучитьПолеОрганизацияЛС(Коллекция);
  
    // если нужно выбираем возврат
  если Коллекция.Значение("ВыбратьДокументыВозврата") тогда
  начало
    попытка
      данныеПредАлгоритмов := коллекция.Значение("ДанныеПредАлгоритмов");
      данныеПредАлгоритмов.Фильтр := Формат("(((ParentDocCls = %d) or (ParentDocCls = %d)) and (ChildDocCls = %d))", 030500, 090301, 030200);
      Коллекция.Значение("КодДокумента") := getLimitStr(данныеПредАлгоритмов, "ChildId");
      данныеПредАлгоритмов.Фильтр := "";
      если Коллекция.Значение("КодДокумента") = "" тогда
        Коллекция.Значение("КодДокумента") := "-1";      
      Если Коллекция.ПараметрСуществует("ТипДатыУнивер")
      тогда начало
        если Коллекция.Values("ДатаРеестраТипЧек")
          тогда ОгрПоДате := ОграничениеДатыПоРеестру(Коллекция)
          // ограничиваем по той дат, что выбрана
          иначе начало
            Если (Коллекция.Значение('ДатаБлокировкиТипЧек') &lt;&gt; 1) тогда        
               ОгрПоДате := ОграничитьПоДатеОтправки(0, МаппингОгрДаты, Коллекция)
            иначе начало  // работаем с ограничениями по датам блокировок
                ОгрПоДатеБлокировки := ПолучитьОграничениеПоТипуДаты('ДатаБлокировкиТип=d.Acceptdate', Коллекция, 'd.AcceptDate') + ' and (d.IsBlocked=1)';
                Если Коллекция.Значение('ВключатьРазблокированныеЧек')=1 тогда
                  ОгрПОРазблокировке := ''
                иначе
                  ОгрПОРазблокировке :=  'and( not((1=1)' + получитьОграничениеПоТипуДаты('ДатаБлокировкиТип=d.UnBlockedDate', Коллекция, 'd.UnBlockedDate') + ')or (d.UnBlockedDate is null))';
                ОгрПоБлокировкам :=  ОгрПоДатеБлокировки + ОгрПОРазблокировке;
                ОгрПоДате := ОгрПоДате + ОгрПоБлокировкам;
            конец;
          конец;
      конец
      иначе начало
        // нет универсального ограничителя по датам, ограничиваем согласно функциональному преднахначению колонки
        Если Коллекция.Values("УчитыватьРеестр")
          тогда ОгрПоДате := ОграничениеДатыПоРеестру(Коллекция)
          // ограничиваем по той дат, что предназначение колонки
          иначе ОгрПоДате := ОграничитьПоДатеОтправки(0, МаппингОгрДаты, Коллекция);
      конец;      
    неудача
      ВызватьОшибку("ЗапросКазначейство: не получилось выбрать данные казначейства по возврату:" + последняяОшибка);
    конец;
  конец;  

  // убираем из выборки связанные документы уведомлений
  Если Коллекция.ПараметрСуществует('ОгрКодЗаписиУведомления') тогда
    ОгрКодЗаписиУведомления :=Коллекция.Значение('ОгрКодЗаписиУведомления');
  
  Если (Коллекция.Values("КазнОграничиватьПоГРК")&lt;&gt;1) тогда
  начало
    // Ограничение по организации. Это либо ограничение по организации-получателю 
    // либо по организации-владельцу лицевого счета плательщика. При ограничении по организации-получателю 
    // может быть указан счет этой организации в этом случае ограничение будет наложено по счету.
    если Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") тогда
    начало
      ОгрПоОрганизацииПлат := Ограничение("ОргСсылка=f." + ОрганизацияЛС + "%d," +
                                          "ПлатОргСсылка=f." + ОрганизацияЛС + "%d",
                                          Коллекция);
      ТаблицаОрг := СформироватьОгрПоТипуОрг(Коллекция, "f." + ОрганизацияЛС,'oof');                                    
    конец
    иначе
      начало
         //ограничение по бюджетному учреждению-плательщику
        ОгрПоОрганизацииПлат := Ограничение("БюджОргСсылка=f." + ОрганизацияЛС + "%d",Коллекция);
        ОгрПоРСПолуч := Ограничение("РСССылка=c.DestAccount%d," + 
                                    "ПолучРСССылка=c.DestAccount%d," + 
                                    "РаспРСССылка=c.DestAccount%d",
                                    Коллекция);
        если (ОгрПоРСПолуч = "") тогда
        начало
          ОгрПоОрганизацииПолуч := Ограничение("ОргСсылка=oa.Org_Ref%d," +
                                               "ПолучОргСсылка=oa.Org_Ref%d," + 
                                               "РаспОргСсылка=oa.Org_Ref%d",
                                               Коллекция);
          ТаблицаОрг := СформироватьОгрПоТипуОрг(Коллекция,"oa.Org_Ref",'oof');
          если (ОгрПоОрганизацииПолуч &lt;&gt; "") или (ТаблицаОрг &lt;&gt; "") тогда 
            ТаблицаСчетов := " inner join Org_Accounts oa on ((c.DestAccount = oa.id)" + ОгрПоОрганизацииПолуч + ")" + nl;
        конец;
      конец;      
  конец;
  // ограничение по организации-контарагенту и по корреспондирующему счету
  ОгрПоОргСчетКор := Ограничение("ПоставРССсылка=c.DestAccount%d,ПоставОргСсылка=d_oa.Org_Ref%d", Коллекция);
  // формируем запрос
  КазнОгр :=  НастроитьОграниченияКазначейскихЗапросов(Коллекция,Нет);
  
  ОгрПоКлассификаторам := Ограничение(МаппингКлсКазнРасход,Коллекция);
  
  ОгрПоНевыясн := "";
  если Коллекция.Значение("ОгрПоНевыясненным") = 1  тогда 
  начало     
    ВремКоллекция := CreateVariables;
    ВремКоллекция.PumpData(Коллекция);
    попытка
      ВремКоллекция.Значение("КодДохода") := '#'+СтроковаяКонстанта(3,0);
      ОгрПоНевыясн:= Ограничение("КодДохода=S_KD.KDValue%l", ВремКоллекция);
      ВремКоллекция.Значение("КодДохода") := '#'+СтроковаяКонстанта(3,11);
      если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
        ОгрПоНевыясн:= ОгрПоНевыясн + Ограничение("КодДохода=S_KD.KDValue%l", ВремКоллекция);;
    обязательно
      УдалитьОбъект(ВремКоллекция)
    конец;
  конец;
  если  Коллекция.Значение("ТолькоНевыясненные")=1  тогда 
  начало  
    ВремКоллекция := CreateVariables;
    ВремКоллекция.PumpData(Коллекция);
    попытка  
      ОгрПоНевыясн := ""; 
      ВремКоллекция.Значение("КодДохода") := СтроковаяКонстанта(3,0);// только данный код
      ОгрПоНевыясн:= Ограничение("КодДохода=S_KD.KDValue%l", ВремКоллекция);
      ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
      если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
        ОгрПоНевыясн := 'and (((1=1)' + ОгрПоНевыясн + ') or ((1=1)' + Ограничение("КодДохода=S_KD.KDValue%l", ВремКоллекция) + '))';
    обязательно
       УдалитьОбъект(ВремКоллекция)
    конец;        
  конец;    
  // ограничение по ЕстьИнформацияИзЭОИсходящие
  если УбратьПробелы(Коллекция.Значение("ЕстьИнформацияИзЭОИсходящие")) &lt;&gt; "" тогда
    если (Коллекция.Значение("ЕстьИнформацияИзЭОИсходящие") = 0) тогда
      ОгрПоЭОИсходящие := " and (epd.ElDocRef is null)"
    иначе
      ОгрПоЭОИсходящие := " and (epd.ElDocRef is not null)";
  // определяем знак суммы
  знак := ПолучитьЗнакСуммы(Коллекция);

  // Исходный для работы SQL запрос                            
  Запрос := 
  "Select "+nl+ 
      ВернутьСписокЕдиныхПолей(Знак) +
      // маппинг расходной классификации
      "d.SourceKVR KVRID, sKvr.Code KVR, d.SourceKVSR KVSRID, sKvsr.Code KVSR, d.SourceKCSR KCSRID, sKcsr.Code KCSR," + nl + 
      "d.SourceKESR KESR, d.SourceKFSR KFSR, d.SourceSUBKESR SUBKESR, d.SourceDirectionCLS DirectionCLS, d.SourceFACT FACT," + nl +
      "d.SourceKD KD, S_KD.KDValue KDValue, d.SourceTransfertCls TransfertCls, s_tc.Code TransfertClsValue,"+nl+
      "d.SourceAssignmentKind AssignmentKind, d.SourceFinSource FinSource, d.SourceFinType FinType, d.SourceDocType Doctype," + nl +
      "d.SourceMeanstype MeansType, d.SourceFundsSource FundsSource, d.ClsType, d.SourceFAOrg_Type FAOrg_Type," + nl +
      "c.SourceAccount acc1, c.SourceAccount acc2, c.SourceType BuhType, d.SourceDocBase DocBase," + nl +
      "d.SourceExecDoc ExecDoc, s_edc.ID ExecDocID, d.SourceExecInnerNumber, d.SourceExecInnerNumber ExecInnerNumber, s_edc.DocNumber ExecDocNum, " + nl +
      "s_edc.ReestrNumber ExecDocReestrNum, s_edc.DocumentDate ExecDocDate, s_edc.DocType ExecDocType, s_edc.Summa ExecDocSumma, s_edc.Note ExecDocNote," + nl +      
      "s_ps.innerpromisenum," + ИмяПоляБОДляУД + " PromiseNumber, s_ps.PromiseNumber NonEditPromiseNumber, s_ps.PromiseType PromiseType, s_ps.Summa PromiseSumma, s_a.ID PromiseAgrID," + nl +
      "s_a.innernumber PromiseAgrInnerNumber, s_a.DocNumber PromiseAgrNumber,s_a.AgreementDate PromiseAgrDate," + nl+
      "s_a.AgreementSumma PromiseAgrSumma, s_a.ReestrNumber PromiseAgrReestrNumber, s_a.Note PromiseAgrNote, s_so.DocNumber PromiseOrderNumber," + nl+
      "s_so.AgreementDate PromiseOrderDate, s_so.AgreementSumma PromiseOrderSumma, s_so.ReestrNumber PromiseOrderReestrNumber," + nl+
      "s_so.Note PromiseOrderNote, c.BuhOperationCLS CptBuhOperationCLS, d.SourceSubsidyCls SubsidyCls, s_sc.Code SubsidyClsCode," + nl+    
      "d.SourceBudAllocationCls BudAllocationCls, s_balc.Code BudAllocationClsCode, d.SourcePayPromiseCls PayPromiseCls, s_ppc.Code PayPromiseClsCode," + nl +  
      "((c.SourceType+1)/2*d.Credit) OutSumma, ("+знак+"(-c.SourceType+1)/2*d.Credit) InSumma, 1 TypeOperation,"+nl+
      /*ПолеБюджетногоОбязательства+*/" d.SourcePromise Promise, d.SourceBudgetPromise BudgetPromise,"+nl+
      "d.SourceRegionCLS RegionDetail, s_OwnOrg.RegionCLS RegionBudgetEst, d_o.RegionCLS RegionContractor," + nl +
      "d.SourceRegionCLS RegionCLS, d.SourceRegionCLS SourceRegionCLS, d.DestRegionCLS DestRegionCLS," + nl +
      // расходная классификация 70н
      "d.SourceIFS IFS_Ref, S_ifs.FinSourceValue IFS, d.DestIFS IFS_Ref_Corr, D_ifs.FinSourceValue IFS_Corr," + nl + 
      "S_dfifs.FinSourceValue DFIFSValue, S_dfbt.IFS DFIFS_Ref, S_dfBAP.BuhAcc DFBuhAccFO," + nl +
      "S_mt.ActivityKind, D_MT.ActivityKind CorrActivityKind," + nl +
      "cast(0 as varchar(20)) BudClS, org_GRBS.id Org_RefGRBS_Det," + nl+
      // поля электронного обмена
      "epd.DocNumber ELNum, epd.SourceAcc ELSourceAccount, epd.SourceINN ELSourceOrgINN, epd.SourceKPP ELSourceOrgKPP," + nl +
      "epd.SourceName ELSourceOrgName, epd.SourceBankMFO ELSourceBankBIK, epd.DestINN ELDestOrgINN, epd.DestKPP ELDestOrgKPP," + nl +
      "epd.DestName ELDestOrgName, epd.Summa ELSumma, epd.Note ELNote, ex.Status, ex.Status SStatus, epd.BudgetCLS ELBK," + nl +
      "epd.DestAcc ELDestAccount, epd.PayQueue ELPriority, epd.SourceBankCor ElSourceBankCor, epd.SourceFilialBankName ELSourceBankFilialName," + nl + 
      "epd.SourceBankName ELSourceBankName, epd.DestBankMFO ELDestBankBIK, epd.DestBankCor ELDestBankCor, epd.DestFilialBankName ELDestBankFilialName," + nl + 
      "epd.DestBankName ELDestBankName, epd.TAxNote ELTAxNote, epd.SourceUFK_Acc ELSourceFacialCode, epd.DestFacialCode ELDestFacialCode," + nl + 
      "epd.DocDate ELDocDate, cast(1 as integer) ELTypeOperation, epd.ELDocNumber " + nl +
  "from " + nl +
      ВернутьСоединениеТаблиц(Коллекция) + nl+
      " left join RegionCLS rcd on (DFacial."+ПолучитьПолеОрганизацияЛС(Коллекция)+" = rcd.Organizations) "+nl+
      " left join FacialAcc_CLS f On (f.id = d.SourceFacialAcc_Cls) "+nl+
      " left join Organizations org on (org.id = f.Org_Ref)" + nl +
      " left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)" + nl +
      " left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)" + nl +
      " left join Ed_OutPayDoc epd on ((epd.DocRef = c.id) and (epd.IsLastVersion = 1) and (epd.ElDocRef is not null))" + nl +
      ТаблицаСчетов +
      ТаблицаОрг +  
   "Where (1=1)" + nl +
      ОгрПоДенежнымСредствам+ОгрПоЛицСчету + nl +
      ОгрПоКлассификаторам + nl +
      КазнОгр + nl +
      ОгрПоОрганизацииПлат + ОгрПоОрганизацииПолуч + ОгрПоРСПолуч + nl +
      ОгрПоОргСчетКор + nl +
      ОгрПоНевыясн + nl +
      ОгрПоДате + nl +
      ОгрКодЗаписиУведомления + nl +
      ОгрПоЭОИсходящие;
  результат := СоздатьСложныйЗапрос(МаппингБазовыеСложныеОграничения+МаппингСложныеОгрРасход, запрос, Комментарий, Коллекция, Да); 
конец;
</value>
    <param value="ЗапросыКазначейство.abl" type="3" name="Export">MITROFANOVNEW\mitrofanov\23.01.2013 16:15:19</param>
    <param value="ЗапросыКазначейство.abl" type="3" name="version">36.042.279</param>
    <param value="ЗапросыКазначейство.abl" type="3" name="crc32">$9E1936D8</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Казначейство">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Макросы\отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Запросы\ЗапросыКазначейство.abl';
включить '\Макросы\Запросы\ЗапросыДоходы.abl';
включить '\Макросы\Запросы\ПолучитьКазначействоДоходы.abl';

Казначейство(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;
  
константы
  // константы для работы с заблокированными средствами
  бсНеЗаблокированные   = 1; 
  бсЗаблокированные     = 2;
  бсРазблокированные    = 3;
  бсНеУчитывать         = 0;

   
  крВсе = 0;
  крРасход = 1;
  крВозврат = 2;
  
  ПоляВыборкиГиперТекст = 'AlgIndex,DetID';
  ПоляВставкиГиперТекст = 'AlgIndex;DetID';

// Соединить строки, если вторая начинается с "#" то удаляем его 
функция СоединитьСтроки(Строка1, Строка2: строка): строка;
переменные
  стр: строка;
начало
  если Позиция("#", Строка2) = 1 тогда
    стр := Подстрока(Строка2, 2, Длина(Строка2) - 1)
  иначе
    стр := Строка2;
  Результат := Строка1 + "," + стр;   
конец;
  
// процедура выполняет стандартные секции казначейства
функция ВыполнитьПолучитьКазначейство(Данные,ЛокДанные:СтатическиеДанные;Коллекция:IVariables;ПеременныйМаппингПолей:строка; УникальныйИндексСекции : Целое);
переменные
  МаппингСекции : строка;
  МаппингГиперТекст : Строка;
  ДопМаппинг:строка;
  КодЗаписи: строка;
  ВыполнятьСекц: целое;
  ЛокКоллекция: IVariables;
начало
  // формируем при необходимости маппинг гипер текста
  МаппингГиперТекст := СформироватьМаппингГиперТекстДляСекции(ПоляВставкиГиперТекст, УникальныйИндексСекции, Коллекция.Values(кПарамГиперТекст));
  //создадим локальную коллекцию, чтобы в функции ВыбиратьДоходыВКазначействе
  //не затерлось значение параметра ВыбиратьДоходыВКазначействе, которое передается в алгоритм и
  //дальше используется в ПолучитьКазначействоДоходы.abl
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);

  ВыполнятьСекц := нет;
  если НадоВыполнятьГиперСекцию(3,УникальныйИндексСекции,Коллекция) тогда 
  начало
    КодЗаписи := Коллекция.Значение("КодЗаписи");
    ВыполнятьСекц := да;
  конец;  
  если ВыбиратьДоходыВКазначействе(ЛокКоллекция) тогда
    если НадоВыполнятьГиперСекцию(9,УникальныйИндексСекции,Коллекция) тогда
      если (Коллекция.Значение("КодЗаписи") &lt;&gt; "")и(Коллекция.Значение("КодЗаписи") &lt;&gt; КодЗаписи) тогда
      начало
        если КодЗаписи &lt;&gt; "" тогда 
          КодЗаписи := СоединитьСтроки(КодЗаписи, Коллекция.Значение("КодЗаписи"))
        иначе 
          КодЗаписи := Коллекция.Значение("КодЗаписи");
        ВыполнятьСекц := да;  
      конец;
  если ВыбиратьУведомления(Коллекция) тогда 
    если НадоВыполнятьГиперСекцию(55,УникальныйИндексСекции,Коллекция) тогда
      если (Коллекция.Значение("КодЗаписи") &lt;&gt; "")и(Коллекция.Значение("КодЗаписи") &lt;&gt; КодЗаписи) тогда
      начало
        если КодЗаписи &lt;&gt; "" тогда 
          КодЗаписи := СоединитьСтроки(КодЗаписи, Коллекция.Значение("КодЗаписи"))
        иначе 
          КодЗаписи := Коллекция.Значение("КодЗаписи");
        ВыполнятьСекц := да;  
      конец;
  Коллекция.Значение("КодЗаписи") := КодЗаписи;

  если ВыполнятьСекц тогда
  начало
    если Коллекция.values("Плательщик") тогда
    начало
      МаппингСекции:=Коллекция.values("ПостМаппингРасход")+","+FixPumpMapEx(ПеременныйМаппингПолей,Раскладка);
    конец
    иначе
    начало
      МаппингСекции:=Коллекция.values("ПостМаппингПриход")+","+FixPumpMapEx(ПеременныйМаппингПолей,Раскладка);
    конец;  
    если ВыбиратьДоходыВКазначействе(ЛокКоллекция) тогда  // дополнительный маппинг для закачки полей блока доходов, которых нет в казначействе
      Коллекция.values('ДопМаппинг') := Коллекция.values('ДопМаппинг')+','+ДоходыВернутьДопМаппингДляКазначейства;
    ДопМаппинг := '';  
    если Коллекция.ПараметрСуществует('ДопМаппинг') тогда
      ДопМаппинг := FixPumpMapEx(Коллекция.values('ДопМаппинг'),Раскладка);
    если ДопМаппинг&lt;&gt;'' тогда  
      МаппингСекции:=МаппингСекции+','+ДопМаппинг;  
    
    Коллекция.values("ПоляВыборки") :=ВернутьПоляГруппировки(МаппингСекции, Раскладка, Коллекция.Values(кПарамГруппироватьНаСервере));
    Коллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(Коллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, Коллекция.Values(кПарамГиперТекст));

    // производим выборку данных казначейства
    ПолучитьКазначейство(ЛокДанные, Коллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ЛокДанные, Данные, МаппингСекции, МаппингГиперТекст, Коллекция.Values(кПарамГиперТекст), нет);
  конец;
конец;

функция СформироватьОгрПоНаправлениюОперации(Данные:статическиеДанные;ИмяПоляДляПрямогоНаправления,ИмяПоляДляОбратногоНаправления:строка):строка;
начало
  Результат := "";
  если не данные.НайтиПоле(ИмяПоляДляПрямогоНаправления,nil) и данные.НайтиПоле(ИмяПоляДляОбратногоНаправления,nil) тогда
    Результат := "-1";
  если данные.НайтиПоле(ИмяПоляДляПрямогоНаправления,nil) и не данные.НайтиПоле(ИмяПоляДляОбратногоНаправления,nil) тогда
    Результат := "1";
конец;

функция ВыполнитьСекцииКазн(данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ОграниченияПоДатам:IDataLimit;
  ВыполнятьАлг: целое;
начало
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);

  ВыполнятьАлг := нет;
  если НадоВыполнятьАлгоритм(3, ЛокКоллекция) тогда
    ВыполнятьАлг := да;
  если ВыбиратьДоходыВКазначействе(Коллекция) и НадоВыполнятьАлгоритм(9, ЛокКоллекция) тогда
    ВыполнятьАлг := да;
  если ВыбиратьУведомления(ЛокКоллекция) и НадоВыполнятьАлгоритм(55, ЛокКоллекция) тогда
    ВыполнятьАлг := да;
  если не ВыполнятьАлг тогда
    выход;

  если Коллекция.ПараметрСуществует("УчетКазнЧек") и (Коллекция.Values("УчетКазнЧек") = нет) тогда 
    выход;

  ЛокКоллекция.Values("ПостМаппингПриход"):= FixPumpMapEx(КазначействоВернутьМаппингПереносаПолей(Да), Раскладка);
  ЛокКоллекция.Values("ПостМаппингРасход"):= FixPumpMapEx(КазначействоВернутьМаппингПереносаПолей(Нет),Раскладка);  
  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
      
  // Настраиваем общие параметры
  ЛокКоллекция.Values("СуммаПоложительна") := да;
  
  // последовательно выполняем казначейские секции
  
  // Секция 0. Факт приходы и уменьшения расходов на начало периода
  Если выполнятьСекцию(данные,"КазнФактПриходНаНачПериода,КазнФактВозврРасходНаНачПериода") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.0. Фактический приход и уменьшение расхода на начало периода';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;
    ЛокКоллекция.Values("Плательщик") := нет;
    ЛокКоллекция.Values("УчитыватьРеестр") := нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактПриходНаНачПериода","КазнФактВозврРасходНаНачПериода");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактПриходНаНачПериода=InSumma,КазнФактВозврРасходНаНачПериода=OutSumma", 1);
  конец;

  // Секция 1. Факт расходы и уменьшения приходов на начало периода
  если ВыполнятьСекцию(данные,"КазнФактРасходНаНачПериода,КазнФактВозврПриходНаНачПериода") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.1. Фактический расход и уменьшение прихода на начало периода';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактРасходНаНачПериода","КазнФактВозврПриходНаНачПериода");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактРасходНаНачПериода=OutSumma,КазнФактВозврПриходНаНачПериода=InSumma", 2);        
  конец;

  // Секция 2. Реестровый расход и возврат прихода на начало периода
  если выполнятьСекцию(данные,"КазнРеестрРасходНаНачПериода,КазнРеестрВозврПриходНаНачПериода") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.2. Реестровый расход и возврат прихода на начало периода';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрРасходНаНачПериода","КазнРеестрВозврПриходНаНачПериода");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрРасходНаНачПериода=OutSumma,КазнРеестрВозврПриходНаНачПериода=InSumma", 3);        
  конец;
  
  // Секция 3. Реестровый приход и возврат расхода на начало периода
  если ВыполнятьСекцию(данные, "КазнРеестрПриходНаНачПериода,КазнРеестрВозврРасходНаНачПериода") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.3. Реестровый приход и возврат расхода на начало периода';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;  
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрПриходНаНачПериода","КазнРеестрВозврРасходНаНачПериода");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрПриходНаНачПериода=InSumma,КазнРеестрВозврРасходНаНачПериода=OutSumma", 4);        
  конец;

  // Секция 4. Фактический приход и возврат расхода за период
  если ВыполнятьСекцию(Данные,"КазнФактПриходЗаПериод,КазнФактВозврРасходЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.4. Фактический приход и возврат расхода за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;  
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактПриходЗаПериод","КазнФактВозврРасходЗаПериод");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактПриходЗаПериод=InSumma,КазнФактВозврРасходЗаПериод=OutSumma", 5);        
  конец;


  // Секция 5. Фактический расход и возврат прихода за период
  если ВыполнятьСекцию(данные,"КазнФактРасходЗаПериод,КазнФактВозврПриходЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.5. Фактический расход и возврат прихода за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;  
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактРасходЗаПериод","КазнФактВозврПриходЗаПериод");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактРасходЗаПериод=OutSumma,КазнФактВозврПриходЗаПериод=InSumma", 6);        
  конец;

  // Секция 6. Реестровый расход и возврат прихода за период
  если ВыполнятьСекцию(данные,"КазнРеестрРасходЗаПериод,КазнРеестрВозврПриходЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.6. Реестровый расход и возврат прихода за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;  
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрРасходЗаПериод","КазнРеестрВозврПриходЗаПериод");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрРасходЗаПериод=OutSumma,КазнРеестрВозврПриходЗаПериод=InSumma", 7);        
  конец;
  
  // Секция 7. Реестровый приход и возврат расхода за период
  если ВыполнятьСекцию(данные,"КазнРеестрПриходЗаПериод,КазнРеестрВозврРасходЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.7. Реестровый приход и возврат расхода за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;  
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрПриходЗаПериод","КазнРеестрВозврРасходЗаПериод");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрПриходЗаПериод=InSumma,КазнРеестрВозврРасходЗаПериод=OutSumma", 8);        
  конец;

  // Секция 8. Фактический приход и возврат расхода за день
  если ВыполнятьСекцию(данные,"КазнФактПриходЗаДень,КазнФактВозврРасходЗаДень") тогда начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.8. Фактический приход и возврат расхода за день';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;      
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактПриходЗаДень","КазнФактВозврРасходЗаДень");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактПриходЗаДень=InSumma,КазнФактВозврРасходЗаДень=OutSumma", 9);        
  конец;

  // Секция 9. Фактический расход и возврат прихода за день
  если ВыполнятьСекцию(данные,"КазнФактРасходЗаДень,КазнФактВозврПриходЗаДень") тогда начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.9. Фактический расход и возврат прихода за день';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;      
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактРасходЗаДень","КазнФактВозврПриходЗаДень");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактРасходЗаДень=OutSumma,КазнФактВозврПриходЗаДень=InSumma", 10);        
  конец;
 
  // Секция 10. Реестровый расход и возврат прихода за день
  если ВыполнятьСекцию(данные,"КазнРеестрРасходЗаДень,КазнРеестрВозврПриходЗаДень") тогда начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.10. Реестровый расход и возврат прихода за день';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;      
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрРасходЗаДень","КазнРеестрВозврПриходЗаДень");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрРасходЗаДень=OutSumma,КазнРеестрВозврПриходЗаДень=InSumma", 11);        
  конец;

  // Секция 11. Реестровый приход и возврат расхода за день
  если ВыполнятьСекцию(данные,"КазнРеестрПриходЗаДень,КазнРеестрВозврРасходЗаДень") тогда начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.11. Реестровый приход и возврат расхода за день';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;      
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрПриходЗаДень","КазнРеестрВозврРасходЗаДень");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрПриходЗаДень=InSumma,КазнРеестрВозврРасходЗаДень=OutSumma", 12);        
  конец;

  // Секция 12. Остаток на начало года
  если ВыполнятьСекцию(данные,"КазнФактПриходНаНачГода") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.12. Остаток на начало года';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("ТипБухОперации") := "1";
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактПриходНаНачГода=Summa", 13);
  конец;

// Секция 13. Фактические приход+уменьшение расхода за период
  если ВыполнятьСекцию(данные,"КазнФактВсеПриходЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.13. Фактические приход+уменьшение расхода за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := да;  
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ТипБухОперации") := "";
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактВсеПриходЗаПериод=summa", 14);
  конец;

// Секция 14. Фактические приход+уменьшение расхода на начало периода
  если ВыполнятьСекцию(данные,"КазнФактВсеПриходНаНачПериода") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.14. Фактические приход+уменьшение расхода на начало периода';
    ЛокКоллекция.Values("ВсеПриходРасход") := да;  
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ТипБухОперации") := "";    
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактВсеПриходНаНачПериода=summa", 15);
  конец;
  
// Секция 15. Фактические расход+уменьшение прихода за период
  если ВыполнятьСекцию(данные,"КазнФактВсеРасходЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.15. Фактические расход+уменьшение прихода за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := да;  
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ТипБухОперации") := "";    
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактВсеРасходЗаПериод=summa", 16);
  конец;
  
// Секция 16. Фактические расход+уменьшение прихода на начало периода
  если ВыполнятьСекцию(данные,"КазнФактВсеРасходНаНачПериода") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.16. Фактические расход+уменьшение прихода на начало периода';
    ЛокКоллекция.Values("ВсеПриходРасход") := да;  
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ТипБухОперации") := "";    
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактВсеРасходНаНачПериода=summa", 17);
  конец;

// Секция 17. Фактические приход+уменьшение расхода за дату
  если ВыполнятьСекцию(данные,"КазнФактВсеПриходЗаДату") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.17.Фактические приход+уменьшение расхода за дату';
    ЛокКоллекция.Values("ВсеПриходРасход") := да;  
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("ТипБухОперации") := "";    
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактВсеПриходЗаДату=summa", 18);
  конец;

// Секция 18. Фактические расход+уменьшение прихода за дату
  если ВыполнятьСекцию(данные,"КазнФактВсеРасходЗаДату") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.18. Фактические расход+уменьшение прихода за дату';
    ЛокКоллекция.Values("ВсеПриходРасход") := да;  
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("ТипБухОперации") := "";    
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактВсеРасходЗаДату=summa", 19);
  конец;

  // Секция 19. Фактический приход с учетом возврата прихода и расход с учетом возврата расхода за период
  если ВыполнятьСекцию(данные,"КазнФактПриходСВозвратомЗаПериод,КазнФактРасходСВозвратомЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.19. Фактический приход с учетом возврата прихода и расход с учетом возврата расхода за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;      
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("СуммаПоложительна") := нет;
    // получаем за 2 обращения. Сначала получим приход и возврат расхода, а затем расход и возврат прихода
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактПриходСВозвратомЗаПериод","КазнФактРасходСВозвратомЗаПериод");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактПриходСВозвратомЗаПериод=InSumma,КазнФактРасходСВозвратомЗаПериод=OutSumma", 23);
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактРасходСВозвратомЗаПериод","КазнФактПриходСВозвратомЗаПериод");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактПриходСВозвратомЗаПериод=InSumma,КазнФактРасходСВозвратомЗаПериод=OutSumma", 24);        
  конец;
  
  // Секция 20. Реестровый приход с учетом возврата прихода и расход с учетом возврата расхода за период
  если ВыполнятьСекцию(данные,"КазнРеестрПриходСВозвратомЗаПериод,КазнРеестрРасходСВозвратомЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.19. Реестровый приход с учетом возврата прихода и расход с учетом возврата расхода за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;      
    ЛокКоллекция.values("УчитыватьРеестр") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Values("СуммаПоложительна") := нет;
    // получаем за 2 обращения. Сначала получим приход и возврат расхода, а затем расход и возврат прихода
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрПриходСВозвратомЗаПериод","КазнРеестрРасходСВозвратомЗаПериод");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрПриходСВозвратомЗаПериод=InSumma,КазнРеестрРасходСВозвратомЗаПериод=OutSumma", 25);
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрРасходСВозвратомЗаПериод","КазнРеестрПриходСВозвратомЗаПериод");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрПриходСВозвратомЗаПериод=InSumma,КазнРеестрРасходСВозвратомЗаПериод=OutSumma", 26);        
  конец;
  
  // Секция 21. Фактический приход с учетом возврата прихода и расход с учетом возврата расхода на начало периода
  если ВыполнятьСекцию(данные,"КазнФактПриходСВозвратомНаНачПериода,КазнФактРасходСВозвратомНаНачПериода") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.21. Фактический приход с учетом возврата прихода и расход с учетом возврата расхода на начало периода';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;      
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.Values("СуммаПоложительна") := нет;
    // получаем за 2 обращения. Сначала получим приход и возврат расхода, а затем расход и возврат прихода
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактПриходСВозвратомНаНачПериода","КазнФактРасходСВозвратомНаНачПериода");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактПриходСВозвратомНаНачПериода=InSumma,КазнФактРасходСВозвратомНаНачПериода=OutSumma", 27);
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнФактРасходСВозвратомНаНачПериода","КазнФактПриходСВозвратомНаНачПериода");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактПриходСВозвратомНаНачПериода=InSumma,КазнФактРасходСВозвратомНаНачПериода=OutSumma", 28);        
  конец;
  
  // Секция 22. Реестровый приход с учетом возврата прихода и расход с учетом возврата расхода на начало периода
  если ВыполнятьСекцию(данные,"КазнРеестрПриходСВозвратомНаНачПериода,КазнРеестрРасходСВозвратомНаНачПериода") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.22. Реестровый приход с учетом возврата прихода и расход с учетом возврата расхода на начало периода';      
    ЛокКоллекция.values("УчитыватьРеестр") := Да;
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.Values("СуммаПоложительна") := нет;//уменьшение прихода и уменьшение расхода берем с минусом, а сам приход и расход с плюсом
    // получаем за 2 обращения. Сначала получим приход и возврат расхода, а затем расход и возврат прихода
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрПриходСВозвратомНаНачПериода","КазнРеестрРасходСВозвратомНаНачПериода");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрПриходСВозвратомНаНачПериода=InSumma,КазнРеестрРасходСВозвратомНаНачПериода=OutSumma", 29);
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.Values("ТипБухОперации") :=СформироватьОгрПоНаправлениюОперации(данные,"КазнРеестрРасходСВозвратомНаНачПериода","КазнРеестрПриходСВозвратомНаНачПериода");
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнРеестрПриходСВозвратомНаНачПериода=InSumma,КазнРеестрРасходСВозвратомНаНачПериода=OutSumma", 30);        
  конец;


  // Секция 23. Заблокированный приход за период
  если ВыполнятьСекцию(Данные,"КазнФактЗаблокПриходЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.23. Фактический приход заблокированный, но не разблокированный за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;  
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("ИндексыДанных") := '45,61,62,71,316';    
    ЛокКоллекция.Значение('БлокированныеСредства') := бсЗаблокированные;    
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактЗаблокПриходЗаПериод=InSumma", 33);        
  конец;

  // Секция 24. Разблокированный приход за период
  если ВыполнятьСекцию(Данные,"КазнФактРазблокПриходЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.24. Фактический заблокированный приход, разблокированный за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;  
    ЛокКоллекция.values("Плательщик") := нет;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("ИндексыДанных") := '45,61,62,71,316'; 
    ЛокКоллекция.Значение('БлокированныеСредства') := бсРазблокированные;
    ЛокКоллекция.values('ВключатьРазблокированныеЧек'):=1;                                              
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактРазблокПриходЗаПериод=InSumma", 34);        
  конец;


  // Секция 101. Фактические расход+уменьшение прихода отосланные в Бюджет за период (Секция УРМ)
  если ВыполнятьСекцию(данные,"КазнФактВсеРасходОтослЗаПериод") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.101. Фактические расход+уменьшение прихода отосланные в Бюджет за период';
    ЛокКоллекция.Values("ВсеПриходРасход") := да;  
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ЕстьВБюджете") := 1;
    ЛокКоллекция.Values("ПричинаОтклонЧек") := 1;
    ЛокКоллекция.values("ТипБухОперации") := "";
    ВыполнитьПолучитьКазначейство(Данные,ДанныеОднойСекции,ЛокКоллекция,"КазнФактВсеРасходОтослЗаПериод=summa", 31);
  конец; 
  
  // Секция 102. Расход, Уменьшение прихода по отосланным в Бюджет документам (НЕТ ограничений по датам) (Секция УРМ)
  если ВыполнятьСекцию(данные,"КазнРасходОтосланныеВБюджет,КазнВозвратПриходОтосланныеВБюджет") тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Казн.102. Казначейский расход, уменьшение прихода по документам, отосланным в Бюджет';
    ЛокКоллекция.Values("ВсеПриходРасход") := нет;  
    ЛокКоллекция.values("Плательщик") := да;
    ЛокКоллекция.values("УчитыватьРеестр") := нет;
    ЛокКоллекция.values("ТипДатыУнивер") := "0";
    ЛокКоллекция.values("ЕстьВБюджете") := 1;
    ЛокКоллекция.Values("ПричинаОтклонЧек") := 1;
    ЛокКоллекция.Values("ТипБухОперации") := СформироватьОгрПоНаправлениюОперации(данные,"КазнРасходОтосланныеВБюджет","КазнВозвратПриходОтосланныеВБюджет");
    ВыполнитьПолучитьКазначейство(Данные, ДанныеОднойСекции,ЛокКоллекция, "КазнРасходОтосланныеВБюджет=OutSumma,КазнВозвратПриходОтосланныеВБюджет=InSumma", 32);
  конец; 

  Коллекция.Values("КонечнаяДатаПлюс1День") := ОграниченияПоДатам.ДатаПослеКонцаПериода;
  интерфейс(ДанныеОднойСекции).Освободить;
конец;  
  
//ОСНОВНАЯ ЧАСТЬ
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Раскладка := Параметры.Values(АлгРаскладка);
  Данные := Параметры.Values(АлгДанные);
  Ограничения.Значение(АлгРаскладка) := Раскладка; 
  // выбираем данные по секциям
  ВыполнитьСекцииКазн(данные, Ограничения);
конец.
</value>
    <param value="Казначейство" type="3" name="Export">ASBERN2\asbern\18.08.2010 13:53:41</param>
    <param value="Казначейство" type="3" name="version">36.042.279</param>
    <param value="Казначейство" type="3" name="crc32">$885F45AD</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ПолучитьКазначействоДоходы.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Control.lib';
включить '\макросы\отчеты\поддержкаОтчетов.abl';
включить "\Макросы\Запросы\ЗапросыДоходы.abl";
включить "\Макросы\Запросы\ЗапросыКазначейство.abl";
включить "\Макросы\Запросы\ЗапросыУведомления.abl";

константы
  кКазнВозвратПрихода = 1;
  кКазнПриход = 2;
  кДоходыВозвратПрихода = 4;
  кДоходыПриход = 8;                                                          
  ткДоходнаяИсточниковая = '1,2';

  ДоходыПоляВыборкиГиперТекст = 'AlgIndex,ID';
  КазначействоПоляВыборкиГиперТекст  = 'AlgIndex,DETID';
  УведомленияПоляВыборкиГиперТекст = 'AlgIndex,DETID';

  тпСтроковый = 1;

  
// Определяем нужно ли выбирать данные по возврату доходов из базы
функция ВыбиратьВозврат(ЛокКоллекция: IVariables): целое;
начало
  Если ЛокКоллекция.Значение("ВыбратьВозврат") тогда
    результат := Да;
конец;  

функция СтроитьЦепочкиУведомлений(ЛокКоллекция: IVariables): целое;
начало
  если Значение(локКоллекция,"ВычислятьУточняющуюКлассификацию") или Значение(локКоллекция,"ПолучитьВсюЦепочкуУведомлений") тогда
    результат := да;
конец;
  
функция СоединитьМаппинг(Маппинг1, Маппинг2: строка): строка;
переменные
  тИсточник, тПолучатель: текст;
  сч: целое;
начало
  тПолучатель := СоздатьТекст;
  тИсточник := СоздатьТекст;
  попытка
    тПолучатель.РазделенноеЗначение := Маппинг1;
    тИсточник.РазделенноеЗначение := Маппинг2;
    Результат := "";
    от сч := 0 до тИсточник.Количество - 1 делать
      если тПолучатель.ЗначениеПараметра(тИсточник.ИмяПараметра(сч)) &lt;&gt; '' тогда
        Результат := Результат + "," + тПолучатель.ЗначениеПараметра(тИсточник.ИмяПараметра(сч)) + 
          "=" + тИсточник.ЗначениеПараметра(тИсточник.ИмяПараметра(сч)); 
  обязательно
    УдалитьОбъект(тПолучатель);
    УдалитьОбъект(тИсточник);
  конец;
конец;

/* получает значение константы использования КД в казначействе;
  теперь без учета лицензии на ПДД и СВР, доп. учет БУ, АУ, администрирование невыясненных*/
функция ПолучитьКонстантуИспользованияКДвКазначействе: целое;
начало
   // не работала для УРМ gen 02.02.2012
  /$если Бюджет  
  Результат := СтрокаВЦелое(ПолучитьКонстантуКэш("КонстИспользоватьКДвКазначействе", 30, 31, 0));
  /$иначе
  Результат := ПолучитьКонстантуКэш("КонстИспользоватьКДвКазначействе", 30, 31, 0);
  /$конец 
конец;

функция ВыбиратьДоходыВКазначействе(Коллекция:IVariables):целое;
переменные
  ИспользоватьКД: целое;
начало
  результат := нет;
  ИспользоватьКД := ПолучитьКонстантуИспользованияКДвКазначействе;
  // дополнительная выборка данных  из блока доходов происходит в следующих случаях
  // 1.по параметру ВыбиратьДоходыВКазначействе (у него приоритет выше, чем у ТипДеятельности):
  //   если параметра нет, то выбор происходит, если выбран тип деятельности не "бюджетный", и выбираются НЕбюджетные данные
  //   если параметр=1, то выбираем данные в зависимости от значения типа деятельности (если он = "", то ограничение не накладывается)
  //   если параметр=0, то данные не выбираются, независимо от параметра ТипДеятельности
  // 2. системная константа 30,31 установлена в нужное значение
  // Из доходов при этом будут выбираться данные по типу деятельности="предпринимательская деятельность"
  // с доходной или источниковой классификацией
  если не Коллекция.ПараметрСуществует("ВыбиратьДоходыВКазначействе")и
     (Коллекция.ПараметрСуществует("ТипДеятельности")) и
     ((Коллекция.Значение("ТипДеятельности") = "") или (Коллекция.Значение("ТипДеятельности") = 2) или
      (Коллекция.Значение("ТипДеятельности") = 3)) тогда
     Коллекция.Значение("ВыбиратьДоходыВКазначействе"):=1;

  если (Коллекция.Значение("ВыбиратьДоходыВКазначействе") = 1) и
    (((Коллекция.Значение("Плательщик") = нет)и(БитИ(ИспользоватьКД, кКазнВозвратПрихода) &lt;&gt; 0)или
    ((Коллекция.Значение("Плательщик") = да)и(БитИ(ИспользоватьКД, кКазнПриход) &lt;&gt; 0))))и
    ((Коллекция.Значение("ТипКлассификации") &lt;&gt;"0")или(Коллекция.Значение("ТипКлассификацииРасх") &lt;&gt;"0")) тогда 
      Результат := да;
      
  если (Результат)и(ИспользоватьКД = 31) тогда
    если ((Коллекция.Значение("ТипКлассификации") = "")и(Коллекция.Значение("ТипКлассификацииРасх") = ""))или
         ((Позиция("0", Коллекция.Значение("ТипКлассификации") &lt;&gt; 0))или(Позиция("0", Коллекция.Значение("ТипКлассификацииРасх") &lt;&gt; 0))) тогда
      Результат := нет;      
конец;

функция ВыбиратьКазначействоВДоходах(Коллекция:IVariables):целое;
переменные
  ИспользоватьКазн: целое;
начало
  результат := нет;
    ИспользоватьКазн := ПолучитьКонстантуИспользованияКДвКазначействе;
    // дополнительная выборка данных  из блока казначейства происходит в следующих случаях
    // 1.по параметру ВыбиратьКазначействоВДоходах (у него приоритет выше, чем у ТипДеятельности):
    //   если параметра нет, то по умолчанию выбираем доходы из казначейства
    //   если параметр=1, то выбираем данные в зависимости от значения типа деятельности (если он = "", то ограничение не накладывается)
    //   если параметр=0, то данные не выбираются, независимо от параметра ТипДеятельности
    // 2. системная константа 30,31 установлена в нужное значение
    если не Коллекция.ПараметрСуществует("ВыбиратьКазначействоВДоходах") тогда
       Коллекция.Значение("ВыбиратьКазначействоВДоходах") := 1;
      
    если (БитИ(ИспользоватьКазн, кДоходыВозвратПрихода + кДоходыПриход) &lt;&gt; 0)и
      (Коллекция.Значение("ВыбиратьКазначействоВДоходах") = 1) и
      (Коллекция.Значение("ТипКлассификации") &lt;&gt; "0") тогда
      Результат := да;
конец;

функция ВыбиратьУведомления(Коллекция : IVariables) : целое;
начало
  Результат := Истина;
  Если (коллекция.Значение("НеВыбиратьУведомления") = 1) или 
       (коллекция.Значение("ОбобщенноеРаспоряжение") = 1) или 
       (коллекция.Значение("ПечатныйДокумент") = да) или 
       (коллекция.Значение("КодРеестра") &gt; 0) или 
       (коллекция.Значение("ИмяАлгоритма") = "Бухгалтерия70н") или
       (Коллекция.Значение("НеУчитыватьУведомленияОбУточнении") = 1)
  тогда
    результат := Ложь;
конец;

функция ПолучитьДанныеУведомлений(Данные : СтатическиеДанные; Коллекция : IVariables);
начало
  Коллекция.Значение("НеВыбиратьСоСвязаннымиДокументами") := Истина;
  Если Коллекция.Значение("ЭтоДоходы") тогда
    начало
      Коллекция.Значение("ПоляВыборки") := "kdvalue,kvsr,kcsr,kvr,kesr,kfsr,CLSType,InputDate,AcceptDate,DocNumber," + Коллекция.Значение("ПоляВыборки");
      если не (Значение(коллекция,"ВычислятьУточняющуюКлассификацию") или Значение(коллекция,"ПолучитьВсюЦепочкуУведомлений")) тогда
        Коллекция.Значение("ПриходИВозвратПриходаОтдельнойСуммой") := Да;
      если Коллекция.Значение("ТипКлассификации")='' тогда
        Коллекция.Значение("ТипКлассификации") := ткДоходнаяИсточниковая;
    конец;
    
  Если Коллекция.Значение("ЭтоКазначейство") тогда
    начало
      ЕСЛИ Коллекция.Значение("Плательщик") = Да тогда
        начало
          Если Коллекция.Значение("ТипБухОперации") = 1 тогда
            Коллекция.Значение("Расход") := Да
          иначе 
            Если Коллекция.Значение("ТипБухОперации") = -1 тогда 
              Коллекция.Значение("ВозвратПрихода") := Да
            иначе
              если Коллекция.Значение("ВсеПриходРасход") = Да тогда 
                Коллекция.Значение("РасходСВозвратомПрихода") := Да
              иначе   
                Коллекция.Значение("РасходИВозвратПриходаОтдельнойСуммой") := Да  
        конец      
      ИНАЧЕ
        начало
          Если Коллекция.Значение("ТипБухОперации") = 1 тогда
            Коллекция.Значение("Приход") := Да
          иначе 
            Если Коллекция.Значение("ТипБухОперации") = -1 тогда 
              Коллекция.Значение("ВозвратРасхода") := Да
            иначе
              если Коллекция.Значение("ВсеПриходРасход") = Да тогда 
                Коллекция.Значение("ПриходСВозвратомРасхода") := Да
              иначе   
                Коллекция.Значение("ПриходИВозвратРасходаОтдельнойСуммой") := Да  
        конец;      
    конец;
  
  Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + ",summa,inSumma,outSumma,FacialAcc_Cls,Note,SourceAccount,DestAccount,detid,InputDate";
  Коллекция.Значение("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(Коллекция.values("ПоляВыборки"), 
                                                  УведомленияПоляВыборкиГиперТекст, Коллекция.Values(кПарамГиперТекст));
  // а теперь получаем поля выборки, для получения специфичных данных уведомлений
  Коллекция.values("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + "," + ВернутьПоляГруппировки(УведомленияВернутьМаппингПереносаПолей , коллекция.Значение("Раскладка"), ложь);                                                       
     
  ПолучитьУведомленияПоКлассификации(Данные, Коллекция);    
конец;

функция СоздатьСтатикСет : СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  Результат.СоединитьБД;
конец;

функция ВернутьМаппингКазначейства(Плательщик : целое) : строка;
начало
  Если Плательщик = Да тогда
    Результат  := КазначействоВернутьМаппингПереносаПолей(нет)
  иначе    
    Результат  := КазначействоВернутьМаппингПереносаПолей(Да) 
конец;

функция ВернутьМаппингПереносаУведомленийДляКазн(Коллекция : Ivariables) : строка;
переменные 
  Маппинг, МаппингКазначейства : строка;
начало
  Маппинг := FixPumpMapEx(УведомленияВернутьМаппингПереносаПолей, Коллекция.Значение(АлгРаскладка));
  МаппингКазначейства := ВернутьМаппингКазначейства(Коллекция.Значение("Плательщик"));
  Результат := СоединитьМаппинг(МаппингКазначейства, Маппинг) + ",InSumma=InSumma,summa=summa,OutSumma=OutSumma";
  если Коллекция.Values(кПарамГиперТекст) тогда
    Результат :=  Результат + ',detId=detid';
конец;

функция ВернутьМаппингПереносаВозврата(Коллекция: IVariables): строка;
переменные
  МаппингКазначейства, МаппингДоходов: строка;
начало
  МаппингДоходов := ДоходыВернутьМаппингПереносаПолей;
  МаппингКазначейства := ВернутьМаппингКазначейства(0);
  результат := СоединитьМаппинг(МаппингДоходов,МаппингКазначейства);
конец;

функция ВернутьМаппингПереносаУведомленийДляДох(Коллекция : Ivariables) : строка;
переменные 
  Маппинг, МаппингДоходов : строка;
начало
  Маппинг := FixPumpMapEx(УведомленияВернутьМаппингПереносаПолей, Коллекция.Значение(АлгРаскладка));
  МаппингДоходов := ДоходыВернутьМаппингПереносаПолей;
  Результат := "kd=kdvalue," + СоединитьМаппинг(МаппингДоходов, Маппинг) + ",credit=InSumma,debit=OutSumma,summa=Summa";
  если Коллекция.Values(кПарамГиперТекст) тогда
    Результат :=  Результат + ',detId=id';
конец;

// и заодно с формированием полей формируем маппинг для перекачки данных из данныхУведомлений в основные данные
функция СоздатьПоляСекцииДляОсновныхДанных(ДанныеСУведомлениями, ДанныеУведомлений: СтатическиеДанные; Префикс: строка): строка;
переменные
  сч, типПоля, размерПоля: целое;                                                                    
  имяПоля, староеИмя: строка;
  ткстМаппинг: текст;
начало
  ткстМаппинг := СоздатьТекст;
  результат := "";
  попытка
    от сч := 0 до данныеУведомлений.ЧислоПолей - 1 делать
    начало
      староеИмя := данныеУведомлений.поля(сч).FieldName;
      имяПоля := Префикс + староеИмя;
      типПоля := данныеУведомлений.поля(сч).FieldType;
      размерПоля := данныеУведомлений.поля(сч).Size;
      ткстМаппинг.ЗначениеПараметра(имяПоля) := староеИмя;
      если не ДанныеСУведомлениями.НайтиПоле(ИмяПоля) тогда
        Выбрать типПоля из
          тпСтроковый: данныеСУведомлениями.ДобавитьСтроковоеПоле(имяПоля, размерПоля);
          иначе
            данныеСУведомлениями.CreateField(ИмяПоля, типПоля);
        конец;
    конец;
    результат := ткстМаппинг.РазделенноеЗначение(";");
  обязательно
    УдалитьОбъект(ткстМаппинг);
  конец;
конец;

// например в доходах была строка
// клс1 сумма1 
// а уведомления уточнили эту строку на две клс2 сумма2 и клс3 сумма3
// в итоге должны получится следующие строки 
// клс1 сумма1 клс2 сумма2
// клс1 сумма1 клс3 сумма3 
функция ПрисоединитьУточняющиеДанныеУведомленийКОсновнойТаблице(данные, данныеУведомлений: СтатическиеДанные; локКоллекция: IVariables; маппингПереноса: строка);
переменные
  данныеСУведомлениями: СтатическиеДанные;
  маппинг, ссылкиНаУведомления: строка; 
начало
  //создаем статиксет идентичным основному
  данныеСУведомлениями := СоздатьСтатическиеДанные;
  //создаем поля из данных
  данныеСУведомлениями.ПрисвоитьПоля(данные);
  //потом создаем поля из данных уведомлений - чтобы нам можно было не заморачиваться о перезатирке полей с одинаковым названием, у полей уведомлений спереди ставим префикс
  // также заодно получаем маппинг для перекачки данных уведомлений в основные данные
  маппинг := СоздатьПоляСекцииДляОсновныхДанных(данныесУведомлениями, данныеУведомлений,"Correction");
  данныеСУведомлениями.ДобавитьЦелоеПоле("SequenceParent");
  данныеСУведомлениями.Открыть;
  //закачиваем туда данные из уведомлений
  данныеСУведомлениями.группировать(данныеУведомлений,"keys=*;" + маппинг + ";SequenceParent=SequenceParent");
  //потом группируем insert=false основные данные
  данныеСУведомлениями.Группировать(данные, "insert=false;keys=SequenceParent;SequenceParent=ChildId");
  // теперь закачиваем данные, где не было уточнения по уведомлениям
  ссылкиНаУведомления := GetLimitStr(данныеУведомлений, "SequenceParent");
  данные.Фильтр := "(ChildId is null) or (not ChildId in (" + ссылкиНаУведомления + "))";
  данныеСУведомлениями.Закачать(данные);
  данные.Фильтр := "";
  //делаем полученный статиксет основным
  данные := данныеСУведомлениями;
  //очищаем данные уведомлений, чтобы они не попали как первичные данные, мы же их уже использовали
  данныеУведомлений.Очистить;
конец;

функция ПрисоединитьДанныеВозвратаКазнКОсновнойТаблице(Данные,ДанныеВозврата: СтатическиеДанные; ЛокКоллекция: IVariables; МаппингПереноса: строка);
переменные
  данныеСВозвратом: СтатическиеДанные;
  маппинг, ссылкиНаВозврат: строка; 
начало
  //создаем статиксет идентичным основному
  данныеСВозвратом := СоздатьСтатическиеДанные;
  //создаем поля из данных
  данныеСВозвратом.ПрисвоитьПоля(данные);
  //потом создаем поля из данных уведомлений - чтобы нам можно было не заморачиваться о перезатирке полей с одинаковым названием, у полей возврата спереди ставим префикс
  // также заодно получаем маппинг для перекачки данных возврата в основные данные
  маппинг := СоздатьПоляСекцииДляОсновныхДанных(данныеСВозвратом, данныеВозврата,"ReturnDoc");
  данныеСВозвратом.ДобавитьСтроковоеПоле("ReturnDocDocumentNumber", ДанныеВозврата.поле("DocNumber").Size);
  данныеСВозвратом.ДобавитьЦелоеПоле("ReturnDocFacialAcc_CLS");
  данныеСВозвратом.ДобавитьЦелоеПоле("ReturnDocAccountRef");
  данныеСВозвратом.Открыть;
  //закачиваем туда данные ID документа для группировки с основными данными
  данныеСВозвратом.Закачать(данныеВозврата, маппинг + ",ChildId=Id");
  //потом группируем insert=false основные данные
  данныеСВозвратом.Группировать(данные, "insert=false;keys=ChildId;");
  // восстанавливаем по маппингу стертые поля возврата
  данныеСВозвратом.Группировать(ДанныеВозврата, "insert=false;default=false;keys=ChildId;ChildId=Id;ReturnDocDocumentNumber=DocNumber;ReturnDocFacialAcc_CLS=SourceFacialAcc;ReturnDocAccountRef=DestAccount;" + Маппинг);
  // теперь закачиваем данные, где не было возврата по доходам
  ссылкиНаВозврат := GetLimitStr(данныеВозврата, "Id");
  Если ссылкиНаВозврат =  "" тогда
    ссылкиНаВозврат := "-1";
  данные.Фильтр := "(ChildId is null) or (not ChildId in (" + ссылкиНаВозврат + "))";
  данныеСВозвратом.Закачать(данные);
  данные.Фильтр := "";
  //делаем полученный статиксет основным
  данные := данныеСВозвратом;
  //очищаем данные возврата, чтобы они не попали как первичные данные, мы же их уже использовали
  данныеВозврата.Очистить;
конец;


функция ПолучитьКазначейство(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ЛокКоллекция : IVariables;
  Запрос, Маппинг, МаппингПереноса  : Строка;
  ДанныеДоходов, ДанныеУведомлений : СтатическиеДанные;
  тмп : целое;
начало
  попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);
  
    Если ЛокКоллекция.Values("ТипБухОперации")="0" тогда
      ЛокКоллекция.Values("ТипБухОперации") := -1;
      
    Если Позиция("BudClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + 
        ",KVSR,KFSR,KCSR,KVR,KESR,IFS,IFS_REF,KDValue,ClsType";   
    Если Позиция("SourceBudgClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + 
        ",SourceKVSR,SourceKFSR,SourceKCSR,SourceKVR,SourceKESR,SourceIFS,SourceIFS_REF,SourceKDValue,SourceClsType";   
    Если Позиция("DestBudgClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + 
        ",DestKVSR,DestKFSR,DestKCSR,DestKVR,DestKESR,DestIFS,DestIFS_REF,DestKDValue,DestClsType";   

    // формируем SQL-запрос
    если ЛокКоллекция.Values("Плательщик") 
      тогда Запрос := ЗапросКазначействоРасход(ЛокКоллекция)
      иначе Запрос := ЗапросКазначействоПриход(ЛокКоллекция);

    Данные.Закрыть;
    Данные.DestroyFields;
    Если (ЛокКоллекция.ПараметрСуществует("Раскладка")) тогда
    начало
      Если ЛокКоллекция.Значение("Плательщик") = да тогда
        Маппинг := КазначействоВернутьМаппингПереносаПолей(0)
      иначе
        Маппинг := КазначействоВернутьМаппингПереносаПолей(1);
      CreateDataSetByTableInfo2(ЛокКоллекция.Значение("ПоляВыборки"), Маппинг + ЛокКоллекция.Значение("ДопМаппинг"), nil, Данные);
      //Создавать недостающие поля запросом
      Данные.DefProps("Options") := "+sdoDefaultFields";        
    конец;    
    
    Данные.Запрос:="[PumpData]" + Запрос;
    ПолучитьДанные(Данные, ЛокКоллекция);
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=IFS,ИВФКлюч=IFS_REF,КД=KDValue,ВидКлс=ClsType",Данные,ЛокКоллекция);
    ВычислитьПолеБК("БюджКлс=SourceBudgClS,КВСР=SourceKVSR,КФСР=SourceKFSR,КЦСР=SourceKCSR,КВР=SourceKVR,КЭСР=SourceKESR," +
      "ИВФ=SourceIFS,ИВФКлюч=SourceIFS_REF,КД=SourceKDValue,ВидКлс=SourceClsType",Данные,ЛокКоллекция);
    ВычислитьПолеБК("БюджКлс=DestBudgClS,КВСР=DestKVSR,КФСР=DestKFSR,КЦСР=DestKCSR,КВР=DestKVR,КЭСР=DestKESR," +
      "ИВФ=DestIFS,ИВФКлюч=DestIFS_REF,КД=DestKDValue,ВидКлс=DestClsType",Данные,ЛокКоллекция);


    ЛокКоллекция.Clear;
    ЛокКоллекция.PumpData(Коллекция);
    локКоллекция.Значение("неВыбиратьУведомленияВДоходах") := Истина; // это чтобы не выбирать по нескольку раз уведомления. Сначала в казначействе, а потом в доходах

    если ВыбиратьДоходыВКазначействе(ЛокКоллекция) тогда
    начало
      если (ЛокКоллекция.Значение("ЛицСчет") = '') и (ЛокКоллекция.Значение("ВыбиратьСпецЛСФО") &lt;&gt; 1) тогда
        ЛокКоллекция.Значение("ЛицСчет") := "#=0";
      ЛокКоллекция.Значение("КоментарийСекции") := "Казначейство(из блока доходов). Зачисление средств по предпринимательской деятельности.";
      
      // удаляем (если есть) расходную классификацию из ограничения
      если ЛокКоллекция.ПараметрСуществует("ТипКлассификацииРасх") тогда
      начало
        ЛокКоллекция.Значение("ТипКлассификации") := ЛокКоллекция.Значение("ТипКлассификацииРасх");
        ЛокКоллекция.Delete("ТипКлассификацииРасх");
      конец;
      
      тмп:=позиция(',0',ЛокКоллекция.Значение("ТипКлассификации"));
      если тмп=0 тогда
        тмп:=позиция('0,',ЛокКоллекция.Значение("ТипКлассификации"));
      если тмп&gt;0 тогда ЛокКоллекция.Значение("ТипКлассификации") := подстрока(ЛокКоллекция.Значение("ТипКлассификации"),1,тмп-1)+
        подстрока(ЛокКоллекция.Значение("ТипКлассификации"),тмп+2,255);
      
      //если парамера "ВыбиратьДоходыВКазначействе" не было на входе, то работаем по-прежнему:
      //для пустого ограничения по типу деятельности выбираем НЕбюджетную деятельность
      если не Коллекция.ПараметрСуществует("ВыбиратьДоходыВКазначействе") тогда
        если ЛокКоллекция.Значение("ТипДеятельности") = "" тогда
          ЛокКоллекция.Значение("ТипДеятельности") := "#1";
      
      Маппинг := FixPumpMapEx(ДоходыВернутьМаппингПереносаПолей, ЛокКоллекция.Значение(АлгРаскладка));
            
      ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",") + "," + 
        ДополнитьПоляВыборки("credit,debit", ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                  ДоходыПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
        
      ЛокКоллекция.Значение("ВыбиратьДоходыВКазначействе") := 0;
      ЛокКоллекция.Значение("ВыбиратьКазначействоВДоходах") := 0;
            
      ДанныеДоходов := СоздатьСтатическиеДанные;
      попытка
        ДанныеДоходов.СоединитьБД;
        если ЛокКоллекция.Значение("Плательщик") тогда
        начало
          //Возврат прихода
          ЛокКоллекция.Значение("Дебет") := "0";
          ЛокКоллекция.Значение("ТипДебета") := "&lt;&gt;";
          ЛокКоллекция.Значение("ЗнакВозврата") := ПолучитьЗнакСуммы(ЛокКоллекция);       
        конец
        иначе
        начало
          //Приход
          ЛокКоллекция.Значение("Кредит") := "0";
          ЛокКоллекция.Значение("ТипКредита") := "&lt;&gt;";
        конец;
        // формируем ограничение по сервисным л/с, смотрим значения параметров: ЛицСчет, ОргЛС и БюджОргЛС
        если (не ЛокКоллекция.ПараметрСуществует("СервисныеСчета")) и (ЛокКоллекция.Значение("ВыбиратьСпецЛСФО") &lt;&gt; 1) тогда
          если (ЛокКоллекция.Values("ПечатныйДокумент") = да) или
            ((ЛокКоллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(ЛокКоллекция.Values("ЛицСчет"))) или
            ((ЛокКоллекция.Values("ОргЛСЧек") = 1) и СчетСервисный(ЛокКоллекция.Values("ОргЛС"))) или
            ((ЛокКоллекция.Values("БюджОргЛСЧек") = 1) и СчетСервисный(ЛокКоллекция.Values("БюджОргЛС"))) тогда
            ЛокКоллекция.Values("СервисныеСчета") := '1'
          иначе ЛокКоллекция.Values("СервисныеСчета") := '3'; // только неслужебные л\с 
        
        Адаптер.ПолучитьДоходы(ДанныеДоходов, ЛокКоллекция);
        //Теперь надо связать маппинг казначейства и доходов по логическим именам
        если ЛокКоллекция.Значение("Плательщик") тогда
          МаппингПереноса := "InSumma=debit,summa=debit,SourceClsType=ClsType,DestClsType=ClsType" + 
            СоединитьМаппинг(КазначействоВернутьМаппингПереносаПолей(нет), Маппинг)
        иначе  
          МаппингПереноса := "InSumma=credit,summa=credit,SourceClsType=ClsType,DestClsType=ClsType" + 
            СоединитьМаппинг(КазначействоВернутьМаппингПереносаПолей(да), Маппинг);
        если ЛокКоллекция.Values(кПарамГиперТекст) тогда  // в случае использования гипертекста добавим маппинг для кодов записей
          МаппингПереноса :=  МаппингПереноса +',detId=id';
        Данные.PumpData(ДанныеДоходов, МаппингПереноса);  
      обязательно
        УдалитьОбъект(ДанныеДоходов);
      конец;
    конец;
    
    ЛокКоллекция.Clear;
    ЛокКоллекция.PumpData(Коллекция);

    Если ЛокКоллекция.ПараметрСуществует("НомерРеестра") Тогда
      Если ЛокКоллекция.Значение("НомерРеестра") &lt;&gt; "" Тогда
        ЛокКоллекция.Значение("неВыбиратьУведомленияВКазначействе") := 1;

    Если ВыбиратьУведомления(ЛокКоллекция) и не локКоллекция.ПараметрСуществует("неВыбиратьУведомленияВКазначействе") тогда 
      начало
        ДанныеУведомлений := СоздатьСтатикСет;
        ЛокКоллекция.Значение("ЭтоКазначейство") := Истина;
        ПолучитьДанныеУведомлений(ДанныеУведомлений, ЛокКоллекция);
        МаппингПереноса := ВернутьМаппингПереносаУведомленийДляКазн(ЛокКоллекция);
        Данные.PumpData(ДанныеУведомлений, МаппингПереноса);
      конец;
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
//-------------------------------------------------------------------------------------------------------
// Получить казначейство с учетом формирования проводок по бухгалтерии
//-------------------------------------------------------------------------------------------------------
константы
  МаппингСвязанныхПолейОбщийКазн1 = "%EС=SourceKESR,DestKESR,SourceClsType,DestClsType,Progindex,SourceIFS_Ref,DestIFS_Ref,DestKDValue,SourceKDValue;";
  МаппингСвязанныхПолейОбщийКазн2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщийКазн3 = "%SourceCLS=SourceKVR,SourceKCSR,SourceKVSR,SourceKFSR,SourceIFS_Ref,SourceClsType,DFIFS_Ref,Progindex,SourceKDValue;";
  МаппингСвязанныхПолейОбщийКазн4 = "%DestCLS=DestKVR,DestKCSR,DestKVSR,DestKFSR,DestIFS_Ref,DestClsType,DFIFS_Ref,Progindex,DestKDValue;";
  МаппингСвязанныхПолейОбщийКазн5 = "CreditDocCLS=%DestCLS,%SourceCLS,CreditBudClsKind;DebitDocCLS=%SourceCLS,%DestCLS,DebitBudClsKind";

функция ПолучитьБухКазначейство(Данные: статическиеДанные; коллекция:IVariables);
переменные
  поляВыборки,мапКлс: строка;
начало
  // Формируем по 70Н
  ПоляВыборки := Коллекция.Values("ПоляВыборки");
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщийКазн1 + МаппингСвязанныхПолейОбщийКазн2 + МаппингСвязанныхПолейОбщийКазн3 + 
    МаппингСвязанныхПолейОбщийКазн4 + МаппингСвязанныхПолейОбщийКазн5, Коллекция) +
    ",CORRECTIONFLAG,CorrActivityKind,HeadActivityKind,AccountActivityKind,DFBuhAccFO," +
    "SourceFAOrg_Type,DestFAOrg_Type";
  попытка
    // Проводки70Н, сформированные по бух.операции
    ПолучитьКазначейство(Данные, Коллекция);
    // проблема в том, что для расходных интерфейсов основной является Source, а для приходных  - Dest классификация
    если Коллекция.Значение("Плательщик") тогда
      мапКлс := 
        'КВСР=SourceKVSR,КорКВСР=DestKVSR,КЦСР=SourceKCSR,КорКЦСР=DestKCSR,КФСР=SourceKFSR,КорКФСР=DestKFSR,' + 
        'КВР=SourceKVR,КорКВР=DestKVR,КЭСР=SourceKESR,КорКЭСР=DestKESR,ИВФКлюч=SourceIFS_Ref,КорИВФКлюч=DestIFS_Ref,' +
        'КД=SourceKDValue,КорКД=DestKDValue,ВидКлс=SourceClsType,КорВидКлс=DestClsType,' +
        'ВидОрганизацииЛС=SourceFAOrg_Type,КорВидОрганизацииЛС=DestFAOrg_Type,'  
    иначе
      мапКлс := 
        'КВСР=DestKVSR,КорКВСР=SourceKVSR,КЦСР=DestKCSR,КорКЦСР=SourceKCSR,КФСР=DestKFSR,КорКФСР=SourceKFSR,' + 
        'КВР=DestKVR,КорКВР=SourceKVR,КЭСР=DestKESR,КорКЭСР=SourceKESR,ИВФКлюч=DestIFS_Ref,КорИВФКлюч=SourceIFS_Ref,' +
        'КД=DestKDValue,КорКД=SourceKDValue,ВидКлс=DestClsType,КорВидКлс=SourceClsType,' +   
        'ВидОрганизацииЛС=DestFAOrg_Type,КорВидОрганизацииЛС=SourceFAOrg_Type,';  
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,' +             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,' +
      'НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,' +
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,' +
      'ВидДеятельности=ActivityKind,КорВидДеятельности=CorrActivityKind,ИсточникВидДеятельности=HeadActivityKind,' +
      'ВидДеятельностиПроводки=AccountActivityKind,' +
      МапКлс +
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=ProgIndex,' +
      'ЭКБухСчетДебет=bacDebitKESR,ЭКБухСчетКредит=bacCreditKESR,' +
      'ОстатковыйИВФДебетКлюч=DFIFS_Ref,ОстатковыйИВФКредитКлюч=DFIFS_Ref,' +
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,' +
      'Сумма=SUMMA,ИсправляющаяОперация=CORRECTIONFLAG,БухОперация=BuhOperationCLS,' +
      'БухСчетФОДебет=DFBuhAccFO,БухСчетФОКредит=DFBuhAccFO',
       Данные, '60=4,61=4,62=4,63=2,64=1,65=2,66=2,67=2,68=2,69=4,70=1,71=4,73=2,75=2,76=2,81=4,82=4,83=2,84=1,85=2,86=2',
               '60=4,61=2,62=1,63=4,64=4,65=2,66=3,67=4,68=4,69=1,70=4,71=2,73=4,75=2,76=3,81=2,82=1,83=4,84=4,85=2,86=3',
       коллекция);
  обязательно
    Коллекция.Значение("ПоляВыборки") := ПоляВыборки;                                        
  конец;
конец;
///////////////////////
// Доходы
///////////////////////
функция ПолучитьДоходы(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  ИспользоватьКазн,тмп: целое;
  ЛокКоллекция, коллекцияДляВозврата: IVariables;
  ДанныеКазн, ДанныеУведомлений, ДанныеВозврата: СтатическиеДанные;
  Маппинг, МаппингПереноса: строка;
  Сумма, СуммаКазн: поле;
  ст:текст;
  ПолеDocumentNumber, ПолеRecordDate, ПолеDocNumber, ПолеBuildDate, ПолеPDDocNumber: поле;
начало
  // создаем локальную коллекцию, чтобы не изменять основную коллекцию
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.Clear;
  ЛокКоллекция.PumpData(Коллекция);
  ДанныеКазн := СоздатьСтатическиеДанные;    
  попытка
    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    Данные.DestroyFields;

    Если Позиция("BudClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + 
        ",KVSR,KFSR,KCSR,KVR,KESR,IncIFSValue,IncIFS_Ref,KD,ClsType";   

    // формируем SQL-запрос
    Если ЛокКоллекция.Значение('ВнутренниеОперации')=1 
      тогда ЛокКоллекция.Значение('Полявыборки') := ЛокКоллекция.Значение('Полявыборки')+','+ДополнитьПоляВыборки('Kdto,SubKdTo,Facialacc_clsTo,RegionClsTo', Нет);
      
    если (ЛокКоллекция.Values('СноситьДатуНомерДокИзЗаголовка') = 1) или (ЛокКоллекция.Values('СноситьДатуНомерДокИзЗаголовка') = 2) тогда
    начало
      попытка
        ст := СоздатьТекст;
        ст.РазделенноеЗначение:=ЛокКоллекция.Значение('Полявыборки');
        если ст.Поиск('DocumentNumber')&lt;&gt;-1 тогда
          ЛокКоллекция.Значение('Полявыборки') := ЛокКоллекция.Значение('Полявыборки')+',DocNumber';
        если ст.Поиск('RecordDate')&lt;&gt;-1 тогда
          ЛокКоллекция.Значение('Полявыборки') := ЛокКоллекция.Значение('Полявыборки')+',BuildDate';
        //если нужно выводить вместо номера документа номер ПП (из доходов), то добавляем номер ПП в ПоляВыборки
        если (ЛокКоллекция.Values('СноситьДатуНомерДокИзЗаголовка') = 2) и (ст.Поиск('DocumentNumber')&lt;&gt;-1) тогда
          ЛокКоллекция.Значение('ПоляВыборки') := ЛокКоллекция.Значение('ПоляВыборки')+',PDDocNumber';
      обязательно
        УдалитьОбъект(ст);
      конец;
    конец;
    
    Если ВыбиратьВозврат(ЛокКоллекция)  или СтроитьЦепочкиУведомлений(ЛокКоллекция) тогда
      локКоллекция.Значение("поляВыборки") := локКоллекция.Значение("поляВыборки") + ",ChildDocCls,ParentDocCls,ChildId";    
    
    Данные.Запрос := "[PumpData]"+ЗапросДоходы(ЛокКоллекция);
    ПолучитьДанные(Данные, ЛокКоллекция);
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=IncIFSValue,ИВФКлюч=IncIFS_Ref,КД=KD,ВидКлс=ClsType",Данные,ЛокКоллекция);

    // СноситьДатуНомерДокИзЗаголовка=1: дата и номер сносится из заголовка 
    // СноситьДатуНомерДокИзЗаголовка=2: дата заменяется на дату из заголовка; номер документа заменяется на 
    // номер из заголовка или на номер ПП, если это платежка 
    если (ЛокКоллекция.Values('СноситьДатуНомерДокИзЗаголовка') = 1) или (ЛокКоллекция.Values('СноситьДатуНомерДокИзЗаголовка') = 2) тогда
    начало
      Данные.НайтиПоле('RecordDate',ПолеRecordDate);
      Данные.НайтиПоле('DocumentNumber',ПолеDocumentNumber);
      Данные.НайтиПоле('BuildDate',ПолеBuildDate);
      Данные.НайтиПоле('DocNumber',ПолеDocNumber);
      Данные.НайтиПоле('PDDocNumber',ПолеPDDocNumber);
      если ((ПолеDocumentNumber&lt;&gt;nil) и ((ПолеDocNumber&lt;&gt;nil) или (ПолеPDDocNumber&lt;&gt;nil))) или 
        ((ПолеRecordDate&lt;&gt;nil) и (ПолеBuildDate&lt;&gt;nil)) тогда
      начало  
        Данные.ВНачало;
        пока не Данные.ВКонце делать
        начало
          если (ПолеDocumentNumber&lt;&gt;nil)и(ПолеDocNumber&lt;&gt;nil) тогда
            если ПолеDocumentNumber.КакСтрока='' тогда ПолеDocumentNumber.КакСтрока := ПолеDocNumber.КакСтрока;
          если ЛокКоллекция.Values('СноситьДатуНомерДокИзЗаголовка') = 2 тогда
            если (ПолеDocumentNumber&lt;&gt;nil)и(ПолеPDDocNumber&lt;&gt;nil) тогда
              если ПолеPDDocNumber.КакСтрока &lt;&gt; '' тогда
                ПолеDocumentNumber.КакСтрока := ПолеPDDocNumber.КакСтрока;
          если (ПолеRecordDate&lt;&gt;nil)и(ПолеBuildDate&lt;&gt;nil) тогда
            если ПолеRecordDate.КакСтрока='' тогда ПолеRecordDate.КакСтрока := ПолеBuildDate.КакСтрока;
          Данные.Next;
        конец;  
      конец;  
    конец;
    
    ЛокКоллекция.Clear;
    ЛокКоллекция.PumpData(Коллекция);
    локКоллекция.Значение("неВыбиратьУведомленияВКазначействе") := Истина; // это чтобы не выбирать по нескольку раз уведомления. Сначала в доходах, а потом в казначействе
    
    если ВыбиратьКазначействоВДоходах(ЛокКоллекция) тогда
    начало
        // Т.к. фильтр StaticSet'а не поддерживает операторов "containing" и "starting", заменяем их конструкциями "like" 
        ЛокКоллекция.Значение("ТипКредита") := "like ";
        если ЛокКоллекция.Значение("Кредит") &lt;&gt; '' тогда
          выбрать Коллекция.Значение("ТипКредита") из
            "containing":
              ЛокКоллекция.Значение("Кредит") := Формат("*%s*", ЛокКоллекция.Значение("Кредит"));
            "starting":
              ЛокКоллекция.Значение("Кредит") := Формат("%s*", ЛокКоллекция.Значение("Кредит"));
            иначе
            начало
              ЛокКоллекция.Значение("ТипПараметраКредит") := '%f';
              ЛокКоллекция.Значение("ТипКредита") := Коллекция.Значение("ТипКредита");
            конец;  
          конец;
        ЛокКоллекция.Значение("ТипДебета") := "like ";
        если ЛокКоллекция.Значение("Дебет") &lt;&gt; '' тогда
          выбрать Коллекция.Значение("ТипДебета") из
            "containing":
              ЛокКоллекция.Значение("Дебет") := Формат("*%s*", ЛокКоллекция.Значение("Дебет")); 
            "starting":
              ЛокКоллекция.Значение("Дебет") := Формат("%s*", ЛокКоллекция.Значение("Дебет"));   
            иначе
            начало
              ЛокКоллекция.Значение("ТипПараметраДебет") := '%f';
              ЛокКоллекция.Значение("ТипДебета") := Коллекция.Значение("ТипДебета");
            конец;
          конец;
        // удаляем (если есть) расходную классификацию из ограничения
        если ЛокКоллекция.ПараметрСуществует("ТипКлассификацииРасх") тогда
        начало
          ЛокКоллекция.Значение("ТипКлассификации") := ЛокКоллекция.Значение("ТипКлассификацииРасх");
          ЛокКоллекция.Delete("ТипКлассификацииРасх");
        конец;
        
        тмп:=позиция(',0',ЛокКоллекция.Значение("ТипКлассификации"));
        если тмп=0 тогда
          тмп:=позиция('0,',ЛокКоллекция.Значение("ТипКлассификации"));
        если тмп&gt;0 тогда ЛокКоллекция.Значение("ТипКлассификации") := подстрока(ЛокКоллекция.Значение("ТипКлассификации"),1,тмп-1)+
          подстрока(ЛокКоллекция.Значение("ТипКлассификации"),тмп+2,255);
        если ЛокКоллекция.Значение("ТипКлассификации")="" тогда 
          ЛокКоллекция.Значение("ТипКлассификации") := '1,2'; // доходы и источники
        //из казначейства по источниковой классификации выбираем данные только с направлением "поступление"
        ЛокКоллекция.Значение("НаправлениеИсточника") := 1;
        
        ЛокКоллекция.Значение("ВыбиратьДоходыВКазначействе") := 0;
        ЛокКоллекция.Значение("ВыбиратьКазначействоВДоходах") := 0;
        
        ДанныеКазн.СоединитьБД;
              
        ИспользоватьКазн := ПолучитьКонстантуИспользованияКДвКазначействе;
        если БитИ(ИспользоватьКазн, кДоходыПриход) &lt;&gt; 0 тогда
        начало
          //Возврат прихода
          ДанныеКазн.Filtered := Ложь;
          ЛокКоллекция.Значение("КоментарийСекции") := "Доходы(из блока казначейства). Возврат прихода по предпринимательской деятельности.";
          Маппинг := FixPumpMapEx(КазначействоВернутьМаппингПереносаПолей(нет), ЛокКоллекция.Значение(АлгРаскладка));        
          ЛокКоллекция.Значение("Плательщик") := да;
          
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",") + "," + 
            ДополнитьПоляВыборки("InSumma,summa", ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
          ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
            КазначействоПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
            
          ЛокКоллекция.Значение("ТипБухОперации") := "-1";
          ПолучитьКазначейство(ДанныеКазн, ЛокКоллекция);  
          //Теперь надо связать маппинг казначейства и доходов по логическим именам
          МаппингПереноса := СоединитьМаппинг(ДоходыВернутьМаппингПереносаПолей, Маппинг);
          МаппингПереноса := "debit=InSumma,summa=Summa" + МаппингПереноса;
          если ЛокКоллекция.Values(кПарамГиперТекст) тогда  // в случае использования гипертекста добавим маппинг для кодов записей
            МаппингПереноса :=  МаппингПереноса +',id=detId';
          
          ДанныеКазн.НайтиПоле("summa", Сумма);
          если Сумма &lt;&gt; nil тогда
          начало
            СуммаКазн := ДанныеКазн.ПолеПоИмени("InSumma");
            ДанныеКазн.ВНачало;
            пока не ДанныеКазн.ВКонце делать
            начало
              Сумма.КакДробное := - СуммаКазн.КакДробное;
              ДанныеКазн.Следующая;
            конец;
          конец;
          ДанныеКазн.Filter := "(1 = 1) " + Ограничение("Кредит='0'" + ЛокКоллекция.Значение("ТипПараметраКредит"), ЛокКоллекция) + 
            Ограничение("Дебет=InSumma" + ЛокКоллекция.Значение("ТипПараметраДебет"), ЛокКоллекция);
          ДанныеКазн.Filtered := Истина;
          Данные.PumpData(ДанныеКазн, МаппингПереноса);
        конец;
        если БитИ(ИспользоватьКазн, кДоходыВозвратПрихода) &lt;&gt; 0 тогда
        начало       
          //Приход
          ДанныеКазн.Filtered := Ложь;
          ЛокКоллекция.Значение("КоментарийСекции") := "Доходы(из казначейства). Приход по предпринимательской деятельности.";
          Маппинг := FixPumpMapEx(КазначействоВернутьМаппингПереносаПолей(да), ЛокКоллекция.Значение(АлгРаскладка));
          ЛокКоллекция.Значение("Плательщик") := нет;
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",") + "," + 
            ДополнитьПоляВыборки("InSumma", ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
          ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
            КазначействоПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
            
          ЛокКоллекция.Значение("ТипБухОперации") := "1";
          ПолучитьКазначейство(ДанныеКазн, ЛокКоллекция);  
          //Теперь надо связать маппинг казначейства и доходов по логическим именам
          МаппингПереноса := СоединитьМаппинг(ДоходыВернутьМаппингПереносаПолей, Маппинг);
          МаппингПереноса := "credit=InSumma,summa=InSumma" + МаппингПереноса;
          если ЛокКоллекция.Values(кПарамГиперТекст) тогда  // в случае использования гипертекста добавим маппинг для кодов записей
            МаппингПереноса :=  МаппингПереноса +',id=detId';
          ДанныеКазн.Filter := "(1 = 1) " + Ограничение("Кредит=InSumma" + ЛокКоллекция.Значение("ТипПараметраКредит"), ЛокКоллекция) + 
            Ограничение("Дебет='0'" +ЛокКоллекция.Значение("ТипПараметраДебет"), ЛокКоллекция);  
          ДанныеКазн.Filtered := Истина;
          Данные.PumpData(ДанныеКазн, МаппингПереноса);  
        конец;
    конец;
    
    ЛокКоллекция.Clear;
    ЛокКоллекция.PumpData(Коллекция);
    локКоллекция.Значение("ДанныеПредАлгоритмов") := Данные;
    Если ВыбиратьУведомления(ЛокКоллекция) и не локКоллекция.ПараметрСуществует("неВыбиратьУведомленияВДоходах") тогда 
      начало
        ДанныеУведомлений := СоздатьСтатикСет;
        ДанныеУведомлений.Filtered := Ложь;
        ЛокКоллекция.Значение("ЭтоДоходы") := Истина;
        ПолучитьДанныеУведомлений(ДанныеУведомлений, ЛокКоллекция);
        МаппингПереноса := ВернутьМаппингПереносаУведомленийДляДох(ЛокКоллекция);
        // а теперь самое интересное, джойним  набор данных уведомлений к доходам, если нужно получать уточняющую классификацию
        если коллекция.Значение("ВычислятьУточняющуюКлассификацию") тогда
          ПрисоединитьУточняющиеДанныеУведомленийКОсновнойТаблице(данные, данныеУведомлений, локКоллекция, маппингПереноса)
        иначе  // иначе просто закачиваем 
          Данные.PumpData(ДанныеУведомлений, МаппингПереноса);
        УдалитьОбъект(ДанныеУведомлений);  
      конец;
      
    Если ВыбиратьВозврат(ЛокКоллекция)  тогда
    начало
      ДанныеВозврата := СоздатьСтатикСет;
      КоллекцияДляВозврата := CreateVariables; 
      КоллекцияДляВозврата.Значение("ВыбратьДокументыВозврата")  := 1;
      КоллекцияДляВозврата.Значение("ДанныеПредАлгоритмов") := локКоллекция.Значение("ДанныеПредАлгоритмов");
      КоллекцияДляВозврата.Значение("полявыборки") := локКоллекция.Значение("поляВыборки") + ',DocNumber,AcceptDate,CaptionNote,DocumentDate,summa,id,SourceFacialAcc,AccountRef,DestAccount';
      КоллекцияДляВозврата.Значение("ДатаВводаТип") := ЛокКоллекция.Значение("ДатаВводаТип");
      КоллекцияДляВозврата.Значение("ДатаВводаТипЧек") := ЛокКоллекция.Значение("ДатаВводаТипЧек");
      КоллекцияДляВозврата.Значение("ДатаДоНачалаПериода") := ЛокКоллекция.Значение("ДатаДоНачалаПериода");
      КоллекцияДляВозврата.Значение("ДатаКонцаПериода") := ЛокКоллекция.Значение("ДатаКонцаПериода");
      КоллекцияДляВозврата.Значение("ДатаНачалаПериода") := ЛокКоллекция.Значение("ДатаНачалаПериода");
      КоллекцияДляВозврата.Значение("ДатаПослеКонцаПериода") := ЛокКоллекция.Значение("ДатаПослеКонцаПериода");
      КоллекцияДляВозврата.Значение("ДатаПослеКонцаПериодаПлюс1День") := ЛокКоллекция.Значение("ДатаПослеКонцаПериодаПлюс1День");
      КоллекцияДляВозврата.Значение("ДатаПроведенияТип") := ЛокКоллекция.Значение("ДатаПроведенияТип");
      КоллекцияДляВозврата.Значение("ДатаПроведенияТипЧек") := ЛокКоллекция.Значение("ДатаПроведенияТипЧек");
      КоллекцияДляВозврата.Значение("ТипДатыУнивер") := ЛокКоллекция.Значение("ТипДатыУнивер");
      КоллекцияДляВозврата.Значение("Даты") := ЛокКоллекция.Значение("Даты");
      КоллекцияДляВозврата.Значение("НачальнаяДата") := ЛокКоллекция.Значение("НачальнаяДата");
      КоллекцияДляВозврата.Значение("КонечнаяДата") := ЛокКоллекция.Значение("КонечнаяДата");
      КоллекцияДляВозврата.Значение("ОднаДата") := ЛокКоллекция.Значение("ОднаКонечнаяДата");
      КоллекцияДляВозврата.Значение("КодЗаписи") := "";
      ДанныеВозврата.Запрос := '[PumpData]' + ЗапросКазначействоРасход(КоллекцияДляВозврата);
      ДанныеВозврата.Открыть;    
      ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=IFS,ИВФКлюч=IFS_REF,КД=KDValue,ВидКлс=ClsType",ДанныеВозврата,ЛокКоллекция);
      ВычислитьПолеБК("БюджКлс=SourceBudgClS,КВСР=SourceKVSR,КФСР=SourceKFSR,КЦСР=SourceKCSR,КВР=SourceKVR,КЭСР=SourceKESR," +
        "ИВФ=SourceIFS,ИВФКлюч=SourceIFS_REF,КД=SourceKDValue,ВидКлс=SourceClsType",ДанныеВозврата,ЛокКоллекция);
      ВычислитьПолеБК("БюджКлс=DestBudgClS,КВСР=DestKVSR,КФСР=DestKFSR,КЦСР=DestKCSR,КВР=DestKVR,КЭСР=DestKESR," +
        "ИВФ=DestIFS,ИВФКлюч=DestIFS_REF,КД=DestKDValue,ВидКлс=DestClsType",ДанныеВозврата,ЛокКоллекция);
      МаппингПереноса := "FacialAcc_Cls=SourceFacialAcc,RecordDate=AcceptDate,BuildDate=DocumentDate,Note=CaptionNote," + МаппингПереноса;
      Если коллекция.Значение("ВычислятьУточняющуюКлассификацию") тогда
        ПрисоединитьДанныеВозвратаКазнКОсновнойТаблице(Данные, ДанныеВозврата, ЛокКоллекция, МаппингПереноса)
      иначе  // иначе просто закачиваем       
        Данные.PumpData(ДанныеВозврата, МаппингПереноса);
      ДанныеВозврата.Закрыть;                                                                                               
      УдалитьОбъект(ДанныеВозврата);
    конец;
  обязательно
    УдалитьОбъект(ЛокКоллекция);
    УдалитьОбъект(ДанныеКазн);
  конец;
  Коллекция.Values("КоментарийСекции") := "";
конец;
</value>
    <param value="ПолучитьКазначействоДоходы.abl" type="3" name="Export">MARAEVA7\baranova\19.12.2012 11:23:29</param>
    <param value="ПолучитьКазначействоДоходы.abl" type="3" name="version">36.042.279</param>
    <param value="ПолучитьКазначействоДоходы.abl" type="3" name="crc32">$1B77FBD7</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010100</V>
            <V N="Name">Операции текущего дня по лс</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,РайонТрансферта,РайонКонтрагента,РайонБУ,ВидПлатежа,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.01.01) Операции текущего дня по лс.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Формирует отчет обо всех операциях (расход по чекам, расход и приход по платежкам, расход и приход
по мемордерам, приход по объявлениям), проведенных по указанному л/с и за указанный день.
По КЭСР подводяться итоги.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020100</V>
            <V N="Name">Информация по исходящим п/п</V>
            <V N="Params">Бюджет,КазнРС,Статус,ПроведНеПровед,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаРеестраТип,ДатаВводаТип,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,НомерРеестра,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,ВидПлатежа,ПричинаОтклон,ТипДеятельности,ТипКлассификацииРасх,Сумма,ОчередностьПлатежа,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.02.01) Информация по пп.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет строится за период.
Применяется для отслеживания текущего состояния платежек в системе.
выводятся основные атрибуты пп:
№ пп, дата пп, № реестра, дата реестра, лс плательщика, дата принятия, причина отклонения, сумма.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030100</V>
            <V N="Name">Реестр на зачисление средств на лс</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,Классификаторы,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,ФинИсточник,ФинТип,РайонТрансферта,РайонКонтрагента,РайонБУ,ВидПлатежа,ТипДеятельности,ТипКлассификацииРасх,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.03.01) Реестр на зачисление средств на лс.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Реестр на зачисление на лс. 
Отражает все документы разассигновки независимо от факта принятия 
с разбивкой по бюджетной классификации за данный день, относящиеся к требуемому реестру. 
Если ограничение по реестру отсутствует и за данный день есть несколько реестров, то они 
  выводятся последовательно друг за другом лентой.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040100</V>
            <V N="Name">Реестр на переброску средств между лс</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,Классификаторы,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,ФинИсточник,ФинТип,ВидПлатежа,ТипДеятельности,ТипКлассификацииРасх,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.04.01) Реестр на переброску средств между лс.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Реестр на переброску между лс. 
Отражает все документы переброски с разбивкой по КВР и КЭСР за данный день. 
Показывается плательщик и получатель средств.
Если ограничение по реестру отсутствует и за данный день есть несколько реестров, то они 
  выводятся последовательно друг за другом лентой.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050100</V>
            <V N="Name">Оборотно-сальдовая ведомость</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.05.01) Оборотно-сальдовая ведомость.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Данный отчет формирует список счетов с учетом выбранного временного интервала. Тело отчета 
составляют строки, содержащие номер счета с указанием денежных сумм оборотов по дебету
и кредиту и остатков на начало и конец отчетного периода.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050200</V>
            <V N="Name">Оборотно-сальдовая ведомость по ГРК</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.05.02) Оборотно-сальдовая ведомость по ГРК.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Данный отчет формирует список счетов с учетом выбранного временного интервала. Тело отчета 
составляют строки, содержащие номер счета с указанием денежных сумм оборотов по дебету
и кредиту и остатков на начало и конец отчетного периода. Остатки на начало и конец периода сворачиваются. 
отчет выдается лентой по главным распорядителям.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050300</V>
            <V N="Name">Оборотно-сальдовая ведомость по ГРК(с классификацией)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.05.03)Оборотно-сальдовая ведомость по ГРК(с классификацией).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Данный отчет формирует список счетов с учетом выбранного временного интервала. Тело отчета 
составляют строки, содержащие номер счета с указанием денежных сумм оборотов по дебету
и кредиту и остатков на начало и конец отчетного периода. Остатки на начало и конец периода сворачиваются. 
отчет выдается лентой по главным распорядителям.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050400</V>
            <V N="Name">Оборотно-сальдовая ведомость(с классификацией)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.05.04)Оборотно-сальдовая ведомость(с классификацией).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Данный отчет формирует список счетов с учетом выбранного временного интервала. Тело отчета 
составляют строки, содержащие номер счета с указанием денежных сумм оборотов по дебету
и кредиту и остатков на начало и конец отчетного периода.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050500</V>
            <V N="Name">Оборотно-сальдовая ведомость с кор. счетами</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,ГиперДокумент,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.05.05) Оборотно-сальдовая ведомость с кор. счетами.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Оборотно сальдовая ведомость по лицевым счетам получателей средств из бюджета с корресподирующими счетами</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060100</V>
            <V N="Name">Выписка по лс (пассив)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.06.01) Выписка по лс(пассив).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выписка по лицевому счету за день (лента) пассив. Приход на лс идет в дебит, расход в кредит.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060200</V>
            <V N="Name">Выписка по лс (пассив с классификацией)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.06.02) Выписка по лс(пассив с классиф).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выписка по лицевому счету за день (лента) пассив. Приход на лс идет в дебит, расход в кредит.+ бюджетная классификация</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060300</V>
            <V N="Name">Выписка по лс (актив)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.06.03) Выписка по лс(актив).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выписка по лицевому счету за день (лента) актив. Приход на лс идет в кредит, расход в дебит.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060400</V>
            <V N="Name">Выписка по лс (актив с классификацией)</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.06.04) Выписка по лс(актив с классиф).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выписка по лицевому счету за день (лента) актив. Приход на лс идет в кредит, расход в дебит.+ бюджетная классификация</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3070100</V>
            <V N="Name">Лента наличности</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,ОднаДата,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.07.01) ЛентаНаличности.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Лента наличности. Строится по всем лицевым счетам.
Содержит информацию по чекам на получение наличности, проведенным данным числом.
Показывается бюджетная классификация, номер чека, номер доверенности на чек.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080100</V>
            <V N="Name">Расходы на оплату услуг поставщиков</V>
            <V N="Params">Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,ФинИсточник,ФинТип,Мероприятие,ВидПлатежа,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,Организация,ИНН,КПП,Наимен,РС,ГиперДокумент,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.08.01) Расходы на оплату услуг поставщиков.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Расходы на оплату услуг поставщиков</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090100</V>
            <V N="Name">Реестр финансирования</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,Классификаторы,ВидПлатежа,ПричинаОтклон,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.09.01) Реестр финансирования.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Список платежных поручений и чеков, вошедших в реестр финансирования. 
С подведением промежуточных итогов по главному распорядителю.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090200</V>
            <V N="Name">Приложение к реестру финансирования</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,Классификаторы,ВидПлатежа,ПричинаОтклон,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.09.02) Реестр финансирования(приложение).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Список платежных поручений и чеков, вошедших в реестр финансирования. 
В отличие от реестра финансирования группируется с учетом номера документа.
Промежуточные итоги подводятся по конкретному бюджетополучателю</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090300</V>
            <V N="Name">Реестр финансирования и его приложение</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,Классификаторы,ВидПлатежа,ПричинаОтклон,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">03090100,03090200</V>
            <V N="Generation">АлгоритмыН</V>
            <V N="Options">65536</V>
            <V N="Note">Объединяет реестр финансирования и приложение к нему</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090400</V>
            <V N="Name">Реестр на оплату расходов</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,ВидПлатежа,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.09.04) Реестр на оплату расходов.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Получается на основе отчета "Реестр финансирования и приложение".</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090500</V>
            <V N="Name">Приложение к реестру на оплату расходов</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,ВидПлатежа,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.09.05) Реестр на оплату расходов(приложение).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Приложение к реестру на оплату расходов</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090600</V>
            <V N="Name">Реестр на оплату расходов и его приложение</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,ВидПлатежа,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">03090400,03090500</V>
            <V N="Generation">АлгоритмыН</V>
            <V N="Options">65536</V>
            <V N="Note">Объединяет реестр на оплату расходов и приложение к нему</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090700</V>
            <V N="Name">Заявка на финансирование</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,ВидПлатежа,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.09.07)Заявка на финансирование.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Получается на основе отчета "Реестр финансирования и приложение".
Берет данные из расходного казначейского реестра</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090800</V>
            <V N="Name">Приложение к заявке на финансирование</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерРеестра,Классификаторы,ВидПлатежа,ПричинаОтклон,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.09.08)Приложение к заявке на финансирование.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Та же заявка на финансирование только в разрезе ГРК (группировка по первым 3 цифрам л/с)</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3090900</V>
            <V N="Name">Заявка на финансирование и приложение</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,НомерДокПрост,НомерДок,Классификаторы,ВидПлатежа,ПричинаОтклон,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">03090700,03090800</V>
            <V N="Generation">АлгоритмыН</V>
            <V N="Options">65536</V>
            <V N="Note">Объединяет заявку на финансирование и приложение к заявке</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3100100</V>
            <V N="Name">Реестр п/п</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ВидПлатежа,ТипДеятельности,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.10.01) реестр пп(казн).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Реестр проведенных банком платежных поручений.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120100</V>
            <V N="Name">Ведомость учета выдачи наличных денег на зар.плату</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,Даты,ТипДатыУнивер,ДатаРеестраТип,ДатаВводаТип,НомерДокПрост,НомерРеестра,ТипДеятельности,ТипКлассификацииРасх,ВыбиратьДоходыВКазначействе</V>
            <V N="Template">(03.12.01) ведомость учета выдачи наличных денег на зар.платы.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060500</V>
            <V N="Name">Выписка получателя</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,КодДохода,ВидПлатежа,ТипДеятельности</V>
            <V N="Template">(03.06.05) Выписка получателя.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060600</V>
            <V N="Name">Приложение к выписке получателя</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,КодДохода,ВидПлатежа,ТипДеятельности</V>
            <V N="Template">(03.06.06) Приложение к выписке получателя.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150100</V>
            <V N="Name">Ведомость по кассовым выплатам (за период)</V>
            <V N="Params">Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,ТипСредствБюдж,ИстВнутрФин,КодЦелевыхСредств,ТипДеятельности,ГиперДокумент,ВыбиратьДоходыВКазначействе,НеУчитыватьУведомленияОбУточнении</V>
            <V N="Template">(03.15.01) Ведомость по кассовым выплатам (за период).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150200</V>
            <V N="Name">Ведомость по кассовым выплатам (месячная)</V>
            <V N="Params">Бюджет,КазнРС,Даты,Месяц,Год,Классификаторы,ЛицСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,ТипСредствБюдж,ИстВнутрФин,КодЦелевыхСредств,ТипДеятельности,ГиперДокумент,ВыбиратьДоходыВКазначействе,НеУчитыватьУведомленияОбУточнении</V>
            <V N="Template">(03.15.02) Ведомость по кассовым выплатам (месячная).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170100</V>
            <V N="Name">Выписка из лицевого счета БУ, АУ</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.17.01) Выписка из лс БУ, АУ.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath">13</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170200</V>
            <V N="Name">Приложение к выписке из лицевого счета БУ, АУ</V>
            <V N="Params">Бюджет,КазнРС,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.17.02) Приложение к выписке из лс БУ, АУ.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath">13</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170300</V>
            <V N="Name">Отчет о состоянии лицевого счета БУ, АУ</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ТипСредствБюдж,ГиперДокумент</V>
            <V N="Template">(03.17.03) Состояние лс БУ, АУ.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath">13</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170400</V>
            <V N="Name">Акт приемки-передачи показателей лицевого счета БУ, АУ</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.17.04) Акт приемки-передачи показателей лс бу, ау.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath">13</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180100</V>
            <V N="Name">Выписка из отдельного лицевого счета БУ, АУ</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">3180200,3180300</V>
            <V N="Generation">ЛентаОтчетов</V>
            <V N="Options">0</V>
            <V N="OptionsPath">13</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180200</V>
            <V N="Name">Выписка из отдельного лицевого счета БУ, АУ (1)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.02) Выписка из отдельного лс БУ, АУ (1).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180300</V>
            <V N="Name">Выписка из отдельного лицевого счета БУ, АУ (2)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.03) Выписка из отдельного лс БУ, АУ (2).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180400</V>
            <V N="Name">Приложение к выписке из отдельного лицевого счета БУ, АУ</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">3180500,3180600,3180700</V>
            <V N="Generation">ЛентаОтчетов</V>
            <V N="Options">0</V>
            <V N="OptionsPath">13</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180500</V>
            <V N="Name">Приложение к выписке из отдельного лицевого счета БУ, АУ (1)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.05) Приложение к выписке из отдельного лс БУ, АУ (1).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180600</V>
            <V N="Name">Приложение к выписке из отдельного лицевого счета БУ, АУ (2)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.06) Приложение к выписке из отдельного лс БУ, АУ (2).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180700</V>
            <V N="Name">Приложение к выписке из отдельного лицевого счета БУ, АУ (3)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.07) Приложение к выписке из отдельного лс БУ, АУ (3).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180800</V>
            <V N="Name">Отчет о состоянии отдельного лицевого счета БУ, АУ</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">3180900,3181000,3181100</V>
            <V N="Generation">ЛентаОтчетов</V>
            <V N="Options">0</V>
            <V N="OptionsPath">13</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180900</V>
            <V N="Name">Отчет о состоянии отдельного лицевого счета БУ, АУ (1)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.09) Состояние отдельного лс БУ, АУ (1).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3181000</V>
            <V N="Name">Отчет о состоянии отдельного лицевого счета БУ, АУ (2)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.10) Состояние отдельного лс БУ, АУ (2).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3181100</V>
            <V N="Name">Отчет о состоянии отдельного лицевого счета БУ, АУ (3)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.11) Состояние отдельного лс БУ, АУ (3).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3181200</V>
            <V N="Name">Акт приемки-передачи показателей отдельного лицевого счета БУ, АУ</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">3181300,3181400,3181500</V>
            <V N="Generation">ЛентаОтчетов</V>
            <V N="Options">0</V>
            <V N="OptionsPath">13</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3181300</V>
            <V N="Name">Акт приемки-передачи показателей отдельного лицевого счета БУ, АУ (1)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.13) Акт приемки-передачи показателей отд. лс БУ, АУ (1).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3181400</V>
            <V N="Name">Акт приемки-передачи показателей отдельного лицевого счета БУ, АУ (2)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.14) Акт приемки-передачи показателей отд. лс БУ, АУ (2).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3181500</V>
            <V N="Name">Акт приемки-передачи показателей отдельного лицевого счета БУ, АУ (3)</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет,ГиперДокумент</V>
            <V N="Template">(03.18.15) Акт приемки-передачи показателей отд. лс БУ, АУ (3).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3190100</V>
            <V N="Name">Расходное платежное поручение</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,Классификаторы,ЛицСчет,ТипДеятельности</V>
            <V N="Template">(03.19.01) Расходное платежное поручение.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3190200</V>
            <V N="Name">Приходное платежное поручение</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,Классификаторы,ЛицСчет,ТипДеятельности</V>
            <V N="Template">(03.19.02) Приходное платежное поручение.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080200</V>
            <V N="Name">Реестр внутренних платежей (свод)</V>
            <V N="Params">Бюджет,РСФО,Даты,ТипДатыУнивер,ДатаРеестраТип,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,НомерРеестра,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КВСР,КФСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,КодДохода,КодДоходаАдм,КодДоходаВид,КодДоходаЭК,ТипСредствБюдж,КодСубсидии,КодЦелевыхСредств,ТипДеятельности,ТипКлассификацииРасх,ГиперДокумент</V>
            <V N="Template">(03.08.02) Реестр внутренних платежей (свод).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note" />
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.279</param>
  </node>
  <version_info>
    <file>Сборка(04)Кредиты.xml</file>
    <version>36.042.03</version>
    <info>&lt;p&gt;Отчеты по кредитам&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:30</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляКредитов.abl">// Будет включать в себя основные функции для кредитов - Формирование периодов, расчет процентов и пеней и т.д.
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелПараметровСсуды = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  УзелСмещений = "Бюджет\Объекты\Настройки\Кредиты\Смещения";
// Внутреннее изменение учета дат операций (датой операции или следующим днем)  по обслуживанию кредитов.
// Сделано для унифицирования подхода с добавлением или недобавлением дня в начале периода.
// Разделение идет по закладкам:
// 1) (проценты) погашение, получение, смена процентной ставки
// 2) (пени) погашение, получение, смена процентной ставки, уплата %, начисление %
  прПолучение = 1;
  
//  прПогашение = 0;
//  прСменаПроц = 0;

  пнУплата = 0;
  пнПогашение = 1;
//  пнПолучение = 0;
//  пнСменаПроц = 0;
//  пнНачисление = 0;

  Кредиты="{DDC51F01-193C-11D5-8DF5-000021DDD8D5}";
  Ссуды = "{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}";
  // строковые константы видов пеней и кредитов. Юзаются в функциях получитьпараметр и получитьимяпараметра
  стр_впОснДолг = "по основному долгу";
  стр_впПроц = "по начисленным процентам";
  стр_впВсе = "все";
  стр_Проц = "процент";
  стр_воУплата = "уплата";
  стр_воНачисление = "начисление";


функция Модуль : Строка;
начало
  результат := Кредиты;
конец;

функция РазобратьЗначения(СтрокаПроводок: строка): целое;
переменные
  Значение: строка;
начало
  СтрокаПроводок := УбратьПробелы(СтрокаПроводок);
  Результат := Истина;
  попытка

    Пока СтрокаПроводок &lt;&gt; "" делать
    начало
      если Позиция(",", СтрокаПроводок) = 0 тогда
      начало
        Значение := СтрокаПроводок;
        СтрокаПроводок := "";
      конец иначе
      начало
        Значение := Подстрока(СтрокаПроводок, 1, Позиция(",", СтрокаПроводок) - 1);
        СтрокаПроводок := Подстрока(СтрокаПроводок, Позиция(",", СтрокаПроводок) + 1, Длина(СтрокаПроводок) - Позиция(",", СтрокаПроводок));
      конец;
      если не ПроверитьКлассификатор(тк_БухПроводка, СтрокаВЦелое(Значение)) тогда
        ВызватьОшибку("В реестре задан неверный номер бухоперации!!!");
    конец;
  неудача
    Результат := Ложь;
  конец;
конец;

функция ПроверитьПроводки;
переменные
  СтрокаПроводок: строка;
начало
  // Начисление проц.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления процентов.");
  // Начисление пени осн.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по основному долгу.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по основному долгу.");
  // Начисление пени по процентам
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по процентам.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по процентам.");
  // Уплата процентов
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для уплаченных процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для уплаченных процентов.");
  
конец; 

////////////////////////////////////////////////////  
// функция выдает параметр - ограничение указанного вида и типа. Работает как для ссуд, так и для кредитов
// вид : начисление, уплата
// тип : процент по кредиту/ссуде, пени по основному долгу и по начисленным процентам  
функция ПолучитьПараметр(вид, тип : Строка) : строка;
переменные
  рез : целое;
  ПрогИндекс : целое;
  УзелП : Строка; 
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
    
  рез := 0;
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
  начало 
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : рез := 124;                  
        стр_впОснДолг : рез := 325;
        стр_впПроц : рез := 326;
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "325,326";
          если Модуль = Кредиты тогда
            результат := "335,336";
        конец;
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : рез := 123;                  
        стр_впОснДолг : рез := 328;
        стр_впПроц : рез := 329;                  
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "328,329";
          если Модуль = Кредиты тогда
            результат := "338,339";
        конец;
      конец;
    если рез &lt;&gt; 0 тогда
    начало
      если Модуль = Кредиты тогда 
        рез := рез + 10;
      результат := ЦелоеВСтроку(рез);
    конец;
  конец
  иначе
  начало// не было обновления системы
    если Модуль = Кредиты тогда
      УзелП := УзелПараметров;
    если Модуль = Ссуды тогда
      УзелП := УзелПараметровСсуды;
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды начисления пени").КакСтрока +","+
          Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока + "," + 
          Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;         
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока; 
      конец;       
  конец;    
конец;

// пока нигде не используется. Вместо нее надо юзать ПреобразоватьПараметр
функция ПолучитьПрогИндекс(вид, тип : Строка) : строка;
переменные
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
    
  если ЦелаяКонстанта(ПИ, 1) тогда
    результат := ПолучитьПараметр(вид, тип)
  иначе
    результат := ЦелоеВСтроку(ПИ);
конец;

//Преобразует параметр в проводку по данным реестра
// Если параметр и был проводкой (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьВПроводку(вид, пар : Строка) : Строка;
переменные
  л_пар : Строка;
  УзелП : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
  начало
    ПИ := 120;
    УзелП := УзелПараметровСсуды;
  конец;
  если Модуль = Кредиты тогда
  начало
    ПИ := 130;
    УзелП := УзелПараметров;
  конец;
  если Позиция(",", пар) &gt; 0 тогда
    л_пар := Подстрока(пар, 1, Позиция(",", пар))
  иначе
    л_пар := пар;
  если ЦелаяКонстанта(ПИ, 1) тогда
  начало
    результат := "";
    если Модуль = Ссуды тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "124" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "325" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "326" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "123" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "328" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "329" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
    если Модуль = Кредиты тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "134" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "335" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "336" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "133" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "338" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "339" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
  конец
  иначе
    результат := л_пар;
конец;
//Преобразует параметр в ПрогИндекс по данным реестра
// Если параметр и был Прогиндексом (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьПараметр(пар : Строка) : Строка;
переменные
  поз : целое;
  л_пар : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
  поз := Позиция(",", пар);
  если поз &lt;&gt; 0 тогда
    л_пар := Подстрока(пар, поз - 1)
  иначе
    л_пар := пар;
  результат := пар;  
  если не ЦелаяКонстанта(ПИ, 1) тогда
    результат := ЦелоеВСтроку(ПИ + 4);  
конец;
 
// Получает имя поля из базы для нужного параметра (проводка или прогиндекс)
функция ПолучитьИмяПараметра : строка;
переменные
  ПрогИндекс : целое;
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
   
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
    результат := "progindex"
  иначе
    результат := "buhpaymentcls"    
конец;  


// Проверяем валюту в детализациях, если не равна заголовочной  - Ложь, иначе Истина.
функция ПроверитьВалютуВДетализациях(ИД: целое): целое;
переменные
  В: Выборка;
  ВалютаСтрокой: строка;
начало
  Результат := Истина;
  ВалютаСтрокой := ЦелоеВСтроку(ПолучитьВалютуВЗаголовке(ИД));
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // Проверяем в детализациях "Получение/Погашение" 
    В.Запрос := "select id from Debt where RecordIndex = " + ЦелоеВСтроку(ИД)+
                " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    Если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;
      
    В.Закрыть;
    // Проверяем деталь "Начисление %"
    В.Запрос := "select id from LoanCreditPercents where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            

    В.Закрыть;
    // Проверяем деталь "Уплата %"
    В.Запрос := "select id from FinDocDetail where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            
    В.Закрыть;

    // Проверяем графики
    В.Запрос := "select id from LoanCreditPlan where RecordIndex = " + ЦелоеВСтроку(ИД)
                + " and CurrencyCLS &lt;&gt; " + ВалютаСтрокой;
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;            
  обязательно
  конец;                              
конец;

// проверяет, имеется ли данная проводка в системе
функция ПроверитьПроводку(Проводка: целое): целое;
переменные
  В: Выборка;
начало
  Результат := Ложь;
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка 
    В.Запрос := "select Name from BuhPaymentCLS where id = :id";
    В.Параметр("id").КакЦелое := Проводка;
    В.Открыть;
    если В.ЧислоЗаписей = 1 тогда
      Результат := Истина;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

функция ПолучитьСмещение(Имя: строка): целое;
начало
  Результат := Реестр.Узел(УзелСмещений).Значение(Имя).КакЦелое;
конец;

функция СформироватьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; Параметр : Строка);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
  ТипГода: целое;
  Дата: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = 130 and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.Открыть;
  ТипГода := В.Поле("YearType").КакЦелое;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по месяцам
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      ПолучитьДату(РасширДатаВОбычную(В.Поле("periodstart").КакДробное), Г, М, Д);
      Д := ДеньДаты(В.Поле("periodstart").КакДробное);
      М := МесяцДаты(В.Поле("periodstart").КакДробное);
      Г := ГодДаты(В.Поле("periodstart").КакДробное);
      пока ((Г * 10000 + М * 100 + Д) &lt; КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("date").КакДробное := ИсправитьРасширДату(БольшаяДата(Г, М, Д));
          Субпериоды.ПолеПоИмени("note").КакСтрока := "плановое начисление";
          СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          М := М ост 12;
          Г := Г + 1;
        конец;   
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("periodstart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("Date").КакДробное := ДатаКонцаПодпериода;
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, 0);
      конец;
    конец;

  обязательно
    УдалитьОбъект(В);
  конец; 
конец;

// Запрос для вставки периодов начисления пеней
функция ЗапросДляНовыхПериодовПеней: строка;
начало
  результат := "[PumpData] {select ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, Summa, CurrencyCls, CurrencySumma"
              + " from LoanCreditPercents where (1 &lt;&gt; 1)}"
              + #13#10
              " [InsertData]{insert into LoanCreditPercents"
              + " (ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd, PayPercentDate, Note, Summa, CurrencyCls, CurrencySumma)"
              + " values (@ProgIndex, @RecordIndex, @BuhPaymentCls, @PeriodStart, @PeriodEnd, @PayPercentDate, ~Note, @Summa, @CurrencyCls, @CurrencySumma)}";
конец;

// Определяет начальную дату разбивки по периодам для заголовочной записи с данным ИД
// Пункты 2 и 3 выполняются в зависимости от флага в реестре
// 1. Проверяем, есть ли периоды по пеням, если есть то дата начала - последняя дата последнего периода
// 2. Проверяем график погашения и график уплаты %
// 3. Проверяем плановое погашение и плановую уплату  
// 4. Проверяем дату начала периодов в заголовке
// 5. Проверяем дату договора 
функция ОпределитьДатуНачалаСубпериодовПени(ИДЗаголовка: целое; Параметр : Строка): дробное;
переменные
  В: Выборка; 
  КодыПени, КодыПроцентов: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  если КодыПени = "" тогда 
    ВызватьОшибку("Не указаны коды начисления пени в реестре!");
  КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  если КодыПроцентов = "" тогда 
    ВызватьОшибку("Не указаны коды начисления процентов в реестре!");
  Результат := 0;
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  
  // вынимаем дату окончания самого последнего периода по пени
//  В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
//            + " where (ProgIndex in ("+Параметр+")) and (RecordIndex = :RI) and (BuhPaymentCLS in (" + КодыПени + "))";
  В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
            + " where ("+ПолучитьИмяПараметра+" in ("+Параметр+")) and (RecordIndex = :RI)";
  
  В.Параметр("RI").КакЦелое := ИДЗаголовка;
  В.Открыть;
  если не В.Поле("PeriodEnd").Пустое тогда
    если (В.Поле("PeriodEnd").КакДробное ост 10000) &lt;= 101 тогда
      Результат := В.Поле("PeriodEnd").КакДробное
    иначе Результат := СледующаяДата(В.Поле("PeriodEnd").КакДробное, 1, ТипГода);
    
  // Проверяем, как считают пени: по плану или по графику, если по плану - необходимо учесть и его
  если (Результат = 0) тогда
  начало
    // Вынимаем дату самого первого погашения по плану    
    // только по основному долгу
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг))) 
    и (не Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг) тогда //Параметр = "335" тогда
    начало 
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from Debt where (RecordIndex = :RI) and (ProgIndex = 132)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если В.Поле("PlanDate").КакДробное &gt; 0 тогда
        Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое погашение"), ТипГода);  
    конец;
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц))) и
    (не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг) тогда //Параметр = "336" тогда
    начало       
      // начисление
      В.Закрыть;
      В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
                  + " where "
                  + " (RecordIndex = " + ЦелоеВСтроку(ИДЗаголовка) + ") "
                  + " and (PayPercentDate &gt; 0)"
                  + " and (AcceptDate &gt; 0)"
                  + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + "))";

      В.Открыть;
      если ((В.Поле("PayPercentDate").КакДробное &gt; 0) и (В.Поле("PayPercentDate").КакДробное &lt; Результат)) 
            или ((Результат = 0) и (В.Поле("PayPercentDate").КакДробное &gt; 0)) 
      тогда
          Результат := СледующаяДата(В.Поле("PayPercentDate").КакДробное, ПолучитьСмещение("Плановая уплата %"), ТипГода);
    конец;
  конец;
  
  // Если не было периодов
  если (Результат = 0) тогда
  начало
    если (Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг))) 
      и (Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг) тогда //Параметр = "335" тогда
    начало
      // Вынимаем дату самого первого погашения по графику
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"
                + " where (RecordIndex = :RI) and (PlanDate is not Null) and (PlanDate &gt; 0) and (ProgIndex = 137)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть; 
      если В.Поле("PlanDate").КакДробное &gt; 0 тогда
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("График погашения"), ТипГода);
    конец;
    если (Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг) тогда
    начало
      // Вынимаем первую дату графика уплаты процентов
      В.Закрыть;
      В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"
                 + " where (RecordIndex = :RI) and (PlanDate &gt; 0) and (ProgIndex = 138)";
      В.Параметр("RI").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если (В.Поле("PlanDate").КакДробное &gt; 0) и ((В.Поле("PlanDate").КакДробное &lt; Результат) или (Результат = 0)) 
      тогда 
        Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("График уплаты %"), ТипГода);          
    конец;
  конец;

  // если не было выдач
  если Результат = 0 тогда
  // Вынимаем дату начала разбивки по периодам и дату ввода
  начало
    В.Закрыть;
    В.Запрос := "select DateInput, PeriodStart from LoanCredit where (ProgIndex = 130) and (id = :ID)";
    В.Параметр("ID").КакЦелое := ИДЗаголовка;
    В.Открыть;
    если В.Поле("PeriodStart").КакДробное &gt; 0 тогда
      // есть дата начала разбивки по периодам, ее и берем
      Результат := В.Поле("PeriodStart").КакДробное
    иначе
      // В противном случае берем дату создания записи в заголовке
      Результат := В.Поле("DateInput").КакДробное;  
  конец;    
  // Во избежание всяческих несуразностей
  Результат := ОбычнаяДатаВРасшир(НормализоватьДату(Результат));
конец;                                   

// Открывает и закачивает в субпериоды выборку
функция ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка: целое; НачалоПериода, КонецПериода: дробное; В: Выборка;
                                    Субпериоды: СтатическиеДанные; ИмяПоля, ИмяПоляРасчет, Примечание: строка;Смещение: целое;
                                    Параметр : Строка);
переменные
  ПолеВыборки: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  В.Параметр("RI").КакЦелое := ИДЗаголовка;
  В.Параметр("DateStart").КакЦелое := НачалоПериода;
  В.Параметр("DateEnd").КакЦелое := КонецПериода;
  В.Открыть;
  пока не В.ВКонце делать
  начало
    Субпериоды.Вставить;
    СубПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
    попытка
      если В.Поле("RecordDate").Пустое тогда
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода)
      иначе
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещение, ТипГода);
    неудача
      // поле "RecordDate" отсутствует
      Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода);
    конец;
    Субпериоды.Поле("Note").КакСтрока := Примечание;
    // Вставляем поля с валютами, ставками по проц. и т.д.
    попытка
      Субпериоды.Поле("Credit").КакДробное := В.Поле("Credit").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("Debit").КакДробное := В.Поле("Debit").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("Percent").КакДробное := В.Поле("Percent").КакДробное;
    неудача
    конец;

    попытка
      Субпериоды.Поле("CurrencyCredit").AsFloat := В.Поле("CurrencyCredit").AsFloat;
    неудача
    конец;

    попытка
      Субпериоды.Поле("CurrencyDebit").AsFloat := В.Поле("CurrencyDebit").AsFloat;
    неудача
    конец;
    
    Субпериоды.Сохранить;
    В.Следующая;
  конец;        
конец;

// Формирование субпериодов начисления пени 
функция ФормированиеСубпериодовПени(ИДЗаголовка, НачалоПериода, КонецПериода: целое; СПроцентами: целое; Параметр : Строка): СтатическиеДанные;
переменные
  НадоПодпериоды: целое; 
  КодыПроцентов, КодыУплПроцентов, КодыПени, кп_ОснДолг, кп_НачПроц: строка;
  В: Выборка;                                                 //     , Проводка
  Год, Месяц, День, ТипГода, СПланом: целое;
  КонецСрока: дробное;
начало
  НадоПодпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакЦелое;
  КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  КодыУплПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  кп_ОснДолг := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока; 
  кп_НачПроц := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока; 
  
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  СПланом := Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг;

//  если Позиция(",", КодыПени) = 0
//  тогда Проводка := КодыПени 
//  иначе Проводка := Подстрока(КодыПени, 1, Позиция(",", КодыПени) - 1);            
  
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  // Создаем статиксет Субпериоды
  Результат := СоздатьСтатическиеДанные;
  Результат.ДобавитьДробноеПоле("Date"); // Дата начала сл. субпериода
  Результат.CreateField("Note", 9); // Примечание
  Результат.ДобавитьЦелоеПоле("ProgIndex");
  Результат.ДобавитьДробноеПоле("Credit"); // Кредит
  Результат.ДобавитьДробноеПоле("Debit"); // Дебет
  Результат.ДобавитьДробноеПоле("Percent"); // Cтавка пени по осн. долгу
  Результат.ДобавитьДробноеПоле("CurrencyCredit");
  Результат.ДобавитьДробноеПоле("CurrencyDebit");
  Результат.Открыть;
  // Вставляем дату начала разбивки
  Результат.Вставить;
  Результат.Поле("Date").КакДробное := НачалоПериода;
  Результат.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);
  Результат.Сохранить;

  если НачалоПериода &lt; КонецПериода тогда
  начало
    если НадоПодпериоды или СПроцентами тогда 
    // Если необходима подробная разбивка
    начало      
      //разделение на осн. долг и начисл. проценты
      // для осн.долга : план погашения, погашение, смена ставки пени
      если Позиция(ПолучитьПараметр(стр_воНачисление, стр_впОснДолг), Параметр) тогда //Позиция("335", ПрогИндекс) &gt; 0 тогда
      начало
        // вынимаем в субпериоды график погашения кредита
        если Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг тогда
        начало
          В.Запрос := "select PlanDate PlanDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPlan"
                  + " where (ProgIndex=137) and (RecordIndex = :RI)"
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt; :DateEnd) group by PlanDate";
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "срок погашения", ПолучитьСмещение("График погашения"), Параметр);
        конец
        иначе
        начало
          В.Запрос := "select PlanDate, sum(Debit - Credit) Credit, sum(CurrencySumma) CurrencyCredit from Debt"
                      + " where(ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd) group by PlanDate"; 
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "срок погашения", ПолучитьСмещение("Плановое погашение"), Параметр);
        конец;

        // вынимаем все даты плановых погашений за данный период
        /*
        В.Запрос := "select PlanDate, sum(Debit-Credit) Debit, sum(CurrencySumma) CurrencyDebit from Debt"
                  + " where (ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd)" 
                  + " and (AcceptDate is null) group by PlanDate";
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"PlanDate", "Debit", "плановое погашение кредита", ПолучитьСмещение("Плановое погашение"), Параметр);
        */
        // вынимаем все даты погашений за данный период
        В.Запрос := "select AcceptDate, RecordDate, sum(Debit-Credit) Debit, sum(CurrencySumma) CurrencyDebit from Debt"
                  + " where (ProgIndex = 132) and (RecordIndex = :RI) "
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate, RecordDate";
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Debit", "погашение кредита", ПолучитьСмещение("Погашение"), Параметр);

        // вынимаем субпериоды по изменению ставок пени по осн. долгу (136)
        В.Запрос := "select distinct AcceptDate AcceptDate, max(Percent) Percent from PercentJournal"
                  + " where (ProgIndex in (136)) and (RecordIndex = :RI)" 
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate";  
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Percent", "изменение ставки пени по осн. долгу", ПолучитьСмещение("Изменение ставки пени по осн. долгу"), Параметр);
      конец;
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      // для начисл. процентов : график уплаты %, уплата, смена ставки пени
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) тогда //Позиция("336", ПрогИндекс) &gt; 0 тогда
      начало   
        // вынимаем в субпериоды фактические уплаты процентов по кредиту
        В.Запрос := "select AcceptDate AcceptDate, RecordDate, sum (Credit - Debit) Debit, sum(CurrencySumma) CurrencyDebit from FinDocDetail"
                + " where (ProgIndex in (133, 337)) and (RecordIndex = :RI)"
                + " and (AcceptDate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd)"
                + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воУплата, стр_Проц) + ")) group by AcceptDate, RecordDate"; 
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "AcceptDate", "Debit", "уплата процентов", ПолучитьСмещение("Уплата процентов"), Параметр);

        // вынимаем субпериоды по плановым датам погашения процентов кредита
        если Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
        начало
          В.Запрос := "select PlanDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPlan"
                  + " where (ProgIndex = 138) and (RecordIndex = :RI)"
                  + " and (PlanDate &gt;= :DateStart) and (PlanDate &lt;= :DateEnd)"
                  + " group by PlanDate"; 
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PlanDate", "Credit", "уплата процентов (план)", ПолучитьСмещение("График уплаты %"), Параметр);
        конец иначе
        начало
          В.Запрос := "select PayPercentDate PayPercentDate, sum(Summa) Credit, sum(CurrencySumma) CurrencyCredit from LoanCreditPercents"
                + " where (ProgIndex in (134, 334)) and (RecordIndex = :RI)"
                + " and (PayPercentDate &gt;= :DateStart) and (PayPercentDate &lt;= :DateEnd)"
                + " and AcceptDate is not null"
                + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + ")) group by PayPercentDate";
          ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат, "PayPercentDate", "Credit", "уплата процентов (план)", ПолучитьСмещение("Плановая уплата %"), Параметр);
        конец;

        // вынимаем субпериоды по изменению ставок пени по процентам (139)
        В.Запрос := "select distinct AcceptDate AcceptDate, max(Percent) Percent from PercentJournal"
                  + " where (ProgIndex in (139)) and (RecordIndex = :RI)" 
                  + " and (Acceptdate &gt;= :DateStart) and (AcceptDate &lt;= :DateEnd) group by AcceptDate";  
        ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка, НачалоПериода, КонецПериода, В, Результат,"AcceptDate", "Percent", "изменение ставки пени по процентам", ПолучитьСмещение("Изменение ставки пени по проц."),'');
      конец;
    конец;
    КонецСрока := КонецПериода;
    //если ТипГода = 1 тогда
      //КонецСрока := НормальнаяДатаВКривую(КонецСрока);
    если не СПроцентами тогда
      СформироватьПериодыПоДлине(ИДЗаголовка, Результат, НачалоПериода, КонецСрока, Параметр);
    //если ТипГода = 1 тогда
      //ОткорректироватьДатыСубпериодов(Результат);
    // Упорядочиваем субпериоды
    Результат.Индекс := "Date";
    Результат.ВНачало;
  конец;        
конец;

// Формирует периоды начисления пени
функция ФормированиеПериодовПени(ИДЗаголовка, КонецСрока: целое; НовыеПериоды: СтатическиеДанные; Параметр : Строка): целое;
переменные
  ДатаНачала, КонецПериода: дробное;
  Субпериоды: СтатическиеДанные;
  КодыПени, Проводка: строка;
  ТипГода: целое;
начало

  КодыПени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  Проводка := ПреобразоватьВПроводку(стр_воНачисление, Параметр);
  если Позиция(",", Проводка) &gt; 1 тогда
    Проводка := Подстрока(Проводка, 1, Позиция(",", Проводка) - 1);
  если (не ПроверитьПроводку(СтрокаВЦелое(Проводка))) и (ЦелаяКонстанта(130, 1) &lt;&gt; 1)
  тогда ВызватьОшибку("Проводка " + Проводка + " отсутствует в системе.");            

  // Определим дату начала субпериодов по пеням
  ДатаНачала := ОпределитьДатуНачалаСубпериодовПени(ИДЗаголовка, Параметр);
  Субпериоды := ФормированиеСубпериодовПени(ИДЗаголовка, ДатаНачала, КонецСрока, Ложь, Параметр);
  Субпериоды.Индекс := "Date";
  Субпериоды.ВНачало;
  КонецПериода := Субпериоды.Поле("Date").КакДробное;
  Субпериоды.Следующая;
  пока не Субпериоды.ВКонце делать
  начало
    если КонецПериода &lt;&gt; Субпериоды.Поле("Date").КакДробное тогда
    начало
      НовыеПериоды.Вставить;
      НовыеПериоды.Поле("PeriodStart").КакДробное := КонецПериода;
      НовыеПериоды.Поле("PeriodEnd").КакДробное := ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0);
      НовыеПериоды.Поле("Note").КакСтрока := Субпериоды.Поле("Note").КакСтрока;
      НовыеПериоды.Поле("ProgIndex").КакСтрока := Субпериоды.Поле("ProgIndex").КакСтрока;      
      НовыеПериоды.Поле("BuhPaymentCLS").КакЦелое := Проводка;
      НовыеПериоды.Сохранить;
      КонецПериода := Субпериоды.Поле("Date").КакДробное;
    конец;
    Субпериоды.Следующая;
  конец;
  //если ТипГода = 1 тогда
    //КонецСрока := НормальнаяДатаВКривую(КонецСрока);
  если КонецПериода &lt;= КонецСрока тогда
  // На случай какого-нибудь извратного перекоса
  начало
    НовыеПериоды.Вставить;
    НовыеПериоды.Поле("PeriodStart").КакДробное := КонецПериода;
    НовыеПериоды.Поле("PeriodEnd").КакДробное := КонецСрока;
    НовыеПериоды.Поле("BuhPaymentCLS").КакЦелое := Проводка;
    НовыеПериоды.Поле("Note").КакСтрока := "плановое начисление";  
    НовыеПериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);      
    НовыеПериоды.Сохранить;
  конец;
  Результат := Истина;
конец;


// Рассчитывает пени для записи с данным ИД
функция РасчетПени(ИД: целое; ДатаНачала, ДатаКонца, СуммаВВалюте: дробное; Параметр : Строка): дробное;
переменные
  Субпериоды: СтатическиеДанные;
  ОстатокДолг, СубсуммаДолг, Процент, НачалоСубпериода, НачалоСледСубпериода, СуммаДолг: дробное;
  Год, ДлинаСубпериода: целое;
  ПолеКредитДолг, ПолеДебетДолг: строка;
  ЭтоНацВалюта, ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИД);
  попытка
    Субпериоды := ФормированиеСубпериодовПени(ИД, 101, ДатаКонца, Истина, Параметр);
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(СубПериоды);
    ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(ИД) = КодНацВалюты);
    если ЭтоНацВалюта тогда
    начало
      ПолеКредитДолг := "Credit";
      ПолеДебетДолг := "Debit";
    конец иначе
    начало
      ПолеКредитДолг := "CurrencyCredit";
      ПолеДебетДолг := "CurrencyDebit";
    конец;
    
    ОстатокДолг := 0;
    Процент := 0;
    СубсуммаДолг := 0;
    СуммаДолг := 0;

    Субпериоды.Вставить;
    Субпериоды.Поле("Date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);
    Субпериоды.Сохранить; 
    Год := ГодДаты(ДатаНачала);
    пока Год &lt;= ГодДаты(ДатаКонца) делать
    начало
      СубПериоды.Вставить;                         
      Субпериоды.ПолеПоИмени("date").КакДробное := Год * 10000 + 101;                    
      СубПериоды.Сохранить;
      Год := Год + 1;
    конец;
    Субпериоды.Индекс := "Date";
    Субпериоды.ВНачало;
    // Вычисляем условия на дату начала периода
    пока (Субпериоды.Поле("Date").КакДробное &lt; ДатаНачала) и (не Субпериоды.ВКонце) делать
    начало
      ОстатокДолг := ОстатокДолг + Субпериоды.Поле(ПолеКредитДолг).КакДробное 
                                    - Субпериоды.Поле(ПолеДебетДолг).КакДробное;
      если не Субпериоды.Поле("Percent").Пустое тогда
        Процент := Субпериоды.Поле("Percent").КакДробное;
      Субпериоды.Следующая;  
    конец;
    
    НачалоСубпериода := ДатаНачала;
    пока (Субпериоды.Поле("Date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ПолучитьТипГода(ИД))) и (не Субпериоды.ВКонце) делать
    начало
      Год := ГодДаты(ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0));
      НачалоСледСубпериода := Субпериоды.Поле("Date").КакДробное;
      ДлинаСубпериода := ЧислоДнейВПериоде(ИД, НачалоСубпериода, НачалоСледСубпериода);
      СубсуммаДолг := ОстатокДолг * Процент * ДлинаСубпериода / (100 * ЧислоДнейВЛюбомГоду(ИД, Год));
      если СубсуммаДолг &lt; 0 тогда СубСуммаДолг := 0;
      СуммаДолг := СуммаДолг + СубсуммаДолг; // вычисляем сумму
      
      // вычисляем новые нач. условия
      ОстатокДолг := ОстатокДолг + Субпериоды.Поле(ПолеКредитДолг).КакДробное - Субпериоды.Поле(ПолеДебетДолг).КакДробное;
      если не Субпериоды.Поле("Percent").Пустое тогда
        Процент := Субпериоды.Поле("Percent").КакДробное;
      НачалоСубпериода := НачалоСледСубпериода;
      Субпериоды.Следующая;
    конец;

    Результат := СуммаДолг;
    если не ЭтоНацВалюта тогда
    начало
      СуммаВВалюте := Результат;
      Результат := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(ИД), ДатаКонца) * СуммаВВалюте;
    конец;
    Результат := ОкруглитьДоЗнака(Результат, 2);
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;
конец;    

// Выдает дату конца месяца
функция ПолучитьДатуКонцаМесяца(Дата: дробное; ТипГода: целое): дробное;
начало
  если ТипГода = 1 тогда
  // Ненормальный год (12 месяцев по 30 дней)
    Результат := (Дата цел 100) * 100 + 30
  иначе
  начало
    // Нормальный год (365 или 366 дней в году)
    Результат := (Дата цел 100) * 100 + ЧислоДнейВМесяце(Дата цел 10000, (Дата ост 10000) цел 100); 
  конец;    
конец;


// Выдает дату начала формируемых субпериодов. Это либо ДатаОкончанияПоследнегоСубпериода+1, либо это
// дата самой первой выдачи, либо это дата начала периодов, либо дата формирования документа
функция ПолучитьДатуНачалаСубпериодов(ИДЗаголовка: целое): дробное;
переменные
  В: Выборка;
  КодыПроцентов: строка;
  ТипГода: целое;
начало                
  Результат := 0;
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    КодыПроцентов := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
    ТипГода := ПолучитьТипГода(ИДЗаголовка);
    
    // Попытаемся отыскать дату окончания последнего существующего периода
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
                + " where (RecordIndex = :MasterID) and (BuhPaymentCLS in (" + КодыПроцентов+ "))";
    В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
    В.Открыть;
    если не В.Поле("PeriodEnd").Пустое
    тогда 
      если (В.Поле("PeriodEnd").КакДробное ост 10000) &lt;= 101 // Вдруг это даты остатков
      тогда
        Результат := В.Поле("PeriodEnd").КакДробное
      иначе
        Результат := СледующаяДата(В.Поле("PeriodEnd").КакДробное, 1, ТипГода); // За ПериодЕнд уже начислено
    
    // Если не нашли периодов, попытаемся найти дату первого планового получения (если идет расчет по плану)
    если (Результат = 0) и (Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг) тогда
    начало
      В.Запрос := "select min(PlanDate) PlanDate from Debt where (RecordIndex = :MasterID) and (AcceptDate is null) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("PlanDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе 
          Результат := В.Поле("PlanDate").КакДробное;        
      конец;
    конец;             

    // Если не нашли периодов, попытаемся найти дату первого получения
    если Результат = 0 тогда
    начало
      В.Запрос := "select min(RecordDate) RecordDate from Debt where (RecordIndex = :MasterID) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("RecordDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("RecordDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе 
          Результат := В.Поле("RecordDate").КакДробное;        
      конец;
    конец;             

    // Если не нашли периодов, попытаемся найти дату первого получения
    если Результат = 0 тогда
    начало
      В.Запрос := "select min(AcceptDate) AcceptDate from Debt where (RecordIndex = :MasterID) and (ProgIndex = 131)";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("AcceptDate").Пустое тогда
      начало
        если прПолучение тогда 
          Результат := СледующаяДата(В.Поле("AcceptDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе 
          Результат := В.Поле("AcceptDate").КакДробное;        
      конец;
    конец;             
    
    если Результат = 0 тогда
    начало
      // Выбираем все плановые получения
      В.Запрос := "select min(PlanDate) PlanDate from Debt "
                 + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                 + " and (AcceptDate is null)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Открыть;
      В.ВНачало;
      если не В.Поле("PlanDate").Пустое тогда 
      начало
        если прПолучение тогда
          Результат := СледующаяДата(В.Поле("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе       
          Результат := В.Поле("PlanDate").КакДробное;        
      конец;
    конец;
    
    // Ежели и тут ничего, тогда возьмем начало периода начисления или дату договора
    если Результат = 0 тогда
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ID = :MasterID";
      В.Параметр("MasterID").КакЦелое := ИДЗаголовка;
      В.Открыть;
      если не В.Поле("PeriodStart").Пустое 
      тогда Результат := В.Поле("PeriodStart").КакДробное
      иначе Результат := В.Поле("DateInput").КакДробное;
    конец;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Создает статиксет с субпериодами
функция СформироватьСубПериоды(ИДЗаголовка: целое; ДатаНачала, ДатаКонца: дробное; СПроцентами: целое): СтатическиеДанные;
переменные
  В: Выборка;
  М, Г, Д, НадоПодпериоды, ТипГода, СПланом: целое;
  Субпериоды: СтатическиеДанные;
  РасширДатаНачала, РасширДатаКонца: дробное;
начало
  НадоПодпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды подробно").КакФлаг;
  СПланом := Реестр.Узел(УзелПараметров).Значение("СПланом").КакФлаг;
  // Получаем большие даты - они нам пригодятся
  если ДатаНачала &gt; 0 тогда РасширДатаНачала := ДатаНачала
  иначе РасширДатаНачала := ПолучитьДатуНачалаСубпериодов(ИДЗаголовка);
  РасширДатаКонца := ДатаКонца;
  попытка
    ТипГода := ПолучитьТипГода(ИДЗаголовка);
    // Создаем вспомогательную выборку
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    // Создаем статиксет, в который будем класть субпериоды
    СубПериоды := СоздатьСтатическиеДанные;
    СубПериоды.ДобавитьДробноеПоле("Date");       // дата начала субпериода      
    СубПериоды.CreateField("NOTE", 9);     // комментарий , в связи с чем подразбивка на подпериоды    
    // Для расчета процентов
    СубПериоды.ДобавитьДробноеПоле("Credit");       // выданная сумма
    СубПериоды.ДобавитьДробноеПоле("Debit");        // погашенная сумма
    СубПериоды.ДобавитьДробноеПоле("Percent");      // процент по кредиту
    СубПериоды.ДобавитьДробноеПоле("CurrencyCredit");
    СубПериоды.ДобавитьДробноеПоле("CurrencyDebit");
    СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
    СубПериоды.Открыть;
    // Первый субпериод
    Субпериоды.Вставить;
    Субпериоды.Поле("Date").КакДробное := РасширДатаНачала;
    Субпериоды.Сохранить;
    если СПроцентами тогда
    // Когда ищем периоды, срок окончания мы прекрасно знаем
    начало
      Субпериоды.Вставить;
      Субпериоды.Поле("Date").КакДробное := РасширДатаКонца;
      Субпериоды.Поле("Note").КакСтрока := "плановое начисление";
      Субпериоды.Сохранить;
    конец;
    если НадоПодпериоды или СПроцентами тогда
    начало
      // Выбираем все получения
      В.Запрос := "select AcceptDate, RecordDate, Credit, Debit, CurrencySumma from Debt "
                 + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                 + " and (AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      // Так, как субпериод по выдаче формируется на след. день, то берем предыдущие числа
      если РасширДатаНачала &gt; 101 тогда
        В.Параметр("StartDate").КакДробное := ПредыдущаяДата(РасширДатаНачала, ПолучитьСмещение("Получение"), ТипГода)
      иначе
        В.Параметр("StartDate").КакДробное := 101;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      // Выкидываем в субпериоды
      пока (не В.ВКонце) делать 
      начало
        СубПериоды.Вставить;
        если В.Поле("RecordDate").Пустое тогда
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("AcceptDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода)
        иначе
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("RecordDate").КакДробное, ПолучитьСмещение("Получение"), ТипГода);
        Субпериоды.ПолеПоИмени("Note").КакСтрока := "выдача кредита";
        Субпериоды.ПолеПоИмени("Credit").КакДробное := В.ПолеПоИмени("Credit").КакДробное - В.ПолеПоИмени("Debit").КакДробное;
        Субпериоды.Поле("CurrencyCredit").КакДробное := В.Поле("CurrencySumma").КакДробное;
        СубПериоды.Сохранить;
        в.Следующая;        
      конец;
      
      // Выбираем все погашения
      В.Запрос := "select AcceptDate, RecordDate, Debit, Credit, CurrencySumma from Debt "
                 + " where (ProgIndex = 132) and (RecordIndex = :MasterID)"
                 + " and ( ((AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate) and (RecordDate is null)) or"
                 + " ((RecordDate &gt; :StartDate) and (RecordDate &lt;= :EndDate)) ) ";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Параметр("StartDate").КакДробное := РасширДатаНачала;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      // Выкидываем в субпериоды
      пока (не В.ВКонце) делать 
      начало
        СубПериоды.Вставить;
        // т.к. день погашения также облагается процентом, берем след.
        если В.ПолеПоИмени("RecordDate").КакДробное &gt; 0 
        тогда
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("RecordDate").КакДробное, ПолучитьСмещение("Погашение"), ТипГода)
        иначе
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("AcceptDate").КакДробное, ПолучитьСмещение("Погашение"), ТипГода);
        Субпериоды.ПолеПоИмени("Note").КакСтрока := "погашение кредита";
        Субпериоды.ПолеПоИмени("Debit").КакДробное := В.ПолеПоИмени("Debit").КакДробное - В.ПолеПоИмени("Credit").КакДробное;
        Субпериоды.Поле("CurrencyDebit").КакДробное := В.Поле("CurrencySumma").КакДробное;
        СубПериоды.Сохранить;
        В.Следующая;        
      конец;
   
      // Выбираем все изменения процентных ставок
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                  + " where (RecordIndex = :MasterID) and (ProgIndex=135)"
                  + " and (AcceptDate &gt;= :StartDate) and (AcceptDate &lt;= :EndDate)";
      В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
      В.Параметр("StartDate").КакДробное := РасширДатаНачала;
      В.Параметр("EndDate").КакДробное := РасширДатаКонца;
      В.Открыть;
      В.ВНачало;
      пока (не В.ВКонце) делать                 
      начало
        СубПериоды.Вставить;
        Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(В.ПолеПоИмени("acceptdate").КакДробное, ПолучитьСмещение("Изменение ставки процентов"), ТипГода);
        Субпериоды.ПолеПоИмени("note").КакСтрока := "изменение процентной ставки";
        Субпериоды.ПолеПоИмени("Percent").КакДробное := В.ПолеПоИмени("Percent").КакДробное;
        СубПериоды.Сохранить;
        В.Следующая;        
      конец;
      
      если СПланом тогда
      начало
        // Выбираем все плановые получения
        В.Запрос := "select PlanDate, Credit, Debit, CurrencySumma from Debt "
                   + " where (ProgIndex = 131) and (RecordIndex = :MasterID)"
                   + " and (PlanDate &gt;= :StartDate) and (PlanDate &lt;= :EndDate)"
                   + " and (AcceptDate is null)";
        В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
        // Так, как субпериод по выдаче формируется на след. день, то берем предыдущие числа
        если РасширДатаНачала &gt; 101 тогда
          В.Параметр("StartDate").КакДробное := ПредыдущаяДата(РасширДатаНачала, ПолучитьСмещение("Плановое получение"), ТипГода)
        иначе
          В.Параметр("StartDate").КакДробное := 101;
        В.Параметр("EndDate").КакДробное := РасширДатаКонца;
        В.Открыть;
        В.ВНачало;
        // Выкидываем в субпериоды
        пока (не В.ВКонце) делать 
        начало
          СубПериоды.Вставить;
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("PlanDate").КакДробное, ПолучитьСмещение("Плановое получение"), ТипГода);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановая выдача кредита";
          Субпериоды.ПолеПоИмени("Credit").КакДробное := В.ПолеПоИмени("Credit").КакДробное - В.ПолеПоИмени("Debit").КакДробное;
          Субпериоды.Поле("CurrencyCredit").КакДробное := В.Поле("CurrencySumma").КакДробное;
          СубПериоды.Сохранить;
          в.Следующая;        
        конец;
        
        // Выбираем все плановые погашения
        В.Запрос := "select PlanDate, RecordDate, Debit, Credit, CurrencySumma from Debt "
                   + " where (ProgIndex = 132) and (RecordIndex = :MasterID)"
                   + " and ( (PlanDate &gt;= :StartDate) and (PlanDate &lt;= :EndDate) and (AcceptDate is null) ) ";
        В.Параметр("MasterID").КакЦелое := ИдЗаголовка;
        В.Параметр("StartDate").КакДробное := РасширДатаНачала;
        В.Параметр("EndDate").КакДробное := РасширДатаКонца;
        В.Открыть;
        В.ВНачало;
        // Выкидываем в субпериоды
        пока (не В.ВКонце) делать 
        начало
          СубПериоды.Вставить;
          // т.к. день погашения также облагается процентом, берем след.
          Субпериоды.ПолеПоИмени("Date").КакДробное := СледующаяДата(В.ПолеПоИмени("PlanDate").КакДробное, ПолучитьСмещение("Плановое погашение"), ТипГода);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое погашение кредита";
          Субпериоды.ПолеПоИмени("Debit").КакДробное := В.ПолеПоИмени("Debit").КакДробное - В.ПолеПоИмени("Credit").КакДробное;
          Субпериоды.Поле("CurrencyDebit").КакДробное := В.Поле("CurrencySumma").КакДробное;
          СубПериоды.Сохранить;
          В.Следующая;        
        конец;
      конец;
    конец;// Конец детальной разбивки
    
    // Разбиваем по месяцам, если это указано в заголовке
    СформироватьПериодыПоДлине(ИДЗаголовка, Субпериоды, РасширДатаНачала, РасширДатаКонца, "334");
    //если ТипГода = 1 тогда
      //ОткорректироватьДатыСубпериодов(Субпериоды);
    // Упорядочиваем субпериоды
    Субпериоды.Индекс := "Date";
    Субпериоды.ВНачало;
    Результат := Субпериоды;
  обязательно
    УдалитьОбъект(В);
  конец;  
конец;

// Считает процент по кредиту на проставленные даты
функция РасчетПроцентов(ИДЗаголовка: целое; ДатаНачала, ДатаКонца, СуммаВВалюте: дробное): дробное;
переменные
  Субпериоды: СтатическиеДанные;
  Остаток, СубСумма, НачалоСубпериода, НачалоСледующегоСубпериода, Процент: дробное;
  Год, ДлинаСубпериода, ТипГода: целое;
  ПолеКредит, ПолеДебет: строка;
  ЭтоНацВалюта: целое;
начало
  
  Результат := 0;
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(ИДЗаголовка) = КодНацВалюты);
  ПолеКредит := "Credit";
  ПолеДебет := "Debit";
  если не ЭтоНацВалюта тогда
  начало
    ПолеКредит := "CurrencyCredit";
    ПолеДебет := "CurrencyDebit";
  конец;
  попытка
    Субпериоды := СформироватьСубпериоды(ИДЗаголовка, 0101, СледующаяДата(ДатаКонца, 1, ТипГода), Истина);
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(СубПериоды);
    СубПериоды.Вставить;                         
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;
    Год := ГодДаты(ДатаНачала);
    пока Год &lt;= ГодДаты(ДатаКонца) делать
    начало
      СубПериоды.Вставить;                         
      Субпериоды.ПолеПоИмени("date").КакДробное := Год * 10000 + 101;                    
      СубПериоды.Сохранить;
      Год := Год + 1;
    конец;
    СубПериоды.Индекс := "Date";
    Остаток := 0;
    Процент := 0;
    СубСумма := 0;
    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) и (не Субпериоды.ВКонце) делать
    начало
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное 
                                                       - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоимени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;
    
    НачалоСубпериода := ДатаНачала;                         

    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
      Год := ГодДаты(ПредыдущаяДата(Субпериоды.ПолеПоИмени("date").КакДробное, 1, 0));
      НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
      ДлинаСубПериода := ЧислоДнейВПериоде(ИДЗаголовка, НачалоСубпериода, НачалоСледующегоСубПериода);
      Субсумма :=  Остаток * ДлинаСубПериода * Процент / (ЧислоДнейВЛюбомГоду(ИДЗаголовка, Год) * 100);
      если Субсумма &lt; 0 тогда Субсумма := 0;
      Результат := Результат + СубСумма;    

      // измененные условия кредита
      Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
      если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;

      НачалоСубпериода := НачалоСледующегоСубПериода;
      СубПериоды.Следующая;
    конец;
    //Результат := ОкруглитьДоЗнака(Результат, 2);
    СуммаВВалюте := 0;
    если не ЭтоНацВалюта тогда
    начало
      СуммаВВалюте := Результат;
      Результат := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(ИДЗаголовка), ДатаКонца) * СуммаВВалюте;
    конец;
    Результат := ОкруглитьДоЗнака(Результат, 2);
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;  
конец;

//Ищет в строке указанный символ, возвращает подстроку до символа, а в остаток - подстроку после символа
функция ВыделитьПодстрокуДоСимвола(Стр, Символ, Остаток: Строка): Строка;
переменные
  Поз: целое; 
начало
  Поз := Позиция(Символ, Стр);
  если Поз &gt; 0 тогда
  начало
    Результат := Подстрока(Стр, 1, Поз - 1);
    Остаток := Подстрока(Стр, Поз + 1, Длина(Стр) - Поз);
  конец
  иначе
  начало
    //Если не нашли, то возвращаем всю строку, а остаток пустой
    Результат := Стр;
    Остаток := "";
  конец;  
конец;

// Добавление записи в график уплаты процентов 
// Может использоваться в скрипте Расчета процентов
функция ДобавитьВГрафикУплатыПроцентов(ИДЗаголовка, ИДЗаписи: целое; Дата, СуммаВВалюте, Сумма: дробное; КодВалюты: целое);
переменные
  ГрафикПроц: СтатическиеДанные;
  
начало
  ГрафикПроц := СоздатьСтатическиеДанные;
  ГрафикПроц.СоединитьБД;
  ГрафикПроц.Запрос := "[PumpData] {"
                      + " select id, PlanDate, ProgIndex, RecordIndex, Summa, CurrencyCLS, CurrencySumma from LoanCreditPlan"
                      + " where (id = @RecordId)"
                      + " and (ProgIndex = 138)"
                      + "}"  
                      + "[InsertData]{"
                      + "insert into LoanCreditPlan (id, PlanDate, ProgIndex, RecordIndex, Summa, CurrencyCLS, CurrencySumma)"
                      + "values (@id, @PlanDate, 138, @RecordIndex, @Summa, @CurrencyCLS, @CurrencySumma)"
                      + "}"
                      + "[ModifyData]{"
                      + " update LoanCreditPlan set "
                      + " PlanDate = @PlanDate,"
                      + " Summa = @Summa,"
                      + " CurrencySumma = @CurrencySumma,"
                      + " CurrencyCLS = @CurrencyCLS"
                      + " where id = @id"
                      + "}";
  попытка
    // Проверяем, есть ли похожие записизаписи
    ГрафикПроц.Параметр("RecordID") := ЦелоеВСтроку(ИДЗаписи);
    ГрафикПроц.Открыть;
    
    если ГрафикПроц.Поле("Id").Пустое тогда 
    // Вставляем новую запись
    начало
      ГрафикПроц.Вставить;     
      ГрафикПроц.Поле("id").КакЦелое := ИДЗаписи;    
      ГрафикПроц.Поле("RecordIndex").КакЦелое := ИДЗаголовка;    
    конец
    иначе
      // Изменяем старую запись
      ГрафикПроц.Редактировать;

    ГрафикПроц.Поле("Summa").КакДробное := Сумма;    
    ГрафикПроц.Поле("CurrencySumma").КакДробное := СуммаВВалюте;    
    ГрафикПроц.Поле("CurrencyCLS").КакЦелое := КодВалюты;    
    если Дата &gt; 0 тогда
      ГрафикПроц.Поле("PlanDate").КакДробное := Дата
    иначе
      ГрафикПроц.Поле("PlanDate").КакСтрока := "";      
    ГрафикПроц.Сохранить;
    ГрафикПроц.СохранитьИзменения;
  обязательно
    УдалитьОбъект(ГрафикПроц);
  конец;
конец;
</value>
    <param value="ДляКредитов.abl" type="3" name="Export">GEN\gen\09.11.2005 12:02:34</param>
    <param value="ДляКредитов.abl" type="3" name="version">36.042.03</param>
    <param value="ДляКредитов.abl" type="3" name="crc32">$B556A346</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляПересчетаВРубли.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\OutPut.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";

переменные  
  ОВ:ОкноВывода;
  
// Выдает валюту в заголовке договора
функция ПолучитьВалютуВЗаголовке(ИД: целое): целое;
переменные
  В: Выборка;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select CurrencyCLS from LoanCredit where id = " + ЦелоеВСтроку(ИД);
    В.Открыть;
    Результат := В.Поле("CurrencyCLS").КакЦелое;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Возвращает код нац. валюты
функция КодНацВалюты: целое;
начало
  Результат := ЦелаяКонстанта(19, 4);                
конец;

// Закачивает курс указанной валюты и проверяет его наличие
функция ЗакачатьКурсВалюты(Валюта: целое;ДатаПер: целое) : дробное;
переменные
  ссВалюта: СтатическиеДанные;
начало
  ОВ := ОкноВывода;
  Результат := 0;
  ссВалюта := СоздатьСтатическиеДанные;
  попытка
    ссВалюта.СоединитьБД;
    ссВалюта.Запрос := "[PumpData]"+#13#10+
                       "{select cur1.exchange Exchange, cur1.dat Dat from CURRENCYEXCHANGE cur1"+#13#10+
                       " where dat = (select max(DAT)"+#13#10+
                       " from CURRENCYEXCHANGE cur2"+#13#10+
                       " where (cur2.CURRENCY = @Currency)and(cur2.CURRENCY=cur1.CURRENCY)" 
                       + " and (cur2.Dat &lt;=@PerDate))}";
    ссВалюта.Параметр("Currency") := ЦелоеВСтроку(Валюта);
    ссВалюта.Параметр("PerDate") := ЦелоеВСтроку(ДатаПер);
    ссВалюта.Открыть;
    Результат := ссВалюта.Поле("Exchange").КакДробное;
      если ссВалюта.ЧислоЗаписей = 0 тогда
        ВызватьОшибку("Для валюты: " + ФорматироватьКлассификатор(Валюта, м_Валюта) + " не найден курс.");
      если ссВалюта.Поле("Dat").КакЦелое &lt;&gt; ДатаПер тогда
        ОВ.Вывести("Для валюты:" + ФорматироватьКлассификатор(Валюта, м_Валюта) + " не найден текущий курс."+#13#10+
                   "Взят последний за "+ДатаВСтроку(РасширДатаВОбычную(ссВалюта.Поле("Dat").КакЦелое)));
  обязательно
    УдалитьОбъект(ссВалюта);
  конец;                    
конец;

функция ПолучитьОбмКурс(КодВалюты:целое; ДатаПер: целое):дробное;
начало
  если КодВалюты = КодНацВалюты тогда 
    результат := 1
  иначе
    Результат := ЗакачатьКурсВалюты(КодВалюты, ДатаПер);
конец;
</value>
    <param value="ДляПересчетаВРубли.abl" type="3" name="version">36.042.03</param>
    <param value="ДляПересчетаВРубли.abl" type="3" name="crc32">$7A9B404C</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляРаботыСГодом12х30.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";

// Возвращает год расширенной даты
функция ГодДаты(Дата: дробное): целое;
начало
  Результат := Дата цел 10000;
конец;

// возвращает месяц расширенной даты
функция МесяцДаты(Дата: дробное): целое;
начало
  Результат := (Дата ост 10000) цел 100;
конец;

// Возвращает день расширенной даты
функция ДеньДаты(Дата: дробное): целое;
начало
  Результат := Дата ост 100;
конец;

//Корректирует дату в расширенном формате и возвращает в обычном  
// если содержить 0-вое число или месяц, то заменяет его на 1-ое
// содержит большее число, чем дней в месяце, то заменяет на последний день
// возвращает обычную дату
функция НормализоватьДату(дата : дробное) : дробное;
переменные
  г,м,д : целое;
  од : дробное;
начало
  г := целое(дата) цел 10000;
  м := (целое(дата) ост 10000) цел 100;
  д := целое(дата) ост 100;
  //проверяем год на допустимость
  попытка
    ФормироватьДату(г,1,1);
  неудача
    ВызватьОшибку("Недопустимый год: "+ЦелоеВСтроку(г));
  конец;
  //проверяем месяц
  если м&lt;1 тогда м:=1;
  если м&gt;12 тогда м:=12;
  //проверяем день
  если д&lt;1 тогда д:=1;
  если д &gt; ЧислоДнейВМесяце(г,м) тогда д := ЧислоДнейВМесяце(г,м); 

  результат := ФормироватьДату(г,м,д); 
конец;

функция ПредыдущееЧисло(Дата: Дробное; ЧислоДней : целое): дробное;
// вход - расширенная дата
// выход - тоже расширенная 
начало
  результат := ОбычнаяДатаВРасшир(НормализоватьДату(Дата) - ЧислоДней); 
  //если дата 0-ая, то при нормализации она приводится к 1-ой, т.е. прибавили лишний день  
  если (Дата ост 100) = 0  тогда результат := результат -1;
конец;

функция СледующееЧисло(Дата: Дробное; ЧислоДней : целое): дробное;
// вход - расширенная дата
// выход - тоже расширенная 
начало
  результат := ОбычнаяДатаВРасшир(НормализоватьДату(Дата) + ЧислоДней);
  //если дата 0-ая, то при нормализации она приводится к 1-ой, т.е. прибавили лишний день 
  если (Дата ост 100) = 0  тогда результат := результат -1;
конец;

функция ЧислоДней(ОтДаты : дробное; ДоДаты : дробное) : целое;
// Вход:
//    ОтДаты - расширенная дата    
//    ДоДаты - расширенная дата    
// Выход:
//    Число дней между двумя датами (ДоДаты - ОтДаты)
// Пример
// ЧислоДней (20010315, 20010320) = 5
// ЧислоДней (20010315, 20010315) = 0
// ЧислоДней (20010331, 20010401) = 1
начало
    результат := РасширДатаВОбычную(ДоДаты) - РасширДатаВОбычную(ОтДаты); 
конец;

// Если дата выходит за пределы - тогда сделать ее первым числом след. месяца
функция ИсправитьРасширДату(Дата: целое): целое;
переменные
  М, Д, Г: целое;
начало
  Г := Дата цел 10000;
  М := (Дата ост 10000) цел 100;
  Д := Дата ост 100;
  Результат := Дата;
  выбрать М из
    4, 6, 9, 11: если Д &gt;= 31 тогда
                   Результат := Г * 10000 + (М + 1) * 100 + 1;
    2: если (Д &gt;= 30) или ((Г ост 4 = 0) и (Д = 29)) тогда
         Результат := Г * 10000 + (М + 1) * 100 + 1;
  конец;                      
конец;

// Преобразует в расширенную дату
функция БольшаяДата(Год, Месяц, День: целое): дробное;
начало
  Результат := Год * 10000 + Месяц * 100 + День;
конец;

// Нижеследующие 3 функции работают только с кривыми датами
функция ЦелыхГодов(КолвоДней: целое): целое;
начало
  Результат := (КолвоДней - 1) цел 360;
конец;

функция ЦелыхМесяцев(КолвоДней: целое): целое;
начало
  Результат := (КолвоДней - ЦелыхГодов(КолвоДней) * 360 - 1) цел 30 + 1;
конец;

функция ЦелыхДней(КолвоДней: целое): целое;
начало
  Результат := КолвоДней - ЦелыхГодов(КолвоДней) * 360 - (ЦелыхМесяцев(КолвоДней) - 1) * 30;
конец;

// Преобразует дату для обычного года (365 дней) в дату для года 360 (12*30) дней
// Фича такая - если задают дату типа 31, то ее преобразуем в 30.
функция НормальнаяДатаВКривую(Дата: дробное): дробное;
переменные
  Год, Месяц, День: целое;
начало
  Результат := Дата;
  Год := Дата цел 10000;
  Месяц := (Дата ост 10000) цел 100;
  День := Дата ост 100;
  если День = 31 тогда
  начало
    День := 30;
  конец;
  если Месяц = 2 /* То бишь февраль */ тогда 
    если (День = 29) или ((День = 28) и (Год ост 4 &lt;&gt; 0))
    тогда
      День := 30;   
  Результат := БольшаяДата(Год, Месяц, День);    
конец;

// По ИД получаем тип года для записи из заголовка. Результат = 0 - обычный год, Результат = 1 - (12 * 30)
функция ПолучитьТипГода(ИД: целое): целое;
переменные
  В: Выборка;
начало
  Результат := -1;
  В := СоздатьВыборку;
  попытка
    В.БазаДанных := Бюджет;
    В.Запрос := "select YearType from LoanCredit where id = :RecordId";
    В.Параметр("RecordId").КакЦелое := ИД;
    В.Открыть;
    Результат := В.Поле("YearType").КакЦелое;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// выдает следующую дату для любого типа года
функция СледующаяДата(Дата: дробное; КолвоДней, ТипГода: целое): дробное;
переменные
  ДнейБыло, ДнейСтало: целое;
начало
  если ТипГода &lt;&gt; 0 тогда
  начало
    Дата := НормальнаяДатаВКривую(Дата);
    ДнейБыло := ГодДаты(Дата) * 360 + (МесяцДаты(Дата) - 1) * 30 + ДеньДаты(Дата);
    ДнейСтало := ДнейБыло + КолвоДней;
    Результат := ЦелыхГодов(ДнейСтало) * 10000 + (ЦелыхМесяцев(ДнейСтало)) * 100 + ЦелыхДней(ДнейСтало);
  конец
  иначе
    Результат := СледующееЧисло(Дата, КолвоДней);
конец;

// Выдает предыдущую дату для любого типа года
функция ПредыдущаяДата(Дата: дробное; КолвоДней, ТипГода: целое): дробное;
переменные
  ДнейБыло, ДнейСтало: целое;
начало
  Результат := 0;
  если ТипГода &lt;&gt; 0 тогда
  начало
    Дата := НормальнаяДатаВКривую(Дата);
    ДнейБыло := ГодДаты(Дата) * 360 + (МесяцДаты(Дата) - 1) * 30 + ДеньДаты(Дата);
    ДнейСтало := ДнейБыло - КолвоДней;
    Результат := ЦелыхГодов(ДнейСтало) * 10000 + (ЦелыхМесяцев(ДнейСтало)) * 100 + ЦелыхДней(ДнейСтало);
  конец
  иначе
    Результат := ПредыдущееЧисло(Дата, КолвоДней);
конец;

// Выдает число дней в году для любого типа года
функция ЧислоДнейВЛюбомГоду(ИД, Год: целое): целое;
начало
  Результат := 0;
  если ПолучитьТипГода(ИД) &lt;&gt; 0 тогда
    Результат := 360
  иначе
    Результат := ЧислоДнейВГоду(Год); 
конец;

функция ЧислоДнейВЛюбомМесяце(ИД, Год, Месяц: целое): целое;
начало
  Результат := 0;
  если ПолучитьТипГода(ИД) &lt;&gt; 0 тогда
    Результат := 30
  иначе
    Результат := ЧислоДнейВМесяце(Год, Месяц);  
конец;

// Использовать только для ненормального года!!!
функция ОткорректироватьДатыСубпериодов(Субпериоды: СтатическиеДанные);
начало
  Субпериоды.ВНачало;
  пока не Субпериоды.ВКонце делать
  начало
    Субпериоды.Редактировать;
    Субпериоды.Поле("Date").КакДробное := НормальнаяДатаВКривую(Субпериоды.Поле("Date").КакДробное);
    Субпериоды.Сохранить;
    Субпериоды.Следующая;
  конец;
конец; 

функция ЧислоДнейВПериоде(ИД: целое; НачалоПериода, КонецПериода: дробное): целое;
переменные
  Разница: дробное;
  Год, Месяц, День: целое;
начало
  Результат := 0;
  попытка
    если ПолучитьТипГода(ИД) = 1 тогда
      // Вычисляем очень просто, считаем кол-во дней от 01.01.01 до конца периода и вычитаем из него
      // кол-во дней до начала периода. Все гениальное просто.
      Результат := (ГодДаты(КонецПериода) * 360 + МесяцДаты(КонецПериода) * 30 + ДеньДаты(КонецПериода))
        - (ГодДаты(НачалоПериода) * 360 + МесяцДаты(НачалоПериода) * 30 + ДеньДаты(НачалоПериода)) 
    иначе
      Результат := ЧислоДней(НачалоПериода, КонецПериода);
  неудача
    ВызватьОшибку("Невозможно пересчитать из-за неверного указания даты");
  конец;
конец;

// Выдает дату конца месяца. ВНИМАНИЕ!!! Пока при годе 12*30 конец месяца - обычный (28, 29, 30, 31)
функция ПолучитьДатуКонцаМесяца(Дата: дробное; ТипГода: целое): дробное;
начало
  если ТипГода = 1 тогда
  // Ненормальный год (12 месяцев по 30 дней)
    Результат := (Дата цел 100) * 100 + 30
  иначе
  начало
    // Нормальный год (365 или 366 дней в году)
    Результат := (Дата цел 100) * 100 + ЧислоДнейВМесяце(Дата цел 10000, (Дата ост 10000) цел 100); 
  конец;    
конец;

функция СледующийМесяц(Дата: целое): целое;
переменные
  Год, Месяц: целое; 
начало
  Год := ГодДаты(Дата);
  Месяц := МесяцДаты(Дата);
  Месяц := Месяц + 1;
  если Месяц &gt; 12 тогда
  начало
    Месяц := 1;
    Год := Год + 1; 
  конец;
  Результат := Год * 10000 + Месяц * 100 + 1;
конец;
</value>
    <param value="ДляРаботыСГодом12х30.abl" type="3" name="version">36.042.03</param>
    <param value="ДляРаботыСГодом12х30.abl" type="3" name="crc32">$77B4E22E</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыДоговора.abl">// НПО Криста, 09.12.2005
// Зимичев Дмитрий
// Запрос для извлечения дополнительных договоров для кредитов и гарантий 
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\Запросы\ЗапросыКредиты2.abl";

константы
  nl = #13#10;
  МаппингСтавки1 = 'КодЗаписи=lcc.id,КодДокумента=lc.ID,ИндексыДанных=lcc.ProgIndex,Район=lc.RegionCLS,Мероприятие=lc.Fact,ДатаПринятия=lc.AcceptDate,';
  МаппингСтавки2 = 'Бюджет=lc.BudgetRef%d,ОргСсылка=lc.Org_Ref,Мероприятие=lc.Fact,ЛицСчет=lc.FACIALACC_CLS,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитамИГарантиям=lc.id,';

функция ЗапросДоговора(Коллекция: IVariables): строка;
переменные
  Запрос, Комментарий, Ограничения, ОсновнойСчет: строка;
начало
  // Получаем коментарий запроса
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Дополнительные договора");

   // Формируем ограничение по классификации
  Ограничения := Ограничение(МаппингСтавки1 + МаппингСтавки2, Коллекция);

  если УбратьПробелы(Коллекция.Значение('НомерДок')) &lt;&gt; '' тогда
    Ограничения := Формат('%s and (lc.Number = "%s")', Ограничения, Коллекция.Значение('НомерДок'));

  ОсновнойСчет := ПолучитьКонстантуКэш("", -1, 2, 0);
  если ОсновнойСчет = '' тогда
    ОсновнойСчет := 'Cast( NULL as integer)';
    
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);  
  
  // Обязательно разобраться с ДетИД и МастерИД
  
  // формирование запроса
  Запрос := 
    "Select" + nl +
    "  lc.ID, lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma," + nl +
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART CaptionPeriodStart, lc.PERIODLENGTH, " + nl +
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE," + nl +
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE," + nl +
    "  lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl +
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT, lc.ACCREF," + nl + 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH," + nl + 
    "  lcc.ID DetID, lcc.PROGINDEX, lcc.ContractNumber, lcc.ContractDate, lcc.EndDate AcceptDate, lc.AcceptDate CaptionAcceptDate, " + nl +
    "  lcc.ContractType, lcc.NOTE DetNote," + nl +
       ОсновнойСчет + " acc1, " + ОсновнойСчет + " acc2" + nl +
    "from" + nl +
    "  LoanCreditContracts lcc" + nl + 
    "  inner join LoanCredit lc on (lcc.RecordIndex = lc.ID)" + nl +
    "where " + nl +
    "  (1 = 1)" + nl +
    Ограничения;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; '' тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), "@"); 
  
  результат := '/*' + Комментарий + '*/' + nl + Запрос;
конец;

функция ПолучитьДоговора(Данные: СтатическиеДанные; Коллекция:IVariables);    
начало
  попытка
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex";
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := Формат('[PumpData]{%s}', ЗапросДоговора(Коллекция));
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values('КоментарийСекции') := '';
  конец;
конец;
</value>
    <param value="ЗапросыДоговора.abl" type="3" name="Export">DIMAN2\dzimitchev\09.12.2005 16:58:06</param>
    <param value="ЗапросыДоговора.abl" type="3" name="version">36.042.03</param>
    <param value="ЗапросыДоговора.abl" type="3" name="crc32">$67EFC699</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыКредиты2.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\Отчеты\поддержкаОтчетов.abl';
константы
  nl = #13#10;
  НачЗапр = "[PumpData]{";
  УзелПараметров = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  МаппингКредиты = 'Район=lc.RegionCLS,Мероприятие=lc.Fact,ЛицСчет=lc.FacialAcc_CLS,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитам=lc.id,ОргСсылка=lc.Org_Ref,Бюджет=lc.BudgetRef,СписокДоговоровПоКредитамИГарантиям=lc.id,Код=lc.id,';
       
// Формирует ограничения по датам
функция СформироватьОграниченияПоДатам(Дата1, Дата2: строка; Коллекция: IVariables): строка;
начало
  если (Коллекция.Значение("ОргПоПериоду") = 1) и (Дата2 &lt;&gt; "") тогда
    Результат :=" and (" + Дата1 + " &gt;= " + ДробноеВСтроку(Коллекция.Значение("НачальнаяДата")) + ")"
              + " and (" + Дата2 + " &lt;= " + ДробноеВСтроку(Коллекция.Значение("КонечнаяДата")) + ")" 
  иначе
  начало   
    Результат := " and (" + Дата1 + " &gt;= " + ДробноеВСтроку(Коллекция.Значение("НачальнаяДата")) + ")"
              + " and (" + Дата1 + " &lt;= " + ДробноеВСтроку(Коллекция.Значение("КонечнаяДата")) + ")";
    если Дата2 &lt;&gt; "" тогда
      Результат := Результат + " and (" + Дата2 + " &gt;= " + ДробноеВСтроку(Коллекция.Значение("НачальнаяДата")) + ")"
              + " and (" + Дата2 + " &lt;= " + ДробноеВСтроку(Коллекция.Значение("КонечнаяДата")) + ")";
  конец;
конец;

// Формирует ограничение по бухсчету с учетом счетов второго и третьего порядка
функция СформироватьОграничениеПоБухСчету(Маппинг: строка; Коллекция: IVariables): строка;
переменные
  БухСчет: целое;
  ИмяПоля: строка;
начало
  ИмяПоля := ПолучитьЗначениеСтр(Маппинг);
  если УбратьПробелы(Коллекция.Значение("СинтетСчет")) &lt;&gt; "" тогда
  начало
    если не Коллекция.Значение("СинтетСчетЧек") тогда
    начало
      БухСчет := КлассификаторВЧисло(Коллекция.Значение("СинтетСчет"), "0000.00");
      если БухСчет &lt;&gt; 0 тогда
      начало
        если БухСчет ост 10000 = 0 тогда
        // Ограничиваем по счету второго порядка
        начало
          Результат := "and (" + ИмяПоля + " between " + ЦелоеВСтроку(БухСчет) + " and " + 
            ЦелоеВСтроку(БухСчет + 9999) + ")";
        конец иначе
          если БухСчет ост 1000 = 0 тогда
          // Ограничиваем по счету третьего порядка
          начало
          Результат := "and (" + ИмяПоля + " between " + ЦелоеВСтроку(БухСчет) + " and " + 
            ЦелоеВСтроку(БухСчет + 999) + ")";
          конец иначе
            Результат := Ограничение("СинтетСчет="+ ИмяПоля, Коллекция);
      конец
      иначе
        Результат := Ограничение("СинтетСчет="+ ИмяПоля, Коллекция);
    конец
    иначе 
      Результат := Ограничение("СинтетСчет="+ ИмяПоля, Коллекция);
  конец;
конец;

функция СформироватьОграничениеПоСчету(Маппинг: строка; Коллекция: IVariables): строка;
переменные
  Стр, СтрокаСчетов, Счет: строка;
начало
  Результат := "";
  Результат := СформироватьОграничениеПоБухСчету(Маппинг, Коллекция);
  если позиция("and", Строчные(УбратьПробелы(Результат))) &lt; 3 тогда
    Результат := Подстрока(Результат, 3 + позиция("and", Строчные(Результат)), Длина(Результат) - (2 + позиция("and", Строчные(Результат))));
конец;

// Формирует ограничение по валюте с учетом рублей
функция СформироватьОграничениеПоВалюте(ИмяПоля: строка; Коллекция: IVariables): строка;
начало
  Результат := " and (" + ИмяПоля +  " = " + Коллекция.Значение("Валюта") 
               + " or " + ИмяПоля + " = " + ЦелоеВСтроку(ЦелаяКонстанта(19, 4))
               + ")"; 
конец;

// Формирует ограничение по состоянию договора
функция СформироватьОграничениеПоСостояниюДоговора(Коллекция: IVariables): строка;
начало
  Если Коллекция.Значение('ОграничениеТолькоПоДатеДоговора')
    тогда Результат := " and (lc.DateInput &lt;=" + Коллекция.Значение("ДатаКонцаДоговора") + ")" + nl 
    иначе Результат := " and ((lc.AcceptDate is null) or (lc.AcceptDate &gt;= " + Коллекция.Значение("ДатаНачалаДоговора") + ")) and (lc.DateInput &lt;=" + Коллекция.Значение("ДатаКонцаДоговора") + ")" + nl;  
конец;

// Возвращает тип используемых в системе прогиндексов для кредитов
функция ТипПрогИндексовКредиты: целое;
начало
  Результат := 1;
конец;

функция ЗапросКредитыОсновнойДолг(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, Ограничения2, ДатаСтрокой, ПолеДата: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Выдача/погашение кредита");
  ПолеДата := "d.AcceptDate";
  если Коллекция.Значение("ДатаУчетаТип") = 1 тогда
    ПолеДата := "d.RecordDate";
  если Коллекция.Значение("ДатаУчетаТип") = 2 тогда
    ПолеДата := "d.PlanDate";
  Ограничения := Ограничение(МаппингКредиты +  "ИндексыДанных=d.ProgIndex,КодЗаписи=d.id,ИстВнутрФин=ifs.FinSourceValue%l", Коллекция);
  если Коллекция.Значение("СинтетСчет") &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=SubKD.BuhAccount", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=abt.BuhAcc", Коллекция)
      + ")";
  если Коллекция.Значение("ОгрПоДатеУчета") тогда
    Ограничения := Ограничения + СформироватьОграниченияПоДатам("d.RecordDate", "", Коллекция)
  иначе
    если Коллекция.Значение("СПлатежками") = 2 тогда
      Ограничения := Ограничения + СформироватьОграниченияПоДатам("pd.AcceptDate", "", Коллекция)
    иначе
      Ограничения := Ограничения + СформироватьОграниченияПоДатам(ПолеДата, "", Коллекция);
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);

  если Коллекция.Значение("СПлатежками") = 2 тогда
    Ограничения := Ограничения + " and (d.DocType between 1010 and 1019)";

  если Коллекция.Значение("СПлатежками") = 1 тогда
    Ограничения := Ограничения + " and not (d.DocType between 1010 and 1019)";

 // если печатный документ  - убиваем всякие левые ограничения
 Если Коллекция.Значение('ПечатныйДокумент')
   тогда Ограничения := Ограничение("КодЗаписи=d.id", Коллекция);
   
  Результат :=   " select d.ID DetID, d.BUDGETREF, d.RecordIndex, d.ProgIndex, " + ПолеДата + " ACCEPTDATE, d.RecordDate, " +nl
               + " d.PLANDATE, d.DFAccount, d.Debit, d.Credit, d.AccRef, d.AcceptorAccRef, " +nl 
               + " d.IFS ifsid, ifs.FinSourceValue ifs, d.SubKD, d.DOCTYPE, d.SourceDocNumber, d.REGIONCLS DetailRegionCLS, " +nl
               + " d.Note DetNote, d.CREATERUSER, d.CREATEDATE, d.UPDATERUSER, " +nl
               + " d.UPDATEDATE, d.CurrencyCLS, d.CurrencySumma, d.BuhPaymentCLS, " +nl
               + " d.RECORDINDEX2, d.TOTALREF, d.REQUESTSINDEX, d.TAXNOTE, d.FederalFundsRef," +nl
               + " lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma, " +nl 
               + " lc.PROGINDEX CaptionPROGINDEX, lc.ProgIndex, lc.Org_Ref, lc.Note, lc.CONTRACTTYPE, " + nl
               + " lc.PERIODSTART CaptionPeriodStart, lc.PERIODLENGTH, lc.LONGDATE, lc.AcceptDate CaptionAcceptDate," + nl
               + " lc.YearType, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.LOANTYPE, lc.DebtType," + nl
               + " lc.CURRENCYSUMMA  CaptionCURRENCYSUMMA, lc.CURRENCYCLS  CaptionCURRENCYCLS, " + nl
               + " lc.CBPERCENTRATE, lc.CBFINERATE, lc.CBFINEPERCENTRATE, " + nl
               + " lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl
               + " lc.PAYPERCENTPERIODLENGTH, lc.DocBase, cast(4 as integer) AlgIndex, lc.GUARANTEEKIND, " + nl
               + " lc.GUARANTEEACCREF, lc.GUARANTEEINFO, lc.EXECUTEPERIOD, " + nl
               + " lc.DFACCOUNT CaptionDFACCOUNT, lc.ACCREF CaptionACCREF, " + nl
               + " lc.ADDITIONALACCREF, lc.CONTRACTINFO,  pd.AcceptDate ,  " + nl
               + " lc.BondCount BondCountCaption, lc.BondCost BondCostCaption, d.BondCount, " + nl
               + " SubKD.BuhAccount Acc," + nl
               + " abt.BuhAcc Acc2" + nl           
               + " from Debt d" + nl
               + " left join LoanCredit lc on (lc.id = d.RecordIndex)" + nl
               + " left join SubKD on (SubKD.id = d.SubKD)" + nl
               + " left join dfAccountsBuhTable abt on ((abt.id = d.DFAccount)"+Ограничение('Бюджет=abt.BudgetRef%d',Коллекция)+")" + nl  // Для получения синт. счета по счетуФО
               + " left join PayDoc32 pd on (pd.RecordIndex = d.id)" + nl
               + " left join InnerFinSource ifs on (ifs.id = d.ifs)"+nl
               + " where (1 = 1) " + nl
               + Ограничения;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Получение/ Погашение кредита */ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;


функция ЗапросКредитыНачисленныеПроценты(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, Ограничения2, ДатаСтрокой, ДопПоля, ДопТаблица, ПолеДата: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция получение начисленных процентов");
  ПолеДата := "lcp.AcceptDate";
  если Коллекция.Значение("ДатаУчетаТип") = 1 тогда
    ПолеДата := "lcp.RecordDate";
  Ограничения := Ограничение(МаппингКредиты + "ИндексыДанных=lcp.ProgIndex,КодЗаписи=lcp.id", Коллекция) + nl; 

  если Коллекция.Значение("СинтетСчет") &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=ac.Credit", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Debit", Коллекция)
      + ")" + nl;

  если Коллекция.Значение("ОгрПоДатеУчета") = 1 тогда
    Ограничения := Ограничения + СформироватьОграниченияПоДатам("lcp.RecordDate", "", Коллекция)
  иначе
    если Коллекция.Значение("ОгрПоПериоду") = 1 тогда
      Ограничения := Ограничения + СформироватьОграниченияПоДатам("lcp.PeriodStart", "lcp.PeriodEnd", Коллекция)
    иначе
      Ограничения := Ограничения + СформироватьОграниченияПоДатам(ПолеДата, "", Коллекция);

  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')" + nl;

  
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  ДопПоля := "";
  ДопТаблица := "";
  если Коллекция.Значение("ИзвлекатьСтавку") тогда
  начало
    ДопПоля := ", pj.Percent";
    ДопТаблица := " left join PercentJournal pj on (pj.RecordIndex = lcp.RecordIndex  and (pj.ProgIndex = " + Коллекция.Значение("ИндексыДанныхСтавки") + ") and (pj.IsLast = 1))";
  конец; 
  
 // если печатный документ  - убиваем всякие левые ограничения
 Если Коллекция.Значение('ПечатныйДокумент')
   тогда Ограничения := Ограничение("КодЗаписи=lcp.id", Коллекция);
  

  // Формируем запрос
 Результат :=   " select lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma," + nl
               + " lc.ProgIndex CaptionProgIndex,lc.Org_Ref,lc.Note," + nl 
               + " lc.PeriodStart CaptionPeriodStart, lc.PERIODLENGTH, lc.CREATERUSER CaptionCREATERUSER, lc.CREATEDATE CaptionCREATEDATE," + nl
               + " lc.UPDATERUSER CaptionUPDATERUSER, lc.UPDATEDATE CaptionUPDATEDATE, lc.LONGDATE, lc.AcceptDate CaptionAcceptDate, " + nl
               + " lc.YearType, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.LOANTYPE,lc.DebtType, " + nl
               + " lc.CurrencySumma CaptionCurrencySumma, lc.CurrencyCLS CaptionCurrencyCLS, " + nl
               + " lc.CBPERCENTRATE, lc.CBFINERATE, lc.CBFINEPERCENTRATE," + nl
               + " lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl
               + " lc.PAYPERCENTPERIODLENGTH, lc.DocBase, cast(4 as integer) AlgIndex, lc.GUARANTEEKIND," + nl
               + " lc.GUARANTEEACCREF, lc.GUARANTEEINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT CaptionDFACCOUNT," + nl
               + " lc.AccRef, lc.ADDITIONALACCREF, lc.CONTRACTINFO, " + nl
               + " lcp.ID DetID, lcp.RECORDINDEX, " + ПолеДата + " AcceptDate, lcp.Summa, lcp.SubKD SubKD, lcp.BuhPaymentCLS, " + nl
               + " lcp.Note DetNote, lcp.PeriodStart, lcp.PeriodEnd, lcp.PAYPERCENTDATE, lcp.ProgIndex, " + nl
               + " lcp.CREATERUSER, lcp.CREATEDATE, lcp.UPDATERUSER, lcp.UPDATEDATE, " + nl
               + " lcp.RecordDate, lcp.CurrencyCLS, lcp.CurrencySumma, lcp.DFACCOUNT, " + nl
               + " ac.Credit Acc, ac.Debit Acc2" + nl
               +  ДопПоля + nl
               + " from LoanCreditPercents lcp" + nl
               + " left join LoanCredit lc on (lc.id = lcp.RecordIndex)" + nl
               + " left join AccountsCorr ac on (ac.BuhOperationID = lcp.BuhPaymentCLS)" + nl
               //+ " left join Debt d on (d.RecordIndex = lcp.RecordIndex)"
               + ДопТаблица + nl
               + " where (1 = 1) " + nl
               + Ограничения;


  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Кредиты. Начисленные проценты */ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

функция ЗапросКредитыУплаченныеПроценты(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, Ограничения2, ДатаСтрокой, ПолеДаты: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция получение уплаченных процентов");
  
  ПолеДаты := "fdd.AcceptDate";
  если Коллекция.Значение("ДатаУчетаТип") = 1 тогда
    ПолеДаты := "fdd.RecordDate";

  Ограничения := Ограничение(МаппингКредиты + "ИндексыДанных=fdd.ProgIndex,КодЗаписи=fdd.id", Коллекция);
  если Коллекция.Значение("СинтетСчет") &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=ac.Credit", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Debit", Коллекция)
      + ")";
  если Коллекция.Значение("ОгрПоДатеУчета") или (Коллекция.Значение("ДатаУчетаТип") = 1) тогда
    Ограничения := Ограничения + СформироватьОграниченияПоДатам("fdd.RecordDate", "", Коллекция)
  иначе
    если Коллекция.Значение("СПлатежками") = 1 тогда
    начало
      ПолеДаты := "pd.AcceptDate";
      Ограничения := Ограничения + " and (fdd.DocType between 1010 and 1019)";
      Ограничения := Ограничения + СформироватьОграниченияПоДатам("pd.AcceptDate", "", Коллекция)
    конец
    иначе начало
      Ограничения := Ограничения + " and not (fdd.DocType between 1010 and 1019)";
      Ограничения := Ограничения + СформироватьОграниченияПоДатам(ПолеДаты, "", Коллекция);
    конец;
    
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";

  
 // если печатный документ  - убиваем всякие левые ограничения
 Если Коллекция.Значение('ПечатныйДокумент')
   тогда Ограничения := Ограничение("КодЗаписи=fdd.id", Коллекция);
  
  Результат :=   " select lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma," + nl
               + " lc.ProgIndex CaptionProgIndex, lc.BUDGETREF CaptionBUDGETREF, lc.Org_Ref, lc.Note, lc.CONTRACTTYPE," + nl
               + " lc.PeriodStart CaptionPeriodStart, lc.PERIODLENGTH, lc.CREATERUSER CaptionCREATERUSER, lc.CREATEDATE CaptionCREATEDATE," + nl
               + " lc.UPDATERUSER CaptionUPDATERUSER, lc.UPDATEDATE CaptionUPDATEDATE, lc.LONGDATE, lc.AcceptDate CaptionAcceptDate, " + nl
               + " lc.YearType, lc.RegionCLS CaptionRegionCLS, lc.Fact CaptionFact, lc.FacialAcc_CLS CaptionFacialAcc_CLS, lc.LOANTYPE, lc.DebtType, " + nl
               + " lc.CurrencySumma CaptionCurrencySumma, lc.CurrencyCLS CaptionCurrencyCLS, " + nl
               + " lc.CBPERCENTRATE, lc.CBFINERATE, lc.CBFINEPERCENTRATE, " + nl
               + " lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl
               + " lc.PAYPERCENTPERIODLENGTH, lc.DocBase, cast(4 as integer) AlgIndex, lc.GUARANTEEKIND," + nl
               + " lc.GUARANTEEACCREF, lc.GUARANTEEINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT CaptionDFACCOUNT," + nl
               + " lc.AccRef CaptionAccRef, lc.ADDITIONALACCREF, lc.CONTRACTINFO, " + nl
               + " fdd.ID DetID, fdd.KFSR, fdd.KCSR, fdd.KVSR, fdd.KVR, fdd.KESR, fdd.SUBKESR, " + nl
               + " fdd.Fact, fdd.FINSOURCE, fdd.RegionCLS, fdd.DOCTYPE, fdd.FINTYPE, fdd.CurrencyCLS," + nl
               + " fdd.MEANSTYPE, fdd.DFACCOUNT, fdd.AccountRef AccRef, fdd.PLANDATE," + nl
               + " fdd.BUDGETREF, fdd.Summa, fdd.CurrencySumma, (fdd.Credit-fdd.Debit) Credit, " + nl
               + " fdd.Debit, fdd.Note DetNote, fdd.USERFLAG, fdd.SourceDocNum SourceDocNumber, " + nl
               + " fdd.ProgIndex, fdd.RecordIndex, fdd.CREATERUSER, fdd.CREATEDATE, fdd.UPDATEDATE, " + nl
               + " fdd.UPDATERUSER, fdd.AcceptorAccRef, fdd.FacialAcc_CLS, fdd.RECORDINDEX2, " + nl
               + " fdd.PROMISE, fdd.BuhPaymentCLS, fdd.REQUESTSINDEX, fdd.RECORDINDEX3," + nl
               + " fdd.RecordDate, fdd.TOTALREF, fdd.DOCUMENTBASETYPE, fdd.TAXNOTE,fdd.FederalFundsRef," + nl
               + " ac.Credit Acc2, ac.Debit Acc, 0 SubKD," + nl // СубКД не стирать!!!
               + ПолеДаты + " AcceptDate " + nl               
               + " from FinDocDetail fdd" + nl
               + " left join LoanCredit lc on (lc.id = fdd.RecordIndex)" + nl
               + " left join AccountsCorr ac on (ac.BuhOperationID = fdd.BuhPaymentCLS)" + nl
               + " left join PayDoc32 pd on (pd.RecordIndex = fdd.id)" + nl
               + " where (1 = 1)" + nl
               + Ограничения;

               
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Кредиты. Уплата процентов */ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

функция ЗапросКредитыКурсоваяРазница(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, Ограничения2, ДатаСтрокой: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Загрузка курсовой разницы");

  Ограничения := Ограничение(МаппингКредиты +  "ИндексыДанных=d.ProgIndex,КодЗаписи=d.id", Коллекция);
  если Коллекция.Значение("СинтетСчет") &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=ac.Credit", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Debit", Коллекция)
      + ")";
  если Коллекция.Значение("ОгрПоДатеУчета") тогда
    Ограничения := Ограничения + СформироватьОграниченияПоДатам("d.RecordDate", "", Коллекция)
  иначе
    Ограничения := Ограничения + СформироватьОграниченияПоДатам("d.AcceptDate", "", Коллекция);
  //Ограничения := Ограничения + СформироватьОграничениеПоВалюте("d.CurrencyCLS", Коллекция);
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  
   // если печатный документ  - убиваем всякие левые ограничения
 Если Коллекция.Значение('ПечатныйДокумент')
   тогда Ограничения := Ограничение("КодЗаписи=d.id", Коллекция);

  Результат :=   " select lc.id, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.DebtType, lc.Org_Ref," + nl
               + " lc.Number, lc.Note,lc.YearType,lc.Summa CaptionSumma,lc.DateAmortization," + nl
               + " d.Credit, d.Debit,(d.credit-d.debit) kyrssumma,d.BuhPaymentCLS, d.AcceptDate, d.IFS ifsid, ifs.FinSourceValue ifs, d.SubKD, d.Note DetNote, d.RecordDate," + nl
               + " lc.DateInput, d.CurrencyCLS, d.CurrencySumma, d.ProgIndex, 0 AccRef, 0 AcceptorAccRef,d.SourceDocNumber,cast(4 as integer) AlgIndex," + nl
               + " d.id DetID, lc.AcceptDate CaptionAcceptDate,lc.DocBase," + nl
               + " ac.Credit Acc, ac.Debit Acc2," + nl
               + " ic.Exchange, ic.Delta" + nl
               + " from Debt d" + nl
               + " left join LoanCredit lc on (lc.id = d.RecordIndex)" + nl
               + " left join SubKD on (SubKD.id = d.SubKD)" + nl
               + " left join AccountsCorr ac on (d.BuhPaymentCLS = ac.BuhOperationID)" + nl
               + " left join IncCurrency ic on (ic.id = d.RecordIndex2)" + nl
               + " left join InnerFinSource ifs on (ifs.id = d.ifs)" + nl
               + " where (1=1)" + nl
               + Ограничения;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Кредиты. Курсовая разница */ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

функция ЗапросКредитыГрафики(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, Ограничения2, ДатаСтрокой: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Загрузка графиков погашения и уплаты процентов");

  Ограничения := Ограничение(МаппингКредиты +  "ИндексыДанных=lcp.ProgIndex,КодЗаписи=lcp.id", Коллекция);
  Ограничения := Ограничения + СформироватьОграниченияПоДатам("lcp.PlanDate", "", Коллекция);

  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";

 // если печатный документ  - убиваем всякие левые ограничения
 Если Коллекция.Значение('ПечатныйДокумент')
   тогда Ограничения := Ограничение("КодЗаписи=lcp.id", Коллекция);

  Результат :=   " select lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma," + nl
               + " lc.ProgIndex CaptionProgIndex, lc. BUDGETREF, lc.Org_Ref, lc.Note, lc.CONTRACTTYPE," + nl
               + " lc.PeriodStart CaptionPeriodStart, lc.PERIODLENGTH, lc.CREATERUSER CaptionCREATERUSER, lc.CREATEDATE CaptionCREATEDATE," + nl
               + "lc.UPDATERUSER CaptionUPDATERUSER, lc.UPDATEDATE CaptionUPDATEDATE, lc.LONGDATE, lc.AcceptDate CaptionAcceptDate, " + nl
               + " lc.YearType, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.LOANTYPE,lc.DebtType, " + nl
               + " lc.CurrencySumma CaptionCurrencySumma, lc.CurrencyCLS CaptionCurrencyCLS, " + nl
               + " lc.CBPERCENTRATE, lc.CBFINERATE, lc.CBFINEPERCENTRATE, lc.PERCENT," + nl
               + "lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl
               + "lc.PAYPERCENTPERIODLENGTH, lc.DocBase, cast(4 as integer) AlgIndex, lc.GUARANTEEKIND," + nl
               + "lc.GUARANTEEACCREF, lc.GUARANTEEINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT CaptionDFACCOUNT," + nl
               + "lc.AccRef, lc.ADDITIONALACCREF, lc.CONTRACTINFO, " + nl
               + " lcp.ID DetID, lcp.RECORDINDEX, lcp.ProgIndex,lcp.PLANDATE AcceptDate, lcp.Summa," + nl
               + "lcp.Note DetNote, lcp.CREATERUSER, lcp.CREATEDATE, lcp.UPDATERUSER, lcp.UPDATEDATE, " + nl
               + " lcp.CurrencyCLS, lcp.CurrencySumma " + nl
               + " from LoanCreditPlan lcp" + nl
               + " left join LoanCredit lc on (lc.id = lcp.RecordIndex)" + nl
               + " where (1=1)" + nl
               + Ограничения;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Кредиты. Графики погашения и уплаты процентов*/ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;





функция ЗапросКредитыПлановоеПогашение(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, Ограничения2, ДатаСтрокой: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция плановое погашение кредита");
  
  Ограничения := Ограничение(МаппингКредиты + "ИндексыДанных=d.ProgIndex,КодЗаписи=d.id", Коллекция);
  если Коллекция.Значение("СинтетСчет") &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=SubKD.BuhAccount", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=abt.BuhAcc", Коллекция)
      + ")";
  Ограничения := Ограничения + СформироватьОграниченияПоДатам("d.PlanDate", "", Коллекция);
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  если Коллекция.Значение("БезДатыПринятия") = 1 тогда
    Ограничения := Ограничения + " and (d.AcceptDate is null)" + nl;
    
  // если печатный документ  - убиваем всякие левые ограничения
 Если Коллекция.Значение('ПечатныйДокумент')
   тогда Ограничения := Ограничение("КодЗаписи=d.id", Коллекция);
   
  Результат :=   " select lc.id, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.DebtType, lc.Org_Ref," + nl
               + " lc.Number, lc.Note,lc.YearType,lc.Summa CaptionSumma,lc.DateAmortization," + nl
               + " d.Debit, d.BuhPaymentCLS, d.PlanDate AcceptDate, d.IFS ifsid, ifs.FinSourceValue ifs, d.SubKD, d.Note DetNote," + nl
               + " lc.DateInput, d.CurrencyCLS, d.CurrencySumma, d.ProgIndex, d.id DetID, lc.AcceptDate CaptionAcceptDate,lc.DocBase,cast(4 as integer) AlgIndex," + nl
               + " SubKD.BuhAccount Acc," + nl
               + " abt.BuhAcc Acc2" + nl
               + " from Debt d" + nl
               + " left join LoanCredit lc on (lc.id = d.RecordIndex)" + nl
               + " left join SubKD on (SubKD.id = d.SubKD)" + nl
               + " left join dfAccountsBuhTable abt on ((abt.id = d.DFAccount)"+Ограничение('Бюджет=abt.BudgetRef%d',Коллекция)+")" + nl  // Для получения синт. счета по счетуФО
               + " left join InnerFinSource ifs on (ifs.id = d.ifs)" + nl
               + " where (d.ProgIndex = 132)" + nl
               // + " and (d.AcceptDate is null)" + nl
               + Ограничения;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Кредиты. Плановое погашение */ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

функция ЗапросКредитыПлановаяУплатаПроцентов(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, Ограничения2, ДатаСтрокой, ОграничениеПоПроведению, ПолеДата: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция плановая уплата процентов");
  
  Ограничения := Ограничение(МаппингКредиты + "ИндексыДанных=lcp.ProgIndex,КодЗаписи=lcp.id", Коллекция);
  если Коллекция.Значение("СинтетСчет") &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=ac.Credit", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Debit", Коллекция)
      + ")";
  Ограничения := Ограничения + СформироватьОграниченияПоДатам("lcp.PayPercentDate", "", Коллекция);
  //Ограничения := Ограничения + СформироватьОграничениеПоВалюте("lcp.CurrencyCLS", Коллекция);
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  
 
  ОграничениеПоПроведению := " and (lcp.AcceptDate is not null)";
  ПолеДата := "lcp.AcceptDate";

  если Коллекция.Значение("ВыбиратьНепроведенныеНачисления") = 1 тогда
  начало
    ОграничениеПоПроведению := " and (lcp.AcceptDate is null)";
    ПолеДата := "lcp.PayPercentDate";
  конец;
  
  если Коллекция.Значение("ОграничитьПоПлановойДате") = 1 тогда
  начало
    ОграничениеПоПроведению := " and (lcp.AcceptDate is not null) and (lcp.PayPercentDate is not null)";
    ПолеДата := "lcp.PayPercentDate";
  конец;

 // если печатный документ  - убиваем всякие левые ограничения
 Если Коллекция.Значение('ПечатныйДокумент')
   тогда Ограничения := Ограничение("КодЗаписи=lcp.id", Коллекция);


  Результат :=   " select lc.id, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.DebtType, lc.Org_Ref," + nl
               + " lc.Number, lc.Note,lc.YearType,lc.Summa CaptionSumma,lc.DateAmortization," + nl
               + ' lcp.Summa, lcp.BuhPaymentCLS, " + ПолеДата + " AcceptDate,lcp.SubKD SubKD, cast("" as VarChar(20)) IFS, 0 IFSID, lcp.Note DetNote,' + nl
               + " lc.DateInput, lcp.CurrencyCLS, lcp.CurrencySumma, lcp.PeriodStart, lcp.PeriodEnd," + nl
               + " lcp.BuhPaymentCLS, lcp.ProgIndex, lcp.ID DetID, lc.AcceptDate CaptionAcceptDate,lc.DocBase,cast(4 as integer) AlgIndex," + nl
               + " ac.Credit Acc, ac.Debit Acc2" + nl
               + " from LoanCreditPercents lcp" + nl
               + " left join LoanCredit lc on (lc.id = lcp.RecordIndex)" + nl
               + " left join AccountsCorr ac on (ac.BuhOperationID = lcp.BuhPaymentCLS)" + nl
               + " where (lcp.ProgIndex in (134,334))" + nl
               + ОграничениеПоПроведению + nl
               + Ограничения;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Кредиты. Плановая уплата процентов */ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

// Данные отчета - это данные, выводящиеся в отчет
// Данные - это данные секции с процентами
функция ДобавитьВПроцентыСубКДиИстВнутрФин(ДанныеОтчета, Данные: СтатическиеДанные);
переменные
  ВремСС: СтатическиеДанные;
  МаппингГруппировки: строка;
начало
  если ДанныеОтчета.FindField("СубКД", nil) или ДанныеОтчета.FindField("ИсточникВнутрФинансирования", nil) тогда
  // Выполняем только, когда есть указанные поля
  начало
    /*
    если ДанныеОтчета.FindField("ПолученоДо", nil) тогда
      ДанныеОтчета.Фильтр := "(ПолученоДо &lt;&gt; '') or (Получено &lt;&gt; '')"
    иначе
      ДанныеОтчета.Фильтр := "(Получено &lt;&gt; '')";  
    */
    ДанныеОтчета.Фильтр := "РекордИндекс&lt;&gt;''";
    ДанныеОтчета.Filtered := Истина;
    ВремСС := СоздатьСтатическиеДанные;
    попытка
      ДанныеОтчета.ВНачало;
      ВремСС.ПрисвоитьПоля(ДанныеОтчета);
      ВремСС.Открыть;
      ВремСС.KeyFieldNames := "РекордИндекс";
      МаппингГруппировки := "keys=РекордИндекс";
      если ДанныеОтчета.FindField("СубКД", nil) тогда
        МаппингГруппировки := МаппингГруппировки + ";СубКД=max(СубКД)"; 
      если ДанныеОтчета.FindField("ИсточникВнутрФинансирования", nil) тогда
        МаппингГруппировки := МаппингГруппировки + ";ИсточникВнутрФинансирования=ИсточникВнутрФинансирования"; 
      ВремСС.Группировать(ДанныеОтчета, МаппингГруппировки);
      ВремСС.Индекс := "РекордИндекс";
      ВремСС.ВНачало;
      пока не ВремСС.ВКонце делать
      // Добавляем СубКД и ИстВнутрФин
      начало
        Данные.Фильтр := "id = " + ВремСС.Поле("РекордИндекс").КакСтрока;
        Данные.Filtered := Истина;
        Данные.ВНачало;
        пока не Данные.ВКонце делать
        начало
          Данные.Редактировать;
          если ВремСС.FindField("СубКД", nil) и Данные.НайтиПоле("SubKD", nil) тогда
            Данные.Поле("SubKD").КакЦелое := ВремСС.Поле("СубКД").КакЦелое;
          если ВремСС.FindField("ИсточникВнутрФинансирования", nil) и Данные.НайтиПоле("IFS", nil) тогда
            Данные.Поле("IFS").КакСтрока := ВремСС.Поле("ИсточникВнутрФинансирования").КакСтрока;
          если ВремСС.FindField("СчетКредитора", nil) и Данные.НайтиПоле("AccRef", nil) тогда
            Данные.Поле("AccRef").КакЦелое := ВремСС.Поле("СчетКредитора").КакЦелое;
          если ВремСС.FindField("СчетПолучателя", nil) и Данные.НайтиПоле("AcceptorAccRef", nil) тогда
            Данные.Поле("AcceptorAccRef").КакЦелое := ВремСС.Поле("СчетПолучателя").КакЦелое;
          Данные.Сохранить;
          Данные.Следующая;
        конец;
        Данные.Фильтр := "";
        Данные.Filtered := Ложь;
        ВремСС.Следующая;
      конец;
    обязательно
      УдалитьОбъект(ВремСС);
      ДанныеОтчета.Фильтр := "";
      Данныеотчета.Filtered := Ложь;
    конец;
  конец;
конец;


функция ПолучитьКредитыОсновнойДолг(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.DestroyFields;
  
  ВспомСД := СоздатьСтатическиеДанные;
  Коллекция.Значение("СПлатежками") := "";
  если (Коллекция.Значение("ИндексыДанных") = 132) и (Коллекция.Значение("ДатаУчетаТип") &lt;&gt; 1) тогда
    Коллекция.Значение("СПлатежками") := 1;
  ВспомСД.Запрос := ЗапросКредитыОсновнойДолг(Коллекция);
  ПолучитьДанные(ВспомСД, Коллекция);
  
  Данные.ПрисвоитьПоля(ВспомСД);
  Данные.Запрос := "";
  Данные.Открыть;
  Данные.Закачать(ВспомСД);
  
  если (Коллекция.Значение("ИндексыДанных") = 132) и (Коллекция.Значение("ДатаУчетаТип") &lt;&gt; 1) тогда
  начало
    ВспомСД.Закрыть;
    Коллекция.Значение("СПлатежками") := 2;
    ВспомСД.Запрос := ЗапросКредитыОсновнойДолг(Коллекция);
    ПолучитьДанные(ВспомСД, Коллекция);
    Данные.Закачать(ВспомСД);
  конец;  
конец;

функция ПолучитьКредитыНачисленныеПроценты(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.DestroyFields;

  Данные.Запрос := ЗапросКредитыНачисленныеПроценты(Коллекция);
  НастроитьПараметры(Данные, Коллекция);
  ПолучитьДанные(Данные, Коллекция);
конец;

функция ПолучитьКредитыУплаченныеПроценты(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.DestroyFields;
  
  Коллекция.Значение("СПлатежками") := 0;
  ВспомСД := СоздатьСтатическиеДанные;
  ВспомСД.Запрос := ЗапросКредитыУплаченныеПроценты(Коллекция);
  ПолучитьДанные(ВспомСД, Коллекция);
  
  Данные.ПрисвоитьПоля(ВспомСД);
  Данные.Запрос := "";
  Данные.Открыть;
  Данные.Закачать(ВспомСД);
  
  если Коллекция.Значение("ДатаУчетаТип") = 0 тогда
  начало
    ВспомСД.Закрыть;
    Коллекция.Значение("СПлатежками") := 1;
    ВспомСД.Запрос := ЗапросКредитыУплаченныеПроценты(Коллекция);
    ПолучитьДанные(ВспомСД, Коллекция);
    Данные.Закачать(ВспомСД);
  конец;
конец;

// Получение курсовой разницы
функция ПолучитьКредитыКурсоваяРазница(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Очистить;
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := ЗапросКредитыКурсоваяРазница(Коллекция);
  НастроитьПараметры(Данные, Коллекция);
  ПолучитьДанные(Данные, Коллекция);
конец;

функция ПолучитьКредитыГрафики(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Очистить;
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := ЗапросКредитыГрафики(Коллекция);
  НастроитьПараметры(Данные, Коллекция);
  ПолучитьДанные(Данные, Коллекция);
конец;


// Получаем записи из Погашения, где стоят плановые даты
функция ПолучитьКредитыПлановоеПогашение(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Очистить;
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := ЗапросКредитыПлановоеПогашение(Коллекция);
  НастроитьПараметры(Данные, Коллекция);
  ПолучитьДанные(Данные, Коллекция);
конец;

// Получаем даты из Начисления%, но в виде, как будто из графика уплаты %
функция ПолучитьКредитыПлановаяУплатаПроцентов(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Очистить;
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := ЗапросКредитыПлановаяУплатаПроцентов(Коллекция);
  НастроитьПараметры(Данные, Коллекция);
  ПолучитьДанные(Данные, Коллекция);
конец;


// ======================================== Полезные функции ======================================= //

функция ОбъединитьЧерезЗапятую(Строка1, Строка2: строка): строка;
начало
  Результат := Строка1;
  если УбратьПробелы(Результат) = ""
  тогда
    Результат := Строка2
  иначе
    если УбратьПробелы(Строка2) &lt;&gt; "" тогда
      Результат := Результат + "," + Строка2; 
конец;

функция ПолучитьКурсНаДату(КодВалюты, Дата: целое): дробное;
переменные
  В: Выборка;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос :=  "select cur1.exchange Exchange, cur1.dat Dat from CURRENCYEXCHANGE cur1"+#13#10+
               " where dat = (select max(DAT)"+#13#10+
               " from CURRENCYEXCHANGE cur2"+#13#10+
               " where (cur2.CURRENCY = " + ЦелоеВСтроку(КодВалюты) + ")and(cur2.CURRENCY=cur1.CURRENCY)" + 
               " and (cur2.Dat &lt;=" + ЦелоеВСтроку(Дата) + "))";
  В.Открыть;
  Результат := В.Поле("Exchange").КакДробное;              
конец;
</value>
    <param value="ЗапросыКредиты2.abl" type="3" name="Export">PARFENOV\parfenovmv\16.03.2006 14:14:37</param>
    <param value="ЗапросыКредиты2.abl" type="3" name="version">36.042.03</param>
    <param value="ЗапросыКредиты2.abl" type="3" name="crc32">$59AE8280</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыОбеспечение.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\Запросы\ЗапросыКредиты2.abl";
включить "\макросы\Запросы\ЗапросыСсуды.abl";

константы
  nl = #13#10;
  МаппингОбеспечение1 = 'КодЗаписи=co.id,КодДокумента=lc.ID,ИндексыДанных=co.ProgIndex,Район=lc.RegionCLS,Мероприятие=lc.Fact,ТипОбеспечения=co.CollateralType%d,';
  МаппингОбеспечение2 = 'Бюджет=lc.BudgetRef%d,ОргСсылка=lc.Org_Ref,Мероприятие=lc.Fact,ЛицСчет=lc.FACIALACC_CLS,ВидЗаим=lc.DebtType,ВидСсуды=lc.LoanType%d,ТипОрг=o.Org_CLS%d,';
  МаппингОбеспечение3 = 'Бюджет=co.BUDGETREF,СписокДоговоровПоКредитамИГарантиям=lc.id,СписокДоговоровПоКредитам=lc.id,СписокДоговоровПоГарантиям=lc.id,СписокДоговоровПоСсудам=lc.id';

// 
функция ЗапросОбеспечение(Коллекция: IVariables): строка;
переменные
  запрос, комментарий: строка;
  ОгрБазовые: строка;
  Прогресс: IProgress;
  ОснСчет: строка;
начало
  // Получаем коментарий запроса
  Комментарий := Коллекция.Values('КоментарийСекции');
  если (УбратьПробелы(Комментарий) = '') тогда
    начало
      Комментарий := 'Cекция обеспечение гарантий и кредитов';
    конец иначе
    начало
      Коллекция.Values('КоментарийСекции') := '';
    конец;
  // отображаем комментарий на Progress`e
  Прогресс := Progress;
  Прогресс.SetMessage(Комментарий);
  Прогресс.SetProgress(0);

   // Формируем ограничение по классификации
  ОгрБазовые := Ограничение(МаппингОбеспечение1 + МаппингОбеспечение2 + МаппингОбеспечение3, Коллекция);

  ОснСчет := ПолучитьКонстантуКэш("",-1, 2, 0);
  если ОснСчет="" тогда
    ОснСчет := "Cast( NULL as integer)";

  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    ОгрБазовые := ОгрБазовые + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";
  
  ОгрБазовые := ОгрБазовые + СформироватьОграничениеПоСостояниюДоговора(Коллекция); 
  ОгрБазовые := ОгрБазовые + СформироватьОграничениеПоСостояниюДоговоров(Коллекция); 

  // формирование запроса
  Запрос := "Select" + nl +
    "  lc.id id, lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma," + nl +
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART CaptionPeriodStart, lc.PERIODLENGTH, " + nl +
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE," + nl +
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE," + nl +
    "  lc.PERCENT, lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl +
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT, lc.ACCREF," + nl + 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH," + nl + 
    "  co.ID DetID, co.BUDGETREF, co.PROGINDEX, co.SUMMA, co.NOMINALSUMMA, co.ORG_REF GuarantOrg_Ref," + nl +
    "  co.RECORDINDEX, co.COLLATERALTYPE, co.NAME, co.NOTE DetNote,"
    "  co.CURRENCYCLS, co.CURRENCYSUMMA," + nl +
       ОснСчет + " acc1, " + ОснСчет + " acc2" + nl +
    "from" + nl +
    "  Collateral co" + nl + 
    "  inner join LoanCredit lc on (co.RecordIndex = lc.ID)" + nl +
    "  left join Organizations o on (o.id = lc.Org_Ref)" + nl +
    "where " + nl +
    "  (1 = 1)" + nl +
    ОгрБазовые;

  если Коллекция.Values("ПоляВыборки")&lt;&gt;"" тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), "@"); 
  
  результат := "{/*" + комментарий + "*/" + nl + запрос + "}";
конец;

функция ПолучитьОбеспечение(Данные: СтатическиеДанные; Коллекция:IVariables);    
начало
  попытка
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex,Credit,Debit";
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]" + ЗапросОбеспечение(Коллекция);
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыОбеспечение.abl" type="3" name="Export">MARAEVA\baranova\27.07.2007 16:54:44</param>
    <param value="ЗапросыОбеспечение.abl" type="3" name="version">36.042.03</param>
    <param value="ЗапросыОбеспечение.abl" type="3" name="crc32">$B228BDB2</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыСтавки.abl">// НПО Криста, 09.06.2004
// Ефименков Алексей
// Запрос для извлечения ставок процентов и пеней для кредитов, ссуд и гарантиев
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\Запросы\ЗапросыКредиты2.abl";

константы
  nl = #13#10;
  МаппингСтавки1 = 'КодЗаписи=pj.id,КодДокумента=lc.ID,ИндексыДанных=pj.ProgIndex,Район=lc.RegionCLS,Мероприятие=lc.Fact,ДатаПринятия=lc.AcceptDate,';
  МаппингСтавки2 = 'Бюджет=lc.BudgetRef%d,ОргСсылка=lc.Org_Ref,Мероприятие=lc.Fact,ЛицСчет=lc.FACIALACC_CLS,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитамИГарантиям=lc.id,';

функция ЗапросСтавки(Коллекция: IVariables): строка;
переменные
  запрос, комментарий: строка;
  ОгрБазовые, ОгрПоследняяСтавка: строка;
  ОснСчет: строка;
начало
  // Получаем коментарий запроса
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Ставки процентов/пени");

   // Формируем ограничение по классификации
  ОгрБазовые := Ограничение(МаппингСтавки1 + МаппингСтавки2, Коллекция);

  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    ОгрБазовые := ОгрБазовые + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";

  ОснСчет := ПолучитьКонстантуКэш("",-1, 2, 0);
  если ОснСчет = "" тогда
    ОснСчет := "Cast( NULL as integer)";
  ОгрБазовые := ОгрБазовые + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  
  если Коллекция.Значение("ПоследняяСтавка") = 1 
    тогда ОгрПоследняяСтавка := " and (pj.IsLast = 1) "
    иначе ОгрПоследняяСтавка := "";    
  
  // Обязательно разобраться с ДетИД и МастерИД
  
  // формирование запроса
  Запрос := "Select" + nl +
    "  lc.ID, lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma," + nl +
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART CaptionPeriodStart, lc.PERIODLENGTH, " + nl +
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE," + nl +
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE," + nl +
    "  lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl +
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT, lc.ACCREF," + nl + 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH," + nl + 
    "  pj.ID DetID, pj.PROGINDEX, pj.Percent, pj.AcceptDate, lc.AcceptDate CaptionAcceptDate, " + nl +
    "  pj.RECORDINDEX, pj.NOTE DetNote," + nl +
       ОснСчет + " acc1, " + ОснСчет + " acc2" + nl +
    "from" + nl +
    "  PercentJournal pj" + nl + 
    "  inner join LoanCredit lc on (pj.RecordIndex = lc.ID)" + nl +
    "where " + nl +
    "  (1 = 1)" + nl +
    ОгрБазовые + nl + 
    ОгрПоследняяСтавка;

  если Коллекция.Values("ПоляВыборки")&lt;&gt;"" тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), "@"); 
  
  результат := "{/*" + комментарий + "*/" + nl + запрос + "}";
конец;

функция ПолучитьСтавки(Данные: СтатическиеДанные; Коллекция:IVariables);    
начало
  попытка
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex";
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]" + ЗапросСтавки(Коллекция);
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыСтавки.abl" type="3" name="Export">MARAEVA\baranova\27.07.2007 16:54:33</param>
    <param value="ЗапросыСтавки.abl" type="3" name="version">36.042.03</param>
    <param value="ЗапросыСтавки.abl" type="3" name="crc32">$5295B59D</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Кредиты2">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\ABLTools.lib';
//включить '\Макросы\Запросы\ЗапросыКредиты.abl';
включить '\Макросы\Запросы\ЗапросыКредиты2.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Запросы\ЗапросыОбеспечение.abl';
включить '\Макросы\Запросы\ЗапросыСтавки.abl';
включить '\Макросы\Запросы\ЗапросыДопРасходы.abl';
включить '\Макросы\Запросы\ЗапросыДоговора.abl';
включить '\Макросы\Запросы\ЗапросыГосДолгЗаголовок.abl';

Кредиты(Параметры: IVariables);
  константы
    УзелПараметров = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  
  // Маппинги
  Смещение: целое;

  
  функция мОснКредиты: строка;
  начало
    Результат := "КредитыИД=id,РекордИндекс=id,КодДокумента=id,ИндексПрограммы=AlgIndex,ИндексДанных=ProgIndex,"
      + "ИндексыДанных=ProgIndex,КодЗаписи=DetID,Дата=AcceptDate,ДатаУчета=RecordDate,Счет1=Acc,Счет2=Acc2,"
      + "Район=RegionCLS,Мероприятие=Fact,ЛицевойСчет=FacialAcc_CLS,ВидКредита=DebtType,СубКД=SubKD,ТипСредств=MeansType,"
      + "ИсточникВнутрФинансирования=IFS,ИсточникВнутрФинансированияКлюч=IFSID,Организация=Org_Ref,ОргСсылка=Org_Ref,НомерДоговора=Number,"
      + "Примечание=Note,КодВалюты=CurrencyCLS,ДатаДоговора=DateInput,СуммаВВалюте=CurrencySumma,СуммаДоговораВВалюте=CaptionCURRENCYSUMMA,ДатаПролонгирования=LongDate,ФедеральныеСредства=FederalFundsRef,"
      + "ПримечаниеДет=DetNote,НачалоПериода=PeriodStart,КонецПериода=PeriodEnd,ТипГода=YearType,ВидЗаим=DebtType,ВидДоговора=ContractType,"
      + "Процент=Percent,БухПроводка=BuhPaymentCLS,СуммаДоговора=CaptionSumma,НомерДетализации=DetNumber,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,"
      + "СчетКредитора=AccRef,СчетПолучателя=AcceptorAccRef,ДатаОкончанияПлан=DateAmortization,ДатаПринятия=CaptionAcceptDate,ТипДокОснования=DocBase,"
      + "ДатаДокумента=DateInput,НомерДокумента=Number,СуммаЗаголовка=CaptionSumma,ВидОбеспечения=CollateralType,НомерЗаписи=SourceDocNumber,ПериодичностьУплатыПроцентов=PAYPERCENTPERIODLENGTH,"
      + "КолвоОблигацийПоДоговору=BondCountCaption,НомЦенаОблигации=BondCostCaption,КолвоОблигаций=BondCount,"
      + "КВР=KVR,КЭСР=KESR,КЦСР=KCSR,КВСР=KVSR,КФСР=KFSR,СубКЭСР=SubKESR,ТипФинансирования=FinType,ТипДокумента=DOCTYPE,РСФО=DFAccount,ИсточникФинансирования=FinSource,РайонИзДетали=DetailRegionCLS";
  конец; 
  
  функция ЗакачиватьПустыеДоговора: целое;
  начало
    Результат := Реестр.Узел(УзелПараметров).Значение("Закачивать пустые договора").КакФлаг;
  конец; 

  функция ПроверитьСчет(Счет: целое; Коллекция: IVariables): целое;
  переменные
    ПреобразованныйСчетСтрокой: строка; 
  начало
    Результат := Ложь;
    если Позиция("=", Коллекция.Значение("СинтетСчет")) = 0 тогда
    начало
    ПреобразованныйСчетСтрокой := ФорматироватьКлассификатор(КлассификаторВЧисло(Коллекция.Значение("СинтетСчет"), "0000.00"), "99.9.9.99");
      если (Счет &gt;= КлассификаторВЧисло(Коллекция.Значение("СинтетСчет"), "0000.00")) и
        (Счет &lt;= КлассификаторВЧислоПоднять(ПреобразованныйСчетСтрокой, "99.9.9.99"))
      тогда Результат := Истина;  
    конец
    иначе начало
      если (позиция(ФорматироватьКлассификатор(Счет, "000000"), Коллекция.Значение("СинтетСчет")) &gt; 0) тогда
        Результат := Истина;
    конец;
  конец;

  функция ПеренестиДанныеСоСчетами(Данные: СтатическиеДанные; Коллекция: IVariables);
  переменные
    ЗначПоля: дробное;
  начало
    если Данные.НайтиПоле("ИндексыДанных", nil) тогда
    // Нам нужно в курсовой разнице запретить переворот проводок, а т.к. они приходят перевернутыми
    начало
      Данные.Фильтр := "(ИндексыДанных = 331) and ((Дебет &lt;&gt; 0)or(ДебетДо&lt;&gt;0))";
      Данные.ВНачало;
      пока (не Данные.ВКонце) или (Данные.ЧислоЗаписей &gt; 0) делать 
      начало
        Данные.Редактировать;
        Данные.Поле("Кредит").КакДробное := Данные.Поле("Дебет").КакДробное;
        Данные.Поле("Дебет").КакДробное := 0;
        Данные.Поле("КредитДо").КакДробное := Данные.Поле("ДебетДо").КакДробное;
        Данные.Поле("ДебетДо").КакДробное := 0;
        Данные.Сохранить;
        Данные.ВНачало;
      конец;
      Данные.Фильтр := "";
    конец;
    если Данные.НайтиПоле("ИндексыДанных", nil) тогда
      Данные.Фильтр := "ИндексыДанных in [131,132,133,134,135,136,137,138,139,331,332,333,334,335,336,337,338,339]";  
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      Данные.Редактировать;
      если ПроверитьСчет(Данные.Поле("Счет2").КакЦелое, Коллекция) тогда
      начало
        ЗначПоля := Данные.поле("КредитДо").КакДробное;
        Данные.поле("КредитДо").КакДробное := Данные.поле("ДебетДо").КакДробное;
        Данные.Поле("ДебетДо").КакДробное := ЗначПоля;
        ЗначПоля := Данные.поле("Кредит").КакДробное;
        Данные.поле("Кредит").КакДробное := Данные.поле("Дебет").КакДробное;
        Данные.Поле("Дебет").КакДробное := ЗначПоля;

        Данные.Поле("СинтСчет").КакЦелое := Данные.Поле("Счет2").КакЦелое
      конец иначе
        Данные.Поле("СинтСчет").КакЦелое := Данные.Поле("Счет1").КакЦелое;
      Данные.Сохранить;  
      Данные.Следующая;
    конец;
    Данные.Фильтр := "";
  конец;
  
  функция ПриделатьКурсыВалют(Данные: СтатическиеДанные);
  переменные
    Курсы: СтатическиеДанные;
    Дата: целое;
  начало
    Курсы := СоздатьСтатическиеДанные;
    Курсы.СоединитьБД;
    попытка
      Курсы.Запрос := "[PumpData] {"
                        + "select Exchange, Currency, Dat from CurrencyExchange"
                        + "}";
      Курсы.Открыть;
      Курсы.Индекс := "Currency;Dat";
      Данные.ВНачало;
      пока не Данные.ВКонце делать
      начало
        если Данные.Поле("КодВалюты").КакСтрока&lt;&gt;'' тогда начало
          если ВыполнятьСекцию(Данные, "Дата") тогда
            Дата := Данные.Поле("Дата").КакЦелое
          иначе
            Дата := Данные.Поле("ДатаУчета").КакЦелое;  
          Курсы.Фильтр := "(Currency = " + Данные.Поле("КодВалюты").КакСтрока + ") and (Dat &lt;= " + ЦелоеВСтроку(Дата) + ")";
          Курсы.Filtered := Истина;
          Курсы.Last;
          Данные.Редактировать;
          Данные.Поле("КурсВалюты").КакДробное := Курсы.Поле("Exchange").КакДробное;
        конец;
        Данные.Следующая;
      конец;                  
    обязательно
      УдалитьОбъект(Курсы);
    конец;
  конец;
  
  // Находим период дат, с которыми мы работает
  функция ПолучитьОграниченияПоДате(Коллекция: IVariables);
  переменные
    НачальнаяДата, КонечнаяДата: целое;
    ОднаДата: Целое;
  начало
    НачальнаяДата := 0;
    КонечнаяДата := 99999999;

    // Если на панели параметров есть год и/или месяц
    если УбратьПробелы(Коллекция.Значение("Год")) &lt;&gt; "" тогда
      если УбратьПробелы(Коллекция.Значение("Месяц")) &lt;&gt; "" тогда
      начало
        НачальнаяДата := Коллекция.Значение("Год") * 10000 + Коллекция.Значение("Месяц") * 100;
        КонечнаяДата := НачальнаяДата + 99;
      конец
      иначе начало
        // Месяц не указан
        НачальнаяДата := Коллекция.Значение("Год") * 10000;
        КонечнаяДата := НачальнаяДата + 9999;
      конец;

    // Если на панели параметров есть дата С..
    если УбратьПробелы(Коллекция.Значение("НачальнаяДата")) &lt;&gt; "" тогда
      НачальнаяДата := StrToDateEx(Коллекция.Значение("НачальнаяДата"));

    // Если на панели параметров есть дата По..
    если УбратьПробелы(Коллекция.Значение("КонечнаяДата")) &lt;&gt; "" тогда
      КонечнаяДата := StrToDateEx(Коллекция.Значение("КонечнаяДата"));

    // Если на панели параметров есть ограничение "Дата"
    если УбратьПробелы(Коллекция.Значение("ОднаДата")) &lt;&gt; "" тогда
    начало
      // "ОднаДата" может и так и так передаваться :)
      если Позиция('.', Коллекция.Значение("ОднаДата")) &gt; 0 тогда
        ОднаДата := СтрокаВРасширеннуюДату(Коллекция.Значение("ОднаДата"))
      иначе
        ОднаДата := Коллекция.Значение("ОднаДата");

      Коллекция.Значение("ОднаДата") := РасширеннаяДатаВСтроку(ОднаДата);  
      НачальнаяДата := ОднаДата цел 10000 * 10000;
      КонечнаяДата := ОднаДата;
      если Коллекция.Значение("ЗаДень") = 1 тогда
        НачальнаяДата := КонечнаяДата;
    конец;    
    Коллекция.Значение("ДатаНачалаПериода") := НачальнаяДата;
    Коллекция.Значение("ДатаКонцаПериода") := КонечнаяДата;
    если Коллекция.Значение("ВариантКонцаПериода") = 1 тогда
    начало
      Коллекция.Значение("ДатаКонцаПериода") := Коллекция.Значение("ДатаКонцаПериода") - 1;
      Коллекция.Значение("ДатаНачалаПериода") := Коллекция.Значение("ДатаНачалаПериода") - 1;
    конец;
    если Коллекция.Значение("ВариантКонцаПериода") = 2 тогда
      Коллекция.Значение("ДатаКонцаПериода") := ((Коллекция.Значение("ДатаКонцаПериода") цел 100) - 1) * 100 + 99;
  конец;

  функция ВыполнитьСекцииКредиты(Данные: СтатическиеДанные; Коллекция: IVariables);
  переменные
    ДанныеОднойСекции, ВспомСД: СтатическиеДанные;
    ЛокКоллекция: IVariables;
    Маппинг: строка;
  начало
    ДанныеОднойСекции := СоздатьСтатическиеДанные;
    ДанныеоднойСекции.СоединитьБД;
    ВспомСД := СоздатьСтатическиеДанные;
    ВспомСД.ПрисвоитьПоля(Данные);
    ВспомСД.Открыть;
    ВспомСД.Закачать(Данные);
    Данные.Закрыть;
    если не ВыполнятьСекцию(Данные,"РекордИндекс") тогда
      Данные.ДобавитьЦелоеПоле("РекордИндекс");
    если не ВыполнятьСекцию(Данные, "Счет1") тогда
      Данные.ДобавитьЦелоеПоле("Счет1");
    если не ВыполнятьСекцию(Данные,"Счет2") тогда
      Данные.ДобавитьЦелоеПоле("Счет2");
    Данные.Открыть;
    Данные.Закачать(ВспомСД);
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);
    
    попытка
      ПолучитьОграниченияПоДате(ЛокКоллекция);
      // ==================================== Получаем данные до указанного периода ================ //
      ЛокКоллекция.Значение("НачальнаяДата") := 0;
      ЛокКоллекция.Значение("КонечнаяДата") := ЛокКоллекция.Значение("ДатаНачалаПериода") - 1;
      
      ЛокКоллекция.Значение("ДатаНачалаДоговора") := ЛокКоллекция.Значение("ДатаНачалаПериода");
      ЛокКоллекция.Значение("ДатаКонцаДоговора") := ЛокКоллекция.Значение("ДатаКонцаПериода"); 
      Смещение := 0; 
      если УбратьПробелы(ЛокКоллекция.Значение("ОднаДата") &lt;&gt; "") тогда
      начало
        ЛокКоллекция.Значение("ДатаНачалаДоговора") := StrToDateEx(ЛокКоллекция.Значение("ОднаДата"));
        ЛокКоллекция.Значение("ДатаКонцаДоговора") := ЛокКоллекция.Значение("ДатаНачалаДоговора") - 1;
        Смещение := 1; 
      конец;
      
      если Реестр.Узел(УзелПараметров).Значение("По дате учета").КакФлаг тогда
        ЛокКоллекция.Значение("ДатаУчетаТип") := 1;

      /*
      если Коллекция.Значение("ВариантКонцаПериода") = 1 тогда
      начало
        ЛокКоллекция.Значение("ДатаНачалаДоговора") := ЛокКоллекция.Значение("ДатаНачалаПериода") + 1;
        ЛокКоллекция.Значение("ДатаКонцаДоговора") := ЛокКоллекция.Значение("ДатаКонцаПериода") + 1;  
      конец;
      */

      // Выбираем полученоДо
      если ВыполнятьСекцию(Данные, "ПолученоДо, КредитДо, КредитыПолученоДо, КредитыКредитДо") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc,ПолученоДо=Credit,КредитДо=Credit,КредитыПолученоДо=Credit,КредитыКредитДо=Credit,РекордИндекс=RecordIndex", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "131";
        ПолучитьКредитыОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Погашено до
      если ВыполнятьСекцию(Данные, "ПогашеноДо, ДебетДо, КредитыПогашеноДо, КредитыДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc,ПогашеноДо=Debit,ДебетДо=Debit,КредитыПогашеноДо=Debit,КредитыДебетДо=Debit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "132";
        ПолучитьКредитыОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // начислено проц до
      если ВыполнятьСекцию(Данные, "НачисленоПроцДо, КредитДо, КредитыКредитДо") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,НачисленоПроцДо=Summa,КредитДо=Summa,КредитыКредитДо=Summa", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "134";               
        ПолучитьКредитыНачисленныеПроценты(ДанныеОднойСекции, ЛокКоллекция);
        если (ЛокКоллекция.Значение("СубКД") &lt;&gt; "") или (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
          или ВыполнятьСекцию(Данные,"СубКД, ИсточникВнутрФинансирования") тогда
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // УплаченоПроцДо
      если ВыполнятьСекцию(Данные, "УплаченоПроцДо, ДебетДо, КредитыДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,УплаченоПроцДо=Credit,ДебетДо=Credit,КредитыДебетДо=Credit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "133";
        ПолучитьКредитыУплаченныеПроценты(ДанныеОднойСекции, ЛокКоллекция);
        если (ЛокКоллекция.Значение("СубКД") &lt;&gt; "") или (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
          или ВыполнятьСекцию(Данные, "СубКД, ИсточникВнутрФинансирования") тогда
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // НачислПениДо
      если ВыполнятьСекцию(Данные, "НачисленоПениДо, КредитДо, КредитыКредитДо") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,НачисленоПениДо=Summa,КредитДо=Summa,КредитыКредитДо=Summa", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "335,336";
        ПолучитьКредитыНачисленныеПроценты(ДанныеОднойСекции, ЛокКоллекция);
        если (ЛокКоллекция.Значение("СубКД") &lt;&gt; "") или (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
          или ВыполнятьСекцию(Данные, "СубКД, ИсточникВнутрФинансирования") тогда
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // УплПениДо
      если ВыполнятьСекцию(Данные, "УплаченоПениДо, ДебетДо, КредитыДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,УплаченоПениДо=Credit,ДебетДо=Credit,КредитыДебетДо=Credit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "338,339";
        ПолучитьКредитыУплаченныеПроценты(ДанныеОднойСекции, ЛокКоллекция);
        если (ЛокКоллекция.Значение("СубКД") &lt;&gt; "") или (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
          или ВыполнятьСекцию(Данные, "СубКД, ИсточникВнутрФинансирования") тогда
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Плановое погашение. Выбирается в зависимости от настроек реестра
      если ВыполнятьСекцию(Данные, "ПогашеноПоПлануДо") тогда
      начало
        если Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг тогда
        начало
          Маппинг := FixPumpMap(мОснКредиты + ",ПогашеноПоПлануДо=Summa", Данные);
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
          ЛокКоллекция.Значение("ИндексыДанных") := "137";
          ПолучитьКредитыГрафики(ДанныеОднойСекции, ЛокКоллекция);
          Данные.PumpData(ДанныеОднойСекции, Маппинг);
        конец
        иначе
        начало
          Маппинг := FixPumpMap(мОснКредиты + ",ПогашеноПоПлануДо=Debit", Данные);
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
          ЛокКоллекция.Значение("ИндексыДанных") := "132";
          ПолучитьКредитыПлановоеПогашение(ДанныеОднойСекции, ЛокКоллекция);  
          Данные.PumpData(ДанныеОднойСекции, Маппинг);
        конец;
      конец;

      // Плановая уплата процентов. Выбирается в зависимости от настроек реестра
      если ВыполнятьСекцию(Данные, "УплаченоПроцПоПлануДо") тогда
      начало
        если Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
        начало
          Маппинг := FixPumpMap(мОснКредиты + ",УплаченоПроцПоПлануДо=Summa", Данные);
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
          ЛокКоллекция.Значение("ИндексыДанных") := "138";
          ПолучитьКредитыГрафики(ДанныеОднойСекции, ЛокКоллекция);
          Данные.PumpData(ДанныеОднойСекции, Маппинг);
        конец
        иначе
        начало
          Маппинг := FixPumpMap(мОснКредиты + ",УплаченоПроцПоПлануДо=Summa", Данные);
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
          ЛокКоллекция.Значение("ИндексыДанных") := "134";
          ПолучитьКредитыПлановаяУплатаПроцентов(ДанныеОднойСекции, ЛокКоллекция);  
          Данные.PumpData(ДанныеОднойСекции, Маппинг);
        конец;
      конец;

      // Курсовая разница по осн. долгу
      если ((Коллекция.Значение("ПоказыватьКурсовуюРазницу") = "Да") или ВыполнятьСекцию(Данные, "КурсРазницаОснДолгДо") или (Коллекция.Значение("Валюта") = ЦелаяКонстанта(19, 4))) 
        и (ВыполнятьСекцию(Данные, "ПолученоДо, ПогашеноДо, КредитДо, ДебетДо, КредитыКредитДо, КредитыДебетДо")) тогда
      начало
        Если  ВыполнятьСекцию(Данные, "КурсРазницаОснДолгДо")
          тогда Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc,КурсРазницаОснДолгДо=kyrssumma,ПолученоДо=0,ПогашеноДо=0,КредитДо=Credit,ДебетДо=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные)
          иначе Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc,ПолученоДо=Credit,ПогашеноДо=Debit,КредитДо=Credit,ДебетДо=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "331";
        ПолучитьКредитыКурсоваяРазница(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Курсовая разница по процентам
      если ((Коллекция.Значение("ПоказыватьКурсовуюРазницу") = "Да") или ВыполнятьСекцию(Данные, "КурсРазницаПроцДо")или (Коллекция.Значение("Валюта") = ЦелаяКонстанта(19, 4))) 
        и (ВыполнятьСекцию(Данные, "НачисленоПроцДо, УплаченоПроцДо, КредитДо, ДебетДо, КредитыКредитДо, КредитыДебетДо")) тогда
      начало
        Если  ВыполнятьСекцию(Данные, "КурсРазницаПроцДо")
          тогда Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,КурсРазницаПроцДо=kyrssumma,НачисленоПроцДо=0,УплаченоПроцДо=0,КредитДо=Credit,ДебетДо=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные)
          иначе Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,НачисленоПроцДо=Credit,УплаченоПроцДо=Debit,КредитДо=Credit,ДебетДо=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "332";
        ПолучитьКредитыКурсоваяРазница(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Курсовая разница по пеням
      если ((Коллекция.Значение("ПоказыватьКурсовуюРазницу") = "Да") или ВыполнятьСекцию(Данные, "КурсРазницаПениДо") или (Коллекция.Значение("Валюта") = ЦелаяКонстанта(19, 4))) 
        и (ВыполнятьСекцию(Данные, "НачисленоПениДо, УплаченоПениДо, КредитДо, ДебетДо, КредитыКредитДо, КредитыДебетДо")) тогда
      начало
        Если ВыполнятьСекцию(Данные, "КурсРазницаПениДо")
          тогда Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,КурсРазницаПениДо=kyrssumma,НачисленоПениДо=0,УплаченоПениДо=0,КредитДо=Credit,ДебетДо=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные)
          иначе Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,НачисленоПениДо=Credit,УплаченоПениДо=Debit,КредитДо=Credit,ДебетДо=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "333";
        ПолучитьКредитыКурсоваяРазница(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      если ВыполнятьСекцию(Данные, "КредитыДопРасходыДо,ДопРасходыДо") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",ДопРасходыДо=Credit,КредитыДопРасходыДо=Credit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := 341;
        ПолучитьДопРасходы(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // ============================================= Получаем данные за период ===================== //
      ЛокКоллекция.Значение("НачальнаяДата") := ЛокКоллекция.Значение("ДатаНачалаПериода");
      ЛокКоллекция.Значение("КонечнаяДата") := ЛокКоллекция.Значение("ДатаКонцаПериода") - Смещение;

      // Выбираем получено
      если ВыполнятьСекцию(Данные, "Получено, Кредит, КредитыПолучено, КредитыКредит") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc,Получено=Credit,Кредит=Credit,КредитыПолучено=Credit,КредитыКредит=Credit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "131";
        ПолучитьКредитыОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Погашено
      если ВыполнятьСекцию(Данные, "Погашено, Дебет, КредитыПогашено, КредитыДебет") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc,Погашено=Debit,Дебет=Debit,КредитыПогашено=Debit,КредитыДебет=Debit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "132";
        ПолучитьКредитыОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // начислено проц
      если ВыполнятьСекцию(Данные, "НачисленоПроц, Кредит, КредитыКредит") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,НачисленоПроц=Summa,Кредит=Summa,КредитыКредит=Summa", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "134";
        ЛокКоллекция.Значение("ИндексыДанныхСтавки") := "135";                                           
        ПолучитьКредитыНачисленныеПроценты(ДанныеОднойСекции, ЛокКоллекция);
        если (ЛокКоллекция.Значение("СубКД") &lt;&gt; "") или (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
          или ВыполнятьСекцию(Данные, "СубКД, ИсточникВнутрФинансирования") тогда
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // УплаченоПроц
      если ВыполнятьСекцию(Данные, "УплаченоПроц, Дебет, КредитыДебет") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",
        СинтСчет=Acc2,УплаченоПроц=Credit,Дебет=Credit,КредитыДебет=Credit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "133";
        ПолучитьКредитыУплаченныеПроценты(ДанныеОднойСекции, ЛокКоллекция);
        если (ЛокКоллекция.Значение("СубКД") &lt;&gt; "") или (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
          или ВыполнятьСекцию(Данные, "СубКД, ИсточникВнутрФинансирования") тогда
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // НачислПени
      если ВыполнятьСекцию(Данные, "НачисленоПени, Кредит, КредитыКредит") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,НачисленоПени=Summa,Кредит=Summa,КредитыКредит=Summa", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "335,336";
        ЛокКоллекция.Значение("ИндексыДанныхСтавки") := "136";                          
        ПолучитьКредитыНачисленныеПроценты(ДанныеОднойСекции, ЛокКоллекция);
        если (ЛокКоллекция.Значение("СубКД") &lt;&gt; "") или (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
          или ВыполнятьСекцию(Данные, "СубКД, ИсточникВнутрФинансирования") тогда
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // УплПени
      если ВыполнятьСекцию(Данные, "УплаченоПени, Дебет, КредитыДебет") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,УплаченоПени=Credit,Дебет=Credit,КредитыДебет=Credit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "338,339";
        ПолучитьКредитыУплаченныеПроценты(ДанныеОднойСекции, ЛокКоллекция);
        если (ЛокКоллекция.Значение("СубКД") &lt;&gt; "") или (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
          или ВыполнятьСекцию(Данные, "СубКД, ИсточникВнутрФинансирования") тогда
          ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Процентные ставки
      если ВыполнятьСекцию(Данные, "СтавкаПроц,Процент") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СтавкаПроц=Percent,Процент=Percent,КодДокумента=MasterID", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "135";
        ПолучитьСтавки(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Ставки пени
      если ВыполнятьСекцию(Данные, "СтавкаПениОснДолг") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СтавкаПениОснДолг=Percent", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "136";
        ПолучитьСтавки(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Ставки пени по процентам
      если ВыполнятьСекцию(Данные, "СтавкаПениПроц") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",СтавкаПениПроц=Percent", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "139";
        ПолучитьСтавки(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Плановое погашение. Выбирается в зависимости от настроек реестра
      если ВыполнятьСекцию(Данные, "ПогашеноПоПлану") тогда
      начало
        если Реестр.Узел(УзелПараметров).Значение("Использовать график погашения").КакФлаг тогда
        начало
          Маппинг := FixPumpMap(мОснКредиты + ",ПогашеноПоПлану=Summa", Данные);
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
          ЛокКоллекция.Значение("ИндексыДанных") := "137";
          ПолучитьКредитыГрафики(ДанныеОднойСекции, ЛокКоллекция);
          Данные.PumpData(ДанныеОднойСекции, Маппинг);
        конец
        иначе
        начало
          Маппинг := FixPumpMap(мОснКредиты + ",ПогашеноПоПлану=Debit", Данные);
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
          ЛокКоллекция.Значение("ИндексыДанных") := "132";
          ПолучитьКредитыПлановоеПогашение(ДанныеОднойСекции, ЛокКоллекция);  
          Данные.PumpData(ДанныеОднойСекции, Маппинг);
        конец;
      конец;

      // Плановая уплата процентов. Выбирается в зависимости от настроек реестра
      если ВыполнятьСекцию(Данные, "УплаченоПроцПоПлану") тогда
      начало
        если Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
        начало
          Маппинг := FixPumpMap(мОснКредиты + ",УплаченоПроцПоПлану=Summa", Данные);
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
          ЛокКоллекция.Значение("ИндексыДанных") := "138";
          ПолучитьКредитыГрафики(ДанныеОднойСекции, ЛокКоллекция);
          Данные.PumpData(ДанныеОднойСекции, Маппинг);
        конец
        иначе
        начало
          Маппинг := FixPumpMap(мОснКредиты + ",УплаченоПроцПоПлану=Summa", Данные);
          ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
          ЛокКоллекция.Значение("ИндексыДанных") := "134";
          ПолучитьКредитыПлановаяУплатаПроцентов(ДанныеОднойСекции, ЛокКоллекция);  
          Данные.PumpData(ДанныеОднойСекции, Маппинг);
        конец;
      конец;

      // Курсовая разница по осн. долгу
      если ((Коллекция.Значение("ПоказыватьКурсовуюРазницу") = "Да") или ВыполнятьСекцию(Данные, "КурсРазницаОснДолг") или (Коллекция.Значение("Валюта") = ЦелаяКонстанта(19, 4))) 
      и (ВыполнятьСекцию(Данные, "Получено, Погашено, Кредит, Дебет, КредитыКредит, КредитыДебет")) тогда
      начало
        Если  ВыполнятьСекцию(Данные, "КурсРазницаОснДолг")
          тогда Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc,КурсРазницаОснДолг=kyrssumma,Получено=0,Погашено=0,Кредит=Credit,Дебет=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные)
          иначе Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc,Получено=Credit,Погашено=Debit,Кредит=Credit,Дебет=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "331";
        ПолучитьКредитыКурсоваяРазница(ДанныеОднойСекции, ЛокКоллекция);
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Курсовая разница по процентам
      если ((Коллекция.Значение("ПоказыватьКурсовуюРазницу") = "Да") или ВыполнятьСекцию(Данные, "КурсРазницаПроц") или (Коллекция.Значение("Валюта") = ЦелаяКонстанта(19, 4)))
         и (ВыполнятьСекцию(Данные, "НачисленоПроц, УплаченоПроц, Кредит, Дебет, КредитыКредит, КредитыДебет")) тогда
      начало
        Если  ВыполнятьСекцию(Данные, "КурсРазницаПроц")
          тогда Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,КурсРазницаПроц=kyrssumma,НачисленоПроц=0,УплаченоПроц=0,Кредит=Credit,Дебет=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные)
          иначе Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,НачисленоПроц=Credit,УплаченоПроц=Debit,Кредит=Credit,Дебет=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "332";
        ПолучитьКредитыКурсоваяРазница(ДанныеОднойСекции, ЛокКоллекция);
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Курсовая разница по пеням
      если ((Коллекция.Значение("ПоказыватьКурсовуюРазницу") = "Да") или ВыполнятьСекцию(Данные, "КурсРазницаПени") или (Коллекция.Значение("Валюта") = ЦелаяКонстанта(19, 4))) 
        и (ВыполнятьСекцию(Данные, "НачисленоПени, УплаченоПени, Кредит, Дебет, КредитыКредит, КредитыДебет")) тогда
      начало
        Если ВыполнятьСекцию(Данные, "КурсРазницаПени")
          тогда Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,КурсРазницаПени=kyrssumma,НачисленоПени=0,УплаченоПени=0,Кредит=Credit,Дебет=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные)
          иначе Маппинг := FixPumpMap(мОснКредиты + ",СинтСчет=Acc2,НачисленоПени=Credit,УплаченоПени=Debit,Кредит=Credit,Дебет=Debit,КредитыКредитДо=Credit,КредитыДебетДо=Debit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "333";
        ПолучитьКредитыКурсоваяРазница(ДанныеОднойСекции, ЛокКоллекция);
        ДобавитьВПроцентыСубКДиИстВнутрФин(Данные, ДанныеОднойСекции);        
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      если ВыполнятьСекцию(Данные, "ПогашениеПоГрафику") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",ПогашениеПоГрафику=Summa", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "137";
        ПолучитьКредитыГрафики(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Обеспечение
      если Данные.НайтиПоле("КредитыСуммаОбеспечения", nil) или Данные.НайтиПоле("КредитыНоминальнаяСуммаОбеспечения", nil) тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",КредитыСуммаОбеспечения=Summa,КредитыНоминальнаяСуммаОбеспечения=NominalSumma,ИмяОбеспечения=Name,ОргСсылкаПоручитель=GuarantOrg_Ref,КодЗаписи=DetID", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "340";
        ПолучитьОбеспечение(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
        
      если ВыполнятьСекцию(Данные, "КредитыДопРасходы,ДопРасходы") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",ДопРасходы=Credit,КредитыДопРасходы=Credit", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := 341;
        ПолучитьДопРасходы(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // дополнительные договора
      если ВыполнятьСекцию(Данные, "НомерДополнительногоДоговора") тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты + ",НомерДополнительногоДоговора=CONTRACTNUMBER", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := 342;
        ПолучитьДоговора(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      если ВыполнятьСекцию(Данные, "НомерДокумента,Организация,КодДокумента") и ЗакачиватьПустыеДоговора тогда
      начало
        Маппинг := FixPumpMap(мОснКредиты, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := 130;
        ПолучитьЗаголовкиГосДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Перенести данные со счетами
      если Коллекция.Значение("СинтетСчет") &lt;&gt; "" тогда
        ПеренестиДанныеСоСчетами(Данные, Коллекция);
      если ВыполнятьСекцию(Данные, "КурсВалюты") тогда
        ПриделатьКурсыВалют(Данные); 
    обязательно
      УдалитьОбъект(ДанныеОднойСекции, ЛокКоллекция);
    конец; 
  конец;
  
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  // выбираем данные по секциям
  ВыполнитьСекцииКредиты(Данные, Ограничения);
конец.
</value>
    <param value="Кредиты2" type="3" name="Export">DIMAN2\dzimitchev\17.11.2008 10:47:06</param>
    <param value="Кредиты2" type="3" name="version">36.042.03</param>
    <param value="Кредиты2" type="3" name="crc32">$478AF016</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4010100</V>
            <V N="Name">График погашения (План, Дата)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.01.01) кредиты. график погашения (план, дата).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4010200</V>
            <V N="Name">График погашения (Факт, Дата)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.01.02) кредиты. график погашения (факт, дата).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4010300</V>
            <V N="Name">График погашения (План, Месяц)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.01.03) кредиты. график погашения (план, месяц).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4010400</V>
            <V N="Name">График погашения (Факт, Месяц)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.01.04) кредиты. график погашения (факт, месяц).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4020100</V>
            <V N="Name">График расходов (План, Дата)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.02.01) кредиты. график расходов (план, дата).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4020200</V>
            <V N="Name">График расходов (Факт, Дата)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.02.02) кредиты. график расходов (факт, дата).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4020300</V>
            <V N="Name">График расходов (План, Месяц)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.02.03) кредиты. график расходов (план, месяц).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4020400</V>
            <V N="Name">График расходов (Факт, Месяц)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.02.04) кредиты. график расходов (факт, месяц).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4030100</V>
            <V N="Name">Кредиты.Все Расходы(Факт)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП,СписокДоговоровПоКредитамИГарантиям,ОснДолг,Проценты,Пени,ПениПоОснДолгу,ПениПоПроцентам,ДопРасходы</V>
            <V N="Template">(04.03.01)Кредиты.Все Расходы(Факт).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4040100</V>
            <V N="Name">Кредиты.Получение(Факт)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,ВидЗаим,Организация,ИНН,КПП,СписокДоговоровПоКредитам</V>
            <V N="Template">(04.04.01)Кредиты.Получение(Факт).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отчет отображает получение кредитов и гарантий за указанный период</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4040300</V>
            <V N="Name">Кредиты.График получения(Факт,Дата)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.04.03) кредиты. график получения (факт, дата).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4050100</V>
            <V N="Name">Кредиты. Расчет процентов</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,ВидЗаим,Организация,ИНН,КПП,СписокДоговоровПоКредитамИГарантиям</V>
            <V N="Template">(04.05.01) кредиты. расчет процентов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4060100</V>
            <V N="Name">Кредиты.Информация</V>
            <V N="Params">Бюджет,ОднаДата,НомерДокМнож,НомерДок,Классификаторы,ВидЗаим,Организация,ИНН,КПП,СписокДоговоровПоКредитамИГарантиям</V>
            <V N="Template">(04.06.01) кредиты. информация.cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4080100</V>
            <V N="Name">Реестр долговых обязательств (по договорам)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,Район,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.08.01) реестр долговых обязательств (по договорам).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отображает операции по кредитам за период. 
В отчет данные выводятся сгруппированные по организациям.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4090100</V>
            <V N="Name">Кредиты. Долговая книга</V>
            <V N="Params">Бюджет,ОднаДата,НомерДок,ВидЗаим,Организация,ИНН,КПП,СписокДоговоров</V>
            <V N="Template">(04.09.01) Кредиты. Долговая книга.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает помесячные операции по кредитам в разрезе договоров</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4140100</V>
            <V N="Name">Кредиты. Форма №21</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,Организация,ИНН,КПП,Проценты,Пени,ПениПоОснДолгу,ПениПоПроцентам</V>
            <V N="Template">(04.14.01) кредиты. форма№21. карточка учета начисленных и уплаченных процентов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Форма № 21. Отображает операции с процентами кредита (начисление/уплата) для выбранного договора</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4180100</V>
            <V N="Name">Кредиты. Разбивка сумм по срокам уплаты</V>
            <V N="Params">Бюджет,Даты,Год,Организация,ИНН,КПП,Наимен,СписокДоговоровПоКредитамИГарантиям</V>
            <V N="Template">(04.18.01) кредиты. разбивка сумм по срокам уплаты.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет отражает суммы уплаты кредитов в течение года с разбивкой на 12 месяцев</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4190100</V>
            <V N="Name">Кредиты. Движение кредитов. Справка по остаткам.</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.19.01) кредиты. движение кредитов. справка по остаткам.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отчет отражает движение кредитов по текущим договорам в разрезе кредитодателей</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4190200</V>
            <V N="Name">Кредиты. Уплата процентов.</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,ВидЗаим,Организация,ИНН,КПП</V>
            <V N="Template">(04.19.02)  кредиты. уплата процентов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">В данный отчет выводится информация об уплаченных процентах по заданному периоду.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <version_info>
    <file>Сборка(05)Ссуды.xml</file>
    <version>36.042.07</version>
    <info>Отчеты по ссудам</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:33</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляПересчетаВРубли.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\OutPut.lib";
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";

переменные  
  ОВ:ОкноВывода;
  
// Выдает валюту в заголовке договора
функция ПолучитьВалютуВЗаголовке(ИД: целое): целое;
переменные
  В: Выборка;
начало
  попытка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select CurrencyCLS from LoanCredit where id = " + ЦелоеВСтроку(ИД);
    В.Открыть;
    Результат := В.Поле("CurrencyCLS").КакЦелое;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Возвращает код нац. валюты
функция КодНацВалюты: целое;
начало
  Результат := ЦелаяКонстанта(19, 4);                
конец;

// Закачивает курс указанной валюты и проверяет его наличие
функция ЗакачатьКурсВалюты(Валюта: целое;ДатаПер: целое) : дробное;
переменные
  ссВалюта: СтатическиеДанные;
начало
  ОВ := ОкноВывода;
  Результат := 0;
  ссВалюта := СоздатьСтатическиеДанные;
  попытка
    ссВалюта.СоединитьБД;
    ссВалюта.Запрос := "[PumpData]"+#13#10+
                       "{select cur1.exchange Exchange, cur1.dat Dat from CURRENCYEXCHANGE cur1"+#13#10+
                       " where dat = (select max(DAT)"+#13#10+
                       " from CURRENCYEXCHANGE cur2"+#13#10+
                       " where (cur2.CURRENCY = @Currency)and(cur2.CURRENCY=cur1.CURRENCY)" 
                       + " and (cur2.Dat &lt;=@PerDate))}";
    ссВалюта.Параметр("Currency") := ЦелоеВСтроку(Валюта);
    ссВалюта.Параметр("PerDate") := ЦелоеВСтроку(ДатаПер);
    ссВалюта.Открыть;
    Результат := ссВалюта.Поле("Exchange").КакДробное;
      если ссВалюта.ЧислоЗаписей = 0 тогда
        ВызватьОшибку("Для валюты: " + ФорматироватьКлассификатор(Валюта, м_Валюта) + " не найден курс.");
      если ссВалюта.Поле("Dat").КакЦелое &lt;&gt; ДатаПер тогда
        ОВ.Вывести("Для валюты:" + ФорматироватьКлассификатор(Валюта, м_Валюта) + " не найден текущий курс."+#13#10+
                   "Взят последний за "+ДатаВСтроку(РасширДатаВОбычную(ссВалюта.Поле("Dat").КакЦелое)));
  обязательно
    УдалитьОбъект(ссВалюта);
  конец;                    
конец;

функция ПолучитьОбмКурс(КодВалюты:целое; ДатаПер: целое):дробное;
начало
  если КодВалюты = КодНацВалюты тогда 
    результат := 1
  иначе
    Результат := ЗакачатьКурсВалюты(КодВалюты, ДатаПер);
конец;
</value>
    <param value="ДляПересчетаВРубли.abl" type="3" name="version">36.042.07</param>
    <param value="ДляПересчетаВРубли.abl" type="3" name="crc32">$7A9B404C</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляРаботыСГодом12х30.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";

// Возвращает год расширенной даты
функция ГодДаты(Дата: дробное): целое;
начало
  Результат := Дата цел 10000;
конец;

// возвращает месяц расширенной даты
функция МесяцДаты(Дата: дробное): целое;
начало
  Результат := (Дата ост 10000) цел 100;
конец;

// Возвращает день расширенной даты
функция ДеньДаты(Дата: дробное): целое;
начало
  Результат := Дата ост 100;
конец;

//Корректирует дату в расширенном формате и возвращает в обычном  
// если содержить 0-вое число или месяц, то заменяет его на 1-ое
// содержит большее число, чем дней в месяце, то заменяет на последний день
// возвращает обычную дату
функция НормализоватьДату(дата : дробное) : дробное;
переменные
  г,м,д : целое;
  од : дробное;
начало
  г := целое(дата) цел 10000;
  м := (целое(дата) ост 10000) цел 100;
  д := целое(дата) ост 100;
  //проверяем год на допустимость
  попытка
    ФормироватьДату(г,1,1);
  неудача
    ВызватьОшибку("Недопустимый год: "+ЦелоеВСтроку(г));
  конец;
  //проверяем месяц
  если м&lt;1 тогда м:=1;
  если м&gt;12 тогда м:=12;
  //проверяем день
  если д&lt;1 тогда д:=1;
  если д &gt; ЧислоДнейВМесяце(г,м) тогда д := ЧислоДнейВМесяце(г,м); 

  результат := ФормироватьДату(г,м,д); 
конец;

функция ПредыдущееЧисло(Дата: Дробное; ЧислоДней : целое): дробное;
// вход - расширенная дата
// выход - тоже расширенная 
начало
  результат := ОбычнаяДатаВРасшир(НормализоватьДату(Дата) - ЧислоДней); 
  //если дата 0-ая, то при нормализации она приводится к 1-ой, т.е. прибавили лишний день  
  если (Дата ост 100) = 0  тогда результат := результат -1;
конец;

функция СледующееЧисло(Дата: Дробное; ЧислоДней : целое): дробное;
// вход - расширенная дата
// выход - тоже расширенная 
начало
  результат := ОбычнаяДатаВРасшир(НормализоватьДату(Дата) + ЧислоДней);
  //если дата 0-ая, то при нормализации она приводится к 1-ой, т.е. прибавили лишний день 
  если (Дата ост 100) = 0  тогда результат := результат -1;
конец;

функция ЧислоДней(ОтДаты : дробное; ДоДаты : дробное) : целое;
// Вход:
//    ОтДаты - расширенная дата    
//    ДоДаты - расширенная дата    
// Выход:
//    Число дней между двумя датами (ДоДаты - ОтДаты)
// Пример
// ЧислоДней (20010315, 20010320) = 5
// ЧислоДней (20010315, 20010315) = 0
// ЧислоДней (20010331, 20010401) = 1
начало
    результат := РасширДатаВОбычную(ДоДаты) - РасширДатаВОбычную(ОтДаты); 
конец;

// Если дата выходит за пределы - тогда сделать ее первым числом след. месяца
функция ИсправитьРасширДату(Дата: целое): целое;
переменные
  М, Д, Г: целое;
начало
  Г := Дата цел 10000;
  М := (Дата ост 10000) цел 100;
  Д := Дата ост 100;
  Результат := Дата;
  выбрать М из
    4, 6, 9, 11: если Д &gt;= 31 тогда
                   Результат := Г * 10000 + (М + 1) * 100 + 1;
    2: если (Д &gt;= 30) или ((Г ост 4 = 0) и (Д = 29)) тогда
         Результат := Г * 10000 + (М + 1) * 100 + 1;
  конец;                      
конец;

// Преобразует в расширенную дату
функция БольшаяДата(Год, Месяц, День: целое): дробное;
начало
  Результат := Год * 10000 + Месяц * 100 + День;
конец;

// Нижеследующие 3 функции работают только с кривыми датами
функция ЦелыхГодов(КолвоДней: целое): целое;
начало
  Результат := (КолвоДней - 1) цел 360;
конец;

функция ЦелыхМесяцев(КолвоДней: целое): целое;
начало
  Результат := (КолвоДней - ЦелыхГодов(КолвоДней) * 360 - 1) цел 30 + 1;
конец;

функция ЦелыхДней(КолвоДней: целое): целое;
начало
  Результат := КолвоДней - ЦелыхГодов(КолвоДней) * 360 - (ЦелыхМесяцев(КолвоДней) - 1) * 30;
конец;

// Преобразует дату для обычного года (365 дней) в дату для года 360 (12*30) дней
// Фича такая - если задают дату типа 31, то ее преобразуем в 30.
функция НормальнаяДатаВКривую(Дата: дробное): дробное;
переменные
  Год, Месяц, День: целое;
начало
  Результат := Дата;
  Год := Дата цел 10000;
  Месяц := (Дата ост 10000) цел 100;
  День := Дата ост 100;
  если День = 31 тогда
  начало
    День := 30;
  конец;
  если Месяц = 2 /* То бишь февраль */ тогда 
    если (День = 29) или ((День = 28) и (Год ост 4 &lt;&gt; 0))
    тогда
      День := 30;   
  Результат := БольшаяДата(Год, Месяц, День);    
конец;

// По ИД получаем тип года для записи из заголовка. Результат = 0 - обычный год, Результат = 1 - (12 * 30)
функция ПолучитьТипГода(ИД: целое): целое;
переменные
  В: Выборка;
начало
  Результат := -1;
  В := СоздатьВыборку;
  попытка
    В.БазаДанных := Бюджет;
    В.Запрос := "select YearType from LoanCredit where id = :RecordId";
    В.Параметр("RecordId").КакЦелое := ИД;
    В.Открыть;
    Результат := В.Поле("YearType").КакЦелое;
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// выдает следующую дату для любого типа года
функция СледующаяДата(Дата: дробное; КолвоДней, ТипГода: целое): дробное;
переменные
  ДнейБыло, ДнейСтало: целое;
начало
  если ТипГода &lt;&gt; 0 тогда
  начало
    Дата := НормальнаяДатаВКривую(Дата);
    ДнейБыло := ГодДаты(Дата) * 360 + (МесяцДаты(Дата) - 1) * 30 + ДеньДаты(Дата);
    ДнейСтало := ДнейБыло + КолвоДней;
    Результат := ЦелыхГодов(ДнейСтало) * 10000 + (ЦелыхМесяцев(ДнейСтало)) * 100 + ЦелыхДней(ДнейСтало);
  конец
  иначе
    Результат := СледующееЧисло(Дата, КолвоДней);
конец;

// Выдает предыдущую дату для любого типа года
функция ПредыдущаяДата(Дата: дробное; КолвоДней, ТипГода: целое): дробное;
переменные
  ДнейБыло, ДнейСтало: целое;
начало
  Результат := 0;
  если ТипГода &lt;&gt; 0 тогда
  начало
    Дата := НормальнаяДатаВКривую(Дата);
    ДнейБыло := ГодДаты(Дата) * 360 + (МесяцДаты(Дата) - 1) * 30 + ДеньДаты(Дата);
    ДнейСтало := ДнейБыло - КолвоДней;
    Результат := ЦелыхГодов(ДнейСтало) * 10000 + (ЦелыхМесяцев(ДнейСтало)) * 100 + ЦелыхДней(ДнейСтало);
  конец
  иначе
    Результат := ПредыдущееЧисло(Дата, КолвоДней);
конец;

// Выдает число дней в году для любого типа года
функция ЧислоДнейВЛюбомГоду(ИД, Год: целое): целое;
начало
  Результат := 0;
  если ПолучитьТипГода(ИД) &lt;&gt; 0 тогда
    Результат := 360
  иначе
    Результат := ЧислоДнейВГоду(Год); 
конец;

функция ЧислоДнейВЛюбомМесяце(ИД, Год, Месяц: целое): целое;
начало
  Результат := 0;
  если ПолучитьТипГода(ИД) &lt;&gt; 0 тогда
    Результат := 30
  иначе
    Результат := ЧислоДнейВМесяце(Год, Месяц);  
конец;

// Использовать только для ненормального года!!!
функция ОткорректироватьДатыСубпериодов(Субпериоды: СтатическиеДанные);
начало
  Субпериоды.ВНачало;
  пока не Субпериоды.ВКонце делать
  начало
    Субпериоды.Редактировать;
    Субпериоды.Поле("Date").КакДробное := НормальнаяДатаВКривую(Субпериоды.Поле("Date").КакДробное);
    Субпериоды.Сохранить;
    Субпериоды.Следующая;
  конец;
конец; 

функция ЧислоДнейВПериоде(ИД: целое; НачалоПериода, КонецПериода: дробное): целое;
переменные
  Разница: дробное;
  Год, Месяц, День: целое;
начало
  Результат := 0;
  попытка
    если ПолучитьТипГода(ИД) = 1 тогда
      // Вычисляем очень просто, считаем кол-во дней от 01.01.01 до конца периода и вычитаем из него
      // кол-во дней до начала периода. Все гениальное просто.
      Результат := (ГодДаты(КонецПериода) * 360 + МесяцДаты(КонецПериода) * 30 + ДеньДаты(КонецПериода))
        - (ГодДаты(НачалоПериода) * 360 + МесяцДаты(НачалоПериода) * 30 + ДеньДаты(НачалоПериода)) 
    иначе
      Результат := ЧислоДней(НачалоПериода, КонецПериода);
  неудача
    ВызватьОшибку("Невозможно пересчитать из-за неверного указания даты");
  конец;
конец;

// Выдает дату конца месяца. ВНИМАНИЕ!!! Пока при годе 12*30 конец месяца - обычный (28, 29, 30, 31)
функция ПолучитьДатуКонцаМесяца(Дата: дробное; ТипГода: целое): дробное;
начало
  если ТипГода = 1 тогда
  // Ненормальный год (12 месяцев по 30 дней)
    Результат := (Дата цел 100) * 100 + 30
  иначе
  начало
    // Нормальный год (365 или 366 дней в году)
    Результат := (Дата цел 100) * 100 + ЧислоДнейВМесяце(Дата цел 10000, (Дата ост 10000) цел 100); 
  конец;    
конец;

функция СледующийМесяц(Дата: целое): целое;
переменные
  Год, Месяц: целое; 
начало
  Год := ГодДаты(Дата);
  Месяц := МесяцДаты(Дата);
  Месяц := Месяц + 1;
  если Месяц &gt; 12 тогда
  начало
    Месяц := 1;
    Год := Год + 1; 
  конец;
  Результат := Год * 10000 + Месяц * 100 + 1;
конец;
</value>
    <param value="ДляРаботыСГодом12х30.abl" type="3" name="version">36.042.07</param>
    <param value="ДляРаботыСГодом12х30.abl" type="3" name="crc32">$77B4E22E</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы">
    <value type="7" name="ДляСсуд.abl">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить '\Библиотеки\Reports.lib';
включить "Бюджет\Ресурсы\Макросы\ДляРаботыСГодом12х30.abl";
включить "Бюджет\Ресурсы\Макросы\ДляПересчетаВРубли.abl";

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  УзелПараметровКредиты = "Бюджет\Объекты\Настройки\Кредиты\Параметры";
  УзелСмещений = "Бюджет\Объекты\Настройки\Ссуды\Смещения";
  Кредиты="{DDC51F01-193C-11D5-8DF5-000021DDD8D5}";
  Ссуды = "{7E7F7A31-095E-11D4-8BFB-000021DDD8D5}";
  // строковые константы видов пеней и кредитов. Юзаются в функциях получитьпараметр и получитьимяпараметра
  стр_впОснДолг = "по основному долгу";
  стр_впПроц = "по начисленным процентам";
  стр_впВсе = "все";
  стр_Проц = "процент";
  стр_воУплата = "уплата";
  стр_воНачисление = "начисление";

// Разбирает список значений через запятую и проверяет каждую проводку на существование
// Пользуясь случаем передаю приветы: Роме Шевелуеву, который будет исправлять здесь глюки
// Дену Новожилову, который первый будет материться по телефону по поводу ошибок
// и Ане Каштановой, которая напишет про ошибки именно в тот момент, когда Рома будет выкладывать 
// исправленную версию, а Ден позвонит минимум раза 3
функция РазобратьЗначения(СтрокаПроводок: строка): целое;
переменные
  Значение: строка;
начало
  СтрокаПроводок := УбратьПробелы(СтрокаПроводок);
  Результат := Истина;
  попытка

    Пока СтрокаПроводок &lt;&gt; "" делать
    начало
      если Позиция(",", СтрокаПроводок) = 0 тогда
      начало
        Значение := СтрокаПроводок;
        СтрокаПроводок := "";
      конец иначе
      начало
        Значение := Подстрока(СтрокаПроводок, 1, Позиция(",", СтрокаПроводок) - 1);
        СтрокаПроводок := Подстрока(СтрокаПроводок, Позиция(",", СтрокаПроводок) + 1, Длина(СтрокаПроводок) - Позиция(",", СтрокаПроводок));
      конец;
      если не ПроверитьКлассификатор(тк_БухПроводка, СтрокаВЦелое(Значение)) тогда
        ВызватьОшибку("Указанная проводка не существ");
    конец;
  неудача
    Результат := Ложь;
  конец;
конец;

функция ПроверитьПроводки;
переменные
  СтрокаПроводок: строка;
начало
  // Начисление проц.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления процентов.");
  // Начисление пени осн.
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по основному долгу.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по основному долгу.");
  // Начисление пени по процентам
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для начисления пени по процентам.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для начисления пени по процентам.");
  // Уплата процентов
  СтрокаПроводок :=  УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока);
  если УбратьПробелы(СтрокаПроводок) = "" тогда
    ВызватьОшибку("В настройках реестра не указаны бухпроводки для уплаченных процентов.");
  если не РазобратьЗначения(СтрокаПроводок) тогда
    ВызватьОшибку("В настройках реестра указаны неверные проводки для уплаченных процентов.");
  
конец; 

// возвращает GUID интерфейса, на котором выполняется скрипт
функция Модуль : Строка;
//переменные
//  ф : ФормаВвода;
начало
//  ф := ПолучитьФормуВвода;
//  результат := Ф.Идентификатор;
  результат := Ссуды;
конец;

////////////////////////////////////////////////////  
// функция выдает параметр - ограничение указанного вида и типа. Работает как для ссуд, так и для кредитов
// вид : начисление, уплата
// тип : процент по кредиту/ссуде, пени по основному долгу и по начисленным процентам  
функция ПолучитьПараметр(вид, тип : Строка) : строка;
переменные
  рез : целое;
  ПрогИндекс : целое;
  УзелП : Строка; 
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
    
  рез := 0;
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
  начало 
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : рез := 124;                  
        стр_впОснДолг : рез := 325;
        стр_впПроц : рез := 326;
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "325,326";
          если Модуль = Кредиты тогда
            результат := "335,336";
        конец;
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : рез := 123;                  
        стр_впОснДолг : рез := 328;
        стр_впПроц : рез := 329;                  
        стр_впВсе : 
        начало
          если Модуль = Ссуды тогда
            результат := "328,329";
          если Модуль = Кредиты тогда
            результат := "338,339";
        конец;
      конец;
    если рез &lt;&gt; 0 тогда
    начало
      если Модуль = Кредиты тогда 
        рез := рез + 10;
      результат := ЦелоеВСтроку(рез);
    конец;
  конец
  иначе
  начало// не было обновления системы
    если Модуль = Кредиты тогда
      УзелП := УзелПараметровКредиты;
    если Модуль = Ссуды тогда
      УзелП := УзелПараметров;
    если вид = стр_воНачисление тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды начисления пени").КакСтрока +","+
          Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока + "," + 
          Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;         
      конец;
    если вид = стр_воУплата тогда
      выбрать тип из
        стр_Проц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
        стр_впОснДолг : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
        стр_впПроц : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        стр_впВсе : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока; 
      конец;       
  конец;    
конец;

// пока нигде не используется. Вместо нее надо юзать ПреобразоватьПараметр
функция ПолучитьПрогИндекс(вид, тип : Строка) : строка;
переменные
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
    
  если ЦелаяКонстанта(ПИ, 1) тогда
    результат := ПолучитьПараметр(вид, тип)
  иначе
    результат := ЦелоеВСтроку(ПИ);
конец;

//Преобразует параметр в проводку по данным реестра
// Если параметр и был проводкой (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьВПроводку(вид, пар : Строка) : Строка;
переменные
  л_пар : Строка;
  УзелП : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
  начало
    ПИ := 120;
    УзелП := УзелПараметров;
  конец;
  если Модуль = Кредиты тогда
  начало
    ПИ := 130;
    УзелП := УзелПараметров;
  конец;
  если Позиция(",", пар) &gt; 0 тогда
    л_пар := Подстрока(пар, 1, Позиция(",", пар))
  иначе
    л_пар := пар;
  если ЦелаяКонстанта(ПИ, 1) тогда
  начало
    результат := "";
    если Модуль = Ссуды тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "124" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "325" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "326" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "123" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "328" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "329" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
    если Модуль = Кредиты тогда
    начало
      если вид = стр_воНачисление тогда
        выбрать л_пар из
          "134" : результат := Реестр.Узел(УзелП).Значение("Коды начисления процентов").КакСтрока;                  
          "335" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по основн. долгу").КакСтрока;
          "336" : результат := Реестр.Узел(УзелП).Значение("Коды нач. пени по начисл. процентам").КакСтрока;                  
        конец;
      если вид = стр_воУплата тогда
        выбрать л_пар из
          "133" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты процентов").КакСтрока;                  
          "338" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;
          "339" : результат := Реестр.Узел(УзелП).Значение("Коды уплаты пени").КакСтрока;                  
        конец;
    конец;       
  конец
  иначе
    результат := л_пар;
конец;

//Преобразует параметр в ПрогИндекс по данным реестра
// Если параметр и был Прогиндексом (определяется версией прогиндексов по кредитам) то ничего не делает
функция ПреобразоватьПараметр(пар : Строка) : Строка;
переменные
  поз : целое;
  л_пар : Строка;
  ПИ : целое;
начало
  если Модуль = Ссуды тогда
    ПИ := 120;
  если Модуль = Кредиты тогда
    ПИ := 130;
  поз := Позиция(",", пар);
  если поз &lt;&gt; 0 тогда
    л_пар := Подстрока(пар, поз - 1)
  иначе
    л_пар := пар;
  результат := пар;  
  если не ЦелаяКонстанта(ПИ, 1) тогда
    результат := ЦелоеВСтроку(ПИ + 4);  
конец;
 
// Получает имя поля из базы для нужного параметра (проводка или прогиндекс)
функция ПолучитьИмяПараметра : строка;
переменные
  ПрогИндекс : целое;
начало
  если Модуль = Ссуды тогда
    ПрогИндекс := 120;
  если Модуль = Кредиты тогда
    ПрогИндекс := 130;
   
  если ЦелаяКонстанта(ПрогИндекс, 1) тогда
    результат := "progindex"
  иначе
    результат := "buhpaymentcls"    
конец;  

функция ПроверитьВалютуВДетализациях(МастерИД: целое): целое;
переменные
  ВалютаВЗаголовке: целое;
  В: Выборка;
начало
  Результат := Истина;
  попытка
    // Получаем валюту из заголовка
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select CurrencyCLS from LoanCredit where Id = " + ЦелоеВСтроку(МастерИД);
    В.Открыть;
    ВалютаВЗаголовке := В.Поле("CurrencyCLS").КакЦелое;
    
    // Проверяем закладки "Выдача" и "Погашение"
    В.Закрыть;
    В.Запрос := "select CurrencyCLS, ProgIndex from FinDocDetail where RecordIndex = " + ЦелоеВСтроку(МастерИД)
                + " and CurrencyCLS &lt;&gt; " + ЦелоеВстроку(ВалютаВЗаголовке);
    В.Открыть;
    если В.ЧислоЗаписей &gt; 0 тогда
      Результат := Ложь;
    
    если Результат тогда
    начало
      // Проверим детализацию "Уплата %" 
      В.Закрыть;
      В.Запрос := "select ic.CurrencyIndex, i.ProgIndex from Incomes32 i "
                    + " left join CurrencyIncomes ic on (ic.id = i.id)" 
                    + " where i.RecordIndex = " + ЦелоеВСтроку(МастерИД)
                    + " and ic.CurrencyIndex &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;
      если В.ЧислоЗаписей &gt; 0 тогда
        Результат := Ложь;
    конец;
    
    если Результат тогда
    начало
      // проверим детализацию "Начисление %"
      В.Закрыть;
      В.Запрос := "select CurrencyCLS, ProgIndex from LoanCreditPercents where RecordIndex = " + ЦелоеВСтроку(МастерИД)
                  + " and CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;            
      если В.ЧислоЗаписей &gt; 0 тогда
        Результат := Ложь;
    конец;
    
    если Результат тогда
    // Осталось проверить только графики
    начало
      В.Закрыть;
      В.Запрос := "select CurrencyCLS, ProgIndex from LoanCreditPlan where RecordIndex = "+ ЦелоеВСтроку(МастерИД)
                  + " and CurrencyCLS &lt;&gt; " + ЦелоеВСтроку(ВалютаВЗаголовке);
      В.Открыть;
      если В.ЧислоЗаписей &gt; 0 тогда
      Результат := 0;            
    конец;
  обязательно
    УдалитьОбъект(В);
  конец;                  
конец;

// Закачивает в коллекцию все смещения
функция ПолучитьСмещенияСсуды(Коллекция: IVariables);
начало
  Коллекция.Значение("Выдача") := Реестр.Узел(УзелСмещений).Значение("Выдача").КакЦелое;
  Коллекция.Значение("Погашение") := Реестр.Узел(УзелСмещений).Значение("Погашение").КакЦелое;
  Коллекция.Значение("НачислениеПроц") := Реестр.Узел(УзелСмещений).Значение("Начисление процентов").КакЦелое;
  Коллекция.Значение("НачислениеПени") := Реестр.Узел(УзелСмещений).Значение("Начисление пеней").КакЦелое;
  Коллекция.Значение("УплатаПроц") := Реестр.Узел(УзелСмещений).Значение("Уплата процентов").КакЦелое;
  Коллекция.Значение("УплатаПени") := Реестр.Узел(УзелСмещений).Значение("Уплата пеней").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПроц") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки процентов").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПени") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки пеней по осн. долгу").КакЦелое;
  Коллекция.Значение("ИзменениеСтавкиПениПроц") := Реестр.Узел(УзелСмещений).Значение("Изменение ставки пеней по проц.").КакЦелое;
  Коллекция.Значение("ПлановоеПогашение") := Реестр.Узел(УзелСмещений).Значение("График погашения").КакЦелое;
  Коллекция.Значение("ПлановаяУплатаПроцентов") := Реестр.Узел(УзелСмещений).Значение("График уплаты процентов").КакЦелое;
конец;

// Добавляет субпериоды по длине, указанной в заголовке. Если длина субпериода = -1, тогда
// разбивает по месяцам
функция ДобавитьПериодыПоДлине(ИДЗаголовка: целое; Субпериоды: СтатическиеДанные; НачалоПериода, КонецСрока: дробное; Параметр : Строка);
переменные
  В: Выборка;
  Г, М, Д, ДлинаПодпериода: целое;
  ДатаКонцаПодпериода: дробное;
начало
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  В.Запрос := "select PeriodStart, PeriodLength, YearType from LoanCredit where ProgIndex = 120 and id = :REC ";
  В.Параметр("REC").КакЦелое := ИДЗаголовка;
  В.Открыть;
  если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
  тогда 
  попытка
    // Если в заголовке стоит разбивка по периодам определенной длины (месяц, квартал, полгода, год)
    если (В.ПолеПоИмени("PeriodLength").КакЦелое &lt; 0) тогда
    начало
      Г := ГодДаты(В.Поле("periodstart").КакДробное);
      М := МесяцДаты(В.Поле("periodstart").КакДробное);
      Д := ДеньДаты(В.Поле("periodstart").КакДробное);
      пока (М &lt; 13) и (БольшаяДата(Г, М, Д) &lt;= КонецСрока) делать 
      начало
        если БольшаяДата(Г, М, Д) &gt; НачалоПериода
        тогда начало 
          // добавляем новые подпериоды планового начисления, отмерянные на каждый месяц начиная с "даты начала периода" заголовка
          СубПериоды.Вставить;
          если ЧислоДнейВЛюбомМесяце(ИДЗаголовка, Г, М) &gt;= Д тогда 
            СубПериоды.ПолеПоИмени("date").КакДробное := БольшаяДата(Г, М, Д)
          иначе 
            СубПериоды.Поле("Date").КакДробное := БольшаяДата(Г, М, ЧислоДнейВЛюбомМесяце(ИДЗаголовка, Г, М));
          //если В.Поле("YearType").КакЦелое = 1 тогда
            // Тип года 12*30, поэтому корректируем
            //СубПериоды.ПолеПоИмени("date").КакДробное := НормальнаяДатаВКривую(СубПериоды.ПолеПоИмени("date").КакДробное);
          Субпериоды.ПолеПоИмени("note").КакСтрока := "плановое начисление";
          Субпериоды.Поле("ProgIndex").КакДробное := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        М := М - В.Поле("PeriodLength").КакЦелое;
        если М &gt; 12 тогда
        начало
          // Начинаем след. год
          Г := Г + 1;
          М := М ост 12;
        конец;
      конец;
    конец;  

    // Если в заголовке проставлена конкретная длина периода
    если В.ПолеПоИмени("PeriodLength").КакЦелое &gt; 0 тогда
    начало
      ДлинаПодпериода := В.ПолеПоИмени("PeriodLength").КакЦелое;
      ДатаКонцаПодпериода := В.Поле("periodstart").КакДробное;
      пока ДатаКонцаПодпериода &lt;= КонецСрока делать
      начало
        если ДатаКонцаПодпериода &gt; НачалоПериода тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.ПолеПоИмени("Date").КакДробное := ДатаКонцаПодпериода;
          если В.Поле("YearType").КакЦелое = 1 тогда
            // Тип года 12*30, поэтому корректируем
            СубПериоды.ПолеПоИмени("date").КакДробное := НормальнаяДатаВКривую(СубПериоды.ПолеПоИмени("date").КакДробное);
          Субпериоды.ПолеПоИмени("Note").КакСтрока := "плановое начисление";
          Субпериоды.Поле("ProgIndex").КакДробное := ПреобразоватьПараметр(Параметр);
          СубПериоды.Сохранить;
        конец;
        ДатаКонцаПодпериода := СледующаяДата(ДатаКонцаПодпериода, ДлинаПодпериода, В.Поле("YearType").КакЦелое);
      конец;
    конец;

  обязательно
    УдалитьОбъект(В);
  конец; 

конец;  


// Возвращает дату начала периодов пени
функция ПолучитьНачалоПериодовПени(Ключ: целое; Параметр : Строка): дробное;
переменные
  В: Выборка;
  НачалоПериода: дробное;
  Коды_Пени, Коды_Проц: строка;
  Смещения: IVariables;
  ТипГода: целое;
начало
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  попытка
    // вычислить окончание последнего существующего периода
//    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
//               + " where (ProgIndex in ("+ПрогИндекс+")) and (RecordIndex = :REC) and (BuhPaymentCLS in (" + Коды_Пени + ")) ";
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
               + " where (" + ПолучитьИмяПараметра + " in ("+Параметр+")) and (RecordIndex = :REC)";
    В.Параметр("REC").КакЦелое := Ключ;
    В.Открыть;
    если В.Поле("periodend").Пустое 
    тогда 
      НачалоПериода := 0 
    иначе 
      если (В.Поле("periodend").КакДробное ост 10000) &lt;= 101
        тогда 
          НачалоПериода := В.Поле("periodend").КакДробное
        иначе 
          НачалоПериода := СледующаяДата(В.Поле("periodend").КакДробное, 1, ТипГода);

    если НачалоПериода = 0 
    тогда 
    начало
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг)) тогда//      если ПрогИндекс = "325" тогда
      начало 
        // вынуть самое раннее погашение
        В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan"  
                   + " where (ProgIndex = 127) and (RecordIndex = :REC) and (PlanDate is not null) ";
        В.Параметр("REC").КакЦелое := Ключ;
        В.Открыть;
        если не В.Поле("PlanDate").Пустое 
        тогда НачалоПериода := СледующаяДата(В.Поле("PlanDate").КакДробное, Смещения.Значение("ПлановоеПогашение"), ТипГода);
      конец;
      если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) тогда//если ПрогИндекс = "326" тогда
      начало
        если не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
        // Используем данные с детализации "Начисление %"
        начало
//          В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
//                      + " where (ProgIndex in (124, 324)) and (RecordIndex = :REC) and (PayPercentDate is not null)"
//                      + " and (BuhPaymentCLS in (" + Коды_Проц + "))";
          В.Запрос := "select min(PayPercentDate) PayPercentDate from LoanCreditPercents"
                      + " where (RecordIndex = :REC) and (PayPercentDate is not null)"
                      + " and ("+ПолучитьИмяПараметра+" in (" + ПолучитьПараметр(стр_воНачисление, стр_Проц) + "))";
          В.Параметр("REC").КакЦелое := Ключ;
          В.Открыть;
          если ((В.Поле("PayPercentDate").КакДробное &gt; 0) и (В.Поле("PayPercentDate").КакДробное &lt; НачалоПериода)) 
                или ((НачалоПериода = 0) и (не В.Поле("PayPercentDate").Пустое)) 
          тогда
            НачалоПериода := СледующаяДата(В.Поле("PayPercentDate").КакДробное, Смещения.Значение("ПлановаяУплатаПроц"), ТипГода);
        конец иначе
        // Используем график уплаты %
        начало
          В.Запрос := "select min(PlanDate) PlanDate from LoanCreditPlan where (ProgIndex = 128)"
                      + " and (RecordIndex = :REC) and (PlanDate is not null)";
          В.Параметр("REC").КакЦелое := Ключ;
          В.Открыть;
          если ((В.Поле("PlanDate").КакДробное &gt; 0) и (В.Поле("PlanDate").КакДробное &lt; НачалоПериода)) или
            ((НачалоПериода = 0) и (В.Поле("PlanDate").КакДробное &gt; 0)) 
          тогда
            НачалоПериода := СледующаяДата(В.Поле("PlanDate").КакДробное, Смещения.Значение("ПлановаяУплатаПроцентов"), ТипГода);            
        конец;
      конец;    
    конец;

    // если не было не периодов, ни выдач , взять "начало периода" или "дату ввода" из заголовка
    если НачалоПериода = 0 тогда 
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ProgIndex = 120 and id = :REC " ;
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
      тогда 
        НачалоПериода := В.ПолеПоИмени("PeriodStart").КакДробное 
      иначе 
        НачалоПериода := В.ПолеПоИмени("DATEINPUT").КакДробное;
    конец;

    Результат := ОбычнаяДатаВРасшир(НормализоватьДату(НачалоПериода));
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Выдает дату начала субпериодов процентов
функция ПолучитьНачалоСубпериодовПроценты(Ключ: целое): дробное;
переменные
  В: Выборка;
  НачалоПериода: дробное;
  Смещения: IVariables;
  Коды_Проц: строка;
  ТипГода: целое;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  // вычислить начало первого подпериода по дате окончания последнего существующего периода
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  ТипГода := ПолучитьТипГода(Ключ);
  попытка
    В.Запрос := "select max(PeriodEnd) PeriodEnd from LoanCreditPercents"
               + " where (ProgIndex in (124)) and (RecordIndex = :REC) and (BuhPaymentCLS in (" + Коды_Проц + ")) ";
    В.Параметр("REC").КакЦелое := Ключ;
    В.Открыть;
    если В.Поле("periodend").Пустое 
      тогда НачалоПериода := 0 
      иначе 
        если (В.Поле("periodend").КакДробное ост 10000) &lt;= 101  // если это даты остатков (00.00 или 01.01)
        тогда 
          НачалоПериода := ОбычнаяДатаВРасшир(НормализоватьДату(в.поле("periodend").КакДробное)) // тогда период начнется с 01.01
        иначе 
          НачалоПериода := СледующаяДата(В.Поле("periodend").КакДробное,1, ТипГода);  // иначе ОБЯЗАТЕЛЬНО со следующего числа

    // если периодов не было , вынуть самую раннюю выдачу 
    если НачалоПериода = 0 
    тогда начало
      В.Запрос := "select min(RecordDate) RecordDate from FinDocDetail" 
               + " where (ProgIndex = 121) and (RecordIndex = :REC) and (RecordDate is not null)";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если не В.Поле("RecordDate").Пустое 
      тогда НачалоПериода := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещения.Значение("Выдача"), ТипГода);
    конец;


    // если периодов не было , вынуть самую раннюю выдачу 
    если НачалоПериода = 0 
    тогда начало
      В.Запрос := "select min(AcceptDate) AcceptDate from FinDocDetail" 
               + " where (ProgIndex = 121) and (RecordIndex = :REC) and (AcceptDate is not null) ";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если не В.Поле("acceptdate").Пустое 
      тогда НачалоПериода := СледующаяДата(В.Поле("acceptdate").КакДробное, Смещения.Значение("Выдача"), ТипГода);
    конец;

    // если не было ни периодов, ни выдач , взять "начало периода" или "дату ввода" из заголовка
    если НачалоПериода = 0
    тогда 
    начало
      В.Запрос := "select DateInput, PeriodStart from LoanCredit where ProgIndex = 120 and id = :REC";
      В.Параметр("REC").КакЦелое := Ключ;
      В.Открыть;
      если В.ПолеПоИмени("PeriodStart").КакДробное &gt; 0
      тогда НачалоПериода := В.ПолеПоИмени("PeriodStart").КакДробное 
      иначе НачалоПериода := В.ПолеПоИмени("DATEINPUT").КакДробное;
    конец ;

    // на всяк случай подрихтуем дату начала периода , чтоб она была календарной , а не алгебраической
    Результат := ОбычнаяДатаВРасшир(НормализоватьДату(НачалоПериода));
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Открывает и закачивает в субпериоды выборку
функция ОткрытьИЗакачатьВСубпериоды(ИДЗаголовка: целое; НачалоПериода, КонецПериода: дробное; В: Выборка;
                                    Субпериоды: СтатическиеДанные; ИмяПоля, ИмяПоляРасчет, Примечание: строка;Смещение: целое;
                                    Параметр : Строка);
переменные
  ПолеВыборки: строка;
  ТипГода: целое;
начало
  ТипГода := ПолучитьТипГода(ИДЗаголовка);
  В.Параметр("REC").КакСтрока := ЦелоеВСтроку(ИДЗаголовка);
  В.Параметр("DATESTART").КакСтрока := ДробноеВСтроку(ПредыдущаяДата(НачалоПериода, Смещение, ТипГода));
  В.Параметр("DATEEND").КакСтрока := ДробноеВСтроку(ПредыдущаяДата(КонецПериода, Смещение, ТипГода));
  В.Открыть;
  если ИмяПоляРасчет = "Percent" тогда
    ПолеВыборки := "Percent"
  иначе ПолеВыборки := "Total";  
  пока не В.ВКонце делать
  начало
    Субпериоды.Вставить;
    попытка
      Субпериоды.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр); 
    неудача
      Субпериоды.Поле("ProgIndex").КакСтрока := 124;
    конец;
    попытка
      если В.Поле("RecordDate").Пустое тогда
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода)
      иначе
        Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле("RecordDate").КакДробное, Смещение, ТипГода);
    неудача
      // поле "RecordDate" отсутствует
      Субпериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле(ИмяПоля).КакДробное, Смещение, ТипГода);
    конец;
    попытка
      // В выборке нет такого поля
      Субпериоды.Поле(ИмяПоляРасчет).КакДробное := В.Поле(ПолеВыборки).КакДробное;
    неудача
    конец;
    Субпериоды.Поле("Note").КакСтрока := Примечание;
    попытка
      Субпериоды.Поле("CurrencyDebit").AsFloat := В.Поле("CurrencyDebit").КакДробное;
    неудача
    конец;
    попытка
      Субпериоды.Поле("CurrencyCredit").AsFloat := В.Поле("CurrencyCredit").КакДробное;
    неудача
    конец;
    Субпериоды.Сохранить;
    В.Следующая;
  конец;        
конец;

// Субпериоды
функция СформироватьСубпериодыПроценты(Ключ: целое; ДатаНачала, ДатаКонца: дробное; Подробно: целое): СтатическиеДанные;
переменные
  Смещения: IVariables;
  ТипГода, Надо_Подпериоды: целое;
  Коды_Проц, Проводка: строка;
  Субпериоды: СтатическиеДанные;
  В: Выборка;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения); // получили смешщения относ. дат
  ТипГода := ПолучитьТипГода(Ключ);
  // взять коды операций начисления процентов из параметра настройки в реестре настроек
  // чтоб учитывать только начисления процентов и не учитывать начисления пени
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды процентов подробно").КакФлаг;
  
  // вычленить из строки кодов операций начисления процентов самый первый код для подстановки в новые записи периодов
  если Позиция(",", Коды_Проц) = 0  
  тогда 
    Проводка := Коды_Проц 
  иначе 
    Проводка := Подстрока(Коды_Проц, 1 , Позиция(",", Коды_Проц) - 1) ;            
  
  В := СоздатьВыборку; 
  В.БазаДанных := Бюджет ;

  попытка   
    если ДатаНачала &lt;= ДатаКонца // Можно сформировать период на день первой выдачи
    тогда начало
       
      // ***************************** ВЫБИРАЕМ ВСЕ ДАТЫ ВЫДАЧ, ПОГАШЕНИЙ , ИЗМЕНЕНИЯ СТАВОК , **************************
      // ****************************  начиная с вычисленной даты начала периода   *************************************

      СубПериоды := СоздатьСтатическиеДанные;
      СубПериоды.ДобавитьДробноеПоле("Date");       // дата начала субпериода      
      СубПериоды.ДобавитьСтроковоеПоле("NOTE", 100).Размер := 100;     // комментарий , в связи с чем подразбивка на подпериоды    
      СубПериоды.ДобавитьДробноеПоле("Credit");
      Субпериоды.ДобавитьДробноеПоле("Debit");
      Субпериоды.ДобавитьДробноеПоле("Percent");
      Субпериоды.ДобавитьДробноеПоле("CurrencyDebit");
      Субпериоды.ДобавитьДробноеПоле("CurrencyCredit");
      СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
      СубПериоды.Открыть;
      
      // добавить саму дату начала подпериодов
      Субпериоды.Вставить;
      Субпериоды.Поле("date").КакДробное := ДатаНачала;
      Субпериоды.Сохранить;

      если Надо_Подпериоды или Подробно тогда 
      начало 
      
        // вынимаем в субпериоды выдачу ссуды
        В.Запрос := "select AcceptDate, RecordDate, (Credit - Debit) Total, CurrencySumma CurrencyCredit from FinDocDetail" 
                   + " where (ProgIndex = 121) and (RecordIndex = :REC)"
                   + " and (AcceptDate &gt; :DATESTART) and (AcceptDate&lt;=:DATEEND) ";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Credit", "выдача ссуды", Смещения.Значение("Выдача"), "");

        // внесем субпериоды по погашению кредита
        В.Запрос := "select AcceptDate, RecordDate, (Debit - Credit) Total, CurrencySumma CurrencyDebit from FinDocDetail" 
                  + " where (ProgIndex = 122) and (RecordIndex = :REC)"
                  + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Debit", "погашение ссуды", Смещения.Значение("Погашение"), "");
        
        // внесем субпериоды по изменению процентных ставок
        В.Запрос := "select AcceptDate, Percent from PercentJournal"
                   + " where (ProgIndex = 125) and (RecordIndex = :REC)"
                   + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
        ОткрытьИЗакачатьВСубпериоды(Ключ, ДатаНачала, ДатаКонца, В, Субпериоды, "AcceptDate", "Percent", "изменение процентной ставки", Смещения.Значение("ИзменениеСтавкиПроц"), "");
      конец;
      Результат := Субпериоды;
    конец;  
  обязательно
    УдалитьОбъект(В);
  конец;
конец;

// Формирует субпериоды с суммами и процентами по пеням
функция СформироватьСубпериодыПени(Ключ: целое; НачалоПериода, КонецСрока: дробное; Подробно: целое; Параметр, ВидПеней: Строка): СтатическиеДанные;
переменные
  Субпериоды: СтатическиеДанные;
  В: Выборка;
  Смещения: IVariables;
  ТипГода, Надо_Подпериоды: целое;
  Коды_Проц, Коды_Упл_Проц, Коды_Пени, кп_ОснДолг, кп_НачПроц, Проводка: строка;
начало
  // ***************************** ВЫБИРАЕМ ВСЕ ДАТЫ ВЫДАЧ, ПОГАШЕНИЙ , ИЗМЕНЕНИЯ СТАВОК , **************************
  // ****************************  начиная с вычисленной даты начала периода   *************************************
  Смещения := CreateVariables;
  получитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакФлаг;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Коды_Упл_Проц := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  кп_ОснДолг := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по основн. долгу").КакСтрока; 
  кп_НачПроц := Реестр.Узел(УзелПараметров).Значение("Коды нач. пени по начисл. процентам").КакСтрока; 
  // это проводка для новых записей
  если Позиция(",", Коды_Пени) = 0
  тогда Проводка := Коды_Пени 
  иначе Проводка := Подстрока(Коды_Пени, 1, Позиция(",", Коды_Пени) - 1);            

  СубПериоды := СоздатьСтатическиеДанные;
  СубПериоды.ДобавитьДробноеПоле("Date");           // дата начала субпериода
  СубПериоды.ДобавитьЦелоеПоле("ProgIndex");
  СубПериоды.ДобавитьСтроковоеПоле("NOTE", 100).Размер := 100;
  СубПериоды.ДобавитьДробноеПоле("Credit");           
  СубПериоды.ДобавитьДробноеПоле("Debit");           
  СубПериоды.ДобавитьДробноеПоле("Percent");           
  СубПериоды.ДобавитьДробноеПоле("CurrencyCredit");
  СубПериоды.ДобавитьДробноеПоле("CurrencyDebit");
  СубПериоды.Открыть;
  
  Субпериоды.Вставить;
  Субпериоды.Поле("date").КакДробное := НачалоПериода;
  
  В := СоздатьВыборку;
  В.БазаДанных := Бюджет;
  если Надо_Подпериоды или Подробно тогда 
  начало
    //разделение на осн. долг и начисл. проценты
    // для осн.долга : план погашения, погашение, смена ставки пени
    если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг)) и (ВидПеней &lt;&gt; стр_впПроц) тогда//если Позиция("325", ПрогИндекс) &gt; 0 тогда
    начало      
      // внесем субпериоды по графику погашения
      В.Запрос := "select PlanDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPlan"      
                 + " where (ProgIndex=127) and (RecordIndex=:REC)"
                 + " and (PlanDate &gt; :DATESTART) and (PlanDate&lt;=:DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PlanDate", "Credit", "график погашения", Смещения.Значение("ПлановоеПогашение"), Параметр);
      // внесем субпериоды по погашению ссуды
      В.Запрос := "select AcceptDate, RecordDate, (Debit - Credit) Total, CurrencySumma CurrencyDebit from FinDocDetail" 
                 + " where (ProgIndex=122) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";

      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Debit", "погашение ссуды", Смещения.Значение("Погашение"), Параметр);
      
      // внесем субпериоды по изменению ставок пени по осн. долгу
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                 + " where (ProgIndex in (126)) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Percent", "изменение ставки пени по осн. долгу", Смещения.Значение("ИзменениеСтавкиПени"), Параметр);      
    конец;

    // для начисл. процентов : график уплаты %, уплата, смена ставки пени
    если Позиция(Параметр, ПолучитьПараметр(стр_воНачисление, стр_впПроц)) и (ВидПеней &lt;&gt; стр_впОснДолг) тогда//если Позиция("326", ПрогИндекс) &gt; 0 тогда
    начало   
      если не Реестр.Узел(УзелПараметров).Значение("Использовать график уплаты %").КакФлаг тогда
      начало
        // внесем субпериоды по плановым датам уплаты процентов
        В.Запрос := "select PayPercentDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPercents"
                   + " where (RecordIndex = :REC)"
                   + " and (PayPercentDate &gt; :DATESTART) and (PayPercentDate &lt;= :DATEEND)"
                   + " and ("+ПолучитьИмяПараметра+" in (" + ПолучитьПараметр(стр_воНачисление, стр_проц) + "))";
        ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PayPercentDate", "Credit", "уплата процентов(план)", Смещения.Значение("НачислениеПроц"), Параметр);
      конец иначе
      начало
        В.Запрос := "select PlanDate, Summa Total, CurrencySumma CurrencyCredit from LoanCreditPlan"
                   + " where (ProgIndex = 128) and (RecordIndex = :REC)"
                   + " and (PlanDate &gt; :DATESTART) and (PlanDate &lt;= :DATEEND)";
                   //+ " and (BuhPaymentCLS in (" + Коды_Проц + ")) ";
        ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "PlanDate", "Credit", "уплата процентов(план)", Смещения.Значение("ПлановаяУплатаПроцентов"), Параметр);
      конец;
      // внесем субпериоды по факту уплаты процентов
      В.Запрос := "select i.IDate, i.RecordDate, (i.Credit - i.Debit) Total, ci.CurrencyValue CurrencyDebit from incomes32 i"
                 + " left join CurrencyIncomes ci on (ci.id = i.id)"
                 + " where (i.ProgIndex in (123)) and (i.RecordIndex = :REC) and (i.IDate &gt; :DATESTART) and (i.IDate&lt;=:DATEEND)"
                 + " and (" + ПолучитьИмяПараметра + " in (" + ПолучитьПараметр(стр_воУплата, стр_проц) + ")) ";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "IDate", "Debit", "уплата процентов", Смещения.Значение("УплатаПроц"), Параметр);
      // внесем субпериоды по изменению ставок пени по проц.
      В.Запрос := "select distinct AcceptDate, Percent from PercentJournal"
                 + " where (ProgIndex in (129)) and (RecordIndex = :REC)"
                 + " and (AcceptDate &gt; :DATESTART) and (AcceptDate &lt;= :DATEEND)";
      ОткрытьИЗакачатьВСубпериоды(Ключ, НачалоПериода, КонецСрока, В, Субпериоды, "AcceptDate", "Percent", "изменение ставки пени по проц.", Смещения.Значение("ИзменениеСтавкиПениПроц"), Параметр);      
    конец;
    //конец разделение на осн. долг и начисл. проценты
  конец;  // подробных подпериодов по всем операциям
  Результат := Субпериоды;
конец;


//////////////////////////////////////////////////////////
// Формирование периодов начисления пеней
//////////////////////////////////////////////////////////
функция СсудыФормированиеПени(Ключ: целое; КонецСрока: целое; НовыеЗаписи: СтатическиеДанные; Параметр, ВидПеней: Строка);
переменные 
  Субпериоды, ДетальВыдача, ДетальПогашение, ДетальЖурнал, ДетальПериоды: СтатическиеДанные ;
  Д, М, Г, НачалоПериода, КонецПериода, Надо_Подпериоды: целое ;
  Коды_Пени, Коды_Проц , Коды_Упл_Проц, Проводка: строка ;
  В: Выборка ;        
  ТипГода: целое;
  Смещения: IVariables;
начало
  Смещения := CreateVariables;
  ТипГода := ПолучитьТипГода(Ключ);
  Надо_Подпериоды := Реестр.Узел(УзелПараметров).Значение("Периоды пени подробно").КакФлаг;
  Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
  Коды_Упл_Проц := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
  Коды_Пени := Реестр.Узел(УзелПараметров).Значение("Коды начисления пени").КакСтрока;
  
  Проводка := ПреобразоватьВПроводку(стр_воНачисление, Параметр);
  
  НачалоПериода := ПолучитьНачалоПериодовПени(Ключ, Параметр);
  Субпериоды := СформироватьСубпериодыПени(Ключ, НачалоПериода, КонецСрока, Ложь, Параметр, ВидПеней);

  // ************** РАЗБИРАЕМСЯ С НЕОБХОДИМОСТЬЮ РАЗБИВКИ НА ПОДПЕРИОДЫ ПО МЕСЯЦУ , ***************
  // ************** если таковое в заголовке задано                                 ***************
  ДобавитьПериодыПоДлине(Ключ, Субпериоды, НачалоПериода, КонецСрока, Параметр);
  //если ПолучитьТипГода(Ключ) = 1 тогда
  //  ОткорректироватьДатыСубпериодов(Субпериоды);
 
  // *************** Упорядочиваем субпериоды и выдаем их в периоды **************************
  попытка
    Субпериоды.Индекс := "date";
    Субпериоды.ВНачало;
    КонецПериода := Субпериоды.Поле("date").КакДробное;
    Субпериоды.Следующий;
    пока не Субпериоды.ВКонце делать 
    начало
      если (КонецПериода &lt;&gt; Субпериоды.Поле("date").КакДробное) и (КонецПериода &lt; КонецСрока)
      тогда начало
        НовыеЗаписи.Вставить;
        НовыеЗаписи.Поле("periodstart").КакДробное := КонецПериода;        
        НовыеЗаписи.Поле("periodend").КакДробное := ПредыдущаяДата(Субпериоды.Поле("date").КакДробное, 1, 0);
        НовыеЗаписи.Поле("buhpaymentcls").КакЦелое := Проводка;        
        НовыеЗаписи.Поле("note").КакСтрока := Субпериоды.Поле("note").КакСтрока;        
        НовыеЗаписи.Поле("ProgIndex").КакСтрока := Субпериоды.Поле("ProgIndex").КакСтрока;        
        НовыеЗаписи.Сохранить;
        //если Субпериоды.Поле("Date").КакДробное &lt;= КонецСрока тогда 
          КонецПериода := Субпериоды.Поле("date").КакДробное;        
      конец;
      Субпериоды.Следующий; 
    конец;
    если КонецПериода &lt;= КонецСрока тогда
    // Проверка нужна затем, если КонецПериода вдруг окажется больше, чем КонецСрока (это может случится)
    начало
      НовыеЗаписи.Вставить;
      НовыеЗаписи.Поле("periodstart").КакДробное := КонецПериода;        
      НовыеЗаписи.Поле("periodend").КакДробное := КонецСрока;
      НовыеЗаписи.Поле("buhpaymentcls").КакЦелое := Проводка;
      НовыеЗаписи.Поле("note").КакСтрока := "плановое начисление";        
      НовыеЗаписи.Поле("ProgIndex").КакСтрока := ПреобразоватьПараметр(Параметр);        
      НовыеЗаписи.Сохранить;
    конец;  
  обязательно
    УдалитьОбъект(Субпериоды);
  конец;
конец;


//****************************************************************************************************
// Конструирует на странице "Начисление %" подробнейшие периоды на каждую дату выдачи или возврата ссуды
// или изменения ставки процентов  плюс  плановая разбивка от "даты начала периода" в заголовке на каждый месяц
// до заданной в интерактивном диалоге даты окончания периодов начисления  
// по одному договору , чеей ключ является входящим параметром 
//****************************************************************************************************
функция СсудыФормированиеПериодов(Ключ: целое; КонецСрока: целое; НовыеЗаписи: СтатическиеДанные);
переменные 
  Субпериоды: СтатическиеДанные;
  Д, М, Г, НачалоПериода, КонецПериода, Надо_Подпериоды: целое;
  Коды_Проц, Проводка: строка;
  В: Выборка;
  ТипГода: целое;
начало
  НачалоПериода := ПолучитьНачалоСубпериодовПроценты(Ключ);
  если НачалоПериода &lt;= КонецСрока тогда
  начало
    Субпериоды := СформироватьСубпериодыПроценты(Ключ, НачалоПериода, КонецСрока, Ложь); 
    Коды_Проц := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
    если Позиция(",", Коды_Проц) = 0
    тогда Проводка := Коды_Проц 
    иначе Проводка := Подстрока(Коды_Проц, 1 , Позиция(",", Коды_Проц) - 1);            

    // ************** РАЗБИРАЕМСЯ С НЕОБХОДИМОСТЬЮ РАЗБИВКИ НА ПОДПЕРИОДЫ ПО МЕСЯЦУ , ***************
    // ************** если таковое в заголовке задано                                 ***************
    ДобавитьПериодыПоДлине(Ключ, Субпериоды, НачалоПериода, КонецСрока, "324");
    //если ПолучитьТипГода(Ключ) = 1 тогда
      //ОткорректироватьДатыСубпериодов(Субпериоды);
   
    // *************** Упорядочиваем субпериоды и выдаем их в периоды **************************
    попытка
      Субпериоды.Индекс := "Date";
      Субпериоды.ВНачало;
      КонецПериода := Субпериоды.Поле("Date").КакДробное;
      Субпериоды.Следующий;
      пока не Субпериоды.ВКонце делать 
      начало
        если КонецПериода &lt;&gt; Субпериоды.Поле("Date").КакДробное  // не повторять подпериоды
        тогда начало
          НовыеЗаписи.Append ;
          НовыеЗаписи.Поле("PeriodStart").КакДробное := КонецПериода;        
          НовыеЗаписи.Поле("PeriodEnd").КакДробное := ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, 0);
          НовыеЗаписи.Поле("BuhPaymentCLS").КакЦелое := Проводка;        
          НовыеЗаписи.Поле("Note").КакСтрока := Субпериоды.Поле("Note").КакСтрока;        
          НовыеЗаписи.Сохранить;
          КонецПериода := Субпериоды.Поле("Date").КакДробное;        
        конец;
        Субпериоды.Следующий; 
      конец;
      
      // добавить последний подпериод - на дату заданного окончания срока формирования
      если КонецПериода &lt;= КонецСрока тогда
      начало
        НовыеЗаписи.Append ;
        НовыеЗаписи.Поле("PeriodStart").КакДробное := КонецПериода;        
        НовыеЗаписи.Поле("PeriodEnd").КакДробное := КонецСрока;
        НовыеЗаписи.Поле("BuhPaymentCLS").КакЦелое := Проводка;        
        НовыеЗаписи.Поле("Note").КакСтрока := "плановое начисление";        
        НовыеЗаписи.Сохранить;
      конец;
    обязательно
      УдалитьОбъект(Субпериоды);
    конец;
  конец;
конец;



//*********************************************************************************
// Запросы для ссуд 
//*********************************************************************************

// Запрос для вставки новых периодов
функция ЗапросДляНовыхПериодов: строка;
начало
  Результат :=  " [PumpData]{select ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, CurrencyCLS, CurrencySumma"
              + " from LoanCreditPercents where (1 &lt;&gt; 1)} " 
              + #13#10
              + " [InsertData]{insert into LoanCreditPercents"
              + " (ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd, PayPercentDate, Note, CurrencyCLS, CurrencySumma)"
              + " values (@ProgIndex, @RecordIndex, @BuhPaymentCls, @PeriodStart, @PeriodEnd, @PayPercentDate, @Note, @CurrencyCLS, @CurrencySumma)}";
конец;

// Запрос для закачки периодов и изменения в них сумм
функция ЗапросДляПериодов: строка;
начало
  Результат :=  " [PumpData]{select id, ProgIndex, RecordIndex, BuhPaymentCls, PeriodStart, PeriodEnd,"
              + " PayPercentDate, Note, Summa, AcceptDate, RecordDate, CurrencySumma, CurrencyCLS"
              + " from LoanCreditPercents where (ProgIndex in (124, 324, 325, 326)) and (RecordIndex = @RecordIndex)"
              + " order by periodend, acceptdate, id} "
              + "[ModifyData]{update LoanCreditPercents set Summa = @Summa, AcceptDate = @AcceptDate, RecordDate = @RecordDate, CurrencySumma = @CurrencySumma"
              + " where (id = @id)}"
              + "[DeleteData]{delete from LoanCreditPercents where id=@id}"; 
конец;

функция ПолучитьДатуФормирования(Заголовок: СтатическиеДанные): целое;
переменные
  Год, Месяц, День: целое;
начало
  Результат := 0;
  если Заголовок.Поле("LongDate").КакДробное &gt; 0 тогда
    Результат := Заголовок.Поле("LongDate").КакДробное
  иначе
    если Заголовок.Поле("DateAmortization").КакДробное &gt; 0
    тогда Результат := Заголовок.Поле("DateAmortization").КакДробное
    иначе Результат := ПолучитьДатуКонцаМесяца(ТекущийГод * 10000 + 1231, 0);
  если Реестр.Узел(УзелПараметров).Значение("Вариант конца периодов").КакЦелое = 1 тогда
  // Конец предыдущего месяца
  начало
    Результат := ОбычнаяДатаВРасшир(ТекущаяДата);
    Год := ГодДаты(Результат);
    Месяц := МесяцДаты(Результат);
    Месяц := Месяц - 1;
    если Месяц = 0 тогда
    начало
      Месяц := 12;
      Год := Год - 1;
    конец;
    Результат := ПолучитьДатуКонцаМесяца(Год * 10000 + Месяц * 100 + 1, 0);
  конец;
  // Может в светлом будущем будет конец года    
конец;

функция ПолучитьДатуКонцаПериодов(Заголовок: СтатическиеДанные): целое;
начало
  Результат := ПолучитьДатуФормирования(Заголовок);
  если Результат = 0 тогда
    Результат := ПолучитьДатуКонцаМесяца(ТекущийГод * 10000 + 1231, 0);
конец;

// *******************************************************************************
//    Содержит функцию для расчета начисленных 
//    процентов за пользование взятым кредитом
//********************************************************************************
функция СсудыРасчетПроцентов (Ключ: целое; ДатаНачала, ДатаКонца: дробное; Сумма, СуммаВВалюте: дробное) : целое;
переменные
  Субсумма, Процент,                              // процент по кредиту
  Остаток: дробное;                     // остаток кредита
  НачалоСубпериода,                     // дата начала субпериода
  НачалоСледующегоСубПериода,           // дата конца субпериода
  ДлинаСубпериода: дробное;             // длина субпериода
  Год, Месяц, День: целое;              // дата по составляющим               
  СубПериоды: СтатическиеДанные;        // вспомогательный набор данных
  В: Выборка;
  ТипГода, ЭтоНацВалюта, ПозицияОкругления: целое;
  Смещения: IVariables;
  ПолеКредит, ПолеДебет: строка;
  СтавкаЗаДень: дробное;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(Ключ) = КодНацВалюты);
  если ЭтоНацВалюта тогда
  начало
    // При национальной валюте оперируем обычными суммами
    ПолеКредит := "Credit";
    ПолеДебет := "Debit";
  конец  
  иначе начало
    // А при буржуйской валюте - в ихних баксах
    ПолеКредит := "CurrencyCredit";
    ПолеДебет := "CurrencyDebit";
  конец;
  ТипГода := ПолучитьТипГода(Ключ);
  ПозицияОкругления := Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день до знака").КакЦелое;
  результат := Ложь;
  если ДатаНачала &gt; ДатаКонца 
  тогда ВызватьОшибку("Конец периода не может быть раньше начала периода.");
  
  попытка

    СубПериоды := СформироватьСубпериодыПроценты(Ключ, 10000000, ДатаКонца, Истина);
    
     // внесем для удобства даты начала и конца периода начисления        
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := ДатаНачала;                    
    СубПериоды.Сохранить;
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;
    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(Субпериоды);
    // отсортируем по датам начала субпериодов
    ТипГода := ПолучитьТипГода(Ключ);
    Субпериоды.Индекс := "Date";            
    // посчитаем остаток на начало периода начисления
    Остаток := 0;
    Процент := 0;
    Сумма := 0;

    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) делать
    начало
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное 
                                                       - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоимени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;

    НачалоСубпериода := ДатаНачала;
                             
    //ПолучитьДату(РасширДатаВОбычную(ДатаНачала), Год, Месяц, День);
    Год := ГодДаты(ДатаНачала);
    Месяц := МесяцДаты(ДатаНачала);
    День := ДеньДаты(ДатаНачала);
    
    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
        НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
        ДлинаСубПериода := ЧислоДнейВПериоде(Ключ, НачалоСубпериода, НачалоСледующегоСубПериода);
        СтавкаЗаДень := Процент / (ЧислоДнейВЛюбомГоду(Ключ, Год) * 100);
        если Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день").КакФлаг тогда
          // +2 написано потому, что ставка за день выражается в процентах, а мы округляем уже долю от ставки
          СтавкаЗаДень := ОкруглитьДоЗнака(СтавкаЗаДень, ПозицияОкругления + 2);
        // Округляем сумму за субпериод, дабы не получить расхождение с отчетом
        Субсумма :=  ОкруглитьДоЗнака(Остаток * ДлинаСубПериода * СтавкаЗаДень, 2);
        если Субсумма &lt; 0 тогда Субсумма := 0;
        Сумма := Сумма + субсумма ;    

        // измененные условия кредита
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;

        НачалоСубпериода := НачалоСледующегоСубПериода;
        СубПериоды.Следующая;
    конец;

    если не ЭтоНацВалюта тогда
    начало
      // Подсчитанная нами сумма есть сумма в валюте
      СуммаВВалюте := Сумма;
      Сумма := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(Ключ), ДатаКонца) * СуммаВВалюте;
    конец;
    Сумма := ОкруглитьДоЗнака(Сумма, 2); // Округляем до копеек
    результат := Истина;

  обязательно
    УдалитьОбъект(СубПериоды);     
  конец;
конец;

////////////////////////////////////////////////////////////////
// Расчет пеней
///////////////////////////////////////////////////////////////

функция СсудыРасчетПени (Ключ: целое; ДатаНачала, ДатаКонца: дробное; Сумма, ВалютнаяСумма: дробное; Параметр, ВидПеней : Строка): целое;
переменные
  СубсуммаДолг, Процент,                              // процент по кредиту
  ОстатокДолг, СуммаДолг: дробное;                     // остаток кредита
  НачалоСубпериода,                     // дата начала субпериода
  НачалоСледующегоСубПериода,           // дата конца субпериода
  ДлинаСубпериода: дробное;             // длина субпериода
  Год, Месяц, День, ТипГода: целое;              // дата по составляющим               
  СубПериоды: СтатическиеДанные;        // вспомогательный набор данных
  В: Выборка ;
  Смещения: IVariables;
  КредитДолг, ДебетДолг: строка;
  ЭтоНацВалюта, ПозицияОкругления: целое;
  СтавкаЗаДень: дробное;
начало
  Смещения := CreateVariables;
  ПолучитьСмещенияСсуды(Смещения);
  ТипГода := ПолучитьТипГода(Ключ);
  ПозицияОкругления := Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день до знака").КакЦелое;
  результат := Ложь;
  если ДатаНачала &gt; ДатаКонца 
  тогда ВызватьОшибку("Конец периода не может быть раньше начала периода.");
  ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(Ключ) = КодНацВалюты);
  если ЭтоНацВалюта тогда
  начало
    КредитДолг := "Credit";
    ДебетДолг := "Debit";
  конец 
  иначе начало
    КредитДолг := "CurrencyCredit";
    ДебетДолг := "CurrencyDebit";
  конец;
  попытка
  
    Субпериоды := СформироватьСубпериодыПени(Ключ, 10000000, ДатаКонца, Истина, Параметр, ВидПеней);

    // внесем для удобства даты начала и конца периода начисления        
    СубПериоды.Вставить;
    Субпериоды.ПолеПоИмени("date").КакДробное := ДатаНачала;                    
    СубПериоды.Сохранить;
    СубПериоды.Вставить;                         
    Субпериоды.ПолеПоИмени("date").КакДробное := СледующаяДата(ДатаКонца, 1, ТипГода);                    
    СубПериоды.Сохранить;

    если ТипГода = 1 тогда
      ОткорректироватьДатыСубпериодов(Субпериоды);

    // отсортируем по датам начала субпериодов
    Субпериоды.Индекс := "Date";            
    // посчитаем остаток на начало периода начисления
    ОстатокДолг := 0;
    Процент := 0;
    СуммаДолг := 0;
    //ПоказатьДанные(Субпериоды);
    // найдем "входящие" остаток и процент на начало периода
    Субпериоды.ВНачало;
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) делать
    начало
        ОстатокДолг := ОстатокДолг + Субпериоды.ПолеПоИмени(КредитДолг).КакДробное 
                                      - Субпериоды.ПолеПоИмени(ДебетДолг).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда 
          Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
        СубПериоды.Следующая;    
    конец;

    НачалоСубпериода := ДатаНачала;                         
    // ПолучитьДату(РасширДатаВОбычную(ДатаНачала), Год, Месяц, День);                // получить Год                 

    // Расчет начисленных процентов
    пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
    начало
        Год := ГодДаты(НачалоСубпериода);
        НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
        ДлинаСубПериода := ЧислоДнейВПериоде(Ключ, НачалоСубпериода, НачалоСледующегоСубПериода);
        СтавкаЗаДень := Процент / (100 * ЧислоДнейВЛюбомГоду(Ключ, Год));
        если Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день").КакФлаг тогда
          СтавкаЗаДень := ОкруглитьДоЗнака(СтавкаЗаДень, ПозицияОкругления + 2);
        // Считаем начисленные пени 
        СубсуммаДолг := ОкруглитьДоЗнака(ОстатокДолг * ДлинаСубПериода * СтавкаЗаДень, 2);
        если СубсуммаДолг &lt; 0 тогда СубсуммаДолг := 0;    
        СуммаДолг := СуммаДолг + СубсуммаДолг;    

        // измененные условия кредита
        ОстатокДолг := ОстатокДолг + Субпериоды.ПолеПоИмени(КредитДолг).КакДробное - Субпериоды.ПолеПоИмени(ДебетДолг).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  
          Процент := субпериоды.ПолеПоИмени("percent").КакДробное;

        НачалоСубпериода := НачалоСледующегоСубПериода;
        СубПериоды.Следующая;
    конец;
    
    если ЭтоНацВалюта тогда
    начало
      Сумма := ОкруглитьДоЗнака(СуммаДолг, 2); // Округляем до копеек
      ВалютнаяСумма := 0;
    конец 
    иначе начало
      ВалютнаяСумма := СуммаДолг;
      Сумма := ОкруглитьДоЗнака(ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(Ключ), ДатаКонца) * ВалютнаяСумма, 2);
    конец;
    результат := Истина;

  обязательно
    УдалитьОбъект(СубПериоды);     
  конец;
конец;
</value>
    <param value="ДляСсуд.abl" type="3" name="Export">PARFENOV\parfenovmv\10.02.2006 16:25:04</param>
    <param value="ДляСсуд.abl" type="3" name="version">36.042.07</param>
    <param value="ДляСсуд.abl" type="3" name="crc32">$FE525BA4</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыСсуды.abl">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Reports.lib';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Библиотеки\Documents.lib';

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  Маппинг1 = "Район=lc.RegionCLS,Мероприятие=lc.Fact,ЛицСчет=lc.FacialAcc_CLS,ДатаВремяСоздания=lc.CreateDate,ДатаВремяИзменения=lc.UpdateDate,";
  Маппинг2 = "ТипОрг=o.Org_CLS,ВидСсуды=lc.LoanType,ОргСсылка=lc.Org_Ref,Бюджет=lc.BudgetRef,СписокДоговоровПоСсудам=lc.id";
  МаппингФинансирование = ",ФинТип=fdd.FinType,ФинИсточник=fdd.FinSource,ИндексыДанных=fdd.ProgIndex,КодЗаписи=fdd.id,БухОперация=fdd.BuhPaymentCLS,РСФО=fdd.DFAccount,Бюджет=abt.BudgetRef,ТипПлатДок=fdd.DocType,ТипКлассификации=fdd.ClsType,ИсточникВнутрФинансированияКлюч=fdd.IFS";
  МаппингДоходы = ",КодДохода=k.KDValue,СубКД=i.SubKD,РСФО=i.IncAccount,БухОперация=i.BuhPaymentCLS,ИндексыДанных=i.ProgIndex,КодЗаписи=i.id,ТипСредств=i.MeansType,Бюджет=abt.BudgetRef,ТипПлатДок=i.DocType";
  nl = #13#10;
переменные
  Запрос: строка;

// Преобразовывает кверевый запрос в статиксетный
функция ЗапросДляСС(Запрос: строка): строка;
начало
  Результат := "[PumpData] {" + Запрос + "}";
конец;

функция ПолучитьПодстрокуДоСимвола(Стр, Символ, Остаток: строка): строка;
начало
  Результат := Подстрока(Стр, 1, Позиция(Символ, Стр) - 1);
  Остаток := Подстрока(Стр, Позиция(Символ, Стр) + 1, Длина(Стр) - Позиция(Символ, Стр));
  если Результат = "" тогда
    Результат := Остаток;
конец;

/* Ограничение по строковому номеру договора */
функция ОграничениеПоНомеруДоговора(Коллекция: IVariables): строка;
начало
  Результат := "";
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Результат := " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')" + nl;
конец;

функция СформироватьОграничениеПоБухСчету(Маппинг: строка; Коллекция: IVariables): строка;
переменные
  БухСчет: целое;
  ИмяПоля: строка;
начало
  ИмяПоля := ПолучитьЗначениеСтр(Маппинг);
  если УбратьПробелы(Коллекция.Значение("СинтетСчет")) &lt;&gt; "" тогда
  начало
    если не Коллекция.Значение("СинтетСчетЧек") тогда
    начало
      БухСчет := КлассификаторВЧисло(Коллекция.Значение("СинтетСчет"), "0000.00");
      если БухСчет &lt;&gt; 0 тогда
      начало
        если БухСчет ост 10000 = 0 тогда
        // Ограничиваем по счету второго порядка
        начало
          Результат := "and (" + ИмяПоля + " between " + ЦелоеВСтроку(БухСчет) + " and " + 
            ЦелоеВСтроку(БухСчет + 9999) + ")";
        конец иначе
          если БухСчет ост 1000 = 0 тогда
          // Ограничиваем по счету третьего порядка
          начало
          Результат := "and (" + ИмяПоля + " between " + ЦелоеВСтроку(БухСчет) + " and " + 
            ЦелоеВСтроку(БухСчет + 999) + ")";
          конец иначе
            Результат := Ограничение("СинтетСчет="+ ИмяПоля, Коллекция);
      конец
      иначе
        Результат := Ограничение("СинтетСчет="+ ИмяПоля, Коллекция);
    конец
    иначе 
      Результат := Ограничение("СинтетСчет="+ ИмяПоля, Коллекция);
  конец;
конец;

функция СформироватьОграничениеПоСчету(Маппинг: строка; Коллекция: IVariables): строка;
начало
  Результат := "";
  Результат := СформироватьОграничениеПоБухСчету(Маппинг, Коллекция);
  если позиция("and", Строчные(УбратьПробелы(Результат))) &lt; 3 тогда
    Результат := Подстрока(Результат, 3 + позиция("and", Строчные(Результат)), Длина(Результат) - (2 + позиция("and", Строчные(Результат))));
конец;

функция СформироватьОграничениеПоСостояниюДоговоров(Коллекция: IVariables): строка;
начало
  Результат := "";
  выбрать Коллекция.Значение("СостояниеДоговоров") из
    1: Результат := " and (lc.AcceptDate is null)";
    2: Результат := " and (lc.AcceptDate is not null)";
  конец;  
конец;

// Формирует ограничения по датам
функция СформироватьОграничениеПоДатам(ИмяПоля, ИмяПоля2: строка; Коллекция: IVariables): строка;
начало
  если ИмяПоля2 = "" тогда
    Результат :=   " and " + ИмяПоля + " &gt;= " + ЦелоеВСтроку(Коллекция.Значение("НачДата")) + nl 
                 + " and " + ИмяПоля + " &lt;=" + ЦелоеВСтроку(Коллекция.Значение("КонДата"))  + nl
  иначе
    Результат :=   " and ((" + ИмяПоля + " &gt;= " + ЦелоеВСтроку(Коллекция.Значение("НачДата")) + nl 
                 + " and " + ИмяПоля + " &lt;=" + ЦелоеВСтроку(Коллекция.Значение("КонДата")) + nl
                 + " and (" + ИмяПоля2 + " is null)) " + nl
                 + " or (" + ИмяПоля2 + " &gt;= " + ЦелоеВСтроку(Коллекция.Значение("НачДата")) + nl
                 + " and " + ИмяПоля2 + " &lt;= " + ЦелоеВСтроку(Коллекция.Значение("КонДата")) + "))" + nl;
конец;

функция СформироватьОграниченияПоТипуДаты(Коллекция: IVariables): строка;
начало
  Результат := "";
  выбрать Коллекция.Значение("ТипДатыУнивер") из
    17: Результат := Формат(" and (lc.DateAmortization  between %d and %d)", СтрокаВЦелое(Коллекция.Значение("ДатаНачалаПериода")), СтрокаВЦелое(Коллекция.Значение("ДатаКонцаПериода")) );
    18: Результат := Формат(" and (lc.LongDate between %d and %d)", СтрокаВЦелое(Коллекция.Значение("ДатаНачалаПериода")), СтрокаВЦелое(Коллекция.Значение("ДатаКонцаПериода")) );
  конец;
конец;
 


/* С помощью этого запроса извлекаются данные по основному долгу */ 
функция ЗапросОснДолг(Коллекция: IVariables): строка;
переменные
  Комментарий, Ограничения, Запрос, ОграниченияПоПлатежкам, ПолеДата, ОграничениеПоТипуДаты: Строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Выдача/погашение ссуды");
  /* Ограничение по классификации */
  Ограничения := Ограничение(Маппинг1 + Маппинг2 + МаппингФинансирование, Коллекция);
  /* Ограничение по номеру договора */
  Ограничения := Ограничения + ОграничениеПоНомеруДоговора(Коллекция);

  если УбратьПробелы(Коллекция.Значение("СинтетСчет")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=abt.BuhAcc", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ft.Account", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Credit", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Debit", Коллекция)
      + ")";

  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговоров(Коллекция);    
  
  ОграничениеПоТипуДаты := СформироватьОграниченияПоТипуДаты(Коллекция);
 
  ОграниченияПоПлатежкам := "";
  ПолеДата := "";
  если Коллекция.Значение("БезПП") = 1 тогда
  начало
    ПолеДата := "fdd.AcceptDate";
    ОграниченияПоПлатежкам := " and (pd.AcceptDate is null)" + СформироватьОграничениеПоДатам("fdd.AcceptDate", "", Коллекция)+ " and (not (fdd.DocType between 1010 and 1019))";
  конец
  иначе
  начало
    ПолеДата := "pd.AcceptDate";
    ОграниченияПоПлатежкам := " and (pd.AcceptDate is not null)" + СформироватьОграничениеПоДатам("pd.AcceptDate", "", Коллекция) + " and (fdd.DocType between 1010 and 1019)"; 
  конец;
  
  если Реестр.Узел(УзелПараметров).Значение("По дате учета").КакФлаг тогда
  начало
    ПолеДата := "fdd.RecordDate";
    ОграниченияПоПлатежкам := СформироватьОграничениеПоДатам("fdd.RecordDate", "", Коллекция);
  конец;
  // удаляем все ограничения если это печатный документ
  Если Коллекция.Значение("ПечатныйДокумент")
    тогда начало
     Ограничения  := "";
     ОграниченияПоПлатежкам := "";
     Ограничения  := Ограничение("КодЗаписи=fdd.id", Коллекция);
    конец; 
    
  /* Формируем запрос */
  Запрос := " select lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma, lc.ProgIndex CaptionProgIndex, lc.BudgetRef, lc.Org_Ref, lc.Note,"
          + " lc.ContractType, lc.PeriodStart, lc.PeriodLength, lc.CreaterUser, lc.CreateDate, lc.UpdaterUser, lc.UpdateDate, lc.LongDate, lc.AcceptDate,"
          + " lc.YearType, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.LoanType, lc.DebtType, lc.CurrencySumma, lc.CurrencyCLS, lc.CBPercentRate, lc.CBFineRate,"
          + " lc.CBFinePercentRate, lc.ReturnStartDate, lc.ReturnPeriodLength, lc.PayPercentStartDate, lc.PayPercentPeriodLength, lc.DocBase,"
          + " lc.DFAccount, lc.AccRef, lc.AdditionalAccRef,lc.AcceptDate CaptionAcceptDate,"
          + " fdd.id DetID, fdd.KFSR, fdd.KCSR, fdd.KVSR, fdd.KVR, fdd.KESR, fdd.SubKESR, fdd.Fact FactFin, fdd.FinSource, fdd.RegionCLS RegionClsFin, fdd.DocType,"
          + " fdd.FinType, fdd.CurrencyCLS, fdd.MeansType,"
          + " fdd.DFAccount, fdd.AccountRef, " + ПолеДата + " ADate, fdd.PlanDate, fdd.BudgetRef, fdd.Summa, fdd.CurrencySumma,"
          + " fdd.Credit, fdd.Debit, fdd.Note DetNote, fdd.UserFlag, fdd.SourceDocNum, fdd.ProgIndex, fdd.RecordIndex, fdd.CreaterUser,"
          + " fdd.CreateDate, fdd.UpdaterUser, fdd.UpdateDate, fdd.AcceptorAccRef, fdd.FacialAcc_CLS FacialAcc_ClsFin, fdd.RecordIndex2, fdd.Promise,"
          + " fdd.BuhPaymentCLS, fdd.RequestsIndex, fdd.RecordIndex3, fdd.RecordDate, fdd.TotalRef, fdd.DocumentBaseType,"
          + " fdd.TaxNote, fdd.IFS, fdd.ClsType, cast(5 as integer) AlgIndex,"
          + " pd.Summa PDSumma, pd.AcceptDate PDDate, pd.Number NumberPP, pd.AcceptDate AcceptDatePP, "
          + " abt.BuhAcc AccCredit2, ft.Account AccDebit2, ac.Credit AccCredit, ac.Debit AccDebit,"
          + " lc.DocBase, db.Name DocBaseName, db.DocumentBaseDate, db.DocumentBaseNum"
          /* Таблицы */
          + " from LoanCredit lc"
          + " inner join FinDocDetail fdd on (fdd.RecordIndex = lc.id)"
          + " left join dfAccountsBuhTable abt on ((abt.id = fdd.DFAccount)"+Ограничение('Бюджет=abt.BudgetRef%d',Коллекция)+")"
          + " left join FinType ft on (ft.id = fdd.FinType)"
          + " left join AccountsCorr ac on (ac.BuhOperationID = fdd.BuhPaymentCLS)"
          + " left join Organizations o on (o.id = lc.Org_Ref)"
          + " left join PayDoc32 pd on (pd.RecordIndex = fdd.id)"
      
          + " left join DocBase db on (db.id = lc.DocBase)" 
          /* Условия */
          + " where (lc.ProgIndex = 120) "
          + Ограничения
          + ОграниченияПоПлатежкам
          + ОграничениеПоТипуДаты

          ;
  Результат := "[PumpData] " + nl
               + " { /* Ссуды. Основной долг */ " + nl
               + SQLOptim(Запрос, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;  

// Можно получать как проценты, так и пени, зависит от проводок и/или индексов данных
функция ЗапросНачисленоПроц(Коллекция: IVariables): строка;
переменные
  Комментарий, Ограничения, Запрос,ОграничениеПоТипуДаты: строка;
  ОгрПоДате: строка;
начало
  // Получаем комментарий, который будет изображен на прогрессбаре
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Начисленные проценты/пени");

  Ограничения := Ограничение(Маппинг1 + Маппинг2 + ",ИндексыДанных=lcp.ProgIndex,КодЗаписи=lcp.id,БухОперация=lcp.BuhPaymentCLS,РСФО=lcp.DFAccount", Коллекция);
  Ограничения := Ограничения + nl + ОграничениеПоНомеруДоговора(Коллекция);

  если УбратьПробелы(Коллекция.Значение("СинтетСчет")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=ac.Credit", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Debit", Коллекция)
      + ")" + nl;
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговоров(Коллекция);    

  ОграничениеПоТипуДаты := СформироватьОграниченияПоТипуДаты(Коллекция);

  ОгрПоДате := СформироватьОграничениеПоДатам("lcp.AcceptDate", "", Коллекция);
  если Коллекция.Значение("БезДатыПринятия") = 1 тогда
    ОгрПоДате := " and lcp.PeriodEnd &gt;= " + ЦелоеВСтроку(Коллекция.Значение("НачДата")) + nl            
               + " and lcp.PeriodEnd &lt;= " + ЦелоеВСтроку(Коллекция.Значение("КонДата")) + nl;
  если Коллекция.Значение("ОгрПоПериоду") = 1 тогда
    ОгрПоДате := " and lcp.PeriodStart &amp;gt;= " + ЦелоеВСтроку(Коллекция.Значение("НачДата")) + nl            
               + " and lcp.PeriodEnd &amp;lt;= " + ЦелоеВСтроку(Коллекция.Значение("КонДата")) + nl; 

  если Реестр.Узел(УзелПараметров).Значение("По дате учета").КакФлаг тогда
  начало
    ОгрПоДате := СформироватьОграничениеПоДатам("lcp.RecordDate", "", Коллекция);
  конец; 

   /* Формируем запрос */
  Запрос := " select lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma, lc.ProgIndex CaptionProgIndex, lc.BudgetRef, lc.Org_Ref, lc.Note,"
          + " lc.ContractType, lc.PeriodStart, lc.PeriodLength, lc.CreaterUser, lc.CreateDate, lc.UpdaterUser, lc.UpdateDate, lc.LongDate, lc.AcceptDate,"
          + " lc.YearType, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.LoanType, lc.DebtType, lc.CurrencySumma, lc.CurrencyCLS, lc.CBPercentRate, lc.CBFineRate,"
          + " lc.CBFinePercentRate, lc.ReturnStartDate, lc.ReturnPeriodLength, lc.PayPercentStartDate, lc.PayPercentPeriodLength, lc.DocBase,"
          + " lc.DFAccount, lc.AccRef, lc.AdditionalAccRef,lc.AcceptDate CaptionAcceptDate,"
          + " cast (0 as integer) FinSource, cast(0 as integer) FinType,"
          + " lcp.id DetID, lcp.RecordIndex,lcp.AcceptDate ADate, lcp.Summa Summa, lcp.Summa Credit, lcp.SubKD, lcp.BuhPaymentCLS,"
          + " lcp.Note DetNote, lcp.PeriodStart, lcp.PeriodEnd, lcp.PayPercentDate, lcp.ProgIndex, lcp.CreaterUser, lcp.CreateDate,"
          + " lcp.UpdaterUser, lcp.UpdateDate, lcp.RecordDate, lcp.CurrencyCLS, lcp.CurrencySumma, lcp.DFAccount,"
          + " ac.Credit AccCredit, ac.Debit AccDebit," 
          + " lc.DocBase, db.Name DocBaseName, db.DocumentBaseDate, db.DocumentBaseNum"

          + " from LoanCreditPercents lcp"
          + " left join LoanCredit lc on (lc.id = lcp.RecordIndex)"
          + " left join Organizations o on (lc.Org_Ref = o.id)"
          + " left join AccountsCorr ac on (ac.BuhOperationID = lcp.BuhPaymentCLS)"
          + " left join DocBase db on (db.id = lc.DocBase)"

          + " where (lc.ProgIndex = 120)"
          + Ограничения
          + ОгрПоДате
          + ОграничениеПоТипуДаты;
  Результат := "[PumpData] " + nl
               + " { /* Начисление процентов */ " + nl
               + SQLOptim(Запрос, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

// Можно получать как проценты, так и пени, зависит от ИндексовДанных
функция ЗапросУплаченоПроц(Коллекция: IVariables): строка;
переменные
  Комментарий, Ограничения, Запрос: строка;
  ДопПоля, ДопТаблица, ОгрПоДате,ОграничениеПоТипуДаты: строка;
начало
  // Получаем комментарий, который будет изображен на прогрессбаре
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Уплаченные проценты/пени");

  // Формируем ограничение по Району, Мероприятию и прочим классификаторам с панели параметров
  Ограничения := Ограничение(Маппинг1 + Маппинг2 + МаппингДоходы, Коллекция);

  Ограничения := Ограничения +ОграничениеПоНомеруДоговора(Коллекция);
  ОграничениеПоТипуДаты := СформироватьОграниченияПоТипуДаты(Коллекция);
  если УбратьПробелы(Коллекция.Значение("СинтетСчет")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (" + СформироватьОграничениеПоСчету("СинтетСчет=abt.BuhAcc", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=SubKD.BuhAccount", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Credit", Коллекция)
      + " or " + СформироватьОграничениеПоСчету("СинтетСчет=ac.Debit", Коллекция)
      + ")" + nl;

  ОгрПоДате := СформироватьОграничениеПоДатам("i.IDate", "", Коллекция);
  если Реестр.Узел(УзелПараметров).Значение("По дате учета").КакФлаг тогда
  начало
    ОгрПоДате := СформироватьОграничениеПоДатам("i.RecordDate", "", Коллекция);
  конец; 

  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговоров(Коллекция);    
  ДопПоля := "";
  ДопТаблица := "";
  Запрос := " select lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma, lc.ProgIndex CaptionProgIndex, lc.BudgetRef, lc.Org_Ref, lc.Note," + nl
          + " lc.ContractType, lc.PeriodStart, lc.PeriodLength, lc.CreaterUser, lc.CreateDate, lc.UpdaterUser, lc.UpdateDate, lc.LongDate, lc.AcceptDate," + nl
          + " lc.YearType, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.LoanType, lc.DebtType, lc.CurrencySumma, lc.CurrencyCLS, lc.CBPercentRate, lc.CBFineRate," + nl
          + " lc.CBFinePercentRate, lc.ReturnStartDate, lc.ReturnPeriodLength, lc.PayPercentStartDate, lc.PayPercentPeriodLength, lc.DocBase," + nl
          + " lc.DFAccount, lc.AccRef, lc.AdditionalAccRef,lc.AcceptDate CaptionAcceptDate," + nl
          + " cast (0 as integer) FinSource, cast(0 as integer) FinType," + nl
          + " i.id DetID, i.DocCount, i.IDate ADate, i.Credit, i.Debit, i.DocType, i.INN, i.Org_Ref DetOrg_Ref, i.AccountIndex, " + nl
          + " i.KD kdid, k.KDValue KD, i.SubKD, i.RegionCLS, i.GosNI, i.IncAccount DFAccount, i.ProgIndex, i.RecordIndex, i.BudgetRef, i.Note DetNote , i.RecordIndex2, " + nl
          + " i.ElNum, i.NoteEx, i.BuhPaymentCLS, i.AccountRef, i.ElPacketNum, i.FacialAcc_CLS, i.NDS, i.MeansType, i.RecordDate, " + nl
          + " i.TotalRef, i.RequestsIndex, i.KVSR, i.TaxNote, i.REALPAYERORG_REF, i.DocDate, i.Fact, i.DocNum SourceDocNum, " + nl
          + " abt.BuhAcc AccDebit2, SubKD.BuhAccount AccCredit2, ac.Debit AccDebit, ac.Credit AccCredit," + nl
          + " lc.DocBase, db.Name DocBaseName, db.DocumentBaseDate, db.DocumentBaseNum"
          
          + " from Incomes32 i"
          + " left join LoanCredit lc on (lc.id = i.RecordIndex)" + nl
          + " left join Organizations o on (lc.Org_Ref = o.id)" + nl
          + " left join AccountsCorr ac on (ac.BuhOperationID = i.BuhPaymentCLS)" + nl
          + " left join dfAccountsBuhTable abt on ((abt.id = i.IncAccount)"+Ограничение('Бюджет=abt.BudgetRef%d',Коллекция)+")" + nl
          + " left join SubKD on (SubKD.id = i.SubKD)" + nl
          + " left join KD k on (k.id = i.kd)"
          + " left join DocBase db on (db.id = lc.DocBase)"         
          
          + " where (lc.ProgIndex = 120)" + nl
          + ОгрПоДате
          + Ограничения
          + ОграничениеПоТипуДаты;

  Результат := "[PumpData] " + nl
               + " { /* Уплата процентов и пени */ " + nl
               + SQLOptim(Запрос, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

// Запрос для графиков
функция ЗапросГрафик(Коллекция: IVariables): строка;
переменные
  Комментарий, Ограничения, ОгрПоДате, Запрос,ОграничениеПоТипуДаты: строка;
начало
  // Получаем комментарий, который будет изображен на прогрессбаре
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Загрузка графиков погашения/уплаты");

  Ограничения := Ограничение("Бюджет=lc.BudgetRef,Район=lc.RegionCLS,Мероприятие=lc.Fact,ЛицСчет=lc.FacialAcc_CLS,"
        + "ТипОрг=o.Org_CLS,ВидСсуды=lc.LoanType,Валюта=lc.CurrencyCLS,ОргСсылка=lc.Org_Ref,"
        + "ИндексыДанных=lcp.ProgIndex,КодЗаписи=lcp.id,СписокДоговоровПоСсудам=lc.id", Коллекция);
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговоров(Коллекция);    
  ОграничениеПоТипуДаты := СформироватьОграниченияПоТипуДаты(Коллекция);
  ОгрПоДате := "";
  если (Коллекция.Значение("НачДата") &lt;&gt; "") тогда
    ОгрПоДате := " and lcp.PlanDate &gt;= " + Строка(Коллекция.Значение("НачДата")) + nl
               + " and lcp.PlanDate &lt;= " + Строка(Коллекция.Значение("КонДата")) + nl; 
               
  Запрос := " select lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma, lc.ProgIndex CaptionProgIndex, lc.BudgetRef, lc.Org_Ref, lc.Note,"
          + " lc.ContractType, lc.PeriodStart, lc.PeriodLength, lc.CreaterUser, lc.CreateDate, lc.UpdaterUser, lc.UpdateDate, lc.LongDate, lc.AcceptDate,"
          + " lc.YearType, lc.RegionCLS, lc.Fact, lc.FacialAcc_CLS, lc.LoanType, lc.DebtType, lc.CurrencySumma, lc.CurrencyCLS, lc.CBPercentRate, lc.CBFineRate,"
          + " lc.CBFinePercentRate, lc.ReturnStartDate, lc.ReturnPeriodLength, lc.PayPercentStartDate, lc.PayPercentPeriodLength, lc.DocBase,"
          + " lc.DFAccount, lc.AccRef, lc.AdditionalAccRef,lc.AcceptDate CaptionAcceptDate,"
          + " cast (0 as integer) FinSource, cast(0 as integer) FinType,"
          + " lcp.id DetID, lcp.RecordIndex,lcp.PlanDate ADate, lcp.Summa Summa, lcp.Summa Credit,"
          + " lcp.Note DetNote, lcp.ProgIndex, lcp.CreaterUser, lcp.CreateDate,"
          + " lcp.UpdaterUser, lcp.UpdateDate, lcp.CurrencyCLS, lcp.CurrencySumma"

          + " from LoanCreditPlan lcp"
          + " left join LoanCredit lc on (lc.id = lcp.RecordIndex)"
          + " left join Organizations o on (lc.Org_Ref = o.id)"

          + " where (lc.ProgIndex = 120)"
          + Ограничения
          + ОгрПоДате
          + ОграничениеПоТипуДаты;

  Результат := "[PumpData] " + nl
               + " { /* График уплаты процентов */ " + nl
               + SQLOptim(Запрос, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

/* Функция для получения данных по основному долгу (выдача, погашение, списание) */
функция ПолучитьОсновнойДолг(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
  ЛокКоллекция: IVariables;
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.Запрос := "";
  Данные.DestroyFields;
  ВспомСД := СоздатьСтатическиеДанные;
  ВспомСД.СоединитьБД;
  
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);

  попытка
    // Закачиваем данные без платежек
    ЛокКоллекция.Значение("БезПП") := 1;
    ВспомСД.Запрос := ЗапросОснДолг(ЛокКоллекция);
    ПолучитьДанные(ВспомСД, ЛокКоллекция);
    Данные.ПрисвоитьПоля(ВспомСД);
    Данные.Открыть;
    Данные.Закачать(ВспомСД);

    // если ограничение по дате учета, то все данные выберуться за 1 раз
    если не Реестр.Узел(УзелПараметров).Значение("По дате учета").КакФлаг тогда
    начало
      // Закачиваем данные с платежками
      ВспомСД.Закрыть;
      ЛокКоллекция.Значение("БезПП") := 0;
      ВспомСД.Запрос := ЗапросОснДолг(ЛокКоллекция);
      ПолучитьДанные(ВспомСД, ЛокКоллекция);
      Данные.Закачать(ВспомСД);
    конец;  
  обязательно
    УдалитьОбъект(ВспомСД, ЛокКоллекция);
  конец;  
конец;

// Выполняет следующее: есть записи о выдаче и процентах
// Нужно записи о процентах приделать к записям о выдаче, дабы получить ограничения по типу и 
функция ПриделатьПроцентыКВыдаче(Данные, Выдано: СтатическиеДанные; Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
  ФильтрВыдано: строка;
  РекордИндекс, к: целое;
начало
  ВспомСД := СоздатьСтатическиеДанные;
  ВспомСД.СоединитьБД;
  попытка
    ВспомСД.ПрисвоитьПоля(Данные);
    ВспомСД.Открыть;
    ВспомСД.Группировать(Данные, Коллекция.Значение("МаппингГруппировкиПроцентов"));// Номер договора и имя организации притянем из выдачи
    ВспомСД.IndexFieldNames := "id";
    Данные.Очистить;
    // Получаем все ограниченные как надо записи о процентах
    // Теперь ограничиваем по выдано
    ФильтрВыдано := "(РекордИндекс &gt; 0)";
    Выдано.Фильтр := ФильтрВыдано; 
    Выдано.Filtered := Истина;
    // Получили записи только о выданном
    Выдано.Индекс := "РекордИндекс";
    ВспомСД.Индекс := "id";
    Выдано.ВНачало;
    пока не Выдано.ВКонце делать
    начало
      РекордИндекс := Выдано.Поле("РекордИндекс").КакЦелое;
      если ВспомСД.Locate("id", РекордИндекс, 0) тогда
      // Нашли в процентах запись с этим-же ИД, ее нужно обклассификаторить и подготовить к возврату 
      начало
        Данные.Вставить;
        от к := 0 до Данные.ЧислоПолей - 1 делать
          Данные.Поля(к).КакСтрока := ВспомСД.Поля(к).КакСтрока;
        если Выдано.FindField("ФинИсточник", nil) тогда
          Данные.Поле("FinSource").КакЦелое := Выдано.Поле("ФинИсточник").КакЦелое;
        если Выдано.FindField("СчетПолучателя", nil) тогда
          Данные.Поле("AcceptorAccRef").КакЦелое := Выдано.Поле("СчетПолучателя").КакЦелое;
        Данные.Сохранить;
      конец;
     
      пока (РекордИндекс = Выдано.Поле("РекордИндекс").КакЦелое) и (не Выдано.ВКонце) делать
      начало
        Выдано.Следующая;
      конец;
    конец;
  обязательно
    Выдано.Фильтр := "";
    Выдано.Filtered := Ложь;
    УдалитьОбъект(ВспомСД);
  конец;
конец;

// В этой функции сделан отход от секционной структуры ради достижения улучшенной скорости работы
функция ПолучитьНачисленоПроц(Данные, Выдано: СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := ЗапросНачисленоПроц(Коллекция);
  НастроитьПараметры(Данные, Коллекция);
  ПолучитьДанные(Данные, Коллекция);
  Коллекция.Значение("МаппингГруппировкиПроцентов") := "keys=id;Summa=sum(Summa)";
  /*
  если Выдано.FindField("ФинИсточник", nil) или (Коллекция.Значение("ИстВнутрФин") &lt;&gt; "") 
    или (Коллекция.Значение("ФинТип") &lt;&gt; "") тогда
    ПриделатьПроцентыКВыдаче(Данные, Выдано, Коллекция); */
конец;

// Закачка уплаченных процентов
функция ПолучитьУплаченоПроц(Данные, Выдано: СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := ЗапросУплаченоПроц(Коллекция);
  НастроитьПараметры(Данные, Коллекция);
  ПолучитьДанные(Данные, Коллекция);
  Коллекция.Значение("МаппингГруппировкиПроцентов") := "keys=id;Credit=sum(Credit)";
  /*
  если Выдано.FindField("ФинИсточник", nil) или Коллекция.Значение("ИстВнутрФин") &lt;&gt; "" 
    или (Коллекция.Значение("ФинТип") &lt;&gt; "")
  тогда
    ПриделатьПроцентыКВыдаче(Данные, Выдано, Коллекция);       */
конец;

// Секция для графиков
функция ПолучитьГрафик(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := ЗапросГрафик(Коллекция);
  НастроитьПараметры(Данные, Коллекция);
  ПолучитьДанные(Данные, Коллекция);
конец;

функция ПроверитьПроводки;
начало
  если УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока) = "" тогда
    ВызватьОшибку("В реестре не найдены проводки списания основной суммы.");
  если УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания процентов").КакСтрока) = "" тогда
    ВызватьОшибку("В реестре не найдены проводки списания процентов.");
конец;</value>
    <param value="ЗапросыСсуды.abl" type="3" name="Export">MEGABOOK\efimenkov\28.01.2008 17:43:42</param>
    <param value="ЗапросыСсуды.abl" type="3" name="version">36.042.07</param>
    <param value="ЗапросыСсуды.abl" type="3" name="crc32">$FBA412D9</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыСтавки.abl">// НПО Криста, 09.06.2004
// Ефименков Алексей
// Запрос для извлечения ставок процентов и пеней для кредитов, ссуд и гарантиев
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\Запросы\ЗапросыКредиты2.abl";

константы
  nl = #13#10;
  МаппингСтавки1 = 'КодЗаписи=pj.id,КодДокумента=lc.ID,ИндексыДанных=pj.ProgIndex,Район=lc.RegionCLS,Мероприятие=lc.Fact,ДатаПринятия=lc.AcceptDate,';
  МаппингСтавки2 = 'Бюджет=lc.BudgetRef%d,ОргСсылка=lc.Org_Ref,Мероприятие=lc.Fact,ЛицСчет=lc.FACIALACC_CLS,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитамИГарантиям=lc.id,';

функция ЗапросСтавки(Коллекция: IVariables): строка;
переменные
  запрос, комментарий: строка;
  ОгрБазовые, ОгрПоследняяСтавка: строка;
  ОснСчет: строка;
начало
  // Получаем коментарий запроса
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Ставки процентов/пени");

   // Формируем ограничение по классификации
  ОгрБазовые := Ограничение(МаппингСтавки1 + МаппингСтавки2, Коллекция);

  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    ОгрБазовые := ОгрБазовые + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";

  ОснСчет := ПолучитьКонстантуКэш("",-1, 2, 0);
  если ОснСчет = "" тогда
    ОснСчет := "Cast( NULL as integer)";
  ОгрБазовые := ОгрБазовые + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  
  если Коллекция.Значение("ПоследняяСтавка") = 1 
    тогда ОгрПоследняяСтавка := " and (pj.IsLast = 1) "
    иначе ОгрПоследняяСтавка := "";    
  
  // Обязательно разобраться с ДетИД и МастерИД
  
  // формирование запроса
  Запрос := "Select" + nl +
    "  lc.ID, lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma," + nl +
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART CaptionPeriodStart, lc.PERIODLENGTH, " + nl +
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE," + nl +
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE," + nl +
    "  lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl +
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT, lc.ACCREF," + nl + 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH," + nl + 
    "  pj.ID DetID, pj.PROGINDEX, pj.Percent, pj.AcceptDate, lc.AcceptDate CaptionAcceptDate, " + nl +
    "  pj.RECORDINDEX, pj.NOTE DetNote," + nl +
       ОснСчет + " acc1, " + ОснСчет + " acc2" + nl +
    "from" + nl +
    "  PercentJournal pj" + nl + 
    "  inner join LoanCredit lc on (pj.RecordIndex = lc.ID)" + nl +
    "where " + nl +
    "  (1 = 1)" + nl +
    ОгрБазовые + nl + 
    ОгрПоследняяСтавка;

  если Коллекция.Values("ПоляВыборки")&lt;&gt;"" тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), "@"); 
  
  результат := "{/*" + комментарий + "*/" + nl + запрос + "}";
конец;

функция ПолучитьСтавки(Данные: СтатическиеДанные; Коллекция:IVariables);    
начало
  попытка
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex";
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]" + ЗапросСтавки(Коллекция);
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыСтавки.abl" type="3" name="Export">MARAEVA\baranova\27.07.2007 16:54:33</param>
    <param value="ЗапросыСтавки.abl" type="3" name="version">36.042.07</param>
    <param value="ЗапросыСтавки.abl" type="3" name="crc32">$5295B59D</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Ссуды">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\pather.lib';
включить '\Макросы\Запросы\ЗапросыСсуды.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Запросы\ЗапросыСтавки.abl';
включить '\Макросы\Запросы\ЗапросыГосДолгЗаголовок.abl';
включить '\Макросы\Запросы\ЗапросыОбеспечение.abl';

Ссуды (Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные: СтатическиеДанные;
  // Маски группировки
  мОснСсуды,
  мВыданоДо, мПогашеноДо, мСписаноДо, мНачисленоПроцДо, мНачисленоПениДо, мУплаченоПроцДо, 
  мУплаченоПениДо, мСписаноПроцДо, мВыдано, мПогашено, мСписано, мНачисленоПроц, мНачисленоПени, 
  мУплаченоПроц, мУплаченоПени, мСписаноПроц, мВыданоНачалоГода, мПогашеноНачалоГода, мНачисленоПроцНачалоГода, 
  мУплаченоПроцНачалоГода, мНачисленоПениПроц, мСписаноПени, мСписаноПениДо, мОбеспечение: строка; 

константы
  УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
  // Различные маппинги
  
  // Маски классификаторов
  м_ТипОрг = "00.00.00";
  м_ФинИсточник = "000";
  
  // Глобальные переменные используются из-за того, что константа не может быть длиннее 255 символов
  функция ПолучитьМаппинги;
  начало
    мОснСсуды := "ИДДоговора=id,КодДокумента=id,ИмяОрганизации=Org_Ref,ОргСсылка=Org_Ref,ДатаВвода=DateInput,Договора=Number,Примечание=Note,"
        + "НомерДокумента=Number,ДатаДокумента=DateInput,Район=RegionCLS,Мероприятие=Fact,ЛицевойСчет=FacialAcc_CLS,ТипОрганизации=ORG_CLS,"
        + "ФинИсточник=FinSource,ВидСсуды=LoanType,КороткийЛС=ShortFA,БухПроводка=BuhPaymentCLS,Организация=Org_Ref,"
        + "СчетКредит1=AccCredit,СчетКредит2=AccCredit2,СчетДебет1=AccDebit,СчетДебет2=AccDebit2,ТипДокОснования=DocBase,"
        + "Дата=ADate,ПримечаниеДет=DetNote,ДатаПролонгирования=LongDate,ДатаПогашения(План)=DateAmortization,"
        + "СтавкаПроц=Percent,ДокументОснование=DocBase,СуммаЗаголовка=CaptionSumma,ДоляСтавкиЦБПроц=CBPercentRate,"
        + "ДатаНачалаУплатыПроцентов=PayPercentStartDate,СчетПолучателя=AcceptorAccRef,ДоляСтавкиЦБПениОсн=CBFineRate,"
        + "ДоляСтавкиЦБПениПроц=CBFinePercentRate,ДатаНачалаПериода=PeriodStart,ДатаКонцаПериода=PeriodEnd,"
        + "ИндексыДанных=ProgIndex,КодЗаписи=DetID,ДатаУчета=RecordDate,ДатаПогашенияПлан=DateAmortization,"
        + "ДатаУплатыПроц(План)=PayPercentDate,ДатаУплатыПроцПлан=PayPercentDate,РСФО=DFAccount,СубКД=SubKD,КодДохода=kd,КДКлюч=kdid,"
        + "КВР=KVR,КЭСР=KESR,КЦСР=KCSR,КВСР=KVSR,КФСР=KFSR,СубКЭСР=SubKESR,ТипФинансирования=FinType,ТипДокумента=DOCTYPE,ИсточникФинансирования=FinSource,"
        + "РегионФин=RegionCLSFin,МероприятиеФин=FactFin,ЛицевойСчетФин=FacialAcc_CLSFin,СчетРаспорядителя=AccountRef," 
        + "НомерРаспоряжения=SourceDocNum,НомерПД=PDNumber,НомерПП=NumberPP,ДатаПП=AcceptDatePP,"
        + "ОснованиеКод=DocBase,Основание=DocBaseName,НомерДокОснования=DocumentBaseNum,ДатаДокОснования=DocumentBaseDate,"
        + "ИсточникВнутрФинансированияКлюч=IFS,ТипКлассификации=ClsType,ТипСредств=MeansType";
    // На начало периода
    мВыданоДо := мОснСсуды + ",РекордИндекс=id,ВыданоДо=Credit,ДебетДо=Debit,КредитДо=Credit";
    мПогашеноДо := мОснСсуды + ",РекордИндекс=id,УплаченоДо=Debit,ДебетДо=Debit,КредитДо=Credit";
    мСписаноДо := мОснСсуды + ",СписаноДо=Summa,ДебетДо=Debit,КредитДо=Credit";
    мНачисленоПроцДо := мОснСсуды + ",НачисленоПроцДо=Summa,ДебетДо=Debit,КредитДо=Credit";
    мНачисленоПениДо := мОснСсуды + ",НачисленоПениДо=Summa,ДебетДо=Debit,КредитДо=Credit";
    мУплаченоПроцДо := мОснСсуды + ",УплаченоПроцДо=Credit,ДебетДо=Debit,КредитДо=Credit";
    мУплаченоПениДо := мОснСсуды + ",УплаченоПениДо=Credit,ДебетДо=Debit,КредитДо=Credit";
    мСписаноПроцДо := мОснСсуды + ",СписаноПроцДо=Summa,ДебетДо=Debit,КредитДо=Credit";
    мСписаноПениДо := мОснСсуды + ",СписаноПениДо=Summa,ДебетДо=Debit,КредитДо=Credit";
    // За период
    мВыдано := мОснСсуды + ",РекордИндекс=id,Выдано=Credit,Дебет=Debit,Кредит=Credit";
    мПогашено := мОснСсуды + ",РекордИндекс=id,Уплачено=Debit,Дебет=Debit,Кредит=Credit";
    мСписано := мОснСсуды + ",Списано=Summa,Дебет=Debit,Кредит=Credit";
    мНачисленоПроц := мОснСсуды + ",НачисленоПроц=Summa,Дебет=Debit,Кредит=Credit";
    мНачисленоПени := мОснСсуды + ",НачисленоПени=Summa,Дебет=Debit,Кредит=Credit";
    мНачисленоПениПроц := мОснСсуды + ",НачисленоПениПроц=Summa,Дебет=Debit,Кредит=Credit";
    мУплаченоПроц := мОснСсуды + ",УплаченоПроц=Credit,Дебет=Debit,Кредит=Credit";
    мУплаченоПени := мОснСсуды + ",УплаченоПени=Credit,Дебет=Debit,Кредит=Credit";
    мСписаноПроц := мОснСсуды + ",СписаноПроц=Summa,Дебет=Debit,Кредит=Credit";
    мСписаноПени := мОснСсуды + ",СписаноПени=Summa,Дебет=Debit,Кредит=Credit";
    // На начало года
    мВыданоНачалоГода := мОснСсуды + ",РекордИндекс=id,ВыданоНачалоГода=Credit";
    мПогашеноНачалоГода := мОснСсуды + ",УплаченоНачалоГода=Debit";
    мНачисленоПроцНачалоГода := мОснСсуды + ",НачисленоПроцНачалоГода=Summa";
    мУплаченоПроцНачалоГода := мОснСсуды + ",УплаченоПроцНачалоГода=Credit";
    мОбеспечение := мОснСсуды + ",СсудыСуммаОбеспечения=Summa,СсудыНоминальнаяСуммаОбеспечения=NominalSumma,ИмяОбеспечения=Name,ОргСсылкаПоручитель=GuarantOrg_Ref,ВидОбеспечения=CollateralType,ПримечаниеОбеспечения=DetNote";
  конец;
  
  функция ЗакачиватьПустыеДоговора: целое;
  начало
    Результат := Реестр.Узел(УзелПараметров).Значение("Закачивать пустые договора").КакФлаг;
  конец; 

  // Находим период дат, с которыми мы работает
  функция ПолучитьОграниченияПоДате(Коллекция: IVariables);
  переменные
    НачальнаяДата, КонечнаяДата: целое;
  начало
    НачальнаяДата := 0;
    КонечнаяДата := 99999999;

    // Если на панели параметров есть год и/или месяц
    если УбратьПробелы(Коллекция.Значение("Год")) &lt;&gt; "" тогда
      если УбратьПробелы(Коллекция.Значение("Месяц")) &lt;&gt; "" тогда
      начало
        НачальнаяДата := Коллекция.Значение("Год") * 10000 + Коллекция.Значение("Месяц") * 100;
        КонечнаяДата := НачальнаяДата + 99;
      конец
      иначе начало
        // Месяц не указан
        НачальнаяДата := Коллекция.Значение("Год") * 10000;
        КонечнаяДата := НачальнаяДата + 9999;
      конец;

    // Если на панели параметров есть дата С..
    если УбратьПробелы(Коллекция.Значение("НачальнаяДата")) &lt;&gt; "" тогда
      НачальнаяДата := StrToDateEx(Коллекция.Значение("НачальнаяДата"));

    // Если на панели параметров есть дата По..
    если УбратьПробелы(Коллекция.Значение("КонечнаяДата")) &lt;&gt; "" тогда
      КонечнаяДата := StrToDateEx(Коллекция.Значение("КонечнаяДата"));

    // Если на панели параметров есть ограничение "Дата"
    если УбратьПробелы(Коллекция.Значение("ОднаДата")) &lt;&gt; "" тогда
    начало
      если Позиция('.', Коллекция.Значение("ОднаДата")) &lt;= 0 тогда
        Коллекция.Значение("ОднаДата") := РасширеннаяДатаВСтроку(Коллекция.Значение("ОднаДата"));
        
      НачальнаяДата := (StrToDateEx(Коллекция.Значение("ОднаДата")) цел 10000) * 10000;
      КонечнаяДата := StrToDateEx(Коллекция.Значение("ОднаДата"));
    конец;    
    Коллекция.Значение("ДатаНачалаПериода") := НачальнаяДата;
    Коллекция.Значение("ДатаКонцаПериода") := КонечнаяДата;
    если Коллекция.Значение("ВариантКонцаПериода") = 1 тогда
      Коллекция.Значение("ДатаКонцаПериода") := Коллекция.Значение("ДатаКонцаПериода") - 1;
    если Коллекция.Значение("ВариантКонцаПериода") = 2 тогда
      Коллекция.Значение("ДатаКонцаПериода") := ((Коллекция.Значение("ДатаКонцаПериода") цел 100) - 1) * 100 + 99;
  конец;
  
  функция ДобавитьПоляДанные(Данные: СтатическиеДанные; Коллекция: IVariables);
  переменные
    ВспомСД: СтатическиеДанные;
  начало
    ВспомСД := СоздатьСтатическиеДанные;
    попытка
      ВспомСД.ПрисвоитьПоля(Данные);
      ВспомСД.Открыть;
      ВспомСД.Закачать(Данные);
      Данные.Clear;
      Данные.Закрыть;
      // Добавляем прогиндекс для возможности процесса поиска
      если не Данные.FindField("РекордИндекс", nil) тогда
        Данные.ДобавитьЦелоеПоле("РекордИндекс");
      // Добавляем счета для послед. операций с ними
      если Данные.FindField("ДопБухСчет", nil) тогда
      начало
        Данные.ДобавитьЦелоеПоле("СчетКредит1");
        Данные.ДобавитьЦелоеПоле("СчетКредит2");
        Данные.ДобавитьЦелоеПоле("СчетДебет1");
        Данные.ДобавитьЦелоеПоле("СчетДебет2");
      конец;
      если не Данные.FindField("ИДДоговора", nil) тогда
        Данные.ДобавитьЦелоеПоле("ИДДоговора");
      Данные.Открыть;
      Данные.Закачать(ВспомСД);
      ВспомСД.Clear;
    обязательно
      УдалитьОбъект(ВспомСД);
    конец;    
  конец;

  // проверяем счет на вхождение в ограничения
  // причем ограничения могут быть заданы хитрым образом:
  // а. Список счетов - проверяется вхождение в список
  // б. счет вида хх00 или ххх0 - проверяется вхождение в промежуток хх00-хх99 или ххх0-ххх9
  функция ПроверитьСчет(Счет: целое; Коллекция: IVariables): целое;
  переменные
    ПреобразованныйСчетСтрокой: строка;
  начало
    Результат := Ложь;
    если Позиция("=", Коллекция.Значение("СинтетСчет")) = 0 тогда
    // Проверяем на вхождение в промежуток
    начало
      ПреобразованныйСчетСтрокой := ФорматироватьКлассификатор(КлассификаторВЧисло(Коллекция.Значение("СинтетСчет"), "0000.00"), "99.9.9.99");
      если (Счет &gt;= КлассификаторВЧисло(Коллекция.Значение("СинтетСчет"), "0000.00")) и
        (Счет &lt;= КлассификаторВЧислоПоднять(ПреобразованныйСчетСтрокой, "99.9.9.99"))
      тогда Результат := Истина;  
    конец
    иначе начало
      // проверяем на вхождение в список
      если (позиция(ФорматироватьКлассификатор(Счет, "000000"), Коллекция.Значение("СинтетСчет")) &gt; 0) тогда
        Результат := Истина;
    конец;
  конец;

  функция ПеренестиДанныеСоСчетами(Данные: СтатическиеДанные; Коллекция: IVariables);
  переменные
    ЗначПоля: дробное;
  начало
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      Данные.Редактировать;
      // Поясняю работу функции
      // Короче, некоторые суммы нужно переворачивать, если счет стоит в дебете или кредите
      // Кроме того, существуют проводки типа ТипФин-СчетФО или по бухоперации
      // По бухоперации нужно переворачивать суммы когда положение счета отличается от положения суммы:  
      //  Счет в дебете(СчетДебет1), сумма в кредите
      //  Счет в кредите(СчетКредит1), сумма в дебете
      //  По проводкам типа ТипФин-СчетФО переворачивать суммы надо когда счет находится в дебете (СчетДебет2)
      если (ПроверитьСчет(Данные.Поле("СчетДебет1").КакЦелое, Коллекция) и ((мод(Данные.Поле("Кредит").КакДробное) &gt; 0.005) или (мод(Данные.Поле("КредитДо").КакДробное) &gt; 0.005)))
        или (ПроверитьСчет(Данные.Поле("СчетКредит1").КакЦелое, Коллекция) и ((мод(Данные.Поле("Дебет").КакДробное) &gt; 0.005) или (мод(Данные.Поле("ДебетДо").КакДробное) &gt; 0.005)))
        или (ПроверитьСчет(Данные.Поле("СчетДебет2").КакЦелое, Коллекция) и ((мод(Данные.Поле("Кредит").КакДробное) &gt; 0.005) или (мод(Данные.Поле("КредитДо").КакДробное) &gt; 0.005)))
        или (ПроверитьСчет(Данные.Поле("СчетДебет2").КакЦелое, Коллекция) и ((мод(Данные.Поле("Дебет").КакДробное) &gt; 0.005) или (мод(Данные.Поле("ДебетДо").КакДробное) &gt; 0.005)))
      тогда
      начало
        ЗначПоля := Данные.Поле("КредитДо").КакДробное;
        Данные.Поле("КредитДо").КакДробное := Данные.Поле("ДебетДо").КакДробное;
        Данные.Поле("ДебетДо").КакДробное := ЗначПоля;
        ЗначПоля := Данные.Поле("Кредит").КакДробное;
        Данные.Поле("Кредит").КакДробное := Данные.Поле("Дебет").КакДробное;
        Данные.Поле("Дебет").КакДробное := ЗначПоля;
      конец;
      
      если ПроверитьСчет(Данные.Поле("СчетКредит1").КакЦелое, Коллекция) тогда  
        Данные.Поле("ДопБухСчет").КакЦелое := Данные.Поле("СчетКредит1").КакЦелое;
      если ПроверитьСчет(Данные.Поле("СчетДебет1").КакЦелое, Коллекция) тогда  
        Данные.Поле("ДопБухСчет").КакЦелое := Данные.Поле("СчетДебет1").КакЦелое;
      если ПроверитьСчет(Данные.Поле("СчетКредит2").КакЦелое, Коллекция) тогда  
        Данные.Поле("ДопБухСчет").КакЦелое := Данные.Поле("СчетКредит2").КакЦелое;
      если ПроверитьСчет(Данные.Поле("СчетДебет2").КакЦелое, Коллекция) тогда  
        Данные.Поле("ДопБухСчет").КакЦелое := Данные.Поле("СчетДебет2").КакЦелое;

      Данные.Сохранить;  
      Данные.Следующая;
    конец;
  конец;

  // Для реестра
  функция ВыполнитьСекцииСсуды(Данные: СтатическиеДанные; Коллекция: IVariables);
  переменные
    ДанныеОднойСекции: СтатическиеДанные;
    ЛокКоллекция: IVariables;
    Маппинг: строка;
  начало
    //Данные.Закрыть;
    ДобавитьПоляДанные(Данные, Коллекция);

    // В нижеописанный статиксет будут извлекаться данные одной секции
    ДанныеОднойСекции := СоздатьСтатическиеДанные;
    ДанныеОднойСекции.СоединитьБД;

    // Настраиваем локальную коллекцию
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);

    Данные.Открыть;
    попытка
      //  =========================================  До ===========================================
      // Настраиваем дату начала по панели параметров
      ПолучитьОграниченияПоДате(ЛокКоллекция);
      ЛокКоллекция.Значение("НачДата") := 0;
      ЛокКоллекция.Значение("КонДата") := ЛокКоллекция.Значение("ДатаНачалаПериода") - 1;
      
      ЛокКоллекция.Значение("ДатаНачалаДоговора") := Коллекция.Значение("ДатаНачалаПериода");
      ЛокКоллекция.Значение("ДатаКонцаДоговора") := Коллекция.Значение("ДатаКонцаПериода");
// ?????      
      ЛокКоллекция.Значение("ПроводкиСписанияСуммы") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;
      ЛокКоллекция.Значение("ПроводкиСписанныхПроц") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания процентов").КакСтрока;

      // Выдано ссуд до начала периода
      если ВыполнятьСекцию(Данные, "ВыданоДо,ДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мВыданоДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "121";
        если Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока &lt;&gt; "" тогда
          ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;
        ПолучитьОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Погашено основного долга до начала периода
      если ВыполнятьСекцию(Данные, "УплаченоДо,ПогашеноДо,ДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мПогашеноДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "122";
        ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока; 
        ПолучитьОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Списано основного долга до начала периода
      если ВыполнятьСекцию(Данные, "СписаноДо,ДебетДо") и (УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока) &lt;&gt; "") тогда
      начало
        Маппинг := FixPumpMap(мСписаноДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "121,122";
        если Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока &lt;&gt; "" тогда
          ЛокКоллекция.Значение("БухОперация") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;
        ПолучитьОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Начислено процентов до начала периода
      если ВыполнятьСекцию(Данные, "НачисленоПроцДо,ДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мНачисленоПроцДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        // Не тащим списанные проценты
        ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания процентов").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "124";
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Начислено пеней до начала периода
      если ВыполнятьСекцию(Данные, "НачисленоПениДо,ДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мНачисленоПениДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания пени (штрафов)").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "325,326";        
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Списано процентов до начала периода
      если ВыполнятьСекцию(Данные, "СписаноПроцДо,ДебетДо") и (УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания процентов").КакСтрока) &lt;&gt; "") тогда
      начало
        Маппинг := FixPumpMap(мСписаноПроцДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания процентов").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "124";
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Списано пени до начала периода
      если ВыполнятьСекцию(Данные, "СписаноПениДо,ДебетДо") и (УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания пени (штрафов)").КакСтрока) &lt;&gt; "") тогда
      начало
        Маппинг := FixPumpMap(мСписаноПениДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания пени (штрафов)").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "325,326";
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Уплаченные до начала периода проценты
      если ВыполнятьСекцию(Данные, "УплаченоПроцДо,ДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мУплаченоПроцДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Коллекция.Значение("БухОперация");
        ЛокКоллекция.Значение("ИндексыДанных") := "123";
        ПолучитьУплаченоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Уплаченные до начала периода пени
      если ВыполнятьСекцию(Данные, "УплаченоПениДо,ДебетДо") тогда
      начало
        Маппинг := FixPumpMap(мУплаченоПениДо, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Коллекция.Значение("БухОперация");
        ЛокКоллекция.Значение("ИндексыДанных") := "328,329";
        ПолучитьУплаченоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Погашение по графику до начала периода
      если ВыполнятьСекцию(Данные, "ПогашеноПоГрафикуДо") тогда
      начало
        Маппинг := FixPumpMap(мОснСсуды + ",ПогашеноПоГрафикуДо=Summa,ДатаНачалаУплатыПроцентов=PayPercentStartDate", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "127";
        ПолучитьГрафик(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
       // График погашения процентов за период.
      ЛокКоллекция.Значение("ИндексыДанных") := "";
      если Данные.FindField("ПогашеноПоГрафикуПроцДо", nil) тогда
      начало
        Маппинг := FixPumpMap(мОснСсуды + ",ПогашеноПоГрафикуПроц=Summa,ДатаНачалаУплатыПроцентов=PayPercentStartDate", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "128";
        ПолучитьГрафик(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // ================================= За период ==================================================== //
      ЛокКоллекция.Значение("НачДата") := ЛокКоллекция.Значение("ДатаНачалаПериода");
      ЛокКоллекция.Значение("КонДата") := ЛокКоллекция.Значение("ДатаКонцаПериода");

      ЛокКоллекция.Значение("ПроводкиСписанияСуммы") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;

      // Выдача ссуд за период
      если ВыполнятьСекцию(Данные, "Выдано,Дебет") тогда
      начало
        Маппинг := FixPumpMap(мВыдано, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "121";
        если Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока &lt;&gt; "" тогда
          ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;
        ПолучитьОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Погашение ссуд за период
      если ВыполнятьСекцию(Данные, "Уплачено,Погашено,Дебет") тогда
      начало
        Маппинг := FixPumpMap(мПогашено, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "122";
        ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;
        ПолучитьОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Списание ссуд за период
      если ВыполнятьСекцию(Данные, "Списано,Дебет") и (УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока) &lt;&gt; "") тогда
      начало
        Маппинг := FixPumpMap(мСписано, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "121,122";
        если Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока &lt;&gt; "" тогда
          ЛокКоллекция.Значение("БухОперация") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;
        ПолучитьОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Начисленные за период проценты
      если ВыполнятьСекцию(Данные, "НачисленоПроц,Дебет") тогда
      начало
        Маппинг := FixPumpMap(мНачисленоПроц, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания процентов").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "124";
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Начисленные за период пени
      если ВыполнятьСекцию(Данные, "НачисленоПени, Дебет") тогда
      начало
        Маппинг := FixPumpMap(мНачисленоПени, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "325,326";
        ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания пени (штрафов)").КакСтрока;
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Начисленные пени
      если ВыполнятьСекцию(Данные, "НачисленоПениПроц") тогда
      начало
        Маппинг := FixPumpMap(мНачисленоПениПроц, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания пени (штрафов)").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "326";
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Списанные пени
      если ВыполнятьСекцию(Данные, "СписаноПени,Дебет") тогда
      начало
        Маппинг := FixPumpMap(мСписаноПени, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания пени (штрафов)").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "325,326";
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Уплаченные за период проценты
      если ВыполнятьСекцию(Данные, "УплаченоПроц,Дебет") тогда
      начало
        Маппинг := FixPumpMap(мУплаченоПроц, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Коллекция.Значение("БухОперация");
        ЛокКоллекция.Значение("ИндексыДанных") := "123";
        ПолучитьУплаченоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Уплаченные за период пени
      если ВыполнятьСекцию(Данные, "УплаченоПени,Дебет") тогда
      начало
        Маппинг := FixPumpMap(мУплаченоПени, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Коллекция.Значение("БухОперация");
        ЛокКоллекция.Значение("ИндексыДанных") := "328,329";
        ПолучитьУплаченоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // Списанные за период проценты
      если ВыполнятьСекцию(Данные, "СписаноПроц,Дебет") и (УбратьПробелы(Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания процентов").КакСтрока) &lt;&gt; "") тогда
      начало
        Маппинг := FixPumpMap(мСписаноПроц, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания процентов").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "124,324";
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // График погашения на период
      ЛокКоллекция.Значение("ИндексыДанных") := "";
      если Данные.FindField("ПогашеноПоГрафику", nil) тогда
      начало
        Маппинг := FixPumpMap(мОснСсуды + ",ПогашеноПоГрафику=Summa,ДатаНачалаУплатыПроцентов=PayPercentStartDate", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "127";
        ПолучитьГрафик(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      // График погашения процентов за период.
      ЛокКоллекция.Значение("ИндексыДанных") := "";
      если Данные.FindField("ПогашеноПоГрафикуПроц", nil) тогда
      начало
        Маппинг := FixPumpMap(мОснСсуды + ",ПогашеноПоГрафикуПроц=Summa,ДатаНачалаУплатыПроцентов=PayPercentStartDate", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "128";
        ПолучитьГрафик(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // Ставка процентов
      если ВыполнятьСекцию(Данные, "СтавкаПроц,Процент") тогда
      начало
        Маппинг := FixPumpMap(мОснСсуды + ",СтавкаПроц=Percent,Процент=Percent", Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "125";
        ПолучитьСтавки(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      // ================================= На начало года
      // Настраиваем даты до 0 января
      если ЛокКоллекция.Значение("Год") &gt; 0 тогда
      начало
        локКоллекция.Значение("Группировать") := Ложь;
        ЛокКоллекция.Значение("НачДата") := Коллекция.Значение("Год") * 10000;// Начало года с остатками с прошлого
        ЛокКоллекция.Значение("КонДата") := Коллекция.Значение("Год") * 10000 + 100; 
      конец 
      иначе начало
        ЛокКоллекция.Значение("НачДата") := 0;
        ЛокКоллекция.Значение("КонДата") := 0;
      конец; 
     
      ЛокКоллекция.Значение("ПроводкиСписанияСуммы") := Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;

      если Данные.FindField("ВыданоНачалоГода", nil) тогда
      начало
        Маппинг := FixPumpMap(мВыданоНачалоГода, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "121";
        если Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока &lt;&gt; "" тогда
          ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;
        ПолучитьОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      если Данные.FindField("УплаченоНачалоГода", nil) тогда
      начало
        Маппинг := FixPumpMap(мПогашеноНачалоГода, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "122";
        если Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока &lt;&gt; "" тогда
          ЛокКоллекция.Значение("БухОперация") := "#" + Реестр.Узел(УзелПараметров).Значение("Бух. проводки списания основной суммы").КакСтрока;
        ПолучитьОсновнойДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      если Данные.FindField("НачисленоПроцНачалоГода", nil) тогда
      начало
        Маппинг := FixPumpMap(мНачисленоПроцНачалоГода, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Реестр.Узел(УзелПараметров).Значение("Коды начисления процентов").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "124";
        ПолучитьНачисленоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      
      если Данные.FindField("УплаченоПроцНачалоГода", nil) тогда
      начало
        Маппинг := FixPumpMap(мУплаченоПроцНачалоГода, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("БухОперация") := Реестр.Узел(УзелПараметров).Значение("Коды уплаты процентов").КакСтрока;
        ЛокКоллекция.Значение("ИндексыДанных") := "123";
        ПолучитьУплаченоПроц(ДанныеОднойСекции, Данные, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;
      


      если ВыполнятьСекцию(Данные, "НомерДокумента,Организация,КодДокумента,СсудыСуммаЗаголовка") и (ЗакачиватьПустыеДоговора или (Коллекция.Значение("ЗакачиватьПустыеДоговора") = 1) ) тогда
      начало
        Маппинг := FixPumpMap(мОснСсуды, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := 120;
        ЛокКоллекция.Значение("ДатаНачалаДоговора") := ЛокКоллекция.Значение("ДатаНачалаПериода");
        ЛокКоллекция.Значение("ДатаКонцаДоговора") := ЛокКоллекция.Значение("ДатаКонцаПериода");
        ПолучитьЗаголовкиГосДолг(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      если ВыполнятьСекцию(Данные, "СсудыСуммаОбеспечения,СсудыНоминальнаяСуммаОбеспечения") тогда
      начало
        Маппинг := FixPumpMap(мОбеспечение, Данные);
        ЛокКоллекция.Значение("ПоляВыборки") := ВернутьПоляВыборки(Маппинг, ",");
        ЛокКоллекция.Значение("ИндексыДанных") := "321";
        ЛокКоллекция.Значение("ДатаНачалаДоговора") := ЛокКоллекция.Значение("ДатаНачалаПериода");
        ЛокКоллекция.Значение("ДатаКонцаДоговора") := ЛокКоллекция.Значение("ДатаКонцаПериода");
        ПолучитьОбеспечение(ДанныеОднойСекции, ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, Маппинг);
      конец;

      если Данные.FindField("ДопБухСчет", nil) тогда
      начало
        ПеренестиДанныеСоСчетами(Данные, Коллекция);
      конец;
      //Данные.Индекс := "ИмяОрганизации";
    обязательно
      УдалитьОбъект(ДанныеОднойСекции, ЛокКоллекция);
    конец;
  конец;


начало
  ПроверитьПроводки;
  ПолучитьМаппинги;
  Ограничения := Параметры.Значение(АлгПараметры);
  Данные := Параметры.Значение(АлгДанные);
  ВыполнитьСекцииСсуды(Данные, Ограничения);
конец;
</value>
    <param value="Ссуды" type="3" name="Export">DIMAN2\dzimitchev\17.11.2008 12:31:47</param>
    <param value="Ссуды" type="3" name="version">36.042.07</param>
    <param value="Ссуды" type="3" name="crc32">$928679A5</param>
  </node>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="СсудыНачисление">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\pather.lib';
включить '\Макросы\Запросы\ЗапросыСсуды.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\ДляСсуд.abl';
//включить "\Макросы\Стандартные.abl";
включить "\Макросы\ДляПересчетаВРубли.abl";
включить "\Макросы\ДляРаботыСГодом12х30.abl";


СсудыНачисление(Коллекция: IVariables);
  константы
    УзелПараметров = "Бюджет\Объекты\Настройки\Ссуды\Параметры";
    тПроценты = 1;
    тПениОсн = 2;
    тПениПроц = 3;

    // строковые константы видов пеней и кредитов. Юзаются в функциях получитьпараметр и получитьимяпараметра
    стр_впОснДолг = "по основному долгу";
    стр_впПроц = "по начисленным процентам";
    стр_впВсе = "все";
    стр_Проц = "процент";
    стр_воУплата = "уплата";
    стр_воНачисление = "начисление";
  
  переменные
    Ограничения: IVariables;
    Данные: СтатическиеДанные;
    
  функция мНачисленоПроц: строка;
  начало
    Результат := "Организация=Org_Ref,НомерДоговора=Number,ВидСсуды=LoanType,ДатаДоговора=DateInput,ДатаНачала=PeriodStart,ДатаКонца=PeriodEnd,Погашено=Amortize,Остаток=Saldo,НачисленоВВалюте=CurrencySumma,КурсВалюты=Exchange,НачисленоПроц=Summa,ДлинаПериода=PeriodLength,СтавкаЦБ=PercentCB,Ставка=Percent,НачисленоПроц=Summa,Получено=Issue";
  конец;  

  функция ПолучитьЗаголовки(Заголовки: СтатическиеДанные; Коллекция: IVariables);
  переменные
    Ограничения, ПрогИндекс: строка;
  начало
    Заголовки.Закрыть;
    Заголовки.СоединитьБД;
    Ограничения := Ограничение("Бюджет=lc.BudgetRef,ОргСсылка=lc.Org_Ref,СписокДоговоровПоСсудам=lc.id,ВидСсуды=lc.LoanType", Коллекция);
    если Коллекция.Значение("НомерДок") &lt;&gt; "" тогда
      Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";
    если Коллекция.Значение("ТипОтчета") = 2 тогда
      Ограничения := Ограничения + " and (lc.ReturnStartDate &lt;= " + ЦелоеВСтроку(StrToDateEx(Коллекция.Значение("КонечнаяДата"))) + ")";  
    если Коллекция.Значение("ТипОтчета") = 3 тогда
      Ограничения := Ограничения + " and (lc.PayPercentStartDate &lt;= " + ЦелоеВСтроку(StrToDateEx(Коллекция.Значение("КонечнаяДата"))) + ")";  
    ПрогИндекс := "125";
    выбрать Коллекция.Значение("ТипОтчета") из 
      2: ПрогИндекс := "126";
      3: ПрогИндекс := "129";
    конец;  
    Заголовки.Запрос := "[PumpData]"
                      + "{ select lc.id, lc.Org_Ref, lc.Number, lc.DateInput, lc.CurrencyCLS, lc.LoanType"
                      + " from LoanCredit lc"
                      + " left join PercentJournal pj on (pj.RecordIndex = lc.id)"
                      + " where lc.ProgIndex = 120"
                      + " and (lc.AcceptDate is null)"
                      + " and (pj.IsLast = 1) and (pj.ProgIndex = " + ПрогИндекс + ") and (pj.Percent &gt; 0)"
                      + Ограничения
                      + "}";
    Заголовки.Открыть;
  конец;

  функция ПолучитьСтавкуЦБ(Дата: дробное): дробное;
  переменные
    В: Выборка;
  начало
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    В.Запрос := "select Percent from CBPercentJournal "
       + " where AcceptDate &lt;= " + ДробноеВСтроку(Дата)
       + " order by AcceptDate";
    попытка
      В.Открыть;
      В.Last;
      Результат := В.Поле("Percent").КакДробное;
    обязательно
      УдалитьОбъект(В);
    конец;   
  конец;
  
  // Формирует периоды по процентам и даже подробно
  функция СформироватьПериоды(ИдЗаголовка: целое; ДатаНачала, ДатаКонца: дробное; Тип: целое): СтатическиеДанные;
  переменные
    СубПериоды, Периоды: СтатическиеДанные;
    НачалоПериода, КонецПериода: дробное;
    ТипГода: целое;
	В: Выборка;
  начало
    Периоды := СоздатьСтатическиеДанные();
    Периоды.ДобавитьДробноеПоле("PeriodStart");
    Периоды.ДобавитьДробноеПоле("PeriodEnd");
    Периоды.ДобавитьДробноеПоле("Saldo");
    Периоды.ДобавитьДробноеПоле("Percent");
    Периоды.ДобавитьДробноеПоле("Summa");
    Периоды.ДобавитьДробноеПоле("CurrencySumma");
    Периоды.ДобавитьДробноеПоле("Issue");
    периоды.ДобавитьДробноеПоле("Amortize");
    Периоды.ДобавитьЦелоеПоле("CurrencyCLS");
    Периоды.ДобавитьЦелоеПоле("PeriodLength");
    Периоды.ДобавитьДробноеПоле("PercentCB");
    Периоды.ДобавитьСтроковоеПоле("Note", 255).Размер := 255;
    Периоды.ДобавитьЦелоеПоле("Org_Ref");
    Периоды.ДобавитьЦелоеПоле("LoanType");
    Периоды.ДобавитьСтроковоеПоле("Number", 20);
    Периоды.ДобавитьЦелоеПоле("DateInput");
    Периоды.Открыть;
    попытка
      ТипГода := ПолучитьТипГода(ИДЗаголовка);
      выбрать Тип из
        тПроценты: Субпериоды := СформироватьСубпериодыПроценты(ИДЗаголовка, ДатаНачала, ДатаКонца, Истина); // Формируем субпериоды
        тПениОсн: Субпериоды := СформироватьСубПериодыПени(ИДЗаголовка, ДатаНачала, ДатаКонца, Истина,  ПолучитьПараметр(стр_воНачисление, стр_впОснДолг), "по основному долгу");
        тПениПроц: Субпериоды := СформироватьСубПериодыПени(ИДЗаголовка, ДатаНачала, ДатаКонца, Истина, ПолучитьПараметр(стр_воНачисление, стр_впПроц), "по начисленным процентам");
      конец;
      ДобавитьПериодыПоДлине(ИДЗаголовка, Субпериоды, ДатаНачала, ДатаКонца, "0");
      СубПериоды.Вставить;
      СубПериоды.Поле("Date").КакДробное := ДатаНачала;
      СубПериоды.Сохранить;

      // Добавляем даты планового окончания и пролонгации
      В := СоздатьВыборку;
      В.БазаДанных := Бюджет;
      В.Запрос := "select LongDate, DateAmortization from LoanCredit where id = " + ЦелоеВСтроку(ИДЗаголовка);
      В.Открыть;
      если В.ЧислоЗаписей = 1 тогда
      начало
        если (В.Поле("DateAmortization").КакЦелое &gt; ДатаНачала) и (В.Поле("DateAmortization").КакЦелое &lt; ДатаКонца) тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле("DateAmortization").КакЦелое, 1, 0);
          СубПериоды.Сохранить;
        конец;
        
        если (В.Поле("LongDate").КакЦелое &gt; ДатаНачала) и (В.Поле("LongDate").КакЦелое &lt; ДатаКонца) тогда
        начало
          СубПериоды.Вставить;
          СубПериоды.Поле("Date").КакДробное := СледующаяДата(В.Поле("LongDate").КакЦелое, 1, 0);
          СубПериоды.Сохранить;
        конец;
      конец;

      СубПериоды.Индекс := "Date";
	  СубПериоды.ВНачало;
      // Вставляем периоды в таблицу
      КонецПериода := Субпериоды.Поле("Date").КакДробное;
      Субпериоды.Следующая;
      пока (не Субпериоды.ВКонце) и (Субпериоды.Поле("Date").КакДробное &lt;= ДатаКонца) делать
      начало
        если (КонецПериода &lt; Субпериоды.Поле("Date").КакДробное) тогда
        начало
          Периоды.Append;
          Периоды.Поле("PeriodStart").КакДробное := КонецПериода;
          Периоды.Поле("PeriodEnd").КакДробное := ПредыдущаяДата(Субпериоды.Поле("Date").КакДробное, 1, ТипГода);
          Периоды.Поле("Note").КакСтрока := Субпериоды.Поле("Note").КакСтрока;
          КонецПериода := Субпериоды.Поле("Date").КакДробное;
          Периоды.Сохранить;
        конец;
        Субпериоды.Следующая;
      конец;
      Периоды.Append;// Для последней записи подредактируем дату окончания
      Периоды.Поле("PeriodStart").КакДробное := КонецПериода;
      Периоды.Поле("PeriodEnd").КакДробное := ДатаКонца;
      Периоды.Поле("Note").КакСтрока := "конец срока формирования периодов";
      Периоды.Сохранить;
      Результат := Периоды; 
    обязательно
      УдалитьОбъект(Субпериоды, В);        
    конец;  
  конец;

  // Считает процент по кредиту на проставленные даты
  функция СекцияРасчетПроцентов(ИДЗаголовка: целое; ДатаНачала, ДатаКонца, СуммаВВалюте, НачОстаток, НачПроцент, начПолучено, начПогашено: дробное; Тип: целое): дробное;
  переменные
    Субпериоды, ВспомСД: СтатическиеДанные;
    Остаток, СубСумма, НачалоСубпериода, НачалоСледующегоСубпериода, Процент, ПроцентЗаДень: дробное;
    Год, Месяц, День, ДлинаСубпериода, ТипГода: целое;
    ПолеКредит, ПолеДебет: строка;
    ЭтоНацВалюта, ОкруглятьСтавкуЗаДень, ПозицияОкругления: целое;
  начало
    
    Результат := 0;
    ТипГода := ПолучитьТипГода(ИДЗаголовка);
    ЭтоНацВалюта := (ПолучитьВалютуВЗаголовке(ИДЗаголовка) = КодНацВалюты);
    ОкруглятьСтавкуЗаДень := Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день").КакЦелое;
    ПозицияОкругления := Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день до знака").КакЦелое;
    ПолеКредит := "Credit";
    ПолеДебет := "Debit";
    если не ЭтоНацВалюта тогда
    начало
      ПолеКредит := "CurrencyCredit";
      ПолеДебет := "CurrencyDebit";
    конец;
    ВспомСД := СоздатьСтатическиеДанные;
    попытка
      выбрать Тип из 
        тПроценты: Субпериоды := СформироватьСубпериодыПроценты(ИДЗаголовка, 10000101, 
                                                     СледующаяДата(ДатаКонца, 1, ТипГода), Истина);
        тПениОсн: СубПериоды := СформироватьСубПериодыПени(ИДЗаголовка, 10000101, СледующаяДата(ДатаКонца, 1, ТипГода), Истина, ПолучитьПараметр(стр_воНачисление, стр_впОснДолг), "по основному долгу");
        тПениПроц: СубПериоды := СформироватьСубПериодыПени(ИДЗаголовка, 10000101, СледующаяДата(ДатаКонца, 1, ТипГода), Истина, ПолучитьПараметр(стр_воНачисление, стр_впПроц), "по начисленным процентам");
      конец;                                               
      СубПериоды.Вставить;
      СубПериоды.Поле("Date").КакДробное := ДатаКонца;
      СубПериоды.Сохранить;
      ВспомСД.ПрисвоитьПоля(СубПериоды);
      ВспомСД.Открыть;
      ВспомСД.Закачать(СубПериоды);
      ВспомСД.Фильтр := "Percent=0";
      СубПериоды.Clear;
      СубПериоды.Группировать(ВспомСД, "keys=Date;Credit=sum(Credit);Debit=sum(Debit);Percent=''");
      СубПериоды.ВНачало;
      пока не СубПериоды.ВКонце делать
      начало
        СубПериоды.Редактировать;
        СубПериоды.Поле("Percent").Clear;
        СубПериоды.Сохранить;
        СубПериоды.Следующая;
      конец;
      ВспомСД.Clear;
      ВспомСД.Фильтр := "";
      СубПериоды.Группировать(ВспомСД, "keys=Date;Credit=sum(Credit);Debit=sum(Debit);Percent=max(Percent)");
      СубПериоды.Индекс := "Date";
      Остаток := 0;
      Процент := 0;
      СубСумма := 0;
      НачПогашено := 0;
      // найдем "входящие" остаток и процент на начало периода
      Субпериоды.ВНачало;
      пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= ДатаНачала) и (не Субпериоды.ВКонце) делать
      начало
          Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное 
                                                         - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
          если не Субпериоды.ПолеПоимени("percent").Пустое тогда 
            Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;
          если (СубПериоды.Поле("Date").КакЦелое = ДатаНачала) и (СубПериоды.Поле(ПолеДебет).КакДробное &lt;&gt; 0) тогда
            НачПогашено := СубПериоды.Поле(ПолеДебет).КакДробное;
          СубПериоды.Следующая;    
      конец;
      
      НачалоСубпериода := ДатаНачала;                         
      ПолучитьДату(РасширДатаВОбычную(ДатаНачала), Год, Месяц, День);                // получить Год                 

      НачОстаток := Остаток;
      НачПроцент := Процент;
      НачПолучено := 0;
      НачПогашено := 0;
      // Расчет начисленных процентов
      пока (Субпериоды.ПолеПоИмени("date").КакДробное &lt;= СледующаяДата(ДатаКонца, 1, ТипГода)) и (не СубПериоды.ВКонце) делать  // если запись в пределах периода
      начало
        НачалоСледующегоСубПериода := Субпериоды.ПолеПоИмени("date").КакДробное;
        ДлинаСубПериода := ЧислоДнейВПериоде(ИДЗаголовка, НачалоСубпериода, НачалоСледующегоСубПериода);
        //ПроцентЗаДень := ОкруглитьДоЗнака(Процент / ЧислоДнейВЛюбомГоду(ИДЗаголовка, Год), 6);
        ПроцентЗаДень := Процент / ЧислоДнейВЛюбомГоду(ИДЗаголовка, Год);
        //если ОкруглятьСтавкуЗаДень тогда
          ПроцентЗаДень := ОкруглитьДоЗнака(ПроцентЗаДень, ПозицияОкругления);
        Субсумма :=  Остаток * ДлинаСубПериода * ПроцентЗаДень / 100;
        если Субсумма &lt; 0 тогда Субсумма := 0;
        Результат := Результат + СубСумма;    

        // измененные условия кредита
        Остаток := Остаток + Субпериоды.ПолеПоИмени(ПолеКредит).КакДробное - Субпериоды.ПолеПоИмени(ПолеДебет).КакДробное;
        если не Субпериоды.ПолеПоИмени("percent").Пустое тогда  Процент := Субпериоды.ПолеПоИмени("percent").КакДробное;

        если (мод(СубПериоды.Поле(ПолеДебет).КакДробное) &gt; 0.005) и (мод(НачПогашено) &lt; 0.005) тогда
          НачПогашено := СубПериоды.Поле(ПолеДебет).КакДробное;
        если (мод(СубПериоды.Поле(ПолеКредит).КакДробное) &gt; 0.005) и (мод(НачПолучено) &lt; 0.005) тогда
          НачПолучено := СубПериоды.Поле(ПолеКредит).КакДробное;

        НачалоСубпериода := НачалоСледующегоСубПериода;
        СубПериоды.Следующая;
      конец;
      если Результат &lt; - 0.005 тогда
        Результат := 0;
      Результат := ОкруглитьДоЗнака(Результат, 2);
      СуммаВВалюте := 0;
      если не ЭтоНацВалюта тогда
      начало
        СуммаВВалюте := Результат;
        Результат := ПолучитьОбмКурс(ПолучитьВалютуВЗаголовке(ИДЗаголовка)) * СуммаВВалюте;
      конец;
    обязательно
      Интерфейс(СубПериоды).Освободить;
      Интерфейс(ВспомСД).Освободить;
      УдалитьОбъект(Субпериоды, ВспомСД);
    конец;  
  конец;

  функция ВыполнитьСекцииСсудыНачисление(Данные: СтатическиеДанные; Коллекция: IVariables);
  переменные
    ИДЗаголовка, ВалютаЗаголовка: целое;
    Периоды, Заголовки: СтатическиеДанные;
    ДатаНачала, ДатаКонца, СуммаВВалюте, Сумма, Остаток, Процент, Получено, Погашено, НачСуммаДоговора, СтавкаЗаДень: дробное;
    СтарыйОстаток: дробное;
  начало
    ДатаНачала := StrToDateEx(Коллекция.Значение("НачальнаяДата"));
    ДатаКонца := StrToDateEx(Коллекция.Значение("КонечнаяДата"));
    
    Заголовки := СоздатьСтатическиеДанные;
    Заголовки.СоединитьБД;
    ПолучитьЗаголовки(Заголовки, Коллекция);
    
    СтарыйОстаток := 0;
    Заголовки.ВНачало;
    пока не Заголовки.ВКонце делать
    начало
      ИДЗаголовка := Заголовки.Поле("id").КакЦелое;
      ВалютаЗаголовка := Заголовки.Поле("CurrencyCLS").КакЦелое;
      // Начисленные проценты
      если Данные.FindField("НачисленоПроц", nil) тогда
      начало
        Периоды := СформироватьПериоды(ИДЗаголовка, ДатаНачала, ДатаКонца, Коллекция.Значение("ТипОтчета"));
        Периоды.ВНачало;
        НачСуммаДоговора := 0;
        пока не Периоды.ВКонце делать
        начало
          Сумма := СекцияРасчетПроцентов(ИДЗаголовка, Периоды.поле("PeriodStart").КакДробное, Периоды.поле("PeriodEnd").КакДробное, СуммаВВалюте, Остаток, Процент, Получено, Погашено, Коллекция.Значение("ТипОтчета"));
          Периоды.Редактировать;
          //Периоды.Поле("Summa").КакДробное := Сумма;
          Периоды.Поле("CurrencySumma").КакДробное := СуммаВВалюте;
          Периоды.Поле("CurrencyCLS").КакЦелое := ВалютаЗаголовка;
          Периоды.Поле("Saldo").КакДробное := Остаток /*- Погашено*/;
          Периоды.Поле("Percent").КакДробное := Процент;
          Периоды.Поле("Amortize").КакДробное := Погашено;
          Периоды.Поле("PeriodLength").КакЦелое := ЧислоДнейВПериоде(ИДЗаголовка, Периоды.Поле("PeriodStart").КакЦелое, Периоды.поле("PeriodEnd").КакЦелое) + 1;
          Периоды.Поле("PercentCB").КакДробное := ПолучитьСтавкуЦБ(Периоды.Поле("PeriodStart").КакДробное);
          СтавкаЗаДень := Процент / (100 * ЧислоДнейВЛюбомГоду(ИДЗаголовка, Периоды.поле("PeriodStart").КакДробное цел 10000));
          если Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день").КакФлаг тогда
            СтавкаЗаДень := ОкруглитьДоЗнака(СтавкаЗаДень, Реестр.Узел(УзелПараметров).Значение("Округлять ставку за день до знака").КакЦелое);
          Периоды.Поле("Summa").КакДробное := Остаток * Периоды.Поле("PeriodLength").КакЦелое * СтавкаЗаДень;
          если Периоды.Поле("Summa").КакДробное &lt; 0 тогда
            Периоды.Поле("Summa").КакДробное := 0;
          НачСуммаДоговора := НачСуммаДоговора + Периоды.Поле("Summa").КакДробное;
          Периоды.Поле("Org_Ref").КакЦелое := Заголовки.Поле("Org_Ref").КакЦелое;
          Периоды.Поле("DateInput").КакЦелое := Заголовки.Поле("DateInput").КакЦелое;
          Периоды.Поле("LoanType").КакЦелое := Заголовки.Поле("LoanType").КакЦелое;
          Периоды.Поле("Number").КакСтрока := Заголовки.Поле("Number").КакСтрока;
          Периоды.Поле("Issue").КакДробное := Получено;
          Периоды.Сохранить;
          Периоды.Следующая;
        конец;
        если НачСуммаДоговора &gt;= 0.005 тогда
          Данные.PumpData(Периоды, мНачисленоПроц);
      конец;
      Заголовки.Следующая;
    конец;  
  конец;


начало
  Ограничения := Коллекция.Значение(АлгПараметры);
  Данные := Коллекция.Значение(АлгДанные);
  если (УбратьПробелы(Ограничения.Значение("НачальнаяДата")) = "") или 
    (УбратьПробелы(Ограничения.Значение("КонечнаяДата")) = "")
  тогда
    ВызватьОшибку("Необходимо указать даты расчета.");  
  ВыполнитьСекцииСсудыНачисление(Данные, Ограничения);
конец.
</value>
    <param value="СсудыНачисление" type="3" name="version">36.042.07</param>
    <param value="СсудыНачисление" type="3" name="crc32">$74DDB685</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5020200</V>
            <V N="Name">Реестр выданных ссуд (по договорам)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ФинИсточник,ФинТип,Мероприятие,Район,ТипОрг,Организация,ИНН,КПП,ЛицСчет,ВидСсуды</V>
            <V N="Template">(05.02.02) реестр выданных ссуд (по договорам).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.07</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5070100</V>
            <V N="Name">Ссуды. Оборотная ведомость по счетам</V>
            <V N="Params">Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ФинИсточник,Район,ВидСсуды,Организация,ИНН,СинтетСчет,КПП</V>
            <V N="Template">(05.07.01) ссуды. оборотная ведомость по счетам.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">В отчете отображаются обороты по бухгалтерским счетам ссуд</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.07</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5200100</V>
            <V N="Name">Ссуды. Форма №19. Карточка учета выданных ссуд (кредитов) (помесячная)</V>
            <V N="Params">Бюджет,НомерДокМнож,НомерДок,Организация,ИНН,КПП,БухПроводка,ОднаДата</V>
            <V N="Template">(05.20.01) ссуды. форма19. карточка учета выданных ссуд (кредитов) (помесячная).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Показывает помесячное изменение состояния договоров</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.07</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5200200</V>
            <V N="Name">Ссуды. Форма №19. Карточка учета выданных ссуд (кредитов)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,Организация,ИНН,КПП</V>
            <V N="Template">(05.20.02) ссуды. форма19. карточка учета выданных ссуд (кредитов).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Показывает помесячное изменение состояния договоров</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.07</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5210100</V>
            <V N="Name">Ссуды. Остаток бюджетных средств</V>
            <V N="Params">Бюджет,ОднаДата,Организация,ИНН,КПП,СписокДоговоровПоСсудам,ВидСсуды</V>
            <V N="Template">(05.21.01) ссуды. остаток бюджетных средств.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Данный отчет представляет свод по всем договорам организаций.
 В нем формируется информация по остатку бюджетных средств.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.07</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5210200</V>
            <V N="Name">Ссуды. Задолженность по процентам</V>
            <V N="Params">Бюджет,Месяц,Год,Организация,ИНН,КПП,СписокДоговоровПоСсудам,ВидСсуды</V>
            <V N="Template">(05.21.02) ссуды. задолженность по процентам.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">В отчет выводится информация по задолженности организаций по процентам</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.07</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5210500</V>
            <V N="Name">Ссуды. Задолженность по осн. долгу</V>
            <V N="Params">Бюджет,ВидСсуды,Организация,Инн,КПП,СписокДоговоровПоСсудам,ОднаДата</V>
            <V N="Template">(05.21.05) ссуды. задолженность по осн. долгу.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Сам отчет представляет собой свод по организациям. В нем содержится информация по 
задолженности по основному долгу по каждому отдельному договору, заключенному организацией.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.07</param>
  </node>
  <version_info>
    <file>Сборка(07)Финансирование.xml</file>
    <version>36.042.25</version>
    <info>Отчеты по финансированию и платежным поручениям</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:34</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыПП.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\отчеты\поддержкаОтчетов.abl';
константы
  nl = #13#10;
// Бюджет=d.BudgetRef%d,
  МаппингППОбщ1 = 'ТипПлатДок=d.Doctype,КВР=tKvr.Code%k,КЭСР=d.KESR,КВСР=tKvsr.Code%d,КЦСР=tKcsr.Code%k,КФСР=d.KFSR,КодЗаписи=(pd.id%d)or(d.ID%d),ИндексыДанных=pd.ProgIndex,ИндексыДанныхПП=pd.ProgIndex,';
  МаппингППОбщ2 = 'Мероприятие=d.FACT,ТипСредствБюдж=d.Meanstype,БухОперация=d.BuhOperationCLS%d,ТипКлассификации=((d.id is null)or(d.CLSType%d)),ТипКлассификацииРасх=((d.id is null)or(d.CLSType%d)),';
  МаппингППОбщ3 = 'ТипСчета=oa.Acc_CLS,ОчередностьПлатежа=pd.PAYQUEUE,Валюта=pd.CURRENCY,ВидДеятельности=mt.ActivityKind%d,ПричинаОтклон=pd.Reject_CLS%d,Примечание=pd.TextNote%s,Сумма=pd.Summa%f,';
  МаппингППОбщ4 = 'НомерДок=pd.Number%s,НомерДокИсточн=pd.SourceDocNumber%s,КодСводногоРаспоряжения=d.TotalRef,ИстВнутрФин=ifs_t.FinSourceValue%l,Район=d.RegionCls,';
  МаппингППОбщ5 = 'Пользователь=pd.CreaterUser%s,ДатаВремяСоздания=pd.CreateDate,ДатаВремяИзменения=pd.UpdateDate,ХарактерЛС=f.HARACTERACCOUNT%d,';
  МаппингППОбщ6 = "Баланс=bac.BalanceCls,БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,";
  МаппингППОбщ7 = "БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),ТипДеятельности=mt.ActivityType%d,";

  МаппингППФин1 = 'СубКЭСР=d.SUBKESR,ТипДокОснов=d.DOCUMENTBASETYPE,ФинИсточник=d.FinSource,ФинИсточники=d.FinSource,ФинТип=d.FinType,ФинТипы=d.FinType,НомерБО=d.Promise%d,Направление=d.DirectionCLS,';
  МаппингППФин2 = 'ФедеральныеСредства=d.FEDERALFUNDSREF,НомерФедРеестра=q.ReestrNumber%s,НомерПакета=pde.PACKETNUMBER,Статус=pde.status%d';

  МаппингППДох1 = 'ТипДокОснов=d.DOCBASE,КодДохода=kd.KDValue%l';

  МаппингППЗаим1 = 'ТипПлатДок=d.Doctype,КодЗаписи=(pd.id%d)or(d.ID%d),ИндексыДанных=pd.ProgIndex,ИндексыДанныхПП=pd.ProgIndex,ТипСредствБюдж=d.Meanstype,БухОперация=d.BuhOperationCLS%d,';
  МаппингППЗаим2 = 'ТипСчета=oa.Acc_CLS,ОчередностьПлатежа=pd.PAYQUEUE,Валюта=pd.CURRENCY,ВидДеятельности=mt.ActivityKind%d,ПричинаОтклон=pd.Reject_CLS%d,Примечание=pd.TextNote%s,Сумма=pd.Summa%f,';
  МаппингППЗаим3 = 'НомерДок=pd.Number%s,НомерДокИсточн=pd.SourceDocNumber%s,КодСводногоРаспоряжения=d.TotalRef,ИстВнутрФин=ifs_t.FinSourceValue%l,ТипДеятельности=mt.ActivityType%d,';
  МаппингППЗаим4 = 'Пользователь=pd.CreaterUser%s,ДатаВремяСоздания=pd.CreateDate,ДатаВремяИзменения=pd.UpdateDate,ХарактерЛС=f.HARACTERACCOUNT%d,';
  МаппингППЗаим5 = "Баланс=bac.BalanceCls,БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),";

функция ЗапросыППМаппингМаппингПереносаПолей : Строка;
начало
  Результат := "ДатаПринятия=AcceptDate,Примечание=Note,НомерДокумента=DocNumber,ЛицевойСчет=FacialAcc,КодДокумента=id,КодЗаписи=id," +
    "Очередность=PayQueue,ПричинаОтклонКод=Reject_CLS,ПричинаОтклонТекст=RejectCause,КФСР=KFSR,КЭСР=KESR,СубКЭСР=SubKESR," +
    "КВСР=KVSR,КВСРКлюч=KVSRID,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВР=KVR,КВРКлюч=KVRID,Направление=DirectionCLS,Мероприятие=FACT," +
    "ДатаПринятияРаспоряжения=AcceptDateFD,ДатаПринятияПП=AcceptDatePD,Регион=RegionCLS,ТипДокумента=DocType,ТипСредств=MeansType," +
    "ИсточникФинансирования=FinSource,ЛицСчетПлательщика=FacialAcc,ЛицСчетПолучателя=FacialAcc,СуммаЗаголовка=MasterSumma," +
    "ТипФинансирования=FinType,ИндексыДанных=ProgIndex,СчетПлат=DFAccount,РСФО=DFAccount,СчетПолуч=AcceptorAccRef," +
    "СчетРаспорядителя=AccountRef,НомерЗаголовка=Number,ДатаОтправления=SendDate,УсловиеОплаты=PaymentCondition," +
    "НомерРеестра=SourceDocNumber,КодВалюты=Currency,ВидПлатежа=SendBy,ИндексАлгоритма=AlgIndex,ИнформацияОНалоге=TaxNote," +
    "Автор=CreaterUser,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,ФедеральныеСредства=FederalData,"+
    "БухОперация=BuhOperationCLS,ИсточникКорКлюч=IFS_CORR,ИсточникКор=IFSValue_Corr,БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,"+
    "ЭККредит=CreditDocEK%d,ЭКДебет=DebitDocEK%d,ВидДеятельности=ActivityKind,ТипКлассификации=CLSType,Статус=pdeStatus,"+
    "НомерПакета=PACKETNUMBER,ПланДебетЭК=bacDebitKESR,ПланКредитЭК=bacCreditKESR,БухСчетДебетБезЭК=DebitAcc70nValue,"+
    "БухСчетКредитБезЭК=CreditAcc70nValue,КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,"+
    "НомерСчетаДебет=DebitNumberAcc70n%s28,НомерСчетаКредит=CreditNumberAcc70n%s28,БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f,"+
    "Баланс=BalanceCls,БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,КодДохода=KDValue,КДКлюч=KDID," +
    "ДатаВремяСозданияДокумента=CptCreateDate,ДатаВремяИзмененияДокумента=CptUpdateDate," +
    "АвторИзменений=UpdaterUser,АвторДокумента=CptCreaterUser,АвторИзмененийДокумента=CptUpdaterUser," +                                                                      
    "ИсточникВнутрФинансирования=FinSourceValue,ИсточникВнутрФинансированияКлюч=IFS,ДатаВвода=MakeDate,КодБюджета=BudgetRef," +
    "БюджКлассификация=BudClS,ОрганизацияГлавныйРаспорядитель=Org_RefGRBS_Det,ВидОрганизацииЛС=FAOrg_Type";
конец;
  
функция ЗапросПП(Коллекция: IVariables):строка;
переменные
  // перенные для формирования ограничений
  ОгрПоДате,ОгрПоСервиснымСчетам: строка;
  ОгрПоРодителю : строка;
  ОгрПоКлассификаторам, ОгрДоп  : строка;
  ОгрПоПроведению, ОгрПоЗаявкам : строка;
  ОгрПоВнутрОперФин: строка;
  ОгрПоОргПлат, ОгрПоСчетуПлат : строка;
  ОгрПоОргПолуч, ОгрПоСчетуПолуч : строка;
  ОгрПоОргРасп, ОгрПоСчетуРасп,  ОрганизацияЛС : строка;
  Комментарий, ОгрПоТипуОрг, ТаблицаОрг: строка;
  ТаблицаНомера, запрос, МаппингПП : строка;
  ИсключатьСвободныеПлатежки : строка;
  ОгрПоБюджетуТаблСчетовДепартамента,ОгрПоБюджетуТаблСчетовДепПоПолуч,ОгрПоНепустымДопБухПроводкам : строка;
  ОгрПоЛС: строка;  
  ОграничитьПоФедеральнымСредствам : Строка;
  ПодключениеЗаголовкаРаспоряжения : Строка;
  ОгрКодДокумента, ПолеКодаДокумента : строка;
  ОгрПоБюджету : строка;
  НомерДатаЗагол : строка;
  ПодключениеТаблицыКредит, ТаблицаЛСКредит, РСФО : строка;
  ОгрПоКассовымРасходам, СписокБухОпераций : строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция платежных поручений");
  ОгрПоТипуОрг := '';
  ТаблицаОрг := '';
  // формируем ограничение по дате
  // по дате принятия делаем ограничение по таблице финансирования, так как pd.InputDate при объединении п\п может измениться
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=pd.AcceptDate,ДатаВводаТип=pd.InputDate,ДатаПринятияТип=d.AcceptDate,ДатаПечатиТип=pd.PrintDate,ДатаОтправленияТип=ex.senddate',
                                              Коллекция, 'pd.AcceptDate');
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  // ограничение по коду бюджета
  если Коллекция.Values("ПришедшиеСКредитов") = да тогда
    ОгрПоБюджету := ""
  иначе
    ОгрПоБюджету := Ограничение("Бюджет=pd.BudgetRef%d", Коллекция); 
  // формируем ограничение по сервисным л/с, смотрим значения параметров: ЛицСчет, ОргЛС и БюджОргЛС
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) или
      ((Коллекция.Values("ОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("ОргЛС"))) или
      ((Коллекция.Values("БюджОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("БюджОргЛС"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;
  //Формируем ограничение по рассчетному счету
  РСФО := '';
  если Коллекция.ПараметрСуществует("РСФО") тогда
    РСФО := Коллекция.Values("РСФО");
  если РСФО='' тогда  
    если Коллекция.ПараметрСуществует("КазнРС") тогда
      РСФО := Коллекция.Values("КазнРС");
  если РСФО='' тогда
    если Коллекция.ПараметрСуществует("РСКазн") тогда
      РСФО := Коллекция.Values("РСКазн");
  Коллекция.Values("РСФО") := рсфо;
  если (Коллекция.Values("ПлатРССсылка")='') и (Коллекция.Values("РСФО") &lt;&gt; "") 
    тогда Коллекция.Values("ПлатРССсылка") := Коллекция.Values("РСФО");

  ОгрПоОргПлат := "";  
  ОгрПоОргПолуч :="";
  ОгрПоОргРасп :="";
  // ограничение по организации - плательщику (Плательщик, поле PayerAttrRef)
  // если не указан счет, то формируем ограничение по организации
  ОгрПоСчетуПлат := Ограничение("ПлатРССсылка=pd.PayerAttrRef%d",Коллекция);
  Если ОгрПоСчетуПлат = '' тогда  ОгрПоОргПлат := Ограничение('ПлатОргСсылка=oa_p.Org_Ref%d',Коллекция);  
  // ограничение по организации - получателю (Получатель,Организация, поле AcceptorAttrRef)
  // если не указан счет, то формируем ограничение по организации
  ОгрПоСчетуПолуч := Ограничение('ПолучРССсылка=pd.AcceptorAttrRef%d',Коллекция);
  Если ОгрПоСчетуПолуч = '' тогда ОгрПоОргПолуч := Ограничение('ПолучОргСсылка=oa_a.Org_Ref%d',Коллекция); 
   
  // если этот параметр установлен, то организация на панели параметров считается организацией-
  // владельцем л/с для тех записией, у которых л/с установлен. Для тех записей, у которых
  // л/с пустой (т.е.равен нулю) ограничение происходит по организации владельцу расчетного счета 
  
  // если указана только организация, то должны появляться данные и по л/с и по рассчетному
  // если указан какой-либо из счетов(лицевой или рассчетный), то должны появляться данные только по нему.
  ОгрПоЛС := ""; ОрганизацияЛС := "Org_Ref";
  выбрать Коллекция.Values("ОрганизацияЛС") из
    1:ОрганизацияЛС := "Org_Ref";
    2:ОрганизацияЛС := "GeneralOrg_Ref";
  конец;      

  // поддержим ограничение по организации, организации распорядителя,бюджетной организации, 
  // счету, счету распорядителя, счету бюджетной организации 
  если не Коллекция.ПараметрСуществует("БюджОргСсылка") тогда 
    если Коллекция.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда
      Коллекция.Values("БюджОргСсылка"):=Коллекция.Values("Бюджет_РаспОргСсылка")
    иначе если Коллекция.ПараметрСуществует("ОргСсылка") тогда
      Коллекция.Values("БюджОргСсылка"):=Коллекция.Values("ОргСсылка");
   
  если не Коллекция.ПараметрСуществует("БюджРССсылка") тогда 
    если Коллекция.ПараметрСуществует("Бюджет_РаспРССсылка") тогда
      Коллекция.Values("БюджРССсылка"):=Коллекция.Values("Бюджет_РаспРССсылка")
    иначе если Коллекция.ПараметрСуществует("РССсылка") тогда
      Коллекция.Values("БюджРССсылка"):=Коллекция.Values("РССсылка");
      
  если не Коллекция.ПараметрСуществует("БюджОргЛС") тогда 
    если Коллекция.ПараметрСуществует("ОргЛС") тогда
      Коллекция.Values("БюджОргЛС"):=Коллекция.Values("ОргЛС");
  если не Коллекция.ПараметрСуществует("БюджЛицСчет11") тогда 
    если Коллекция.ПараметрСуществует("ЛицСчет11") тогда
      Коллекция.Values("БюджЛицСчет11"):=Коллекция.Values("ЛицСчет11");
  
  если (Коллекция.Values("БюджОргСсылка")&lt;&gt;"")и(Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС")=1) тогда
    начало
      // если указана только организация, выбираются данные по владельцу и л/с и р/с
      если (Коллекция.Values("БюджРССсылка") = "") и (Коллекция.Values("ОргЛС") = "") тогда
        ОгрПоСчетуРасп := Ограничение("БюджОргСсылка=(((oa.Org_ref%d)and(d.FacialAcc_CLS = 0))or((f."+ОрганизацияЛС+"%d)and(d.FacialAcc_CLS&lt;&gt;0)))",Коллекция)
      иначе
        // если указан рассчетный счет, то делаем ограничение только по нему 
        если Коллекция.Values("БюджРССсылка") &lt;&gt; "" тогда
          ОгрПоСчетуРасп := Ограничение("БюджРССсылка=pd.AccountRef%d",Коллекция)
        // если указан только лицевой счет, то делаем ограничение по нему 
        иначе
          ОгрПоСчетуРасп := Ограничение("БюджОргЛС=((d.FacialAcc_CLS%d)and(d.FacialAcc_CLS&lt;&gt;0))",Коллекция);          
    конец
  иначе
    начало  
      // ограничение по организации - распорядителю кредитов (Распорядитель, поле AccountRef)
      // если счет не указан, то пытаемся сделать ограничение по организации   
      ОгрПоСчетуРасп := Ограничение('БюджРССсылка=pd.AccountRef%d',Коллекция);
      если (ОгрПоСчетуРасп = "") тогда ОгрПоОргРасп := Ограничение('БюджОргСсылка=oa.Org_Ref%d',Коллекция);
      // формируем ограничение по л/с
      если Коллекция.Values("ИсключатьОграничениеПоЛС") тогда
        ОгрПоЛС := ""
      иначе 
        ОгрПоЛС := СформироватьОгрПоНаборуМаппингов(Коллекция, 'ЛицСчет=d.FacialAcc_CLS,БюджОргЛС=d.FacialAcc_CLS', "БюджЛицСчет11=f_oa.ACC%s,НомерЛС=f.FacialCodeEx%s");
    конец;
    
  ТаблицаОрг := " left join Organizations ooa on (ooa.id=oa.Org_ref)" + nl;
  если (Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") = 1) тогда
    начало
      ОгрПоТипуОрг := Ограничение('ТипОрг=(((ooa.ORG_CLS%d)and(d.FacialAcc_CLS=0))or((ofa.ORG_CLS%d)and(d.FacialAcc_CLS&lt;&gt;0)))', коллекция);
    конец 
  иначе
    ОгрПоТипуОрг := Ограничение('ТипОрг=ooa.ORG_CLS%d', коллекция);

  ОгрКодДокумента := "КодДокумента=pd.id";
  ПолеКодаДокумента := 'pd.id';
    
  // ограничение по виду платежек (связанные или нет)
  ТаблицаНомера := "pd"; ОгрПоРодителю := "";
  если УбратьПробелы(Коллекция.Values("СвязанныеПП"))="" тогда
    начало 
      // если органичение по связанным не задано, то пробуем ограничить по уровню
      Если (УбратьПробелы(Коллекция.Values("ППВерхнийУровеньЧек"))&lt;&gt;"")или
           (УбратьПробелы(Коллекция.Values("ППНижнийУровеньЧек"))&lt;&gt;"") тогда 
      начало
        Если Коллекция.Values("ППВерхнийУровеньЧек")=да тогда // получаем только обычные+объединенные платежки
          ОгрПоРодителю := "and(pd.ParentIndex is null)"
        иначе
          Если Коллекция.Values("ППНижнийУровеньЧек")=да тогда// получаем только обычные+пп, входящие в объединенные
            ОгрПоРодителю := "and(pd.ChildCount is null)";
      конец;    
    конец    
    иначе 
      если Коллекция.Values("СвязанныеПП")=0 тогда // получаем только обычные платежки
        ОгрПоРодителю := "and(pd.ParentIndex is null) and (pd.ChildCount is null)"
      иначе начало // получаем только объединенные платежки
        ОгрПоРодителю := "and(pd.ParentIndex is not NULL)";
        ТаблицаНомера := "pdm";
        ОгрКодДокумента := "КодДокумента=pdm.id";
        ПолеКодаДокумента := 'pdm.id';
      конец;
      
  ОгрКодДокумента := Ограничение(ОгрКодДокумента, Коллекция);
    
  // формируем ограничение по прямым (кассовым) расходам
  // получаем список бух.операций, соответствующих уменьшению кассовых расходов
  ОгрПоКассовымРасходам := "";
  СписокБухОпераций := "";
  если УбратьПробелы(Коллекция.Values("ПрямыеРасходы"))&lt;&gt;"" тогда
  начало
    СписокБухОпераций := ПолучитьБухОперацииКассовыхРасходов(0,0);
    если СписокБухОпераций&lt;&gt;""
      тогда СписокБухОпераций := СписокБухОпераций + "," + ПолучитьБухОперацииКассовыхРасходов(1,0)
      иначе СписокБухОпераций := ПолучитьБухОперацииКассовыхРасходов(1,0);
    если СписокБухОпераций&lt;&gt;"" тогда
    начало
      ОгрПоКассовымРасходам :="(d.BuhOperationCLS in ("+СписокБухОпераций+"))";
      если Коллекция.Values("ПрямыеРасходы")=Да тогда  
        ОгрПоКассовымРасходам := " and "+ОгрПоКассовымРасходам
      иначе
        ОгрПоКассовымРасходам := " and not"+ОгрПоКассовымРасходам;
    конец;
  конец;

  // ограничение по бюджету
  ОгрПоБюджетуТаблСчетовДепартамента := Ограничение('Бюджет=dfbt.BudgetRef%d',Коллекция);
  ОгрПоБюджетуТаблСчетовДепПоПолуч := Ограничение('Бюджет=dfbtD.BudgetRef',Коллекция);
 
  // Ограничение по проведенным/непроведенным
  если (УбратьПробелы(Коллекция.Values("ПроведНеПровед"))="")или(Коллекция.Values("ПроведНеПровед")=0)
    тогда ОгрПоПроведению := ""
    иначе
      Выбрать Коллекция.Values("ПроведНеПровед") из
        1:ОгрПоПроведению := "and(pd.AcceptDate is not NULL)";
        2:ОгрПоПроведению := "and(pd.AcceptDate is NULL)";
    конец;  
  // исключать платежки, не связанные с финансированием  по recordIndex'у  
  ИсключатьСвободныеПлатежки:='';
  если (Коллекция.Values("ИсключатьСвободныеПлатежки")=да)или
    ((не Коллекция.ПараметрСуществует("ИсключатьСвободныеПлатежки"))и(не Коллекция.Значение("ПечатныйДокумент")))
    тогда ИсключатьСвободныеПлатежки:=' and (d.id is not null)'
    иначе ИсключатьСвободныеПлатежки:=' and ((d.id is not null) or (pd.ProgIndex in (11,16)))';
  // формирует параметры запроса для классификаторов
  МаппингПП := МаппингППОбщ1+МаппингППОбщ2+МаппингППОбщ3+МаппингППОбщ4+МаппингППОбщ5+МаппингППОбщ6+МаппингППОбщ7;

  // Если данный параметр не пустой, то из выборки исключаются записи, у которых 
  // счет получателя является счетом финоргана. Является или нет счет счетом финоргана, определяется по его 
  // наличию в таблице dfAccountsBuhTable.  
  если Коллекция.Values("ИсклВнутрОперФин") = да тогда
    ОгрПоВнутрОперФин := "and(dfbtD.ID is NULL)"
  иначе
    ОгрПоВнутрОперФин := "";

  // ограничение по заявке
  Если Коллекция.CheckParam("ВключатьЗаявки") 
    тогда Если Коллекция.Values("ВключатьЗаявки") = да 
            тогда ОгрПоЗаявкам := "and(d.REQUESTSINDEX is not NULL)"
            иначе ОгрПоЗаявкам := "and(d.REQUESTSINDEX is NULL)"
    иначе ОгрПоЗаявкам := "";
      
  ОгрПоКлассификаторам := Ограничение(МаппингПП+МаппингППФин1+МаппингППФин2,Коллекция);
  
  // ограничения по федеральным средствам
  Если (Коллекция.Значение("ДанныеТолькоФедеральныхРеестров") = 1)
    тогда ОграничитьПоФедеральнымСредствам := 'and ( not (d.FEDERALFUNDSREF is null)) '
    иначе ОграничитьПоФедеральнымСредствам := ''; 
    
   Если (Коллекция.Значение("ОбобщенноеРаспоряжение") = 1)
    тогда ПодключениеЗаголовкаРаспоряжения := " left join FinDocCaption c on (d.totalref = c.ID)"
    иначе ПодключениеЗаголовкаРаспоряжения := " left join FinDocCaption c on (d.RecordIndex = c.ID)"; 

  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета") и (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    ОгрПоНепустымДопБухПроводкам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) ";

  ОгрДоп := Коллекция.Values("ДопПараметры");         

  // настраиваем запрос
  запрос := "Select "+ПолеКодаДокумента+" ID, d.ID DetID, d.FacialAcc_CLS FacialAcc, d.KESR, d.KFSR, d.SUBKESR," +nl+
        "  d.KVR KVRID, tKvr.Code KVR, d.KVSR KVSRID, tKvsr.Code KVSR, d.KCSR KCSRID, tKcsr.Code KCSR, d.DirectionCLS," +nl+
        "  d.FACT, d.Doctype Doctype, d.Meanstype, d.FinSource, d.FinType, pd.Reject_CLS, pd.RejectCause," +nl+
        "  d.ProgIndex, pd.AccountRef AccDebit, pd.PayerAttrRef AccCredit,dfbt.IFS DFBTIFS_Ref, dfbtBAP.BuhAcc DFBuhAccFO,"+nl+
        "  pd.AcceptDate,"+ТаблицаНомера+".TextNote Note, pd.AcceptorAttrRef AcceptorAccRef, pd.PayerAttrRef DFAccount,"+nl+
        "  cast(pd.SourceDocNumber  as varchar(50))SourceDocNumber, pd.SendBy, "+nl+
        "  pd.Summa, pd.Credit, pd.Debit, cast ("+ТаблицаНомера+".NUMBER  as varchar(50)) DocNumber, "+nl+
        "  d.FEDERALFUNDSREF FederalData, "+ТаблицаНомера+ ".Summa MasterSumma," + nl +
        "  d.ACCEPTDATE AcceptDateFD, pd.AcceptDate AcceptDatePD, c.number Number," + nl +
         " pd.CurSum CurSum, pd.CURRENCY CURRENCY," + nl +  //сумма в валюте и код валюты 
        "  d.Promise, oa.Acc_CLS, pd.AccountRef,d.REQUESTSINDEX, pd.PaymentCondition,"+nl+
        "  pd.InputDate, pd.InputDate MakeDate,Cast(7 as integer) AlgIndex, "+nl+
        "  ex.senddate, ex.status ,ex.TypeInf, pdm.Number MasterNumber, "+nl+
        "  pde.status pdeStatus, pde.DocNumber pdeDocNumber, pde.senddate pdeSenddate, pde.PACKETNUMBER, " + nl +
        "  d.DOCUMENTBASETYPE, pd.PAYQUEUE, pd.TaxNote, pd.CreaterUser,pd.CreateDate,pd.UpdateDate, pd.BudgetRef, d.RegionCls, " +nl+
        // поля для инструкции 70н
        " bac.correctionflag,d.BuhOperationCLS, d.IFS_CORR, d.IFS, mt.ActivityKind, d.CLSType," + nl +
        " bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
        " CreditAP.ECCLS bacCreditKESR," + 
        " DebitAP.ECCLS bacDebitKESR,CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
        " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
        " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan,bac.BalanceCls," + nl +                                                               
        " ifscor_t.FinSourceValue IFSValue_Corr, ifs_t.FinSourceValue,"+ nl +
        " DFIFS.FinSourceValue DFIFSValue," + nl +        
        " c.CreaterUser CptCreaterUser, c.CreateDate CptCreateDate, c.UpdateDate CptUpdateDate, c.UpdaterUser CptUpdaterUser, " + nl +
        " cast(0 as varchar(20)) BudClS," + nl+
        " cast(0 as varchar(20)) KDValue," + nl+
        " cast(0 as integer) KDID," + nl+
        " d.UpdaterUser, ooa.id Org_RefGRBS_Det, ofa.Org_Type FAOrg_Type " + nl +
        "FROM "+nl+ 
        " PayDoc32 pd "+nl+
        " left join PayDoc32 pdm on (pd.ParentIndex=pdm.ID) "+nl+ 
        " left join FinDocDetail d on (pd.recordIndex=d.ID)"+nl+
        ПодключениеЗаголовкаРаспоряжения + nl +
        " left join FacialAcc_CLS f on (f.id = pd.FacialAcc_CLS)"+nl+
        " left join Org_Accounts f_oa on (f_oa.id = f.FCAccount)"+nl+
        " left join paydocexchange ex on (pd.id = ex.PayDocRef) " +
        " left join PayDocExchange pde On (pde.PayDocRef = d.id) "+nl+
        " left join org_accounts oa on (oa.id=pd.AccountRef)"+nl+
        " Left join org_accounts oa_p on (oa_p.id=pd.PayerAttrRef)"+nl+
        " Left join org_accounts oa_a on (oa_a.id=pd.AcceptorAttrRef)"+nl+
        " left join dfAccountsBuhTable dfbt on ((dfbt.id=pd.PayerAttrRef)"+ОгрПоБюджетуТаблСчетовДепартамента+")"+nl+
        " left join BuhAccPlan dfbtBAP on (dfbtBAP.ID = dfbt.FinOrgAccRef)" + nl +   
        " left join dfAccountsBuhTable dfbtD on ((dfbtD.id=pd.AcceptorAttrRef)"+ОгрПоБюджетуТаблСчетовДепПоПолуч+")"+nl+
        " left join incomes32 incq on (d.FEDERALFUNDSREF = incq.id) " + nl +
        " left join quotestitle q on (incq.recordindex = q.id) " + nl +
        " left join Organizations ofa on (ofa.id=f.Org_ref)" + nl +
        ТаблицаОрг +
        // таблицы для инструкции 70н
        " left join BuhOperationCls boCLS on (boCLS.ID = d.BuhOperationCLS) " + nl +        
        " left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
        " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
        " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl+
        " left join MeansType mt on (mt.ID = d.MeansType) " + nl +
        " left join InnerFinSource ifscor_t on (ifscor_t.ID = d.IFS_CORR)" + nl +
        " left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)" + nl +
        " left join InnerFinSource DFIFS on (DFIFS.ID = dfbt.IFS)" + nl +
        " left join KVSR tKvsr on (tKvsr.id = d.KVSR)" +nl+
        " left join KVR tKvr on (tKvr.id = d.KVR)" +nl+
        " left join KCSR tKcsr on (tKcsr.id = d.KCSR)" +nl+
        "WHERE "+nl+
        "(1=1)"+nl+
        ОгрПоБюджету +nl+
        ОгрПоКлассификаторам+nl+
        ОгрПоДате+ОгрПоСервиснымСчетам+ОгрДоп+nl+
        ОгрПоДатамБухОпераций + nl +
        ОгрПоРодителю+ОгрПоКассовымРасходам+nl+
        ОгрПоОргПлат+ОгрПоСчетуПлат+nl+
        ОгрПоОргПолуч+ОгрПоСчетуПолуч+nl+
        ОгрПоОргРасп+ОгрПоСчетуРасп+nl+        
        ОгрПоПроведению+nl+
        ИсключатьСвободныеПлатежки+nl+
        ОгрПоНепустымДопБухПроводкам+nl+
        ОгрПоВнутрОперФин+ОгрПоЗаявкам+nl+
        ОгрПоЛС + nl +
        ОгрПоТипуОрг + nl +
        ОгрКодДокумента + nl + 
        ОграничитьПоФедеральнымСредствам; 
  // ПроверитьПравильностьМаппинга(запрос, ЗапросыППМаппингМаппингПереносаПолей);       
  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);                       

  //в отчетах если нет параметра "ИсключатьСвободныеПлатежки" берутся только платежки из финансирования (FinDocDetail)
  //если формируется печдок, то должны выполяться все запросы (если конечно не стоит ИсключатьСвободныеПлатежки=да) 
  если не((Коллекция.Values("ИсключатьСвободныеПлатежки")=да)или
    ((не Коллекция.ПараметрСуществует("ИсключатьСвободныеПлатежки"))и(не Коллекция.Значение("ПечатныйДокумент")))) тогда
  начало   
    //выбираем платежки из доходов
    Комментарий := "Секция платежных поручений (из доходов)";
    НомерДатаЗагол := "";
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=pd.AcceptDate,ДатаВводаТип=pd.InputDate,ДатаПечатиТип=pd.PrintDate,ДатаОтправленияТип=ex.senddate',
                                                Коллекция, 'pd.AcceptDate');
    ОгрПоКлассификаторам := Ограничение(МаппингПП+МаппингППДох1,Коллекция);
    ИсключатьСвободныеПлатежки:=' and (d.id is not null)';
    Если (Коллекция.Значение("ОбобщенноеРаспоряжение") = 1)
      тогда
        начало 
          ПодключениеЗаголовкаРаспоряжения := " left join FinDocCaption capt on (d.totalref = capt.ID)";
          НомерДатаЗагол := "capt.AcceptDate AcceptDateFD, capt.Number,";
        конец
      иначе 
        начало
          ПодключениеЗаголовкаРаспоряжения := " left join Incomes32 capt on (capt.id = d.RecordIndex)";
          НомерДатаЗагол := "capt.IDate AcceptDateFD, capt.DocNum Number,";
        конец;   
    запрос := "Select "+ПолеКодаДокумента+" ID, d.ID DetID, d.FacialAcc_CLS FacialAcc,"+nl+
          " d.FACT, d.Doctype, d.Meanstype, d.RegionCls, d.REQUESTSINDEX, d.ProgIndex, d.FEDERALFUNDSREF FederalData,"+nl+
            НомерДатаЗагол+" pd.AccountRef AccDebit, pd.PayerAttrRef AccCredit,"+nl+
          " pd.AcceptDate,"+ТаблицаНомера+".TextNote Note, pd.AcceptorAttrRef AcceptorAccRef, pd.PayerAttrRef DFAccount,"+nl+
          " cast(pd.SourceDocNumber as varchar(50))SourceDocNumber, pd.SendBy, pd.Reject_CLS, pd.RejectCause,"+nl+
          " pd.Summa, pd.Credit, pd.Debit, cast ("+ТаблицаНомера+".NUMBER  as varchar(50)) DocNumber, "+nl+
            ТаблицаНомера+ ".Summa MasterSumma, pd.AcceptDate AcceptDatePD, "+nl+
          " pd.CurSum CurSum, pd.CURRENCY CURRENCY," + nl +  //сумма в валюте и код валюты 
          " oa.Acc_CLS, pd.AccountRef, pd.PaymentCondition, dfbt.IFS DFBTIFS_Ref, dfbtBAP.BuhAcc DFBuhAccFO," + nl +
          " pd.InputDate, pd.InputDate MakeDate,Cast(7 as integer) AlgIndex, "+nl+
          " ex.senddate, ex.status ,ex.TypeInf, pdm.Number MasterNumber, "+nl+
          " d.DOCBASE DOCUMENTBASETYPE, pd.PAYQUEUE, pd.TaxNote, pd.CreaterUser,pd.CreateDate,pd.UpdateDate, pd.BudgetRef, "+nl+ 
          // поля для инструкции 70н
          " bac.correctionflag, d.BuhOperationCLS, d.IFS_CORR, d.IFS, mt.ActivityKind, d.CLSType," + nl +
          " bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
          " CreditAP.ECCLS bacCreditKESR," + 
          " DebitAP.ECCLS bacDebitKESR, CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
          " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
          " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan, bac.BalanceCls," + nl +                                                               
          " ifscor_t.FinSourceValue IFSValue_Corr, ifs_t.FinSourceValue,"+ nl +
          " DFIFS.FinSourceValue DFIFSValue," + nl +        
          " capt.CreaterUser CptCreaterUser, capt.CreateDate CptCreateDate, capt.UpdateDate CptUpdateDate, capt.UpdaterUser CptUpdaterUser, " + nl +
          " cast(0 as varchar(20)) BudClS," + nl+
          " d.UpdaterUser, kd.KDValue, kd.id KDID, ooa.id Org_RefGRBS_Det " + nl +
          "from "+nl+ 
          " PayDoc32 pd "+nl+
          " left join PayDoc32 pdm on (pd.ParentIndex=pdm.ID) "+nl+ 
          " left join incomes32 d on (pd.recordIndex=d.ID)"+nl+
          " left join kd on (d.kd=kd.ID)"+nl+        
            ПодключениеЗаголовкаРаспоряжения + nl +
          " left join FacialAcc_CLS f on (f.id = pd.FacialAcc_CLS)"+nl+
          " left join Org_Accounts f_oa on (f_oa.id = f.FCAccount)"+nl+
          " left join paydocexchange ex on (pd.id = ex.PayDocRef) "+nl+
          " left join PayDocExchange pde On (d.id = pde.PayDocRef) "+nl+
          " left join org_accounts oa on (oa.id=pd.AccountRef)"+nl+
          " Left join org_accounts oa_p on (oa_p.id=pd.PayerAttrRef)"+nl+
          " Left join org_accounts oa_a on (oa_a.id=pd.AcceptorAttrRef)"+nl+
          " left join dfAccountsBuhTable dfbt on ((dfbt.id=pd.PayerAttrRef)"+ОгрПоБюджетуТаблСчетовДепартамента+")"+nl+
          " left join BuhAccPlan dfbtBAP on (dfbtBAP.ID = dfbt.FinOrgAccRef)" + nl +   
          " left join dfAccountsBuhTable dfbtD on ((dfbtD.id=pd.AcceptorAttrRef)"+ОгрПоБюджетуТаблСчетовДепПоПолуч+")"+nl+
          " left join incomes32 incq on (d.FEDERALFUNDSREF = incq.id) " + nl +
          " left join quotestitle q on (incq.recordindex = q.id) " + nl +
            ТаблицаОрг +
          // таблицы для инструкции 70н
          " left join BuhOperationCls boCLS on (boCLS.ID = d.BuhOperationCLS) " + nl +        
          " left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
          " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
          " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl+
          " left join MeansType mt on (mt.ID = d.MeansType) " + nl +
          " left join InnerFinSource ifscor_t on (ifscor_t.ID = d.IFS_CORR)" + nl +
          " left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)" + nl +
          " left join InnerFinSource DFIFS on (DFIFS.ID = dfbt.IFS) " + nl +
          "where "+nl+
          "(1=1)"+nl+
          ОгрПоБюджету +nl+
          ОгрПоКлассификаторам+nl+
          ОгрПоДате+nl+   
          ОгрПоДатамБухОпераций + nl +
          ОгрПоСервиснымСчетам+ОгрДоп+nl+
          ОгрПоРодителю+ОгрПоКассовымРасходам+nl+
          ОгрПоОргПлат+ОгрПоСчетуПлат+nl+
          ОгрПоОргПолуч+ОгрПоСчетуПолуч+nl+
          ОгрПоОргРасп+ОгрПоСчетуРасп+nl+        
          ОгрПоПроведению+nl+
          ИсключатьСвободныеПлатежки+nl+
          ОгрПоНепустымДопБухПроводкам+nl+
          ОгрПоВнутрОперФин+ОгрПоЗаявкам+nl+
          ОгрПоЛС + nl +
          ОгрПоТипуОрг + nl +
          ОгрКодДокумента + nl + 
          ОграничитьПоФедеральнымСредствам; 

    результат := результат +nl+ ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);

    //выбираем платежки из заимствований, если нет ограничений по типу классификации или выбирается источниковая классификация
    если ( (не Коллекция.ПараметрСуществует("ТипКлассификации")) и (не Коллекция.ПараметрСуществует("ТипКлассификацииРасх")) ) или
         ((Коллекция.ПараметрСуществует("ТипКлассификации") и (Коллекция.Values("ТипКлассификации")="" или Коллекция.Values("ТипКлассификации")=1)) или 
          (Коллекция.ПараметрСуществует("ТипКлассификацииРасх") и (Коллекция.Values("ТипКлассификацииРасх")="" или Коллекция.Values("ТипКлассификацииРасх")=1))) тогда   
    начало
      Комментарий := "Секция платежных поручений (из заимствований)";
      ПодключениеТаблицыКредит := "";
      Если (Коллекция.Значение("ОбобщенноеРаспоряжение") = 1)
        тогда
          начало 
            ПодключениеЗаголовкаРаспоряжения := " left join FinDocCaption c on (d.totalref = c.ID)";
            ПодключениеТаблицыКредит := "  left join LoanCredit lc on (d.recordIndex=lc.ID)";
            ТаблицаЛСКредит := "lc";
          конец  
        иначе
          начало
            ПодключениеЗаголовкаРаспоряжения := " left join LoanCredit c on (c.id = d.RecordIndex)";
            ТаблицаЛСКредит := "c";
          конец;  

      МаппингПП := МаппингППЗаим1+МаппингППЗаим2+МаппингППЗаим3+МаппингППЗаим4+МаппингППЗаим5;
      МаппингПП := МаппингПП + "Мероприятие="+ТаблицаЛСКредит+".FACT";
      ОгрПоКлассификаторам := Ограничение(МаппингПП,Коллекция);

      если ОгрПоСчетуРасп &lt;&gt; ""
        тогда ОгрПоСчетуРасп := ЗаменитьСтроку(ОгрПоСчетуРасп,"d.FacialAcc_CLS",(ТаблицаЛСКредит+".FacialAcc_CLS"),ЗаменятьВсе + ИгнорироватьРегистр);

      если ОгрПоЛС &lt;&gt; ""
        тогда ОгрПоЛС := ЗаменитьСтроку(ОгрПоЛС,"d.FacialAcc_CLS",(ТаблицаЛСКредит+".FacialAcc_CLS"),ЗаменятьВсе + ИгнорироватьРегистр);

      если ОгрПоТипуОрг &lt;&gt; ""
        тогда ОгрПоТипуОрг := ЗаменитьСтроку(ОгрПоТипуОрг,"d.FacialAcc_CLS",(ТаблицаЛСКредит+".FacialAcc_CLS"),ЗаменятьВсе + ИгнорироватьРегистр);
      
      запрос := "Select "+ПолеКодаДокумента+" ID, d.ID DetID, "+ТаблицаЛСКредит+".FacialAcc_CLS FacialAcc,"+nl+
        " cast(0 as varchar(20)) KVR, cast(0 as integer) KVRID, cast(0 as integer) KVSR, cast(0 as integer) KVSRID," +nl+
        " cast(0 as integer) KCSR, cast(0 as integer) KCSRID, cast(0 as integer) KFSR, cast(0 as integer) KESR," +nl+
        " cast(0 as integer) SUBKESR, cast(0 as integer) DirectionCLS, "+ТаблицаЛСКредит+".FACT, d.Doctype Doctype,"+nl+
        " d.Meanstype, cast(0 as integer) FinSource, cast(0 as integer) FinType, pd.Reject_CLS, pd.RejectCause,"+nl+
        " d.ProgIndex, pd.AccountRef AccDebit, pd.PayerAttrRef AccCredit,"+nl+
        " pd.AcceptDate,"+ТаблицаНомера+".TextNote Note, pd.AcceptorAttrRef AcceptorAccRef, pd.PayerAttrRef DFAccount,"+nl+
        " cast(pd.SourceDocNumber  as varchar(50)) SourceDocNumber, pd.SendBy, "+nl+
        " pd.Summa, pd.Credit, pd.Debit, cast ("+ТаблицаНомера+".NUMBER  as varchar(50)) DocNumber, "+nl+
        " d.FEDERALFUNDSREF FederalData, "+ТаблицаНомера+ ".Summa MasterSumma," + nl +
        " c.ACCEPTDATE AcceptDateFD, pd.AcceptDate AcceptDatePD, c.Number, dfbt.IFS DFBTIFS_Ref, dfbtBAP.BuhAcc DFBuhAccFO," + nl +
        " pd.CurSum CurSum, pd.CURRENCY CURRENCY," + nl +  //сумма в валюте и код валюты 
        " cast(0 as integer) Promise, oa.Acc_CLS, pd.AccountRef, d.REQUESTSINDEX, pd.PaymentCondition,"+nl+
        " pd.InputDate, pd.InputDate MakeDate, Cast(7 as integer) AlgIndex, "+nl+
        " ex.senddate, ex.status ,ex.TypeInf, pdm.Number MasterNumber, "+nl+
        " pde.status pdeStatus, pde.DocNumber pdeDocNumber, pde.senddate pdeSenddate, pde.PACKETNUMBER, "   + nl +
        " d.DOCBASE DOCUMENTBASETYPE, pd.PAYQUEUE, pd.TaxNote, pd.CreaterUser,pd.CreateDate,pd.UpdateDate, pd.BudgetRef, d.RegionCls," +nl+
        " c.CreaterUser CptCreaterUser, c.CreateDate CptCreateDate, c.UpdateDate CptUpdateDate, c.UpdaterUser CptUpdaterUser, " + nl +
        // поля для инструкции 70н
        " bac.correctionflag,d.BuhOperationCLS, d.IFS_CORR, d.IFS, mt.ActivityKind, cast(1 as integer) CLSType," + nl +
        " bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
        " CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," + 
        " CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
        " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
        " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan,bac.BalanceCls," + nl +                                                               
        " ifscor_t.FinSourceValue IFSValue_Corr, ifs_t.FinSourceValue,"+ nl +
        " DFIFS.FinSourceValue DFIFSValue," + nl +        
        " cast(0 as varchar(20)) BudClS," + nl+
        " cast(0 as varchar(20)) KDValue," + nl+
        " cast(0 as integer) KDID," + nl+
        " d.UpdaterUser, ooa.id Org_RefGRBS_Det " + nl +
        "FROM "+nl+ 
        " PayDoc32 pd "+nl+
        " left join PayDoc32 pdm on (pd.ParentIndex=pdm.ID) "+nl+ 
        " left join Debt d on (pd.recordIndex=d.ID)"+nl+
        ПодключениеЗаголовкаРаспоряжения + nl +
        ПодключениеТаблицыКредит + nl +
        " left join FacialAcc_CLS f on (f.id = "+ТаблицаЛСКредит+".FacialAcc_CLS)"+nl+
        " left join Oeg_Accounts f_oa on (f_oa.id = f.FCAccount)"+nl+
        " left join paydocexchange ex on (pd.id = ex.PayDocRef) "+nl+
        " left join PayDocExchange pde On (pde.PayDocRef = d.id) "+nl+
        " left join org_accounts oa on (oa.id=pd.AccountRef)"+nl+
        " Left join org_accounts oa_p on (oa_p.id=pd.PayerAttrRef)"+nl+
        " Left join org_accounts oa_a on (oa_a.id=pd.AcceptorAttrRef)"+nl+
        " left join dfAccountsBuhTable dfbt on ((dfbt.id=pd.PayerAttrRef)"+ОгрПоБюджетуТаблСчетовДепартамента+")"+nl+
        " left join BuhAccPlan dfbtBAP on (dfbtBAP.ID = dfbt.FinOrgAccRef)" + nl +   
        " left join dfAccountsBuhTable dfbtD on ((dfbtD.id=pd.AcceptorAttrRef)"+ОгрПоБюджетуТаблСчетовДепПоПолуч+")"+nl+
        " left join incomes32 incq on (d.FEDERALFUNDSREF = incq.id) " + nl +
        " left join quotestitle q on (incq.recordindex = q.id) " + nl +
        ТаблицаОрг +
        // таблицы для инструкции 70н
        " left join BuhOperationCls boCLS on (boCLS.ID = d.BuhOperationCLS) " + nl +        
        " left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
        " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
        " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl+
        " left join MeansType mt on (mt.ID = d.MeansType) " + nl +
        " left join InnerFinSource ifscor_t on (ifscor_t.ID = d.IFS_CORR)" + nl +
        " left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)" + nl +
        " left join InnerFinSource DFIFS on (DFIFS.ID = dfbt.IFS)" + nl +
        "WHERE "+nl+
        "(1=1)"+nl+
        ОгрПоБюджету +nl+
        ОгрПоКлассификаторам+nl+
        ОгрПоДате+ОгрПоСервиснымСчетам+ОгрДоп+nl+
        ОгрПоДатамБухОпераций + nl +
        ОгрПоРодителю+ОгрПоКассовымРасходам+nl+
        ОгрПоОргПлат+ОгрПоСчетуПлат+nl+
        ОгрПоОргПолуч+ОгрПоСчетуПолуч+nl+
        ОгрПоОргРасп+nl+
        ОгрПоСчетуРасп+nl+        
        ОгрПоПроведению+nl+
        ИсключатьСвободныеПлатежки+nl+
        ОгрПоНепустымДопБухПроводкам+nl+
        ОгрПоВнутрОперФин+ОгрПоЗаявкам+nl+
        ОгрПоЛС + nl +
        ОгрПоТипуОрг + nl +
        ОгрКодДокумента + nl + 
        ОграничитьПоФедеральнымСредствам; 

      результат := результат +nl+ ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);
    конец;
  конец;
конец;

функция ЗаполнитьНомерПП(Данные : СтатическиеДанные);
переменные
  ПолеНомерПП,ПолеНомерСвязПП: Поле;
начало
  // если выбираем все платежки (связанные и несвязанные) то после выборки перекидываем
  // номер объединяющих платежек в исходные
  ПолеНомерПП := nil;
  ПолеНомерСвязПП := nil;
  если Данные.FindField("DocNumber",ПолеНомерПП)и Данные.FindField("MasterNumber",ПолеНомерСвязПП)тогда
  начало
    Данные.ВНачало;
    Пока не Данные.eof делать
    начало
      Если ПолеНомерПП.КакСтрока = "" тогда
        ПолеНомерПП.КакЦелое := ПолеНомерСвязПП.КакЦелое;
      Данные.Next;
    конец;
  конец;
конец;

функция ПолучитьПП(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ЛокКоллекция : IVariables;
начало
   попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);
    Если Позиция("BudClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + 
        ",KVSR,KFSR,KCSR,KVR,KESR,FinSourceValue,IFS,KDValue,ClsType";   
    ЛокКоллекция.Values("ПоляВыборки") := ЛокКоллекция.Values("ПоляВыборки")+','+ДополнитьПоляВыборки("MasterNumber", Нет);
    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;

    //для бухгалтерии 70н
    CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ЗапросыППМаппингМаппингПереносаПолей + Коллекция.Значение("ДопМаппинг"), nil, Данные);
    //Создавать недостающие поля запросом
    Данные.DefProps("Options") := "+sdoDefaultFields";        

    // формируем SQL-запрос
    Данные.Запрос:="[PumpData]" +ЗапросПП(ЛокКоллекция);      
    ПолучитьДанные(Данные, ЛокКоллекция);
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=FinSourceValue,ИВФКлюч=IFS,КД=KDValue,ВидКлс=ClsType",Данные,ЛокКоллекция);
    ЗаполнитьНомерПП(Данные);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыПП.abl" type="3" name="version">36.042.25</param>
    <param value="ЗапросыПП.abl" type="3" name="crc32">$E734BCD2</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыФинансирование.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить '\макросы\отчеты\поддержкаОтчетов.abl';                   
включить '\макросы\запросы\ЗапросыПП.abl';
константы
  nl = #13#10;                                
  МаппингФин1 = 'ТипПлатДок=d.Doctype,КВР=tKvr.Code%k,КЭСР=d.KESR,КВСР=tKvsr.Code%d,КЦСР=tKcsr.Code%k,КФСР=d.KFSR,ВидДеятельности=mt.ActivityKind%d,ИмяПакета=c.ELPACKETNAME%s,ДатаОтправки=pde.senddate%s,НомерЭлектронногоДокумента=pde.DocNumber%s,Статус=pde.status%d,';
  МаппингФин2 = 'СубКЭСР=d.SUBKESR,Мероприятие=d.FACT,ТипСредствБюдж=d.Meanstype,ТипДокОснов=d.DOCUMENTBASETYPE,ИндексыДанных=d.ProgIndex,Район=d.RegionCls,';
  МаппингФин3 = 'ФинИсточник=d.FinSource,ФинИсточники=d.FinSource,ФинТип=d.FinType,ФинТипы=d.FinType,ТипСчета=oa.Acc_CLS,БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),';
  МаппингФин4 = 'Бюджет=d.BudgetRef%d,НомерБО=d.Promise%d,Пользователь=d.CreaterUser%s,НомерДок=d.DOCNUMBER%s,НомерДокИсточн=d.SourceDocNum%s,КодСводногоРаспоряжения=d.TotalRef,';
  МаппингФин5 = 'КодЗаписи=d.ID%d,ИндексыДанныхФин=d.progIndex%d,Примечание=d.Note%s,КодДокумента=c.id,ПричинаОтклон=pd.Reject_CLS%d,БухПроводка=d.BUHPAYMENTCLS%d,';
  МаппингФин6 = 'Сумма=(d.Credit%f)or(d.Debit%f)or(d.Summa%f),ДатаВремяСоздания=d.CreateDate,ДатаВремяИзменения=d.UpdateDate,Направление=d.DirectionCLS,ФедеральныеСредства=d.FEDERALFUNDSREF';
  МаппингФин7 = ",ТипКлассификации=d.CLSType%d,ТипКлассификацииРасх=d.CLSType%d,Баланс=bac.BalanceCls,БухОперация=d.BuhOperationCLS%d,Коррекция=bac.CorrectionFlag%d,ИстВнутрФин=ifs_t.FinSourceValue%l,";
  МаппингФин8 = "БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),";
  МаппингФин9 = "ПримечаниеЭлДок=pde.note%s,ДатаУведомления=(pde.queuetime%f),НомерПакета=pde.PACKETNUMBER,НомерФедРеестра=q.ReestrNumber%s,ХарактерЛС=f.HARACTERACCOUNT%d,";
  МаппингФин10 = "РайонТрансферта=d.RegionCLS%d,РайонКонтрагента=OrgAccOwn.RegionCLS%d,РайонБУ=OrgFacOwn.RegionCLS%d,ТипДеятельности=mt.ActivityType%d";
  
функция ФинансированиеВернутьМаппингПереносаПолей : Строка;
начало
  Результат := "КВР=KVR,КВРКлюч=KVRID,КЭСР=KESR,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВСР=KVSR,КВСРКлюч=KVSRID,КФСР=KFSR,СубКЭСР=SubKESR," +
    "Направление=DirectionCLS,ТипФинансирования=FinType,ИсточникФинансирования=FinSource,РСКредит=AccCredit,РСДебет=AccDebit," +
    "Мероприятие=Fact,Регион=RegionCls,ТипДокумента=DocType,ТипСредств=MeansType,ИндексыДанных=ProgIndex,БюджОбяз=Promise," +
    "КодВалюты=CURRENCY,СуммаВалюта=CurSum,ДатаПринятия=AcceptDate,ДатаПринятияРаспоряжения=AcceptDateFD,ДатаПринятияПП=AcceptDatePD," +
    "Примечание=Note,НомерРеестра=SourceDocNumber,ЛицевойСчет=FacialAcc,РСФО=DFAccount,ТипСчета=Acc_CLS,ТипДокОснования=DOCUMENTBASETYPE," +
    "БухПроводка=BuhPaymentCLS,ДатаРеестра=MakeDate,СчетРаспорядителя=AccountRef,ИндексАлгоритма=AlgIndex,ИмяПакета=ELPACKETNAME," +
    "ДатаОтправки=pdeSenddate,НомерЭлектронногоДокумента=pdeDocNumber,СчетПлат=DFAccount,СчетПолуч=AcceptorAccRef," +
    "НомерЗаголовка=Number,ДатаПринятияЗаголовка=AcceptDateCap,ПримечаниеЗаголовка=NoteCap,Автор=CreaterUser,Заявка=REQUESTSINDEX," +
    "КодДокумента=CptID,КодЗаписи=DetID,ИнформацияОНалоге=TaxNote,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate," +
    "ФедеральныеСредства=FederalData,НомерДокумента=DocNumber,ДатаОтправления=SendDate,БухОперация=BuhOperationCLS,"+
    "ИсправляющаяОперация=CorrectionFlag,ИсточникКорКлюч=IFS_CORR,ИсточникКор=IFSValue_Corr,БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,"+
    "ЭККредит=CreditDocEK%d,ЭКДебет=DebitDocEK%d,ВидДеятельности=ActivityKind,ТипКлассификации=CLSType,Статус=pdeStatus," +
    "ПримечаниеЭлДок=pdeNote,ДатаУведомления=queuetime,ПричинаОтклонКод=Reject_CLS,ПричинаОтклонТекст=RejectCause,"+
    "ПланДебетЭК=bacDebitKESR,ПланКредитЭК=bacCreditKESR,БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue," +
    "КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,НомерСчетаДебет=DebitNumberAcc70n%s28,НомерСчетаКредит=CreditNumberAcc70n%s28,"+
    "БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f,Баланс=BalanceCls,НомерПакета=PACKETNUMBER,"+
    "БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,АвторИзменений=UpdaterUser,АвторДокумента=CptCreaterUser," +
    "ДатаВремяСозданияДокумента=CptCreateDate,ДатаВремяИзмененияДокумента=CptUpdateDate,АвторИзмененийДокумента=CptUpdaterUser," +                      
    "ИсточникВнутрФинансирования=FinSourceValue,ИсточникВнутрФинансированияКлюч=IFS,ДатаВвода=MakeDate,КодБюджета=BudgetRef," +
    "БюджКлассификация=BudClS,КодДохода=KDValue,КДКлюч=KDID,ОрганизацияГлавныйРаспорядитель=Org_RefGRBS_Det," +
    "РайонТрансферта=RegionCLS,РайонКонтрагента=RegionContractor,РайонБУ=RegionBudgetEst,ВидОрганизацииЛС=FAOrg_Type";
конец;
  
функция ЗапросФинансирование(Коллекция:IVariables):строка;
переменные
  // перенные для формирования ограничений
  ОгрПоДате: строка;
  ОгрПоСервиснымСчетам: строка;
  ОгрПоДенежнымСредствам: строка;
  ОгрПоВидуДокумента, ОгрДоп  : строка;
  ОгрСтандартные: строка;
  Комментарий, Запрос: строка;
  ОгрПоОргПлат,ОгрПоСчетуПлат: строка;
  ОгрПоОргПолуч,ОгрПоСчетуПолуч: строка;
  ОгрПоОргРасп,ОгрПоСчетуРасп : строка;
  ОгрПоПроведению: строка;
  ОграничитьСКазначейством: строка;
  ОгрПоБюджетуТаблСчетовДепартамента,ОгрПоБюджетуТаблСчетовДепПоПолуч : строка;
  МаппингФин, ОгрПоЗаявкам     : Строка;
  ОгрПоУчетуФиктивныхРС: Строка;
  ОгрПоНепустымДопБухПроводкам:строка;
  ОгрПоНулевымЛС, ОгрПоВнутрОперФин,ОгрНеУчитыватьОстаткиСсуд: строка;
  ОгрПоВалюте,ОгрПоВалютеПП,ОгрПоВалютеРФ: строка;
  ПолеСуммыВалюты : строка;
  ОгрПоЛС, ОгрПоТипуОрг, ТаблицаОрг : строка;
  ТекГод,ТекБюджет, ОрганизацияЛС: строка;
  УсловиеЗаголовка : строка;
  ОграничитьПоФедеральнымСредствам : Строка;
  ОгрПоПакету, ОгрПоСтатусу,ОгрПоНомеруЭлДокумента : Строка;
  Данные:СтатическиеДанные;
  РСФО, ОгрПоКассовымРасходам, СписокБухОпераций : строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция финансирования");
  ОгрПоТипуОрг := '';
  ТаблицаОрг := '';
  // Если осуществляется возврат финансирования, то при ограничении "не дата проведения" эти данные не выберутся
  // поэтому делаем так
  если (Коллекция.Значение("ТипДатыУнивер") = 6) и (Коллекция.Значение("УчитыватьОтрицательные")=1) тогда
  начало
    ОгрПоДате := " and ( (d.Credit&gt;0 and (d.DocType between 1010 and 1019)" + ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=d.AcceptDate,ДатаПринятияТип=d.AcceptDate,ДатаВводаТип=c.MakeDate,ДатаРеестраТип=d.AcceptDate,ДатаОтправленияТип=ex.SendDate', Коллекция, 'd.AcceptDate') + ")"
      + " or (d.Credit&gt;0 and not (d.DocType between 1010 and 1019) " + ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=d.AcceptDate,ДатаПринятияТип=d.AcceptDate,ДатаВводаТип=c.MakeDate,ДатаРеестраТип=d.AcceptDate,ДатаОтправленияТип=d.AcceptDate', Коллекция, 'd.AcceptDate') + ")"
      + " or (d.Credit&lt;=0 " + ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=d.AcceptDate,ДатаПринятияТип=d.AcceptDate,ДатаВводаТип=c.MakeDate,ДатаРеестраТип=d.AcceptDate,ДатаОтправленияТип=d.AcceptDate', Коллекция, 'd.AcceptDate') 
      + ") )";
  конец
  иначе
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=d.AcceptDate,ДатаПринятияТип=d.AcceptDate,ДатаВводаТип=c.MakeDate,ДатаРеестраТип=d.AcceptDate,ДатаОтправленияТип=ex.SendDate', Коллекция, 'd.AcceptDate');

  Если Коллекция.Значение("ТипДанныхОбмена")=1     // Параметр с шаблона
   тогда // Если PayDocExchange подключается по d.id
     ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаОтправленияТип=pde.SendDate', Коллекция,'');

  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";

  // формируем ограничение по денежным средствам
  ОгрПоДенежнымСредствам := СформироватьОграниченияПоДенСредствам(Коллекция, 'd.DocType');
  // формируем ограничение по прямым (кассовым) расходам
  // получаем список бух.операций, соответствующих уменьшению кассовых расходов
  ОгрПоКассовымРасходам := "";
  СписокБухОпераций := "";
  если УбратьПробелы(Коллекция.Values("ПрямыеРасходы"))&lt;&gt;"" тогда
  начало
    СписокБухОпераций := ПолучитьБухОперацииКассовыхРасходов(0,0);
    если СписокБухОпераций&lt;&gt;""
      тогда СписокБухОпераций := СписокБухОпераций + "," + ПолучитьБухОперацииКассовыхРасходов(1,0)
      иначе СписокБухОпераций := ПолучитьБухОперацииКассовыхРасходов(1,0);
    если СписокБухОпераций&lt;&gt;"" тогда
    начало
      ОгрПоКассовымРасходам :="(d.BuhOperationCLS in ("+СписокБухОпераций+"))";
      если Коллекция.Values("ПрямыеРасходы")=Да тогда  
        ОгрПоКассовымРасходам := " and "+ОгрПоКассовымРасходам
      иначе
        ОгрПоКассовымРасходам := " and not"+ОгрПоКассовымРасходам;
    конец;
  конец;

  //по умолчанию остатки ссуд на начало года не учитываем. Учитываем только в бухгалтерских отчетах
  ОгрНеУчитыватьОстаткиСсуд := "";        
  если Коллекция.Values("УчитыватьОстаткиСсудНаНачалоГода")=нет тогда
  начало //оптимизация. Если ограничиваем по дате принятия после 00.00, то ограничение по ссудам можно не накладывать
    если (Коллекция.Values("НачальнаяДата")ост 10000=0)или
      (Коллекция.Values("НачальнаяДата")цел 10000&lt;Коллекция.Values("КонечнаяДата")цел 10000)или 
      (позиция("Acceptdate",ОгрПоДате)&lt;1) тогда
    начало
      если не CheckParam("ГодТекущегоБюджета")тогда
      начало
        // узнаем текущий год. По текущей дате брать его плохо(получение отчетов за прошлые года), поэтому берем год текущего бюджета
        ТекБюджет := ПолучитьКонстантуКэш("",-1,3,0);// текущий бюджет
        попытка
        попытка  // по текущему бюджету определяем год
          Данные := СоздатьСтатическиеДанные;
          СоединитьБД(Данные);
          Данные.Запрос := "[PumpData]{Select Year from BUDGETS_S where (id="+ТекБюджет+")}";
          Данные.Открыть;
          ТекГод := Данные.ПолеПоИмени("Year").КакСтрока;
        обязательно
           если (Запрос &lt;&gt; nil) тогда УдалитьОбъект(Запрос);
        конец;
        неудача
          ТекГод := ЦелоеВСтроку(ТекущийГод);
        конец;
        values("ГодТекущегоБюджета") := ТекГод; 
      конец
      иначе
        ТекГод := Values("ГодТекущегоБюджета");
      // исключаем остатки ссуд на начало года, которые заводятся 00 числом 00 месяца
      ОгрНеУчитыватьОстаткиСсуд:="and not((d.ProgIndex in(121,122)and(d.Acceptdate="+ТекГод+"0000)))";
    конец;  
  конец;  
  // формируем ограничение по сервисным л/с, смотрим значения параметров: ЛицСчет, ОргЛС и БюджОргЛС
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) или
      ((Коллекция.Values("ОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("ОргЛС"))) или
      ((Коллекция.Values("БюджОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("БюджОргЛС"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;
  // если указан счет, то формируем ограничение по счету
  ОгрПоУчетуФиктивныхРС := "";
  если Коллекция.values("УчетФиктивныхРС")=да тогда 
    ОгрПоУчетуФиктивныхРС := "or(dfbt.Fixed&lt;&gt;0)";
  //Формируем ограничение по рассчетному счету
  РСФО := '';
  если Коллекция.ПараметрСуществует("РСФО") тогда
    РСФО := Коллекция.Values("РСФО");
  если РСФО='' тогда  
    если Коллекция.ПараметрСуществует("КазнРС") тогда
      РСФО := Коллекция.Values("КазнРС");
  если РСФО='' тогда
    если Коллекция.ПараметрСуществует("РСКазн") тогда
      РСФО := Коллекция.Values("РСКазн");
  Коллекция.Values("РСФО") := рсфо;
  если (Коллекция.Values("ПлатРССсылка")='') и (Коллекция.Values("РСФО") &lt;&gt; "") 
    тогда Коллекция.Values("ПлатРССсылка") := Коллекция.Values("РСФО");

  ОгрПоОргПлат := "";
  ОгрПоСчетуПлат := "";
  ОгрПоОргПолуч := "";
  ОгрПоСчетуПолуч := "";
  ОгрПоОргРасп := "";
  ОгрПоСчетуРасп := "";
  // огр. по счету плат. если нет, то по организации-плательщику
  ОгрПоСчетуПлат := Ограничение('ПлатРССсылка=(d.DFAccount%d)'+ОгрПоУчетуФиктивныхРС,Коллекция);    
  если (ОгрПоСчетуПлат="") тогда ОгрПоОргПлат := Ограничение("ПлатОргСсылка=oa_p.Org_Ref%d",Коллекция);

  // огр. по счету получ. если нет, по организации-получателю
  ОгрПоСчетуПолуч := Ограничение('ПолучРССсылка=d.AcceptorAccRef%d',Коллекция);
  если (ОгрПоСчетуПолуч="") тогда  ОгрПоОргПолуч := Ограничение('ПолучОргСсылка=oa_a.Org_Ref%d',Коллекция);

  // если этот параметр установлен, то организация на панели параметров считается организацией-
  // владельцем л/с для тех записией, у которых л/с установлен. Для тех записей, у которых
  // л/с пустой (т.е.равен нулю) ограничение происходит по организации владельцу расчетного счета 
  
  // если указана только организация, то должны появляться данные и по л/с и по рассчетному
  // если указан какой-либо из счетов, то должны появляться данные только по нему.
  ОгрПоЛС := ""; ОрганизацияЛС := "Org_Ref";
  выбрать Коллекция.Values("ОрганизацияЛС") из
    1:ОрганизацияЛС := "Org_Ref";
    2:ОрганизацияЛС := "GeneralOrg_Ref";
  конец;    
  
  // поддержим ограничение по организации, организации распорядителя,бюджетной организации, 
  // счету, счету распорядителя, счету бюджетной организации 
  если не Коллекция.ПараметрСуществует("БюджОргСсылка") тогда 
    если Коллекция.ПараметрСуществует("Бюджет_РаспОргСсылка") тогда
      Коллекция.Values("БюджОргСсылка"):=Коллекция.Values("Бюджет_РаспОргСсылка")
    иначе если Коллекция.ПараметрСуществует("ОргСсылка") тогда
      Коллекция.Values("БюджОргСсылка"):=Коллекция.Values("ОргСсылка");
   
  если не Коллекция.ПараметрСуществует("БюджРССсылка") тогда 
    если Коллекция.ПараметрСуществует("Бюджет_РаспРССсылка") тогда
      Коллекция.Values("БюджРССсылка"):=Коллекция.Values("Бюджет_РаспРССсылка")
    иначе если Коллекция.ПараметрСуществует("РССсылка") тогда
      Коллекция.Values("БюджРССсылка"):=Коллекция.Values("РССсылка");

  если не Коллекция.ПараметрСуществует("БюджОргЛС") тогда 
    если Коллекция.ПараметрСуществует("ОргЛС") тогда
      Коллекция.Values("БюджОргЛС"):=Коллекция.Values("ОргЛС");
  если не Коллекция.ПараметрСуществует("БюджЛицСчет11") тогда 
    если Коллекция.ПараметрСуществует("ЛицСчет11") тогда
      Коллекция.Values("БюджЛицСчет11"):=Коллекция.Values("ЛицСчет11");
  
  если (Коллекция.Values("БюджОргСсылка")&lt;&gt;"")и(Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС")=1) тогда
    начало
      // если указана только организация, выбираются данные по владельцу и л/с и р/с
      если (Коллекция.Values("БюджРССсылка") = "") и (Коллекция.Values("ОргЛС") = "") тогда
        ОгрПоСчетуРасп := Ограничение("БюджОргСсылка=(((oa.Org_ref%d)and(d.FacialAcc_CLS=0))or((f."+ОрганизацияЛС+"%d)and(d.FacialAcc_CLS&lt;&gt;0)))",Коллекция)
      иначе
        // если указан рассчетный счет, то делаем ограничение только по нему 
        если Коллекция.Values("БюджРССсылка") &lt;&gt; "" тогда
          ОгрПоСчетуРасп := Ограничение("БюджРССсылка=d.AccountRef%d",Коллекция)
        // если указан только лицевой счет, то делаем ограничение по нему 
        иначе
          ОгрПоСчетуРасп := Ограничение("БюджОргЛС=d.FacialAcc_CLS%d",Коллекция);          
    конец
  иначе
    начало  
      // огр. по счету распорядителя
      ОгрПоСчетуРасп := Ограничение('БюджРССсылка=d.AccountRef%d',Коллекция); 
      если (ОгрПоСчетуРасп = "") тогда // если счет не указан, то пытаемся сделать ограничение по организации
        ОгрПоОргРасп := Ограничение('БюджОргСсылка=oa.Org_Ref%d',Коллекция); 
      // формируем ограничение по л/с
      если Коллекция.Values("ИсключатьОграничениеПоЛС") тогда
        ОгрПоЛС := ""
      иначе 
        ОгрПоЛС := СформироватьОгрПоНаборуМаппингов(Коллекция, 'ЛицСчет=d.FacialAcc_CLS,БюджОргЛС=d.FacialAcc_CLS', 
                                                               'БюджЛицСчет11=f_oa.ACC%s,НомерЛС=f.FacialCodeEx%s');
    конец;
    
  ТаблицаОрг := " left join Organizations ooa on (ooa.id=oa.Org_ref)" + nl;
  если (Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") = 1) тогда
    начало
      ОгрПоТипуОрг := Ограничение('ТипОрг=(((ooa.ORG_CLS%d)and(d.FacialAcc_CLS=0))or((ofa.ORG_CLS%d)and(d.FacialAcc_CLS&lt;&gt;0)))', коллекция);
      если (ОгрПоТипуОрг &lt;&gt; '') тогда
        ТаблицаОрг := ТаблицаОрг + " left join Organizations ofa on (ofa.id=f." + ОрганизацияЛС + ")" + nl;
    конец
  иначе
    ОгрПоТипуОрг := Ограничение('ТипОрг=ooa.ORG_CLS%d', коллекция);
    
  // ограничение по виду покумента (платежки/не платежки)
  Если УбратьПробелы(Коллекция.Values("ПлатежныеПоручения"))="" тогда
    ОгрПоВидуДокумента := ""
  иначе
    если Коллекция.Values("ПлатежныеПоручения") тогда
      ОгрПоВидуДокумента := " and(d.DocType between 1010 and 1019)"// реестровые п/п
    иначе
    начало
      ОгрПоВидуДокумента := " and (not(d.DocType between 1010 and 1019)or(d.Credit&lt;0))";//  не п/п
      если Позиция('AcceptDate',ОгрПоДате)=0 тогда
      // если п\п не принято, то записи в таблице платежек нет и документ в отчет не попадает
      // для устранения этой проблемы непринятые п\п берем из таблицы финансирования
      // решение не идеально. В последствии должно быть доработано.
        ОгрПоВидуДокумента := " and (not(d.DocType between 1010 and 1019)or(d.Credit&lt;0)or(d.AcceptDate is null))";
    конец;  
 
  // формирует параметры запроса для классификаторов
  МаппингФин := МаппингФин1 + МаппингФин2 + МаппингФин3 + МаппингФин4 + МаппингФин5 + 
                МаппингФин6 + МаппингФин7 + МаппингФин8 + МаппингФин9 + МаппингФин10;
  
  Если Коллекция.Значение("ОбобщенноеРаспоряжение") = "1" тогда
    УсловиеЗаголовка := "(d.TotalRef = c.ID)"
  иначе
    УсловиеЗаголовка := "(d.RecordIndex = c.ID)"; 
   
  // дополнительные ограничения
  ОгрДоп := Коллекция.Values("ДопПараметры");
  
  // ограничение по бюджету для таблицы счетов департамента
  ОгрПоБюджетуТаблСчетовДепартамента := Ограничение('Бюджет=dfbt.BudgetRef%d',Коллекция);
  ОгрПоБюджетуТаблСчетовДепПоПолуч := Ограничение('Бюджет=dfbtD.BudgetRef%d',Коллекция);
  
  // Ограничение по проведенным/непроведенным
  если (УбратьПробелы(Коллекция.Values("ПроведНеПровед"))="")или(Коллекция.Values("ПроведНеПровед")=0)тогда
    ОгрПоПроведению := ""
  иначе
    Выбрать Коллекция.Values("ПроведНеПровед") из
      1:ОгрПоПроведению := "and(d.AcceptDate is not NULL)";
      2:ОгрПоПроведению := "and(d.AcceptDate is NULL)";
    конец;  

  // Если данный параметр не пустой, то из выборки исключаются записи, у которых  
  // счет получателя является счетом финоргана. Является или нет счет счетом финоргана определяется по его 
  // наличию в таблице dfAccountsBuhTable.  
  если Коллекция.Values("ИсклВнутрОперФин") = да тогда
    ОгрПоВнутрОперФин := "and(dfbtD.ID is NULL)"
  иначе
    ОгрПоВнутрОперФин := "";
    
  // ограничение по нулевым л/с
  Если Коллекция.Values("ИсключатьНулевыеЛС") = да тогда
    ОгрПоНулевымЛС := "and(d.FacialAcc_CLS &lt;&gt; 0)and(d.FacialAcc_CLS is not NULL)"
  иначе
    ОгрПоНулевымЛС := "";

  // ограничение по заявке
  Если Коллекция.CheckParam("ВключатьЗаявки")
    тогда Если Коллекция.Values("ВключатьЗаявки") = да 
          тогда ОгрПоЗаявкам := "and(d.REQUESTSINDEX is not NULL)"
          иначе ОгрПоЗаявкам := "and(d.REQUESTSINDEX is NULL)"
    иначе ОгрПоЗаявкам := "";

  ПолеСуммыВалюты := "";
  // формируем ограничение по валюте
  Если Коллекция.Значение("Валюта")="" тогда
    ОгрПоВалюте := ""
  иначе 
    начало
      ОгрПоВалютеПП := Ограничение ("Валюта=pd.Currency",Коллекция);
      ОгрПоВалютеРФ := Ограничение ("Валюта=d.CurrencyCLS",Коллекция);
      ПолеСуммыВалюты := "pd.CurSum CurSum,";
      если Коллекция.Значение("ПлатежныеПоручения")="" тогда
        ОгрПоВалюте := "and(((d.DocType between 1010 and 1019)"+ОгрПоВалютеПП+")or((not(d.DocType between 1010 and 1019))"+ОгрПоВалютеРФ+"))"
      иначе
        если Коллекция.Значение("ПлатежныеПоручения") тогда
          ОгрПоВалюте := ОгрПоВалютеПП
        иначе
          начало
            ПолеСуммыВалюты := "d.CurrencySumma CurSum,";
            ОгрПоВалюте := ОгрПоВалютеРФ;
          конец;
    конец;
    
  // ограничения по федеральным средствам
  Если (Коллекция.Значение("ДанныеТолькоФедеральныхРеестров") = 1)
    тогда ОграничитьПоФедеральнымСредствам := 'and ( not (d.FEDERALFUNDSREF is null)) '
    иначе ОграничитьПоФедеральнымСредствам := '';  
  
   // Если в отчете требуется ограничение по пакету
  Если (Коллекция.Значение("ОгрПоПакету") = 1) 
     тогда 
       начало
         Коллекция.Delete("КодДокумента");    // что бы не брало только выделенные записи.
         ОгрПоПакету := Коллекция.значение("ОграничениеПоПакету") //СформироватьОграниченияПоПакету(Коллекция);
       конец    
     иначе ОгрПоПакету := ""; 
  
  // формируем стандартные ограничения, накладываемые с панели ограничений
  Если Коллекция.ПараметрСуществует("ОгрСтатус") 
    тогда ОгрПоСтатусу := "and (pde.status = 1)"
    иначе ОгрПоСтатусу :="";
    
  если (Коллекция.Значение("УчитыватьДанныеКредитовИСсудСкопированныеВКазначейство") = 1)
    тогда ОграничитьСКазначейством := "" 
    иначе ОграничитьСКазначейством := " and not (d.progindex in (121,122, 133, 337, 338, 339) and d.recordindex3 is not null) ";  
  
  ОгрПоНомеруЭлДокумента := Ограничение('НомерЭлДок=pde.docNumber%s',Коллекция);
  
  ОгрСтандартные := Ограничение(МаппингФин,Коллекция);
         
  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета")и (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    ОгрПоНепустымДопБухПроводкам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) ";

  // формируем запрос    
  Запрос := "SELECT c.id CptID, d.ID DetID, d.FacialAcc_CLS FacialAcc,  d.KFSR, d.KESR, d.SUBKESR, d.DirectionCLS," +nl+
        " d.KVR KVRID, tKvr.Code KVR, d.KVSR KVSRID, tKvsr.Code KVSR, d.KCSR KCSRID, tKcsr.Code KCSR, d.FACT," +nl+
        " d.Doctype Doctype, d.Meanstype, d.FinSource, d.FinType, d.ACCOUNTREF, d.ACCEPTORACCREF, d.RegionCls," +nl+
        " d.ProgIndex, d.AcceptDate, d.acceptdate AcceptDateFD, cast (null as float) AcceptDatePD, d.Note," +nl+
        ПолеСуммыВалюты + " pd.CURRENCY CURRENCY, pd.Reject_CLS, pd.RejectCause, d.SourceDocNum SourceDocNumber," + nl + 
        " d.Summa SUMMA, d.Credit, d.Debit, d.DFAccount, d.Promise, oa.Acc_CLS, d.BUHPAYMENTCLS, d.BudgetRef BudgetRef,"+nl+
        " c.MakeDate, d.DFAccount AccCredit, d.AccountRef AccDebit, c.UserNote NoteCap, d.REQUESTSINDEX, c.Number," +nl+
        " d.CreaterUser,Cast(7 as integer) AlgIndex, d.DOCUMENTBASETYPE,d.TaxNote,d.CreateDate,d.UpdateDate, " +nl+
        " d.FEDERALFUNDSREF FederalData, d.DOCNUMBER, c.ELPACKETNAME, ex.senddate, ex.status, ex.TypeInf," +nl+
        " pde.status pdeStatus, pde.DocNumber pdeDocNumber, pde.senddate pdeSenddate, pde.note pdeNote, pde.queuetime,"   + nl +
        " pde.PACKETNUMBER, bac.correctionflag,d.BuhOperationCLS, d.IFS_CORR, d.IFS, mt.ActivityKind, d.CLSType, " + nl +
        " bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
        " CreditAP.ECCLS bacCreditKESR,bac.BalanceCls,dfbt.IFS DFBTIFS_Ref, dfbtBAP.BuhAcc DFBuhAccFO," + 
        " DebitAP.ECCLS bacDebitKESR,CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
        " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
        " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," + nl +                       
        " ifscor_t.FinSourceValue IFSValue_Corr, ifs_t.FinSourceValue, DFIFS.FinSourceValue DFIFSValue,"+ nl +
        " c.CreaterUser CptCreaterUser, c.CreateDate CptCreateDate, c.UpdateDate CptUpdateDate, c.UpdaterUser CptUpdaterUser, " + nl +
        " OrgAccOwn.RegionCLS RegionContractor, OrgFacOwn.RegionCLS RegionBudgetEst," + 
        " cast(0 as varchar(20)) BudClS," + nl+
        " cast(0 as varchar(20)) KDValue," + nl+
        " cast(0 as integer) KDID," + nl+
        " d.UpdaterUser, ooa.id Org_RefGRBS_Det, OrgFacOwn.Org_Type FAOrg_Type " + nl +
        "FROM "+nl+                  
        " FinDocDetail d left join Org_Accounts oa on (oa.id=d.AccountRef)"+nl+
        " left join FinDocCaption c on " + УсловиеЗаголовка +nl+
        " Left join org_accounts oa_p on (oa_p.id=d.DFAccount)"+nl+
        " Left join org_accounts oa_a on (oa_a.id=d.AcceptorAccRef)"+nl+
        " left join Organizations OrgAccOwn on (OrgAccOwn.ID = oa_a.Org_Ref)" + nl +
        " left join FacialAcc_CLS f on (d.FacialAcc_CLS = f.id)"+nl+
        " left join Organizations OrgFacOwn on (OrgFacOwn.ID = f.Org_Ref)" + nl +
        " left join Org_Accounts f_oa on (f_oa.id = f.FCAccount)" + nl +
        " left join PayDoc32 pd on (pd.RecordIndex=d.ID)and(pd.IsDivide is null) "+nl+
        " left join dfAccountsBuhTable dfbt on ((dfbt.id=d.DFAccount)"+ОгрПоБюджетуТаблСчетовДепартамента+")"+nl+
        " left join BuhAccPlan dfbtBAP on (dfbtBAP.ID = dfbt.FinOrgAccRef)" + nl +   
        " left join dfAccountsBuhTable dfbtD on ((dfbtD.id=d.AcceptorAccRef)"+ОгрПоБюджетуТаблСчетовДепПоПолуч+")"+nl+
        " left join PayDocExchange ex On (ex.PayDocRef = pd.id) "+nl+ 
        " left join PayDocExchange pde On (pde.PayDocRef = d.id) "+nl+
        " left join incomes32 inc on (d.FEDERALFUNDSREF = inc.id) " + nl +
        " left join quotestitle q on (inc.recordindex = q.id) " + nl +
          ТаблицаОрг + 
        // таблицы для инструкции 70н
        " left join BuhOperationCls boCLS on (boCLS.ID = d.BuhOperationCLS) " + nl +
        " left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
        " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
        " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl+
        " left join MeansType mt on (mt.ID = d.MeansType) " + nl +
        " left join InnerFinSource ifscor_t on (ifscor_t.ID = d.IFS_CORR)" + nl +
        " left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)" + nl +
        " left join InnerFinSource DFIFS on (DFIFS.ID = dfbt.IFS)" + nl +
        " left join KVSR tKvsr on (tKvsr.id = d.KVSR)" + nl +
        " left join KVR tKvr on (tKvr.id = d.KVR)" + nl +
        " left join KCSR tKcsr on (tKcsr.id = d.KCSR)" + nl +
        "WHERE " + nl +
        " (1=1)"+nl+
        ОгрСтандартные+nl+
        ОгрПоСервиснымСчетам+nl+
        ОгрПоДенежнымСредствам+nl+
        ОгрДоп+nl+
        ОгрПоКассовымРасходам+nl+
        ОгрПоОргПлат+ОгрПоСчетуПлат+nl+
        ОгрПоОргПолуч+ОгрПоСчетуПолуч+nl+
        ОгрПоОргРасп+ОгрПоСчетуРасп+nl+        
        ОгрПоВидуДокумента+nl+
        ОгрПоПроведению+nl+
        ОгрПоНепустымДопБухПроводкам+nl+
        ОгрПоНулевымЛС+nl+
        ОгрПоЗаявкам+nl+
        ОгрПоВнутрОперФин+nl+
        ОгрПоВалюте+nl+
        ОгрПоЛС+nl+
        ОгрНеУчитыватьОстаткиСсуд+nl+
        ОграничитьПоФедеральнымСредствам + 
        ОгрПоТипуОрг +
        ОгрПоДате+ nl +
        ОгрПоДатамБухОпераций + nl +
        ОгрПоПакету+nl+ОгрПоСтатусу+nl+
        ОгрПоНомеруЭлДокумента+nl+
        ОграничитьСКазначейством;
        
  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос); 
конец;

функция ПолучитьФинансирование(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ВремДанные : СтатическиеДанные;
  ЛокКоллекция : IVariables;
начало
  попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);
    
    Если Позиция("BudClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + 
        ",KVSR,KFSR,KCSR,KVR,KESR,FinSourceValue,IFS,ClsType";   

    ВремДанные := СоздатьСтатическиеДанные;
    
    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;

    //для бухгалтерии 70н
    CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ФинансированиеВернутьМаппингПереносаПолей + Коллекция.Значение("ДопМаппинг"), nil, Данные);
    //Создавать недостающие поля запросом
    Данные.DefProps("Options") := "+sdoDefaultFields";        

    Данные.Запрос:="[PumpData]" +ЗапросФинансирование(ЛокКоллекция);
    ПолучитьДанные(Данные, ЛокКоллекция);
       
    // если надо, выбираем еще и платежные поручения
    // считаем, что не бывает платежек с отрицательными суммами
    если (ЛокКоллекция.Values("ВыбиратьПП")=1) тогда
    начало
      // Создаем и настраиваем временные данные
      ВремДанные := СоздатьСтатическиеДанные;
      ВремДанные.AssignFields(Данные);

      если ЛокКоллекция.Values("СвязанныеПП")="" тогда
      начало
        ПолучитьПП(ВремДанные, ЛокКоллекция);
        Данные.PumpData(ВремДанные,"");
      конец
        иначе начало
          ЛокКоллекция.Values("СвязанныеПП") := нет;
          ПолучитьПП(ВремДанные, ЛокКоллекция);
          Данные.PumpData(ВремДанные,"");
              
          ЛокКоллекция.Values("СвязанныеПП") := да;
          ПолучитьПП(ВремДанные, ЛокКоллекция);
          Данные.PumpData(ВремДанные,"");
        конец;
    конец;
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=FinSourceValue,ИВФКлюч=IFS,КД=KDValue,ВидКлс=ClsType",Данные,ЛокКоллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

константы
  МаппингСвязанныхПолейОбщий1 = "%EС=KESR,ClsType,IFS,IFS_Corr,KDValue;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=KVSR,KFSR,KCSR,KVR,ClsType,IFS,IFS_Corr,DFBTIFS_Ref,KDValue;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьФинансированиеБух(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  поляВыборки: строка;
начало
  если (позиция( "SUM(",Прописные(Коллекция.Values("ПоляВыборки")))&lt;&gt;0) тогда
    Коллекция.Values("ПоляВыборки"):= Коллекция.Values("ПоляВыборки")+',sum(debit),sum(Credit),sum(summa),ProgIndex,FAOrg_Type'
  иначе 
    Коллекция.Values("ПоляВыборки"):= Коллекция.Values("ПоляВыборки")+',debit,Credit,summa,ProgIndex,FAOrg_Type'; 

  // Формируем по 70Н
  поляВыборки := Коллекция.Values("ПоляВыборки");
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4, Коллекция) + ",ProgIndex,balancecls,correctionflag,DFBuhAccFO";     

  попытка
    ПолучитьФинансирование(Данные, коллекция);

    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=ClsType,КорВидКлс=ClsType,ВидДеятельности=ActivityKind,'+
      'КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФКлюч=IFS,КорИВФКлюч=IFS_CORR,КД=KDValue,КорКД=_,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=_,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=DFBTIFS_Ref,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=DFBTIFS_Ref,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,Сумма=Debit,СуммаВозвратнойОперации=Credit,'+
      'БухОперация=BuhOperationCLS,ИсправляющаяОперация=CORRECTIONFLAG,БухСчетФОДебет=DFBuhAccFO,БухСчетФОКредит=DFBuhAccFO,' +
      'ВидОрганизацииЛС=FAOrg_Type,КорВидОрганизацииЛС=FAOrg_Type',
      Данные,'4','2',коллекция);
  обязательно
    Коллекция.Values("ПоляВыборки") := поляВыборки;
  конец;
конец;
</value>
    <param value="ЗапросыФинансирование.abl" type="3" name="version">36.042.25</param>
    <param value="ЗапросыФинансирование.abl" type="3" name="crc32">$2F2E98BF</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="ПлатПоручения">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыПП.abl";

ПлатПоручения(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;

функция ВыполнитьСекцииПП(данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингПП, МаппингСекции: строка;
  ОграниченияПоДатам:IDataLimit;
  
начало
  ПостоянныйМаппингПП := FixPumpMapEx(ЗапросыППМаппингМаппингПереносаПолей, Раскладка);
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  // значение по умолчанию для параметра "ТипКлассификации"
//  если ЛокКоллекция.Значение("ТипКлассификации") = "" тогда
//    ЛокКоллекция.Значение("ТипКлассификации") := 0;
  
  Данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  // настраиваем ограничение по датам
  если не локКоллекция.ПараметрСуществует("ВариантНачалаПериода") тогда 
    локКоллекция.values("ВариантНачалаПериода"):="0";// Если период явно не задан, то начальная дата периода = конечной дате
  // поддержка вывода печатных документов  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
  // Настраиваем общие параметры
  ЛокКоллекция.Values("ИспользоватьПоляВыборки") := да;

  // последовательно выполняем секции
  // Секция 0.  Платежные поручения за период
  Если ВыполнятьСекцию(Данные,"ППСуммаЗаПериод") тогда начало
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("КоментарийСекции") := 'ПП.0.Платежные поручения за период.';
    МаппингСекции := ПостоянныйМаппингПП+",ППСуммаЗаПериод=Summa";  
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    // производим выборку данных
    получитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // закачиваем данные в результирующие СтатическиеДанные
    Данные.PumpData(ДанныеОднойСекции,МаппингСекции);  
  конец;
  интерфейс(ДанныеОднойСекции).Освободить;
конец;

// ОСНОВНАЯ ЧАСТЬ   
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  // выбираем данные по секциям
  ВыполнитьСекцииПП(данные, Ограничения);
конец.
</value>
    <param value="ПлатПоручения" type="3" name="Export">MARAEVA-XP\baranova\02.12.2010 16:28:17</param>
    <param value="ПлатПоручения" type="3" name="version">36.042.25</param>
    <param value="ПлатПоручения" type="3" name="crc32">$6D593852</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Финансирование">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить 'Бюджет\Ресурсы\Библиотеки\Variables.lib';
включить "Бюджет\Ресурсы\Макросы\Отчеты\ПоддержкаОтчетов.abl";
включить "Бюджет\Ресурсы\Макросы\Запросы\ЗапросыФинансирование.abl";
включить "Бюджет\Ресурсы\Макросы\Запросы\ЗапросыПП.abl";

Финансирование(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;
константы
  ПоляВыборкиГиперТекст = 'AlgIndex,DetID';
  ПоляВставкиГиперТекст = 'AlgIndex;DetID';
  кПутьУчитыватьТипОграниченияФинансирования = "Бюджет\Объекты\Отчеты\Настройки";
  кУчитыватьТипОграниченияФинансирования = "УчитыватьТипОграниченияФинансирования";

функция ВыполнитьПолучитьФинансирование(Данные,ЛокДанные:СтатическиеДанные;Коллекция:IVariables;ИмяПоля:строка);
переменные
  МаппингСекции, ФинМаппинг: строка;
  ВрПоле: Поле;
начало
  ВрПоле := nil;
  ФинМаппинг := FixPumpMapEx(ФинансированиеВернутьМаппингПереносаПолей, Раскладка);
  МаппингСекции := "";
  если Коллекция.Values("Плательщик") = "" тогда
    МаппингСекции := ","+ИмяПоля+"=Summa"
  иначе
    если Коллекция.Values("Плательщик") = "1" тогда
      МаппингСекции := ","+ИмяПоля+"=Credit"
    иначе
      МаппингСекции := ","+ИмяПоля+"=Debit"; 
  Коллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(ФинМаппинг+МаппингСекции, Раскладка, Коллекция.Values(кПарамГруппироватьНаСервере));
  // выполняем секцию для родительского поля, если оно есть
  Если Данные.FindField(ИмяПоля, ВрПоле) тогда
  начало 
    ПолучитьФинансирование(ЛокДанные, Коллекция);
    Данные.PumpData(ЛокДанные, ФинМаппинг+МаппингСекции);
  конец;
конец;

функция ВыполнитьСекцииФин(данные: статическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ВремПоле: поле;
  ЛокКоллекция: IVariables;
  ФинМаппинг, МаппингСекции: строка;
  ОграниченияПоДатам:IDataLimit;
  МаппингГиперТекст : Строка;
  Узел : УзелРеестра;
  УчитыватьТипОграниченияФинансирования : целое;  
начало
  Узел := Реестр.Узел(кПутьУчитыватьТипОграниченияФинансирования);
  Если Узел.Значение(кУчитыватьТипОграниченияФинансирования).КакСтрока &lt;&gt; "" тогда
    //Если УчитыватьТипОграниченияФинансирования=1, тогда при выполнении Фактических и реестровых секций 
    //анализируется еще и тип даты и если тип=дата принятия, то фактические секции работют как реестровые, 
    //а если тип=дата проведения, то реестровые секции работают как фактические.
    //Если УчитыватьТипОграниченияФинансирования=0, то все как обычно
    УчитыватьТипОграниченияФинансирования := Узел.Значение(кУчитыватьТипОграниченияФинансирования).КакЦелое
  иначе  
    УчитыватьТипОграниченияФинансирования := 0;
  если Коллекция.ПараметрСуществует("УчетФинЧек") и (Коллекция.Values("УчетФинЧек") = нет) тогда
    выход;
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);  
  Если Не НадоВыполнятьАлгоритм(7, ЛокКоллекция) тогда выход;

  // значение по умолчанию для параметра "ТипКлассификации"
//  если ЛокКоллекция.Значение("ТипКлассификации") = "" тогда
//    ЛокКоллекция.Значение("ТипКлассификации") := 0;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;   
    
  ФинМаппинг := FixPumpMapEx(ФинансированиеВернутьМаппингПереносаПолей, Раскладка);

  Данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные;
  // поддержка вывода печатных документов
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
  // Настраиваем общие параметры
  ЛокКоллекция.values("ИспользоватьПоляВыборки") :=да;
  
  // Секция 0. Нереестровое финансирование за период
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинФактЗаПериод,ФинФактПриходЗаПериод,ФинФактРасходЗаПериод")тогда начало
  // Факт за период это п/п из PayDoc32 и не п/п из FinDocDetail
  // Выбираем не п/п из FinDocDetail  
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.0. Фактическое финансирование за период';
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактЗаПериод=SUMMA,ФинФактРасходЗаПериод=Credit,ФинФактПриходЗаПериод=Debit",Раскладка);  
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало
    // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := "";
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактЗаПериод=SUMMA,ФинФактРасходЗаПериод=SUMMA,ФинФактПриходЗаПериод=0",Раскладка);  
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;
  конец;
  // Секция 1. Нереестровый финансирование на начало периода
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинФактНаНачПериода,ФинФактПриходНаНачПериода,ФинФактРасходНаНачПериода")тогда начало
  // Факт на начало периода это п/п из PayDoc32 и не п/п из FinDocDetail
  // Выбираем не п/п из FinDocDetail  
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.1. Фактическое финансирование на начало периода'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактНаНачПериода=SUMMA,ФинФактРасходНаНачПериода=Credit,ФинФактПриходНаНачПериода=Debit",Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало
    // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := "";
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактНаНачПериода=SUMMA,ФинФактРасходНаНачПериода=SUMMA,ФинФактПриходНаНачПериода=0",Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;  
  конец;
  // Секция 2. реестровое финансирование за период
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинРеестрЗаПериод,ФинРеестрРасходЗаПериод,ФинРеестрПриходЗаПериод")тогда начало
    // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПроведенияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := нет
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := "";      
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.2. Реестровое финансирование за период'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинРеестрЗаПериод=SUMMA,ФинРеестрРасходЗаПериод=Credit,ФинРеестрПриходЗаПериод=Debit",Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПроведенияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
    начало
    // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := "";
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактЗаПериод=SUMMA,ФинФактРасходЗаПериод=SUMMA,ФинФактПриходЗаПериод=0",Раскладка);  
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;    
  конец;
  // Секция 3. реестровое финансирование на начало периода
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинРеестрНаНачПериода,ФинРеестрРасходНаНачПериода,ФинРеестрПриходНаНачПериода")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПроведенияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := нет
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := "";
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.3. Реестровое финансирование на начало периода'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинРеестрНаНачПериода=SUMMA,ФинРеестрРасходНаНачПериода=Credit,ФинРеестрПриходНаНачПериода=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПроведенияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
    начало
    // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := "";
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактНаНачПериода=SUMMA,ФинФактРасходНаНачПериода=SUMMA,ФинФактПриходНаНачПериода=0",Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;      
  конец;
  // Секция 4. неденежное финансирование за период
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинНеДенежнЗаПериод,ФинНеДенежнРасходЗаПериод,ФинНеДенежнПриходЗаПериод")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    ЛокКоллекция.values("ПлатежныеПоручения") := "";
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Нет;
    если (не ЛокКоллекция.ПараметрСуществует("ИсключатьНулевыеЛС"))
       тогда  ЛокКоллекция.Values("ИсключатьНулевыеЛС") := Да;
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.4. Неденежное финансирование за период'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНеДенежнЗаПериод=SUMMA,ФинНеДенежнРасходЗаПериод=Credit,ФинНеДенежнПриходЗаПериод=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 5. неденежное финансирование на начало периода
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинНеДенежнНаНачПериода,ФинНеДенежнРасходНаНачПериода,ФинНеДенежнПриходНаНачПериода")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    ЛокКоллекция.values("ПлатежныеПоручения") := "";
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Нет;
    если (не ЛокКоллекция.ПараметрСуществует("ИсключатьНулевыеЛС"))
       тогда  ЛокКоллекция.Values("ИсключатьНулевыеЛС") := Да;
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.5. Неденежное финансирование на начало периода'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНеДенежнНаНачПериода=SUMMA,ФинНеДенежнРасходНаНачПериода=Credit,ФинНеДенежнПриходНаНачПериода=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 6. Прямые рассходы финансирования на начало периода
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинПрямыеНаНачПериода,ФинПрямыеРасходНаНачПериода,ФинПрямыеПриходНаНачПериода")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Да;
    ЛокКоллекция.values("ПлатежныеПоручения") := нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.6. Прямые рассходы на начало периода'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеНаНачПериода=SUMMA,ФинПрямыеРасходНаНачПериода=Credit,ФинПрямыеПриходНаНачПериода=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  // Выбираем п/п из PayDoc32  
    ЛокКоллекция.Values("СвязанныеПП") := "";
    //ЛокКоллекция.Values("ПрямыеРасходы") := "";
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеНаНачПериода=SUMMA,ФинПрямыеРасходНаНачПериода=SUMMA,ФинПрямыеПриходНаНачПериода=0",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции,Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 7. Прямые рассходы финансирования за период
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинПрямыеЗаПериод,ФинПрямыеРасходЗаПериод,ФинПрямыеПриходЗаПериод")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Да;
    ЛокКоллекция.values("ПлатежныеПоручения") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.7. Прямые рассходы за период'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеЗаПериод=SUMMA,ФинПрямыеРасходЗаПериод=Credit,ФинПрямыеПриходЗаПериод=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  // Выбираем п/п из PayDoc32  
    ЛокКоллекция.Values("СвязанныеПП") := "";
    //ЛокКоллекция.Values("ПрямыеРасходы") := "";
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеЗаПериод=SUMMA,ФинПрямыеРасходЗаПериод=SUMMA,ФинПрямыеПриходЗаПериод=0",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 8. Прямые реестровые рассходы финансирования на начало периода
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинПрямыеРеестрНаНачПериода,ФинПрямыеРеестрРасходНаНачПериода,ФинПрямыеРеестрПриходНаНачПериода")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Да;
    ЛокКоллекция.values("ПлатежныеПоручения") := "";
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.8. Прямые реестровые рассходы на начало периода'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеРеестрНаНачПериода=SUMMA,ФинПрямыеРеестрРасходНаНачПериода=Credit,ФинПрямыеРеестрПриходНаНачПериода=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 9. Прямые реестровые рассходы финансирования за период
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинПрямыеРеестрЗаПериод,ФинПрямыеРеестрРасходЗаПериод,ФинПрямыеРеестрПриходЗаПериод")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Да;
    ЛокКоллекция.values("ПлатежныеПоручения") := "";
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.9. Прямые реестровые рассходы за период'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеРеестрЗаПериод=SUMMA,ФинПрямыеРеестрРасходЗаПериод=Credit,ФинПрямыеРеестрПриходЗаПериод=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 10. Нереестровый финансирование на начало года
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинФактНаНачГода,ФинФактПриходНаНачГода,ФинФактРасходНаНачГода")тогда начало
  // Факт на начало периода это п/п из PayDoc32 и не п/п из FinDocDetail
  // Выбираем не п/п из FinDocDetail  
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := Строка(СтрокаВЦелое(ОграниченияПоДатам.НачалоГода)+0100);
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.10. Фактическое финансирование на начало года'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактНаНачГода=SUMMA,ФинФактРасходНаНачГода=Credit,ФинФактПриходНаНачГода=Debit",Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало
      // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := "";
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактНаНачГода=SUMMA,ФинФактРасходНаНачГода=SUMMA,ФинФактПриходНаНачГода=0",Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;
  конец;
  // Секция 11. Прямые рассходы финансирования на начало года
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинПрямыеНаНачГода,ФинПрямыеРасходНаНачГода,ФинПрямыеПриходНаНачГода")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Да;
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := Строка(СтрокаВЦелое(ОграниченияПоДатам.НачалоГода+0100));
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.11. Прямые рассходы на начало года'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеНаНачГода=SUMMA,ФинПрямыеРасходНаНачГода=Credit,ФинПрямыеПриходНаНачГода=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало    
    // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := "";
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеНаНачГода=SUMMA,ФинПрямыеРасходНаНачГода=SUMMA,ФинПрямыеПриходНаНачГода=0",Раскладка); 
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;  
  конец;
  // Секция 12. Нереестровое финансирование за период с объединенными платежками
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинФактСОбъедЗаПериод,ФинФактСОбъедПриходЗаПериод,ФинФактСОбъедРасходЗаПериод")тогда начало
  // Факт за период это п/п из PayDoc32 и не п/п из FinDocDetail
  // Выбираем не п/п из FinDocDetail  
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.12. Фактическое финансирование за период с объединенными п/п';
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактСОбъедЗаПериод=SUMMA,ФинФактСОбъедРасходЗаПериод=Credit,ФинФактСОбъедПриходЗаПериод=Debit",Раскладка);  
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));

    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало    
    // Выбираем п/п из PayDoc32 не связанные п/п  
      ЛокКоллекция.Values("СвязанныеПП") := Нет;
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактСОбъедЗаПериод=SUMMA,ФинФактСОбъедРасходЗаПериод=SUMMA,ФинФактСОбъедПриходЗаПериод=0",Раскладка);  
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);

      ЛокКоллекция.Values("СвязанныеПП") := Да;
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
     // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;  
  конец;
  // Секция 13. Нереестровый финансирование на начало периода с объединением платежек
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинФактСОбъедНаНачПериода,ФинФактСОбъедПриходНаНачПериода,ФинФактСОбъедРасходНаНачПериода")тогда начало
  // Факт на начало периода это п/п из PayDoc32 и не п/п из FinDocDetail
  // Выбираем не п/п из FinDocDetail  
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := "";
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.13. Фактическое финансирование на начало периода с объединением п/п'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактСОбъедНаНачПериода=SUMMA,ФинФактСОбъедРасходНаНачПериода=Credit,ФинФактСОбъедПриходНаНачПериода=Debit",Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало
      // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := Нет;
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинФактСОбъедНаНачПериода=SUMMA,ФинФактСОбъедРасходНаНачПериода=SUMMA,ФинФактСОбъедПриходНаНачПериода=0",Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);

      ЛокКоллекция.Values("СвязанныеПП") := Да;
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;  
  конец;
  // Секция 14. Прямые рассходы финансирования на начало периода с объединенными платежками
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинПрямыеСОбъедНаНачПериода,ФинПрямыеСОбъедРасходНаНачПериода,ФинПрямыеСОбъедПриходНаНачПериода")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Да;
    ЛокКоллекция.values("ПлатежныеПоручения") := нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.14. Прямые рассходы на начало периода с объединенными п/п'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеСОбъедНаНачПериода=SUMMA,ФинПрямыеСОбъедРасходНаНачПериода=Credit,ФинПрямыеСОбъедПриходНаНачПериода=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  // Выбираем п/п из PayDoc32  
    ЛокКоллекция.Values("СвязанныеПП") := Нет;
    //ЛокКоллекция.Values("ПрямыеРасходы") := "";
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеСОбъедНаНачПериода=SUMMA,ФинПрямыеСОбъедРасходНаНачПериода=SUMMA,ФинПрямыеСОбъедПриходНаНачПериода=0",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);

    ЛокКоллекция.Values("СвязанныеПП") := Да;
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 15. Прямые рассходы финансирования за период с объединенными патежками
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинПрямыеСОбъедЗаПериод,ФинПрямыеСОбъедРасходЗаПериод,ФинПрямыеСОбъедПриходЗаПериод")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Да;
    ЛокКоллекция.values("ПлатежныеПоручения") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.15. Прямые рассходы за период с объединенными п/п'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеСОбъедЗаПериод=SUMMA,ФинПрямыеСОбъедРасходЗаПериод=Credit,ФинПрямыеСОбъедПриходЗаПериод=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  // Выбираем п/п из PayDoc32  
    ЛокКоллекция.Values("СвязанныеПП") := Нет;
    //ЛокКоллекция.Values("ПрямыеРасходы") := "";
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинПрямыеСОбъедЗаПериод=SUMMA,ФинПрямыеСОбъедРасходЗаПериод=SUMMA,ФинПрямыеСОбъедПриходЗаПериод=0",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);

    ЛокКоллекция.Values("СвязанныеПП") := Да;
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 16. Нереестровое непрямое финансирование за период
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинНепрямФактЗаПериод,ФинНепрямФактПриходЗаПериод,ФинНепрямФактРасходЗаПериод")тогда начало
  // Факт за период это п/п из PayDoc32 и не п/п из FinDocDetail
  // Выбираем не п/п из FinDocDetail  
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := нет;
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.16. Фактическое непрямое финансирование за период';
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямФактЗаПериод=SUMMA,ФинНепрямФактРасходЗаПериод=Credit,ФинНепрямФактПриходЗаПериод=Debit",Раскладка);  
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));

    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало    
    // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := "";
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямФактЗаПериод=SUMMA,ФинНепрямФактРасходЗаПериод=SUMMA,ФинНепрямФактПриходЗаПериод=0",Раскладка);  
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;  
  конец;
  // Секция 17. Нереестровое непрямое финансирование на начало периода
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинНепрямФактНаНачПериода,ФинНепрямФактПриходНаНачПериода,ФинНепрямФактРасходНаНачПериода")тогда начало
  // Факт на начало периода это п/п из PayDoc32 и не п/п из FinDocDetail
  // Выбираем не п/п из FinDocDetail  
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := нет;
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.17. Фактическое непрямое финансирование на начало периода'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямФактНаНачПериода=SUMMA,ФинНепрямФактРасходНаНачПериода=Credit,ФинНепрямФактПриходНаНачПериода=Debit",Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало    
    // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := "";
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямФактНаНачПериода=SUMMA,ФинНепрямФактРасходНаНачПериода=SUMMA,ФинНепрямФактПриходНаНачПериода=0",Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;  
  конец;
  // Секция 18. Непрямые рассходы финансирования на начало периода с объединенными платежками
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(Данные,"ФинНепрямСОбъедНаНачПериода,ФинНепрямСОбъедРасходНаНачПериода,ФинНепрямСОбъедПриходНаНачПериода")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := нет;
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) = "ДатаПринятияТип")и(УчитыватьТипОграниченияФинансирования = 1) тогда
      ЛокКоллекция.values("ПлатежныеПоручения") := ""
    иначе  
      ЛокКоллекция.values("ПлатежныеПоручения") := Нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.18. Непрямые рассходы на начало периода с объединенными п/п'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямСОбъедНаНачПериода=SUMMA,ФинНепрямСОбъедРасходНаНачПериода=Credit,ФинНепрямСОбъедПриходНаНачПериода=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    Если (ПолучитьТабТипаДаты(ЛокКоллекция.Значение("ТипДатыУнивер")) &lt;&gt; "ДатаПринятияТип")или(УчитыватьТипОграниченияФинансирования = 0) тогда
    начало    
    // Выбираем п/п из PayDoc32  
      ЛокКоллекция.Values("СвязанныеПП") := Нет;
      //ЛокКоллекция.Values("ПрямыеРасходы") := "";
      маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямСОбъедНаНачПериода=SUMMA,ФинНепрямСОбъедРасходНаНачПериода=SUMMA,ФинНепрямСОбъедПриходНаНачПериода=0",Раскладка); 
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);

      ЛокКоллекция.Values("СвязанныеПП") := Да;
      ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
    конец;  
  конец;
  // Секция 19. Непрямые рассходы финансирования за период с объединенными патежками
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинНепрямСОбъедЗаПериод,ФинНепрямСОбъедРасходЗаПериод,ФинНепрямСОбъедПриходЗаПериод")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Нет;
    ЛокКоллекция.values("ПлатежныеПоручения") := нет;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.19. Непрямые рассходы за период с объединенными п/п'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямСОбъедЗаПериод=SUMMA,ФинНепрямСОбъедРасходЗаПериод=Credit,ФинНепрямСОбъедПриходЗаПериод=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  // Выбираем п/п из PayDoc32  
    ЛокКоллекция.Values("СвязанныеПП") := Нет;
    //ЛокКоллекция.Values("ПрямыеРасходы") := "";
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямСОбъедЗаПериод=SUMMA,ФинНепрямСОбъедРасходЗаПериод=SUMMA,ФинНепрямСОбъедПриходЗаПериод=0",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);

    ЛокКоллекция.Values("СвязанныеПП") := Да;
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 20. Непрямые рассходы финансирования на начало года с объединенными патежками
  ВремПоле := интерфейс(0); 
  Если ВыполнятьСекцию(данные,"ФинНепрямСОбъедНаНачГода,ФинНепрямСОбъедРасходНаНачГода,ФинНепрямСОбъедПриходНаНачГода")тогда начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("ПрямыеРасходы") := Нет;
    ЛокКоллекция.values("ПлатежныеПоручения") := нет;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := Строка(СтрокаВЦелое(ОграниченияПоДатам.НачалоГода)+0100);
    ЛокКоллекция.values("ДенежныеСредства") := Коллекция.Значение("ДенежныеСредства");
    ЛокКоллекция.values("КоментарийСекции") := 'Фин.20. Непрямые рассходы на начало года с объединенными п/п'; 
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямСОбъедНаНачГода=SUMMA,ФинНепрямСОбъедРасходНаНачГода=Credit,ФинНепрямСОбъедПриходНаНачГода=Debit",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
  // производим выборку данных
    ПолучитьФинансирование(ДанныеОднойСекции, ЛокКоллекция);
  // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  // Выбираем п/п из PayDoc32  
    ЛокКоллекция.Values("СвязанныеПП") := Нет;
    //ЛокКоллекция.Values("ПрямыеРасходы") := "";
    маппингСекции := ФинМаппинг+","+FixPumpMapEx("ФинНепрямСОбъедНаНачГода=SUMMA,ФинНепрямСОбъедРасходНаНачГода=SUMMA,ФинНепрямСОбъедПриходНаНачГода=0",Раскладка); 
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);

    ЛокКоллекция.Values("СвязанныеПП") := Да;
    ПолучитьПП(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  // Секция 21. Суммы финансирования на начало периода
  если ВыполнятьСекцииНов(данные, ЛокКоллекция, "ФинСуммаНаНачПериода") тогда
  начало
    ЛокКоллекция.Values("КоментарийСекции") := "Фин. 21. Сумма на начало периода";
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ВыполнитьПолучитьФинансирование(данные, ДанныеОднойСекции, ЛокКоллекция, "ФинСуммаНаНачПериода");
  конец;
  // Секция 22. Суммы финансирования за период
  если ВыполнятьСекцииНов(данные, ЛокКоллекция, "ФинСуммаЗаПериод") тогда
  начало
    ЛокКоллекция.Values("КоментарийСекции") := "Фин. 22. Сумма за период";
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьФинансирование(данные, ДанныеОднойСекции, ЛокКоллекция, "ФинСуммаЗаПериод");
  конец;
  интерфейс(ДанныеОднойСекции).Освободить;
конец;

// ОСНОВНАЯ ЧАСТЬ   
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  // выбираем данные по секциям
  ВыполнитьСекцииФин(данные, Ограничения);
конец.
</value>
    <param value="Финансирование" type="3" name="Export">MARAEVA-XP\baranova\02.12.2010 16:28:21</param>
    <param value="Финансирование" type="3" name="version">36.042.25</param>
    <param value="Финансирование" type="3" name="crc32">$BD5D92E2</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7010100</V>
            <V N="Name">Реестр платежных поручений (вид 1)</V>
            <V N="Params">Бюджет,Статус,ПроведНеПровед,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаПроведенияТип,ДатаВводаТип,ДатаПечатиТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДокИсточн,ТипКлассификацииРасх,ОргПлательщик,ПлатИНН,ПлатКПП,ПлатНаим,ПлатРС,ОргПолуч,ПолучИНН,ПолучКПП,ПолучНаимен,ПолучРС,ОргРасп,РаспИНН,РаспКПП,РаспНаимен,РаспРС,ППТипОбъединения,ППВерхнийУровень,ППНижнийУровень</V>
            <V N="Template">(07.01.01) Реестр платежный поручений (вид 1).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выводит информацию по платежным поручениям, за указанный период в разрезе распорядителей и 
получателей.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.25</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7010200</V>
            <V N="Name">Реестр платежных поручений (вид 2)</V>
            <V N="Params">Бюджет,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаПроведенияТип,ДатаВводаТип,ДатаПечатиТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДокИсточн,ТипКлассификацииРасх,ППТипОбъединения,ППВерхнийУровень,ППНижнийУровень</V>
            <V N="Template">(07.01.02) Реестр платежный поручений (вид 2).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выводит информацию посформированным платежным поручениям, проведенным за указанный период
в разрезе получателей.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.25</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7020100</V>
            <V N="Name">Финансирование</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,РСФО,Статус,ПроведНеПровед,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаПроведенияТип,ДатаВводаТип,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДокИсточн,Классификаторы,БухОперация,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ТипПлатДок,Район,ТипСчета,ФинИсточники,ФинТипы,ОргПолуч,ПолучИНН,ПолучКПП,ОргРасп,РаспИНН,РаспКПП,Сумма,ВыводОграничений,ГиперДокумент</V>
            <V N="Template">(07.02.01) Финансирование.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отражает информацию о финансировании бюджетной организации за указанный период.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.25</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7030100</V>
            <V N="Name">Остатки кассовых расходов</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,ОднаДата,Классификаторы,ФинТипы</V>
            <V N="Template">(07.03.01)Месячные отчеты.Остаток кассовых расходов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Выводит остатки кассовых расходов в разрезе организаций-распорядителей и их рассчетных счетов за дату.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.25</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7060100</V>
            <V N="Name">Распоряжение на финансирование</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,Примечание,ТипПримечания,ДатаОтправления,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДокИсточн,ГиперДокумент</V>
            <V N="Template">(07.06.01) Распоряжение на финансирование.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Формирует ленту распоряжений на финансирование, проведенных за указанный период.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.25</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7070100</V>
            <V N="Name">Реестр распоряжений</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,РСФО,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаВводаТип,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДокИсточн</V>
            <V N="Template">(07.07.01) Реестр распоряжений.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Реестр распоряжений на финансирование за указанный период.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.25</param>
  </node>
  <version_info>
    <file>Сборка(08)Лимиты.xml</file>
    <version>36.042.32</version>
    <info>Отчеты по месячным лимитам казначейства</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:35</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыЛимиты.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\pather.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\отчеты\поддержкаПроекта.abl";

константы
  nl = #13#10;
  МаппингЛимиты1 = 'КВР=tKvr.Code%k,КЭСР=d.KESR,КВСР=tKvsr.Code%d,КЦСР=tKcsr.Code%k,КФСР=d.KFSR,СубКЭСР=d.SUBKESR,Направление=d.DirectionCLS,ТипПлатДок=d.Doctypes,ДатаВремяСоздания=d.CreateDate,ДатаВремяИзменения=d.UpdateDate,';
  МаппингЛимиты2 = 'Мероприятие=d.FACT,ТипСредствБюдж=d.Meanstype,ФинИсточник=d.FinSource,ФинТип=d.FinType,ВидПлана=LNC.PlanDocType,ВидДеятельности=mt.ActivityKind%d,';
  МаппингЛимиты3 = 'ФинТипы=d.FinType,ФинИсточники=d.FinSource,ЛицСчет=d.FacialAcc,КодЗаписи=d.ID%d,КодДокумента=(RFC.ID%d)or(LNC.ID%d),КодЦелевыхСредств=tc.Code%d,КодЦелевыхСредствПризнак=tc.TARGETMEANSSIGN%d,';
  МаппингЛимиты4 = 'Бюджет=d.BudgetRef%d,Год=d.Year%d,ИндексыДанных=d.progIndex%d,Пользователь=d.CreaterUser%s,ПричинаОтклон=LNC.Reject_CLS%d,';
  МаппингЛимиты5 = 'НомерДок=(RFC.Number%s)or(LNC.Number%s),ТипДокОснования=d.DocBase,ТипКлассификации=d.CLSType,ТипКлассификацииРасх=d.CLSType%d,Баланс=bac.BalanceCls,ИстВнутрФин=ifs_t.FinSourceValue%l,';
  МаппингЛимиты6 = "БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),БухОперация=d.BuhOperationCLS%d,";
  МаппингЛимиты7 = "БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),НомерПакета=pde.PACKETNUMBER,ХарактерЛС=f.HARACTERACCOUNT%d,";
  МаппингЛимиты8 = "ДатаОтправки=pde.senddate%s,НомерЭлектронногоДокумента=pde.DocNumber%s,Статус=pde.status%d,ПримечаниеЭлДок=pde.note%s,ДатаУведомления=(pde.queuetime%f),";    
  МаппингЛимиты9 = "НомерПакета=pde.PACKETNUMBER,НомерЭлДок=pde.docNumber%s,Бюджет_РаспОргСсылка=org_GRBS.id%d,ТипДеятельности=mt.ActivityType%d,";
  МаппингЛимиты10= 'Район=d.RegionCls%d,РайонТрансферта=d.RegionCLS%d,РайонКонтрагента=oa_o.RegionCLS%d,РайонБУ=OwnOrg.RegionCLS%d,КодСубсидии=s.Code%k';
  // Органичения по правам на классификацию
  МаппингКЛСПрава = 'KFSR=d.KFSR,KVSR=tKvsr.Code,KCSR=tKcsr.Code,KVR=tKvr.Code,KESR=d.KESR,SUBKESR=d.SUBKESR,FACT=d.FACT,FINTYPE=d.FinType,MEANSTYPE=d.MeansType,DIRECTIONCLS=d.DirectionCLS';

функция ЛимитыВернутьМаппингПереносаПолей: Строка;
начало
  результат := "КВР=KVR,КВРКлюч=KVRID,КЭСР=KESR,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВСР=KVSR,КВСРКлюч=KVSRID,КФСР=KFSR,СубКЭСР=SubKESR," +
    "Направление=DirectionCLS,ТипФинансирования=FinType,КодЗаписи=ID,ИндексыДанных=ProgIndex,ИсточникФинансирования=FinSource," +
    "Мероприятие=Fact,Регион=RegionCls,ТипДокумента=DocType,ДатаВвода=InputDate,СчетПлат=DFAccount,ТипСредств=MeansType," +       
    "КодЦелевыхСредств=TransfertClsValue,КодЦелевыхСредствКлюч=TransfertCls,ЛицевойСчет=FacialAcc,ДатаПринятия=AcceptDate," +
    "НомерДокумента=DocNumber,НомерДокументаУвед=DocNumberLNC,Примечание=Note,Месяц=Month,ПериодОперации=PeriodOfOperation," +
    "Год=Year,СчетПолуч=Acc_Ref,ИндексАлгоритма=AlgIndex,ВидПлана=PlanDocType,ПричинаОтклонКод=Reject_CLS,ПричинаОтклонТекст=RejectCause," +
    "Принятие=RequestFlag,СчетРаспорядителя=Acc_Ref,НомерПакета=PACKETNUMBER,КодДокумента=CptId,РСФО=DFAccount,"+
    "ЛицСчетПлательщика=SourceFacialAcc,ЛицСчетПолучателя=CptFacialAcc,КриптоСтатус=CryptoStatus,СостояниеДокумента=DOCSTATEREF,"+
    "ПризнакЗависания=DocSuspended,ЕстьВБюджете=IsInBudget,ЛокальнаяВиза=IsVised,НачальноеСостояниеДокумента=BeginDocStateRef,"+
    "ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,ДатаВремяСозданияДокумента=CptCreateDate,ДатаВремяИзмененияДокумента=CptUpdateDate,"+
    "Автор=CreaterUser,АвторИзменений=UpdaterUser,АвторДокумента=CptCreaterUser,АвторИзмененийДокумента=CptUpdaterUser,"+
    "КодФОДокумента=CptFUID,КодФОЗаписи=DetFUID,КодУРМДокумента=CptSenderRecordID,КодУРМЗаписи=DetSenderRecordID,Виза=usersVisa,"+
    "КодОтправителяДокумента=CptSenderID,КодОтправителяЗаписи=DetSenderID,МягкаяПричинаОтклонКод=SoftRejectCLS," +
    "МягкаяПричинаОтклонТекст=SoftRejectCause,ТипДокОснования=DocBase,СуммаЗаголовка=CaptionSum,Статус=Status,КодБюджета=BudgetRef,"+
    "БухОперация=BuhOperationCLS,ИсточникВнутрФинансированияКлюч=IFS_Ref,ИсточникВнутрФинансирования=IFS," +
    "БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,ВидДеятельности=ActivityKind,ЭКДебет=CreditDocEK%d,ЭККредит=DebitDocEK%d," +
    "ТипКлассификации=CLSType,БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue,"+
    "КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,НомерСчетаДебет=DebitNumberAcc70n%s28," +
    "НомерСчетаКредит=CreditNumberAcc70n%s28,БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f,"+
    "БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,КодСметы=StimateID,КодСметыЗаписи=DetStimateId," +
    "Баланс=BalanceCls,ИмяПакета=ELPACKETNAME,ДатаОтправки=pdeSenddate,НомерЭлектронногоДокумента=pdeDocNumber," +
    "ПримечаниеЭлДок=pdeNote,ДатаУведомления=queuetime,БюджКлассификация=BudClS,ОрганизацияГлавныйРаспорядитель=Org_RefGRBS_Det," + 
    //поля районов
    "РайонКонтрагента=RegionContractor,РайонБУ=RegionBudgetEst,РайонТрансферта=RegionDetail," + 
    "КодСубсидииКлюч=SubsidyCls,КодСубсидии=SubsidyClsCode";        
конец;

// получить поле Организации ЛС
функция ПолучитьПолеОрганизацияЛС(Коллекция : IVariables): строка;
начало
  Результат := "Org_Ref";
  выбрать Коллекция.Values("ОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
конец;

функция ПолучитьОгрПоБухДокументу(Значение : строка) : строка;
переменные
  сч : целое;
  Документы : текст;
начало
  //Выделение бухгалтерских документов:
  //5 - Утвержденные объемы финансирования
  //6 - Переданные объемы финансирования
  //7 - Полученные объемы финансирования
  Результат := "";
  Документы := СоздатьТекст;
  попытка
    Документы.РазделенноеЗначение := Значение;
    от сч := 0 до Документы.Количество - 1 делать
    начало
      выбрать СтрокаВЦелое(Документы.Стр(сч)) из
        5 : Результат := Результат + "," + ПолучитьКонстантуКэш("", 32, 16, 2);
        6 : Результат := Результат + "," + ПолучитьКонстантуКэш("", 32, 17, 2);
        7 : Результат := Результат + "," + ПолучитьКонстантуКэш("", 32, 18, 2);
      конец;
    конец;
    Если Результат &lt;&gt; '' тогда
      Результат := Подстрока(Результат, 2, Длина(Результат) - 1);  
  обязательно
    УдалитьОбъект(Документы);
  конец;
конец;

функция ЗапросЛимиты(Коллекция:IVariables):строка;
переменные
  // переменные для формирования ограничений
  ОгрПоДате,ОгрПоМесяцу: строка;
  ОгрПоСервиснымСчетам,ОгрПоДенежнымСредствам,ОрганизацияЛС: строка;
  ОгрПоСчету, ОгрПоОрганизации: строка;
  ОгрПоКлассификаторам, ОгрДоп: строка;
  ОгрПоПринятым, ОгрПоУведомлениям, ОгрПоТипуОрг : Строка;
  ОгрПоФин, ЗначВидПлана, ОгрПоСводнымУведомлениям : Строка;
  Комментарий, Запрос, ТаблицаОрг: строка;
  ОгрПоПустымБухСчетам : строка;
  НаправлИсточн, ОгрПоПринадлежностиЛС : строка;
  ОгрПоВходящимСвязям, ОгрПоИсходящимСвязям, ОгрПрава : строка;  
  УчитРосп, УчитУвед: целое;
  ОгрПоРоспУвед, ОгрПоСвязям, ОгрПоВходящимСвязямЗаголовка, ОгрПоИсходящимСвязямЗаголовка: строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция лимитов");
  ОгрПоТипуОрг := '';
  ТаблицаОрг := '';
  ОгрПоПринятым := "";
  ОгрПоДате := "";  
  // для печатных документов по дате не надо ограничивать
  Если не Коллекция.Values("ПечатныйДокумент") тогда 
  начало
    Если (Коллекция.Values("ПринятыеЛимитыЧек")) тогда
      ОгрПоПринятым := "and (d.AcceptSumma &lt;&gt; 0)";   // ограниечение по принятым   
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=d.AcceptDate,ДатаВводаТип=lnc.InputDate', Коллекция, 'd.AcceptDate');
  конец;  
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  // формируем ограничение по денежным средствам
  ОгрПоДенежнымСредствам := СформироватьОграниченияПоДенСредствам(Коллекция, 'd.DocTypes');
    
  ОгрПоМесяцу :="";
  // ограничение по месяцу - не обязательное ограничение
  если не((УбратьПробелы(Коллекция.Values("Месяц"))="") или (Коллекция.Values("Месяц") = 0)) и (не Коллекция.ПараметрСуществует("ОгрПоОднаДата")) 
  тогда начало 
    выбрать Коллекция.Values("СНачалаГода") из
      0 : ОгрПоМесяцу := "and(d.month="+Коллекция.Values("Месяц")+")";
      1 : ОгрПоМесяцу := "and(d.month&lt;="+Коллекция.Values("Месяц")+")";
      2 : ОгрПоМесяцу := "and(d.month&lt;"+Коллекция.Values("Месяц")+")";
    конец;
  конец;
  // формируем ограничение по сервисным л/с
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;
  // Выбирать включенные в сводные уведомления
  если (Коллекция.Values("СводныеУведомления")="2") тогда 
    ОгрПоСводнымУведомлениям := "and(d.UNIONNOTIFYREF is null)"
  иначе 
    ОгрПоСводнымУведомлениям := "";

  // поддержим ограничение по организации, организации распорядителя,бюджетной организации, 
  // счету, счету распорядителя, счету бюджетной организации 
  если не Коллекция.ПараметрСуществует("БюджОргСсылка") тогда 
    если Коллекция.ПараметрСуществует("ОргСсылка") тогда
      Коллекция.Values("БюджОргСсылка"):=Коллекция.Values("ОргСсылка");
   
  если не Коллекция.ПараметрСуществует("БюджРССсылка") тогда 
    если Коллекция.ПараметрСуществует("Бюджет_РаспРССсылка") тогда
      Коллекция.Values("БюджРССсылка"):=Коллекция.Values("Бюджет_РаспРССсылка")
    иначе если Коллекция.ПараметрСуществует("РССсылка") тогда
      Коллекция.Values("БюджРССсылка"):=Коллекция.Values("РССсылка");

  // ограничение р/с, если РС не указан то ограничиваем по ссылке на организацию по лицевому счету
  ОгрПоОрганизации := "";
  ОрганизацияЛС := ПолучитьПолеОрганизацияЛС(Коллекция);
  ОгрПоСчету := Ограничение('БюджРССсылка=d.Acc_Ref',Коллекция);
  если (ОгрПоСчету = "") тогда 
    ОгрПоОрганизации := Ограничение('БюджОргСсылка=f.' + ОрганизацияЛС + '%d',Коллекция);
    
  ОгрПоТипуОрг := Ограничение('ТипОрг=o.ORG_CLS%d', коллекция);
  если (ОгрПоТипуОрг &lt;&gt; '') тогда
    ТаблицаОрг := ' left join Organizations o on (f.' + ОрганизацияЛС + '=o.id)' + nl;
  
  Если Коллекция.Values("ВыклУведЧек") 
    тогда ОгрПоУведомлениям := "and ((d.ProgIndex &lt;&gt; 57) or (d.ProgIndex is null))"  
    иначе ОгрПоУведомлениям := "";
    
  если Коллекция.Значение("Финансирование")&lt;&gt;да 
    тогда ОгрПоФин := "and (d.RequestFlag &lt;&gt; 1)"
    иначе ОгрПоФин := "";    

  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета") и (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    ОгрПоПустымБухСчетам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) "
  иначе  
    ОгрПоПустымБухСчетам:='';  
  // формирует параметры запроса для классификаторов
  ОгрПоКлассификаторам := Ограничение(МаппингЛимиты1 + МаппингЛимиты2 + МаппингЛимиты3 + МаппингЛимиты4 + МаппингЛимиты5 + 
    МаппингЛимиты6 + МаппингЛимиты7 + МаппингЛимиты8 + МаппингЛимиты9 + МаппингЛимиты10, Коллекция);

  Если (Коллекция.Значение("БухгалтерскийДокумент") &lt;&gt; '')или(Коллекция.Значение("ВидСанкционированияРасходов") &lt;&gt; '') тогда
  начало
    ЗначВидПлана := Коллекция.Значение("ВидПлана");
    попытка
      Если (Коллекция.Значение("ВидСанкционированияРасходов") &lt;&gt; '') тогда
        Коллекция.Значение("ВидПлана") := ПолучитьОгрПоБухДокументу(Коллекция.Значение("ВидСанкционированияРасходов"))
      иначе
        Коллекция.Значение("ВидПлана") := ПолучитьОгрПоБухДокументу(Коллекция.Значение("БухгалтерскийДокумент"));        
      ОгрПоКлассификаторам := ОгрПоКлассификаторам + Ограничение("ВидПлана=LNC.PlanDocType%d", Коллекция);
    обязательно
      Коллекция.Значение("ВидПлана") := ЗначВидПлана;
    конец;
  конец;

  ОгрПоПринадлежностиЛС := "";    
  выбрать Коллекция.Значение("ПринадлежностьЛС") из
    1 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is null)";
    2 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is not null)";
  конец;
  
  // учет направления источника внутреннего и внешнего финансирования (погашение или поступление)
  // Учет делается только для выборки по источниковой классификации
  НаправлИсточн := " ";
  если (Коллекция.Values("УчетНаправленияИсточника")=1)
    и((Коллекция.Values("ТипКлассификацииРасх")=1)или(Коллекция.Values("ТипКлассификации")=1))
  тогда 
    НаправлИсточн := "*ifs_t.Direction ";

  //дополнительные ограничения
  ОгрДоп := Коллекция.Values("ДопПараметры");

  ОгрПоСвязям := "";
  ОгрПоВходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязи", ОгрПоСвязям);
  ОгрПоИсходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязи", ОгрПоСвязям);
  ОгрПоВходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrсс", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  ОгрПоИсходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrpc", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);        

  // ограничиваем (если требуется) по правам расходную на классификацию. 
  //Ограничения по остальным правам(на Р\с, организации) накладываются ранее в поддержкаПроекта.abl
  ОгрПрава := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава,Коллекция,' and((d.CLSType&gt;0)or((d.CLSType=0)and(%s)))');

  // формируем ограничение по росписи и уведомлениям
  УчитРосп := Коллекция.Values("РосписьЧек");
  УчитУвед := Коллекция.Values("УведомленияЧек"); 
  если (не УчитРосп) и (не УчитУвед) и (не Коллекция.Values("ПечатныйДокумент")) тогда
  начало
    УчитРосп := да;
    УчитУвед := да;
  конец;
  если УчитРосп и УчитУвед тогда
    ОгрПоРоспУвед := ""
  иначе
    начало  
      если УчитРосп тогда
        ОгрПоРоспУвед := " and (LNC.PlanDocType between 100 and 199)";      
      если УчитУвед тогда
        //пока нет триггера на таблице лимитов, который бы запрещал заполнять вид плана 0.00,
        //определяем нулевое значение вида плана как уведомление 
        ОгрПоРоспУвед := " and ((LNC.PlanDocType &gt;= 200)or(LNC.PlanDocType between 0 and 99))";
    конец;  

  // настраиваем запрос
  Запрос := "Select  d.FacialAcc, d.KFSR, d.KESR, d.SUBKESR, d.DirectionCLS, d.FACT, d.Doctypes DocType," +nl+
        "d.KVR KVRID, tKvr.Code KVR, d.KVSR KVSRID, tKvsr.Code KVSR, d.KCSR KCSRID, tKcsr.Code KCSR, d.RegionCls," +nl+
        "d.Meanstype,d.TransfertCls,tc.Code TransfertClsValue,d.FinSource,d.FinType, d.ID, LNC.REJECT_CLS, LNC.REJECTCAUSE,"+nl+
        "LNC.PlanDocType, d.ProgIndex, d.AcceptDate, d.Note, cast(8 as integer) AlgIndex, lnc.INPUTDATE,"+nl+
        "d.RegionCLS RegionDetail, OwnOrg.RegionCLS RegionBudgetEst, oa_o.RegionCLS RegionContractor," + nl +
        "d.AcceptSumma" + НаправлИсточн + " SUMMA, " + nl + // выбираем и сумму принятых
        "d.Summa"+НаправлИсточн+" SummaLeft, " + nl + // и просто сумму, мы ее подбросим в сумму если не стоит ограничение по по принятым
        "d.Month, d.Year, d.Acc_Ref, d.RequestFlag," + nl + 
        "cast (RFC.Number as varchar(50)) DocNumber, " + nl +
        "cast (LNC.Number as varchar(50)) DocNumberLNC," + nl +
        "d.CreateDate,d.UpdateDate,LNC.CreateDate CptCreateDate, LNC.UpdateDate CptUpdateDate,"+nl+
        "d.CreaterUser,d.UpdaterUser,LNC.CreaterUser CptCreaterUser,LNC.UpdaterUser CptUpdaterUser,"+nl+
        "LNC.Id CptID,LNC.Id CptFUID,d.Id DetFUID,"+nl+
        "LNC.SenderRecordId CptSenderRecordID, d.SenderRecordId DetSenderRecordID,"+nl+
        "LNC.SenderId CptSenderID, d.SenderId DetSenderID,"+nl+
        "d.SourceFacialAcc,d.DFAccount, d.DocBase,"+nl+
        "LNC.CryptoStatus,lnc.DOCSTATEREF,LNC.ACCEPTSUMMA"+НаправлИсточн+" CaptionSum," + nl+
        "LNC.StimateId, d.StimateId DetStimateId, "  + nl +
        "LNC.FacialAccCls CptFacialAcc, d.BudgetRef, org_GRBS.id Org_RefGRBS_Det, lnc.usersvisa,"  + nl +
        "d.SubsidyCls, s.Code SubsidyClsCode," + nl +        
        // Несуществующие поля
        "cast(0 as varchar(20)) BudClS, " + nl+
        "cast(null as Integer) DocSuspended," + nl+
        "cast(null as Integer) IsInBudget," + nl+
        "cast(null as Integer) IsVised," + nl+        
        "cast(null as Integer) SoftRejectCLS," + nl+
        "cast(null as varchar(255)) SoftRejectCause, " + nl+               
        "cast(null as Integer) BeginDocStateRef" + nl+
        // поля для инструкции 70н
        " ,d.BuhOperationCLS, d.IFS IFS_REF, mt.ActivityKind, d.CLSType, " + nl +
        "bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +
        "CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," + nl +
        "CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
        " ifs_t.FINSOURCEVALUE IFS,"+
        " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
        " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan,bac.BalanceCls," + nl +                                                               
        " 0 CreditAccount, 0 DebitAccount, cast (1 as integer) PeriodOfOperation," +  nl +
        " pde.Status, pde.PACKETNUMBER, bac.CORRECTIONFLAG, " + nl +        
        " pde.DocNumber pdeDocNumber, pde.senddate pdeSenddate, pde.note pdeNote,pde.queuetime, pde.PACKETNUMBER " + nl +                                            
        "FROM " + nl + 
        " LimitFinDetail d "+ nl +
        " Left join RequestFinCaption RFC on (d.RecordIndex = RFC.id) "+nl+
        " Left join LimitNotifyCaption LNC on (d.RecordIndex = LNC.id) "+nl+
        " left join FacialAcc_CLS f on (d.FacialAcc = f.id) "+ nl +
        " left join Organizations OwnOrg on (OwnOrg.id = f.Org_Ref)" + nl +
    
        " left join TransfertCls tc on (tc.ID = d.TransfertCls) " + nl +
        " left join Organizations org on (org.id = f.Org_Ref)" + nl +
        " left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)"+ nl +
        " left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)"+ nl + 
        " Left join org_accounts oa on (oa.id = d.Acc_Ref)" + nl +
        " left join Organizations oa_o on (oa_o.ID = oa.Org_Ref)" + nl +           
        " left join PayDocExchange pde on (pde.paydocref=d.id)"+nl+
        ТаблицаОрг +
        // таблицы для инструкции 70н
        " left join BuhOperationCLS boCLS on (boCLS.id = d.BuhOperationCLS)" + nl +            
        " left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
        " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
        " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +        
        " left join MeansType mt on (mt.ID = d.MeansType) " + nl +
        " left join KVSR tKvsr on (tKvsr.id = d.KVSR)" + nl +
        " left join KVR tKvr on (tKvr.id = d.KVR)" + nl +
        " left join KCSR tKcsr on (tKcsr.id = d.KCSR)" + nl +
        " left join InnerFinSource ifs_t on (ifs_t.ID = d.IFS)" + nl +
        " left join LinkRecords lrp on ((lrp.ParentID = d.id)" + ОгрПоИсходящимСвязям + ")" + nl +
        " left join LinkRecords lrc on ((lrc.ChildID = d.id)" + ОгрПоВходящимСвязям + ")" + nl +
        " left join LinkRecords lrpc on ((lrpc.ParentID = c.id)" + ОгрПоИсходящимСвязямЗаголовка + ")" + nl +
        " left join LinkRecords lrcc on ((lrcc.ChildID = c.id)" + ОгрПоВходящимСвязямЗаголовка + ")" + nl +
        " left join SubsidyCls s on (d.SubsidyCls = s.ID)" + nl + 
        "WHERE (1=1)" + nl +
        ОгрПоФин+nl+
        ОгрПоПринятым+nl+       // по принятым
        ОгрПоКлассификаторам+nl+
        ОгрПоДате + nl +
        ОгрПоДатамБухОпераций + nl +
        ОгрПоСервиснымСчетам + nl + 
        ОгрПоДенежнымСредствам + nl +
        ОгрПоОрганизации + nl +
        ОгрПоСчету + nl +
        ОгрПоМесяцу + nl +
        ОгрДоп + nl +
        ОгрПоУведомлениям  + nl +
        ОгрПоТипуОрг + nl +
        ОгрПоПустымБухСчетам + nl +
        ОгрПоСводнымУведомлениям + nl +
        ОгрПоПринадлежностиЛС + nl +
        ОгрПоСвязям + nl + 
        ОгрПрава + nl +
        ОгрПоРоспУвед;

 результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);
конец;

Функция ПеренестиСуммувАксептСумму(Данные : СтатическиеДанные);
переменные
  СуммаПоле,СуммаОстПоле: поле;
начало
  если Данные.НайтиПоле("Summa",nil) и Данные.НайтиПоле("SummaLeft",nil) тогда 
  начало
    СуммаПоле := Данные.ПолеПоИмени("Summa");
    СуммаОстПоле := Данные.ПолеПоИмени("SummaLeft");
    Данные.first;
    Пока не (Данные.Eof) делать
    начало
      Если Мод(СуммаПоле.какДробное) &lt;= 0.005
        тогда СуммаПоле.какДробное := СуммаОстПоле.какДробное;
      Данные.Next;
    конец;
  конец;
конец; 

Функция ПеренестиДанныеИзDocNumberLNCвDocNumber(Данные : СтатическиеДанные);
Переменные
  ДокНомер,ДокНомерЛНК: поле;
начало
  если Данные.НайтиПоле("DocNumber",nil)и Данные.НайтиПоле("DocNumberLNC",nil) тогда
  начало
    ДокНомер := Данные.ПолеПоИмени("DocNumber");
    ДокНомерЛНК := Данные.ПолеПоИмени("DocNumberLNC");
    Данные.first;
    Пока не (Данные.Eof) делать
    начало
      Если УбратьПробелы(ДокНомер.какСтрока)=""
        тогда  ДокНомер.какСтрока := ДокНомерЛНК.какСтрока;
      Данные.Next;
    конец;
  конец;
конец; 

// если  в выборке есть поле DocNumber то надо в выборку добавлять поле DocNumberLNC
Функция ПоляВыборкиДляЛимитов(ПоляВыборки : Строка): Строка;
переменные
  Лист : текст;
  индекс : целое;
  ДобавлятьПолевВыборку : Целое;
начало
  ДобавлятьПолевВыборку := Нет;
  результат := ПоляВыборки;
  Лист := СоздатьТекст;
  попытка
    Лист.РазделенноеЗначение := ПоляВыборки;
    от индекс := 0 до Лист.Количество - 1 
      делать  начало
        Если Прописные(Лист.Стр(индекс)) = Прописные('DocNumber')
          тогда ДобавлятьПолевВыборку := Да;
      конец;
    если ДобавлятьПолевВыборку 
      тогда Результат := Результат + ',DocNumberLNC';
  обязательно
    УдалитьОбъект(Лист);
  конец;  
конец; 

функция ПолучитьЛимиты(Данные:СтатическиеДанные; коллекция:IVariables);
начало
  попытка
    //поля для выборки данных
    Коллекция.Values("ПоляВыборки") := ПоляВыборкиДляЛимитов(Коллекция.Values("ПоляВыборки"));
    Если Позиция("BudClS", Коллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + 
        ",KVSR,KFSR,KCSR,KVR,KESR,IFS,IFS_REF,ClsType";   
    Данные.DestroyFields;

    //для бухгалтерии 70н
    CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ЛимитыВернутьМаппингПереносаПолей + Коллекция.Значение("ДопМаппинг"), nil, Данные);
    //Создавать недостающие поля запросом
    Данные.DefProps("Options") := "+sdoDefaultFields";

    Данные.Запрос:="[PumpData]" + ЗапросЛимиты(Коллекция);;
    ПолучитьДанные(Данные, Коллекция);
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=IFS,ИВФКлюч=IFS_REF,КД=_,ВидКлс=ClsType",Данные,Коллекция);
    // после выборки если не стоит только для принятых то меняем сумму Summa = SummaLeft
    если  (Коллекция.Values("ПринятыеЛимитыЧек"))или(Коллекция.Значение("Финансирование")=да)
      тогда начало конец // вроде ничего делать не надо
      иначе ПеренестиСуммувАксептСумму(Данные);
      
    если не (Коллекция.Значение("Финансирование")=да) тогда  
      ПеренестиДанныеИзDocNumberLNCвDocNumber(Данные);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

//-------------------------------------------------------------------------------------------------------
// Получить лимиты с учетом формирования проводок по бухгалтерии
//-------------------------------------------------------------------------------------------------------
константы
  МаппингСвязанныхПолейОбщий1 = "%EС=IFS_Ref,KESR,ClsType;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=IFS_Ref,ClsType,KVR,KCSR,KVSR,KFSR;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьБухЛимиты(Данные: статическиеДанные; коллекция:IVariables);
переменные
  поляВыборки: строка;
начало
  // Формируем по 70Н
  ПоляВыборки := Коллекция.Values("ПоляВыборки");
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4, Коллекция) + ",CorrectionFlag";    
  попытка
    // Проводки70Н, сформированные по бух.операции
    ПолучитьЛимиты(Данные, Коллекция);
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=ClsType,КорВидКлс=ClsType,ВидДеятельности=ActivityKind,'+
      'КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФКлюч=IFS_Ref,КорИВФ=_,КД=_,КорКД=_,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=_,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=_,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=_,'+
      'БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,СуммаПрямойОперации=_,СуммаВозвратнойОперации=_,'+
      'БухОперация=BuhOperationCLS,ИсправляющаяОперация=CORRECTIONFLAG,Сумма=summa',
      Данные,'2','2',коллекция);
  обязательно
    Коллекция.Значение("ПоляВыборки") := ПоляВыборки;                                        
  конец;
конец;
</value>
    <param value="ЗапросыЛимиты.abl" type="3" name="Export">GREKOVSV\grekovsv\24.05.2012 15:17:14</param>
    <param value="ЗапросыЛимиты.abl" type="3" name="version">36.042.32</param>
    <param value="ЗапросыЛимиты.abl" type="3" name="crc32">$ED21BB9B</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Лимиты">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыЛимиты.abl";

Лимиты(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;
  
константы
 
  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';  
  
функция ВыполнитьСекцииЛим(данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  дата  : Строка;
  НачальнаяДатаИнт,КонечнаяДатаИнт : Целое;
  Год, Месяц : целое;
  ПостоянныйМаппингЛим, МаппингСекции : строка;
  ОграниченияПоДатам : IDataLimit;
  МаппингГиперТекст : Строка;
  мес, кварт : целое;
начало
   // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция); 
  Если Не НадоВыполнятьАлгоритм(8, ЛокКоллекция) тогда выход;
  
  // значение по умолчанию для параметра "ТипКлассификации"
//  если ЛокКоллекция.Значение("ТипКлассификации") = "" тогда
//    ЛокКоллекция.Значение("ТипКлассификации") := 0;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст; 
  
  ПостоянныйМаппингЛим := FixPumpMapEx(ЛимитыВернутьМаппингПереносаПолей,Раскладка);
  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  ДанныеОднойСекции.DefProps("Options") := "+sdoSmallint";
 
  ЛокКоллекция.values("ДенежныеСредства") := "";
  ЛокКоллекция.Values("ИспользоватьПоляВыборки") := да;
  
  Если ВыполнятьСекцию(данные,"ЛимНаТекМесяц,ЛимПоТекМесяц,ЛимНаТекМесяцНеДенежн,ЛимНаФинЗаПериод,ЛимНаФинЗаПериодПринятые")
  тогда начало
    Дата := "";
    начальнаяДатаИнт := 0;
    КонечнаяДатаИнт := 99999999;
   
    // если есть ОднаДата, то если параметр ВариантНачалаПериода не задан отдельно, по умолчанию начало периода - начало года
    // есть возможность изменить конечную дату (параметр ВариантКонцаПериода)
    // ВариантКонцаПериода: 0 - дата, по умолчанию 1 - конец месяца, 2 - конец квартала, 3 - конец года 
    если ЛокКоллекция.ПараметрСуществует("НачальнаяДата") или ЛокКоллекция.ПараметрСуществует("КонечнаяДата") или
         ЛокКоллекция.ПараметрСуществует("ОднаДата") тогда
    начало     
      если (не ЛокКоллекция.ПараметрСуществует("ВариантНачалаПериода")) или (ЛокКоллекция.Значение("ВариантНачалаПериода")="")
        тогда ЛокКоллекция.Значение("ВариантНачалаПериода") := 3;
      ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
      НачальнаяДатаИнт := ОграниченияПоДатам.ДатаНачалаПериода;
      КонечнаяДатаИнт := ОграниченияПоДатам.ДатаКонцаПериода;

      если (не ЛокКоллекция.ПараметрСуществует("НачальнаяДата")) и (не ЛокКоллекция.ПараметрСуществует("КонечнаяДата")) и
           GetCollectionParamValue(ЛокКоллекция,'ОднаДата', Дата,1) тогда
      начало
        если (не ЛокКоллекция.ПараметрСуществует("ВариантКонцаПериода")) или (ЛокКоллекция.Значение("ВариантКонцаПериода")="")
          тогда ЛокКоллекция.Значение("ВариантКонцаПериода") := 1;
        выбрать ЛокКоллекция.Значение("ВариантКонцаПериода") из
          1: КонечнаяДатаИнт := (ЛокКоллекция.Значение("ДатаКонцаПериода") цел 100) * 100 + 99;
          2: начало
               мес := (ЛокКоллекция.Значение("ДатаКонцаПериода") цел 100) ост 100;
               если мес &gt; 12 тогда мес := 12;
               если мес &gt; 0 тогда мес := мес - 1;
               кварт := (мес цел 3) + 1;
               КонечнаяДатаИнт := (ЛокКоллекция.Значение("ДатаКонцаПериода") цел 10000) * 10000 + ((кварт)* 3 + 1) * 100 - 1;
             конец; 
          3: КонечнаяДатаИнт := (ЛокКоллекция.Значение("ДатаКонцаПериода") цел 10000) * 10000 + 9999;
        конец;
      конец;
    конец;
    
    если не ЛокКоллекция.ПараметрСуществует('Месяц')
    тогда начало
      Месяц := (КонечнаяДатаИнт цел 100) ост 100;
      ЛокКоллекция.values("Месяц"):= Месяц;
    конец;
   
    если не  ЛокКоллекция.ПараметрСуществует('Год')
    тогда начало
      Год := КонечнаяДатаИнт цел 10000;
      ЛокКоллекция.values("Год"):= Год;
    конец;
    
    // если нет ограничений на панели параметров, то считаем только принятые лимиты
    Если не(Коллекция.ПараметрСуществует("ПринятыеЛимиты")) и не(Коллекция.ПараметрСуществует("ПринятыеЛимитыЧек"))
      тогда  ЛокКоллекция.values("ПринятыеЛимитыЧек"):= да;    
  конец; 
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
    НачальнаяДатаИнт := 0;
    КонечнаяДатаИнт := 0;
    ЛокКоллекция.values("Год") := '';
    ЛокКоллекция.values("Месяц"):= '';
  конец;
     
// последовательно выполняем секции лимитов
//Секция 0. Принятые (в указанный диапазон дат) лимиты всего на указанный месяц.
  Если ВыполнятьСекцию(данные,"ЛимНаТекМесяц")тогда 
  начало
  // формируем набор параметров данной секции
    Если не ЛокКоллекция.ПараметрСуществует("ОгрПоОднаДата") тогда начало
      ЛокКоллекция.values("НачальнаяДата") := НачальнаяДатаИнт;
      ЛокКоллекция.values("КонечнаяДата") := КонечнаяДатаИнт;
      ЛокКоллекция.values("СНачалаГода") := 0;
    конец
    иначе начало
      ЛокКоллекция.values("НачальнаяДата") := ЛокКоллекция.Значение('ДатаОтчета');
      ЛокКоллекция.values("КонечнаяДата") := ЛокКоллекция.Значение('ДатаОтчета');
      ЛокКоллекция.values("СНачалаГода") := 3;
    конец; 
    ЛокКоллекция.values("КоментарийСекции") := 'Лим.0. Принятые лимиты всего на указанный месяц.';
    МаппингСекции := ПостоянныйМаппингЛим + ',' + FixPumpMapEx("ЛимНаТекМесяц=SUMMA", Раскладка);
    
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    // производим выборку данных
    ПолучитьЛимиты(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  
//Секция 1. Принятые (в указанный диапазон дат) лимиты всего с начала года по указанный месяц включительно
  Если ВыполнятьСекцию(данные,"ЛимПоТекМесяц")тогда 
  начало
  // формируем набор параметров данной секции
    Если не ЛокКоллекция.ПараметрСуществует("ОгрПоОднаДата") тогда начало
      ЛокКоллекция.values("НачальнаяДата") := НачальнаяДатаИнт;
      ЛокКоллекция.values("КонечнаяДата") := КонечнаяДатаИнт;
      ЛокКоллекция.values("СНачалаГода") := 1;
    конец
    иначе начало
      ЛокКоллекция.values("НачальнаяДата") := ЛокКоллекция.Значение('НачалоГода');
      ЛокКоллекция.values("КонечнаяДата") := ЛокКоллекция.Значение('ДатаОтчета');
      ЛокКоллекция.values("СНачалаГода") := 3;
    конец; 
  
    ЛокКоллекция.values("КоментарийСекции") := 'Лим.1. Принятые лимиты всего с начала года по указанный месяц включительно'; 
    МаппингСекции := ПостоянныйМаппингЛим + ',' + FixPumpMapEx("ЛимПоТекМесяц=SUMMA", Раскладка);
    
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    // производим выборку данных
    ПолучитьЛимиты(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  
 //Секция 2 Принятые (в указанный диапазон дат) неденежные лимиты всего на указанный месяц.
  Если ВыполнятьСекцию(данные,"ЛимНаТекМесяцНеДенежн")тогда 
  начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("НачальнаяДата") := НачальнаяДатаИнт;
    ЛокКоллекция.values("КонечнаяДата") := КонечнаяДатаИнт; 
    ЛокКоллекция.values("СНачалаГода") := 0;
    ЛокКоллекция.values("ДенежныеСредства") := "0";
    ЛокКоллекция.values("КоментарийСекции") := 'Лим.2. Принятые неденежные лимиты всего на указанный месяц'; 
    МаппингСекции := ПостоянныйМаппингЛим + ',' + FixPumpMapEx("ЛимНаТекМесяцНеДенежн=SUMMA", Раскладка);
    
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
      
    // производим выборку данных
    ПолучитьЛимиты(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
   
 //Секция 3 Лимиты на финансирование.
  Если ВыполнятьСекцию(данные,"ЛимНаФинЗаПериод,ЛимНаФинЗаПериодПринятые")тогда 
  начало
    // формируем набор параметров данной секции
    ЛокКоллекция.values("НачальнаяДата") := НачальнаяДатаИнт;
    ЛокКоллекция.values("КонечнаяДата") := КонечнаяДатаИнт; 
    ЛокКоллекция.values("СНачалаГода") := 0;
    ЛокКоллекция.values("КоментарийСекции") := 'Лим.3. Лимиты на финансирование'; 
    МаппингСекции := ПостоянныйМаппингЛим + ',' + FixPumpMapEx("ЛимНаФинЗаПериод=SummaLeft,ЛимНаФинЗаПериодПринятые=SUMMA", Раскладка);
    
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    
    ЛокКоллекция.Значение("Финансирование") := да; 
    // производим выборку данных
    ПолучитьЛимиты(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец; 
  
  интерфейс(ДанныеОднойСекции).Освободить;
конец;  
  
// ОСНОВНАЯ ЧАСТЬ    
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  // выбираем данные по секциям
  ВыполнитьСекцииЛим(данные, Ограничения);
конец.
</value>
    <param value="Лимиты" type="3" name="version">36.042.32</param>
    <param value="Лимиты" type="3" name="crc32">$31325B36</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010100</V>
            <V N="Name">Кассовый план</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,ВыклУвед,Даты,Месяц,Год,Классификаторы,ЛицСчет,Район,ПринятыеЛимиты,ГиперДокумент</V>
            <V N="Template">(08.01.01)ЛимитыКассовыеРасходы.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">В отчет выводятся сведения о суммах неотклоненных денежных и зачетных лимитов на месяц для 
финансируемых организаций с выводом сведений о статьях расходов, классификаторах и подведении 
промежуточных итогов по организациям и министерствам.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.32</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010200</V>
            <V N="Name">Уведомление по лимитам</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,ВыклУвед,Даты,НачальнаяДата,КонечнаяДата,Месяц,Год,Классификаторы,ЛицСчет,ПринятыеЛимиты,ГиперДокумент</V>
            <V N="Template">(08.01.02)ЛимитыУведомление.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">В отчет выводятся сведения о лимите финансирования организации с данным лицевым счетом 
в денежной форме и зачетами на месяц.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.32</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010300</V>
            <V N="Name">Месячные лимиты бюджетных обязательств</V>
            <V N="Params">Бюджет,ВыклУвед,Даты,НачальнаяДата,КонечнаяДата,Месяц,Год,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,СубКЭСР,Направление,Мероприятие,ТипПлатДок,ТипСредствБюдж,КодЦелевыхСредств,ФинИсточники,ФинТипы,ТипКлассификацииРасх,ПринятыеЛимиты,ГиперДокумент</V>
            <V N="Template">(08.01.03) месячные лимиты бо.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает принятые и непринятые лимиты финансирования на указанный месяц за период.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.32</param>
  </node>
  <version_info>
    <file>Сборка(09)Доходы.xml</file>
    <version>36.042.168</version>
    <info>&lt;p&gt;Отчеты по доходам&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:37</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Доходы">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыДоходы.abl";
включить '\Макросы\Запросы\ПолучитьКазначействоДоходы.abl';
включить '\Макросы\Запросы\ЗапросыУведомления.abl';

Доходы(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Раскладка : ITableInfoX;
  Данные : СтатическиеДанные;

константы
  // константы для работы с заблокированными средствами
  бсНеЗаблокированные   = 1; 
  бсЗаблокированные     = 2;
  бсРазблокированные    = 3;
  бсНеУчитывать         = 0;


  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';  

// Соединить строки, если вторая начинается с "#" то удаляем его 
функция СоединитьСтроки(Строка1, Строка2: строка): строка;
переменные
  стр: строка;
начало
  если Позиция("#", Строка2) = 1 тогда
    стр := Подстрока(Строка2, 2, Длина(Строка2) - 1)
  иначе
    стр := Строка2;
  если Строка1 &lt;&gt; '' тогда  
    Результат := Строка1 + "," + стр
  иначе
    Результат := стр;   
конец;
  
функция ВыполнитьСекцииДоходы(данные: статическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингДоходы : строка;
  ОграниченияПоДатам:IDataLimit;
  МаппингСекции:строка;
  МаппингГиперТекст : Строка;
  КодЗаписи: строка;
  ВыполнятьАлг: целое;
начало
  ПостоянныйМаппингДоходы := FixPumpMapEx(ДоходыВернутьМаппингПереносаПолей, Раскладка);
  если коллекция.Значение("ВычислятьУточняющуюКлассификацию") тогда
    ПостоянныйМаппингДоходы := ПостоянныйМаппингДоходы + "," + УведомленияВернутьМаппингПереносаПолейДляУточняющейИнформации;

  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  
  ВыполнятьАлг := нет;
  если НадоВыполнятьАлгоритм(9, ЛокКоллекция) тогда
  начало
    КодЗаписи := ЛокКоллекция.Значение("КодЗаписи");
    ВыполнятьАлг := да;
  конец;  
  если ВыбиратьКазначействоВДоходах(Коллекция) тогда
    если НадоВыполнятьАлгоритм(3, ЛокКоллекция) тогда
      если (ЛокКоллекция.Значение("КодЗаписи") &lt;&gt; "")и(ЛокКоллекция.Значение("КодЗаписи") &lt;&gt; КодЗаписи) тогда
      начало
        КодЗаписи := СоединитьСтроки(КодЗаписи, ЛокКоллекция.Значение("КодЗаписи"));
        ВыполнятьАлг := да;  
      конец;
  если ВыбиратьУведомления(ЛокКоллекция) тогда
    если НадоВыполнятьАлгоритм(55, ЛокКоллекция) тогда
      если (ЛокКоллекция.Значение("КодЗаписи") &lt;&gt; "")и(ЛокКоллекция.Значение("КодЗаписи") &lt;&gt; КодЗаписи) тогда
      начало
        КодЗаписи := СоединитьСтроки(КодЗаписи, ЛокКоллекция.Значение("КодЗаписи"));
        ВыполнятьАлг := да;  
      конец;
  ЛокКоллекция.Значение("КодЗаписи") := КодЗаписи;

  если не ВыполнятьАлг тогда выход;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;
  
  
  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  ДанныеОднойСекции.DefProps("Options") := "+sdoSmallint";
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
  
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
    
//  Секция 1. Доходы за период
  Если ВыполнятьСекцию(данные,"ДоходыКредитЗаПериод,ДоходыДебетЗаПериод,ДоходыСуммаЗаПериод")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Доходы.1. Доходы за период'; 
    // производим выборку данных
    Если ЛокКоллекция.Значение('ОграничиватьДатыПоМесяцу') &lt;&gt; 1 тогда начало
      // стандартное ограничение
      ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
      ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    конец
    иначе начало
    // это ограничение нужно для плана доходов, когда есть и дата принятия и месяц
      ЛокКоллекция.values("НачальнаяДата") := ЛокКоллекция.values("ГодОтчета") +  ФорматироватьДробное('00', ЛокКоллекция.values("Месяц")) + '00';
      ЛокКоллекция.values("КонечнаяДата") := ЛокКоллекция.values("ГодОтчета") + ФорматироватьДробное('00', ЛокКоллекция.values("Месяц")) + '99';
    конец;
    МаппингСекции:=ПостоянныйМаппингДоходы+","+
      FixPumpMapEx("ДоходыКредитЗаПериод=Credit,ДоходыДебетЗаПериод=Debit,ДоходыСуммаЗаПериод=Summa", Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьДоходы(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  
//  Секция 2. Доходы на начало периода
  Если ВыполнятьСекцию(данные,"ДоходыКредитНаНачПериода,ДоходыДебетНаНачПериода,ДоходыСуммаНаНачПериода")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Доходы 2. Доходы на начало периода'; 
    // производим выборку данных
    Если ЛокКоллекция.Значение('ОграничиватьДатыПоМесяцу') &lt;&gt; 1 тогда начало
      ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
      ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода-1;
    конец
    иначе начало
    // это ограничение нужно для плана доходов, когда есть и дата принятия и месяц
      ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
      ЛокКоллекция.values("КонечнаяДата") := СтрокаВЦелое(ЛокКоллекция.values("ГодОтчета") + ФорматироватьДробное('00', ЛокКоллекция.values("Месяц")) + '00') - 1;
    конец;  
    МаппингСекции:=ПостоянныйМаппингДоходы+","+
      FixPumpMapEx("ДоходыКредитНаНачПериода=Credit,ДоходыДебетНаНачПериода=Debit,ДоходыСуммаНаНачПериода=Summa", Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьДоходы(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  
//  Секция 3. Сумма неклассифицированных доходов за период
  Если ВыполнятьСекцию(данные,"СуммаНекласДоходовЗаПериод,СуммаНекласДоходовЗаПериодКредит,СуммаНекласДоходовЗаПериодДебит,СуммаВозврата,ДебитДетализация,КредитДетализация,ДебитОшибочных,КредитОшибочных")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Доходы 3. Сумма неклассифицированных доходов за период'; 
    // производим выборку данных
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    МаппингСекции:=ПостоянныйМаппингДоходы+","+
      FixPumpMapEx("СуммаНекласДоходовЗаПериод=Summa,СуммаНекласДоходовЗаПериодКредит=Credit,СуммаНекласДоходовЗаПериодДебит=DetCredit,ДебитДетализация=DetDebit,КредитДетализация=DetCredit,ДебитОшибочных=Debit,КредитОшибочных=Credit,СуммаВозврата=SummaDet",
                     Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьНеклассифицированныеДоходы(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

//  Секция 4. Сумма неклассифицированных доходов на начало периода 
  Если ВыполнятьСекцию(данные,"СуммаНекласДоходовНаНачПериода,СуммаНекласДоходовКредитНаНачПериода,СуммаНекласДоходовДебетНаНачПериода")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Доходы 3. Сумма неклассифицированных доходов за период'; 
    // производим выборку данных
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода-1;
    МаппингСекции:=ПостоянныйМаппингДоходы+","+
      FixPumpMapEx("СуммаНекласДоходовНаНачПериода=summa,СуммаНекласДоходовКредитНаНачПериода=credit,СуммаНекласДоходовДебетНаНачПериода=debit",
                     Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьНеклассифицированныеДоходы(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

//  Секция 5. Сумма заблокированных средств за период
  Если ВыполнятьСекцию(данные,"СуммаЗаблокирДоходовЗаПериод")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Доходы 5. Сумма заблокированных средств за период'; 
    // производим выборку данных
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Значение('БлокированныеСредства') := бсЗаблокированные;                                          
    МаппингСекции:=ПостоянныйМаппингДоходы+","+ FixPumpMapEx("СуммаЗаблокирДоходовЗаПериод=Summa",Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьДоходы(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

//  Секция 6. Сумма разблокированных средств за период
  Если ВыполнятьСекцию(данные,"СуммаРазблокирДоходовЗаПериод")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Доходы 6. Сумма разблокированных средств за период'; 
    // производим выборку данных
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Значение('БлокированныеСредства') := бсРазблокированные;
    ЛокКоллекция.Значение('ВключатьРазблокированныеЧек'):=1;                                              
    МаппингСекции:=ПостоянныйМаппингДоходы+","+FixPumpMapEx("СуммаРазблокирДоходовЗаПериод=Summa",Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    ПолучитьДоходы(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

        
  УдалитьОбъект(ДанныеОднойСекции);
конец;

начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  Ограничения.Значение(АлгРаскладка) := Раскладка;
  // выбираем данные по секциям
  ВыполнитьСекцииДоходы(данные, Ограничения);
конец.
</value>
    <param value="Доходы" type="3" name="version">36.042.168</param>
    <param value="Доходы" type="3" name="crc32">$D3516253</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыДоходы.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';        
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\LinkInfo2.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';
включить "\макросы\отчеты\поддержкаОтчетов.abl";

константы
  nl = #13#10;
  // константы для работы с заблокированными средствами
  бсНеЗаблокированные   = 1; 
  бсЗаблокированные     = 2;
  бсРазблокированные    = 3;
  бсНеУчитывать         = 0;
  // маппинг классификаторов для всех запросов, кроме ЗапросПерераспределениеДоходов  
  МаппингДоходы1 = 'ТипПлатДок=inc.Doctype,Пользователь=inc.CreaterUser%s,КодДохода=kd_o.KDValue%l,НомерДок=inc.docnum,НомерДокИсточн=inc.docnum,СубКодДохода=inc.SubKD,Валюта=Cur.CurrencyIndex,';
  МаппингДоходы2 = 'ЛицСчет=inc.facialacc_cls%d,ТипСредствБюдж=inc.meanstype%d,Мероприятие=inc.Fact%d,БухОперация=inc.BuhOperationCLS%d,Бюджет_РаспОргСсылка=org_GRBS.id%d,ВидОргВладельцаЛС=org.Org_Type%d,';
  МаппингДоходы3 = 'НомерЛС=f.FacialCodeEx%s,ЛицСчет11=fccoa.ACC%s';  

  ДоходыСписание = "NoteDetal,AccountRefDetail,DocumentNumberDetail,OrgFrom,CorKd,SubKDDet,Id,DateReturn,DetCredit,DetDebit,Det_BuhOperationCLS";
 // маппинг дополнительных ограничений на поля для всех запросов
  МаппингДоходыОбщие1 = 'ГосНИ=inc.GosNI,ИндексыДанныхДоходы=inc.ProgIndex,КВСР=tKvsr.Code%d,КЦСР=tKcsr.Code%k,КФСР=inc.KFSR,КВР=tKvr.Code%k,КЭСР=inc.KESR,КодЗаписи=inc.id%d,ТипОрг=o.Org_CLS,ВидДеятельности=mt.ActivityKind%d,';
  МаппингДоходыОбщие2 = 'Бюджет=inc.BudgetRef%d,МультиБюджет=inc.BudgetRef%d,Примечание=inc.note%s,ДатаВремяСоздания=inc.CreateDate,ДатаВремяИзменения=inc.UpdateDate,Баланс=bac.BalanceCls,ТипКлассификации=inc.ClsType%d,ТипКлассификацииРасх=inc.ClsType%d,';  
  МаппингДоходыОбщие3 = "БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),";
  МаппингДоходыОбщие4 = "БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),ИстВнутрФин=ifs_t.FinSourceValue%l,ИВВФ=IncIFS_Ref,ТипПлатДок=inc.Doctype,";
  МаппингДоходыОбщие5 = 'ОКАТО=inc.OKATO,УточнениеОКАТО=inc.ADDOKATO,ИндексыДанныхЗаголовок=q.ProgIndex,НомерДокументаЗаголовка=q.DocNumber,ДатаФедРеестра=ReestrDate,';
  МаппингДоходыОбщие6 = 'ИсточникОбразованияСредств=inc.FundsSource%d,Направление=inc.DirectionCls%d,СуммаДебет=Debit%f,СуммаКредит=Credit%f,ПричинаБлокировки=inc.BlockedCause%s,ПричинаРазблокировки=inc.UnblockedCause%s,';
  МаппингДоходыОбщие7 = 'Коррекция=bac.CorrectionFlag%d,ХарактерЛС=f.HARACTERACCOUNT%d,ТипКлассификации=inc.ClsType%d,СостояниеДокумента=q.DocStateRef%d,Район=inc.RegionCls%d,';
  МаппингДоходыОбщие8 = 'КодЦелевыхСредств=tc_o.Code%d,КодЦелевыхСредствПризнак=tc_o.TARGETMEANSSIGN%d,ПлатОргСсылка=inc.org_ref%d,КодСубсидии=sc.Code%k,Характер_ЛС=f,Отдел=q.DepartmentCls%d,';
  МаппингДоходыОбщие9 = 'РайонТрансферта=inc.RegionCLS%d,РайонКонтрагента=o.RegionCLS%d,ПоставРССсылка=inc.accountref%d,ПоставОргСсылка=inc.org_ref%d,ТипДокОснов=inc.DocBase%d,ТипДеятельности=mt.ActivityType%d';
  //поддержка ограничения по правам на бюджетную классификацию
  МаппингКЛСПрава_БКИст = 'KVSR=tKvsrIFS.Code';
  МаппингКЛСПрава_БКДох = 'KVSR=tKvsrKD.Code';
  МаппингКЛСПраваПерераспр_БКИст = 'KVSR=tKvsrIFS.Code';
  МаппингКЛСПраваПерераспр_БКДох = 'KVSR=((tKvsrKD.Code%d)or(tKvsrKD2.Code%d))';                      

функция ПроверитьНаНепустуюМаскуКД(Стр: строка): целое; будущая;
                        
функция ЭтоНоль(Сумма : Дробное) : целое;
начало
  Если мод(Сумма)&lt;0.0005 тогда Результат := 1
  иначе Результат := 0
конец;

функция ДоходыВернутьМаппингПереносаПолей : Строка;
начало                              
   // Маппинг полей. Постоянная часть, одинаковая для всех секций
   // NDS выводим в 2 колонки для совместимости с предыдущими версиями (ранее выводилось в НДС, теперь в СуммаНДС). 
  // Сделано всвязи с появлением строкового поля NDS в других алгоритмах
  Результат := "КодДокумента=IdMaster,СсылкаНаДеталь=RecordIndexID,КодЗаписи=Id,НомерДокумента=DocumentNumber," +
    "СостояниеДокумента=DocStateRef,НомерРеестра=ReestrNumber,Дата=IDate,ДатаПринятия=IDate,ДатаСписания=DateReturn," +
    "ДатаВвода=BuildDate,РСФО=incaccount,СчетПолуч=incaccountDest,Регион=RegionCls,СРегиона=RegionCls,НаРегион=RegionClsTo,КФСР=KFSR,КЭСР=KESR," +
    "КВСР=KVSR,КВСРКлюч=KVSRID,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВР=KVR,КВРКлюч=KVRID,РСКредит=AccCredit,РСДебет=AccDebit," +
    "КодДохода=KD,СКодаДохода=KD,НаКодДохода=KDTo,СубКД=SubKD,ССубКД=SubKD,НаСубКД=SubKDTo,ТипДокумента=DocType," +
    "ТипДокументаДетализация=DocTypeDet,Слой=AccountIndex,ГосНИ=GosNI,СчетПлат=AccountRef,Примечание=NOTE," +
    "КодЦелевыхСредств=TransfertCls,СКодаЦелевыхСредств=TransfertCls,НаКодЦелевыхСредств=TransfertClsTo," + 
    "КодСубсидииКлюч=SubsidyCls,КодСубсидии=SubsidyClsCode," +
    "ТипСредствПолуч=MeansTypeAcceptor,ТипСредствПлат=MeansTypePayer,Автор=CreaterUser,АвторИзменений=UpdaterUser," +
    "ИндексыДанных=ProgIndex,ИндексыДанныхЗаголовок=ProgIndexTitle,ЛицевойСчет=FacialAcc_Cls,ЛицевойСчетДетализация=FacialAcc_Cls_Det," +
    "СЛицевогоСчета=FacialAcc_Cls,НаЛицевойСчет=FacialAcc_ClsTo,Организация=ORG_REF,КодВалюты=Currency,СуммаВалюта=CURSUM," +
    "ИндексАлгоритма=AlgIndex,Ндс=NDS,СуммаНДС=NDS,Назначение=NoteEx,БухПроводка=BuhPaymentCLS,ТипСредств=MeansType," +
    "ПримечаниеИзДетализации=NoteDetal,СчетПлатДетализация=AccountRefDetail,НомерДокументаДетализация=DocumentNumberDetail%s50," +
    "ПлательщикВозврат=OrgFrom,КодДоходаВозврат=CorKd,СубКДДетализация=SubKDDet,Мероприятие=Fact,ТипОперации=TypeOperationCls," +
    "ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,КодОбобщеннойЗаявки=TotalRef,КДКлюч=KDID," +
    "КодЦелевыхСредствКлюч=TransfertClsID,КодБюджета=BudgetRef,ДатаДокумента=RecordDate,ИВВФ=IncIFS_Ref,Направление=DirectionCls," +
    "ОКАТО=OKATO,УточнениеОКАТО=ADDOKATO,НомерДокументаЗаголовка=DocNumber,ДатаФедРеестра=ReestrDate,СрокПлатежа=PayDate,"+
    "КодФОДокумента=TitleFUID,КодУРМДокумента=TitleSenderRecordID,КодУРМЗаписи=IncSenderRecordID," +
    "КодОтправителяДокумента=TitleSenderID,КодОтправителяЗаписи=IncSenderID,Отдел=DepartmentCls," +
    "ПричинаОтклонКод=RejectCLS,ПричинаОтклонТекст=RejectCause,ПризнакЗависания=DocSuspended,ЕстьВБюджете=IsInBudget," +
    "ЛокальнаяВиза=IsVised,КодФОЗаписи=IncFUID,СуммаДебет=Debit,СуммаКредит=Credit,ИнформацияОНалоге=TaxNote," +
    "ЛицСчетАдм=FacialAccCLS,ИсточникОбразованияСредств=FundsSource,ПримечаниеДеталь=DetailNote,Очередность=PayPriority," +
    "СМероприятия=FactFrom,НаМероприятие=FactTo,ОрганизацияГлавныйРаспорядитель=Org_RefGRBS_Det," +
    // поля блокировок (поле ДатаБлокировки реализовано в clm вычислимым полем - если установлен признак блокировки тогда дата блокировки:=Дата принятия) 
    "ПризнакБлокировки=IsBlocked,ПричинаБлокировки=BlockedCause,ДатаРазблокировки=UnBlockedDate,ПричинаРазблокировки=UnblockedCause,"+
    //
    "ФедеральныеСредства=FederalData,НомерПП=PDDocNumber,НомерДокИсточн=DocumentNumber,БюджКлассификация=BudClS,"+
    "БухОперация=BuhOperationCLS,ИсточникКорКлюч=IFS_CORR,ИсточникКор=IFSValue_Corr,КорЭК=KESR_CORR%d," +
    "БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,ЭККредит=CreditDocEK%d,ЭКДебет=DebitDocEK%d,ВидДеятельности=ActivityKind," +
    "КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,НомерСчетаДебет=DebitNumberAcc70n%s28,НомерСчетаКредит=CreditNumberAcc70n%s28,"+
    "БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f,БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,"+                                                  
    "БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue,Баланс=BalanceCls,"+
    "ИсточникВнутрФинансированияКлюч=IncIFS_Ref,ИсточникВнутрФинансирования=IncIFSValue,ТипКлассификации=CLSType,"+
    "ТипКлассификацииПолуч=DestClsType,ТипКлассификацииПлат=SourceClsType," +
    "КодВходящейСвязи=InLink,КодИсходящейСвязи=OutLink,ТипВходящейСвязи=InLinkType,ТипИсходящейСвязи=OutLinkType," +
    "КодВходящейСвязиЗаголовка=InLinkCpt,КодИсходящейСвязиЗаголовка=OutLinkCpt,ТипВходящейСвязиЗаголовка=InLinkTypeCpt," +
    "ТипИсходящейСвязиЗаголовка=OutLinkTypeCpt," +
    "СуммаДокументовВозврата=ReturnDocSumma,ДокументВозвратаНомер=ReturnDocDocumentNumber,ДокументВозвратаДатаПринятия=ReturnDocAcceptDate," +
    "ДокументВозвратаЛСПлательщика=ReturnDocFacialAcc_CLS,ДокументВозвратаСчетПолучателя=ReturnDocDestAccount," +
    "РайонТрансферта=RegionDetail,РайонКонтрагента=RegionContractor,РайонБУ=RegionBudgetEst,ВидОрганизацииЛС=FAOrgType,ТипДокОснования=DocBase," +
    
    // Маппинг полей электронного обмена:
    // Старые поля не использовать!!! Сохранены для совместимости
    //   ЭлСумма=ELSumma, ЭлНомерДокумента=ELNUM и ЭлНалСтатус=SSTATUS - не изменились
    //   старое ---&gt; новое
    //   ЭлПлательщикРС=ELPayerAcc ---&gt; ЭЛСчетПлат=ELSourceAccount
    //   ЭлПлательщикИНН=innmfkb ---&gt; ЭЛИННОргПлательщика=ELSourceOrgINN
    //   ЭлПлательщикКПП=kppa ---&gt; ЭЛКППОргПлательщика=ELSourceOrgKPP
    //   ЭлПлательщикИмя=PayerName ---&gt; ЭЛИмяОргПлательщика=ELSourceOrgName,
    //   ЭлПлательщикБИК=ELPayerMFO = ЭлПлательщикБанк=ELPayerBankName = ЭлПлательщикКорСчет=ELPayerCOR ---&gt; ЭЛБИКБанкаПлательщика=ELSourceBankBIK
    //   (три поля были на одно поле, но для совместимости в старом маппинге переадресованы по смыслу)
    //   ЭлПолучательИНН=InnMF ---&gt; ЭЛИННОргПолучателя=ELDestOrgINN
    //   ЭлПолучательКПП=KppB ---&gt; ЭЛКППОргПолучателя=ELDestOrgKPP
    //   ЭлПолучательИмя=NamKor ---&gt; ЭЛИмяОргПолучателя=ELDestOrgName
    //   ПримечаниеИзБанка=notebank ---&gt; ЭЛНазначениеПлатежа=ELNote
    //   ЭлНалОКАТО=CODOKATO ---&gt; ЭЛОКАТО=ELOKATO
    //   ЭлНалПериод=NALPER ---&gt; ЭЛПериодНалПлатежа=ELNALPeriod
    //   ЭлНалНомерНал=NDNAL ---&gt; ЭЛНомерДокНалПлатежа=ELNALDocNumber
    //   ЭлНалОснПлат=NALPLAT ---&gt; ЭЛОснованиеНалПлатежа=ELNALBasePay
    //   ЭлНалДатаНал=DDNAL ---&gt; ЭЛДатаДокНалПлатежа=ELNALDocDate
    //   ЭлНалТип=TYPNAL ---&gt; ЭЛТипНалПлатежа=ELNALType
    //   ЭлНалБК=CODBCLAS ---&gt; ЭЛБК=ELBK
    // не использовать!!! старый маппинг полей электронного обмена:
    "ЭлПлательщикРС=ELSourceAccount,ЭлПлательщикБанк=ELSourceBankName,ЭлПлательщикБИК=ELSourceBankBIK,ЭлПлательщикКорСчет=ELSourceBankCor," +
    "ПримечаниеИзБанка=ELNote,ЭлПлательщикИмя=ELSourceOrgName,ЭлПлательщикИНН=ELSourceOrgINN,ЭлПлательщикКПП=ELSourceOrgKPP,ЭлНалОКАТО=ELOKATO," +
    "ЭлНалПериод=ELNALPeriod,ЭлНалНомерНал=ELNALDocNumber,ЭлНалОснПлат=ELNALBasePay,ЭлНалДатаНал=ELNALDocDate,ЭлНалТип=ELNALType,ЭлНалБК=ELBK," +
    "ЭлПолучательИмя=ELDestOrgName,ЭлПолучательИНН=ELDestOrgINN,ЭлПолучательКПП=ELDestOrgKPP," +
    //новый маппинг полей электронного обмена
    "ЭлНомерДокумента=ELNUM,ЭЛСчетПлат=ELSourceAccount,ЭЛИННОргПлательщика=ELSourceOrgINN,ЭЛКППОргПлательщика=ELSourceOrgKPP," +
    "ЭЛИмяОргПлательщика=ELSourceOrgName,ЭЛБИКБанкаПлательщика=ELSourceBankBIK,ЭЛИННОргПолучателя=ELDestOrgINN," +
    "ЭЛКППОргПолучателя=ELDestOrgKPP,ЭЛИмяОргПолучателя=ELDestOrgName,ЭЛСумма=ELSumma,ЭЛНазначениеПлатежа=ELNote,"  +
    "ЭлНалСтатус=SSTATUS,ЭЛОКАТО=ELOKATO,ЭЛПериодНалПлатежа=ELNALPeriod,ЭЛНомерДокНалПлатежа=ELNALDocNumber," +
    "ЭЛОснованиеНалПлатежа=ELNALBasePay,ЭЛДатаДокНалПлатежа=ELNALDocDate,ЭЛТипНалПлатежа=ELNALType,ЭЛБК=ELBK," +
    "ЭЛСчетПолуч=ELDestAccount,ЭЛКД=ELKD,ЭЛОчередность=ELPriority,ЭЛКорСчетБанкаПлательщика=ELSourceBankCor," +
    "ЭЛКППБанкаПлательщика=ELSourceBankKPP,ЭЛИмяФилиалаБанкаПлательщика=ELSouceBankFilialName,ЭЛИмяБанкаПлательщика=ELSourceBankName," +
    "ЭЛБИКБанкаПолучателя=ELDestBankBIK,ЭЛКорСчетБанкаПолучателя=ELDestBankCor,ЭЛКППБанкаПолучателя=ELDestBankKPP," +
    "ЭЛИмяФилиалаБанкаПолучателя=ELDestBankFilialName,ЭЛИмяБанкаПолучателя=ELDestBankName,ЭЛНалоговаяИнформация=ELTaxNote," +
    "ЭЛЛСФКПлат=ELSourceFacialCode,ЭЛЛСФКПолуч=ELDestFacialCode,ЭЛДатаДокумента=ELDocDate,ЭЛВидОперации=ELTypeOperation," +
    "ЭлНомерДокументаБанк=ELDocNumber,КорСчет=Cor";
конец;

// дополнительный маппинг для закачки полей блока доходов из казначейства,
// которых нет в казначействе. Используется в алгоритме казначейства
функция ДоходыВернутьДопМаппингДляКазначейства : Строка;
начало
  Результат := 'Организация=ORG_REF%d';                           
конец;

// получить поле Организации ЛС
функция ПолучитьПолеОрганизацияЛС(Коллекция : IVariables): строка;
начало
  Результат := "Org_Ref";
  если Коллекция.ПараметрСуществует("ОрганизацияЛС") тогда
  выбрать Коллекция.Values("ОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
  если Коллекция.ПараметрСуществует("БюджОрганизацияЛС") тогда
  выбрать Коллекция.Values("БюджОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
конец;
  
// процедура формирования ограничений, общих для все доходов
функция ОбщиеОграниченияДоходов(Коллекция:IVariables):строка;
переменные
  ОгрДоходы, ОгрПоРС, ОгрПоФиктРС,ДопОграничения: строка;
  ОгрПоНевыясн,ОгрПоОшибочным,ОгрПоСлоюДохода,ОгрНеУчитыватьОстаткиСсуд,ТекГод:строка;
  ОгрПоБлокировкам, ОгрПоДатеБлокировки, ОгрПОРазблокировке : строка; 
  ОгрПоПринадлежностиЛС, ОгрКодЦели : строка;
  ВремКоллекция:IVariables;
  МаппингДоходыОбщие, рсфо : строка;
  БлокированныеСредства, ЕстьОгрПоБлокировкамНаПанели : целое;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций, огрПоУведомлениям: строка;
начало
   ВремКоллекция := CreateVariables;
   ВремКоллекция.PumpData(Коллекция);
   МаппингДоходыОбщие := МаппингДоходыОбщие1+МаппингДоходыОбщие2 + МаппингДоходыОбщие3 + МаппингДоходыОбщие4 + МаппингДоходыОбщие5 +
     МаппингДоходыОбщие6 + МаппингДоходыОбщие7 + МаппингДоходыОбщие8 + МаппингДоходыОбщие9;
   Если Коллекция.Значение("ОбобщенноеРаспоряжение") = 1 тогда
     МаппингДоходыОбщие := МаппингДоходыОбщие + ",КодДокумента=inc.TotalRef%d"   
   иначе  
     Если Коллекция.Значение("НевыясненныеДокументы") = 1 тогда 
      МаппингДоходыОбщие := МаппингДоходыОбщие + ",КодДокумента=inc.id%d"
     иначе    
       Если коллекция.Значение("ПечатныйДокумент") = Да тогда
         МаппингДоходыОбщие := МаппингДоходыОбщие + ",КодДокумента=(inc.recordindex%d)or(inc.id%d)"        
       иначе     
         МаппингДоходыОбщие := МаппингДоходыОбщие + ",КодДокумента=inc.recordindex%d";
      

  если (Коллекция.ПараметрСуществует("ВклДокументыВыбор")) и
    (не((строка(Коллекция.Values("ВклДокументыВыбор")) = "")или(строка(Коллекция.Values("ВклДокументыВыбор")) = "0"))) тогда
    Коллекция.Values("ИндексыДанныхДоходы") := Коллекция.Values("ВклДокументыВыбор");

   ОгрДоходы := Ограничение(МаппингДоходыОбщие,Коллекция);
   попытка
    // формируем ограничение по расчетным счетам
    РСФО := '';
    если Коллекция.ПараметрСуществует("РСФО") тогда
      РСФО := Коллекция.Values("РСФО");
    если РСФО='' тогда  
      если Коллекция.ПараметрСуществует("КазнРС") тогда
        РСФО := Коллекция.Values("КазнРС");
    если РСФО='' тогда
      если Коллекция.ПараметрСуществует("РСКазн") тогда
        РСФО := Коллекция.Values("РСКазн");
    
    Коллекция.Values("РСФО") := рсфо;
    если Коллекция.Values("РСФО") &lt;&gt; "" тогда
    начало
      ОгрПоРС := Ограничение("РСФО=inc.IncAccount%d", Коллекция); 
      если ВернутьИндексВРазделеннойСтроке(Коллекция.Values("РСФО"), ПолучитьКонстантуКэш("СчетПроводБезРС",16,2,0)) &lt;&gt; -1 тогда
        ОгрПоФиктРС := "or(dfbt.Fixed&lt;&gt;0)"
      иначе
        ОгрПоФиктРС := "";
      ОгрПоРС := "and((1=1)"+ОгрПоРС+ОгрПоФиктРС+")";
    конец
      иначе
        ОгрПоРС := "";
        
    ОгрПоНевыясн := "";
    если  Коллекция.Значение("ОгрПоНевыясненным")=1  тогда 
    начало     
      ВремКоллекция.Значение("КодДохода") := '#' + СтроковаяКонстанта(3,0);// только данный код
      ОгрПоНевыясн:= Ограничение("КодДохода=kd_o.KDValue%l", ВремКоллекция);
      ВремКоллекция.Значение("КодДохода")  :='#' + СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
      если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
        ОгрПоНевыясн := ОгрПоНевыясн + Ограничение("КодДохода=KD_o.KDValue%l", ВремКоллекция);
    конец;
    если  Коллекция.Значение("ТолькоНевыясненные")=1  тогда 
    начало  
      ОгрПоНевыясн := ""; 
      ВремКоллекция.Значение("КодДохода") := СтроковаяКонстанта(3,0);// только данный код
      ОгрПоНевыясн:= Ограничение("КодДохода=kd_o.KDValue%l", ВремКоллекция);
      ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
      если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
        ОгрПоНевыясн := 'and (((1=1)' + ОгрПоНевыясн + ') or ((1=1)' + Ограничение("КодДохода=KD_o.KDValue%l", ВремКоллекция) + '))';
    конец;    
    
    ОгрНеУчитыватьОстаткиСсуд:='';
    если Коллекция.Values("УчитыватьОстаткиСсудНаНачалоГода")=нет тогда начало
      ТекГод := Коллекция.Значение("ГодОтчета");
      // исключаем остатки ссуд на начало года, которые заводятся 00 числом 00 месяца
      ОгрНеУчитыватьОстаткиСсуд:="and ( not((inc.ProgIndex in(123,328,329)) and (inc.idate="+ТекГод+"0000)) )";
    конец;
      
    ОгрПоОшибочным := "";
    если  Коллекция.Значение("НеВыбиратьОшибочные")=1 и Коллекция.Значение("СекцияНеКласДоходов")&lt;&gt;1 тогда 
    начало     
      ВремКоллекция.Значение("КодДохода") := '#'+СтроковаяКонстанта(3,1);// только данный код
      если ВремКоллекция.Значение("КодДохода")&lt;&gt;'#0' тогда
        ОгрПоОшибочным:=Ограничение("КодДохода=kd_o.KDValue%l", ВремКоллекция);
    конец;
    ОгрПоСлоюДохода  := '';
    если Коллекция.ПараметрСуществует("Слой")тогда
      ОгрПоСлоюДохода := Ограничение("Слой=inc.AccountIndex%d", Коллекция);

    ОгрПоБлокировкам := '';
    ОгрПоДатеБлокировки  := ''; 
    ОгрПОРазблокировке := '';
    БлокированныеСредства := Коллекция.Значение('БлокированныеСредства');    
    Если ВремКоллекция.Значение('ДатаБлокировкиТипЧек')=1 тогда начало 
        ОгрПоДатеБлокировки := ПолучитьОграничениеПоТипуДаты('ДатаБлокировкиТип=inc.Idate', ВремКоллекция, 'inc.Idate') + 'and(inc.IsBlocked=1)';
        Если ВремКоллекция.Значение('ВключатьРазблокированныеЧек')=1 тогда
          ОгрПОРазблокировке := ''
        иначе
          ОгрПОРазблокировке := 'and( not((1=1)' + получитьОграничениеПоТипуДаты('ДатаБлокировкиТип=inc.UnBlockedDate', ВремКоллекция, 'inc.UnBlockedDate') + ')or (inc.UnBlockedDate is null))';      
        ОгрПоБлокировкам :=  ОгрПоДатеБлокировки + ОгрПОРазблокировке;
    конец;

   ЕстьОгрПоБлокировкамНаПанели := (не времколлекция.ПараметрСуществует("НеВключатьВНеЗаблокированныеРазблокированные")) и 
                                   ((Коллекция.Значение('ДатаБлокировкиТипЧек')=1) или (Коллекция.Значение('ДатаРазБлокировкиТипЧек')=1));
   Если ЕстьОгрПоБлокировкамНаПанели тогда 
     БлокированныеСредства := бсНеУчитывать;

   Выбрать БлокированныеСредства из
     бсРазблокированные   : начало  
                              ОгрПоБлокировкам := ОгрПоБлокировкам + получитьОграничениеПоТипуДаты('ДатаРазБлокировкиТип=inc.UnBlockedDate', ВремКоллекция, 'inc.UnBlockedDate');
                            конец; ////////   
     бсЗаблокированные    : начало
                              Если Коллекция.Значение('ДатаРазБлокировкиТипЧек') = 0 тогда
                                ОгрПОРазблокировке := ''
                              иначе   
                                ОгрПОРазблокировке := 'and( not((1=1)' + получитьОграничениеПоТипуДаты('ДатаБлокировкиТип=inc.UnBlockedDate', ВремКоллекция, 'inc.UnBlockedDate') + ')or (inc.UnBlockedDate is null))';
                                
                              ОгрПоБлокировкам := ОгрПоБлокировкам + 'and (inc.IsBlocked=1)' + ОгрПОРазблокировке;  
                            конец; ///////
     бсНеЗаблокированные  : начало
                              если (ВремКоллекция.значение("НеВключатьВНеЗаблокированныеРазблокированные") &lt;&gt; 1) или (ВремКоллекция.Значение('ВключатьРазблокированныеЧек') = 1) тогда
                                если Коллекция.ПараметрСуществует('КонечнаяДата') и (Коллекция.Values('КонечнаяДата')&lt;&gt;'') тогда
                                  ОгрПоБлокировкам := 'and ( (inc.IsBlocked&lt;&gt;1)or(inc.IsBlocked is null) or ' + ФорматноеОграничениеПоДатам('inc.UnBlockedDate', '0', Коллекция.Values('КонечнаяДата')) + ')'
                                иначе
                                  ОгрПоБлокировкам := 'and ( (inc.IsBlocked&lt;&gt;1)or(inc.IsBlocked is null) or ((1=1)' + получитьОграничениеПоТипуДаты('ДатаРазБлокировкиТип=inc.UnBlockedDate', Коллекция, 'inc.UnBlockedDate') + ') )'
                              иначе  
                                ОгрПоБлокировкам := 'and  ((inc.IsBlocked&lt;&gt;1)or(inc.IsBlocked is null))';
                            конец; ///////
     бсНеУчитывать        : начало
     
                            конец; //////                                         
   конец;
    // в бухгалтерии нужно учесть срок действия бух. операций
    если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
    начало
      ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
      //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
      //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
      //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
      ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    конец
    иначе
      ОгрПоДатамБухОпераций := "";

    //ограничение по принадлежности лс. 1- только нефедеральные лс, 2 - только федерльные лс
    ОгрПоПринадлежностиЛС := "";    
    выбрать Коллекция.Значение("ПринадлежностьЛС") из
      1 : ОгрПоПринадлежностиЛС := "and ((inc.FacialAcc_Cls=0)or(F.FCAccount is null))";
      2 : ОгрПоПринадлежностиЛС := "and ((inc.FacialAcc_Cls=0)or(F.FCAccount is not null))";
    конец;
    
    // ограничение по коду цели
    ОгрКодЦели := ОграничениеПоКодуЦели(Коллекция, "Код_Цели=mt.TargetCls%d", "Код_Цели=tc_o.TargetCls%d");

    //огр по отклоненным уведомлениям (5500)
   // заментировано gen 20110921 - теперь отклоненные уведомления отсекаются на стадии джойна основного запроса 
   // если Коллекция.Значение("ВыбратьУведомленияУточняющиеНевыясненные") = 1 тогда
   //   огрПоУведомлениям := "and  (cor_c.reject_cls IS NULL)";


    // для доп. ограничений  
    ДопОграничения := Коллекция.Values("ДопОграничения");
    
    результат := ОгрДоходы + nl +
      ОгрПоРС + nl +
      ОгрПоНевыясн + nl +
      ОгрПоОшибочным + nl + 
      ОгрПоСлоюДохода + nl +
      ОгрНеУчитыватьОстаткиСсуд + nl +
      ОгрПоБлокировкам + nl +
      ОгрПоДатамБухОпераций + nl + 
      ОгрПоПринадлежностиЛС +nl +
      огрПоУведомлениям + nl + 
      ДопОграничения + nl +
      ОгрКодЦели;
  обязательно
    УдалитьОбъект(ВремКоллекция);
  конец;
конец;

// функция формирования запроса получения доходов
функция ЗапросДоходы(Коллекция:IVariables):строка;
переменные
  // перенные для формирования ограничений
  ОгрПоСервиснымСчетам,ОгрПоДате: строка;
  ОгрПоОрганизации : строка;  
  ОгрПоКлассификации : строка;
  ОгрДоходы, ОгрПоПричинеОтклон : строка;
  ОгрПоИндДанных, ОгрПоИндДанныхЗаголовок: строка;
  МаппингДоходы : строка;
  Комментарий, ОгрПоБюджетуТаблСчетовДепартамента, ОгрПоКредиту, ОгрПоДебиту: строка;
  Запрос: Строка;
  БухПримечаниеБлока:строка;
  ПолеДатыВвода, ОграниченияСНа,ПолеКредита,ПолеДебета,ПолеРСФО,ПолеПРимечания, ПолеНазначения, ПолеДаты,СоединениеСВнутреннимиОперациями, ПолеСчетПолуч:строка;
  // ограничения по федеральным средствам
  ОграничитьПоФедеральнымСредствам, ОгрПоПустымБухСчетам, ОгрПоБюджОрг, ОрганизацияЛС : Строка;
  ПолеКодДоходаКор, СоединениеСЗаголовком : строка;
  ОгрПоКасРасхСПередвижками, СписокБухОпераций, СоединВнутрДляОгрПоБухОпер: строка;
  ОгрПоВходящимСвязям, ОгрПоИсходящимСвязям, ОгрПоВходящимСвязямЗаголовка, ОгрПоИсходящимСвязямЗаголовка: строка;
  Фильтр: IVariables;
  LinkInfo: ILinkInfo2;
  ТипСвязи: строка;
  ТипыСвязей, данныеПредАлгоритмов: СтатическиеДанные;
  ОгрПоРайонуБУ: Строка;
  ПолеМероприятие: Строка;
  ОгрПрава_БКИст,ОгрПрава_БКДох,ОгрПрава, ОгрПоСвязям:строка;
  ТаблицаОрг, ОгрПоВидуОрг, ОгрПоЛицСчету: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос доходы.");

  // стандартное ограничение по датам
  ОгрПоДате := '';
  Если Коллекция.Значение('ДатаБлокировкиТипЧек')&lt;&gt;1 тогда // если это так - то мы ограничим по ней в общих ограничениях 
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=inc.IDate,ДатаДокументаТип=inc.RecordDate,ДатаФедеральногоРеестраТип=q.REESTRDATE,ДатаВводаТип=q.BuildDate,ДатаРазблокировкиТип=inc.UnBlockedDate', Коллекция, 'inc.IDate');
  // без него нетработает ограничение по ДатеВвода
  если (Коллекция.Значение('ДатаВводаТипЧек') = 1) тогда
     ОгрПоДате := 'and ( ( (1=1)'+ ОгрПоДате + ') or ( (1=1) and ( inc.RecordDate between ' +  Коллекция.Значение('НачальнаяДата') + ' and '+ Коллекция.Значение('КонечнаяДата') +' )  ) )';
        
  // ограничение по дате перечисления для сумм в пути (используется в отчетах) 
  если (Коллекция.Значение('ОграничиватьСуммыВПутиПоДатеПеречисления') = 1) 
   /* и ( (Коллекция.Значение('ДатаПринятияТипЧек') = 1) или коллекция.ПараметрСуществует("ОднаДата"))*/ тогда
     ОгрПоДате := 'and (((1=1) and (inc.progindex &lt;&gt; 44 ) '+ ОгрПоДате + ') or (' +
       '(inc.RecordDate between ' + Коллекция.Значение('НачальнаяДата') + ' and '+ Коллекция.Значение('КонечнаяДата') +') and (inc.ProgIndex = 44)))';
     
    // если нужно выбираем возврат доходов
  если Коллекция.Значение("ВыбратьДокументыВозврата") тогда
  начало
    попытка
      данныеПредАлгоритмов := коллекция.Значение("ДанныеПредАлгоритмов");
      данныеПредАлгоритмов.Фильтр := Формат("((ParentDocCls = %d) and (ChildDocCls = %d)) or ((ParentDocCls = %d) and (ChildDocCls = %d))", 090301, 090100, 090600, 090101);
      Коллекция.Значение("КодЗаписи") := getLimitStr(данныеПредАлгоритмов, "ChildId");
      данныеПредАлгоритмов.Фильтр := "";
      если Коллекция.Значение("КодЗаписи") = "" тогда
        Коллекция.Значение("КодЗаписи") := "-1";
    неудача
      ВызватьОшибку("ЗапросыДоходы: не получилось выбрать данные доходов по возврату:" + последняяОшибка);
    конец;
  конец;
     
  // формируем примечание для бухгалтерии
  если Коллекция.Values("БухПримечаниеБлокаДоходов")&lt;&gt;"" тогда   
    БухПримечаниеБлока := "'"+Коллекция.Values("БухПримечаниеБлокаДоходов")+"'"
  иначе БухПримечаниеБлока := "'Поступление (возврат) доходов'";                       
  // формирует параметры запроса для классификаторов
  МаппингДоходы := МаппингДоходы1+МаппингДоходы2+МаппингДоходы3;
  // дополнительные ограничения по заголовку
  МаппингДоходы := МаппингДоходы+',ВидОперации=q.TypeOperationCls%d'; 
  ОгрПоКлассификации := Ограничение(МаппингДоходы, Коллекция);
  // Маппинг ограничения для внутренних перебросок
  если (Коллекция.Значение('ВнутренниеОперации') = 1) или (Коллекция.Значение("НевыясненныеДоходы") = 1) тогда
  начало
    ОграниченияСНа  := "СКодаДохода=kd_o.KDValue%l,СРайона=inc.regioncls,СЛицСчета=inc.FacialAcc_Cls%d,ССубКодаДохода=inc.subkd,СКодаЦелевыхСредств=tc_o.Code%d," +
      "НаКодДохода=kd_o1.KDValue%l,НаРайон=i1.regioncls,НаЛицСчет=i1.FacialAcc_Cls%d,НаСубКодДохода=i1.subkd,НаКодЦелевыхСредств=tc_o1.Code%d";
    ОгрПоКлассификации := ОгрПоКлассификации + Ограничение(ОграниченияСНа,Коллекция);
  конец;
    
  ОгрДоходы := ОбщиеОграниченияДоходов(Коллекция);

  //Видимо, устаревший параметр, оставлен для совместимости. !!! Лучше его не использовать !!!
  если Коллекция.Значение("ОграничитьПоОргГРКЛС") = 1 тогда 
    //ограничиваем по организации - распорядителю л/с
    ОгрПоОрганизации := Ограничение('ОргСсылка=(f.GeneralOrg_Ref%d)and(inc.facialacc_cls&lt;&gt;0)',Коллекция);

  ОрганизацияЛС := ПолучитьПолеОрганизацияЛС(Коллекция);
  если Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") тогда
  начало
    ОгрПоОрганизации := Ограничение("ОргСсылка=(f." + ОрганизацияЛС + "%d)and(inc.facialacc_cls&lt;&gt;0)",Коллекция);
    если Коллекция.Values("ОрганизацияЛС") = 2 тогда
      ТаблицаОрг := "org_GRBS" //по ГРБС лс
    иначе
      ТаблицаОрг := "org"; //по владельцу лс
  конец
  иначе
    начало
      ОгрПоБюджОрг := Ограничение("БюджОргСсылка=f." + ОрганизацияЛС + "%d",Коллекция);
      ОгрПоОрганизации := Ограничение('ОргСсылка=inc.Org_Ref%d',Коллекция);
      ТаблицаОрг := 'o'; //ссылка через поле inc.Org_Ref
    конец;
  ОгрПоВидуОрг := Ограничение('ВидОрганизаций='+ТаблицаОрг+'.Org_Type%d', коллекция);
  // Ограничение по индексу данных
  ОгрПоИндДанных := Ограничение('ИндексыДанных=inc.ProgIndex%d',Коллекция);
  Если Коллекция.Значение('ЗаголовокМожноНеУчитывать')
    тогда ОгрПоИндДанныхЗаголовок:=Ограничение('ИндексыДанныхЗаголовок=(q.progindex is null)or (q.ProgIndex%d)',Коллекция)
    иначе ОгрПоИндДанныхЗаголовок:=Ограничение('ИндексыДанныхЗаголовок=q.ProgIndex%d',Коллекция);
  // формируем ограничение по сервисным л/с, смотрим значения параметров: ЛицСчет, ОргЛС и БюджОргЛС
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
//    если (Коллекция.Values("ПечатныйДокумент") = да) или
//      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) или
//      ((Коллекция.Values("ОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("ОргЛС"))) или
//      ((Коллекция.Values("БюджОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("БюджОргЛС"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
       
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;
  // формируем ограничение по лицевым счетам организаций
  ОгрПоЛицСчету := СформироватьОгрПоНаборуМаппингов(Коллекция, "ОргЛС=inc.facialacc_cls%d,БюджОргЛС=inc.facialacc_cls%d", "");

  ПолеКредита       := 'inc.credit';
  ПолеДебета        := 'inc.debit';
  ПолеРСФО          := 'inc.IncAccount';
  ПолеСчетПолуч     := 'inc.IncAccount IncAccountDest';
  ПолеПримечания    := 'inc.Note, inc.Note DetailNote'; //DetailNote добавлено для выбора примечания из детали казначейства через доходы
  ПолеНазначения    := "inc.NoteEx";
  ПолеДаты          := 'inc.IDate';

  ПолеДатыВвода := " q.BuildDate ";
    
  СоединениеСВнутреннимиОперациями := '';
  Если Коллекция.Значение('ВнутренниеОперации')=1
    тогда начало
      ПолеКредита       := 'i1.credit';
      ПолеДебета        := 'i1.debit';
      ПолеРСФО          := 'i1.IncAccount';
      ПолеСчетПолуч     := 'i1.IncAccount IncAccountDest';
      ПолеПримечания    := 'i1.Note, i1.Note DetailNote'; //DetailNote добавлено для выбора примечания из детали казначейства через доходы
      ПолеНазначения    := "i1.NoteEx";
      ПолеДаты          := 'i1.IDate';
      ПолеМероприятие   := 'Inc.Fact FactTo, i1.Fact FactFrom,';
      СоединениеСВнутреннимиОперациями := "  inner join Incomes32 i1 on (inc.RecordIndex = i1.id)"+nl+
        "  inner join kd kd_o1 on (i1.kd = kd_o1.id)"+nl+
        "  left join TransfertCls tc_o1 on (i1.TransfertCls = tc_o1.id)"+nl;
    конец;  

  Если Коллекция.Значение("НевыясненныеДоходы") = 1 тогда
  начало
    ПолеДатыВвода := " i1.IDate BuildDate ";
    СоединениеСВнутреннимиОперациями := "  inner join Incomes32 i1 on (inc.RecordIndex = i1.id)"+nl+
      "  inner join kd kd_o1 on (i1.kd = kd_o1.id)"+nl+
      "  left join TransfertCls tc_o1 on (i1.TransfertCls = tc_o1.id)"+nl;  
  конец;

  // Ограничения по суммам
  ОгрПоКредиту := Ограничение("Кредит="+ПолеКредита+"%f", Коллекция);
  ОгрПоДебиту  := Ограничение("Дебет="+ПолеДебета+"%f", Коллекция);

  // ограничения по федеральным средствам
  Если (Коллекция.Значение("ДанныеТолькоФедеральныхРеестров") = 1)
    тогда ОграничитьПоФедеральнымСредствам := 'and ( not (inc.FEDERALFUNDSREF is null)) '
    иначе ОграничитьПоФедеральнымСредствам := ''; 
  ОграничитьПоФедеральнымСредствам := ОграничитьПоФедеральнымСредствам + 
    Ограничение('ФедеральныеСредства=inc.FEDERALFUNDSREF,НомерФедРеестра=q.REESTRNUMBER%s,КФСР=inc.KFSR,КЭСР=inc.KESR,КВР=tKvr.Code%k,КЦСР=tKcsr.Code%k', Коллекция);   

  ОгрПоБюджетуТаблСчетовДепартамента := Ограничение('Бюджет=dfbt.BudgetRef%d',Коллекция);

  // ограничение по правам на бюджетную классификцию
  ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКИст,Коллекция,' or((inc.CLSType=1)and(%s))');
  ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКДох,Коллекция,' or((inc.CLSType=2)and(%s))');
  Если (ОгрПрава_БКИст+ОгрПрава_БКДох)&lt;&gt;"" тогда 
    ОгрПрава := ' and((1=0)'+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
  иначе 
    ОгрПрава := ''; 


  ОгрПоПустымБухСчетам := '';
  // Ограничение по синтетическим счетам
  если Коллекция.values("НеВключатьПустыеБухСчета")=да тогда 
   ОгрПоПустымБухСчетам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) ";// для 70Н

  Если Коллекция.Values('ПолучитьКорреспондирующийКод')=1
    тогда начало 
      ПолеКодДоходаКор :=  ',Kd_caption.KDValue CorKD,Inc_Caption.MeansType MeansTypeAcceptor';      
      СоединениеСЗаголовком := 'left join Incomes32 Inc_Caption on (Inc_Caption.id = inc.RecordIndex)' + nl +
                               'left join kd kd_Caption on (kd_Caption.Id = Inc_Caption.Kd)          ';
    конец   
    иначе начало 
      СоединениеСЗаголовком := '';
      ПолеКодДоходаКор := ',cast( NULL as varChar(20)) CorKD,cast (0 as integer) MeansTypeAcceptor';
    конец;  

  ОгрПоПричинеОтклон := Ограничение('ПричинаОтклон=inc.RejectCLS',Коллекция) + Ограничение('ПричинаОтклон=q.RejectCLS',Коллекция);
  
  // Ограничение по кассовым расходам с передвижками (счет 402.хх.хх)
  // получаем список бух.операций
  ОгрПоКасРасхСПередвижками := "";
  СписокБухОпераций := "";
  если УбратьПробелы(Коллекция.Values("КассовыеРасходыСПередвижками")) &lt;&gt; "" тогда
  начало
    СписокБухОпераций := ПолучитьБухОперацииКассовыхРасходов(0,1);
    если СписокБухОпераций&lt;&gt;""
      тогда СписокБухОпераций := СписокБухОпераций + "," + ПолучитьБухОперацииКассовыхРасходов(1,1)
      иначе СписокБухОпераций := ПолучитьБухОперацииКассовыхРасходов(1,1);
    если СписокБухОпераций &lt;&gt; "" тогда
    начало
      ОгрПоКасРасхСПередвижками := "((inc.BuhOperationCLS in ("+СписокБухОпераций+")) or (i38.BuhOperationCLS in ("+СписокБухОпераций+")))";
      если Коллекция.Values("КассовыеРасходыСПередвижками") = Да тогда  
        ОгрПоКасРасхСПередвижками := " and " + ОгрПоКасРасхСПередвижками
      иначе
        ОгрПоКасРасхСПередвижками := " and not" + ОгрПоКасРасхСПередвижками;
      СоединВнутрДляОгрПоБухОпер := " left join incomes32 i38 on ((i38.id=inc.recordindex) and (inc.progindex=38)) " + nl;
    конец;
  конец;

  //возможность исключать документы, у которых родительскими являются уведомления об уточнении платежа
  если Коллекция.Значение("НеУчитыватьУведомленияОбУточнении") = 1 тогда
  начало
    Фильтр := CreateVariables;
    LinkInfo := CreateComObject(TLinkInfo2);
    попытка
      СоединитьИнтерфейс(LinkInfo);
      Фильтр.Значение("ParentDocCls") := '550101,550201';
      ТипыСвязей := LinkInfo.GetLinkTypes(Фильтр);
      ТипСвязи := GetLimitStr(ТипыСвязей, "ID");
      если ТипСвязи &lt;&gt; '' тогда
        Коллекция.Значение("ТипВходящейСвязи") := "#" + ТипСвязи;
    обязательно
      ЗакрытьИнтерфейс(LinkInfo);
      УдалитьОбъект(LinkInfo);
    конец;
  конец;  

  ОгрПоСвязям := "";
  ОгрПоВходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  ОгрПоИсходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);
  ОгрПоВходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrc_inc", "ТипВходящейСвязи", ОгрПоСвязям);
  ОгрПоИсходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrp_inc", "ТипИсходящейСвязи", ОгрПоСвязям);
  
  // ограничение по району БУ отдельно, т.к. используется не во всех запросах доходов
  ОгрПоРайонуБУ := Ограничение("РайонБУ=org.RegionCLS%d", Коллекция);        
  
  // настраиваем запрос
  запрос := 
      "select  "+nl+
      " q.ProgIndex ProgIndexTitle, q.DocStateRef, " + ПолеДатыВвода + ", q.ReestrNumber, q.DocNumber, inc.Fact, q.id IDMaster, q.ReestrDate," + nl +
      " q.RejectCLS, q.RejectCause, q.FacialAccCLS, q.DepartmentCls, q.SenderID TitleSenderId, q.SenderRecordID TitleSenderRecordID, q.id TitleFUID," + nl +  
      " inc.id,inc.SubKD,inc.DocType,inc.AccountIndex,inc.RecordDate, Cast(0 as Float) ODate," + nl +
      " inc.RegionCls,inc.GosNI,inc.Org_Ref,inc.IDate AcceptDate,inc.TotalRef,inc.FAOrgType,inc.DocBase," + nl +
      " inc.DocNum DocumentNumber," + nl +
       ПолеКредита+','+ Коллекция.Значение("ЗнакВозврата") + ПолеДебета+' debit,'+ПолеРСФО+','+ПолеСчетПолуч+','+ ПолеПримечания +','+ ПолеНазначения +','+ ПолеДаты+','+nl+
      " Cur.CurrencyIndex Currency, Cur.CurrencyValue CURSUM,"+nl+ // Код валюты и сумма в валюте 
      "(" + ПолеКредита + "-" + ПолеДебета + ") Summa, inc.ProgIndex,CAST("+БухПримечаниеБлока+" AS Varchar(255)) BuhNote,"+nl+
      " inc.CreaterUser,inc.UpdaterUser,inc.BudgetRef,inc.CreateDate,inc.UpdateDate"+nl+
      " ,inc.IncAccount Acc1, inc.IncAccount Acc2,inc.AccountRef, 0 IncomesIndex,"+nl+
      " inc.IncAccount AccDebit, inc.AccountRef AccCredit, inc.RecordIndex RecordIndexID, Cast(9 as integer) AlgIndex," + nl +
      " inc.taxnote, inc.KFSR, inc.KESR, inc.BuhPaymentCLS, inc.meanstype, inc.facialacc_cls, cast(0 as integer) FacialAcc_Cls_det," + nl +
      " inc.KVSR KVSRID, tKvsr.Code KVSR, inc.KCSR KCSRID, tKcsr.Code KCSR, inc.KVR KVRID, tKvr.Code KVR, inc.nds," + nl +
      " kd_o1.KDValue kdto,i1.regioncls regionclsto,i1.FacialAcc_Cls FacialAcc_Clsto,i1.subkd subkdto,"+nl+
      " kd_o.KDValue KD, inc.kd KDID, cast (pd.NUMBER  as varchar(50)) PDDocNumber, q.TypeOperationCls, " + nl +
      " inc.IFS IncIFS_Ref, ifs_t.FinSourceValue IncIFSValue, tc_o1.Code TransfertClsTo, tc_o.Code TransfertCls, inc.TransfertCls TransfertClsID," + nl +
      " inc.SenderID IncSenderID, inc.SenderRecordID IncSenderRecordID, inc.id IncFUID,inc.FundsSource,inc.DirectionCls, " + nl +
      " mt.ActivityKind, mt.ActivityKind CorrActivityKind, inc.SubsidyCls, sc.Code SubsidyClsCode," + nl +
      //поля электронного обмена
      " bm.ELNUM, bm.LSKL ELSourceAccount,  bm.INNMFKB ELSourceOrgINN, bm.KPPA ELSourceOrgKPP, bm.PayerName ELSourceOrgName, " + nl +
      " bm.MFKB ELSourceBankBIK, bm.INNMF ELDestOrgINN, bm.KPPB ELDestOrgKPP, bm.NAMKOR ELDestOrgName, bm.Su ELSumma, " + nl +
      " bm.Note ELNote, bm.SSTATUS, bm.CODOKATO ELOKATO, bm.NALPER ELNALPeriod, bm.NDNAL ELNALDocNumber, bm.NALPLAT ELNALBasePay, " + nl +
      " bm.DDNAL ELNALDocDate, bm.TYPNAL ELNALType, bm.CODBCLAS ELBK, bm.LSKOR ELDestAccount, bm.KD ELKD, bm.Aprior ELPriority, " + nl +
      " bm.KRKB ELSourceBankCor, bm.MFKBFIL ELSourceBankKPP, bm.SourceFilialBankName ELSouceBankFilialName, bm.SourceBankName ELSourceBankName," + nl +
      " bm.MF ELDestBankBIK, bm.KR ELDestBankCor, bm.MFFIL ELDestBankKPP, bm.DestFilialBankName ELDestBankFilialName, bm.DestBankName ELDestBankName," + nl +
      " bm.TaxNote ELTaxNote, bm.SourceFacialCode ELSourceFacialCode, bm.DestFacialCode ELDestFacialCode, bm.DD ELDocDate, " + nl +
      " bm.VO ELTypeOperation, bm.ND ELDocNumber, " + nl +
      " inc.RegionCls RegionDetail, o.RegionCls RegionContractor, org.RegionCLS RegionBudgetEst, " + nl +
      // поля блокировок 
      " inc.IsBlocked, inc.BlockedCause, inc.UnBlockedDate, inc.UnblockedCause," + nl + 
      // Общероссийский классификатор административно-территориальных отделений 
      " inc.OKATO, inc.ADDOKATO," + ПолеМероприятие + nl +
      // данные федеральных средств
      " inc.FEDERALFUNDSREF FederalData," + nl +
      // поля для определения 20-значной БК
      " cast(0 as varchar(20)) BudClS, inc.ClsType, inc.ClsType DestClsType, inc.ClsType SourceClsType, org_GRBS.id Org_RefGRBS_Det, " + nl +
      // поля для инструкции 70н
      " inc.BuhOperationCLS, 0 siBuhOperationCLS, inc.IFS_CORR, DFifs.FinSourceValue DFIFSValue, dfbt.IFS DFBTIFS_Ref," + nl +      
      " dfbtBAP.BuhAcc DFBuhAccFO, bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind,"+ nl +      
      " bac.correctionflag, bac.HeadActivityKind, bac.ActivityKind AccountActivityKind," + nl + 
      "Inc.MeansType MeansTypePayer, " + nl +     
      "CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," + nl +
      "CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
      " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
      " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," + nl +                                                           
      " ifscor_t.FinSourceValue IFSValue_Corr,"+ nl +
      " bac.BalanceCls "+ПолеКодДоходаКор + "," + nl +
      // Несуществующие поля
      "cast(null as Integer) DocSuspended," + nl+
      "cast(null as Integer) IsInBudget," + nl+
      "cast(null as Integer) IsVised," + nl+
      "cast(null as Integer) BeginDocStateRef," + nl+
      "cast(null as integer) PayPriority," + nl +
      "cast(null as integer) Cor," + nl +
      "cast(null as Real) PayDate," + nl +
      "lrp.ID OutLinkCpt, lrc.ID InLinkCpt, lrc.LinkTypeRef InLinkTypeCpt, lrp.LinkTypeRef OutLinkTypeCpt," + nl +
      "lrp_inc.ID OutLink, lrc_inc.ID InLink, lrc_inc.LinkTypeRef InLinkType, " + nl + "lrp_inc.LinkTypeRef OutLinkType " + nl +
      ",lrp_inc.ChildId, lrp_inc_lt.ChildDocCls, lrp_inc_lt.ParentDocCls "  + nl +                                
     "from "+nl+
     " Incomes32 inc"+nl+
     СоединениеСВнутреннимиОперациями+     
     " left join quotestitle q on (inc.recordindex=q.id) "+nl+
     СоединВнутрДляОгрПоБухОпер +
     " left join dfAccountsBuhTable dfbt on ((dfbt.id=inc.IncAccount)"+ОгрПоБюджетуТаблСчетовДепартамента+")"+nl+
     " left join BuhAccPlan dfbtBAP on (dfbtBAP.ID = dfbt.FinOrgAccRef)" + nl +   
     " left join CURRENCYINCOMES CUR on (inc.id=CUR.id)"+nl+
     " left join FacialAcc_Cls f on (inc.FacialAcc_Cls = f.Id)"+nl+
     " left join Org_Accounts fccoa on (fccoa.id = f.FCAccount)"+nl+
     " left join Organizations org on (org.id = f.Org_Ref)" + nl +
     " left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)"+ nl +
     " left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)"+ nl + 
     " left join BankExch_Merdoc bm on (inc.eldocref = bm.id)"+nl+     
     " left join Org_Accounts oa on (inc.IncAccount = oa.Id)"+nl+     
     " left join RegionCLS rc on (oa.Org_ref = rc.ORGANIZATIONS)"+nl+     
     " left join BudgetType bt on (rc.BudgetType = bt.id)"+nl+
     " left join KD kd_o on (inc.kd = kd_o.id)"+nl+   
     " left join KVSR tKvsrKD on (tKvsrKD.id = kd_o.KVSR)" +nl+
     " left join TransfertCls tc_o on (inc.TransfertCls = tc_o.id)"+nl+ 
     " left join SubsidyCls sc on (inc.SubsidyCls = sc.id)"+nl+    
     " left join KVSR tKvsr on (tKvsr.id = inc.KVSR)" + nl +
     " left join KVR tKvr on (tKvr.id = inc.KVR)" + nl +
     " left join KCSR tKcsr on (tKcsr.id = inc.KCSR)" + nl +
     " left join Organizations o on (inc.Org_Ref = o.id)"+nl+
     " left join PayDoc32 pd on ((pd.RecordIndex = Inc.ID)and(pd.IsDivide is null)) " +nl+
      // таблицы для инструкции 70н
     " left join BuhAccCorr bac on (bac.BuhOperationCLS = inc.BuhOperationCLS)" + nl +
     " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
     " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
     " left join BuhOperationCLS boCLS on (boCLS.id = inc.BuhOperationCLS)" + nl +    
     //
     " left join MeansType mt on (mt.ID = inc.MeansType) " + nl +
     " left join InnerFinSource ifscor_t on (ifscor_t.ID = inc.IFS_CORR)" + nl +
     " left join InnerFinSource ifs_t on (ifs_t.ID = inc.IFS)" + nl +
     " left join KVSR tKvsrIFS on (tKvsrIFS.id = ifs_t.KVSR)" +nl+
     " left join InnerFinSource DFifs on (DFIFS.ID = dfbt.IFS)" + nl +
     " left join LinkRecords lrp on ((lrp.ParentID = q.id)" + ОгрПоИсходящимСвязямЗаголовка + ")" + nl +
     " left join LinkRecords lrc on ((lrc.ChildID = q.id)" + ОгрПоВходящимСвязямЗаголовка + ")" + nl +
     " left join LinkRecords lrp_inc on ((lrp_inc.ParentID = inc.id)" + ОгрПоИсходящимСвязям + ")" + nl +
     " left join LinkRecords lrc_inc on ((lrc_inc.ChildID = inc.id)" + ОгрПоВходящимСвязям + ")" + nl +
     " left join LInkType lrp_inc_lt on (lrp_inc_lt.id = lrp_inc.LinkTypeRef)" + nl +
     " left join LinkType lrc_inc_lt on (lrc_inc_lt.Id = lrc_inc.LinkTypeRef)" + nl +
     " left join correctiondetail cor_d ON
       (
         (cor_d.id =  lrp_inc.childid) and
          (exists
            (select
              cor_capt.id
             from
               correctioncaption cor_capt
             where
               (cor_capt.reject_cls is null) and (cor_capt.id = cor_d.recordIndex) ))
          )" + nl + 
     " left join CorrectionCaption cor_c ON (cor_c.id =  cor_d.recordindex)" + nl + 
     " left join correctionCaption cor_c_lrc on (cor_c_lrc.id = lrc_inc.ParentId)" + nl +     
     
     СоединениеСЗаголовком +nl+ 
     " where "+nl+ 
     " (1=1)"+nl+
     ОгрПоДате+nl+
     ОгрПоСервиснымСчетам+nl+
     ОгрПоОрганизации+nl+
     ОгрПоВидуОрг+nl+
     ОгрПоКлассификации+nl+
     ОгрПоЛицСчету + nl +
     ОгрПоИндДанных+nl+
     ОгрПоИндДанныхЗаголовок+nl+
     ОгрПоКредиту+nl+
     ОгрПоДебиту+nl+     
     ОгрДоходы+nl+
     ОграничитьПоФедеральнымСредствам + 
     ОгрПоПустымБухСчетам + ОгрПоБюджОрг +
     ОгрПоПричинеОтклон + nl +
     ОгрПоКасРасхСПередвижками + nl +
     ОгрПоРайонуБУ + nl +      
     ОгрПоСвязям + nl + ОгрПрава + nl;

  если Коллекция.Values("ПоляВыборки")&lt;&gt;"" тогда
  Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки") + ',' +   
      ДополнитьПоляВыборки("Credit,Debit,Summa", Коллекция.Values(кПарамГруппироватьНаСервере)), '@');
  результат := "{/*"+Комментарий+"*/"+nl+запрос+"}"; 
конец;

// функция формирования запроса получения перераспределения доходов
функция ЗапросПерераспределениеДоходов(Коллекция:IVariables): строка;
переменные
  запрос, Комментарий, МаппингДоходы: строка;
  ОгрДоходы, ОгрПоДате: строка;
  ОгрПоКлассификации,ОгрПоБюджетуТаблСчетовДепартамента, ОгрПоПустымБухСчетам:строка;
  Соединение, ДопПоля:строка;
  ПолеМастерИД, ПолеДетальИд, ОгрПоПричинеОтклонен : строка; 
  ОгрПрава_БКИст,ОгрПрава_БКДох,ОгрПрава:строка;
  ОгрПоВходящимСвязям, ОгрПоИсходящимСвязям, ОгрПоВходящимСвязямЗаголовка, ОгрПоИсходящимСвязямЗаголовка, ОгрПоСвязям: строка;
  ОгрПоРайонуБУ: строка;  
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос доходы. Перераспределение доходов.");

  ОгрДоходы := ОбщиеОграниченияДоходов(Коллекция);
  ОгрПоДате := "";
  ОгрПоПричинеОтклонен := '';

  МаппингДоходы := 'ОргСсылка=inc.Org_Ref%d,НомерДок=inc.docnum,КодДохода=((kd_o.KDValue%l)or(kd_o2.KDVAlue%l)),' +
    'ЛицСчет=(inc.facialacc_cls%d)or(i2.facialacc_cls%d),ТипСредствБюдж=((inc.meanstype%d)or(i2.meanstype%d)),' +
    'СубКодДохода=inc.SubKD%d,Район=inc.RegionCLS%d,Валюта=Cur.CurrencyIndex,БухОперация=inc.BuhOperationCLS%d,' +
    'СМероприятия=(i2.Fact%d),НаМероприятие=(Inc.Fact%d),ВидОрганизаций=o.Org_Type%d,';

  // формируем ограничение по датам
  если УбратьПробелы(Коллекция.Values("НачальнаяДата")) = "" тогда
    Коллекция.Values("НачальнаяДата") := 0;
  если УбратьПробелы(Коллекция.Values("КонечнаяДата")) = "" или УбратьПробелы(Коллекция.Values("КонечнаяДата")) = "-1" тогда
    Коллекция.Values("КонечнаяДата") := 99999999;
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПоступленияНевыясненныхТип=inc.IDate,ДатаСписанияНевыясненныхТип=i2.IDate', Коллекция, 'inc.IDate');
  если Коллекция.Значение('ДатаПоступленияИСписанияНевыясненныхТипЧек') тогда 
     ОгрПоДате := ' and (((1=1)' + ПолучитьОграничениеПоТипуДаты('ДатаПоступленияИСписанияНевыясненныхТип=inc.Idate', Коллекция, 'inc.IDate') +
     ')or((1=1)' + ПолучитьОграничениеПоТипуДаты('ДатаПоступленияИСписанияНевыясненныхТип=i2.Idate', Коллекция, 'inc.IDate') + "))";
     
  ОгрПоБюджетуТаблСчетовДепартамента := Ограничение('Бюджет=dfbt.BudgetRef%d',Коллекция);
  ДопПоля := "";
  Если Коллекция.Values('Соединение')=''
   тогда начало
     Соединение := 'left join incomes32 i2 on (inc.id=i2.recordindex)';
     ОгрПоПричинеОтклонен := ' and  (i2.RejectCLS is null) ';
     //ДопПоля := ",kd_02.KDValue CorKd";                  
   конец
   иначе Соединение:=Коллекция.Values('Соединение');
  
  ОгрПоКлассификации := Ограничение(МаппингДоходы,Коллекция);

  // ограничение по правам на бюджетную классификцию
  ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваПерераспр_БКИст,Коллекция,' or((inc.CLSType=1)and(%s))');
  ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваПерераспр_БКДох,Коллекция,' or((inc.CLSType=2)and(%s))');
  Если (ОгрПрава_БКИст+ОгрПрава_БКДох)&lt;&gt;"" тогда 
    ОгрПрава := ' and((1=0)'+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
  иначе 
    ОгрПрава := ''; 
 
  ОгрПоПустымБухСчетам := '';
  // Ограничение по синтетическим счетам
  если Коллекция.values("НеВключатьПустыеБухСчета")=да тогда 
    ОгрПоПустымБухСчетам:= "and (DebitAP.id is not null) and (CreditAP.id is not null)";// для 70Н

  // подменяем ид (только для бухгалтерии)
  Если Коллекция.Values("ИдИзМастера")=1 тогда начало
    ПолеМастерИД :="Id";
    ПолеДетальИд :="IdMaster";     
  конец
  иначе начало
    ПолеМастерИд :="IdMaster"; 
    ПолеДетальИд :="ID"; 
  конец; 
  
  ОгрПоСвязям := "";
  ОгрПоВходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrc_inc", "ТипВходящейСвязи", ОгрПоСвязям);
  ОгрПоИсходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrp_inc", "ТипИсходящейСвязи", ОгрПоСвязям);  
  
  // ограничение по району БУ отдельно, т.к. используется не во всех запросах доходов
  ОгрПоРайонуБУ := Ограничение("РайонБУ=org.RegionCLS%d", Коллекция);        

  // Формируем запрос                             
  запрос := 
    "Select " + nl +
    " inc.id " + ПолеМастерИД + ",inc.IDate BuildDate,inc.IDate,inc.RecordDate, Cast(0 as Float) ODate,inc.Debit,inc.Credit," + nl +
    " inc.RegionCLS, inc.RegionCLS RegionDetail, inc.RegionCLS RegionContractor, org.RegionCLS RegionBudgetEst, inc.FAOrgType, inc.docbase," + nl +
    " Cast(0 as float) Summa,(inc.Credit-inc.Debit) SummaVO, inc.AccountIndex,inc.GosNI,inc.Org_Ref, inc.Fact," + nl +
    " inc.IncAccount,inc.IncAccount IncAccountDest,kd_o.KDValue KD,tc_o.Code TransfertCls,inc.SubKD,inc.DocType, inc.BudgetRef," + nl +
    " inc.DocNum DocumentNumber,inc.ProgIndex,inc.Note,inc.NoteEx,CAST('Внутренняя проводка' AS Varchar(255)) BuhNote," + nl +
    " Cast(9 as integer) AlgIndex,inc.CreateDate,inc.UpdateDate, inc.CreaterUser,inc.UpdaterUser, inc.kd KDID," + nl +
    " inc.IncAccount Acc1, inc.IncAccount Acc2,inc.AccountRef, 1 IncomesIndex,inc.idate AcceptDate, inc.FacialAcc_Cls, inc.IncAccount AccCredit," + nl +
    " inc.KVSR KVSRID, tKvsr.Code KVSR, inc.KVR KVRID, tKvr.Code KVR, inc.KCSR KCSRID, tKcsr.Code KCSR, inc.KESR, inc.KFSR, inc.nds," + nl +
    " inc.RecordIndex RecordIndexID, i2.id " + ПолеДетальИд + ", i2.AccountRef AccountRefDetail, i2.DocNum DocumentNumberDetail, i2.IncAccount AccDebit," + nl +
    " i2.Credit DetCredit,i2.Debit DetDebit,i2.org_ref orgFrom,(i2.credit-i2.debit) SummaDet,i2.Note NoteDetal,i2.idate dateReturn," + nl +
    " i2.SubKD SubKDDet,i2.DocType DocTypeDet, kd_o2.KDValue CorKd,i2.FacialAcc_Cls FacialAcc_Cls_Det,inc.DirectionCls," + nl +
    " mt.ActivityKind, mt2.ActivityKind CorrActivityKind, inc.SubsidyCls, sc.Code SubsidyClsCode," + nl +
     // поля для инструкции 70н
    " inc.BuhOperationCLS, 0 siBuhOperationCLS, inc.IFS_CORR, DFifs.FinSourceValue DFIFSValue, dfbt.IFS DFBTIFS_Ref," + nl +                
    " dfbtBAP.BuhAcc DFBuhAccFO, bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, bac.correctionflag," + nl +
    " bac.HeadActivityKind, bac.ActivityKind AccountActivityKind," + nl + 
    " inc.MeansType MeansTypeAcceptor, i2.MeansType MeansTypePayer, " + nl +      
    " CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," + nl +
    " CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
    " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
    " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," + nl +                                                             
    " inc.IFS IncIFS_Ref, ifs_t.FinSourceValue IncIFSValue, " + nl +
     // поля для определения 20-значной БК
    " cast(0 as varchar(20)) BudClS, inc.ClsType, inc.ClsType DestClsType, inc.ClsType SourceClsType, " + nl +
    " ifscor_t.FinSourceValue IFSValue_Corr, bac.BalanceCls, inc.MeansType," + nl +
    " Inc.Fact FactTo, i2.Fact FactFrom, " + nl +
    " lrp.ID OutLinkCpt, lrc.ID InLinkCpt, lrc.LinkTypeRef InLinkTypeCpt, lrp.LinkTypeRef OutLinkTypeCpt," + nl +
    " lrp_inc.ID OutLink, lrc_inc.ID InLink, lrc_inc.LinkTypeRef InLinkType, " + nl + "lrp_inc.LinkTypeRef OutLinkType " + nl +  
    "from " + nl +
    " Incomes32 inc" + nl +
    соединение + nl +
    " left join CURRENCYINCOMES CUR on (inc.id=CUR.id)"+nl+
    " left join dfAccountsBuhTable dfbt on ((inc.IncAccount = dfbt.id)"+ОгрПоБюджетуТаблСчетовДепартамента+")"+nl+
    " left join BuhAccPlan dfbtBAP on (dfbtBAP.ID = dfbt.FinOrgAccRef)" + nl +   
    " left join KD kd_o on (inc.kd = kd_o.id)"+nl+
    " left join KVSR tKvsrKD on (tKvsrKD.id = kd_o.KVSR)" +nl+
    " left join TransfertCls tc_o on (inc.TransfertCls = tc_o.id)"+nl+ 
    " left join SubsidyCls sc on (inc.SubsidyCls = sc.id)"+nl+
    " left join Organizations o on (inc.Org_Ref = o.id)" + nl + 
    " left join kd kd_o2 on (i2.kd=kd_o2.id)" + nl +
    " left join KVSR tKvsrKD2 on (tKvsrKD2.id = kd_o2.KVSR)" +nl+
    " left join BuhAccCorr bac on (bac.BuhOperationCLS = inc.BuhOperationCLS)" + nl +
    " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
    " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
    " left join BuhOperationCLS boCLS on (boCLS.id = inc.BuhOperationCLS)" + nl +    
    " left join MeansType mt on (mt.ID = inc.MeansType) " + nl +
    " left join MeansType mt2 on (mt2.ID = i2.MeansType) " + nl +
    " left join InnerFinSource ifscor_t on (ifscor_t.ID = inc.IFS_CORR)" + nl +
    " left join InnerFinSource ifs_t on (ifs_t.ID = inc.IFS)" + nl +
    " left join KVSR tKvsrIFS on (tKvsrIFS.id = ifs_t.KVSR)" +nl+
    " left join InnerFinSource DFifs on (DFIFS.ID = dfbt.IFS)" + nl +
    " left join FacialAcc_Cls f on (inc.FacialAcc_Cls = f.Id)" + nl +
    " left join Organizations org on (org.id = f.Org_Ref)" + nl +
    " left join KVSR tKvsr on (tKvsr.id = inc.KVSR)" + nl +
    " left join KVR tKvr on (tKvr.id = inc.KVR)" + nl +
    " left join KCSR tKcsr on (tKcsr.id = inc.KCSR)" + nl +
    " left join LinkRecords lrp on ((lrp.ParentID = inc.id)" + ОгрПоИсходящимСвязямЗаголовка + ")" + nl +
    " left join LinkRecords lrc on ((lrc.ChildID = inc.id)" + ОгрПоВходящимСвязямЗаголовка + ")" + nl +               
    " left join LinkRecords lrp_inc on ((lrp_inc.ParentID = i2.id)" + ОгрПоИсходящимСвязям + ")" + nl +
    " left join LinkRecords lrc_inc on ((lrc_inc.ChildID = i2.id)" + ОгрПоВходящимСвязям + ")" + nl +
    "where " + nl +
    "(1=1)" + nl +
    ОгрДоходы + nl +
    ОгрПоДате + nl +
    ОгрПоКлассификации + nl +
    ОгрПоПустымБухСчетам + nl +
    ОгрПоПричинеОтклонен + nl +
    ОгрПрава + nl +
    ОгрПоРайонуБУ;
            
  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);          
конец;

// функция формирования запроса получения сумм в пути
функция ЗапросСуммыВПути(Коллекция:IVariables): строка;
переменные
  запрос, Комментарий, МаппингДоходы: строка;
  ОгрДоходы, ОгрПоКлассификации, ОгрПоДате, ОгрПоБюджетуТаблСчетовДепартамента, ОгрПоПустымБухСчетам: строка;
  ТаблицаКорреспонденции70н,ПолеДатыПроведения : строка;
  ОгрПрава_БКИст,ОгрПрава_БКДох,ОгрПрава:строка;
  ОгрПоВидуОрг: строка; 
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос доходы. Суммы в пути.");

  ОгрДоходы := ОбщиеОграниченияДоходов(Коллекция);
  
  // формируем ограничение по дате
  если УбратьПробелы(Коллекция.Values("НачальнаяДата")) = "" 
    тогда  Коллекция.Values("НачальнаяДата") := 0;
      
  если УбратьПробелы(Коллекция.Values("КонечнаяДата")) = "" 
    тогда  Коллекция.Values("КонечнаяДата") := 99999999;
         
  // формирует параметры запроса для классификаторов
  МаппингДоходы := МаппингДоходы1+МаппингДоходы2;
  
  ОгрПоБюджетуТаблСчетовДепартамента := Ограничение('Бюджет=dfbt.BudgetRef%d',Коллекция);

  // настраиваем запрос под инструкцию 70н
  ОгрПоПустымБухСчетам := '';
  если Коллекция.Значение("ПроводкиПоступленияСуммВПути")=да тогда
    начало // получаем проводки поступления на счет
      ПолеДатыПроведения := ' si.ODate acceptDate, si.BuhOperationCLS BuhOperationCLS, 0 siBuhOperationCLS,444 ProgIndex,';
      ТаблицаКорреспонденции70н :=  "  left join BuhAccCorr bac on (bac.BuhOperationCLS = si.BuhOperationCLS)" + nl;
      ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаПринятияТип",Коллекция,"(si.ODate%d)");
    
      ОгрПоКлассификации := Ограничение(ЗаменитьСтроку(МаппингДоходы,'inc.BuhOperationCLS','si.BuhOperationCLS'),Коллекция);
    конец
  иначе
    начало // получаем проводки зачисления на счет
      ПолеДатыПроведения := ' inc.IDate acceptDate, inc.BuhOperationCLS, 0 siBuhOperationCLS,inc.ProgIndex,';
      ТаблицаКорреспонденции70н := "  left join BuhAccCorr bac on (bac.BuhOperationCLS = inc.BuhOperationCLS)" + nl;
      ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаПринятияТип",Коллекция,"(inc.IDate%d)");
    
      ОгрПоКлассификации := Ограничение(МаппингДоходы,Коллекция);
    конец;
    
  // ограничение по правам на бюджетную классификцию
  ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКИст,Коллекция,' or((inc.CLSType=1)and(%s))');
  ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКДох,Коллекция,' or((inc.CLSType=2)and(%s))');
  Если (ОгрПрава_БКИст+ОгрПрава_БКДох)&lt;&gt;"" тогда 
    ОгрПрава := ' and((1=0)'+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
  иначе 
    ОгрПрава := ''; 

  // Ограничение по синтетическим счетам
  если Коллекция.values("НеВключатьПустыеБухСчета")=да тогда 
   ОгрПоПустымБухСчетам:= " and (DebitAP.id is not null) and (CreditAP.id is not null)";// для 70Н
 
  ОгрПоВидуОрг := Ограничение('ВидОрганизаций=o.Org_Type%d', Коллекция);

  // формируем запрос
  запрос := 
    "Select " + nl +
    ПолеДатыПроведения+nl+
    " inc.id,inc.IDate,si.ODate BuildDate,inc.RecordDate, si.ODate,inc.Debit,inc.Credit, Cast(0 as float) Summa," + nl +
    " inc.RegionCLS, inc.RegionCLS RegionDetail, inc.RegionCLS RegionContractor, inc.GosNI, inc.Org_Ref, inc.Fact," + nl +
    " inc.IncAccount,inc.IncAccount IncAccountDest,kd_o.KDValue KD,inc.SubKD,inc.DocType,inc.AccountIndex, tc_o.Code TransfertCls, "+nl+
    " inc.DocNum DocumentNumber,inc.note,inc.NoteEx, CAST('Суммы в пути(возврат)' AS Varchar(255)) BuhNote,"+nl+
    " inc.CreaterUser,inc.UpdaterUser, inc.BudgetRef, Cast(9 as integer) AlgIndex, "+nl+
    " inc.IncAccount Acc1, inc.IncAccount Acc2,inc.AccountRef, 2 IncomesIndex,inc.idate AcceptDate,si.id IDMaster,"+nl+
    " inc.IncAccount AccDebit,inc.AccountRef AccCredit,inc.RecordIndex RecordIndexID,inc.CreateDate,inc.UpdateDate,"+nl+
    " inc.KVSR KVSRID, tKvsr.Code KVSR, inc.KVR KVRID, tKvr.Code KVR, inc.nds, ifscor_t.KESR KESR_CORR, kd_o.KESR KDKESR,"+nl+
    " inc.IFS IncIFS_Ref, ifs_t.FinSourceValue IncIFSValue, inc.DirectionCls, org_GRBS.id Org_RefGRBS_Det, inc.FAOrgType, inc.docbase, " + nl +
    " mt.ActivityKind, mt.ActivityKind CorrActivityKind, inc.SubsidyCls, sc.Code SubsidyClsCode," + nl +
     // поля для определения 20-значной БК
    " cast(0 as varchar(20)) BudClS, inc.ClsType, inc.ClsType DestClsType, inc.ClsType SourceClsType, " + nl +
     // поля для инструкции 70н
    " inc.IFS_CORR, DFifs.FinSourceValue DFIFSValue, dfbt.IFS DFBTIFS_Ref, dfbtBAP.BuhAcc DFBuhAccFO," + nl +
    " bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, bac.correctionflag," + nl +     
    " bac.HeadActivityKind, bac.ActivityKind AccountActivityKind," + nl + 
    " CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," + nl +
    " CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
    " ifscor_t.FinSourceValue IFSValue_Corr, bac.BalanceCls, "+ nl +
    //
    " inc.MeansType MeansTypeAcceptor, cast (0 as integer) MeansTypePayer, inc.MeansType " + nl + 
    "from " + nl +
    " Incomes32 inc " + nl +
    " left join CURRENCYINCOMES CUR on (inc.id=CUR.id)"+nl+
    " left join SumInPassage si on (si.ID = inc.ID)"+nl+
    " left join dfAccountsBuhTable dfbt on ((inc.IncAccount = dfbt.id)"+ОгрПоБюджетуТаблСчетовДепартамента+")"+nl+
    " left join BuhAccPlan dfbtBAP on (dfbtBAP.ID = dfbt.FinOrgAccRef)" + nl +   
    " left join KD kd_o on (inc.kd = kd_o.id)"+nl+    
    " left join KVSR tKvsrKD on (tKvsrKD.id = kd_o.KVSR)" +nl+
    " left join TransfertCls tc_o on (inc.TransfertCls = tc_o.id)"+nl+ 
    " left join SubsidyCls sc on (inc.SubsidyCls = sc.ID)"+nl+              
    " left join Organizations o on (inc.Org_Ref = o.id)" + nl +
    " left join Organizations org_RBS on (org_RBS.id=o.GENERALORG_REF)"+ nl +
    " left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)"+ nl + 
    ТаблицаКорреспонденции70н + nl +
    " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
    " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
    " left join BuhOperationCLS boCLS on (boCLS.id = bac.BuhOperationCLS)" + nl +    
    " left join MeansType mt on (mt.ID = inc.MeansType) " + nl +
    " left join InnerFinSource ifscor_t on (ifscor_t.ID = inc.IFS_Corr)" + nl +
    " left join InnerFinSource ifs_t on (ifs_t.ID = inc.IFS)" + nl +
    " left join KVSR tKvsrIFS on (tKvsrIFS.id = ifs_t.KVSR)" +nl+
    " left join InnerFinSource DFifs on (DFIFS.ID = dfbt.IFS)" + nl +               
    " left join FacialAcc_Cls f on (inc.FacialAcc_Cls = f.Id)"+nl+
    " left join Organizations org on (f.Org_Ref = org.Id)" + nl +
    " left join KVSR tKvsr on (tKvsr.id = inc.KVSR)" + nl +
    " left join KVR tKvr on (tKvr.id = inc.KVR) " + nl +
    "where " + nl +
    "(1=1)" + nl +
    ОгрДоходы + nl +
    ОгрПоКлассификации + nl + 
    ОгрПоДате + nl + 
    ОгрПоПустымБухСчетам + nl + 
    ОгрПрава + nl + 
    ОгрПоВидуОрг;
            
  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);          
конец;

// функция формирования запроса получения перераспределения невыясненных поступлений
функция ЗапросПерераспределениеПоступлений(Коллекция:IVariables): строка;
переменные
  запрос, Комментарий, МаппингДоходы: строка;
  ОгрДоходы, ОгрПоКлассификации, ОгрПоДате, ОгрПоБюджетуТаблСчетовДепартамента, ОгрПоПустымБухСчетам, ОгрПоПричинеОтклон : строка;
  ОгрПрава_БКИст,ОгрПрава_БКДох,ОгрПрава:строка;
  ОгрПоВидуОрг: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос доходы. Перераспределение невыясненных поступлений.");

  ОгрДоходы := ОбщиеОграниченияДоходов(Коллекция);
   
  // формирует параметры запроса для классификаторов
  МаппингДоходы := МаппингДоходы1+МаппингДоходы2;
  // формируем ограничение по дате
  если УбратьПробелы(Коллекция.Values("НачальнаяДата")) = "" 
    тогда  Коллекция.Values("НачальнаяДата") := 0;
    
  если УбратьПробелы(Коллекция.Values("КонечнаяДата")) = "" 
    тогда  Коллекция.Values("КонечнаяДата") := 99999999;

  ОгрПоБюджетуТаблСчетовДепартамента := Ограничение('Бюджет=dfbt.BudgetRef%d',Коллекция);
    
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=inc.IDate,ДатаРазблокировкиТип=inc.UnBlockedDate', Коллекция, 'inc.IDate');
  
  ОгрПоКлассификации := Ограничение(МаппингДоходы,Коллекция);

  // ограничение по правам на бюджетную классификцию
  ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКИст,Коллекция,' or((inc.CLSType=1)and(%s))');
  ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКДох,Коллекция,' or((inc.CLSType=2)and(%s))');
  Если (ОгрПрава_БКИст+ОгрПрава_БКДох)&lt;&gt;"" тогда 
    ОгрПрава := ' and((1=0)'+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
  иначе 
    ОгрПрава := ''; 
                 
  // Ограничение по синтетическим счетам
  ОгрПоПустымБухСчетам := '';
  если Коллекция.values("НеВключатьПустыеБухСчета")=да тогда 
   ОгрПоПустымБухСчетам:= "and (DebitAP.id is not null) and (CreditAP.id is not null)";// для 70Н

  ОгрПоПричинеОтклон := ' and (inc.RejectCls is null)';

  ОгрПоВидуОрг := Ограничение('ВидОрганизаций=o.Org_Type%d', Коллекция);

  // формируем запрос
  запрос := 
    "Select " + nl +
    " inc.id,inc.IDate, inc.IDate BuilDate,inc.RecordDate, cast(0 as Float) ODate,inc.Debit,inc.Credit, Cast(0 as float) Summa," + nl +
    " inc.RegionCLS, inc.RegionCLS RegionDetail, inc.RegionCLS RegionContractor, inc.AccountIndex,inc.GosNI,inc.Org_Ref," + nl +
    " inc.IncAccount,inc.IncAccount IncAccountDest,kd_o.KDValue KD,tc_o.Code TransfertCls,inc.SubKD,inc.DocType, inc.Fact," + nl +
    " inc.DocNum DocumentNumber,inc.ProgIndex,inc.Note,inc.NoteEx,CAST('Возврат поступлений(уточнение поступлений налогов)' AS Varchar(255)) BuhNote," + nl +
    " inc.CreaterUser,inc.UpdaterUser, inc.BudgetRef, inc.IncAccount Acc1, inc.IncAccount Acc2, inc.AccountRef, 3 IncomesIndex," + nl +
    " inc.idate AcceptDate, inc.IncAccount AccDebit, inc.AccountRef AccCredit,inc.RecordIndex RecordIndexID,Cast(9 as integer) AlgIndex," + nl +
    " inc.KVSR KVSRID, tKvsr.Code KVSR, inc.KVR KVRID, tKvr.Code KVR, inc.nds, inc.CreateDate, inc.UpdateDate, inc.id IDMaster," + nl +
    " i2.Credit CreditDet,i2.Debit DebitDet,ifscor_t.KESR KESR_CORR, kd_o.KESR, inc.MeansType, inc.FundsSource," + nl + 
    " inc.IFS IncIFS_Ref, ifs_t.FinSourceValue IncIFSValue, inc.DirectionCls, org_GRBS.id Org_RefGRBS_Det, " + nl +
    " inc.SubsidyCls, sc.Code SubsidyClsCode," + nl +
    // поля блокировок 
    " inc.IsBlocked, inc.BlockedCause, inc.UnBlockedDate, inc.UnblockedCause," + nl + 
    // поля для определения 20-значной БК
    " cast(0 as varchar(20)) BudClS, inc.ClsType, inc.ClsType DestClsType, inc.ClsType SourceClsType, " + nl +
    // поля для инструкции 70н
    " inc.BuhOperationCLS, 0 siBuhOperationCLS,inc.IFS_CORR, mt.ActivityKind, DFifs.FinSourceValue DFIFSValue, dfbt.IFS DFBTIFS_Ref," + nl +                
    " bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind,"+ nl +     
    " bac.correctionflag, " + nl +     
    " CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," + nl +
    " CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
    " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
    " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan " + nl +                                                                           
    "from " + nl +
    " Incomes32 inc " + nl +
    " left join CURRENCYINCOMES CUR on (inc.id=CUR.id)"+nl+
    " left join Incomes32 i2 on (inc.RecordIndex = i2.ID)"+nl+
    " left join dfAccountsBuhTable dfbt on ((inc.IncAccount = dfbt.id)"+ОгрПоБюджетуТаблСчетовДепартамента+")"+nl+
    " left join KD kd_o on (inc.kd = kd_o.id)"+nl+
    " left join KVSR tKvsrKD on (tKvsrKD.id = kd_o.KVSR)" +nl+
    " left join TransfertCls tc_o on (inc.TransfertCls = tc_o.id)"+nl+  
    " left join SubsidyCls sc on (inc.SubsidyCls = sc.ID)"+nl+                  
    " left join Organizations o on (inc.Org_Ref = o.id)" + nl +
    " left join Organizations org_RBS on (org_RBS.id=o.GENERALORG_REF)"+ nl +
    " left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)"+ nl + 
    " left join BuhAccCorr bac on (bac.BuhOperationCLS = inc.BuhOperationCLS)" + nl +
    " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
    " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
    " left join BuhOperationCLS boCLS on (boCLS.id = inc.BuhOperationCLS)" + nl +    
    " left join MeansType mt on (mt.ID = inc.MeansType) " + nl +
    " left join InnerFinSource ifscor_t on (ifscor_t.ID = inc.IFS_CORR)" + nl +
    " left join InnerFinSource ifs_t on (ifs_t.ID = inc.IFS)" + nl +
    " left join KVSR tKvsrIFS on (tKvsrIFS.id = ifs_t.KVSR)" +nl+
    " left join InnerFinSource DFifs on (DFIFS.ID = dfbt.IFS)" + nl +               
    " left join FacialAcc_Cls f on (inc.FacialAcc_Cls = f.Id)"+nl+
    " left join Organizations org on (f.Org_Ref = org.Id)" + nl +
    " left join KVSR tKvsr on (tKvsr.id = inc.KVSR)" + nl +
    " left join KVR tKvr on (tKvr.id = inc.KVR) " + nl +
    "where " + nl +
    " (1=1)" + nl +
    ОгрДоходы + nl +
    ОгрПоКлассификации + nl +
    ОгрПоДате + nl +
    ОгрПоПустымБухСчетам + nl +
    ОгрПоПричинеОтклон + nl + 
    ОгрПрава + nl +
    ОгрПоВидуОрг;   
                                                                                        
  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);          
конец;

функция ПроверитьНаНепустуюМаскуКД(Стр: строка): целое;
начало
  Результат := (Стр &lt;&gt; "____________________") и (Стр &lt;&gt; "") и (Стр &lt;&gt; "#") и (Стр &lt;&gt; "#____________________");
конец;

функция ПолучитьНеклассифицированныеДоходы(Данные : СтатическиеДанные; Коллекция: IVariables);
Переменные
  ВремДанные:СтатическиеДанные;
  ЛокКоллекция,ВремКоллекция : IVariables;
  ОгрПоНевыяснЗаголовок,ОгрПоОшибочным,Маппинг: строка;
  ПолеСумма, ПолеДетДебет: Поле;
  СписокПолей,СписокПолейСписание:Текст;
  Счетчик,Индекс:Целое;
    
начало
  ОгрПоНевыяснЗаголовок   :='';
  ВремКоллекция := CreateVariables;
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  ВремДанные := СоздатьСтатическиеДанные;
  // очищаем СтатическиеДанные от полей
  Данные.Закрыть;
  // очищаем набор полей СтатическихДанных
  Данные.DestroyFields;
  // формируем SQL-запрос
  Если Позиция("BudClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
    ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + 
      ",KVSR,KFSR,KCSR,KVR,KESR,IncIFSValue,IncIFS_Ref,KD,ClsType";   
  ЛокКоллекция.Values("ДопОграничения") := "";
  ЛокКоллекция.Значение("СекцияНеКласДоходов") := 1; 
  Если ЛокКоллекция.Значение("Списание")=1 тогда 
  начало
     ЛокКоллекция.Values("ДопОграничения") := " and ((i2.ProgIndex = 42)or(i2.ProgIndex is Null))";
     Если ЛокКоллекция.ПараметрСуществует("ИндексыДанныхДетализация")
      тогда ЛокКоллекция.Values("ДопОграничения") :=" and ((i2.ProgIndex = 42)or(i2.ProgIndex is Null)or (i2.progindex ="+ЛокКоллекция.Values("ИндексыДанныхДетализация")+"))"
      иначе ЛокКоллекция.Values("ДопОграничения") := " and ((i2.ProgIndex = 42)or(i2.ProgIndex is Null))"
  конец    
  иначе
  начало
    если ЛокКоллекция.Значение("ВнутрОпер")&lt;&gt;1 тогда 
    начало 
      Если ЛокКоллекция.Значение("неВыбиратьошибочные") 
        тогда ЛокКоллекция.Values("ДопОграничения") := "and(inc.ProgIndex = 41)and((i2.ProgIndex = 42)or(i2.ProgIndex is Null))"
        иначе ЛокКоллекция.Values("ДопОграничения") := "and((inc.ProgIndex = 41)or(inc.ProgIndex=45))and((i2.ProgIndex = 42)or(i2.ProgIndex is Null)or(i2.ProgIndex = 45))";
      ЛокКоллекция.values("ПоляВыборки") := ЛокКоллекция.values("ПоляВыборки")+
        ','+ДополнитьПоляВыборки("CorKd", Нет)+','+ДополнитьПоляВыборки("Credit,DetCredit,DetDebit,Summa", ЛокКоллекция.Values(кПарамГруппироватьНаСервере)) 
    конец
    иначе 
    Если ЛокКоллекция.Значение("ВнутрОпер")=1 тогда     
      ЛокКоллекция.Values("ДопОграничения") := "and(i2.ProgIndex = 38)";
  конец;
    
  ОгрПоОшибочным := "";      
  Если Коллекция.Values('НевыясненныеПоступления')=1  тогда 
  начало
    ЛокКоллекция.Values('Соединение'):='left join incomes32 i2 on (inc.recordindex=i2.id)';
    ЛокКоллекция.Values("ДопОграничения") := '';
  конец   
  иначе начало 
    ЛокКоллекция.Values('Соединение'):='left join incomes32 i2  on (inc.id=i2.recordindex)';
    ЛокКоллекция.Values("ДопОграничения") := ЛокКоллекция.Values("ДопОграничения") + ' and (i2.RejectCls is null) ';    
  конец;  
  

  если ЛокКоллекция.Значение("ВнутрОпер")&lt;&gt;1 тогда
  начало
     если  Коллекция.Значение("НеВыбиратьОшибочные")&lt;&gt;1 тогда 
     начало
       ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,0);
       ОгрПоНевыяснЗаголовок := Ограничение("КодДохода=KD_o.KDValue%l", ВремКоллекция);
       ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
       если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
         ОгрПоНевыяснЗаголовок := ОгрПоНевыяснЗаголовок + " or " + подстрока(Ограничение("КодДохода=KD_o.KDValue%l", ВремКоллекция),6,1000);// убираем and автоматически добавленный в начало       
       ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,1);
       если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
         ОгрПоОшибочным := Ограничение("КодДохода=KD_o.KDValue%l", ВремКоллекция);
       ЛокКоллекция.Values("ДопОграничения") := ЛокКоллекция.Values("ДопОграничения")+" and((1=1)"+ОгрПоНевыяснЗаголовок+"or(1=1)"+ОгрПоОшибочным+")";
     конец
     иначе 
     начало 
       ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,0);
       ОгрПоНевыяснЗаголовок := Ограничение("КодДохода=kd_o.KDValue%l", ВремКоллекция);
       ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
       если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
         ОгрПоНевыяснЗаголовок := " and (" + подстрока(ОгрПоНевыяснЗаголовок,6,1000) + " or " + подстрока(Ограничение("КодДохода=KD_o.KDValue%l", ВремКоллекция),6,1000) + ")" ;// убираем and автоматически добавленный в начало        
       ВремКоллекция.Значение("КодДохода")  := "#"+СтроковаяКонстанта(3,1);
       если ПроверитьНАНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
         ОгрПоОшибочным := Ограничение("КодДохода=kd_o.KDValue%l", ВремКоллекция);
       ЛокКоллекция.Values("ДопОграничения") := ЛокКоллекция.Values("ДопОграничения")+ОгрПоНевыяснЗаголовок+ОгрПоОшибочным;
    конец;
  конец
  иначе
  если  Коллекция.Значение("НеВыбиратьОшибочные")=1 тогда 
  начало     
    ВремКоллекция.Значение("КодДохода")  := "#"+СтроковаяКонстанта(3,1);
    если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
      ОгрПоОшибочным := Ограничение("КодДохода=kd_o.KDValue%l", ВремКоллекция);
    ЛокКоллекция.Values("ДопОграничения") := ЛокКоллекция.Values("ДопОграничения")+ОгрПоОшибочным;
  конец;
  
  Если ЛокКоллекция.Значение('ДатаПоступленияИСписанияНевыясненныхТипЧек') тогда начало
    ЛокКоллекция.values("ПоляВыборки") := ЛокКоллекция.values("ПоляВыборки")+',Id,IdMaster,DateReturn'; 
    Данные.Запрос := "[PumpData]"+ЗапросПерераспределениеДоходов(ЛокКоллекция);
    ПолучитьДанные(Данные, ЛокКоллекция);
    // Отфильтровываем данные, где есть дата списания, но она не попала в интервал дат 
    Данные.Фильтр := '(DateReturn &gt;0,005) and ((DateReturn&lt;'+ЛокКоллекция.Значение('ДатаНачалаПериода')+') or (DateReturn&gt;'+ЛокКоллекция.Значение('ДатаКонцаПериода')+'))';
    СписокПолей := СоздатьТекст;
    СписокПолей.РазделенноеЗначение := ЛокКоллекция.Значение('ПоляВыборки');
    СписокПолей.Сортировка;
    // Удаляем повторяющиеся значения в списке полей
    СписокПолейСписание := СоздатьТекст;
    СписокПолейСписание.РазделенноеЗначение := ДоходыСписание;
    
    // удаляем все поля по списанию
    Счетчик := 0;
    Маппинг := '';    
    Пока Счетчик &lt;= СписокПолей.Количество-1 делать начало 
      Индекс := СписокПолейСписание.Поиск(СписокПолей.Стр(Счетчик));
      Если Индекс&lt;&gt;-1 тогда начало
                        Маппинг := Маппинг + СписокПолей.Стр(Счетчик)+"='';";       
                        СписокПолей.Удалить(Счетчик);
                      конец  
                      иначе Счетчик := Счетчик+1;
    конец;
    // Формируем результирующий маппинг
    От Счетчик := 0 до СписокПолей.Количество-1 делать начало
      СписокПолей.Стр(Счетчик) := СписокПолей.Стр(Счетчик)+'=max('+СписокПолей.Стр(Счетчик)+');';
      Маппинг := Маппинг+СписокПолей.Стр(Счетчик);
    конец;  

    ВремДанные.ПрисвоитьПоля(Данные);
    ВремДанные.Открыть; 
    ВремДанные.Группировать(Данные,'keys=IdMaster;'+Маппинг);
    Данные.Очистить;
    Данные.Фильтр := '';
    Данные.PumpData(ВремДанные,'');
  конец
  иначе начало
    Данные.Запрос := "[PumpData]"+ЗапросПерераспределениеДоходов(ЛокКоллекция);
    ПолучитьДанные(Данные, ЛокКоллекция);
  конец;
  ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=IncIFSValue,ИВФКлюч=IncIFS_Ref,КД=KD,ВидКлс=ClsType",Данные,Коллекция);
  
  Если ЛокКоллекция.Значение("ВнутрОпер")&lt;&gt;1 и ЛокКоллекция.Значение("НеОгр")&lt;&gt;1 тогда 
  начало
    ПолеСумма := nil;
    если Данные.НайтиПоле("Summa",nil)тогда
      ПолеСумма := Данные.ПолеПоИмени("Summa");
    ПолеДетДебет := nil;
    если Данные.НайтиПоле("DetDebit",nil)тогда
      ПолеДетДебет := Данные.ПолеПоИмени("DetDebit");
    
    Данные.First;
     Пока не Данные.EOF делать
        начало
          ПолеСумма.КакДробное := ПолеДетДебет.КакДробное;
          Данные.Next;
        конец;
    конец; 
  ЛокКоллекция.Values("КоментарийСекции") := "";
конец;

константы
  МаппингТипов1 = "KD=%s20;CorKD=%s20;Debit=%f;IDate=%f;CreditDocEK=%d;bacCreditKESR=%d;CreditBudClsKind=%d;DebitDocEK=%d;bacDebitKESR=%d;DebitBudClsKind=%d;";
  МаппингТипов2 = "DFBTIFS_Ref=%d;CreditDocCLS=%s17;DebitDocCLS=%s17;ActivityKind=%d;IncIFS_Ref=%d;IncomesIndex=%d;Acc1=%d;Acc2=%d;";
  МаппингТипов3 = "DebitCodeAcc70n=%s8;CreditCodeAcc70n=%s8;DebitNumberAcc70n=%s28;CreditNumberAcc70n=%s28;DebitAcc70n=%f;CreditAcc70n=%f;";
  МаппингТипов4 = "DebitAcc70nValue=%d;CreditAcc70nValue=%d;AcceptDate=%f;Debit=%f;Credit=%f;Summa=%f;AlgIndex=%d;ID=%d;ProgIndex=%d";

функция ПолучитьБухДоходы70н(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ЛокКоллекция: IVariables;
  ВЗ: строка;
  ВремДанные, ВремДанныеСуммыВПути: СтатическиеДанные;  
начало
  Коллекция.Значение("ПроводкиПоБухОперации") := нет;
  Данные.Закрыть;
  Данные.Запрос := "";
  Данные.DestroyFields;

  CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ДоходыВернутьМаппингПереносаПолей + Коллекция.Значение("ДопМаппинг"), nil, Данные);
  //Создавать недостающие поля запросом
  Данные.DefProps("Options") := "+sdoDefaultFields";      

  ВремДанные := СоздатьСтатическиеДанные;
  ВремДанныеСуммыВПути := СоздатьСтатическиеДанные;
  ВремДанные.СоединитьБД;
  ВремДанные.DefProps("Options") := "+sdoDefaultFields";      
  ВремДанныеСуммыВПути.СоединитьБД;
  ВремДанныеСуммыВПути.DefProps("Options") := "+sdoDefaultFields";      

  ВремДанные.AssignFields(Данные);
  ВремДанныеСуммыВПути.AssignFields(Данные);
  
  ЛокКоллекция := CreateVariables;
  
  ЛокКоллекция.PumpData(Коллекция);
  
  //По расходной классификации в бухгалтерии ограничивать не надо
  ЛокКоллекция.Значение("КВСР") := '';
  ЛокКоллекция.Значение("КЦСР") := '';
  ЛокКоллекция.Значение("КВР") := '';
  ЛокКоллекция.Значение("КЭСР") := '';
  ЛокКоллекция.Значение("КФСР") := '';  
    
  // проверяем, учитывать или нет взаимозачеты
  если ПолучитьКонстантуКЭШ("УчитыватьВзаимозачеты",16,1,0)=да тогда
    ВЗ := "or(inc.ProgIndex = 9)"
  иначе
    ВЗ := "";

  // выбираем всё для чего нет отдельного запроса
  ЛокКоллекция.Values("ДопОграничения") := "and(not (inc.ProgIndex in (9,38,44,42))" + ВЗ + ")and(inc.AccountIndex = 0)";
  ВремДанные.Запрос := "[PumpData]"+ЗапросДоходы(ЛокКоллекция);
        
  // выбираем списание невыясненных
  
  ЛокКоллекция.Values('ПолучитьКорреспондирующийКод'):=1;
  ЛокКоллекция.Значение("НевыясненныеДоходы") := 1;
  ЛокКоллекция.Values("ДопОграничения") := "and(inc.ProgIndex =42)and(inc.AccountIndex = 0)";
  ВремДанные.Запрос :=ВремДанные.Запрос + ЗапросДоходы(ЛокКоллекция);
  ЛокКоллекция.Values('ПолучитьКорреспондирующийКод'):=0;        
  // выбираем перераспределение доходов
  ЛокКоллекция.Values("ДопОграничения") := "and(inc.ProgIndex = 38)and(i2.ProgIndex = 38)";
  //Берём ид из мастера (изменяем названия полей)
  ЛокКоллекция.Values("ИдИзМастера") := 1;  
  ВремДанные.Запрос := ВремДанные.Запрос+ЗапросПерераспределениеДоходов(ЛокКоллекция);
  ЛокКоллекция.Values("ИдИзМастера") := 0;
  
  // выбираем суммы в пути
  ЛокКоллекция.Values("ДопОграничения") := "and(inc.ProgIndex = 44)and(inc.AccountIndex = 0)";

  // сначала получим проводки по зачислению на счет, потом по поступлению на счет сумм в пути
  // информацию по проводкам закачиваем для обоих случаев в одни и те же поля
  ЛокКоллекция.Values("ПроводкиПоступленияСуммВПути"):=нет;
  ВремДанныеСуммыВПути.Запрос := "[PumpData]" + ЗапросСуммыВПути(ЛокКоллекция);
  ЛокКоллекция.Values("ПроводкиПоступленияСуммВПути"):=Да;
  ВремДанныеСуммыВПути.Запрос := ВремДанныеСуммыВПути.Запрос + ЗапросСуммыВПути(ЛокКоллекция);
  
  ПолучитьДанные(ВремДанные, ЛокКоллекция);
  ПолучитьДанные(ВремДанныеСуммыВПути, ЛокКоллекция);

  данные.AssignFields(ВремДанные);
  данные.открыть;

  // Перекачиваем доходы
  ВремДанные.Filtered := нет;
  ВремДанные.Фильтр := "(IncomesIndex=0)or(IncomesIndex=1)";
  ВремДанные.Filtered := да;
  Данные.PumpData(ВремДанные,"");

   // Суммы в пути
  Данные.PumpData(ВремДанныеСуммыВПути,"IDate=AcceptDate");
  
  // Перераспределение невыясненных поступлений
  ВремДанные.Filtered := нет;
  ВремДанные.Filter := "(IncomesIndex=3)";
  ВремДанные.Filtered := да;
  Данные.PumpData(ВремДанные,"Summa=Debit");
  ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=IncIFSValue,ИВФКлюч=IncIFS_Ref,КД=KD,ВидКлс=ClsType",Данные,Коллекция);

  ВремДанныеСуммыВПути := nil;  
  ВремДанные := nil;
  
конец;

константы
  МаппингСвязанныхПолейОбщийДоходы1 = "%EС=KD,CorKd,IncIFS_Ref,ClsType;Summa=Debit;IDate=AcceptDate;";
  МаппингСвязанныхПолейОбщийДоходы2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщийДоходы3 = "%CLS=KD,CorKd,IncIFS_Ref,DFBTIFS_Ref,ClsType;";
  МаппингСвязанныхПолейОбщийДоходы4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьБухДоходы(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  поляВыборки: строка;
  ВнутренОперации : СтатическиеДанные;
начало
  // Формируем по 70Н
  поляВыборки := Коллекция.Values("ПоляВыборки");
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщийДоходы1 + МаппингСвязанныхПолейОбщийДоходы2 + МаппингСвязанныхПолейОбщийДоходы3 + 
    МаппингСвязанныхПолейОбщийДоходы4, Коллекция) + ",IncomesIndex,ProgIndex"+
    ",correctionflag,CorrActivityKind,HeadActivityKind,AccountActivityKind,DFBuhAccFO,FAOrgType";
  попытка    
    ПолучитьБухДоходы70н(Данные, коллекция);
    
    // В ДОХОДАХ КРЕДИТ - ПОСТУПЛЕНИЕ; ДЕБИТ - ВЫБЫТИЕ
    // возврат доходов, суммы в пути, оперативные данные, внутренние переброски

    // для внутренних операций создаём отдельный статиксет, так они 
    // немного по другому обрабатывается
    Данные.Фильтр := 'ProgIndex=38';
    ВнутренОперации := СоздатьСтатическиеДанные;
    ВнутренОперации.ПрисвоитьПоля(Данные);
    ВнутренОперации.Открыть; 
    ВнутренОперации.PumpData(Данные,'');
    Данные.Clear;

    
    Данные.Фильтр := 'ProgIndex&lt;&gt;38';
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=ClsType,КорВидКлс=_,ВидДеятельности=ActivityKind,КорВидДеятельности=ActivityKind,' +
      'ИсточникВидДеятельности=HeadActivityKind,ВидДеятельностиПроводки=AccountActivityKind,' +
      'КВСР=_,КЦСР=_,КФСР=_,КВР=_,КЭСР=_,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФКлюч=IncIFS_Ref,КорИВФКлюч=_,КД=KD,КорКД=CorKd,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=Progindex,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=DFBTIFS_Ref,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=DFBTIFS_Ref,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,Сумма=Credit,СуммаВозвратнойОперации=Debit,'+
      'БухОперация=BuhOperationCLS,ИсправляющаяОперация=CORRECTIONFLAG,БухСчетФОДебет=DFBuhAccFO,БухСчетФОКредит=DFBuhAccFO,' + 
      'ВидОрганизацииЛС=FAOrgType,КорВидОрганизацииЛС=FAOrgType', 
      Данные,'42=3,4','2',коллекция);

    // для внутренних операций нужно поменять местами  
    Данные.Фильтр := 'ProgIndex=38';
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=ClsType,КорВидКлс=_,ВидДеятельности=ActivityKind,КорВидДеятельности=CorrActivityKind,' +
      'ИсточникВидДеятельности=HeadActivityKind,ВидДеятельностиПроводки=AccountActivityKind,' +
      'КВСР=_,КЦСР=_,КФСР=_,КВР=_,КЭСР=_,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФКлюч=IncIFS_Ref,КорИВФКлюч=_,КД=KD,КорКД=CorKd,'+   
      'ВариантКлсСчетДебет=CreditBudClsKind,ВариантКлсСчетКредит=DebitBudClsKind,ИндексыДанных=Progindex,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=DFBTIFS_Ref,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=DFBTIFS_Ref,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,Сумма=Credit,СуммаВозвратнойОперации=Debit,'+
      'БухОперация=BuhOperationCLS,ИсправляющаяОперация=CORRECTIONFLAG,БухСчетФОДебет=DFBuhAccFO,БухСчетФОКредит=DFBuhAccFO,' + 
      'ВидОрганизацииЛС=FAOrgType,КорВидОрганизацииЛС=FAOrgType', 
      ВнутренОперации,'2','3',коллекция);
      
    Данные.Фильтр := '';
    ВнутренОперации.Фильтр := '';
    Данные.PumpData(ВнутренОперации,'');
    
  обязательно
    Коллекция.Values("ПоляВыборки") := поляВыборки;
  конец;
конец;
</value>
    <param value="ЗапросыДоходы.abl" type="3" name="Export">MARAEVA7\baranova\24.07.2012 12:12:25</param>
    <param value="ЗапросыДоходы.abl" type="3" name="version">36.042.168</param>
    <param value="ЗапросыДоходы.abl" type="3" name="crc32">$34B5586C</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9010100</V>
            <V N="Name">Доходы</V>
            <V N="Params">Бюджет,РСФО,Даты,ТипОгрДата,ТипДатыУнивер,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,ЛицСчет,Мероприятие,КодДохода,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ГосНИ,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,Организация,ИНН,КПП,ВыводОграничений,ГиперДокумент,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.01.01) Доходы.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает доходы и их возвраты за указанный период. Аналог одноименного динамического отчета.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9030100</V>
            <V N="Name">Книга доходов</V>
            <V N="Params">Бюджет,РСФО,Даты,Месяц,Год,Классификаторы,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">09030300,09030500,09030400</V>
            <V N="Generation">АлгоритмыН</V>
            <V N="Options">65536</V>
            <V N="Note">Композитный отчет, включающий в себя дебетовую, кредитовую и итоговую книги доходов. Данные 
выбираются за указанный месяц.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9030200</V>
            <V N="Name">Книга доходов расширенная</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">09030300,09030500,09030400</V>
            <V N="Generation">АлгоритмыН</V>
            <V N="Options">65536</V>
            <V N="Note">Аналогичен книге доходов, только данные выбираются за указанный период.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9030300</V>
            <V N="Name">Книга доходов(Дебет)</V>
            <V N="Params">Бюджет,РСФО,Даты,Месяц,Год,Классификаторы,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.03.03) Книга доходов(Дебет).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает данные по дебету, занесенные в книгу доходов, с учетом месяца года.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9030400</V>
            <V N="Name">Книга доходов(Итог)</V>
            <V N="Params">Бюджет,РСФО,Даты,Месяц,Год,Классификаторы,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.03.04) Книга доходов(Итог).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает итоговые суммы месяца книги доходов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9030500</V>
            <V N="Name">Книга доходов(Кредит)</V>
            <V N="Params">Бюджет,РСФО,Даты,Месяц,Год,Классификаторы,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.03.05) Книга доходов(Кредит).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает данные по кредиту, занесенные в книгу доходов, с учетом месяца года.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9040100</V>
            <V N="Name">Книга невыясненных поступлений</V>
            <V N="Params">Бюджет,Незавершенные,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаПоступленияНевыясненныхТип,ДатаСписанияНевыясненныхТип,ДатаПоступленияИСписанияНевыясненныхТип,НачальнаяДата,КонечнаяДата,Классификаторы,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.04.01) Книга невыясненных поступлений.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает данные, занесенные в книгу невыясненных поступлений с учетом временного периода.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9050100</V>
            <V N="Name">Карточка учета доходов</V>
            <V N="Params">Бюджет,РСФО,ОднаДата,Классификаторы,КодДохода,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.05.01) Форма №14. Карточка учетов доходов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Карточка учета доходов. Учитываются доходы, поступившие в бюджет,
классифицированные по кодам бюджетной классификации Российской Федерации.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9060100</V>
            <V N="Name">Ведомость учета неклассифицированных доходов</V>
            <V N="Params">Бюджет,РСФО,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаПоступленияНевыясненныхТип,ДатаСписанияНевыясненныхТип,ДатаПоступленияИСписанияНевыясненныхТип,НачальнаяДата,КонечнаяДата,Классификаторы,КодДохода,СубКодДохода,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.06.01) Форма №15. Ведомость учета неклассифицированных доходов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Формирует данные о поступлении неклассифицированных доходов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9060200</V>
            <V N="Name">Ведомость расчета по невыясненным поступлениям</V>
            <V N="Params">Бюджет,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаПоступленияНевыясненныхТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,Классификаторы,КодДохода,Слой,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,Организация,ИНН,КПП,Наимен,ОргЛС,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.06.02) Форма №16. Ведомость расчета по невыясненным поступлениям.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Алгоритм работы такой же как и в форме №15. Отличия формы 16 от формы 15 в том, что возврат невыясненных поступлений (в детализации поле КД=коду невыясненных)  попадает в колонку "сумма списания (дебет)". Добавлено ещё одно поле и на шаблоне формулой добавляется или вычитается в нужной колонке в зависимости от формы.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9060300</V>
            <V N="Name">Ведомость учета неклассифицированных поступлений</V>
            <V N="Params">Бюджет,РСФО,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаПоступленияНевыясненныхТип,ДатаСписанияНевыясненныхТип,ДатаПоступленияИСписанияНевыясненныхТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,Классификаторы,КодДохода,Слой,ТипДеятельности,Организация,ИНН,КПП,Наимен,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.06.03) ведомость учета неклассифицированных поступлений.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает данные по поступлению документов с кодом дохода невыясненных.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9060400</V>
            <V N="Name">Списание невыясненных поступлений</V>
            <V N="Params">Бюджет,РСФО,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаСписанияНевыясненныхТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,Классификаторы,КодДохода,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.06.04) Списание невыясненных поступлений.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает данные по списанию невыясненных доходов на другие кода доходов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9090100</V>
            <V N="Name">Сводный реестр поступивших доходов.</V>
            <V N="Params">Бюджет,РСФО,ОднаДата,ТипДатыУнивер,ДатаПринятияТип,Классификаторы,КодДохода,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.09.01) Форма №9. Сводный реестр поступивших доходов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Сводный реестр поступивших доходов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9100100</V>
            <V N="Name">Поступление и возврат доходов</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,КодДохода,РайонКонтрагента,Слой,ТипДеятельности,Организация,ИНН,КПП,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.10.01) Поступление и возврат доходов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображаются доходы, поступившие в бюджет,
классифицированные по кодам бюджетной классификации Российской Федерации и документы по возврату доходов на счета ФО.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9110100</V>
            <V N="Name">Реестр классифицированных доходов</V>
            <V N="Params">Бюджет,РСФО,ОднаДата,Классификаторы,КодДохода,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.11.01) Реестр классифицированных доходов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Учитываются доходы, поступившие в бюджет,
классифицированные по кодам бюджетной классификации Российской Федерации.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9140100</V>
            <V N="Name">Реестр поступлений по коду дохода</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,КодДохода,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ТипДеятельности,ГосНИ,Организация,ИНН,КПП,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.14.01) Реестр поступлений по коду дохода.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Формирует реестр поступлений по коду дохода за указанный период.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9140200</V>
            <V N="Name">Сводка доходов</V>
            <V N="Params">Бюджет,РСФО,ОднаДата,Классификаторы,КодДохода,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.14.02) Сводка доходов.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Формирует реестр поступлений с начала года в разрезе кодов дохода. По каждому коду отображается сумма за день(конечная дата), сумма за месяц, 
и сумма с начала года</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9150100</V>
            <V N="Name">Справка по переброске доходов</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,Классификаторы,КодДохода,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.15.01) Справка по переброске доходов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает данные по переброске сумм с одного кода дохода на другой.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9160100</V>
            <V N="Name">Поступление доходов (с учетом возвратов)</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,КодДохода,Слой,ТипДеятельности,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.16.01) Поступление доходов (с учетом возвратов).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображаются доходы, поступившие в бюджет,
классифицированные по кодам бюджетной классификации Российской Федерации и документы по возврату доходов на счета ФО.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9060500</V>
            <V N="Name">Учет невыясненных поступлений</V>
            <V N="Params">Бюджет,РСФО,Даты,ТипДатыУнивер,ДатаПроведенияТип,ДатаВводаТип,НачальнаяДата,КонечнаяДата,Классификаторы,КодДохода,КодДоходаАдм,КодДоходаВид,КодДоходаЭК</V>
            <V N="Template">(09.06.05) Учет невыясненных поступлений.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9170100</V>
            <V N="Name">Реестр дебетовых пл. поручений по аренде</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,Классификаторы,ЛицСчет,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,Организация,ИНН,КПП,Наимен,ОргЛС,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.17.01) Реестр дебетовых пл. поручений по аренде.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9190100</V>
            <V N="Name">Свод доходов по месяцам без учета администратора</V>
            <V N="Params">Бюджет,РСФО,Даты,ТипОгрДата,ТипДатыУнивер,ДатаПринятияТип,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Мероприятие,КодДохода,СубКодДохода,ТипПлатДок,РайонКонтрагента,Слой,ГосНИ,ТипСредствБюдж,КодЦелевыхСредств,ТипДеятельности,Организация,ИНН,КПП,ВыводОграничений,ВыбиратьКазначействоВДоходах</V>
            <V N="Template">(09.19.01) Свод доходов по месяцам без учета администратора.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает доходы и их возвраты за указанный период. Аналог одноименного динамического отчета.</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9060600</V>
            <V N="Name">Журнал учета невыясненных поступлений</V>
            <V N="Params">Бюджет,Даты,ТипДатыУнивер,ДатаПроведенияТип,ДатаВводаТип,НачальнаяДата,КонечнаяДата,Классификаторы,КодДохода</V>
            <V N="Template">(09.06.06) Журнал невыясненных поступлений.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.168</param>
  </node>
  <version_info>
    <file>Сборка(12)Бухгалтерия.xml</file>
    <version>36.042.90</version>
    <info>&lt;p&gt;Отчеты бухгалтерии&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:39</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12200100</V>
            <V N="Name">Оборотная ведомость (сокращенная)</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ВыводНомераСчета,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.20.01) Оборотная ведомость 70н.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Оборотная ведомость по синтетическим счетам по инструкции 70н</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12210100</V>
            <V N="Name">Многографная карточка (кредит)</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.21.01) Многографная карточка 70н (кредит).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Многографная карточка по инструкции 70н</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12210200</V>
            <V N="Name">Многографная карточка (дебет)</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.21.02) Многографная карточка 70н (дебет).cld</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Многографная карточка по инструкции 70н</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12210300</V>
            <V N="Name">Многографная карточка</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">12210100,12210200</V>
            <V N="Generation">КомпозицияОтчетов</V>
            <V N="Options">65536</V>
            <V N="Note">Многографная карточка по инструкции 70н по дебету и кредиту</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12220100</V>
            <V N="Name">Сводный реестр поступлений средств бюджета</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.22.01) Сводный реестр поступлений средств бюджета.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12220200</V>
            <V N="Name">Сводный реестр выбытий средств бюджета</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.22.02) Сводный реестр выбытий средств бюджета.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12220300</V>
            <V N="Name">Сводный реестр поступлений и выбытий (2 раздела)</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">12220100,12220200</V>
            <V N="Generation">АлгоритмыН</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12230100</V>
            <V N="Name">Карточка учета лимитов бюджетных обязательств</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Template">(12.23.01) Карточка учета лимитов бюджетных обязательств.xlc</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,Баланс,ВидДеятельности,Организация,ИНН,КПП,Наимен,РасширБухСчет70н,ПериодПланирования,ГиперДокумент</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12230300</V>
            <V N="Name">Карточка учета объемов финансирования</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.23.03) Карточка учета объемов финансирования.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12240100</V>
            <V N="Name">Журнал операций</V>
            <V N="Params">Бюджет,РСФО,ОднаДата,Классификаторы,БухСчетДебет,БухСчетКредит,Баланс,ВидДеятельности,РасширБухСчет70н,ВыводНомераСчета,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.24.01) Журнал по прочим операциям.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12250100</V>
            <V N="Name">Главная книга</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,КОСГУ,БК,РасширБухСчет70н,ВыводНомераСчета,ПериодПланирования,ГиперДокумент</V>
            <V N="Template">(12.25.01) Главная книга.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">98304</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12260100</V>
            <V N="Name">Ведомость учета невыясненных поступлений</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,Организация,ИНН,КПП,Наимен,РасширБухСчет70н,ВыводНомераСчета,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.26.01) Ведомость учета невыясненных поступлений.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12270100</V>
            <V N="Name">Ведомость учета внутренних расчетов</V>
            <V N="Params">Бюджет,РСФО,Даты,Месяц,Год,Классификаторы,БухСинтетСчет,ЛицСчет,Район,Баланс,ВидДеятельности,РасширБухСчет70н,ВыводНомераСчета,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.27.01) Ведомость учета внутренних расчетов между органами, осущ кас обсл исп бюджета.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12280100</V>
            <V N="Name">Бухгалтерия</V>
            <V N="Params">Бюджет,РСФО,ИндексыБлоковБухгалтерии,БлокБухДоходы,БлокБухФинансирование,БлокБухСвободныеПроводки,БлокБухКазначейство,БлокБухЗаимствования,БлокБухОперСоСчетами,БлокБухРоспись,БлокБухЛимиты,БлокБухОбязательства,БлокБухПланЗаимствования,БлокБухУведомления,БлокБухСводнУведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,БухСчетДебет,БухСчетКредит,БухСинтетСчет,Баланс,ВидДеятельности,КОСГУ,КОСГУДебет,КОСГУКредит,БК,БКпоДебету,БКпоКредиту,ЕдиницыИзмерения,РасширБухСчет70н,ВыводНомераСчета,ПериодПланирования,ВыводОграничений,ГиперДокумент</V>
            <V N="Template">(12.28.01) бухгалтерия 70Н.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12290100</V>
            <V N="Name">Справка отражения дополнительных операций</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,БухСчетДебет,БухСчетКредит,Баланс,ВидДеятельности,ПериодПланирования</V>
            <V N="Template">(12.29.01) Бухгалтерская справка (ф.0504833).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Документ предназначен для отражения совершаемых при исполнении бюджета и кассовом обслуживании исполнения бюджета дополнительных операций, не требующих документов от плательщиков и получателей средств бюджетов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Бухгалтерия70н">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\AblTools.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыКазначейство.abl";
включить "\Макросы\Запросы\ЗапросыДоходы.abl";
//включить "\Макросы\Запросы\ЗапросыНачислениеПроцентов.abl";
включить "\Макросы\Запросы\ЗапросыЗаимствования.abl";
включить "\Макросы\Запросы\ЗапросыФинансирование.abl";
включить "\Макросы\Запросы\ЗапросыОперацииСоСчетами.abl";
//включить "\Макросы\Запросы\ЗапросыГарантии.abl";
//включить "\Макросы\Запросы\ЗапросыВекселя.abl";
включить "\Макросы\Запросы\ЗапросыОбязательства.abl";
включить "\Макросы\Запросы\ЗапросыРоспись.abl";
//включить "\Макросы\Запросы\ЗапросыЛимиты.abl";
включить "\Макросы\Запросы\ЗапросыСвободныеПроводки.abl";
включить '\Макросы\Запросы\ПолучитьКазначействоДоходы.abl';
включить '\Макросы\Запросы\ЗапросыУведомления.abl';
включить '\Макросы\Запросы\ЗапросыСводныеУведомления.abl';

Бухгалтерия(Параметры: IVariables);
константы
  // Маппинг полей.      
  // описываем только те поля, которые меняются или замаплены не так как в казначейком алгоритме
  ПостМаппингКазн1 = ',ИндексАлгоритма=12,КорСчет2=acc1,КорСчет1=acc1,НомерСекции=7,БухПримечание=CaptionNote';
  ПоляВыборкиГиперТекстКазначейство = 'AlgIndex,DetID';
  ПоляВставкиГиперТекстКазначейство = 'AlgIndex;DetID';

  ПостМаппингДоходы1 = ',ИндексАлгоритма=12,КорСчет1=Acc1,КорСчет2=Acc2,БухПримечание=BuhNote,НомерСекции=0';
  ПоляВыборкиГиперТекстДоходы = 'AlgIndex,ID';
  ПоляВставкиГиперТекстДоходы = 'AlgIndex;ID'; 
  
  ПостМаппингЗаимствования1 = ',ИндексАлгоритма=12,КорСчет1=Acc1,КорСчет2=Acc2,НомерСекции=10,БухПримечание=Note';
  ПоляВыборкиГиперТекстЗаимствования = 'AlgIndex,ID';
  ПоляВставкиГиперТекстЗаимствования = 'AlgIndex;ID'; 
  
  ПостМаппингФин1 = ',ИндексАлгоритма=12,КорСчет1=DFAccount,КорСчет2=DFAccount,НомерСекции=1,БухПримечание=Note';
  ПоляВыборкиГиперТекстФинансирование = 'AlgIndex,DetID';
  ПоляВставкиГиперТекстФинансирование = 'AlgIndex;DetID';

  ПостМаппингСвободПроводки1 = ',ИндексАлгоритма=12,КорСчет1=Acc1,КорСчет2=Acc2,НомерСекции=2';
  ПоляВыборкиГиперТекстСвободныеПроводки = 'AlgIndex,ID';
  ПоляВставкиГиперТекстСвободныеПроводки = 'AlgIndex;ID';
    
/*  ПостМаппингКредиты1 = ',ИндексАлгоритма=12,НомерСекции=9,БухПримечание=BuhNote';
  ПоляВыборкиГиперТекстКредиты = 'AlgIndex,ID';
  ПоляВставкиГиперТекстКредиты = 'AlgIndex;ID';

  ПостМаппингСсуды1 = ',ИндексАлгоритма=12,НомерСекции=8,БухПримечание=BuhNote';
  ПоляВыборкиГиперТекстСсуды = 'AlgIndex,ID';
  ПоляВставкиГиперТекстСсуды = 'AlgIndex;ID';
*/
  ПостМаппингОперацииСоСчетами1 = ',ИндексАлгоритма=12,КорСчет1=Acc2,КорСчет2=Acc1,НомерСекции=11,БухПримечание=Note';
  ПоляВыборкиГиперТекстОперацииСоСчетами = 'AlgIndex,ID';
  ПоляВставкиГиперТекстОперацииСоСчетами = 'AlgIndex;ID';
  
/*  // запятой в начале маппинга не надо
  ПостМаппингГарантии1 = 'ИндексАлгоритма=12,Регион=RegionCLS,ДатаПринятия=AcceptDate,КорСчет1=Acc1,КорСчет2=Acc2,НомерСекции=12,БухПримечание=Note';
  ПоляВыборкиГиперТекстГарантии = 'AlgIndex,ID';
  ПоляВставкиГиперТекстГарантии = 'AlgIndex;ID';  

  ПостМаппингВекселя1 = ',КодЗаписи=po_id,ИндексАлгоритма=12,Регион=RegionCLS,НомерСекции=13,КорСчет1=Acc1,КорСчет2=Acc2,БухПримечание=Note';
  ПоляВыборкиГиперТекстВекселя = 'AlgIndex,ID';
  ПоляВставкиГиперТекстВекселя = 'AlgIndex;ID';
*/
  ПостМаппингРоспись1 = ',ИндексАлгоритма=12,КорСчет1=Acc_Ref,КорСчет2=Acc_Ref,НомерСекции=14,БухПримечание=Note';
  ПоляВыборкиГиперТекстРоспись = 'AlgIndex,ID';
  ПоляВставкиГиперТекстРоспись = 'AlgIndex;ID';
  
/*  ПостМаппингЛимиты1 = ',ИндексАлгоритма=12,КорСчет1=Acc_Ref,КорСчет2=Acc_Ref,НомерСекции=15,БухПримечание=Note';
  ПоляВыборкиГиперТекстЛимиты = 'AlgIndex,ID';
  ПоляВставкиГиперТекстЛимиты = 'AlgIndex;ID';  
*/
  ПостМаппингОбязательства1 = ',ИндексАлгоритма=12,НомерСекции=16,БухПримечание=AGREEMENT_NOTE';
  ПоляВыборкиГиперТекстОбязательства = 'AlgIndex,ID';
  ПоляВставкиГиперТекстОбязательства = 'AlgIndex;ID';  

  ПостМаппингУведомления1 = ',ИндексАлгоритма=55,НомерСекции=18,БухПримечание=Note,КорСчет1=RSFO,КорСчет2=RSFO,ВидДеятельности=SourceActivityKind,ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind';
  ПоляВыборкиГиперТекстУведомления = 'AlgIndex,ID';
  ПоляВставкиГиперТекстУведомления = 'AlgIndex;ID';  

  ПостМаппингСводныеУведомления1 = ',ИндексАлгоритма=44,НомерСекции=19,БухПримечание=Note';
  ПоляВыборкиГиперТекстСводныеУведомления = 'AlgIndex,DetID';
  ПоляВставкиГиперТекстСводныеУведомления = 'AlgIndex;DetID';  

  МаппингСвязанныхПолей1 = "НомерСчета=НомерСчетаДебет,НомерСчетаКредит;КодСчета=КодСчетаДебет,КодСчетаКредит;";
  МаппингСвязанныхПолей2 = "ЭК70Н=ЭККредит,ЭКДебет;БК70Н=БККредит,БКДебет;БухРСФО=КорСчет1,КорСчет2;";
  МаппингСвязанныхПолей3 = "@ПланСчетов=ДатаПринятия;БухСчет=БухСчетКредит,БухСчетДебет;@РСФО=КорСчет1,КорСчет2;";
  МаппингСвязанныхПолей4 = "КодСчетаКредит=БухСчетКредитБезЭК,ВидДеятельности;КодСчетаДебет=БухСчетДебетБезЭК,ВидДеятельности;";
  МаппингСвязанныхПолей5 = "БухСчетКредит=БухСчетКредитБезЭК,ЭККредит;БухСчетДебет=БухСчетДебетБезЭК,ЭКДебет;";
  МаппингСвязанныхПолей6 = "НомерКорСчета=НомерСчета;КодКорСчета=КодСчета;КорЭК=ЭК70Н;КорБК=БК70Н;@БухСинтетКорСчет=БухСчетДебет,БухСчетКредит;";
  МаппингСвязанныхПолей7 = "@БухСчетДебет=БухСчетДебет;@БухСчетКредит=БухСчетКредит;@БухСинтетСчет=БухСчетДебет,БухСчетКредит;";
  МаппингСвязанныхПолей8 = "@БК=БКДебет,БККредит,ЭКДебет,ЭККредит;@БКпоКредиту=БККредит,ЭККредит;@БКпоДебету=БКДебет,ЭКДебет;";
  МаппингСвязанныхПолей9 = "@КОСГУ=ЭКДебет,ЭККредит;@КОСГУКредит=ЭККредит;@КОСГУДебет=ЭКДебет;@ВидДеятельности=ВидДеятельности;";
  //Для варианта вывода счета кратко (без БК)
  МаппингСвязанныхПолейКраткий1 = "НомерСчетаДебет=ЭКДебет,БухСчетДебетБезЭК,ВидДеятельности";
  МаппингСвязанныхПолейКраткий2 = ";НомерСчетаКредит=ЭККредит,БухСчетКредитБезЭК,ВидДеятельности";
  //Для варианта вывода счета полностью  
  МаппингСвязанныхПолейПолный1 = "НомерСчетаДебет=БКДебет,ЭКДебет,БухСчетДебетБезЭК,ВидДеятельности";
  МаппингСвязанныхПолейПолный2 = ";НомерСчетаКредит=БККредит,ЭККредит,БухСчетКредитБезЭК,ВидДеятельности";    

  МаппингТипов1 = "БК70Н=%s17;ЭК70Н=%d;ВидДеятельности=%d;КорСчет1=%d;КорСчет2=%d;БухРСФО=%d;";
  МаппингТипов2 = "ЭКДебет=%d;ЭККредит=%d;БККредит=%s17;БКДебет=$s17;БухСчетДебетБезЭК=%d;БухСчетКредитБезЭК=%d;";
  МаппингТипов3 = "НомерСчетаДебет=%s28;НомерСчетаКредит=%s28;КодСчетаКредит=%s8;КодСчетаДебет=%s8;";
  МаппингТипов4 = "НомерСчета=%s28;КодСчета=%s8;БухСчетКредит=%f;БухСчетДебет=%f;ДатаПринятия=%f;ТипКлассификации=%d";

  спрмИмяБлока='ИмяБлока';

переменные
  ТекстПараметров: IVariables;

функция ЕстьОдноИзПолей(Данные : СтатическиеДанные; СписокПолей : строка) : целое;
переменные
  Поля : Текст;
  сч : целое;
начало
  Поля := СоздатьТекст;
  Результат := нет;
  попытка
    Поля.РазделенноеЗначение := СписокПолей;
    от сч := 0 до Поля.Количество - 1 делать
      Если Данные.НайтиПоле(Поля.стр(сч), nil) тогда
      начало
        Результат := да;
        Прервать;
      конец;  
  обязательно
    УдалитьОбъект(Поля);
  конец;
конец;

функция МожноВыполнять(СписокДопустИндексов : текст; Инд, ИндексДанныхАлгоритма : целое; Коллекция : IVariables) : целое;
начало          
  Результат := (СписокДопустИндексов.Количество=0) или (СписокДопустИндексов.Поиск(ЦелоеВСтроку(Инд)) &lt;&gt; -1); 
  Если Результат тогда 
    Результат := НадоВыполнятьГиперМетаАлгоритм(12, ИндексДанныхАлгоритма, Коллекция);
  Если (Результат)и(Коллекция.Значение("ТипКлассификации") &lt;&gt; '') тогда
  начало
    //Отключаем блоки не удовлетворяющие ограничению по классификации
    выбрать Инд из
      4, 8, 16 : Результат := Позиция("0", Коллекция.Значение("ТипКлассификации")) &lt;&gt; 0;
      10, 12: Результат := Позиция("1", Коллекция.Значение("ТипКлассификации")) &lt;&gt; 0;
      5, 9 : Результат := Позиция("2", Коллекция.Значение("ТипКлассификации")) &lt;&gt; 0;
      11 : Результат := нет;
    конец;
  конец;                      
конец;
// добавляем принудительное суммирование для колонки или нет
функция ДополнитьМаппингСуммами(ИменаПолей : Строка; НадоСуммировать : Целое) : Строка;
начало
  Если НЕ НадоСуммировать тогда 
    результат := ИменаПолей
  иначе
    результат := 'SUM(' + ЗаменитьСтроку(ИменаПолей, ",", "),SUM(", ЗаменятьВсе + ИгнорироватьРегистр) + ')';
конец;

функция ОграничениеПоБК(Значение, ПолеБК, ПолеЭК : строка) : строка;
переменные
  ЭКизБК, БКбезЭК, ОгрБК, ОгрЭК, ОргФильтр: строка;
  Коллекция : IVariables;
  Ткст: Текст;
  инд: целое;
начало
  результат := "";
  Если Значение &lt;&gt; "" тогда
  начало
    Ткст := СоздатьТекст;
    Коллекция := CreateVariables;
    ОгрБК := "";
    ОгрЭК := ""; 
    попытка
      Ткст.РазделенноеЗначение := Значение;
      от инд := 0 до (Ткст.Количество - 1) делать
      начало  
        ЭКизБК := Подстрока(Ткст.Стр(инд), 18, 3);
        БКбезЭК := Подстрока(Ткст.Стр(инд), 1, 17);
        ЭКизБК := ЗаменитьСтроку(ЭКизБК, "_", "0", ЗаменятьВсе);
        БКбезЭК := ЗаменитьСтроку(БКбезЭК, "_", "?", ЗаменятьВсе);
        если ЭКизБК = "000" тогда
          ЭКизБК := "";
        Коллекция.Значение("БК") := БКбезЭК;
        Коллекция.Значение("КЭСР") := ЭКизБК;
        ОргФильтр := ОграничениеФильтр("КЭСР=" + ПолеЭК + "%d,БК=" + ПолеБК + '%l', Коллекция);
        результат := результат + " or (" + Подстрока(ОргФильтр,5,длина(ОргФильтр)-4) + ")";
      конец;
      если результат &lt;&gt; "" тогда
        результат := " and (" + Подстрока(результат,5,длина(результат)-4) + ")";
    обязательно
      УдалитьОбъект(Коллекция,Ткст);
    конец;
  конец;  
конец;

// функция дополняет статиксет данных с ошибками, который лежит в параметрах вывода (чтобы прочитать его
// из события ПослеЗакачки), данными об ошибках каждой секции
функция ПерекачатьДанныеПоОшибкам(ПарамОднойСекции: IVariables);
переменные
  СтДанныеОднойСекции, СтДанныеПарамВывода: СтатическиеДанные;
начало
  если ПарамОднойСекции.Значение("ДанныеОшибок") &lt;&gt; "" тогда
    если ТекстПараметров.Значение("ДанныеОшибок") = "" тогда
      ТекстПараметров.Значение("ДанныеОшибок") := ПарамОднойСекции.Значение("ДанныеОшибок")
    иначе
      начало  
        СтДанныеПарамВывода := ТекстПараметров.Значение("ДанныеОшибок");
        СтДанныеОднойСекции := ПарамОднойСекции.Значение("ДанныеОшибок");
        СтДанныеПарамВывода.Закачать(СтДанныеОднойСекции, "");
        ТекстПараметров.Значение("ДанныеОшибок") := СтДанныеПарамВывода;
      конец;
конец;

функция ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции: СтатическиеДанные; Коллекция: IVariables;
  МаппингОднойСекции, ПоляГруппировки, ПоляВставкиГиперТекст, ПолеСуммы: Строка);
переменные
  ДопКоллекция: IVariables;
  МаппингСекции, МаппингГиперТекст, СтрокаГруппировки: строка; 
  БКДебет, БККредит, ЭККредит, ЭКДебет, ВидДеят: строка;
  Фильтр, СтарыйФильтр: строка;
  Маппинг : Текст;
начало
  Маппинг := СоздатьТекст;
  ДопКоллекция := СоздатьКоллекцию;
  попытка
    Маппинг.РазделенноеЗначение := МаппингОднойСекции;
    БКДебет := Маппинг.ЗначениеПараметра("БКДебет");
    БККредит := Маппинг.ЗначениеПараметра("БККредит");
    ЭКДебет := Маппинг.ЗначениеПараметра("ЭКДебет");
    ЭККредит := Маппинг.ЗначениеПараметра("ЭККредит");
    ВидДеят := Маппинг.ЗначениеПараметра("ВидДеятельности");

    Фильтр := "(" + ПолеСуммы + "&lt;&gt;0)";
    // ограничение по БК кредита
    если Коллекция.Значение("БКпоКредиту") &lt;&gt; '' тогда
      Фильтр := Фильтр + ОграничениеПоБК(Коллекция.Значение("БКпоКредиту"), БККредит, ЭККредит);
    если Коллекция.Значение("КОСГУКредит") &lt;&gt; '' тогда
    начало
      ДопКоллекция.Значение("КЭСР") := Коллекция.Значение("КОСГУКредит");
      ДопКоллекция.Значение("КЭСРЧек") := Коллекция.Значение("КОСГУКредитЧек");
      Фильтр := Фильтр + ОграничениеФильтр("КЭСР=" + ЭККредит + "%d", ДопКоллекция);
    конец;
    // ограничение по БК дебета
    если Коллекция.Значение("БКпоДебету") &lt;&gt; '' тогда
      Фильтр := Фильтр + ОграничениеПоБК(Коллекция.Значение("БКпоДебету"), БКДебет, ЭКДебет);
    если Коллекция.Значение("КОСГУДебет") &lt;&gt; '' тогда
    начало
      ДопКоллекция.Значение("КЭСР") := Коллекция.Значение("КОСГУДебет");
      ДопКоллекция.Значение("КЭСРЧек") := Коллекция.Значение("КОСГУДебетЧек");
      Фильтр := Фильтр + ОграничениеФильтр("КЭСР=" + ЭКДебет + "%d", ДопКоллекция);
    конец;
    // добавляем фильтр по виду деятельности
    если Коллекция.Значение("ВидДеятельности") &lt;&gt; '' тогда
      Фильтр := Фильтр + ОграничениеФильтр("ВидДеятельности=" + ВидДеят + "%d", Коллекция);

    // перекачиваем данные одной секции в результирующие данные  
    если не Коллекция.Values(кПарамГиперТекст) тогда
    начало
      МаппингСекции := ReplaceInMap(МаппингОднойСекции, ";");
      // для ускорения обработки ключами группировки задаем все поля
      СтрокаГруппировки := "keys=*;" + МаппингСекции;
      ДанныеОднойСекции.Фильтр := Фильтр;
      Данные.GroupData(ДанныеОднойСекции, СтрокаГруппировки);
      ДанныеОднойСекции.Filtered := нет;    
    конец
    иначе 
      начало
        ДанныеОднойСекции.Фильтр := Фильтр;
        // ЭТО гипер документ
        МаппингГиперТекст := МетаАлгоритмМаппингГиперТекст(ПоляВставкиГиперТекст, 12, Коллекция.Values(кПарамГиперТекст));
        // перезакачиваем полученные данные в результирующие статические данные
        ПерекачатьДанныеГиперТекстБухгалтерия(ДанныеОднойСекции, Данные, МаппингОднойСекции, МаппингГиперТекст, Коллекция.Values(кПарамГиперТекст), нет);
      конец;
    // если нужна информация об ошибках, вызываем функцию перекачки данных с ошибками
    // из коллекции каждой секции в параметры вывода
    если Коллекция.Значение("ПоискОшибокВыборкиПолей70Н") = '1' тогда
      ПерекачатьДанныеПоОшибкам(Коллекция);
  обязательно
    ДанныеОднойСекции.Фильтр := СтарыйФильтр;
    УдалитьОбъект(Маппинг, ДопКоллекция);
  конец;
конец;

функция ПолучитьМаппингОднойСекции(Данные : СтатическиеДанные; Коллекция : IVariables; ПостоянныйМаппинг, МаппингОбычный, МаппингГиперТекст : Строка) : Строка;
начало
  Если НЕ Коллекция.Values(кПарамГиперТекст)
    тогда Результат := ПостоянныйМаппинг + "," + FixPumpMap(МаппингОбычный, Данные)
    иначе Результат := ПостоянныйМаппинг + "," + FixPumpMap(МаппингГиперТекст, Данные); // ЭТО гипер документ
конец;

// Ограничить данные, для получения одной из сумм для отчетов по инструкции 70н
функция ОграничитьДанные70Н(Данные: СтатическиеДанные; НачалоПериода, КонецПериода:Целое; ПолеОграничения,ОграничениеЭК: строка);
переменные
  строкаФильтра: строка;
  Коллекция : IVariables;
начало
  Данные.Filtered := нет;
  строкаФильтра := ""; 
  Коллекция := CreateVariables;
  попытка
    Коллекция.Значение(ПолеОграничения) := ОграничениеЭК;
    СтрокаФильтра := ОграничениеФильтр(ПолеОграничения + "=" + ПолеОграничения, Коллекция);
  обязательно
    УдалитьОбъект(Коллекция);
  конец;  
  Если (НачалоПериода &lt;&gt; 0) и (КонецПериода &lt;&gt; 0) тогда
    СтрокаФильтра := СтрокаФильтра + "and(ДатаПринятия&gt;="+строка(НачалоПериода)+")and(ДатаПринятия&lt;="+Строка(КонецПериода)+")";
  Данные.Filter := "(1=1)" + СтрокаФильтра;
  Данные.Filtered := да;
конец;

переменные
  Коллекция: IVariables;
  Данные,ПромДанные, СтарыеДанные : СтатическиеДанные;
  ПараметрыАлгоритмов: IVariables;
  ДанныеОднойСекции : статическиеДанные;
  ПостМаппингКазн, ПостМаппингДоходы, ПостМаппингФинансирование, ПостМаппингЗаимствования: строка;
  МаппингРоспись, МаппингОбязательства, МаппингУведомления, МаппингСводныеУведомления : строка;  
  ЛокКоллекция,ЛокКоллекцияСекции: IVariables;
  МаппингСекции : строка;
  ОграниченияПоДатам, НачальныеОграниченияПоДатам:IDataLimit;
  МаппингСвободныеПроводки, МаппингСвязанныхПолей : строка;
  МаппингОперацииСоСчетами : строка;
//  МаппингЛимиты, МаппингВекселя, МаппингГарантии, ПостМаппингКредиты, ПостМаппингСсуды: строка;
  флаг:целое;
  ПоляГруппировки :строка;
  ОгрСчетДебет, ОгрСчетКредит : строка;
  ФильтрПоБК : строка;
  СписИнд, ТипыКлассификации : Текст;
  ИспользоватьПромежуточныеДанные:целое;
  НоваяНачальнаяДата, ФильтерПоДате:строка;
  Раскладка : ITableInfoX;
  НачалоГода,НачалоПериода,КонецПериода: целое;
начало
  Коллекция := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  ТекстПараметров := Параметры.Values(АлгПараметрыВывода);
  СтарыеДанные := СоздатьСтатическиеДанные;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  //множество полей-группировки с шаблона
  СписИнд := СоздатьТекст;
  
  попытка
    ИспользоватьПромежуточныеДанные := 0;
    
    // Возможно, у нас уже были какие-то данные (из других алгоритмов или запросов), значит их надо сохранить
    СтарыеДанные.AssignFields(Данные);
    СтарыеДанные.Открыть;        
    СтарыеДанные.PumpData(Данные, "");
    Данные.Закрыть;

    если (Коллекция.Значение("ТипКлассификации") &lt;&gt; "") или (Коллекция.Значение("ТипКлассификацииРасх") &lt;&gt; "") тогда
    начало
      если Коллекция.Значение("ТипКлассификации") &lt;&gt; "" тогда
        Коллекция.Значение("ТипКлассификацииРасх") := Коллекция.Значение("ТипКлассификации")
      иначе
        Коллекция.Значение("ТипКлассификации") := Коллекция.Значение("ТипКлассификацииРасх");
    конец;
    
    Коллекция.Значение("БухСинтетСчетБезЭК") := РасширитьОграничениеПо402И202Счетам(Коллекция.Значение("БухСинтетСчетБезЭК"));    
    Коллекция.Значение("БухСчетДебетБезЭК") := РасширитьОграничениеПо402И202Счетам(Коллекция.Значение("БухСчетДебетБезЭК"));    
    Коллекция.Значение("БухСчетКредитБезЭК") := РасширитьОграничениеПо402И202Счетам(Коллекция.Значение("БухСчетКредитБезЭК"));    
    Коллекция.Значение("БухСинтетКорСчетБезЭК") := РасширитьОграничениеПо402И202Счетам(Коллекция.Значение("БухСинтетКорСчетБезЭК"));    

    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    // локальная копия параметров для одной секции
    ЛокКоллекцияСекции := CreateVariables;  
    ЛокКоллекция.PumpData(Коллекция);
    
    ЛокКоллекция.Значение("ПланСчетов") := 3;      
    
    МаппингСвязанныхПолей := МаппингСвязанныхПолей1 + МаппингСвязанныхПолей2 + МаппингСвязанныхПолей3 +
      МаппингСвязанныхПолей4 + МаппингСвязанныхПолей5 + МаппингСвязанныхПолей6 + МаппингСвязанныхПолей7 +
      МаппингСвязанныхПолей8 + МаппингСвязанныхПолей9;
    если ЛокКоллекция.Значение("ВыводНомераСчета") &lt;&gt; 1 тогда
     если ЛокКоллекция.Значение("ТипКлассификации") &lt;&gt; "" тогда
       МаппингСвязанныхПолей := МаппингСвязанныхПолей + МаппингСвязанныхПолейПолный1 + ",ТипКлассификации" +
          МаппингСвязанныхПолейПолный2 + ",ТипКлассификации"
     иначе
       МаппингСвязанныхПолей := МаппингСвязанныхПолей + МаппингСвязанныхПолейПолный1 + МаппингСвязанныхПолейПолный2
    иначе
     если ЛокКоллекция.Значение("ТипКлассификации") &lt;&gt; "" тогда
       МаппингСвязанныхПолей := МаппингСвязанныхПолей + МаппингСвязанныхПолейКраткий1 + ",ТипКлассификации" +
          МаппингСвязанныхПолейКраткий2 + ",ТипКлассификации"
     иначе
       МаппингСвязанныхПолей := МаппингСвязанныхПолей + МаппингСвязанныхПолейКраткий1 + МаппингСвязанныхПолейКраткий2;
    //Добавление полей необходимых для вычисления
    FixPumpMap2("", МаппингСвязанныхПолей, МаппингТипов1 + МаппингТипов2 + МаппингТипов3 + МаппингТипов4, Данные, ЛокКоллекция);
    // настраиваем колонки сумм и все, что им надо для плана счетов по инструкции 70н
    ИспользоватьПромежуточныеДанные :=  ЕстьОдноИзПолей(Данные,"Бух70нСуммаНаНачПериода," +
      "Бух70нСуммаПоКредитуНаНачПериода,Бух70нСуммаПоДебетуНаНачПериода," +
      "Бух70нСуммаПоКредиту,Бух70нСуммаПоДебету,НомерСчета,КодСчета,ЭК70Н,БК70Н,"+
      "НомерКорСчета,КодКорСчета,КорЭК,КорБК") или (ЛокКоллекция.Значение("БК") &lt;&gt; '') или (ЛокКоллекция.Значение("КОСГУ") &lt;&gt; '');                                      
    Данные.Открыть;
    Если ИспользоватьПромежуточныеДанные тогда
    начало
      ПромДанные:=СоздатьСтатическиеДанные;
      ПромДанные.AssignFields(Данные);
      ПромДанные.Закрыть;
      если не ПромДанные.НайтиПоле("Бух70нСумма",nil) тогда
        ПромДанные.CreateField("Бух70нСумма",4);            
      Данные:=ПромДанные;
      ПромДанные.Открыть;
    конец;                
   
    // Учитываем остатки по ссудам на начало года
    ЛокКоллекция.Values("УчитыватьОстаткиСсудНаНачалоГода") := ДА;
      
    Данные.Открыть;

    // настраиваем ограничение по датам
    Если не ЛокКоллекция.ПараметрСуществует("ВариантНачалаПериода") тогда
      // если в параметрах ограничений задана только одна дата, то за начало периода берем начало года 
      ЛокКоллекция.Values("ВариантНачалаПериода"):="3";
    НачальныеОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
    // вдруг в качестве ограничения используется одна дата. Будем ее обрабатывать одинаково
    ЛокКоллекция.Values("НачальнаяДата") :=DateExToStr(НачальныеОграниченияПоДатам.ДатаНачалаПериода);
    ЛокКоллекция.Values("КонечнаяДата") :=DateExToStr(НачальныеОграниченияПоДатам.ДатаКонцаПериода);
    НоваяНачальнаяДата := НачальныеОграниченияПоДатам.ДатаНачалаПериода;

    если Данные.НайтиПоле("Бух70нСуммаНаНачПериода",nil)или
      Данные.НайтиПоле("Бух70нСуммаПоКредитуНаНачПериода",nil)или 
      Данные.НайтиПоле("Бух70нСуммаПоДебетуНаНачПериода",nil) или
      Данные.НайтиПоле("Бух70нСуммаПоДебетуНаНачПериода",nil)или
      Данные.НайтиПоле("Бух70нСуммаПоКредитуНаНачПериода",nil) тогда
      начало
        ЛокКоллекция.Values("НачальнаяДата") := '00.00.'+строка(НачальныеОграниченияПоДатам.ДатаНачалаПериода цел 10000);
        НоваяНачальнаяДата:=НачальныеОграниченияПоДатам.ДатаНачалаПериода цел 10000 * 10000;
      конец;  
    ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;

    Если ЛокКоллекция.Значение("ПечатныйДокумент") = да тогда
    начало
     ЛокКоллекция.Values("ТипОгрДата"):=0;
     ЛокКоллекция.Values("ТипДатыУнивер"):=0;
    конец;
    
    если ЛокКоллекция.ПараметрСуществует("ИндексыБлоковБухгалтерии") тогда
      СписИнд.РазделенноеЗначение:=ЛокКоллекция.values("ИндексыБлоковБухгалтерии");
        
    Если не ЛокКоллекция.ПараметрСуществует("РСФО") тогда
      ЛокКоллекция.Values("РСФО") := "";
    флаг := ((ЛокКоллекция.CheckParam("ФинуправлениеЧек") = нет)
            или (ЛокКоллекция.values("ФинуправлениеЧек") = нет))
        и ((ЛокКоллекция.CheckParam("КазначействоЧек") = нет)
            или (ЛокКоллекция.values("КазначействоЧек") = нет));
    
    если (ЛокКоллекция.values("УчетФиктивныхРС") = "") и
      (СтрокаВЦелое(ПолучитьКонстантуКэш("СчетПроводБезРС", 16, 2, 0)) = СтрокаВЦелое(ЛокКоллекция.Values("РСФО"))) тогда
      ЛокКоллекция.values("УчетФиктивныхРС") := да;
    ЛокКоллекция.Values("ВыбратьСНепустымиПроводками"):=да;//не учитывать проводки по типу финансирования с GenBuhAccFlag &lt;&gt; 1
    
    ПоляГруппировки := Раскладка.GetKeysEx(ecfstd, Да);  
    // внимание могли добавиться поле  ДатаПринятия 
    Если (ПоляГруппировки &lt;&gt; '') и Данные.НайтиПоле("ДатаПринятия",nil)
      тогда ПоляГруппировки := ПоляГруппировки + ',ДатаПринятия';   

    Если ЛокКоллекция.ПараметрСуществует("Район") тогда
      ЛокКоллекция.Значение("Регион") := ЛокКоллекция.Значение("Район");
      
    // включаем принудительную группировку на сервере, если шаблон не требует обратного
    Если не ЛокКоллекция.ПараметрСуществует(кПарамГруппироватьНаСервере) тогда  
      ЛокКоллекция.Values(кПарамГруппироватьНаСервере):=Да;
      
    //исключаем записи с пустыми проводками  
    ЛокКоллекция.Values("НеВключатьПустыеБухСчета") := да;
    
    ЛокКоллекция.Значение("Раскладка") := Раскладка;
    
    ТипыКлассификации := СоздатьТекст;  
    попытка
      Если ЛокКоллекция.Значение("ТипКлассификации") &lt;&gt; '' тогда
        ТипыКлассификации.РазделенноеЗначение := ЛокКоллекция.Значение("ТипКлассификации")
      иначе
      начало
        Если (ЛокКоллекция.Значение("КВСР") &lt;&gt; '') или (ЛокКоллекция.Значение("КЦСР") &lt;&gt; '') или (ЛокКоллекция.Значение("КВР") &lt;&gt; '') или
          (ЛокКоллекция.Значение("КЭСР") &lt;&gt; '') или (ЛокКоллекция.Значение("КФСР") &lt;&gt; '') тогда
          ТипыКлассификации.Добавить("0");
        Если (ЛокКоллекция.Значение("ИстВнутрФин") &lt;&gt; '') тогда
          ТипыКлассификации.Добавить("1");        
        Если (ЛокКоллекция.Значение("КодДохода") &lt;&gt; '') тогда
          ТипыКлассификации.Добавить("2");
        Если ТипыКлассификации.Количество &lt;&gt; 0 тогда
          ЛокКоллекция.Значение("ТипКлассификации") := ТипыКлассификации.РазделенноеЗначение(",");          
      конец;
    обязательно
      УдалитьОбъект(ТипыКлассификации);
    конец;
    // Не ограничиваем по служебности. Проводки строятся независимо от служебности лицевых счетов
    если не ЛокКоллекция.ПараметрСуществует("СервисныеСчета") тогда
      ЛокКоллекция.Значение("СервисныеСчета") := "1"; 
    // устанавливаем параметр для учета даты закрытия бух. операций      
    если не ЛокКоллекция.ПараметрСуществует("УчетСрокаДействияБухОпераций") тогда 
      ЛокКоллекция.Значение("УчетСрокаДействияБухОпераций") := "1";
          
    // последовательно выполняем секции бухгалтерии
    // Казначейство
    если (флаг или (ЛокКоллекция.Values("КазначействоЧек") = да)) тогда
    начало 
      // Секция 1. бухгалтерия по казначейству за период
      Если выполнятьСекцию(данные,"Бух70нКазнСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 7, 3, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Казначейство';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 1. Суммы по казначейству за период(приход)';
        ЛокКоллекцияСекции.values("НомерСекции") := '70';
        ЛокКоллекцияСекции.Values("УчитыватьРеестр") := нет;
        //В казначействе данные доходов выбирать не надо, их доходы выбирут
        ЛокКоллекцияСекции.Значение("ВыбиратьДоходыВКазначействе") := 0;
        // Ограничения для прихода
        ПостМаппингКазн := FixPumpMap(КазначействоВернутьМаппингПереносаПолей(ДА) + ПостМаппингКазн1, Данные); 
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, ПостМаппингКазн, "Бух70нКазнСумма=sum(Summa),Бух70нСумма=sum(Summa)", "Бух70нКазнСумма=Summa,Бух70нСумма=Summa");
        ЛокКоллекцияСекции.Значение("ДопМаппинг") := ПостМаппингКазн1;
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(ПостМаппингКазн,",")+ ',' + ДополнитьМаппингСуммами('summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                      ПоляВыборкиГиперТекстКазначейство, ЛокКоллекция.Values(кПарамГиперТекст));
        ЛокКоллекцияСекции.Значение("ИндексыДанныхПриходКазн") := ОтфильтроватьИндексыДанныхКазн(ЛокКоллекцияСекции.Значение("ИндексыДанныхПриходКазн"), да, 1);
        ЛокКоллекцияСекции.Values("ИндексыДанных"):= ЛокКоллекцияСекции.Значение("ИндексыДанныхПриходКазн");
        ЛокКоллекцияСекции.Values("НаСчет") := ЛокКоллекцияСекции.Values("РСФО");
        ЛокКоллекцияСекции.Values("СоСчета") := "";
        ЛокКоллекцияСекции.Values("Плательщик") := нет;
        если ЛокКоллекцияСекции.Values("ИндексыДанных")&lt;&gt;"" тогда
        начало
          ПолучитьБухКазначейство(ДанныеОднойСекции, ЛокКоллекцияСекции);
          ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстКазначейство, "summa");
        конец;  
        // Ограничения для расхода
        ПостМаппингКазн := FixPumpMap(КазначействоВернутьМаппингПереносаПолей(Нет) + ПостМаппингКазн1, Данные); 
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, ПостМаппингКазн, "Бух70нКазнСумма=sum(Summa),Бух70нСумма=sum(Summa)", "Бух70нКазнСумма=Summa,Бух70нСумма=Summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(ПостМаппингКазн,",")+','+ ДополнитьМаппингСуммами('summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                      ПоляВыборкиГиперТекстКазначейство, ЛокКоллекция.Values(кПарамГиперТекст));
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 1. Суммы по казначейству за период(расход)';
        ЛокКоллекцияСекции.values("НомерСекции") := '71';
        ЛокКоллекцияСекции.Значение("ИндексыДанныхРасходКазн") := ОтфильтроватьИндексыДанныхКазн(ЛокКоллекцияСекции.Значение("ИндексыДанныхРасходКазн"), нет, 1);
        ЛокКоллекцияСекции.Values("ИндексыДанных"):= ЛокКоллекцияСекции.Значение("ИндексыДанныхРасходКазн");
        ЛокКоллекцияСекции.Values("НаСчет") := "";
        ЛокКоллекцияСекции.Values("СоСчета") := ЛокКоллекцияСекции.Values("РСФО");
        ЛокКоллекцияСекции.Values("Плательщик") := Да;
        если ЛокКоллекцияСекции.CheckParam("ДанныеОшибок") тогда
          ЛокКоллекцияСекции.Delete("ДанныеОшибок");
        если ЛокКоллекцияСекции.Values("ИндексыДанных")&lt;&gt;"" тогда
        начало 
          ПолучитьБухКазначейство(ДанныеОднойСекции, ЛокКоллекцияСекции);
          ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстКазначейство, "summa");
        конец;  
      конец;
    конец;
    
    если (флаг или (ЛокКоллекция.Values("ФинуправлениеЧек") = да)) тогда
    начало
    // Секция 2.  Бухгалтерия по доходам за период
      Если выполнятьСекцию(данные,"Бух70нДоходыСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 0, 9, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Доходы';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 2. Суммы по доходам за период';
        ЛокКоллекцияСекции.values("НомерСекции") := '0';
        // маппим поля для дальнейшего переноса
        ПостМаппингДоходы := FixPumpMap(ДоходыВернутьМаппингПереносаПолей + ПостМаппингДоходы1, Данные);        
        ЛокКоллекцияСекции.Значение("ДопМаппинг") := ПостМаппингДоходы1;
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, ПостМаппингДоходы, "Бух70нДоходыСумма=sum(Credit+Debit),Бух70нСумма=sum(Credit + Debit)", "Бух70нДоходыСумма=Credit+Debit,Бух70нСумма=Credit+Debit");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(ПостМаппингДоходы,",")+","+
                                                      ДополнитьМаппингСуммами('Credit,Debit', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                      ПоляВыборкиГиперТекстДоходы, ЛокКоллекция.Values(кПарамГиперТекст));
        // производим выборку данных
        ПолучитьБухДоходы(ДанныеОднойСекции, ЛокКоллекцияСекции);
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстДоходы, "(Credit+Debit)"); 
      конец;       
      
    // Секция 3.  Бухгалтерия по финансированию за период
      Если выполнятьСекцию(данные,"Бух70нФинансированиеСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 1, 7, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Финансирование';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ПостМаппингФинансирование :=FixPumpMap(ФинансированиеВернутьМаппингПереносаПолей + ПостМаппингФин1, Данные);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 3. Суммы по финансированию за период';
        ЛокКоллекцияСекции.values("НомерСекции") := '1';
        ЛокКоллекцияСекции.values("ПрямыеРасходы") := "";
        ЛокКоллекцияСекции.values("ПлатежныеПоручения") := Нет;
        ЛокКоллекцияСекции.values("ДенежныеСредства") := "";
        ЛокКоллекцияСекции.values("ПлатРССсылка") := ЛокКоллекцияСекции.Values("РСФО");
        ЛокКоллекцияСекции.values("ВыбиратьПП") := Да;
        ЛокКоллекцияСекции.Values("ИсключатьСвободныеПлатежки"):=да;
        ЛокКоллекцияСекции.Значение("ДопМаппинг") := ПостМаппингФин1;
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, ПостМаппингФинансирование, "Бух70нФинансированиеСумма=sum(Debit+Credit),Бух70нСумма=Sum(Debit+Credit)", "Бух70нФинансированиеСумма=Debit+Credit,Бух70нСумма=Debit+Credit");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(ПостМаппингФинансирование,",")+","+ 
                                                    ДополнитьМаппингСуммами("Debit,Credit",ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстФинансирование, ЛокКоллекция.Values(кПарамГиперТекст));
        
       // выполняем выборку данных с помощью полученного запроса
        ПолучитьФинансированиеБух(ДанныеОднойСекции, ЛокКоллекцияСекции);
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстФинансирование, "(Debit+Credit)");  
      конец; 
             
      // Секция 4.  Бухгалтерия по списанию по окончанию финансового года
      Если выполнятьСекцию(данные,"Бух70нСвПроводкиСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 2, 26, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Списание по окончанию года';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 4. Суммы по списанию по окончанию финансового года.';
        ЛокКоллекцияСекции.values("НомерСекции") := '2';
        МаппингСвободныеПроводки := FixPumpMap(СвободныеПроводкиВернутьМаппингПереносаПолей + ПостМаппингСвободПроводки1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингСвободныеПроводки, "Бух70нСвПроводкиСумма=sum(Summa),Бух70нСумма=sum(Summa)", "Бух70нСвПроводкиСумма=Summa,Бух70нСумма=Summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") :=ВернутьПоляВыборки(МаппингСвободныеПроводки,",")+',' + ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстСвободныеПроводки, ЛокКоллекция.Values(кПарамГиперТекст));
        // производим выборку данных                
        ПолучитьСвободныеПроводкиБух(ДанныеОднойСекции, ЛокКоллекцияСекции);
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстСвободныеПроводки, "summa");
      конец;       
        
      // Секция удалена
      // Секция 6. Уведомления по взаимным расчетам (Бух70нУведПоВзаимнымСумма)
      
      // Секция удалена
      // Секция 7. Средства, полученные из других бюджетов (Бух70нСредстваПолучСумма)
        
  /* Закомментировано как устаревшая секция. Пока не удаляем на случай, если кто-то использует
      // Секция 8. Бухгалтерия по ссудам за период
      Если выполнятьСекцию(данные,"Бух70нСсудыСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 8, 5, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Ссуды';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 8. Суммы по ссудам за период';
        ПостМаппингСсуды := FixPumpMap(НачислениеПроцентовСсудыВернутьМаппингПереносаПолей + ПостМаппингСсуды1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, ПостМаппингСсуды, "Бух70нСсудыСумма=Sum(Summa),Бух70нСумма=Sum(Summa)", "Бух70нСсудыСумма=Summa,Бух70нСумма=Summa"); 
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(ПостМаппингСсуды,",")+","+ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                      ПоляВыборкиГиперТекстСсуды, ЛокКоллекция.Values(кПарамГиперТекст));
        ЛокКоллекцияСекции.Значение("Ссуды") := 1;                                              
        ПолучитьНачислениеПроцентовБух(ДанныеОднойСекции,ЛокКоллекцияСекции);                                              
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстСсуды, "summa");
      конец;
  */
  /* Закомментировано как устаревшая секция. Пока не удаляем на случай, если кто-то использует
      // Секция 9. Бухгалтерия по кредитам за период
      Если выполнятьСекцию(данные,"Бух70нКредитыСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 9, 4, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Кредиты';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 9. Суммы по кредитам за период';
        ПостМаппингКредиты := FixPumpMap(НачислениеПроцентовКредитыВернутьМаппингПереносаПолей + ПостМаппингКредиты1, Данные); 
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, ПостМаппингКредиты, "Бух70нКредитыСумма=Sum(Summa),Бух70нСумма=Sum(Summa)", "Бух70нКредитыСумма=Summa,Бух70нСумма=Summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(ПостМаппингКредиты,",")+","+ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                      ПоляВыборкиГиперТекстКредиты, ЛокКоллекция.Values(кПарамГиперТекст));
        ЛокКоллекцияСекции.Значение("Ссуды") := 0;                                                                                                  
        ПолучитьНачислениеПроцентовБух(ДанныеОднойСекции,ЛокКоллекцияСекции);                                              
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстКредиты, "summa");
      конец;       
  */      

      // Секция 10. Заимствования (получение и погашение кредитов)
      Если выполнятьСекцию(данные,"Бух70нЗаимствованияСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 10, 13, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Заимствования';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 10. Заимствования (получение и погашение кредитов) за период';
        ЛокКоллекцияСекции.values("НомерСекции") := '10';
        ПостМаппингЗаимствования := FixPumpMap(ЗаимствованияВернутьМаппингПереносаПолей + ПостМаппингЗаимствования1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, ПостМаппингЗаимствования, "Бух70нЗаимствованияСумма=sum(summa),Бух70нСумма=sum(Summa)", "Бух70нЗаимствованияСумма=summa,Бух70нСумма=Summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") :=ВернутьПоляВыборки(ПостМаппингЗаимствования,",")+','+ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере)); 
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстЗаимствования, ЛокКоллекция.Values(кПарамГиперТекст));      
        ЛокКоллекцияСекции.values("МаппингПерезакачкиБух") := МетаАлгоритмМаппингГиперТекст(ПоляВставкиГиперТекстЗаимствования, 12, ЛокКоллекция.Values(кПарамГиперТекст));                                                   
        ПолучитьЗаимствованияБух(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстЗаимствования, "summa");
      конец;
      
      // Секция 11.  Бухгалтерия по операциям со счетами за период
      Если выполнятьСекцию(данные,"Бух70нОперацииСоСчетамиСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 11, 28, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Операции со счетами';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 11. Суммы по операциям со счетами за период';
        ЛокКоллекцияСекции.values("НомерСекции") := '11';
        МаппингОперацииСоСчетами := FixPumpMap(ОперацииСоСчетамиВернутьМаппингПереносаПолей + ПостМаппингОперацииСоСчетами1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингОперацииСоСчетами, "Бух70нОперацииСоСчетамиСумма=sum(Summa),Бух70нСумма=sum(Summa)", "Бух70нОперацииСоСчетамиСумма=Summa,Бух70нСумма=Summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингОперацииСоСчетами,",")+','+ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстОперацииСоСчетами, ЛокКоллекция.Values(кПарамГиперТекст)); 
        // производим выборку данных
        ПолучитьОперацииСоСчетамиБух(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстОперацииСоСчетами, "summa");
      конец;       
             
  /* Закомментировано как устаревшая секция. Пока не удаляем на случай, если кто-то использует
      // Секция 12.  Бухгалтерия по гарантиям
      // временно исключается для 70Н
      Если выполнятьСекцию(данные,"Бух70нГарантииСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 12, 31, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Гарантии';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 12. Суммы по гарантиям за период';
        МаппингГарантии := FixPumpMap(ГарантииМаппингПереносаПолей + ПостМаппингГарантии1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингГарантии, "Бух70нГарантииСумма=sum(Debit+Credit),Бух70нСумма=sum(Debit+Credit)", "Бух70нГарантииСумма=Debit+Credit,Бух70нСумма=Debit+Credit");
        ЛокКоллекцияСекции.values("ПоляВыборки") :=ВернутьПоляВыборки(МаппингГарантии,",")+','+ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                  ПоляВыборкиГиперТекстГарантии, ЛокКоллекция.Values(кПарамГиперТекст));
        ЛокКоллекцияСекции.Значение("ДопМаппинг") := ПостМаппингГарантии1;                                                 
        // производим выборку данных
        ПолучитьБухГарантии(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстГарантии, "(Debit + Credit)");
      конец;       
  */
  /* Закомментировано как устаревшая секция. Пока не удаляем на случай, если кто-то использует
      // Секция 13.  Бухгалтерия по векселям
      если выполнятьСекцию(данные,"Бух70нВекселяСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 13, 21, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Векселя';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 13. Суммы по векселям за период';
        МаппингВекселя := FixPumpMap(ВекселяВернутьМаппингПереносаПолей + ПостМаппингВекселя1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингВекселя, "Бух70нВекселяСумма=sum(Nominal),Бух70нСумма=sum(Nominal)", "Бух70нВекселяСумма=Nominal,Бух70нСумма=Nominal");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингВекселя,",")+','+ДополнитьМаппингСуммами('Nominal', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстВекселя, ЛокКоллекция.Values(кПарамГиперТекст)); 
        ЛокКоллекцияСекции.Значение("ДопМаппинг") := ПостМаппингВекселя1;                                                 
        // производим выборку данных
        ПолучитьВекселяБух(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстВекселя, "Nominal");
      конец;
  */
      // Секция 14.  Роспись
      если (((ЛокКоллекция.Values("РСФО") = "") и (ЛокКоллекция.values("УчетФиктивныхРС") &lt;&gt; "0")) или (ЛокКоллекция.values("УчетФиктивныхРС") = Да)) и
        ВыполнятьСекцию(данные,"Бух70нРосписьСумма,Бух70нСумма") и МожноВыполнять(СписИнд, 14, 2, ЛокКоллекция) тогда
      начало
        Коллекция.values(спрмИмяБлока) := 'Роспись';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 14. Суммы по плановым показателям за период';
        ЛокКоллекцияСекции.values("НомерСекции") := '14';
        МаппингРоспись := FixPumpMap(РосписьВернутьМаппингПереносаПолей + ПостМаппингРоспись1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингРоспись, "Бух70нРосписьСумма=sum(summa),Бух70нСумма=sum(summa)", "Бух70нРосписьСумма=summa,Бух70нСумма=summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингРоспись,",") + ',' + ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстРоспись, ЛокКоллекция.Values(кПарамГиперТекст)); 
        // производим выборку данных
        ПолучитьБухРоспись(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстРоспись, "summa");
      конец;

  /* Закомментировано как устаревшая секция. Пока не удаляем на случай, если кто-то использует
      // Секция 15. Лимиты
      Если выполнятьСекцию(данные,"Бух70нЛимитыСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 15, 8, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Лимиты';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 15. Суммы по лимитам за период';
        МаппингЛимиты := FixPumpMap(ЛимитыВернутьМаппингПереносаПолей + ПостМаппингЛимиты1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингЛимиты, "Бух70нЛимитыСумма=sum(summa),Бух70нСумма=sum(summa)", "Бух70нЛимитыСумма=summa,Бух70нСумма=summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингЛимиты,",") + ',' + ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстЛимиты, ЛокКоллекция.Values(кПарамГиперТекст)); 
        // производим выборку данных
        ПолучитьБухЛимиты(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстЛимиты, "summa");
      конец;
  */
      // Секция 16. Обязательства                                        
      Если ((ЛокКоллекция.Values("РСФО")="")или(ЛокКоллекция.values("УчетФиктивныхРС")=Да))и 
        выполнятьСекцию(данные,"Бух70нОбязательстваСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 16, 16, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Обязательства';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 16. Суммы по обязательствам за период';
        ЛокКоллекцияСекции.values("НомерСекции") := '16';
        МаппингОбязательства := FixPumpMap(ОбязательстваВернутьМаппингПереносаПолей + ПостМаппингОбязательства1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингОбязательства, "Бух70нОбязательстваСумма=sum(summaDelta),Бух70нСумма=sum(summaDelta)", "Бух70нОбязательстваСумма=summaDelta,Бух70нСумма=summaDelta");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингОбязательства,",") + ',' + ДополнитьМаппингСуммами('summaDelta', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстОбязательства, ЛокКоллекция.Values(кПарамГиперТекст)); 
        // производим выборку данных
        ПолучитьБухОбязательства(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстОбязательства, "summaDelta");
      конец;
      
      // Секция 18. Уведомления
      Если выполнятьСекцию(данные,"Бух70нУведомленияСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 18, 55, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Уведомления';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 18. Суммы по уведомлениям за период';
        ЛокКоллекцияСекции.values("НомерСекции") := '18';
        МаппингУведомления := FixPumpMap(УведомленияВернутьМаппингПереносаПолей + ПостМаппингУведомления1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингУведомления, "Бух70нУведомленияСумма=sum(summa),Бух70нСумма=sum(summa)", "Бух70нУведомленияСумма=summa,Бух70нСумма=summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингУведомления,",") + ',' + ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстУведомления, ЛокКоллекция.Values(кПарамГиперТекст)); 
        // производим выборку данных
        ПолучитьБухУведомления(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстУведомления, "summa");
      конец;

      // Секция 19. Сводные уведомления
      Если выполнятьСекцию(данные,"Бух70нСводнУведомленияСумма,Бух70нСумма")и МожноВыполнять(СписИнд, 19, 44, ЛокКоллекция) тогда 
      начало
        Коллекция.values(спрмИмяБлока) := 'Сводные уведомления';
        ЛокКоллекцияСекции.Clear;
        ЛокКоллекцияСекции.PumpData(ЛокКоллекция);
        ЛокКоллекцияСекции.values("КоментарийСекции") := 'Бухгалтерия70н 19. Суммы по сводным уведомлениям за период';
        ЛокКоллекцияСекции.values("НомерСекции") := '19';
        МаппингСводныеУведомления := FixPumpMap(СводныеУведомленияВернутьМаппингПереносаПолей + ПостМаппингСводныеУведомления1, Данные);
        МаппингСекции := ПолучитьМаппингОднойСекции(Данные, ЛокКоллекцияСекции, МаппингСводныеУведомления, "Бух70нУведомленияСумма=sum(summa),Бух70нСумма=sum(summa)", "Бух70нУведомленияСумма=summa,Бух70нСумма=summa");
        ЛокКоллекцияСекции.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСводныеУведомления,",") + ',' + ДополнитьМаппингСуммами('Summa', ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
        ЛокКоллекцияСекции.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекцияСекции.values("ПоляВыборки"), 
                                                    ПоляВыборкиГиперТекстСводныеУведомления, ЛокКоллекция.Values(кПарамГиперТекст)); 
        // производим выборку данных
        ПолучитьБухСводныеУведомления(ДанныеОднойСекции, ЛокКоллекцияСекции);
        // перебрасываем полученные данные в итоговые СтатическиеДанные
        ПерекачатьБухгалтерскиеДанные(Данные, ДанныеОднойСекции, ЛокКоллекцияСекции, МаппингСекции, ПоляГруппировки, ПоляВставкиГиперТекстСводныеУведомления, "summa");
      конец;    
                  
    конец;
    
    // расчет сумм для полей по инструкции 70н 
    если ИспользоватьПромежуточныеДанные тогда
    начало    
      НачалоГода := НачальныеОграниченияПоДатам.НачалоГода;
      НачалоПериода := НачальныеОграниченияПоДатам.ДатаНачалаПериода;
      КонецПериода := НачальныеОграниченияПоДатам.ДатаКонцаПериода;
      Данные := Параметры.Values(АлгДанные);
      ФильтрПоБК := "";
      ОгрСчетДебет := "";
      ОгрСчетКредит := "";
      
      если ЕстьОдноИзПолей(ПромДанные, "БухСчет,БухКорСчет,КодСчета,КодКорСчета,НомерСчета,НомерКорСчета,БК70Н,ЭК70Н,КорБК,КорЭК") тогда
      начало
        если (Коллекция.Значение("БухСинтетСчет")&lt;&gt;"")или(Коллекция.Значение("БухСинтетКорСчет")&lt;&gt;"") тогда //сформируем ограничение по синтетическому счету
        начало
          Коллекция.Значение("БухСинтетСчет") := РасширитьОграничениеПоСанкционированию(Коллекция.Значение("БухСинтетСчет"));
          Коллекция.Значение("БухСинтетКорСчет") := РасширитьОграничениеПоСанкционированию(Коллекция.Значение("БухСинтетКорСчет"));
          ОгрСчетДебет := ОграничениеФильтр("БухСинтетСчет=БухСчетДебет%e,БухСинтетКорСчет=БухСчетКредит%e",коллекция);  
          ОгрСчетКредит := ОграничениеФильтр("БухСинтетСчет=БухСчетКредит%e,БухСинтетКорСчет=БухСчетДебет%e",коллекция);        
        конец;
        
        если (ЛокКоллекция.Значение("ИсключатьПоКорреспондирующимРС") = 1) и (ЛокКоллекция.Значение("РСФО") &lt;&gt; "")
          и ПромДанные.НайтиПоле("КорСчет1", nil) и ПромДанные.НайтиПоле("КорСчет2", nil) тогда
        начало
          если ЛокКоллекция.values("УчетФиктивныхРС") = да  тогда  //Null добавляется для тех алгоритмов, где не заполняются КорСчет1 и КорСчет2
            ЛокКоллекция.Значение("РСФО") := ЛокКоллекция.Значение("РСФО") + ",null";
          ОгрСчетДебет := ОгрСчетДебет + ОграничениеФильтр("РСФО=КорСчет2%d",коллекция);  
          ОгрСчетКредит := ОгрСчетКредит + ОграничениеФильтр("РСФО=КорСчет1%d",коллекция);              
        конец;

        если (ЛокКоллекция.Значение("ИсключатьПоПрямымРС") = 1) и (ЛокКоллекция.Значение("РСФО") &lt;&gt; "")
          и ПромДанные.НайтиПоле("КорСчет1", nil) и ПромДанные.НайтиПоле("КорСчет2", nil) тогда
        начало
          если ЛокКоллекция.values("УчетФиктивныхРС") = да тогда  //Null добавляется для тех алгоритмов, где не заполняются КорСчет1 и КорСчет2
            ЛокКоллекция.Значение("РСФО") := ЛокКоллекция.Значение("РСФО") + ",null";
          ОгрСчетДебет := ОгрСчетДебет + ОграничениеФильтр("РСФО=КорСчет1%d", ЛокКоллекция);  
          ОгрСчетКредит := ОгрСчетКредит + ОграничениеФильтр("РСФО=КорСчет2%d", ЛокКоллекция);              
        конец;

        если Коллекция.Значение("БК") &lt;&gt; '' тогда
        начало
          ОгрСчетДебет := ОгрСчетДебет + ОграничениеПоБК(Коллекция.Значение("БК"), "БКДебет", "ЭКДебет");
          ОгрСчетКредит := ОгрСчетКредит + ОграничениеПоБК(Коллекция.Значение("БК"), "БККредит", "ЭККредит");
        конец;
        
        если Коллекция.Значение("КОСГУ") &lt;&gt; '' тогда
        начало
          ЛокКоллекцияСекции.Clear;
          ЛокКоллекцияСекции.Значение("КЭСР") := Коллекция.Значение("КОСГУ");
          ЛокКоллекцияСекции.Значение("КЭСРЧек") := Коллекция.Значение("КОСГУЧек");
          ОгрСчетДебет := ОгрСчетДебет + ОграничениеФильтр("КЭСР=ЭКДебет%d", ЛокКоллекцияСекции);
          ОгрСчетКредит := ОгрСчетКредит + ОграничениеФильтр("КЭСР=ЭККредит%d", ЛокКоллекцияСекции);
        конец;

        // определяем данные оборотов (суммы дебета и кредита)      
        если ЕстьОдноИзПолей(ПромДанные, "Бух70нСуммаПоДебетуНаНачПериода,Бух70нСуммаПоКредитуНаНачПериода,Бух70нСуммаНаНачПериода")
          и (ЛокКоллекция.Значение("ПечатныйДокумент") &lt;&gt; да) тогда
        начало
          ПромДанные.Filtered := нет;
          ФильтерПоДате := "(ДатаПринятия&gt;="+строка(НачалоГода)+")and(ДатаПринятия&lt;"+строка(НачалоПериода)+")";
          ПромДанные.Filter := ФильтерПоДате+ОгрСчетДебет;          
          ПромДанные.Filtered := да;
          Данные.PumpData(ПромДанные,"Бух70нСуммаНаНачПериода=Бух70нСумма,Бух70нСуммаПоДебетуНаНачПериода=Бух70нСумма," +
            "КодСчета=КодСчетаДебет,НомерСчета=НомерСчетаДебет,"+
            "БК70Н=БКДебет,ЭК70Н=ЭКДебет,БухСчет=БухСчетДебет,"+
            "КодКорСчета=КодСчетаКредит,БухКорСчет=БухСчетКредит,"+
            "НомерКорСчета=НомерСчетаКредит,КорБК=БККредит,КорЭК=ЭККредит,БухРСФО=КорСчет2,ВариантКлсСчетКредит=0");

          ПромДанные.Filtered := нет;
          ПромДанные.Filter := ФильтерПоДате+ОгрСчетКредит;          
          ПромДанные.Filtered := да;
          Данные.PumpData(ПромДанные,"Бух70нСуммаНаНачПериода=Бух70нСумма,Бух70нСуммаПоКредитуНаНачПериода=Бух70нСумма,"+
            "КодСчета=КодСчетаКредит,НомерСчета=НомерСчетаКредит,"+
            "БК70Н=БККредит,ЭК70Н=ЭККредит,БухСчет=БухСчетКредит,"+
            "КодКорСчета=КодСчетаДебет,БухКорСчет=БухСчетДебет,"+
            "НомерКорСчета=НомерСчетаДебет,КорБК=БКДебет,КорЭК=ЭКДебет,Бух70нСумма=0,БухРСФО=КорСчет1,ВариантКлсСчетДебет=0");
        конец;
        если ЕстьОдноИзПолей(ПромДанные, "Бух70нСуммаПоДебету,Бух70нСуммаПоКредиту,Бух70нСумма") тогда
        начало
          ПромДанные.Filtered := нет;
          Если ЛокКоллекция.Значение("ПечатныйДокумент") &lt;&gt; да тогда            
            ФильтерПоДате := "(ДатаПринятия&gt;="+строка(НачалоПериода)+")and(ДатаПринятия&lt;="+строка(КонецПериода)+")"
          иначе
            ФильтерПоДате := "(1=1)";                
          ПромДанные.Filter := ФильтерПоДате+ОгрСчетДебет;          
          ПромДанные.Filtered := да;
          Данные.PumpData(ПромДанные,"Бух70нСуммаПоДебету=Бух70нСумма,"+
            "КодСчета=КодСчетаДебет,НомерСчета=НомерСчетаДебет,"+
            "БК70Н=БКДебет,ЭК70Н=ЭКДебет,БухСчет=БухСчетДебет,"+
            "КодКорСчета=КодСчетаКредит,БухКорСчет=БухСчетКредит,"+
            "НомерКорСчета=НомерСчетаКредит,КорБК=БККредит,КорЭК=ЭККредит,БухРСФО=КорСчет2,ВариантКлсСчетКредит=0");
          
          ПромДанные.Filtered := нет;
          ПромДанные.Filter := ФильтерПоДате+ОгрСчетКредит;          
          ПромДанные.Filtered := да;
          Данные.PumpData(ПромДанные,"Бух70нСуммаПоКредиту=Бух70нСумма,"+
            "КодСчета=КодСчетаКредит,НомерСчета=НомерСчетаКредит,"+
            "БК70Н=БККредит,ЭК70Н=ЭККредит,БухСчет=БухСчетКредит,"+
            "КодКорСчета=КодСчетаДебет,БухКорСчет=БухСчетДебет,"+
            "НомерКорСчета=НомерСчетаДебет,КорБК=БКДебет,КорЭК=ЭКДебет,Бух70нСумма=0,БухРСФО=КорСчет1,ВариантКлсСчетДебет=0");
        конец;
      конец
      иначе // если нет одного из БухСчет,БухКорСчет,КодСчета,КодКорСчета,НомерСчета,НомерКорСчета,БК70Н,ЭК70Н,КорБК,КорЭК
        начало
          если Коллекция.Значение("БК") &lt;&gt; '' тогда
            ФильтрПоБК := ФильтрПоБК + " and (((1 = 1)" + ОграничениеПоБК(Коллекция.Значение("БК"), "БКДебет", "ЭКДебет") +
              ") or ((1 = 1)" + ОграничениеПоБК(Коллекция.Значение("БК"), "БККредит", "ЭККредит") + "))";

          если Коллекция.Значение("КОСГУ") &lt;&gt; '' тогда
          начало
            ЛокКоллекцияСекции.Clear;
            ЛокКоллекцияСекции.Значение("КЭСР") := Коллекция.Значение("КОСГУ");
            ЛокКоллекцияСекции.Значение("КЭСРЧек") := Коллекция.Значение("КОСГУЧек");
            ФильтрПоБК := ФильтрПоБК + " and (((1 = 1) " + ОграничениеФильтр("КЭСР=ЭКДебет%d", ЛокКоллекцияСекции) +
              ") or ((1 = 1) " + ОграничениеФильтр("КЭСР=ЭККредит%d", ЛокКоллекцияСекции) + "))";
          конец;

          Если Данные.НайтиПоле("Бух70нСуммаНаНачПериода", nil) и (ЛокКоллекция.Значение("ПечатныйДокумент") &lt;&gt; да) тогда
          начало
            ФильтерПоДате := "(ДатаПринятия&gt;="+строка(НачалоГода)+")and(ДатаПринятия&lt;"+строка(НачалоПериода)+")";
            ПромДанные.Filtered := нет;
            ПромДанные.Filter := ФильтерПоДате+ФильтрПоБК;          
            ПромДанные.Filtered := да;
            Данные.PumpData(ПромДанные,"Бух70нСуммаНаНачПериода=Бух70нСумма,Бух70нСумма=0");
          конец;
          Если Данные.НайтиПоле("Бух70нСумма", nil) тогда
          начало
            Если ЛокКоллекция.Значение("ПечатныйДокумент") &lt;&gt; да тогда            
            начало
              // за период
              ПромДанные.Filtered := нет;          
              ПромДанные.Фильтр:="(ДатаПринятия&gt;="+строка(НачалоПериода)+")and(ДатаПринятия&lt;="+строка(КонецПериода)+")"+ФильтрПоБК;
              ПромДанные.Filtered := да;
            конец;
            Данные.Закачать(ПромДанные, "");
            ПромДанные.Filtered:=нет;
          конец;
        конец;
    конец; 

    если ЕстьОдноИзПолей(Данные, "БухСчет") и ЕстьОдноИзПолей(Данные, "Баланс")
      и (Коллекция.Значение("ИсключатьВнутренниеОбороты70Н") = 1) тогда 
    начало
      //Если в выборке есть классификатор баланса, БухСчет и в коллекции включен параметр ИсключатьВнутренниеОбороты70Н, 
      //то в конце накладывается дополнительный фильтр: 
      //если баланс=1.2 или 2.2 (внутренние операции) и БухСчет=константе, то эти записи фильтруются
      ЛокКоллекция.Значение("БухСинтетСчет") := Разыменовать("БухСчет.Код", ПолучитьКонстантуКэш("ТранзитныйБухСчет", 60, 23, 0));
      Если ЛокКоллекция.Значение("РасширБухСчет70нЧек") = 0 тогда
        ЛокКоллекция.Значение("БухСинтетСчет") := ЦелоеВСтроку(ЛокКоллекция.Значение("БухСинтетСчет") цел 1000) + "00" + 
          ФорматироватьКлассификатор(ЛокКоллекция.Значение("БухСинтетСчет") ост 1000, ВернутьмаскуКлассификатора("КЭСР"));
      Данные.Фильтр := "(1=1)" + Ограничение("БухСинтетСчет=((Баланс=12)or(Баланс=22))and(БухСчет%e)", ЛокКоллекция);
      Данные.Filtered := да;
      Данные.Clear;
      Данные.Фильтр := "";
      Данные.Filtered := нет;
    конец;
      
    Данные.PumpData(СтарыеДанные, "");
      
    ПараметрыАлгоритмов := Параметры.Значение(АлгПараметры);
    Если (ПараметрыАлгоритмов&lt;&gt;nil) и (ТекстПараметров&lt;&gt;nil)тогда
    начало
      ТекстПараметров.values("НоваяДатаНачалаПериода"):=НоваяНачальнаяДата;
      // значения по умолчанию для ЭК выбытия и поступления. 
      // помещаем в коллекцию параметров вывода, так как просто коллекция параметров является локальной для алгоритма и восстановится после его выполнения
      // по коллекции параметров делается проверка на то, что данный параметр не перектыт с шаблона отчета.
      // самим перекидывать в этом случае значения в коллекцию параметров вывода нет необходимости - сами перекинутся в системных макросах. 
      если не ПараметрыАлгоритмов.ПараметрСуществует("ЭКВыбытия") тогда 
        ТекстПараметров.values("ЭКВыбытия") := "200-399,500-599,800-899";
      если не ПараметрыАлгоритмов.ПараметрСуществует("ЭКПоступления") тогда  
        ТекстПараметров.values("ЭКПоступления") := "100-199,400-499,600-799";
    конец;  
  обязательно 
    УдалитьОбъект(ДанныеОднойСекции, СписИнд);
  конец;
конец.
</value>
    <param value="Бухгалтерия70н" type="3" name="Export">MARAEVA7\baranova\19.07.2012 13:09:57</param>
    <param value="Бухгалтерия70н" type="3" name="version">36.042.90</param>
    <param value="Бухгалтерия70н" type="3" name="crc32">$EA11ABB1</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12200200</V>
            <V N="Name">Оборотная ведомость (сокращенная) с итогами</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.20.02) Оборотная ведомость 70н с итогами.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Оборотная ведомость по синтетическим счетам по инструкции 70н с подведением итогов по коду счета и первому разряду КОСГУ</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12310100</V>
            <V N="Name">Списание сумм по окончании финансового года</V>
            <V N="Params">Бюджет</V>
            <V N="Template">(12.31.01) Списание сумм по окончании финансового года.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">0</V>
            <V N="Note">Списание сумм по окончании финансового года</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12320100</V>
            <V N="Name">Журнал регистрации бюджетных обязательств</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,ПериодПланирования</V>
            <V N="Template">(12.32.01) Журнал регистрации бюджетных обязательств.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12300100</V>
            <V N="Name">Уведомление о лимитах бюджетных обязательств</V>
            <V N="Params">Бюджет,РСФО,ОднаДата,НомерДокПрост,НомерДок,Классификаторы,Баланс,ВидДеятельности,РасширБухСчет70н,ПериодПланирования</V>
            <V N="Template">(12.30.01) Уведомление о лимитах бюджетных обязательств.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Документ предназначен для отражения лимитов бо, заведенных по кварталам.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12220400</V>
            <V N="Name">Выписка из сводного реестра поступлений и выбытий средств бюджета</V>
            <V N="Params">Бюджет,РСФО,ОднаДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ГиперДокумент,КодДоходаАдм,ПериодПланирования</V>
            <V N="Template">(12.22.04) Выписка из сводного реестра поступлений и выбытий.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12230200</V>
            <V N="Name">Карточка учета бюджетных ассигнований</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Template">(12.23.02) Карточка учета бюджетных ассигнований.xlc</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,Баланс,ВидДеятельности,Организация,ИНН,КПП,Наимен,РасширБухСчет70н,ПериодПланирования,ГиперДокумент</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12010100</V>
            <V N="Name">Оборотная ведомость 173н (1 раздел)</V>
            <V N="Params">Бюджет,РСФО,Даты,Месяц,Год,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ВыводНомераСчета,ПериодПланирования,ГиперДокумент</V>
            <V N="Template">(12.01.01) Оборотная ведомость(1).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12010200</V>
            <V N="Name">Оборотная ведомость 173н (2 раздел)</V>
            <V N="Params">Бюджет,РСФО,Даты,Месяц,Год,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ВыводНомераСчета,ПериодПланирования,ГиперДокумент</V>
            <V N="Template">(12.01.02) Оборотная ведомость(2).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12010300</V>
            <V N="Name">Оборотная ведомость 173н</V>
            <V N="Params">Бюджет,РСФО,Даты,Месяц,Год,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,РасширБухСчет70н,ВыводНомераСчета,ПериодПланирования,ГиперДокумент</V>
            <V N="Template">12010100,12010200</V>
            <V N="Generation">КомпозицияОтчетов</V>
            <V N="Options">0</V>
            <V N="Note">Обобщение за месяц данных бухгалтерского учета в разрезе счетов аналитического учета финансовых активов и обязательств.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">12050100</V>
            <V N="Name">Главная книга за день</V>
            <V N="Params">Бюджет,РСФО,ОднаДата,Классификаторы,БухСинтетСчет,Баланс,ВидДеятельности,КОСГУ,БК,РасширБухСчет70н,ВыводНомераСчета,ПериодПланирования,ГиперДокумент</V>
            <V N="Template">(12.05.01) Главная книга за день.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">98304</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.90</param>
  </node>
  <version_info>
    <file>Сборка(13)Заимствования.xml</file>
    <version>36.042.11</version>
    <info>Отчеты по заимствованиям</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:41</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Заимствования">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить 'Бюджет\Ресурсы\Библиотеки\Variables.lib';
включить "Бюджет\Ресурсы\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "Бюджет\Ресурсы\Макросы\Запросы\ЗапросыЗаимствования.abl";
включить "Бюджет\Ресурсы\Макросы\Запросы\ЗапросыГарантии.abl";

Заимствования(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;  
  
константы
  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';       
  
функция ВыполнитьСекцииЗаимствования(данные: статическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингЗаимствования : строка;
  МаппингСекции : строка;
  ОграниченияПоДатам:IDataLimit;
  МаппингГиперТекст : Строка;  
начало
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);  
  Если Не НадоВыполнятьАлгоритм(13, ЛокКоллекция) тогда выход;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;   
     
  ПостоянныйМаппингЗаимствования := FixPumpMapEx(ЗаимствованияВернутьМаппингПереносаПолей, Раскладка);
  
  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);

  ЛокКоллекция.values("ИспользоватьПоляВыборки") :=да;
  
 //  Секция 0. Заимствования на начало периода
  Если ВыполнятьСекцию(данные,"КредитНаНачалоПериода,ДебетНаНачалоПериода,ЗаимствованияКредитНаНачалоПериода,ЗаимствованияДебетНаНачалоПериода")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Заимствования.0. Заимствования на начало период(Доходы)'; 
    // производим выборку данных
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода; 
    МаппингСекции :=  ПостоянныйМаппингЗаимствования+","+
      FixPumpMapEx("КредитНаНачалоПериода=Credit,ДебетНаНачалоПериода=Debit,ЗаимствованияКредитНаНачалоПериода=Credit,ЗаимствованияДебетНаНачалоПериода=Debit", Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
    //  закачиваем чтонибудь одно
    Если ЛокКоллекция.Значение("ПолучитьБух") = 1 
      тогда получитьЗаимствованияБух(ДанныеОднойСекции, ЛокКоллекция)    
      иначе получитьЗаимствования(ДанныеОднойСекции, ЛокКоллекция);
    // перекачиваем полученные данные в результирующий набор данных
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
    // Если надо с гарантиями
    попытка
      если Коллекция.Значение("СГарантиями") = 1 тогда
      начало
        МаппингСекции :=  "Примечание=DetNote," + ПостоянныйМаппингЗаимствования+","+
          FixPumpMapEx("КредитНаНачалоПериода=Credit,ДебетНаНачалоПериода=Debit,ЗаимствованияКредитНаНачалоПериода=Credit,ЗаимствованияДебетНаНачалоПериода=Debit", Раскладка);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));    
        ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
        ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
      конец;
    неудача
    конец;
  конец;
   
//  Секция 1. Заимствования за период
  Если ВыполнятьСекцию(данные,"КредитЗаПериод,ДебетЗаПериод,ЗаимствованияКредитЗаПериод,ЗаимствованияДебетЗаПериод")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Заимствования.1. Заимствования за период(Доходы)'; 
    // производим выборку данных
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    МаппингСекции :=  ПостоянныйМаппингЗаимствования+","+
      FixPumpMapEx("КредитЗаПериод=Credit,ДебетЗаПериод=Debit,ЗаимствованияКредитЗаПериод=Credit,ЗаимствованияДебетЗаПериод=Debit", Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                          ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));    
    //  закачиваем чтонибудь одно
    Если ЛокКоллекция.Значение("ПолучитьБух") = 1 
      тогда получитьЗаимствованияБух(ДанныеОднойСекции, ЛокКоллекция)    
      иначе получитьЗаимствования(ДанныеОднойСекции, ЛокКоллекция);
    // перекачиваем полученные данные в результирующий набор данных
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    // Если надо с гарантиями
    попытка
      если Коллекция.Значение("СГарантиями") = 1 тогда
      начало
        МаппингСекции :=  "Примечание=DetNote," + ПостоянныйМаппингЗаимствования+","+
          FixPumpMapEx("КредитЗаПериод=Credit,ДебетЗаПериод=Debit,ЗаимствованияКредитЗаПериод=Credit,ЗаимствованияДебетЗаПериод=Debit", Раскладка);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));    
        ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
        ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
      конец;
    неудача
    конец;
  конец;
  интерфейс(ДанныеОднойСекции).Освободить;
конец;  
  
// ОСНОВНАЯ ЧАСТЬ  
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);    
  // выбираем данные по секциям
  ВыполнитьСекцииЗаимствования(данные, Ограничения);
конец.
</value>
    <param value="Заимствования" type="3" name="version">36.042.11</param>
    <param value="Заимствования" type="3" name="crc32">$58EEDA9F</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыЗаимствования.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
константы
  nl = #13#10;
  МаппингЗаимствования1 = 'Бюджет=dbt.BudgetRef,Район=dbt.RegionCLS,СубКодДохода=dbt.SubKD,ТипПлатДок=dbt.DocType,ИстВнутрФин=ifs.FinSourceValue%l,БухОперация=dbt.BuhOperationCLS%d,';
  МаппингЗаимствования2 = ',Валюта=dbt.CURRENCYCLS,Бухпроводка=dbt.BUHPAYMENTCLS,КодЗаписи=dbt.id%d,Сумма=(dbt.Credit%f)or(dbt.Debit%f),ВидДеятельности=mt.ActivityKind%d,НомерДокИсточн=dbt.SourceDocNumber%s';
  МаппингЗаимствования3 = ',ИндексыДанных=dbt.ProgIndex,ОргСсылка=oa.Org_Ref,НомерСправки=dbt.SOURCEDOCNUMBER%s,НомерДокИсточн=dbt.SourceDocNumber%s,ВидЗаим=lc.DebtType,ДатаВремяСоздания=dbt.CreateDate,ДатаВремяИзменения=dbt.UpdateDate';
  МаппингЗаимствования4 = ',КодДокумента=fc.id,СписокДоговоровПоКредитамИГарантиям=lc.id,ТипОрг=o.Org_CLS,ФедеральныеСредства=dbt.FEDERALFUNDSREF,ТипСредствБюдж=dbt.Meanstype';
  МаппингЗаимствования5 = ",БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d)";
  МаппингЗаимствования6 = ",Баланс=bac.BalanceCls%d,НомерДок=pd.NUMBER%s,НомерФедРеестра=q.ReestrNumber%s,ЛицСчет=lc.FacialAcc_CLS%d,ТипДеятельности=mt.ActivityType%d";
  
функция ЗаимствованияВернутьМаппингПереносаПолей : Строка;
начало
  Результат := "НомерРеестра=SOURCEDOCNUMBER,НомерРаспоряжения=SourceDocNumber,НомерДокумента=PDNumber,Регион=RegionCls,Дата=Acceptdate,ДатаПринятия=Acceptdate,ИсточникВнутрФинансирования=IFS,ИсточникВнутрФинансированияКлюч=ifsid," +
        "СубКД=SubKD,ТипДокумента=DocType,Автор=CreaterUser,Кредит=Credit,Дебит=Debit,ИндексАлгоритма=AlgIndex,РСКредит=AccCredit,РСДебет=AccDebit,ВидЗаим=DebtType," +
        "Организация=Org_Ref,ОрганизацияЗаголовок=OrgCaption,Примечание=Note,ИндексыДанных=ProgIndex,КодВалюты=CURRENCYCLS,СуммаВалюта=CURRENCYSUM,КурсВалюты=EXCHANGE,ИзменениеКурса=DELTA" + 
        ",БухПроводка=BuhPaymentCLS,РСФО=DFAccount,КодЗаписи=id,КодЗаписиЗаголовок=RecordIndex,ДатаУчета=RecordDate,ДатаДоговора=InputDate,НомерДоговора=Number,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate," +
        "ДатаРеестра=MakeDate,СчетРаспорядителя=AccCredit,СчетПолуч=ACCEPTORACCREF,НомерЗаголовка=CapNumber,КодДокумента=CapID,ДатаПлана=PlanDate,ФедеральныеСредства=FederalData,ТипСредств=MeansType," +
        "НомерПД=PDNumber,ДатаОтправления=SendDate,ДатаПринятияПП=PDDate,ПримечаниеЗаголовка=UserNote,ДатаПринятияРаспоряжения=AcceptDate,ДатаВвода=DateInput,КодБюджета=BudgetRef,ЛицевойСчет=FacialAcc_CLS,"+

        "БухОперация=BuhOperationCLS,ИсточникКорКлюч=IFSCORR_REF,ИсточникКор=IFS_CORR,БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17," + 
        "ЭККредит=CreditDocEK%d,ЭКДебет=DebitDocEK%d,Баланс=BalanceCls," +
        "КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,НомерСчетаДебет=DebitNumberAcc70n%s28,НомерСчетаКредит=CreditNumberAcc70n%s28,"+
        "БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f,СчетПлат=DFAccount,"+
        "БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,"                                                   
        "БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue,ВидДеятельности=ActivityKind,ТипКлассификации=ClsType";
конец;  
    
функция ЗапросЗаимствования(Коллекция:IVariables):строка;
  переменные
  ОгрПоДате,ОгрПоДатеПП, ОгрПодатеОтправки : строка;
  ОгрПоКлассификации, ОгрДоп : строка;
  ОгрПоБухБюджету, ОгрПоРС,ОгрПоУчетуФиктивныхРС : строка;
  ОграничитьПоФедеральнымСредствам : Строка;
  ОграничитьСКазначейством: строка;
  МаппингЗаимствования : строка;
  Комментарий: строка;
  Запрос: Строка;
  ОгрПоПустымБухСчетам : строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, 'Запрос Заимствования.');
  
  ОгрПоДатеОтправки := ""; 
  ОгрПоБухБюджету := Ограничение("Бюджет=dfbt.BudgetRef",Коллекция);
  // формируем ограничение по дате
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=dbt.AcceptDate,ДатаПринятияТип=dbt.AcceptDate', Коллекция, 'dbt.AcceptDate');
  если Коллекция.Значение("ДатаОтправленияТипЧек") = 1 тогда
  начало
    ОгрПоДатеОтправки := ПолучитьОграничениеПоТипуДаты("ДатаОтправленияТип=pde.SendDate", Коллекция, "pde.SendDate");
    ОгрПоДатеОтправки := "and("+
    "(((dbt.debit&lt;=0)or not (dbt.DocType between 1010 and 1019))"+ОгрПоДате+" )or"+
    "((dbt.DocType between 1010 and 1019)and (dbt.debit&gt;0)"+ОгрПоДатеОтправки+"))";
    если Коллекция.Values("БухОгрПоДате") &lt;&gt; да тогда
      ОгрПоДате := "";
  конец;
  если Коллекция.Values("БухОгрПоДате")=да тогда
  начало
    ОгрПоДатеПП := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=pd.AcceptDate,ДатаПринятияТип=pd.AcceptDate', Коллекция, 'pd.AcceptDate');  
    ОгрПоДате := "and("+
    "(((dbt.debit&lt;=0)or not (dbt.DocType between 1010 and 1019))"+ОгрПоДате+" )or"+
    "((dbt.DocType between 1010 and 1019)and (dbt.debit&gt;0)"+ОгрПоДатеПП+"))";
  конец;
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  
  МаппингЗаимствования := МаппингЗаимствования1+МаппингЗаимствования2+МаппингЗаимствования3
                          +МаппингЗаимствования4 + МаппингЗаимствования5+МаппингЗаимствования6;
                          
  ОгрПоПустымБухСчетам:='';
  если Коллекция.values("НеВключатьПустыеБухСчета")=да
    тогда ОгрПоПустымБухСчетам:= " and (DebitAP.id IS NOT NULL ) and (CreditAP.id IS NOT NULL ) ";
                         
  // базовые ограничения  
  ОгрПоКлассификации := Ограничение(МаппингЗаимствования, Коллекция);
  если УбратьПробелы(Коллекция.Значение("БюджОргСсылка")) &lt;&gt; "" тогда
    ОгрПоКлассификации := ОгрПоКлассификации + " and (1 = 2)";
  если УбратьПробелы(Коллекция.Значение("РаспОргСсылка")) &lt;&gt; "" тогда
    ОгрПоКлассификации := ОгрПоКлассификации + " and (1 = 2)";
    
  // Ограничение по РС
  ОгрПоУчетуФиктивныхРС := "";
  если Коллекция.values("УчетФиктивныхРС")=да тогда 
    ОгрПоУчетуФиктивныхРС := " or(dfbt.Fixed&lt;&gt;0)";
  если Коллекция.Значение("ОргПоСчетуПолучателя") = 1 тогда
    ОгрПоРС := Ограничение('РСФО=dbt.AcceptorAccRef%d',Коллекция) 
  иначе
    ОгрПоРС := Ограничение('РСФО=(dbt.DFAccount%d)'+ОгрПоУчетуФиктивныхРС,Коллекция);   

  // ограничения по федеральным средствам
  Если (Коллекция.Значение("ДанныеТолькоФедеральныхРеестров") = 1)
    тогда ОграничитьПоФедеральнымСредствам := 'and ( not (dbt.FEDERALFUNDSREF is null)) '
    иначе ОграничитьПоФедеральнымСредствам := '';
    
  если (Коллекция.Значение("УчитыватьДанныеКредитовИСсудСкопированныеВКазначейство") = 1) 
    тогда ОграничитьСКазначейством := ""   
    иначе ОграничитьСКазначейством := " and not (dbt.progindex in (131,132) and dbt.recordindex2 is not null) ";  
      
  // дополнительные ограничения
  ОгрДоп := Коллекция.Values("ДопПараметры");

  // настраиваем запрос
  запрос := 
      "select "+nl+
      " dbt.id,dbt.AcceptDate,pd.AcceptDate PDDate,dbt.SubKD,dbt.DocType,lc.DateInput, dbt.BudgetRef, "+nl+
      " dbt.RegionCLS,ifs.FinSourceValue IFS, dbt.IFS ifsid,oa.Org_Ref,dbt.SOURCEDOCNUMBER,cast(13 as integer) AlgIndex,"+nl+
      " dbt.Debit, dbt.Credit, dbt.ProgIndex, dbt.DFACCOUNT, dbt.Note, lc.DebtType, lc.FacialAcc_CLS,"+nl+
      " dbt.CreaterUser,dbt.DFAccount Acc1,dbt.DFAccount Acc2, dbt.OFS, dbt.FEDERALFUNDSREF FederalData , dbt.MeansType, "+nl+
      " dbt.BUHPAYMENTCLS, dbt.RecordDate,dbt.PlanDate,dbt.RecordIndex,lc.number,lc.dateinput,lc.dateinput InputDate,lc.org_ref OrgCaption, lc.DebtType,"
      // код валюты, сумма в валюте, курс и изменение курса
      " dbt.CURRENCYCLS CURRENCYCLS, dbt.CURRENCYSUMMA CURRENCYSUM, IncCur.EXCHANGE EXCHANGE, IncCur.DELTA  DELTA,"+ nl + 
      " (dbt.Debit + dbt.Credit) Summa,dbt.CreateDate,dbt.UpdateDate, "+nl+
      " dbt.AccRef AccCredit,dbt.DFAccount AccDebit,pd.Summa PDSumma,(pd.Credit+pd.Debit) PDSumma70n,"+nl+
      " fc.MakeDate, fc.Number CapNumber, fc.ID CapID, dbt.ACCEPTORACCREF,"+nl+
      " cast(pd.Number as varchar(20)) PDNumber, pde.SendDate, fc.UserNote "  + nl +
      " ,dbt.BuhOperationCLS, dbt.IFS_CORR IFSCORR_REF, mt.ActivityKind, " + nl +
      "bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
      "CreditAP.ECCLS bacCreditKESR," + nl +
      "DebitAP.ECCLS bacDebitKESR,CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue,"+ nl +     
      " ifs_cor.FinSourceValue IFS_CORR, df_ifs.FinSourceValue DFIFSValue, dfbt.IFS DFBTIFS_Ref, dfbtBAP.BuhAcc DFBuhAccFO," + nl +
      " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
      " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," + nl +                                                     
      " cast (1 as integer) clstype " +                                                     
      " from "+nl+
      " debt dbt "+nl+
      " left join FinDocCaption fc on (fc.id = dbt.TotalRef)"+nl+
      " left join org_accounts oa on(dbt.accref = oa.id) "+nl+
      " left join PayDoc32 pd on (pd.RecordIndex = dbt.id) "+nl+
      " left join dfAccountsBuhTable dfbt on (dbt.DFAccount = dfbt.id)"+ОгрПоБухБюджету+nl+
      " left join BuhAccPlan dfbtBAP on (dfbtBAP.ID = dfbt.FinOrgAccRef)" + nl +   
      " left Join INCCURRENCY IncCur on (IncCur.id=dbt.RecordIndex2)"+nl+
      " left join LoanCredit Lc on (lc.id=dbt.recordindex)"+nl+
      " left join Organizations o on (oa.Org_Ref = o.id)"+ nl + 
      " left join InnerFinSource ifs on (ifs.id = dbt.ifs)" + nl +
      " left join InnerFinSource ifs_cor on (ifs_cor.id = dbt.IFS_CORR)" + nl +
      " left join InnerFinSource df_ifs on (df_ifs.id = dfbt.IFS)" + nl +
      " left join PayDocExchange pde on (pde.PayDocRef = pd.id)" +nl+
      " left join incomes32 inc on (dbt.FEDERALFUNDSREF = inc.id) " + nl +
      " left join quotestitle q on (inc.recordindex = q.id) " + nl +
      " left join MeansType mt on (mt.ID = dbt.MeansType) " + nl +
      " left join BuhAccCorr bac on (bac.BuhOperationCLS = dbt.BuhOperationCLS)" + nl +
      " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
      " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
      " left join BuhOperationCLS boCLS on (boCLS.id = dbt.BuhOperationCLS)" + nl +    
      " where "+nl+
      " (1 = 1)"+nl+ 
      ОгрПоДате+nl+
      ОгрПоДатеОтправки+nl+
      ОгрПоДатамБухОпераций + nl +
      ОгрПоРС+nl+
      ОграничитьПоФедеральнымСредствам + nl+
      ОгрПоКлассификации + ОгрДоп + ОгрПоПустымБухСчетам + nl +
      ОграничитьСКазначейством;
  Результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);    
конец;

функция ПолучитьЗаимствования(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  ВременныеДанные : СтатическиеДанные;
начало
  попытка
    // из за группировок на статиксете куча лишнего гемора!!!
    если Коллекция.Values(кПарамГиперТекст)
    тогда начало
      ВременныеДанные := СоздатьСтатическиеДанные;
      попытка
        //для бухгалтерии 70н
        CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ЗаимствованияВернутьМаппингПереносаПолей + Коллекция.Значение("ДопМаппинг"), nil, ВременныеДанные);
        //Создавать недостающие поля запросом
        ВременныеДанные.DefProps("Options") := "+sdoDefaultFields";        

        ВременныеДанные.Запрос:="[PumpData]" + ЗапросЗаимствования(Коллекция);
        ПолучитьДанные(ВременныеДанные, Коллекция);
        //основные данные
        // очищаем СтатическиеДанные от полей
        Данные.Закрыть;
        // очищаем набор полей СтатическихДанных
        Данные.DestroyFields;
        //добавляем нужные поля
        Данные.ПрисвоитьПоля(ВременныеДанные);
        Данные.CreateDataField(ПолеХранениеГиперТекст, 15, 0, Нет);
        Данные.Открыть;
        Данные.PumpData(ВременныеДанные, '');
      обязательно  
        УдалитьОбъект(ВременныеДанные);
      конец; 
    конец
    иначе
    начало
      //для бухгалтерии 70н
      CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ЗаимствованияВернутьМаппингПереносаПолей, nil, Данные);
      //Создавать недостающие поля запросом
      Данные.DefProps("Options") := "+sdoDefaultFields";        

      Данные.Запрос:="[PumpData]" + ЗапросЗаимствования(Коллекция);
      ПолучитьДанные(Данные, Коллекция);
    конец;  
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьЗаимствованияБух70н(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  ВремДанные : СтатическиеДанные;
  ЛокКоллекция: IVariables;
начало
  попытка
    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    Данные.Запрос := ""; 
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;
    ВремДанные := СоздатьСтатическиеДанные;
 
    ЛокКоллекция := CreateVariables; 
    ЛокКоллекция.PumpData(Коллекция);
    ПолучитьЗаимствования(Времданные, ЛокКоллекция);
    Данные.AssignFields(ВремДанные);
    Данные.Открыть; 
    Данные.Закачать(ВремДанные);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

константы
  МаппингСвязанныхПолейОбщий1 = "%EС=IFS,IFSCORR_REF;Summa=PDSumma70n;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=IFS,IFSCORR_REF,DFBTIFS_Ref;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьЗаимствованияБух(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  поляВыборки: строка;
  ВремДанные : СтатическиеДанные;
начало
  // Формируем по 70Н
  Коллекция.Values("БухОгрПоДате") := да;
  поляВыборки := Коллекция.Values("ПоляВыборки");
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4, Коллекция) + ",PDDate,DFBuhAccFO"; 
  Коллекция.Values("ПоляВыборки"):= Коллекция.Values("ПоляВыборки")+','+
    ДополнитьПоляВыборки('debit,Credit,summa', Коллекция.Values(кПарамГруппироватьНаСервере));     
  попытка
    ПолучитьЗаимствованияБух70н(Данные, Коллекция);
    ВремДанные := СоздатьСтатическиеДанные;
    попытка
      ВремДанные.AssignFields(Данные);
      ВремДанные.Открыть;
      Данные.Filtered := нет;
      Данные.Filter := "(PDDate&lt;&gt;0)";
      Данные.Filtered := да;
      ВремДанные.PumpData(Данные, "Summa=PDSumma70n,AcceptDate=PDDate");
      Данные.Clear;  
      Данные.Filtered := нет;
      Данные.Закачать(ВремДанные);    
    обязательно
      УдалитьОбъект(ВремДанные);
    конец;        
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=_,КорВидКлс=_,ВидДеятельности=ActivityKind,'+
      'КВСР=_,КЦСР=_,КФСР=_,КВР=_,КЭСР=_,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФ=IFS,КорИВФКлюч=IFSCORR_REF,КД=_,КорКД=_,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=_,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=DFBTIFS_Ref,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=DFBTIFS_Ref,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,Сумма=Debit,СуммаВозвратнойОперации=Credit,'+
      'БухОперация=BuhOperationCLS,БухСчетФОДебет=DFBuhAccFO,БухСчетФОКредит=DFBuhAccFO',
      Данные,'2','4',коллекция);
  обязательно
    Коллекция.Values("ПоляВыборки") := поляВыборки;
  конец;
конец;
</value>
    <param value="ЗапросыЗаимствования.abl" type="3" name="version">36.042.11</param>
    <param value="ЗапросыЗаимствования.abl" type="3" name="crc32">$B8626B52</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">13010100</V>
            <V N="Name">Заимствования</V>
            <V N="Params">Бюджет,РСФО,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,БухОперация,СубКодДохода,ТипПлатДок,Район,ИстВнутрФин,ВидЗаим,Организация,ИНН,КПП,СписокДоговоровПоКредитамИГарантиям</V>
            <V N="Template">(13.01.01) Заимствования.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Формирует информацию о заимствованиях за указанный период.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.11</param>
  </node>
  <version_info>
    <file>Сборка(14)Инкассовые.xml</file>
    <version>36.042.05</version>
    <info>Отчеты по инкассовым документам</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:42</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыИнкассовые">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\Отчеты\поддержкаОтчетов.abl";
константы
  nl = #13#10;
  МаппингИнкассовые = "Район=InPT.Region,КодЗаписи=ffd.id%d,ИндексыДанных=fdd.ProgIndex,ДатаВремяСоздания=inPT.CreateDate,ДатаВремяИзменения=inPT.UpdateDate,";
  
функция ВернутьОграничениеПоДате(Коллекция:IVariables) : Строка;
начало
  Результат := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=InPt.SolutionDate,ДатаИспЛистаТип=InPT.EXECUTIONDATE',
       Коллекция, 'InPt.SolutionDate');
конец;    

Функция ВернутьОграничениеПоИсполненным(Коллекция:IVariables) : Строка;
Переменные
  Исполн, Частично, НеИсполн : Строка;
  Ограничение : Строка;
начало
  Ограничение := '';
  Исполн := ' (InaPT.Summa &gt;= 0.005) and (InPT.Summa &lt;= InPT.DetOneSum) ';
  Частично := '(InPT.Summa &gt;= 0.005) and (InPT.Summa &gt; InPT.DetOneSum) and (InPT.DetOneSum &gt; 0)';
  НеИсполн := '(InPT.Summa &gt;= 0.005) and (InPT.DetOneSum &lt;= 0.005)';
  
  Если Коллекция.Values('ИсполненныеЧек')
    тогда Ограничение := Исполн;
    
  Если Коллекция.Values('ЧастичноИсполненныеЧек')
    тогда 
      если
        Ограничение &lt;&gt; ''
        тогда Ограничение := '( ' +Ограничение+ ' ) or ( '+Частично +' ) '
        иначе Ограничение := Частично;   
        
  Если Коллекция.Values('НеисполненныеЧек')
    тогда 
      если
        Ограничение &lt;&gt; ''
        тогда Ограничение := '( ' +Ограничение+ ' ) or ( '+НеИсполн+' ) '
        иначе Ограничение := НеИсполн;
                  
  Если Ограничение &lt;&gt; '' 
    тогда  результат := 'and ( '+Ограничение+' ) '
    иначе  результат := '';  
конец;

Функция ВернутьОграничениеПоОбработанным(Коллекция:IVariables) : Строка;
Переменные
  Обраб, Частично, НеОбраб : Строка;
  Ограничение : Строка;
начало
  Ограничение := '';
  Обраб := '(InPT.DetOneSum &gt;= 0.005) and (InPT.DetOneSum &lt;= InPT.DetTwoSum) ';
  Частично := '(InPT.DetOneSum &gt;= 0.005) and (InPT.DetOneSum &gt; InPT.DetTwoSum) and (InPT.DetTwoSum &gt; 0)';
  НеОбраб := '(InPT.DetOneSum &gt;= 0.005) and (InPT.DetTwoSum &lt;= 0.005)';
  
  Если Коллекция.Values('ОбработанныеЧек')
    тогда Ограничение := Обраб;
    
  Если Коллекция.Values('ЧастичноОбработанныеЧек')
    тогда 
      если
        Ограничение &lt;&gt; ''
        тогда Ограничение := '( ' +Ограничение+ ' ) or ( '+Частично +' ) '
        иначе Ограничение := Частично;   
        
  Если Коллекция.Values('НеобработанныеЧек')
    тогда 
      если
        Ограничение &lt;&gt; ''
        тогда Ограничение := '( ' +Ограничение+ ' ) or ( '+НеОбраб+' ) '
        иначе Ограничение := НеОбраб;
                  
  Если Ограничение &lt;&gt; '' 
    тогда  результат := 'and ( '+Ограничение+' ) '
    иначе  результат := '';  
конец;

функция ЗапросИнкассовыеНулеваяДеталь(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ИмяЗапроса, Комментарий : строка;
  Прогрес : Iprogress;
  Запрос : Строка;
  ОгрПоАвтору, ОгрПоДате, ОгрРавноЦелое, ОгрКлассиф, ОгрРавноСтрока, ОгрАрхив, ОгрИсполн : Строка;
  ВерхнКЛС, НижнКЛС : Целое; 
  ТипДаты, ТипОгр : Целое;
начало
  ИмяЗапроса := "Запрос Инкассовых поручений."+#13#10;
  Комментарий := Коллекция.Values('КоментарийСекции');
  если УбратьПробелы(Комментарий)="" 
    тогда  Комментарий := ИмяЗапроса
    иначе  Коллекция.Values('КоментарийСекции'):="";

  // отображаем комментарий на Progress`e
  Прогрес := Progress;
  Прогрес.SetMessage(Комментарий);
  
  // Дата
  ОгрПоДате := ВернутьОграничениеПоДате(Коллекция);
  // Ограничение по Автору
  ОгрПоАвтору := Ограничение('Автор=InPT.CreaterUser%s',Коллекция);
  // Номер Док  
  ОгрРавноСтрока := Ограничение('НомерДок=InPT.DocNumber%s',Коллекция);
  // Огранизация
  ОгрРавноЦелое := Ограничение('ОргСсылка=Inpt.Org_Ref',Коллекция);         
  // Район   
  ОгрКлассиф := Ограничение("Район=InPT.Region,Мероприятие=InDet.FACT",Коллекция);
    
   // по Архиву      
  Если (Коллекция.Values('БезАрхивныхЧек'))
    тогда ОгрАрхив := ' and (InPt.ArhiveDoc &lt;&gt; 1) ' 
    иначе ОгрАрхив := ' ';
     
  // по исполненным
  ОгрИсполн := ВернутьОграничениеПоИсполненным(Коллекция);   
     
   // настраиваем запрос
    запрос := 
            " select"+nl+            
            "  InDet.id               id       ,"+nl+
            "  InPT.DocNumber         DocNumber,"+nl+
            "  Inpt.Org_Ref           OrgMaster,"+nl+
            "  InPT.Fact              Fact,"+nl+
            "  InPT.Region            Region,"+nl+
            "  InPT.Note              Note,"+nl+
            "  InPT.Summa             SummaMaster,"+nl+
            "  InPT.EXECUTIONDATE     EXECUTIONDATE,"+nl+
            "  InPt.SolutionDate      SolutionDate,"+ nl +
            "  InDet.Summa            detSumma,"+nl+
            "  InDet.FACT             DetFact,"+nl+
            "  InDet.Note             DetNote,"+nl+
            "  Cast(14 as integer)    AlgIndex,inPT.CreateDate,inPT.UpdateDate"+nl+               
            "from "+nl+
            "   InPayPhisicTitle InPT"+nl+
            "   inner Join InPayPhisicdetail InDet on (InPT.id = InDet.recordindex )"+nl+ 
            "where "+nl+
             " (1=1) "+nl+
             ОгрПоАвтору +nl+  
             ОгрПоДате + nl +      
             ОгрРавноСтрока +nl+ 
             ОгрКлассиф +nl+ 
             ОгрРавноЦелое+nl+
             ОгрАрхив+nl+
             ОгрИсполн; 
     данные.Запрос := "[PumpData] {/*"+комментарий+"*/"+nl+Запрос+"}" 
конец;

функция ЗапросИнкассовыеПерваяДеталь(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ИмяЗапроса, Комментарий : строка;
  Прогрес : Iprogress;
  Запрос : Строка;
  ОгрПоАвтору, ОгрПоДате, ОгрРавноЦелое, ОгрКлассиф, ОгрРавноСтрока, ОгрАрхив, ОгрИсполн : Строка;
  ВерхнКЛС, НижнКЛС : Целое; 
  ТипДаты, ТипОгр : Целое;
начало
  ИмяЗапроса := "Запрос Инкассовых поручений."+#13#10;
  Комментарий := Коллекция.Values('КоментарийСекции');
  если УбратьПробелы(Комментарий)="" 
    тогда  Комментарий := ИмяЗапроса
    иначе  Коллекция.Values('КоментарийСекции'):="";

  // отображаем комментарий на Progress`e
  Прогрес := Progress;
  Прогрес.SetMessage(Комментарий);
  
  // Дата
  ОгрПоДате := ВернутьОграничениеПоДате(Коллекция); 
  // Номер Док  
  ОгрРавноСтрока := Ограничение('НомерДок=InPT.DocNumber%s',Коллекция);
  // Огранизация
  ОгрРавноЦелое := Ограничение('ОргСсылка=Inpt.Org_Ref',Коллекция);   
  // Ограничение по Автору
  ОгрПоАвтору := Ограничение('Автор=InPT.CreaterUser%s',Коллекция); 
  // Район   
  ОгрКлассиф := Ограничение(МаппингИнкассовые + ",Мероприятие=fdd.Fact",Коллекция);  
  
  // по Архиву      
  Если (Коллекция.Values('БезАрхивныхЧек'))
    тогда ОгрАрхив := ' and (InPt.ArhiveDoc &lt;&gt; 1) ' 
    иначе ОгрАрхив := ' ';
    
  // По исполненным     
  ОгрИсполн := ВернутьОграничениеПоИсполненным(Коллекция);      
  // настраиваем запрос
    запрос := 
            " select"+nl+
            "  fdd.id,"+nl+
            "  InPT.DocNumber         DocNumber,"+nl+
            "  Inpt.Org_Ref           OrgMaster,"+nl+
            "  InPT.Fact              Fact,"+nl+
            "  InPT.Region            Region,"+nl+
            "  InPT.Note              Note,"+nl+
            "  InPT.Summa             SummaMaster,"+nl+
            "  InPT.EXECUTIONDATE     EXECUTIONDATE,"+nl+
            "  InPt.SolutionDate       SolutionDate,"+ nl +
            "(fdd.Credit - fdd.debit) detOneSumma,"+nl+
            " fdd.FACT             DetOneFact,"+nl+
            " fdd.Note             DetOneNote,"+nl+ 
            "  Cast(14 as integer)    AlgIndex,fdd.ProgIndex,inPT.CreateDate,inPT.UpdateDate"+nl+               
            "from "+nl+
            "   InPayPhisicTitle InPT"+nl+
            "   Inner Join findocdetail fdd on ((InPT.id = fdd.recordindex) and (fdd.ProgIndex = 211))"+nl+ 
            "where "+nl+
             " (1=1) "+nl+
             ОгрПоАвтору +nl+        
             ОгрПоДате +nl+ 
             ОгрРавноСтрока +nl+ 
             ОгрКлассиф +nl+ 
             ОгрРавноЦелое+nl+
             ОгрАрхив+nl+
             ОгрИсполн; 
     данные.Запрос := "[PumpData] {/*"+комментарий+"*/"+nl+Запрос+"}" 
конец;

функция ЗапросИнкассовыеВтораяДеталь(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ИмяЗапроса, Комментарий : строка;
  Прогрес : Iprogress;
  Запрос : Строка;
  ОгрПоАвтору, ОгрПоДате,  ОгрКлассиф,
  ОгрРавноЦелое, ОгрРавноСтрока, ОгрАрхив, ОгрОбраб : Строка;
  ВерхнКЛС, НижнКЛС : Целое; 
  ТипДаты, ТипОгр : Целое;
начало
  ИмяЗапроса := "Запрос Инкассовых поручений."+#13#10;
  Комментарий := Коллекция.Values('КоментарийСекции');
  если УбратьПробелы(Комментарий)="" 
    тогда  Комментарий := ИмяЗапроса
    иначе  Коллекция.Values('КоментарийСекции'):="";

  // отображаем комментарий на Progress`e
  Прогрес := Progress;
  Прогрес.SetMessage(Комментарий);
  
  // Дата
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаИнкассовогоТип=fdd.ACCEPTDATE,ДатаОтнесенияТип=fdd2.ACCEPTDATE,'+
               'ДатаИнкассовогоИОтнесенияТип=fdd.ACCEPTDATE,ДатаИнкассовогоИОтнесенияТип=fdd2.ACCEPTDATE',Коллекция,'fdd.ACCEPTDATE');  
  // Ограничение по Автору
  ОгрПоАвтору := Ограничение('Автор=InPT.CreaterUser%s',Коллекция);
  // Район   
  ОгрКлассиф := Ограничение(МаппингИнкассовые + ",Мероприятие=fdd.FACT",Коллекция);  
  // Огранизация, счет, счет  ФО
  ОгрРавноЦелое := Ограничение('ОргСсылка=o1.id,РССсылка=fdd2.AcceptorAccRef,РСФО=fdd.dfaccount',Коллекция);
  // Номер Первичного Док, По док  
  ОгрРавноСтрока := Ограничение('НомерДокИсточн=InPT.DocNumber%s,НомерДок=fdd.SOURCEDOCNUM%s',Коллекция);
  // Обработанные      
  ОгрОбраб := ВернутьОграничениеПоОбработанным(Коллекция);  
 
  // по Архиву      
  Если (Коллекция.Values('БезАрхивныхЧек'))
    тогда ОгрАрхив := ' and (InPt.ArhiveDoc &lt;&gt; 1) ' 
    иначе ОгрАрхив := ' ';         
      
    // настраиваем запрос
    запрос :=
              "select DISTINCT "+ nl +
                 " fdd.id, "+ nl +
                 " InPT.DocNumber          DocNumber, "+ nl +
                 " InPT.EXECUTIONDATE      EXECUTIONDATE, "+ nl +
                 " InPt.SolutionDate       SolutionDate,"+ nl +
                 " Inpt.Org_Ref            OrgMaster, "+ nl +
                 " InPT.Fact               Fact, "+ nl +
                 " InPT.Region             Region, "+ nl +
                 " InPT.Note               Note, "+ nl +
                 " InPT.Summa              SummaMaster, "+ nl +
                 "                                               "+ nl +
                 " fdd.SOURCEDOCNUM        SourceDocNum1, "+ nl + //
                 " fdd.ACCEPTDATE          ACCEPTDATE1, "+ nl + //
                 " fdd.KFSR                KFSR1, "+ nl +  //
                 " fdd.KCSR                KCSR1, "+ nl +  //
                 " fdd.KVSR                KVSR1, "+ nl +  //
                 " fdd.KVR                 KVR1, "+ nl +   //
                 " fdd.KESR                KESR1, "+ nl +  //
                 " fdd.SubKESR             SubKESR1, "+ nl + //
                 " fdd.FACT                FACT1, "+ nl +   //
                 " fdd.FinSource           FinSource1, "+ nl + //
                 " fdd.MeansType           MeansType1, "+ nl + //
                 " fdd.ACCEPTORACCREF      AccountRef1,   /*c */ "+ nl + //
                 " fdd.RegionCLS           RegionCLS1, "+ nl + //
                 " fdd.FacialAcc_Cls       FacialAcc_Cls1, "+ nl + //
                 " fdd.DocType             DocType1, "+ nl + //
                 " fdd.FinType             FinType1, "+ nl + //
                 " fdd.Note                Note1, "+ nl +  //
                 " AVG(fdd.Credit-fdd.debit)      Summa1, "+ nl + //
                 " Sum(fdd2.Credit - fdd2.Debit)  SummaDet2, "+ nl + 
                 "  Cast(14 as integer)    AlgIndex, fdd.ProgIndex,inPT.CreateDate,inPT.UpdateDate"+nl+               
                 " "+ nl +
             " from "+ nl +
                " InPayPhisicTitle InPT "+ nl +
                " inner Join FinDocdetail fdd on ((InPT.id = fdd.recordindex) and (fdd.ProgIndex = 211)) "+ nl +
                " left Join FinDocdetail fdd2 on ((fdd.id = fdd2.recordindex2) and (fdd2.ProgIndex = 212)) "+ nl +
                " Left Join ORG_ACCOUNTS   oa on (fdd2.AcceptorAccRef = oa.ID) "+nl+
                " left Join Organizations o1 on (oa.Org_Ref = o1.id)"
                " "+ nl +
               "where "+ nl +
               "(1=1)"+ nl +
               ОгрПоАвтору + nl +        
               ОгрПоДате + nl + 
               ОгрРавноЦелое + nl +
               ОгрРавноСтрока + nl +
               ОгрКлассиф + nl + 
               ОгрАрхив + nl +
               ОгрОбраб + nl + 
               "group by " + nl +
              " fdd.id, "+ nl +
              " InPT.DocNumber          , "+ nl +
              " InPT.EXECUTIONDATE      , "+ nl +
              " InPt.SolutionDate       ,"+ nl +
              " Inpt.Org_Ref            , "+ nl +
              " InPT.Fact               , "+ nl +
              " InPT.Region             , "+ nl +
              " InPT.Note               , "+ nl +
              " InPT.Summa              , "+ nl +
              "                                               "+ nl +
              " fdd.SOURCEDOCNUM        , "+ nl + //
              " fdd.ACCEPTDATE          , "+ nl + //
              " fdd.KFSR                , "+ nl +  //
              " fdd.KCSR                , "+ nl +  //
              " fdd.KVSR                , "+ nl +  //
              " fdd.KVR                 , "+ nl +   //
              " fdd.KESR                , "+ nl +  //
              " fdd.SubKESR             , "+ nl + //
              " fdd.FACT                , "+ nl +   //
              " fdd.FinSource           , "+ nl + //
              " fdd.MeansType           , "+ nl + //
              " fdd.ACCEPTORACCREF      ,   /*c */ "+ nl + //
              " fdd.RegionCLS           , "+ nl + //
              " fdd.FacialAcc_Cls       , "+ nl + //
              " fdd.DocType             , "+ nl + //
              " fdd.FinType             , "+ nl + //
              " fdd.ProgIndex           , "+ nl + //
              " fdd.Note                ";
    данные.Запрос := "[PumpData] {/*"+комментарий+"*/"+nl+Запрос+"}" 
конец;


функция ЗапросОтнесение(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ИмяЗапроса, Комментарий : строка;
  Прогрес : Iprogress;
  Запрос : Строка;
  ОгрПоАвтору, ОгрПоДате,  ОгрРайон, ОгрМероприятие,
  ОгрРавноЦелое, ОгрРавноСтрока, ОгрАрхив, ОгрОбраб : Строка;
  ВерхнКЛС, НижнКЛС : Целое; 
  ТипДаты, ТипОгр : Целое;
начало
  ИмяЗапроса := "Запрос Инкассовых поручений."+#13#10;
  Комментарий := Коллекция.Values('КоментарийСекции');
  если УбратьПробелы(Комментарий)="" 
    тогда  Комментарий := ИмяЗапроса
    иначе  Коллекция.Values('КоментарийСекции'):="";

  // отображаем комментарий на Progress`e
  Прогрес := Progress;
  Прогрес.SetMessage(Комментарий);
  
  // Дата
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаИнкассовогоТип=fdd.ACCEPTDATE,ДатаОтнесенияТип=fdd2.ACCEPTDATE,'+
               'ДатаИнкассовогоИОтнесенияТип=fdd.ACCEPTDATE,ДатаИнкассовогоИОтнесенияТип=fdd2.ACCEPTDATE',Коллекция,'fdd.ACCEPTDATE');  
  // Ограничение по Автору
  ОгрПоАвтору := Ограничение('Автор=InPT.CreaterUser%s',Коллекция);
  // Район   
  ОгрРайон := Ограничение('Район=fdd2.RegionCLS',Коллекция); 
  // Мероприятие   
  ОгрМероприятие := Ограничение('Мероприятие=fdd2.FACT',Коллекция); 
  // Огранизация, счет, счет  ФО
  ОгрРавноЦелое := Ограничение('ОргСсылка=o1.id,РССсылка=fdd2.AcceptorAccRef,РСФО=fdd.dfaccount',Коллекция);
  // Номер Первичного Док, По док  
  ОгрРавноСтрока := Ограничение('НомерДокИсточн=InPT.DocNumber%s,НомерДок=fdd.SOURCEDOCNUM%s',Коллекция);
  // Обработанные      
  ОгрОбраб := ВернутьОграничениеПоОбработанным(Коллекция);  
  // по Архиву      
  Если (Коллекция.Values('БезАрхивныхЧек'))
    тогда ОгрАрхив := ' and (InPt.ArhiveDoc &lt;&gt; 1) ' 
    иначе ОгрАрхив := ' ';       
  
  // настраиваем запрос
    запрос := 
      " select   "+nl+
      "          InPT.DocNumber          DocNumber,"+nl+
      "          InPT.EXECUTIONDATE      EXECUTIONDATE,"+nl+
      "          InPt.SolutionDate       SolutionDate,"+nl+
      "          Inpt.Org_Ref            OrgMaster,"+nl+
      "          InPT.Fact               Fact,"+nl+
      "          InPT.Region             Region,"+nl+
      "          InPT.Note               Note,"+nl+
      "          InPT.Summa              SummaMaster,inPT.CreateDate,inPT.UpdateDate,"+nl+
      "                                              "+nl+        
      "         fdd.SOURCEDOCNUM        SourceDocNum1,"+nl+
      "         fdd.ACCEPTDATE          ACCEPTDATE1,"+nl+ 
      "         fdd.FACT                FACT1,"+nl+ 
      "                                       "+nl+
      "                                       "+nl+
      "         fdd2.SOURCEDOCNUM        SourceDocNum2,"+nl+
      "         fdd2.ACCEPTDATE          ACCEPTDATE2,"+nl+ 
      "         fdd2.FACT                FACT2,"+nl+  
      "         fdd2.KFSR                KFSR2,"+nl+ 
      "         fdd2.KCSR                KCSR2,"+nl+ 
      "         fdd2.KVSR                KVSR2,"+nl+
      "         fdd2.KVR                 KVR2,"+nl+ 
      "         fdd2.KESR                KESR2,"+nl+ 
      "         fdd2.SubKESR             SubKESR2,"+nl+ 
      "         fdd2.FinSource           FinSource2,"+nl+
      "         fdd2.MeansType           MeansType2,"+nl+ 
      "         fdd2.ACCEPTORACCREF      AccountRef2,"+nl+   
      "         fdd2.RegionCLS           RegionCLS2,"+nl+ 
      "         fdd2.FacialAcc_Cls       FacialAcc_Cls2,"+nl+ 
      "         fdd2.DocType             DocType2,"+nl+
      "         fdd2.FinType             FinType2,"+nl+ 
      "         fdd2.Note                Note2,"+nl+
      "         fdd2.Credit-fdd2.Debit   Summa2,"+nl+
      "         Cast(14 as integer)      AlgIndex, fdd.ProgIndex"+nl+               
      "                                         "+nl+
   "  from                                      "+nl+
      "          InPayPhisicTitle InPT          "+nl+
      "          inner Join FinDocdetail fdd on ((InPT.id = fdd.recordindex) and (fdd.ProgIndex = 211))"+nl+ 
      "          Inner Join FinDocdetail fdd2 on ((fdd.id = fdd2.recordindex2) and (fdd2.ProgIndex = 212))"+nl+ 
      "          Left Join ORG_ACCOUNTS   oa on (fdd2.AcceptorAccRef = oa.ID)"+nl+ 
      "          left Join Organizations o1 on (oa.Org_Ref = o1.id)"+nl+
      "where "+ nl +
               "(1=1)"+ nl +
               ОгрПоАвтору + nl +        
               ОгрПоДате + nl + 
               ОгрРавноЦелое + nl +
               ОгрРавноСтрока + nl +
               ОгрРайон + nl + 
               ОгрМероприятие + nl +
               ОгрАрхив + nl +
               ОгрОбраб;  
               
   данные.Запрос := "[PumpData] {/*"+комментарий+"*/"+nl+Запрос+"}" ;
конец;  

функция ПолучитьИнкассовые(Данные : СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;
    // формируем SQL-запрос
    Выбрать Коллекция.Values('ВидОтчета') из 
      0 : ЗапросИнкассовыеНулеваяДеталь(Данные, Коллекция);
      1 : ЗапросИнкассовыеПерваяДеталь(Данные, Коллекция);
      2 : ЗапросИнкассовыеВтораяДеталь(Данные, Коллекция);
      3 : ЗапросОтнесение(Данные, Коллекция);
    конец;      
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
    Данные.IndexFieldNames :="";
  конец;
конец;
</value>
    <param value="ЗапросыИнкассовые" type="3" name="version">36.042.05</param>
    <param value="ЗапросыИнкассовые" type="3" name="crc32">$E04A3CD9</param>
  </node>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="ИнкассовыеПоручения">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить "Бюджет\Ресурсы\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "Бюджет\Ресурсы\Макросы\Запросы\ЗапросыИнкассовые";

Инкассовые(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  ТекстПараметров: IVariables;

константы
  МаппингСекции = 'ИндексАлгоритма=AlgIndex,НомерДокумента=DocNumber,Мероприятие=Fact,Регион=Region,Организация=OrgMaster,Примечание=Note,СуммаЗаголовок=SummaMaster,ДатаРешения=SolutionDate,ДатаИспЛиста=EXECUTIONDATE,КодЗаписи=ID,ИндексыДанных=ProgIndex,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate';
  МаппингДетали0 = ',СуммаДетальНоль=detSumma,МероприятиеДетальНоль=DetFact';
  МаппингДетали1 = ',СуммаДетальИнкассовые=detOneSumma,МероприятиеДетальНоль=DetOneFact';
  
  МаппингДетали2 = ',КВСРИнкассовые=KVSR1,КВСРОтнесено=KVSR2,КФСРИнкассовые=KFSR1,КФСРОтнесено=KFSR2,КЭСРИнкассовые=KESR1,КЭСРОтнесено=KESR2,КЦСРИнкассовые=KCSR1,КЦСРОтнесено=KCSR2,КВРИнкассовые=KVR1,КВРОтнесено=KVR2';
  МаппингДетали22 = ',ИсточникФинансированияИнкассовые=FinSource1,ИсточникФинансированияОтнесено=FinSource2,СчетПолучИнкассовые=AccountRef1,СчетПолучОтнесено=AccountRef2,ЛицевойСчетИнкассовые=FacialAcc_Cls1,ЛицевойСчетОтнесено=FacialAcc_Cls2';
  МаппингДетали222 = ',СуммаДетальИнкассовые=Summa1,СуммаДетальОтнесено=Summa2,СуммаПоДетальОтнесено=SummaDet2,ДатаПринятияИнкассовые=ACCEPTDATE1,ДатаПринятияОтнесено=ACCEPTDATE2,НомерДокументыИнкассовые=SourceDocNum1,НомерДокументыОтнесено=SourceDocNum2';  
  МаппингДетали2222 = ',СубКЭСРИнкассовые=SubKESR1,СубКЭСРОтнесено=SubKESR2,РегионИнкассовые=RegionCLS1,РегионОтнесено=RegionCLS2,ТипФинансированияИнкассовые=FinType1,ТипФинансированияОтнесено=FinType2,ТипДокументаИнкассовые=DocType1,ТипДокументаОтнесено=DocType2';
  МаппингДетали22222 = ',МероприятиеИнкассовые=Fact1,МероприятиеОтнесено=fact2,ПримечаниеИнкассовые=Note1,ПримечаниеОтнесено=Note2,ТипСредствИнкассовые=MeansType1,ТипСредствОтнесено=MeansType2,КлючДетали=recordindex2';
  
функция ВыполнитьСекцииИнкассовые(данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ПостМаппингКазн,ПостМаппингДоходы: строка;
  ЛокКоллекцияСекции: IVariables;
  ОграниченияПоДатам:IDataLimit;
начало                                  
  // локальная копия параметров для одной секции
  ЛокКоллекцияСекции := CreateVariables;  
  
  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();

  если Коллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
   Коллекция.Values("ТипОгрДата"):=0;
   Коллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(Коллекция);
  Коллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
  Коллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
      
  // последовательно выполняем секции Инкассовых
  ЛокКоллекцияСекции.Clear;
  ЛокКоллекцияСекции.PumpData(Коллекция);
  // Секция 0. Получение сумм по 0 детализации
  Если выполнятьСекцию(данные,"СуммаДетальНоль") 
  тогда начало
    ЛокКоллекцияСекции.values("ВидОтчета") := 0;
    ЛокКоллекцияСекции.values("КоментарийСекции") := 'Инкассовые 0. Получение сумм по разбивке';
    ПолучитьИнкассовые(ДанныеОднойСекции, ЛокКоллекцияСекции);
    // перебрасываем полученные данные в итоговые СтатическиеДанные
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции + МаппингДетали0);
    
    ЛокКоллекцияСекции.values("ВидОтчета") := 1;
    ЛокКоллекцияСекции.values("КоментарийСекции") := 'Инкассовые 1. Получение сумм детализации Инкассовые';
    ПолучитьИнкассовые(ДанныеОднойСекции, ЛокКоллекцияСекции);
    // перебрасываем полученные данные в итоговые СтатическиеДанные
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции + МаппингДетали1); 
  конец;
  
  ЛокКоллекцияСекции.Clear;
  ЛокКоллекцияСекции.PumpData(Коллекция); 
  // Секция 1. Получение сумм по 1 детализации
  Если выполнятьСекцию(данные, "СуммаПоДетальОтнесено")  
  тогда начало
    ЛокКоллекцияСекции.values("ВидОтчета") := 2;
    ЛокКоллекцияСекции.values("КоментарийСекции") := 'Инкассовые 2. Получение сумм по отнесению на финансирование';
    ПолучитьИнкассовые(ДанныеОднойСекции, ЛокКоллекцияСекции);
    // перебрасываем полученные данные в итоговые СтатическиеДанные
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции + МаппингДетали2 +  МаппингДетали22 +
                    МаппингДетали222 + МаппингДетали2222 + МаппингДетали22222  );
  конец; 
  
  ЛокКоллекцияСекции.Clear;
  ЛокКоллекцияСекции.PumpData(Коллекция); 
  // Секция 2. Получение сумм по отнесению
  Если выполнятьСекцию(данные, "СуммаДетальОтнесено")  
  тогда начало
    ЛокКоллекцияСекции.values("ВидОтчета") := 3;
    ЛокКоллекцияСекции.values("КоментарийСекции") := 'Инкассовые 3. Получение отнесения на финансирование';
    ПолучитьИнкассовые(ДанныеОднойСекции, ЛокКоллекцияСекции);
    // перебрасываем полученные данные в итоговые СтатическиеДанные
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции + МаппингДетали2 +  МаппингДетали22 +
                    МаппингДетали222 + МаппингДетали2222 + МаппингДетали22222  );
  конец;        
                
конец;      

// ОСНОВНАЯ ЧАСТЬ  
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  // выбираем данные по секциям
  ВыполнитьСекцииИнкассовые(данные, Ограничения);
  ТекстПараметров := Параметры.Values(АлгПараметрыВывода);
конец.</value>
    <param value="ИнкассовыеПоручения" type="3" name="version">36.042.05</param>
    <param value="ИнкассовыеПоручения" type="3" name="crc32">$24A40D5B</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">14010100</V>
            <V N="Name">Список исполнительных листов</V>
            <V N="Params">ИсполнениеИнкассовых,Исполненные,ЧастичноИсполненные,Неисполненные,БезАрхивных,ДатаОтправления,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаПринятияТип,ДатаИспЛистаТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,Классификаторы,Мероприятие,Район,Организация,ИНН,Наимен</V>
            <V N="Template">(14.01.01)ИнкассовыеВидыВыплат.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет выдает информацию по  разбивке инкассовых поручений по мероприятиям</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.05</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">14010200</V>
            <V N="Name">Список инкассовых</V>
            <V N="Params">РСФО,Обработка,Обработанные,ЧастичноОбработанные,Необработанные,БезАрхивных,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаИнкассовогоТип,ДатаОтнесенияТип,ДатаИнкассовогоИОтнесенияТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,НомерДокИсточн,Классификаторы,Мероприятие,Район,Организация,ИНН,Наимен,РС</V>
            <V N="Template">(14.01.02)ИсполнениеИнкассовых.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет выдает информацию по исполнению инкассовых поручений</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.05</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">14010300</V>
            <V N="Name">Список отнесенных на финансирование</V>
            <V N="Params">РСФО,Обработка,Обработанные,ЧастичноОбработанные,Необработанные,БезАрхивных,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаИнкассовогоТип,ДатаОтнесенияТип,ДатаИнкассовогоИОтнесенияТип,НачальнаяДата,КонечнаяДата,НомерДокМнож,НомерДок,НомерДокИсточн,Классификаторы,Мероприятие,Район,Организация,ИНН,Наимен,РС</V>
            <V N="Template">(14.01.03) Отнесение финансирования на УСО.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет выдает информацию по отнесению на финансирование инкассовых поручений</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.05</param>
  </node>
  <version_info>
    <file>Сборка(15)ОперативныеДанные.xml</file>
    <version>36.042.07</version>
    <info>&lt;p&gt;Отчеты по оперативным данным&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:43</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыОперативныеДанные.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\Отчеты\поддержкаОтчетов.abl";

константы
  nl = #13#10;
  // маппинг ограничений по классификации
  МаппингОперКлассификации1 = 'Район=oo.RegionCLS,КФСР=oo.KFSR,КВСР=tKvsr.Code%d,ГруппаИнформации=oo.GroupInf,КВР=tKvr.Code%k,СубКЦСР=oo.SubKCSR,';
  МаппингОперКлассификации2 = 'КЦСР=tKcsr.Code%k,КЭСР=oo.KESR,СубКЭСР=oo.SubKESR,ФинИсточники=oo.FinSource,ФинТипы=oo.FinType,ТипДокОснов=oo.DocBase,';
  МаппингОперКлассификации3 = 'Мероприятие=oo.Fact,ЛицСчет=oo.FACIALACC_CLS,ТипСредствБюдж=oo.meanstype,ВидДеятельности=mt.ActivityKind%d,';
  МаппингОперКлассификации4 = 'ИстВнутрФин=ifst.FinSourceValue%l,КодЗаписи=oo.ID%d,КодДокумента=oo.ID%d,ОргСсылка=oa.Org_Ref%d,Год=oo.YEARREPORT%d,';
  МаппингОперКлассификации5 = 'Пользователь=oo.CREATERUSER%s,ДатаВремяСоздания=oo.CreateDate,ДатаВремяИзменения=oo.UpdateDate,Направление=oo.DirectionCLS,';
  МаппингОперКлассификации6 = 'КодЦелевыхСредств=tc.Code%d,ТипДеятельности=mt.ActivityType%d';
  
функция ОперДанныеВернутьМаппингПереносаПолей: строка;
начало
  Результат := 'Регион=RegionCls,ДатаПринятия=NowDate,Дата=NowDate,Месяц=MonthReport,Год=YearReport,ЛицевойСчет=FACIALACC_CLS,' +
  'ГруппаИнформации=GROUPINF,Группа=GROUPINF,ИсточникВнутрФинансирования=ifs,ИсточникВнутрФинансированияКлюч=ifsid,' +
  'КФСР=KFSR,КВСРКлюч=KVSRID,КВСР=KVSR,КВРКлюч=KVRID,КВР=KVR,КЦСРКлюч=KCSRID,КЦСР=KCSR,КЭСР=KESR,СубКЭСР=SubKESR,' +
  'ИсточникФинансирования=FinSource,ИндексАлгоритма=AlgIndex,ТипФинансирования=FinType,Примечание=Note,Мероприятие=Fact,' +
  'ТипСредств=meanstype,Автор=CreaterUser,СчетПлат=AccountRef,СубКЦСР=SubKCSR,КодЗаписи=ID,ИндексыДанных=ProgIndex,' +
  'СчетРаспорядителя=AccountRef,КодДокумента=ID,Направление=DirectionCLS,ТипДокОснования=DocBase,ВидДеятельности=ActivityKind,' +
  'ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,КодЦелевыхСредствКлюч=TransfertCls,КодЦелевыхСредств=TransfertClsValue'; 
конец;

функция ОперДанныеСуммыЗаПериодВернутьМаппингПереносаПолей: строка;  
начало
  Результат := 'Сумма=Summa,ОперДанныеСумма=Summa,Заявка=Summa1,ОперДанныеЗаявка=Summa1,ОперДанныеКвартал1=Quarter1,'+
    'ОперДанныеКвартал2=Quarter2,ОперДанныеКвартал3=Quarter3,ОперДанныеКвартал4=Quarter4,Квартал1=Quarter1,Квартал2=Quarter2,'+
    'Квартал3=Quarter3,Квартал4=Quarter4';
конец;
  
функция ЗапросОперДанные(Коллекция:IVariables): строка;
переменные
  ОгрПоДате, ОгрПоМес: строка;
  БазовыеОграничения, ОгрДоп: строка;
  МаппингОперДанные: строка;
  Комментарий: строка;
  Запрос: строка;
  Значен : строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос Оперативные данные");

  // формируем ограничение по дате
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=oo.NowDate', Коллекция, 'oo.NowDate');

  // формируем ограничения по классификаторам и другим полям с панели параметров
  МаппингОперДанные := МаппингОперКлассификации1 + МаппингОперКлассификации2 + МаппингОперКлассификации3 +
    МаппингОперКлассификации4 + МаппингОперКлассификации5 + МаппингОперКлассификации6;
  БазовыеОграничения := Ограничение(МаппингОперДанные, Коллекция);
  
  // ограничение по дополнительным параметрам
  ОгрДоп := Коллекция.Values("ДопПараметры");

  // чтобы при не выбранном месяце выводило по всем месяцам
  ОгрПоМес := "";
  Значен := Коллекция.Values("Месяц");
  если СтрокаВЦелое(Значен) &lt;&gt; 0 тогда ОгрПоМес := "and (oo.MONTHREPORT =" + Значен + ")";
  
  // настраиваем запрос
  Запрос := 
    "select " + nl +
    " oo.id, oo.KFSR, oo.KESR, oo.KVR KVRID, tKvr.Code KVR, oo.KVSR KVSRID, tKvsr.Code KVSR, oo.KCSR KCSRID, tKcsr.Code KCSR," + nl +
    " oo.SubKESR, oo.DirectionCLS, oo.meanstype, oo.RegionCLS, oo.GroupInf, oo.FinSource, oo.FinType, oo.FACIALACC_CLS, oo.Fact," + nl +
    " oo.ifs ifsid, ifst.FinSourceValue ifs, oo.SubKCSR, oo.DocBase, oo.NowDate, oo.YearReport, oo.MonthReport, mt.ActivityKind," + nl +
    " cast(15 as integer) AlgIndex, cast(35 as integer) ProgIndex, oo.CreaterUser, oo.CreateDate, oo.UpdateDate, oo.AccountRef," + nl +
    " oo.Note, oo.Summa, oo.SUMMA1, oo.ACCEPTORACCREF, oo.Quarter1, oo.Quarter2, oo.Quarter3, oo.Quarter4, oo.TransfertCLS," + nl +
    " tc.Code TransfertClsValue " + nl +
    "from " + nl +
    " OrgOperat oo " + nl +
    " left join Org_Accounts oa on (oa.id = oo.AccountRef)" + nl +
    " left join InnerFinSource ifst on (ifst.id = oo.ifs)" + nl +
    " left join MeansType mt on (mt.ID = oo.MeansType) " + nl +
    " left join KVSR tKvsr on (tKvsr.id = oo.KVSR)" + nl +
    " left join KVR tKvr on (tKvr.id = oo.KVR)" + nl +
    " left join KCSR tKcsr on (tKcsr.id = oo.KCSR)" + nl +
    " left join TransfertCLS tc on (tc.id = oo.TransfertCls)" + nl +
    "where " + nl +
    " (1=1)" + nl +
    ОгрПоДате + nl + 
    ОгрПоМес + nl +
    БазовыеОграничения + nl +
    ОгрДоп;

  Результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);
конец;

функция ПолучитьОперДанные(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные 
  Запрос : Строка;
начало
  попытка
    // формируем SQL-запрос
    Запрос := ЗапросОперДанные(Коллекция);
    // закачиваем данные
    ЗакачатьДанныеЗапроса(Данные, Запрос, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыОперативныеДанные.abl" type="3" name="version">36.042.07</param>
    <param value="ЗапросыОперативныеДанные.abl" type="3" name="crc32">$2BB5D6CB</param>
  </node>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="ОперативныеДанные">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\Отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыОперативныеДанные.abl";

ОперативныеДанные(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;
  
константы
  
  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';   
  
функция ВыполнитьСекцииОперДанные(данные: статическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингОперДанные : строка;
  МаппингСекции : строка;
  ОграниченияПоДатам:IDataLimit;
  МаппингГиперТекст : Строка;
начало
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  Если Не НадоВыполнятьАлгоритм(15, ЛокКоллекция) тогда выход;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;
  ПостоянныйМаппингОперДанные := FixPumpMapEx(ОперДанныеВернутьМаппингПереносаПолей, Раскладка);

  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
    ЛокКоллекция.Values("ТипОгрДата"):=0;
    ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);

//  Секция 1. Оперативные данные за период
  Если ВыполнятьСекцию(данные,"Сумма,Заявка,Квартал1,Квартал2,Квартал3,Квартал4,ОперДанныеСумма,ОперДанныеЗаявка,ОперДанныеКвартал1," +
                              "ОперДанныеКвартал2,ОперДанныеКвартал3,ОперДанныеКвартал4")
  тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Оперативные данные 1. Оперативные данные за период'; 
    // производим выборку данных
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    МаппингСекции :=  ПостоянныйМаппингОперДанные+","+FixPumpMapEx(
      ОперДанныеСуммыЗаПериодВернутьМаппингПереносаПолей, Раскладка);
    
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
    
    получитьОперДанные(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  интерфейс(ДанныеОднойСекции).Освободить;
конец;  
  
// ОСНОВНАЯ ЧАСТЬ  
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  // выбираем данные по секциям
  ВыполнитьСекцииОперДанные(данные, Ограничения);
конец.
</value>
    <param value="ОперативныеДанные" type="3" name="Export">SERGYMOBILE\sergy\04.05.2007 18:09:34</param>
    <param value="ОперативныеДанные" type="3" name="version">36.042.07</param>
    <param value="ОперативныеДанные" type="3" name="crc32">$1EE191AA</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">15010100</V>
            <V N="Name">Оперативные данные</V>
            <V N="Params">Даты,НачальнаяДата,КонечнаяДата,Месяц,Год,Классификаторы,СтруктураБюджета,ЛицСчет,ФинИсточники,ФинТипы,ГруппаИнформации,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,СубКЭСР,Мероприятие,Район,ТипСредствБюдж,Организация,ИНН,КПП,ГиперДокумент</V>
            <V N="Template">(15.01.01) Оперативные данные.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отображает оперативные данные за указанный месяц.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.07</param>
  </node>
  <version_info>
    <file>Сборка(16)БюджетныеОбязательства.xml</file>
    <version>36.042.65</version>
    <info>&lt;p&gt;Отчеты по бюджетным обязательствам&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:44</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="БюджетныеОбязательства">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыОбязательства.abl";

БюджетныеОбязательства(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  
функция ВыполнитьСекцииОбяз(данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингОбяз, МаппингСекции: строка;
  ОграниченияПоДатам:IDataLimit;
начало
  ПостоянныйМаппингОбяз := FixPumpMap(ОбязательстваВернутьМаппингПереносаПолей,данные);
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  Если (Не НадоВыполнятьАлгоритм(16, ЛокКоллекция)) или
       ((ЛокКоллекция.values("ТипКлассификацииРасх")='1')или(ЛокКоллекция.values("ТипКлассификации")='1')) 
    тогда выход;

  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  // если в параметрах ограничений задана только одна дата, то за начало периода берем начало года 
  если не ЛокКоллекция.ПараметрСуществует("ВариантНачалаПериода") тогда
    ЛокКоллекция.Values("ВариантНачалаПериода"):="3";
  // поддержка вывода печатных документов
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
  // последовательно выполняем секции
  //Секция 0. Бюджетные обязательства по месяцам
  если ВыполнятьСекцию(Данные,ВернутьСписокИмен(ОбязательстваВернутьМаппингПереносаЗначимыхПолей('ОбязательстваЗаПериод')) ) тогда 
  начало
    Если ЛокКоллекция.Значение('ОгрСНачалаГода')=1 
      тогда ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода
      иначе ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("КоментарийСекции") := 'Обяз.0.Бюджетные обязательства'; 
    МаппингСекции :=ПостоянныйМаппингОбяз+
      ","+FixPumpMap(ОбязательстваВернутьМаппингПереносаЗначимыхПолей('ОбязательстваЗаПериод'),данные);
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляВыборки(МаппингСекции,",");
    // производим выборку данных
    получитьОбязательства(ДанныеОднойСекции, ЛокКоллекция);
    // закачиваем данные в результирующие СтатическиеДанные
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции);  
  конец;
  интерфейс(ДанныеОднойСекции).Освободить;
конец;   
  
 // ОСНОВНАЯ ЧАСТЬ  
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  // выбираем данные по секциям
  ВыполнитьСекцииОбяз(данные, Ограничения);
конец.
</value>
    <param value="БюджетныеОбязательства" type="3" name="Export">MARAEVA-XP\baranova\02.12.2010 16:01:53</param>
    <param value="БюджетныеОбязательства" type="3" name="version">36.042.65</param>
    <param value="БюджетныеОбязательства" type="3" name="crc32">$FD323D8E</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыОбязательства.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить '\макросы\отчеты\поддержкаПроекта.abl';
включить '\Макросы\Вспомогательные.abl';

константы
  nl = #13#10;
  // общий маппинг для обязательств и учета договоров
  МаппингОбязат1 = "КВР=tKvr.Code%k,КЭСР=d.KESR,КВСР=tKvsr.Code%d,КЦСР=tKcsr.Code%k,КФСР=d.KFSR,СубКЭСР=d.SUBKESR,ФинТипы=d.FinType,";
  МаппингОбязат2 = "Мероприятие=d.FACT,ФинТип=d.FinType,ФинИсточник=d.FinSource,ФинИсточники=d.FinSource,";
  МаппингОбязат3 = "ТипСредствБюдж=d.MeansType,КодЗаписи=d.id%d,ДатаВремяСоздания=d.CreateDate,ДатаВремяИзменения=d.UpdateDate,";
  МаппингОбязат4 = "БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),";
  МаппингОбязат5 = "БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),Пользователь=d.CreaterUser%s,ХарактерЛС=f.HARACTERACCOUNT%d,";
  МаппингОбязат6 = "Бюджет_РаспОргСсылка=org_GRBS.id%d,КодЦелевыхСредств=tc.Code%d,КодЦелевыхСредствПризнак=tc.TARGETMEANSSIGN%d,"; 
  МаппингОбязат7 = "ВидДеятельности=mt.ActivityKind%d,БухОперация=d.BuhOperationCLS%d,Направление=d.DirectionCLS,Баланс=bac.BalanceCls,";
  МаппингОбязат8 = "ВидАссигнований=d.ASSIGNMENTKIND%d,РайонКонтрагента=SupOrg.RegionCls%d,РайонБУ=Org.RegionCls%d,НомерЛС=f.FacialCodeEx%s,ЛицСчет11=fccoa.ACC%s,";
  МаппингОбязат9 = "КодБюджАссигнования=balc.Code%k,КодРасходногоОбязательства=ppc.Code%k,КодСубсидии=s.Code%d,ТипДеятельности=mt.ActivityType%d,";
  // Органичения по правам на классификацию
  МаппингКЛСПрава = 'KFSR=d.KFSR,KVSR=tKvsr.Code,KCSR=tKcsr.Code,KVR=tKvr.Code,KESR=d.KESR,SUBKESR=d.SUBKESR,FACT=d.FACT,FINTYPE=d.FinType,MEANSTYPE=d.MeansType,DIRECTIONCLS=d.DirectionCLS';
  // маппинг для обязательств
  МаппингОгрОбязательства1 = "ТипПлатДок=d.doctype,Бюджет=pc.BudgetRef%d,НомерБО=d.RegistrNumber%s,ДогНом=pc.AGREEMENT_NUM%s,НомерБОЦел=d.RegistrNumber%d,";
  МаппингОгрОбязательства2 = "НомерДок=pc.Number%s,ПричинаОтклон=pc.Reject_Cls%d,КодДокумента=pc.id%d";
  // маппинг для учета договоров
  МаппингОгрУчетДоговоров1 = "НомерБО=d.ANumber%s,Бюджет=d.BudgetRef%d,ОгрБОПоПрогиндексу=d.ProgIndex%d,НомерБОЦел=d.ANumber%d,";
  МаппингОгрУчетДоговора = "НомерДок=pc.DocNumber%s,КодДокумента=pc.id%d,СостояниеДокумента=pc.DOCSTATEREF%d,ПричинаОтклон=pc.RejectCls%d";
  МаппингОгрУчетДИ = "НомерДок=edc.DocNumber%s,КодДокумента=edc.id%d,СостояниеДокумента=edc.DOCSTATEREF%d,ПричинаОтклон=edc.RejectCls%d";  

функция ОбязательстваВернутьМаппингПереносаПолей : Строка;
начало
  Результат := "КВР=KVR,КВРКлюч=KVRID,КЭСР=KESR,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВСР=KVSR,КВСРКлюч=KVSRID,КФСР=KFSR,СубКЭСР=SubKESR," +
               "ИсточникФинансирования=FinSource,Мероприятие=Fact,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate," +
               "Регион=RegionCLS,ТипДокумента=DocType,ТипСредств=MeansType,ЛицевойСчет=FacialAcc,КодЗаписи=ID,БюджОбяз=RegistrNumber," +
               "КодУРМДокумента=CptSenderRecordID,КодУРМЗаписи=DetSenderRecordID," +
               "КодОтправителяДокумента=CptSenderID,КодОтправителяЗаписи=DetSenderID," +               
               "ДатаПринятия=AcceptDate,БюджетнаяОрганизация=BudgetOrg_Ref,УчетныйНомер=Number,ТипФинансирования=FinType," +
               "КодЦелевыхСредств=TransfertClsValue,КодЦелевыхСредствКлюч=TransfertCls,КодБюджета=BudgetRef," +
               "НомерДокумента=AGREEMENT_NUM,ДатаДокумента=AGREEMENT_DATE,ИндексыДанных=ProgIndex,ОрганизацияПоставщик=Supplier_Ref," +
               "ЛСЗаголовка=FACaption,ДатаЗавершения=AGREEMENT_END,ДатаУточнения=CloseDate,ИндексАлгоритма=AlgIndex," +
               "ТипОбязательства=Agreement_Type,СодержаниеДоговора=AGREEMENT_Note,УсловиеПоставки=Delivery_Rules," +
               "ПринятыеНепринятые=Accepted_Reverted,НомерУточняющегоБО=Child_Promise,НомерУточняемогоБО=Parent_Promise," +
               "Направление=DirectionCLS,ПериодОперации=PeriodOfOperation,Примечание=AGREEMENT_NOTE,ДатаВвода=AGREEMENT_DATE," +
               "БухОперация=BuhOperationCLS,БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,КодДокумента=CptID," +
               "ВидДеятельности=ActivityKind,ЭКДебет=CreditDocEK%d,ЭККредит=DebitDocEK%d," +
               "БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue," +
               "КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,НомерСчетаДебет=DebitNumberAcc70n%s28," +
               "НомерСчетаКредит=CreditNumberAcc70n%s28,БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f," +
               "Баланс=BalanceCls,БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan," +                                                                        
               "КодСметы=StimateID,КодСметыЗаписи=DetStimateId,Автор=CreaterUser,АвторДокумента=CptCreaterUser," +
               "БюджКлассификация=BudClS,ВидАссигнований=AssignmentKind,ОрганизацияГлавныйРаспорядитель=Org_RefGRBS_Det," +
               "КодФОДокумента=CptFUID,КодФОЗаписи=DetFUID,НомерЗаявки=BidNumber,ПричинаОтклонКод=RejectCls,ПричинаОтклонТекст=RejectCause," +
               "НачальноеСостояниеДокумента=BeginDocStateRef,ПризнакЗависания=DocSuspended,ЕстьВБюджете=IsInBudget," +
               "ЛокальнаяВиза=IsVised,МягкаяПричинаОтклонКод=SoftRejectCLS,МягкаяПричинаОтклонТекст=SoftRejectCause," +
               "СчетПоставщик=SUPPLIER_ACC_REF, СостояниеДокумента=DocStateRef,РайонТрансферта=RegionCLS,РайонКонтрагента=RegionContractor," +
               "РайонБУ=RegionBudgetEst,КодСубсидииКлюч=SubsidyCls,КодСубсидии=SubsidyClsCode,КодБюджАссигнованияКлюч=BudAllocationCls," +
               "КодБюджАссигнования=BudAllocationClsCode,КодРасходногоОбязательстваКлюч=PayPromiseCls,КодРасходногоОбязательства=PayPromiseClsCode," + 
               "НомерСведения=InfoNumber";
конец;
Функция ОбязательстваВернутьМаппингПереносаЗначимыхПолей(ИмяСекции:строка):строка;
начало
  Выбрать Прописные(ИмяСекции) из
    // Секция 0.  Бюджетные обязательства по месяцам
    Прописные('ОбязательстваЗаПериод'): Результат := 
        "ОбязСуммаНаГод=Summa,ОбязСуммаПоТекМесяц=TotalSumOnMonth,ОбязСуммаНаТекМесяц=SumCurMonth,"+
        "ОбязОбщаяСуммаЗаПериод=TotalSummCaption,ОбязСуммаКвартал1=SummQuarter1,ОбязСуммаКвартал2=SummQuarter2,"+
        "ОбязСуммаКвартал3=SummQuarter3,ОбязСуммаКвартал4=SummQuarter4,"+
        "ПриостанОбязСуммаКвартал1=FSummQuarter1,ПриостанОбязСуммаКвартал2=FSummQuarter2,"+
        "ПриостанОбязСуммаКвартал3=FSummQuarter3,ПриостанОбязСуммаКвартал4=FSummQuarter4,"+
        "ОбязЯнварь=Month01,ОбязФевраль=Month02,ОбязМарт=Month03,"+
        "ОбязАпрель=Month04,ОбязМай=Month05,ОбязИюнь=Month06,ОбязИюль=Month07,ОбязАвгуст=Month08,"+
        "ОбязСентябрь=Month09,ОбязОктябрь=Month10,ОбязНоябрь=Month11,ОбязДекабрь=Month12,ОбязСуммаДоговора=Agreement_Summa,ОбязСуммаАванса=AdvanceSumma,"+
        "ОбязНаПервыйГод=SUMMAYEAR1,ОбязНаВторойГод=SUMMAYEAR2,ОбязНаТретийГод=SUMMAYEAR3";
  конец;
конец;

//получить поле Организации ЛС
функция ПолучитьПолеОрганизацияЛС(Коллекция : IVariables): строка;
начало
  Результат := "Org_Ref";
  если Коллекция.ПараметрСуществует("ОрганизацияЛС") тогда
  выбрать Коллекция.Values("ОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
  если Коллекция.ПараметрСуществует("БюджОрганизацияЛС") тогда
  выбрать Коллекция.Values("БюджОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
конец;

функция ВернутьПоляУРМ : строка;
начало
 /$если Бюджет
    результат := 
    ",pc.ID cptFUID, 
      pc.SenderID CptSenderID, 
      pc.SenderRecordID CptSenderRecordID,    
      CAST(null as Integer) IsVised,
      CAST(null as Integer) IsInBudget,
      CAST(null as Integer) DocSuspended,
      CAST(null as Integer) SoftRejectCls,
      CAST(null as varChar(255)) SoftRejectCause,
      CAST(null as Integer) BeginDocStateRef,
      d.Id detFUID,
      d.SenderID DetSenderID, 
      d.SenderRecordID DetSenderRecordID,
      CAST(null as Integer) LastExtrChange ";
  /$иначе
    результат := 
    ",pc.FUID cptFUID,
      pc.IsVised,
      pc.IsInBudget,
      pc.DocSuspended,
      pc.SoftRejectCls,
      pc.SoftRejectCause,
      pc.BeginDocStateRef,
      d.FUID detFUID,
      pc.LastExtrChange ";
  /$конец
конец;

функция ЗапросОбязательства(Коллекция:IVariables):строка;
переменные
  ОгрПоСервиснымСчетам, ОгрПоПроведНепровед: строка;
  комментарий,Запрос: Строка;
  ОгрПоУвед,
  ОгрПоОрганизации,ОгрПоКлассификаторам, КонДата,
  ОгрПоДате, ОгрДоп, ОгрУточненных:строка;
  МаппингОбязат: Строка;
  Тек, сч: целое;
  СуммаПоТекМесяц, СуммаНаТекМесяц: строка;
  Огр70Н,ОгрДополнительныеОграничения: строка;
  ОгрПрава, ОрганизацияЛС, ТаблицаОрг, ТаблОргДляЗапроса: строка;
  ОгрПоБюджОрг, ОгрПоВидуИТипуОрг, ОгрПоОрганизацииПолуч: строка;
  ОгрПоПринадлежностиЛС: строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
  ОгрПоВходящимСвязям, ОгрПоИсходящимСвязям, ОгрПоВходящимСвязямЗаголовка, ОгрПоИсходящимСвязямЗаголовка, ОгрПоСвязям: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция обязательств.");

  Если Коллекция.Values("ПечатныйДокумент")
    тогда ОгрПоДате := ""
    иначе ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=pc.AcceptDate,ДатаВводаТип=pc.Agreement_Date', Коллекция, 'pc.AcceptDate');
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  
  если УбратьПробелы(Коллекция.Values("КонечнаяДата")) &lt;&gt;  "" тогда начало
    КонДата := Коллекция.Values("КонечнаяДата");
    Если Позиция(".",КонДата) &lt;&gt; 0 тогда
      КонДата := DateExString(КонДата);
  конец иначе
    КонДата := 99999999;
      
  //ограничение по выводу уточненных другими документами обязательств
  если Коллекция.Values("УточненныеОбязательства")&lt;&gt;"" //нужно ли формировать ограничение на уточнение обязательств
    тогда если Коллекция.Values("УточненныеОбязательства")=1 тогда
            ОгрУточненных := ПолучитьОграничениеПоТипуДаты('', Коллекция, 'd.CloseDate') // только те, которые были уточнены
            иначе ОгрУточненных := " and((d.CloseDate is null)or(d.CloseDate&gt;"+КонДата+"))"// только неуточненные(в них входят и уточняющие)
  иначе ОгрУточненных := ""; // выбираем все
  
  СуммаПоТекМесяц:="";
  если УбратьПробелы(Коллекция.Values("Месяц"))&lt;&gt;"" тогда
    Тек := Коллекция.Values("Месяц")
  иначе тек:= (СТрокаВЦелое(Коллекция.Values("КонечнаяДата"))цел 100) ост 100;
  если тек &gt; 12 тогда тек := 12;
  если тек&lt;1 тогда тек := 1;
  от сч := 1 до тек делать     
    СуммаПоТекМесяц := СуммаПоТекМесяц + "d.month" + ПравоеВыравнивание(ЦелоеВСтроку(сч),2, "0") + "+";     
  если (СуммаПоТекМесяц &lt;&gt; "") тогда СуммаПоТекМесяц := " (" + Подстрока(СуммаПоТекМесяц, 0, Длина(СуммаПоТекМесяц)-1) +") TotalSumOnMonth, ";   
  СуммаНаТекМесяц:=" d.month"+ ПравоеВыравнивание(ЦелоеВСтроку(тек), 2, "0") + " SumCurMonth, ";
    
  // формируем ограничение по сервисным л/с
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;

  МаппингОбязат := МаппингОбязат1 + МаппингОбязат2 + МаппингОбязат3 + МаппингОбязат4  + МаппингОбязат5 + МаппингОбязат6 +
    МаппингОбязат7 + МаппингОбязат8 + МаппингОбязат9 + МаппингОгрОбязательства1 + МаппингОгрОбязательства2;
  // в Promise_Detail поле RegionCLS
  МаппингОбязат := МаппингОбязат + ",Район=d.RegionCLS,РайонТрансферта=d.RegionCLS";  
  // Ограничение по л/с заголовка
  если Коллекция.Values("ОгрПоЛСЗаголовкаБО")=1 тогда
     МаппингОбязат := МаппингОбязат +",ЛицСчет=pc.FacialAcc_CLS"
  иначе
     МаппингОбязат := МаппингОбязат +",ЛицСчет=d.FacialAcc_CLS";
      
  ОгрПоКлассификаторам := Ограничение(МаппингОбязат,Коллекция);
  ОгрДоп := Коллекция.Values("ДопПараметры");
  
  Если  Коллекция.Значение("ВыклУведЧек")=1 тогда
    ОгрПоУвед := "and (pc.Agreement_Type=0)"
  иначе
    ОгрПоУвед := "";   

  // ограничение по учету принятых\отклоненных
  если коллекция.Values("ВыбиратьПроведИНепроведБО")=1 тогда
    ОгрПоПроведНепровед := "" //все
  иначе // только принятые
    ОгрПоПроведНепровед := "and(pc.Accepted_Reverted=0)and(d.RegistrNumber is not null)";

  //ограничение по организации (организации-плательщику)
  если Коллекция.Значение("ПлатОргСсылка") &lt;&gt; "" тогда
    Коллекция.Значение("ОргСсылка") := Коллекция.Значение("ПлатОргСсылка");
  ОрганизацияЛС := ПолучитьПолеОрганизацияЛС(Коллекция);
  если Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") тогда
  начало
    //ограничение по организации лс
    ОгрПоОрганизации := Ограничение("ОргСсылка=(f." + ОрганизацияЛС + "%d)",Коллекция);
    если Коллекция.Values("ОрганизацияЛС") = 2 тогда
      ТаблицаОрг := "org_GRBS" //по ГРБС лс
    иначе
      ТаблицаОрг := "org"; //по владельцу лс
  конец
  иначе
    начало
      ОгрПоБюджОрг := Ограничение("БюджОргСсылка=f." + ОрганизацияЛС + "%d",Коллекция);
      ОгрПоОрганизации := Ограничение('ОргСсылка=pc.BudgetOrg_Ref%d',Коллекция);
      ТаблОргДляЗапроса := ' left join Organizations o on (pc.BudgetOrg_Ref=o.id)' + nl;
      ТаблицаОрг := 'o';
    конец;
  //ограничение по виду и типу организации
  ОгрПоВидуИТипуОрг := Ограничение('ВидОрганизаций='+ТаблицаОрг+'.Org_Type%d,ТипОрг='+ТаблицаОрг+'.Org_CLS%d', коллекция);

  //ограничение по организации поставщика услуг
  ОгрПоОрганизацииПолуч := Ограничение('ПолучОргСсылка=pc.Supplier_Ref%d',Коллекция);

  если (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    Огр70н:=" and (DebitAP.id is not null) and (CreditAP.id is not null) "
  иначе    
    Огр70н := "";
  ОгрДополнительныеОграничения := Коллекция.Значение("ДополнительныеОграничения");  

  // ограничиваем (если требуется) по правам на расходную классификацию. 
  // Ограничения по остальным правам(на Р\с, организации) накладываются ранее в поддержкаПроекта.abl
  ОгрПрава := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава,Коллекция,' and(%s)');
  
  ОгрПоСвязям := "";
  ОгрПоВходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  ОгрПоИсходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);
  ОгрПоВходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrc_d", "ТипВходящейСвязи", ОгрПоСвязям);
  ОгрПоИсходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrp_d", "ТипИсходящейСвязи", ОгрПоСвязям); 
  
  ОгрПоПринадлежностиЛС := "";    
  выбрать Коллекция.Значение("ПринадлежностьЛС") из
    1 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is null)"; // л\с, открытые не в федеральном казначействе
    2 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is not null)"; // л\с, открытые в федеральном казначействе
  конец;

  // настраиваем запрос
  запрос := "SELECT "+nl+  
          "pc.id CptID, d.ID, pc.DocStateRef, d.FacialAcc_CLS FacialAcc,pc.AcceptDate, pc.Agreement_Date," + nl +
          "d.KVR KVRID, tKvr.Code KVR, d.KVSR KVSRID, tKvsr.Code KVSR, d.KCSR KCSRID, tKcsr.Code KCSR," + nl +
          "d.KESR, d.KFSR, d.SUBKESR, d.DirectionCLS, d.FACT, d.FinType, d.FinSource, d.RegionCLS, d.doctype Doctype," + nl +
          "d.MeansType, d.TransfertCls, tc.Code TransfertClsValue, d.CreateDate, d.UpdateDate, d.RegistrNumber," + nl +
          "pc.Supplier_Ref, pc.BudgetOrg_Ref, d.CloseDate, d.Child_Promise, d.Parent_Promise, d.AssignmentKind," + nl +
          "pc.BidNumber, d.Summa, pc.TotalSumm TotalSummCaption," + nl +
          "org.RegionCls RegionBudgetEst, SupOrg.RegionCls RegionContractor," + nl +                    
          "d.Month01, d.Month02, d.Month03, d.Month04, d.Month05, d.Month06," + nl + 
          "d.Month07, d.Month08, d.Month09, d.Month10, d.Month11, d.Month12," + nl +
          "(d.SummaYear1Delta + d.SummaYear2Delta + d.SummaYear3Delta) summaDelta," + nl +
          "(d.Month01 + d.Month02 + d.Month03) SummQuarter1," + nl +
          "(d.Month04 + d.Month05 + d.Month06) SummQuarter2," + nl +
          "(d.Month07 + d.Month08 + d.Month09) SummQuarter3," + nl +
          "(d.Month10 + d.Month11 + d.Month12) SummQuarter4," + nl +
          "d.Month01Delta, d.Month02Delta, d.Month03Delta, d.Month04Delta, d.Month05Delta,d.Month06Delta," + nl +
          "d.Month07Delta, d.Month08Delta, d.Month09Delta, d.Month10Delta, d.Month11Delta,d.Month12Delta," + nl +
          "d.SummaYear1Delta, d.SummaYear2Delta, d.SummaYear3Delta," + nl +
          "d.SUMMAYEAR1, d.SUMMAYEAR2, d.SUMMAYEAR3," + nl +          
          СуммаПоТекМесяц + nl +
          СуммаНаТекМесяц + nl +
          "Cast(16 as integer) AlgIndex, Cast(224 as integer) ProgIndex, pc.Number, pc.AGREEMENT_NUM," + nl +
          "pc.Agreement_Type, pc.FacialAcc_CLS FACaption, pc.AGREEMENT_END, pc.AGREEMENT_Note, pc.Delivery_Rules," + nl +
          "pc.Accepted_Reverted, pc.Agreement_Summa, cast (12 as integer) PeriodOfOperation, pc.BudgetRef BudgetRef," + nl +
          "d.CreaterUser, pc.CreaterUser CptCreaterUser, pc.StimateId, d.StimateId DetStimateId," + nl +
          "cast(0 as integer) ClsType, cast(0 as varchar(20)) BudClS, org_GRBS.id Org_RefGRBS_Det, mt.ActivityKind," + nl +
          "pc.Reject_Cls RejectCls, pc.RejectCause,pc.SUPPLIER_ACC_REF," + nl +
          "pc.InfoNumber, pc.AdvanceSumma, " + nl + 
          // поля для инструкции 70н
          "bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, bac.CORRECTIONFLAG," + nl +     
          "CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +                 
          "(cast(CreditAP.BUHACC as double precision)*1000 + CreditAP.ECCLS) CreditAccPlan," + nl +                       
          "(cast(DebitAP.BUHACC as double precision)*1000 + DebitAP.ECCLS)  DebitAccPlan," + nl +                                                                           
          "d.BuhOperationCLS, bac.BalanceCls, d.SubsidyCls, s.Code SubsidyClsCode," + nl +
          "d.BudAllocationCls, balc.Code BudAllocationClsCode, d.PayPromiseCls, ppc.Code PayPromiseClsCode" + nl +          
          ВернутьПоляУРМ + nl +
        "FROM " + nl +
          "(Promise_Detail d " + nl +
          "left join Promise_Caption pc on (pc.id = d.title_ref))" + nl +
          "left join FacialAcc_Cls f on (f.id = d.FacialAcc_Cls)" + nl +
          "left join Org_Accounts fccoa on (fccoa.id = f.FCAccount)" + nl +
          "left join TransfertCls tc on (tc.ID = d.TransfertCls) " + nl +
          "left join Organizations org on (org.id = f.Org_Ref)" + nl +
          "left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)" + nl +
          "left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)" + nl +
          "left join Organizations SupOrg on (SupOrg.id = pc.Supplier_Ref)" + nl +           
          "left join MeansType mt on (mt.ID = d.MeansType) " + nl +
          "left join KVSR tKvsr on (tKvsr.id = d.KVSR)" + nl +
          "left join KVR tKvr on (tKvr.id = d.KVR)" + nl +
          "left join KCSR tKcsr on (tKcsr.id = d.KCSR)" + nl +
          ТаблОргДляЗапроса +
          // таблицы для инструкции 70н
          "left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
          "left join BuhOperationCLS boCLS on (boCLS.id = d.BuhOperationCLS)" + nl + 
          "left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
          "left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef) " + nl +
          "left join SubsidyCls s on (d.SubsidyCls = s.ID)" + nl +
          "left join BudAllocationCls balc on (d.BudAllocationCls = balc.id)" + nl +
          "left join PayPromiseCls ppc on (d.PayPromiseCls = ppc.id)" + nl +
          " left join LinkRecords lrp on ((lrp.ParentID = pc.id)" + ОгрПоИсходящимСвязямЗаголовка + ")" + nl +
          " left join LinkRecords lrc on ((lrc.ChildID = pc.id)" + ОгрПоВходящимСвязямЗаголовка + ")" + nl +
          " left join LinkRecords lrp_d on ((lrp_d.ParentID = d.id)" + ОгрПоИсходящимСвязям + ")" + nl +
          " left join LinkRecords lrc_d on ((lrc_d.ChildID = d.id)" + ОгрПоВходящимСвязям + ")" + nl +
          " left join LInkType lrp_d_lt on (lrp_d_lt.id = lrp_d.LinkTypeRef)" + nl +
          " left join LinkType lrc_d_lt on (lrc_d_lt.Id = lrc_d.LinkTypeRef)" + nl +
         "WHERE " + nl +
          "(1=1)" + nl +
          ОгрПоКлассификаторам + nl +
          ОгрПоОрганизации + nl +
          ОгрПоБюджОрг + nl +
          ОгрПоОрганизацииПолуч + nl +
          ОгрПоУвед + nl +
          ОгрПоПроведНепровед + nl +
          ОгрУточненных + nl +
          ОгрПоДате + nl +
          ОгрПоДатамБухОпераций + nl +
          ОгрПоСервиснымСчетам + nl +
          ОгрДоп + nl +
          Огр70н + nl +
          ОгрДополнительныеОграничения + nl +
          ОгрПрава + nl +
          ОгрПоВидуИТипуОрг + nl +
          ОгрПоСвязям + nl +
          ОгрПоПринадлежностиЛС; 

  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);
конец;

функция СсылкаНаОрганизациюИзСчетов: строка;
начало
  результат := "Org_ref";
конец;

//Проверяет значение параметра если не пустое, дополняет строку ограничений
функция ОбработатьПараметр(СтрокаПараметров: строка; ИмяПоля, СпособОграничения, Значение: строка) : целое;
начало
  результат := да;
  если УбратьПробелы(Значение) &lt;&gt; "" тогда
    СтрокаПараметров := СтрокаПараметров + "and("+ИмяПоля+" "+СпособОграничения+" "+УбратьПробелы(Значение)+")"+nl
  иначе
    результат := нет;
конец;

// Список полей БО(Учет договоров) для запроса на выборку
функция ПолучитьПоляБО(Коллекция: IVariables): строка;
переменные
  тек, сч        : целое; 
  СуммаПоТекМесяц,
  СуммаНаТекМесяц: строка;       
начало          
  СуммаПоТекМесяц:="";
  если УбратьПробелы(Коллекция.Values("Месяц"))&lt;&gt;"" тогда
    Тек := Коллекция.Values("Месяц")
  иначе тек:= (СТрокаВЦелое(Коллекция.Values("КонечнаяДата"))цел 100) ост 100;
  если тек &gt; 12 тогда тек := 12;
  если тек&lt;1 тогда тек := 1;
  от сч := 1 до тек делать     
    СуммаПоТекМесяц := СуммаПоТекМесяц + "d.month" + ПравоеВыравнивание(ЦелоеВСтроку(сч),2, "0") + "+";     
  если (СуммаПоТекМесяц &lt;&gt; "") тогда СуммаПоТекМесяц := " (" + Подстрока(СуммаПоТекМесяц, 0, Длина(СуммаПоТекМесяц)-1) +") TotalSumOnMonth, ";   
  СуммаНаТекМесяц:=" d.month"+ ПравоеВыравнивание(ЦелоеВСтроку(тек), 2, "0") + " SumCurMonth, ";

  результат := "d.ID, d.id DetFUID, d.FacialAcc_CLS FacialAcc, d.AcceptDate,"+nl+
             "d.KFSR, d.KVR KVRID, tKvr.Code KVR, d.KVSR KVSRID, tKvsr.Code KVSR, d.KCSR KCSRID, tKcsr.Code KCSR, d.KESR, d.SUBKESR, " + nl +
             "d.DirectionCLS, d.FACT, d.FinType, d.FinSource, d.Region RegionCLS,0 Doctype,d.MeansType,"+nl+
             "d.TransfertCls, tc.Code TransfertClsValue, d.Summa, d.ANumber RegistrNumber,"+nl+
             "cast(null as double precision) CloseDate," + nl +
             "cast(null as integer) Child_Promise," + nl +
             "cast(null as integer) Parent_Promise," + nl +
             "cast(null as varchar(50)) BidNumber," + nl +
             "cast(null as integer) as StimateId, cast(null as integer) as DetStimateId, "  + nl +
             "cast(0 as integer) ClsType, cast(0 as varchar(20)) BudClS," + nl +              
             "d.Month01,d.Month02,d.Month03,d.Month04,d.Month05,d.Month06,"+nl+ 
             "d.Month07,d.Month08,d.Month09,d.Month10,d.Month11,d.Month12,d.CreateDate,d.UpdateDate,"+nl+
             "(d.SummaYear1Delta + d.SummaYear2Delta + d.SummaYear3Delta) summaDelta,"+nl+
             "d.Month01Delta,d.Month02Delta,d.Month03Delta,d.Month04Delta,d.Month05Delta,d.Month06Delta," + nl +
             "d.Month07Delta,d.Month08Delta,d.Month09Delta,d.Month10Delta,d.Month11Delta,d.Month12Delta," + nl +
             "d.SummaYear1Delta,d.SummaYear2Delta,d.SummaYear3Delta,d.AssignmentKind, d.SubsidyCls, s.Code SubsidyClsCode, " + nl +
             "d.BudAllocationCls, balc.Code BudAllocationClsCode, d.PayPromiseCls, ppc.Code PayPromiseClsCode," + nl + 
             "d.SUMMAYEAR1, d.SUMMAYEAR2, d.SUMMAYEAR3," + nl +                                    
             "d.CreaterUser,d.CreateDate,d.UpdateDate,d.BUDGETREF BUDGETREF,d.ProgIndex, d.BuhOperationCLS, "+nl+
             "d.Quarter1 SummQuarter1,"+nl+
             "d.Quarter2 SummQuarter2,"+nl+
             "d.Quarter3 SummQuarter3,"+nl+
             "d.Quarter4 SummQuarter4,"+nl+
             "cast(0 as double precision) FSummQuarter1,"+nl+
             "cast(0 as double precision) FSummQuarter2,"+nl+
             "cast(0 as double precision) FSummQuarter3,"+nl+
             "cast(0 as double precision) FSummQuarter4,"+nl+ 
             СуммаПоТекМесяц+nl+
             СуммаНаТекМесяц+nl;
конец;

функция ПолучитьОгрПоУточнениюБО(Коллекция: IVariables; ОгрПоДате, ИмяПараметра, АлиасТабл: строка): строка;
начало
  результат := "";
  если УбратьПробелы(Коллекция.Values(ИмяПараметра)) &lt;&gt; "" тогда
  начало
    если (УбратьПробелы(Коллекция.Values(ИмяПараметра)) = "2") тогда
      результат := результат + "and (d.LastAdjustment=1)" + nl
    иначе если УбратьПробелы(Коллекция.Values(ИмяПараметра)) = "1" тогда
        результат := результат + "and(((d.LastAdjustment=1)and(d.AdjustmentNumber=0)and(d.Accepted=0)and(d.AcceptDate is not null))or(d.LastAccepted=1))" + nl 
    иначе если УбратьПробелы(Коллекция.Values(ИмяПараметра)) = "0" тогда
      результат := результат + "and(d.LastAccepted=1)" + nl
    иначе если УбратьПробелы(Коллекция.Values(ИмяПараметра)) = "3" тогда // БО актуальное на дату
      результат := результат + "and (d.AdjustmentNumber = (SELECT max(ps_max.AdjustmentNumber) 
                                                            FROM PaymentSchedule ps_max 
                                                            WHERE (d.InnerPromiseNum = ps_max.InnerPromiseNum) " +
                                                            ЗаменитьПодстроку(ЗаменитьПодстроку(ОгрПоДате, АлиасТабл, "ps_max.", ЗаменятьВсе), "d.", "ps_max.", ЗаменятьВсе) + 
                                                            "and (ps_max.AcceptDate is not null) and (ps_max.Accepted = 1)
                                                            )
                                                            )";
  конец;
     
  если Коллекция.Values("УточненныеОбязательства") &lt;&gt; "" тогда //нужно ли формировать ограничение на уточнение обязательствтогда если Коллекция.Values("УточненныеОбязательства")=1 тогда
    если Коллекция.Values("УточненныеОбязательства") = 1 тогда
      результат := результат + " and ((d.LastAccepted = 0) and (d.Accepted = 1) and (d.AcceptDate is not null))" // только те, которые были уточнены
    иначе начало
      если (Коллекция.Values(ИмяПараметра) &lt;&gt; "3")тогда 
        результат := результат + " and (d.LastAccepted = 1)"// только неуточненные(в них входят и уточняющие)
    конец
  иначе 
  начало
    //Теперь смотрим, для чего выбираются данные
    //Если для контроля, тогда берем только последние версии
    если Коллекция.Значение("ПланСчетов") = 3 //Для плана счетов нужно брать все принятые версии
      тогда результат := результат + "and (d.Accepted = 1) and (d.AcceptDate is not null)"
      иначе начало
        если (Коллекция.Values(ИмяПараметра) &lt;&gt; "3")тогда 
          результат := результат + "and (d.LastAccepted = 1)";
      конец;    
  конец;    
конец;

функция ЗапросБОДоговоры(Коллекция:IVariables):строка;
переменные
  ОгрПоСервиснымСчетам: строка;
  комментарий,Запрос, Запрос1: Строка;
  ОгрПоОрганизации,ОгрПоКлассификаторам, ОгрПоДате, ОгрУточненных, ОгрПоУвед, ОгрПоПроведНепровед,
  МаппингОбязат: Строка;
  Огр70н: строка;
  ВсеПоля: строка;
  ВсеТаблицы: строка;
  ВсеОграничения        : строка;
  ОрганизацияЛС, ТаблицаОрг,
  ТипОгрДок, 
  ТаблОргДляЗапроса     : строка;
  ОгрПоУточнению, ОгрПоНомеру,
  ОгрПоБюджОрг, ОгрПоВидуИТипуОрг, 
  ОгрПоОрганизацииПолуч : строка;
  ОгрПоПринадлежностиЛС : строка;
                          
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция БО в договорах/контрактах(Учет договоров).");
  
  если Коллекция.Values("ПечатныйДокумент") тогда 
    ОгрПоДате := ""
  иначе 
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=d.AcceptDate,ДатаВводаТип=pc.AgreementDate', Коллекция, 'd.AcceptDate');
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";

  ОгрПоУточнению := ПолучитьОгрПоУточнениюБО(Коллекция, ОгрПоДате, "УточненияДоговора", "pc.");
  // формируем ограничение по сервисным л/с
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;

  МаппингОбязат := МаппингОбязат1 + МаппингОбязат2 + МаппингОбязат3 + МаппингОбязат4 + МаппингОбязат5 + МаппингОбязат6 +
    МаппингОбязат7 + МаппингОбязат8 + МаппингОбязат9 + МаппингОгрУчетДоговоров1 + МаппингОгрУчетДоговора;
  
  // в PaymentSchedule поле Region
  МаппингОбязат := МаппингОбязат + ",Район=d.Region,РайонТрансферта=d.Region";  
  // Ограничение по л/с заголовка
  если Коллекция.Values("ОгрПоЛСЗаголовкаБО")=1 тогда
     МаппингОбязат := МаппингОбязат +",ЛицСчет=pc.FacialAcc_CLS"
  иначе
     МаппингОбязат := МаппингОбязат +",ЛицСчет=d.FacialAcc_CLS";
      
  ОгрПоКлассификаторам := Ограничение(МаппингОбязат,Коллекция);
      
  если  Коллекция.Значение("ВыклУведЧек")=1 тогда
    ОгрПоУвед := "and (pc.AgreementType=0)"
  иначе
    ОгрПоУвед := "";
    
  // ограничение по учету принятых\отклоненных
  если коллекция.Values("ВыбиратьПроведИНепроведБО")=1 тогда
    ОгрПоПроведНепровед := "" //все
  иначе // только принятые
    ОгрПоПроведНепровед := "and (pc.Accepted = 1) and (pc.AcceptDate is not null)";        
      
  //ограничение по организации (организации-плательщику)
  если Коллекция.Значение("ПлатОргСсылка") &lt;&gt; "" тогда
    Коллекция.Значение("ОргСсылка") := Коллекция.Значение("ПлатОргСсылка");
  ОрганизацияЛС := ПолучитьПолеОрганизацияЛС(Коллекция);
  если Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") тогда
  начало
    //ограничение по организации лс
    ОгрПоОрганизации := Ограничение("ОргСсылка=(f." + ОрганизацияЛС + "%d)",Коллекция);
    если Коллекция.Values("ОрганизацияЛС") = 2 тогда
      ТаблицаОрг := "org_GRBS" //по ГРБС лс
    иначе
      ТаблицаОрг := "org"; //по владельцу лс
  конец
  иначе
    начало
      ОгрПоБюджОрг := Ограничение("БюджОргСсылка=f." + ОрганизацияЛС + "%d",Коллекция);
      ОгрПоОрганизации := Ограничение('ОргСсылка=pc.Client_Ref%d',Коллекция);
      ТаблОргДляЗапроса := ' left join Organizations o on (pc.Client_Ref=o.id)' + nl;
      ТаблицаОрг := 'o';
    конец;
  если Коллекция.Values("ДогНом") &lt;&gt; "" тогда
  начало
    если (Коллекция.Values("НомерДокПрост") &lt;&gt; "")тогда
      ТипОгрДок := Коллекция.Values("НомерДокПрост")
    иначе ТипОгрДок := "=";
    ОбработатьПараметр(ОгрПоНомеру, "pc.DocNumber", ТипОгрДок, "'"+Коллекция.Values("ДогНом")+"'");    
  конец;  
  //ограничение по виду и типу организации
  ОгрПоВидуИТипуОрг := Ограничение('ВидОрганизаций='+ТаблицаОрг+'.Org_Type%d,ТипОрг='+ТаблицаОрг+'.Org_CLS%d', коллекция);

  //ограничение по организации поставщика услуг
  ОгрПоОрганизацииПолуч := Ограничение('ПолучОргСсылка=pc.Executer_Ref%d',Коллекция);
  
  если (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    Огр70н:=" and (DebitAP.id is not null) and (CreditAP.id is not null) "
  иначе    
    Огр70н := "";
  
  ОгрПоПринадлежностиЛС := "";    
  выбрать Коллекция.Значение("ПринадлежностьЛС") из
    1 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is null)"; // л\с, открытые не в федеральном казначействе
    2 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is not null)"; // л\с, открытые в федеральном казначействе
  конец;

  // настраиваем запрос (принятые бюджетные обязательства)
  ВсеПоля := "pc.id CptID, pc.id CptFUID, pc.Summa TotalSummCaption,"+nl+
             "pc.Executer_Ref Supplier_Ref,pc.Client_Ref BudgetOrg_Ref," + nl +
             "Cast(16 as integer) AlgIndex,pc.ReestrNumber Number,pc.DocNumber AGREEMENT_NUM,"+nl+
             "pc.AgreementDate AGREEMENT_DATE,pc.AgreementType Agreement_Type,pc.FacialAcc_CLS FACaption,"+nl+
             "pc.AgreementEndDate AGREEMENT_END,pc.Note AGREEMENT_Note,pc.DeliveryRules Delivery_Rules,"+nl+
             "cast((1-pc.Accepted) as Integer) Accepted_Reverted,pc.AgreementSumma Agreement_Summa, cast(0 as integer) PeriodOfOperation, "+nl+
             "pc.CreaterUser CptCreaterUser, org_GRBS.id Org_RefGRBS_Det, pc.RejectCls, pc.RejectCause," + nl +
             "org.RegionCls RegionBudgetEst, SupOrg.RegionCls RegionContractor," +nl+             
             ПолучитьПоляБО(Коллекция) +
             // поля для инструкции 70н
             "mt.ActivityKind, " + nl +
             "bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, bac.CORRECTIONFLAG, " + nl +     
             "CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue ";                

  ВсеТаблицы := "PaymentSchedule d "+nl+
                "left join Agreements pc on (d.AgreementRef = pc.id)"+nl+
                "left join FacialAcc_Cls f on (d.FacialAcc_Cls = f.id)"+nl+
                "left join TransfertCls tc on (tc.ID = d.TransfertCls)"+nl+
                "left join Organizations org on (org.id = f.Org_Ref)" + nl +
                "left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)"+ nl +
                "left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)"+ nl + 
                "left join Organizations SupOrg on (SupOrg.id=d.Supplier_Ref)"+ nl +                
                "left join MeansType mt on (mt.ID = d.MeansType)"+nl+
                "left join KVSR tKvsr on (tKvsr.id = d.KVSR)" + nl +
                "left join KVR tKvr on (tKvr.id = d.KVR)" + nl +
                "left join KCSR tKcsr on (tKcsr.id = d.KCSR)" + nl +
                // таблицы для инструкции 70н
                "left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
                "left join BuhOperationCLS boCLS on (boCLS.id = d.BuhOperationCLS)" + nl + 
                "left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
                "left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
                "left join SubsidyCls s on (d.SubsidyCls = s.ID)" + nl + 
                "left join BudAllocationCls balc on (d.BudAllocationCls = balc.id)" + nl +
                "left join PayPromiseCls ppc on (d.PayPromiseCls = ppc.id)" + nl +              
                ТаблОргДляЗапроса;
                
  ВсеОграничения := ОгрПоУточнению + ОгрУточненных+nl+          
                    ОгрПоКлассификаторам+nl+
                    ОгрПоОрганизации + nl +
                    ОгрПоБюджОрг + nl +
                    ОгрПоОрганизацииПолуч + nl +
                    ОгрПоВидуИТипуОрг + nl +
                    ОгрПоУвед+nl+
                    ОгрПоПроведНепровед+nl+
                    ОгрПоДате+ОгрПоСервиснымСчетам+Огр70н+nl+
                    ОгрПоДатамБухОпераций + nl +
                    ОгрПоНомеру + nl +
                    ОгрПоПринадлежностиЛС +
                    " and (d.ProgIndex in (304, 314)) " ;                                        
  
  // настраиваем запрос (принятые бюджетные обязательства)
  запрос := "SELECT "+nl+  
               ВсеПоля+nl+
            "FROM "+nl+
               ВсеТаблицы+nl+
            "WHERE "+nl+
               "(1 = 1)" + ВсеОграничения;                              

  Запрос1 := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);

  // настраиваем запрос (приостановленные бюджетные обязательства)
  /* Пока закомментировано (до выяснения обстоятельств), чтобы не было удвоения сумм в бухгалтерии и контролях */
/*  запрос := "SELECT "+nl+  
               ВсеПоля+nl+
               "cast(0 as double precision) SummQuarter1,"+nl+
               "cast(0 as double precision) SummQuarter2,"+nl+
               "cast(0 as double precision) SummQuarter3,"+nl+
               "cast(0 as double precision) SummQuarter4,"+nl+
               "d.Quarter1 FSummQuarter1,"+nl+
               "d.Quarter2 FSummQuarter2,"+nl+
               "d.Quarter3 FSummQuarter3,"+nl+
               "d.Quarter4 FSummQuarter4"+nl+                
            "FROM "+nl+
               ВсеТаблицы+nl+
            "WHERE "+nl+
               "(not pc.RejectCls is null)" + ВсеОграничения;

  Запрос2 := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);
  
  результат := Запрос1 + Запрос2;                                 */
  результат := Запрос1;
конец;

функция ЗапросБОДИ(Коллекция: IVariables): строка;
переменные
  ОгрПоКлассификаторам,
  ОгрПоПринадлежностиЛС,
  ОгрПоДатамБухОпераций,
  ОрганизацияЛС,
  ОгрПоОрганизации,
  ОгрПоБюджОрг, ОгрПоУвед, ОгрПоДате, ОгрПоУточнению, ОгрУточненных,
  Огр70н,
  ОгрПоПолуч, ОгрПоПоставщик,
  ОгрПоВидуИТипуОрг,
  ОгрПоПроведНепровед,
  ОгрПоСервиснымСчетам,
  ОгрПоНомеру, ТипОгрДок,
  НачДатаСтр, КонДатаСтр,
  Комментарий,
  МаппингОбязат         : строка;
  ТаблицаОрг,
  ТаблОргДляЗапроса     : строка;
  запрос,
  ВсеОграничения,
  ВсеПоля, ВсеТаблицы   : строка;
начало
  результат := "";
  ОгрПоПолуч := ""; ОгрПоПоставщик := "";

  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция БО в ДИ(Учет договоров).");
  если Коллекция.Values("ПечатныйДокумент") тогда 
    ОгрПоДате := ""
  иначе 
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=d.AcceptDate,ДатаВводаТип=edc.DocumentDate', Коллекция, 'd.AcceptDate');
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";

  ОгрПоУточнению := ПолучитьОгрПоУточнениюБО(Коллекция, ОгрПоДате, "УточненияДИ", "pc.");
  // формируем ограничение по сервисным л/с
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;

  МаппингОбязат := МаппингОбязат1 + МаппингОбязат2 + МаппингОбязат3 + МаппингОбязат4 + МаппингОбязат5 + МаппингОбязат6 +
    МаппингОбязат7 + МаппингОбязат8 + МаппингОбязат9 + МаппингОгрУчетДоговоров1 + МаппингОгрУчетДИ;
  
  // в PaymentSchedule поле Region
  МаппингОбязат := МаппингОбязат + ",Район=d.Region";  
  // Ограничение по л/с заголовка
  если Коллекция.Values("ОгрПоЛСЗаголовкаБО")=1 тогда
     МаппингОбязат := МаппингОбязат +",ЛицСчет=edc.FacialAcc_CLS"
  иначе
     МаппингОбязат := МаппингОбязат +",ЛицСчет=d.FacialAcc_CLS";
      
  ОгрПоКлассификаторам := Ограничение(МаппингОбязат,Коллекция);
      
  если  Коллекция.Значение("ВыклУведЧек")=1 тогда
    ОгрПоУвед := "and (edc.AdjustmentRef is null)"
  иначе
    ОгрПоУвед := "";
  
  // ограничение по учету принятых\отклоненных
  если коллекция.Values("ВыбиратьПроведИНепроведБО")=1 тогда
    ОгрПоПроведНепровед := "" //все
  иначе // только принятые
    ОгрПоПроведНепровед := "and (edc.Accepted = 1) and (edc.AcceptDate is not null)";        
  если Коллекция.Values("ДогНом") &lt;&gt; "" тогда
  начало
    если (Коллекция.Values("НомерДокПрост") &lt;&gt; "")тогда
      ТипОгрДок := Коллекция.Values("НомерДокПрост")
    иначе ТипОгрДок := "=";
    ОбработатьПараметр(ОгрПоНомеру, "edc.DocNumber", ТипОгрДок, "'"+Коллекция.Values("ДогНом")+"'");    
  конец;  

  //Ограничение по контрагентам
  ОбработатьПараметр(ОгрПоПоставщик, "edc.SupplierAcc_Ref", "=", Коллекция.Values("ПоставРССсылка"));
  ОбработатьПараметр(ОгрПоПоставщик, "oa."+СсылкаНаОрганизациюИзСчетов, "=", Коллекция.Values("ПоставОргСсылка"));
  ОбработатьПараметр(ОгрПоПоставщик, "oa."+СсылкаНаОрганизациюИзСчетов, "=", Коллекция.Values("ОргСсылкаИсполн"));
  
  ОбработатьПараметр(ОгрПоПолуч, "edc.RecipientAcc_Ref", "=", Коллекция.Values("ПолучРССсылка"));
  ОбработатьПараметр(ОгрПоПолуч, "edc.Recipient_Ref", "=", Коллекция.Values("ПолучОргСсылка"));
  
  
  
  ТаблОргДляЗапроса := "";
  //ограничение по организации (организации-плательщику)
  если Коллекция.Значение("ПлатОргСсылка") &lt;&gt; "" тогда
    Коллекция.Значение("ОргСсылка") := Коллекция.Значение("ПлатОргСсылка");
  ОрганизацияЛС := ПолучитьПолеОрганизацияЛС(Коллекция);
  если Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") тогда
  начало
    //ограничение по организации лс
    ОгрПоОрганизации := Ограничение("ОргСсылка=(f." + ОрганизацияЛС + "%d)",Коллекция);
    если Коллекция.Values("ОрганизацияЛС") = 2 тогда
      ТаблицаОрг := "org_GRBS" //по ГРБС лс
    иначе
      ТаблицаОрг := "org"; //по владельцу лс
  конец
  иначе
    начало
      ОгрПоБюджОрг := Ограничение("БюджОргСсылка=f." + ОрганизацияЛС + "%d",Коллекция);
      ОгрПоОрганизации := Ограничение('ОргСсылка=edc.Recipient_Ref%d',Коллекция);
      ТаблОргДляЗапроса := ' left join Organizations o on (edc.Recipient_Ref=o.id)' + nl;
      ТаблицаОрг := 'o';
    конец;  
  //ограничение по виду и типу организации
  ОгрПоВидуИТипуОрг := Ограничение('ВидОрганизаций='+ТаблицаОрг+'.Org_Type%d,ТипОрг='+ТаблицаОрг+'.Org_CLS%d', коллекция);
  если (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    Огр70н:=" and (DebitAP.id is not null) and (CreditAP.id is not null) "
  иначе    
    Огр70н := "";

  ОгрПоПринадлежностиЛС := "";    
  выбрать Коллекция.Значение("ПринадлежностьЛС") из
    1 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is null)"; // л\с, открытые не в федеральном казначействе
    2 : ОгрПоПринадлежностиЛС := "and (f.FCAccount is not null)"; // л\с, открытые в федеральном казначействе
  конец;
  
  // настраиваем запрос (принятые бюджетные обязательства)
  ВсеПоля := "edc.id CptID, edc.id CptFUID, edc.Summa TotalSummCaption,"+nl+          
             "sup_oa.Org_Ref Supplier_Ref,edc.Recipient_Ref BudgetOrg_Ref, org.RegionCls RegionBudgetEst, SupOrg.RegionCls RegionContractor," + nl +
             "Cast(16 as integer) AlgIndex,edc.ReestrNumber Number,edc.DocNumber AGREEMENT_NUM,"+nl+
             "edc.DocumentDate AGREEMENT_DATE, edc.FacialAcc_CLS FACaption,"+nl+
             "edc.Note AGREEMENT_Note,"+nl+
             "cast((1-edc.Accepted) as Integer) Accepted_Reverted,edc.Summa Agreement_Summa, cast(0 as integer) PeriodOfOperation, "+nl+
             "edc.CreaterUser CptCreaterUser, org_GRBS.id Org_RefGRBS_Det, edc.RejectCls, edc.RejectCause, " + nl +
             ПолучитьПоляБО(Коллекция) +
             // поля для инструкции 70н
             "mt.ActivityKind, " + nl +
             "bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, bac.CORRECTIONFLAG, " + nl +     
             "CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue ";                

  ВсеТаблицы := "PaymentSchedule d "+nl+
                "     join ExecutionDocumentsCaption edc on (d.ExecutionRef = edc.id)"+nl+ // иначе выбираются БО по договорам и контрактам. можно, конечно индексом данных БО ограничить.
                "left join FacialAcc_Cls f on (d.FacialAcc_Cls = f.id)"+nl+
                "left join TransfertCls tc on (tc.ID = d.TransfertCls)"+nl+
                "left join Organizations org on (org.id = f.Org_Ref)" + nl +
                "left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)"+ nl +
                "left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)"+ nl +
                "left join Org_Accounts sup_oa on (sup_oa.id=edc.SupplierAcc_Ref)"+ nl +
                "left join Organizations SupOrg on (SupOrg.id=sup_oa.Org_Ref)"+ nl +                 
                "left join MeansType mt on (mt.ID = d.MeansType)"+nl+
                "left join KVSR tKvsr on (tKvsr.id = d.KVSR)" + nl +
                "left join KVR tKvr on (tKvr.id = d.KVR)" + nl +
                "left join KCSR tKcsr on (tKcsr.id = d.KCSR)" + nl +
                // таблицы для инструкции 70н
                "left join BuhAccCorr bac on (bac.BuhOperationCLS = d.BuhOperationCLS)" + nl +
                "left join BuhOperationCLS boCLS on (boCLS.id = d.BuhOperationCLS)" + nl + 
                "left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
                "left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
                "left join SubsidyCls s on (d.SubsidyCls = s.ID)" + nl +    
                "left join BudAllocationCls balc on (d.BudAllocationCls = balc.id)" + nl +
                "left join PayPromiseCls ppc on (d.PayPromiseCls = ppc.id)" + nl +        
                ТаблОргДляЗапроса;
                
  ВсеОграничения := ОгрПоУточнению + ОгрУточненных+nl+          
                    ОгрПоКлассификаторам+nl+
                    ОгрПоОрганизации + nl +
                    ОгрПоБюджОрг + nl +
                    ОгрПоВидуИТипуОрг + nl +
                    ОгрПоУвед+nl+
                    ОгрПоПроведНепровед+nl+
                    ОгрПоДате+ОгрПоСервиснымСчетам+Огр70н+nl+
                    ОгрПоДатамБухОпераций + nl +
                    ОгрПоПринадлежностиЛС + 
                    ОгрПоНомеру +
                    " and (d.ProgIndex = 308) " ;                                        
  
  // настраиваем запрос (принятые бюджетные обязательства)
  запрос := "SELECT "+nl+  
               ВсеПоля+nl+
            "FROM "+nl+
               ВсеТаблицы+nl+
            "WHERE "+nl+
               "(1 = 1)" + ВсеОграничения;                              

  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);  
конец;

функция ПолучитьОбязательства(Данные : СтатическиеДанные; Коллекция:IVariables);
переменные
  ВидУчетаБО: строка;
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;

    //для бухгалтерии 70н
    CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ОбязательстваВернутьМаппингПереносаПолей, nil, Данные);
    //Создавать недостающие поля запросом
    Данные.DefProps("Options") := "+sdoDefaultFields";

    если Позиция("BudClS", Коллекция.Значение("ПоляВыборки")) &lt;&gt; 0
      тогда Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + ",KVSR,KFSR,KCSR,KVR,KESR,ClsType";   

    // какой блок используется "обязательства" или "учет договоров"?
    ВидУчетаБО := ПолучитьКонстантуКЭШ("", 30, 15, 0);
    если (ВидУчетаБО = "1") и (УбратьПробелы(Коллекция.Values('ВыбиратьСтарыеБО')) = "") 
      тогда Данные.Запрос := "[PumpData]" + ЗапросБОДоговоры(Коллекция)
                                          + ЗапросБОДИ(Коллекция)
      иначе Данные.Запрос := "[PumpData]" + ЗапросОбязательства(Коллекция);
    // Получаем данные
    ПолучитьДанные(Данные, Коллекция);  
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=_,ИВФКлюч=_,КД=_,ВидКлс=ClsType",Данные,Коллекция);
 обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;   
конец;

// Дублируем записи по годам с проставлением соответствующего периода операции
функция КлонироватьПроводки(Данные: СтатическиеДанные;Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
  сч,сч2: целое;
  МапСтр:строка;
  СтрокаГруппировки:строка;
начало
  ВспомСД := СоздатьСтатическиеДанные;
  попытка
    ВспомСД.ПрисвоитьПоля(Данные);
    ВспомСД.Открыть;
    //Добавляем по записи на каждый год
    от сч := 1 до 3 делать
    начало
      если (Коллекция.Значение("ПериодПланирования") = "")или(Коллекция.Значение("ПериодПланирования") = 0)
        или(Коллекция.Значение("ПериодПланирования") = сч) тогда
      начало  
        МапСтр:='';
        от сч2:=1 до 3 делать 
          если сч2&lt;&gt;сч тогда 
            МапСтр:=МапСтр+'SummaYear'+ЦелоеВСтроку(сч2)+'Delta=0;'
          иначе 
            МапСтр:=МапСтр+'SummaDelta=SummaYear'+ЦелоеВСтроку(сч2)+'Delta;';   
        МапСтр := Подстрока(МапСтр,1,Длина(МапСтр)-1);

        СтрокаГруппировки := 'keys=*;' + МапСтр;
        если ВспомСД.НайтиПоле('PeriodOfOperation',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';PeriodOfOperation=' + ЦелоеВСтроку(сч);    
        если ВспомСД.НайтиПоле('CreditAcc70nValue',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';CreditAcc70nValue=(CreditAcc70nValue + (' + ЦелоеВСтроку(сч) + ' * 1000))';    
        если ВспомСД.НайтиПоле('DebitAcc70nValue',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';DebitAcc70nValue=(DebitAcc70nValue + (' + ЦелоеВСтроку(сч) + ' * 1000))';    
        если ВспомСД.НайтиПоле('CreditAccPlan',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';CreditAccPlan=(CreditAccPlan + (' + ЦелоеВСтроку(сч) + ' * 1000000))';    
        если ВспомСД.НайтиПоле('DebitAccPlan',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';DebitAccPlan=(DebitAccPlan + (' + ЦелоеВСтроку(сч) + ' * 1000000))';    
        ВспомСД.GroupData(Данные, СтрокаГруппировки);
      конец;            
    конец;    
    Данные.Reset;  
    Данные.Закачать(ВспомСД);    
    ВспомСД.Reset;      
  обязательно
    УдалитьОбъект(ВспомСД);
  конец;  
конец;

//-------------------------------------------------------------------------------------------------------
// Получить бюджетные обязательства с учетом формирования проводок по бухгалтерии
//-------------------------------------------------------------------------------------------------------
константы
  МаппингСвязанныхПолейОбщий1 = "%EС=KESR;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,CreditBudClsKind;DebitDocEK=%EС,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=KVR,KCSR,KVSR,KFSR;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind;";
  
  МаппингСвязанныхПолейОбщий5 = "summaDelta=SummaYear1Delta,SummaYear2Delta,SummaYear3Delta;";

функция ПолучитьБухОбязательства(Данные: статическиеДанные; коллекция:IVariables);
переменные
  ПоляВыборки : строка;
  МаппингСвязанныхПолей : строка;     
начало
  // Формируем по 70Н
  ПоляВыборки := Коллекция.Values("ПоляВыборки");
  МаппингСвязанныхПолей := МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4 + МаппингСвязанныхПолейОбщий5;
        
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолей, Коллекция) + ",CORRECTIONFLAG";        
  попытка
    ПолучитьОбязательства(Данные, Коллекция);
    КлонироватьПроводки(Данные, Коллекция);
    РасширитьОграничениеПоСинтСчетам(Коллекция);
    // заполняем поля для формирования синтетического счета по 70Н
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=_,КорВидКлс=_,ВидДеятельности=ActivityKind,'+
      'КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФ=_,КорИВФ=_,КД=_,КорКД=_,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=_,'+
      'ЭКБухСчетДебет=_,ОстатковыйИВФДебет=_,ЭКБухСчетКредит=_,ОстатковыйИВФКредит=_,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,СуммаВозвратнойОперации=_,'+
      'Сумма=SummaDelta,БухОперация=BuhOperationCLS,ИсправляющаяОперация=CORRECTIONFLAG',
      Данные,'2','2',коллекция);
  обязательно
    Коллекция.Значение("ПоляВыборки") := ПоляВыборки;                                        
  конец;
конец;
</value>
    <param value="ЗапросыОбязательства.abl" type="3" name="version">36.042.65</param>
    <param value="ЗапросыОбязательства.abl" type="3" name="crc32">$F9B69242</param>
  </node>
  <version_info>
    <file>Сборка(17)Заявки.xml</file>
    <version>36.042.12</version>
    <info>&lt;p&gt;Отчеты по блоку заявок на финансирование&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:45</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыЗаявки.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
константы
  nl = #13#10;
  МаппингЗаявкиКлс1 = "КФСР=r.KFSR,КЭСР=r.KESR,КВСР=tKvsr.Code%d,КЦСР=tKcsr.Code%k,КВР=tKvr.Code%k,ФинТип=r.FinType,ФинТипы=r.FinType,";
  МаппингЗаявкиКлс2 = "Район=r.RegionCLS,СубКЭСР=r.SubKESR,ФинИсточник=r.FinSource,ФинИсточники=r.FinSource,Мероприятие=r.Fact,";
  МаппингЗаявкиКлс3 = "ТипПлатДок=r.DocType,КриптоСтатус=c.CryptoStatus%d,Бюджет=r.BUDGET,БухПроводка=r.BuhPaymentCls,КассСимвол=r.PaySymbolCls,";
  МаппингЗаявкиКлс4 = "ЛицСчет=r.FacialAcc_Cls,ТипСредствБюдж=r.MeansType,ВидДеятельности=mt.ActivityKind%d,ТипДокОснов=r.DocumentBaseType,";
  МаппингЗаявкиКлс5 = "КодЗаписи=p.ID%d,КодДохода=kdr.KDValue%l,СубКодДохода=r.SubKD,ИстВнутрФин=ifs.FinSourceValue%l,НомерДокПрост=r.Number%s,";
  МаппингЗаявкиКлс6 = "Пользователь=r.CREATERUSER%s,НомерБО=r.Promise%s,Примечание=r.USERNOTE%s,ДатаВремяСоздания=r.CreateDate,";
  МаппингЗаявкиКлс7 = "ДатаВремяИзменения=r.UpdateDate,Год=r.YEAR,РСФО=r.DFACCOUNT,ИндексыДанных=r.progIndex,КодДокумента=r.id%d,";
  МаппингЗаявкиКлс8 = "ПолучОргСсылка=oa2.Org_ref,ПолучРССсылка=r.DestAccount,Направление=r.DirectionCLS,СостояниеДокумента=r.DOCSTATEREF%d,";
  МаппингЗаявкиКлс9 = "ТипКлассификации=r.ClsType%d,ТипДеятельности=mt.ActivityType%d,";
  МаппингЗаявкиКлс10 = "КодСубсидии=sc.Code%k,КодБюджАссигнования=BudAllCLS.Code%k,КодРасходногоОбязательства=PayPrCLS.Code%k,КодЦелевыхСредств=tTrftCLS.Code%k";

функция ЗапросЗаявкиВенутьМаппингПереносаПолей : Строка;
начало
  Результат := "КВР=KVR,КВРКлюч=KVRID,КЭСР=KESR,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВСР=KVSR,КВСРКлюч=KVSRID,КФСР=KFSR,СубКЭСР=SubKESR," +
    "ТипФинансирования=FinType,КриптоСтатус=CryptoStatus,ИсточникФинансирования=FinSource,Мероприятие=Fact,Регион=RegionCls," +
    "ТипДокумента=DocType,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,НомерДокумента=Number,Месяц=MONTH,Год=YEAR," +
    "Примечание=USERNOTE,СрокПлатежа=PAYDATE,ИндексАлгоритма=AlgIndex,КодЗаписи=DetID,КодДокумента=CptID,Очередность=PAYPRIORITY," +
    "СпособИсполнения=REQUESTTYPE,НовыйСпособИсполнения=ProgIndex2,Автор=CREATERUSER,ЛицевойСчет=FacialAcc_Cls,РСФО=DFACCOUNT," +
    "ДатаВвода=InputDate,БухПроводка=BuhPaymentCls,СчетПолуч=DestAccount,ИндексыДанных=ProgIndex,КодФОЗаписи=DetID,КодФОДокумента=CptID," +
    "ТипСредств=MeansType,ВидДеятельности=ActivityKind,КассовыйСимвол=PaySymbolCls,БюджОбяз=Promise,ТипДокОснования=DocumentBaseType," +
    "СостояниеДокумента=DOCSTATEREF,ДатаДокОснования=DocumentBaseDate,НомерДокОснования=DocumentBaseNum,СчетРаспорядителя=SourceAccount," +
    "СчетПлат=DFACCOUNT,ИсточникВнутрФинансирования=InnerFinSource,КодДохода=KD,СубКД=SubKD,Направление=DirectionCLS," +
    "СостояниеЗаявки=RequestsDocState,КодВалюты=CurrencyCLS,ПлановаяДата=PlanDate,ИнформацияОНалоге=TaxNote,ИндексЗаявки=ReqRecIndex," +
    "КДКлюч=KDID,ИсточникВнутрФинансированияКлюч=ifsID,ФедеральныеСредства=FederalData,КодБюджета=Budget,БухОперация=BuhOperationCLS," +
    "ДатаРеестра=ReestrDate,ТипКлассификации=ClsType,КодСубсидииКлюч=SubsidyCls,КодСубсидии=SubsidyClsCode," + 
    "КодБюджАссигнованияКлюч=BudAllocationCls,КодБюджАссигнования=BudAllocationClsCode,КодРасходногоОбязательстваКлюч=PayPromiseCLS," + 
    "КодРасходногоОбязательства=PayPromiseCLSCode,КодЦелевыхСредствКлюч=TransfertCLS,КодЦелевыхСредств=TransfertCLSCode";
конец;   
  
функция ЗапросЗаявки(Коллекция:IVariables):строка;
переменные
  ОгрПоЛС,
  ОгрПоМесяцу, ОгрПоДатам, ОгрПоКлассификации: строка;
  ОгрПоСостояниюЗаявки: строка;
  Комментарий, МаппингКлс: строка;
  Запрос: Строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, 'Запрос заявок.');
  //Формируем ограничение по классификаторам
  МаппингКлс := МаппингЗаявкиКлс1 + МаппингЗаявкиКлс2 + МаппингЗаявкиКлс3 + МаппингЗаявкиКлс4 + МаппингЗаявкиКлс5 + 
    МаппингЗаявкиКлс6 + МаппингЗаявкиКлс7 + МаппингЗаявкиКлс8 + МаппингЗаявкиКлс9 + МаппингЗаявкиКлс10;
   
  ОгрПоКлассификации := Ограничение(МаппингКлс, Коллекция);
  
  Если Коллекция.Values("ПечатныйДокумент")
    тогда ОгрПоДатам := ""
    иначе ОгрПоДатам := ПолучитьОграничениеПоТипуДаты("ДатаВводаТип=r.InputDate,ДатаРеестраТип=r.ReestrDate", Коллекция, "r.InputDate");
    
  Если Коллекция.ПараметрСуществует("Месяц") тогда
    Если (Коллекция.Значение("Месяц")&gt;0)и(Коллекция.Значение("Месяц")&lt;13) тогда
      ОгрПоМесяцу := Ограничение("Месяц=r.Month",Коллекция)
    иначе
      ОгрПоМесяцу := ""
  иначе
    ОгрПоМесяцу := "";
  
  //формируем ограничение по лицевому счету
  ОгрПоЛС := Ограничение('ЛицСчет=r.FacialAcc_CLS',Коллекция);
  Если ОгрПоЛС = ''
    тогда ОгрПоЛС := Ограничение('ОргЛС=r.FacialAcc_CLS',Коллекция);
       
  ОгрПоСостояниюЗаявки := "";
  если не Коллекция.ПараметрСуществует("СостояниеЗаявки")
    тогда ОгрПоСостояниюЗаявки := "and(r.RequestsDocState&lt;&gt;1)"
    иначе ОгрПоСостояниюЗаявки := Ограничение("СостояниеЗаявки=r.RequestsDocState", Коллекция);

  // настраиваем запрос
  запрос := 
    "SELECT" + nl +
    "r.Number, r.BUDGET, r.MONTH, r.YEAR, r.USERNOTE, r.PAYDATE, r.PAYPRIORITY, r.SUMMAREQUESTED, r.SUMMATOFINANCE," + nl +
    "r.REQUESTTYPE, r.CREATERUSER, r.ID CptID, r.DFACCOUNT, r.InputDate, r.FacialAcc_Cls, r.KFSR, r.KESR, r.SubKESR," + nl +
    "r.KVSR KVSRID, tKvsr.Code KVSR, r.KCSR KCSRID, tKcsr.Code KCSR, r.KVR KVRID, tKvr.Code KVR, r.InnerFinSource ifsid," + nl +
    "ifs.FinSourceValue InnerFinSource, r.Fact, r.FinSource, r.ProgIndex, r.FinType, r.RegionCls, r.BuhPaymentCls," + nl +
    "p.ID DetID, p.SUMMA, r.KD kdid, kdr.KDValue kd, r.SubKD, r.ProgIndex2, r.DocType, r.MeansType, r.PaySymbolCls," + nl +
    "r.Promise, Cast(17 as integer) AlgIndex, r.CreateDate, r.UpdateDate, r.SourceAccount, r.DestAccount, r.DirectionCLS," + nl +
    "r.DocumentBaseType, db.DocumentBaseDate, db.DocumentBaseNum, r.CRYPTOSTATUS, r.RequestsDocState RequestsDocState," + nl +
    "r.CurrencyCLS, r.CURRENCYSUMMA, r.PlanDate, r.taxNote, r.RecordIndex ReqRecIndex, r.federalfundsref FederalData," + nl +
    "r.BuhOperationCLS, r.ReestrDate, mt.ActivityKind, r.ClsType, r.DocStateRef, r.SubsidyCls, sc.Code SubsidyClsCode," + nl +
    "r.BudAllocationCls, BudAllCLS.Code BudAllocationClsCode, r.PayPromiseCLS, PayPrCLS.Code PayPromiseCLSCode," + nl +
    "r.TransfertCLS, tTrftCLS.Code TransfertCLSCode" + nl +                  
    "FROM" + nl +
    "Requests r" + nl +
    "left join Org_Accounts oa on (oa.id = r.SourceAccount)" + nl +
    "left join Org_Accounts oa2 on (oa2.id = r.DestAccount)" + nl +      
    "left join RequestsPayments p  on (r.id = p.RecordIndex)" + nl +
    "left join DocBase db on (db.id = r.DocumentBaseType)" + nl +
    "left join KD kdr on (kdr.id = r.KD)" + nl +
    "left join InnerFinSource ifs on (ifs.id = r.InnerFinSource)" + nl +
    "left join MeansType mt on (mt.ID = r.MeansType)" + nl +
    "left join KVSR tKvsr on (tKvsr.id = r.KVSR)" + nl +
    "left join KVR tKvr on (tKvr.id = r.KVR)" + nl +
    "left join KCSR tKcsr on (tKcsr.id = r.KCSR)" + nl +
    "left join SubsidyCls sc on (sc.id = r.SubsidyCLS)" +nl+
    "left join BudAllocationCLS BudAllCLS on (BudAllCLS.id = r.BudAllocationCLS)" +nl+ 
    "left join PayPromiseCLS PayPrCLS on (PayPrCLS.id = r.PayPromiseCLS)" +nl+ 
    "left join TransfertCLS tTrftCLS on (tTrftCLS.id = r.TransfertCLS)" +nl+     
    "WHERE" + nl +
    "(1=1)" + nl +
    ОгрПоЛС + nl +
    ОгрПоМесяцу + nl + 
    ОгрПоДатам + nl +
    ОгрПоСостояниюЗаявки + nl +
    ОгрПоКлассификации;

  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);
конец;

функция ПолучитьЗаявки(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  ЛокКоллекция : IVariables;
  ДанныеВсп : СтатическиеДанные;  
  Запрос : Строка;
начало
  попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);
    
    ЛокКоллекция.Values("ПоляВыборки") := ЛокКоллекция.Values("ПоляВыборки") + ",CptId";      
    
    // очищаем набор полей СтатическихДанных
    Запрос := ЗапросЗаявки(ЛокКоллекция);
    // закачиваем данные
    ЗакачатьДанныеЗапроса(Данные, Запрос, ЛокКоллекция);
    
    // Если запрос иден не в разрезе исполнения заявок, а в разрезе заявок, то что бы суммы заявки и к исполнению
    // не задваивались надо сгруппировать по заголовку
    Если Позиция("КодЗаписи", ЛокКоллекция.Values("ПоляВыборки")) = 0 тогда
    начало
      ДанныеВсп :=СоздатьСтатическиеДанные();
      ДанныеВсп.ПрисвоитьПоля(Данные);
      ДанныеВсп.Открыть;
      ДанныеВсп.Закачать(Данные);
      Данные.Очистить;
      если Данные.FindField("SUMMA", nil)
        тогда Данные.Группировать(ДанныеВсп, "keys=CptID;SUMMA=sum(SUMMA)")
        иначе Данные.Группировать(ДанныеВсп, "keys=CptID");
    конец;    
    
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
    УдалитьОбъект(ДанныеВсп);    
  конец;
конец;
</value>
    <param value="ЗапросыЗаявки.abl" type="3" name="Export">BUSHIN\grekovsv\31.01.2012 15:16:06</param>
    <param value="ЗапросыЗаявки.abl" type="3" name="version">36.042.12</param>
    <param value="ЗапросыЗаявки.abl" type="3" name="crc32">$66B6F159</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Заявки">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить 'Бюджет\Ресурсы\Библиотеки\Variables.lib';
включить "Бюджет\Ресурсы\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "Бюджет\Ресурсы\Макросы\Запросы\ЗапросыЗаявки.abl";

Заявки(Параметры: IVariables);
переменные
  Коллекция: IVariables;
  Данные : СтатическиеДанные;
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингЗаявки, МаппингСекции : строка;
  ОграниченияПоДатам : IDataLimit;
  НачДата, КонДата : строка;
начало
  Коллекция := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  ПостоянныйМаппингЗаявки := FixPumpMap(ЗапросЗаявкиВенутьМаппингПереносаПолей, данные);
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция); 
  
  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  ДанныеОднойСекции.СоединитьБД;

  НачДата := "00000000";
  КонДата := "99999999";
  Если (Коллекция.Значение("ОднаДата")&lt;&gt;"") тогда
  начало
    НачДата := ЛокКоллекция.Значение("ДатаНачалаПериода");
    КонДата := ЛокКоллекция.Значение("ДатаКонцаПериода");  
  конец;
  Если(Коллекция.Значение("НачальнаяДата")&lt;&gt;"") тогда
    НачДата := DateExString(Коллекция.Значение("НачальнаяДата"));
  Если(Коллекция.Значение("КонечнаяДата")&lt;&gt;"") тогда
    КонДата := DateExString(Коллекция.Значение("КонечнаяДата"));
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
   НачДата := '';
   КонДата := '';  
  конец;
  
  // последовательно выполняем секции заявок
  //Секция 0. Принятые (в указанный диапазон дат) лимиты всего на указанный месяц.
  Если ВыполнятьСекцию(данные,"СуммаЗаявкиЗаПериод,СуммаКИсполнениюЗаПериод,СуммаИсполненоЗаПериод")тогда 
  начало
  // формируем набор параметров данной секции
    ЛокКоллекция.values("НачальнаяДата") := НачДата;
    ЛокКоллекция.values("КонечнаяДата") := КонДата;
    ЛокКоллекция.values("КоментарийСекции") := 'Заявки 0. Заявки за период.';
    МаппингСекции := FixPumpMap(ПостоянныйМаппингЗаявки+",СуммаЗаявкиЗаПериод=SUMMAREQUESTED,СуммаКИсполнениюЗаПериод=SUMMATOFINANCE,"+
    "СуммаИсполненоЗаПериод=SUMMA",Данные);
    ЛокКоллекция.Values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");  
    // производим выборку данных
    ПолучитьЗаявки(ДанныеОднойСекции, ЛокКоллекция);
    // выполняем выборку данных с помощью полученного запроса       
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
  конец;
    
  интерфейс(ДанныеОднойСекции).Освободить;
конец.
</value>
    <param value="Заявки" type="3" name="Export">ZIMIN2\Zimin\28.11.2005 12:59:57</param>
    <param value="Заявки" type="3" name="version">36.042.12</param>
    <param value="Заявки" type="3" name="crc32">$4D078C20</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">17010100</V>
            <V N="Name">Заявки</V>
            <V N="Params">Бюджет,РСФО,Даты,ТипОгрДата,ТипДатыУнивер,НеОграничиватьТип,ДатаВводаТип,ДатаРеестраТип,НачальнаяДата,КонечнаяДата,Месяц,Год,Классификаторы,СтруктураБюджета,ЛицСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,Направление,СубКЭСР,ФинИсточник,ФинТип,Мероприятие,Район,ОргПлательщик,ПлатИНН,ПлатКПП,ПлатНаим,ПлатРС,ОргПолуч,ПолучИНН,ПолучКПП,ПолучНаимен,ПолучРС</V>
            <V N="Template">(17.01.01) заявки.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.12</param>
  </node>
  <version_info>
    <file>Сборка(19)ПланЗаимствований.xml</file>
    <version>36.042.22</version>
    <info>&lt;p&gt;Отчеты по плану заимствований&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:46</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010100</V>
            <V N="Name">План заимствований</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,НомерДокИсточн,Классификаторы,Район,ТипДокОснов,ВыводОграничений,ВидДеятельности,ГруппаПлановыхДокументов</V>
            <V N="Template">(19.01.01)План заимствований.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">План заимствований за период.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.22</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020100</V>
            <V N="Name">Показатели кассового плана по источникам</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,Направление,Мероприятие,ЕдиницыИзмерения,ВыводОграничений</V>
            <V N="Template">(19.02.01) Показатели кассового плана по источникам.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.22</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030100</V>
            <V N="Name">Сводная бюджетная роспись источников финансирования дефицита бюджета на очередной год</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(19.03.01) СБР на очередной год (источн).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.22</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030200</V>
            <V N="Name">Сводная бюджетная роспись источников финансирования дефицита бюджета на плановый период</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(19.03.02) СБР на плановый период (источн).XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.22</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030300</V>
            <V N="Name">Распределение по СБР источников финансирования дефицита бюджета на очередной год</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(19.03.03) СБР на очередной год по ИВВФ.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.22</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030400</V>
            <V N="Name">Распределение по СБР источников финансирования дефицита бюджета на плановый период</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,Направление,Мероприятие,ЕдиницыИзмерения</V>
            <V N="Template">(19.03.04) СБР на плановый период по ИВВФ.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.22</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010200</V>
            <V N="Name">Уведомление о кассовом плане (выбытия источников)</V>
            <V N="Params">Бюджет,СоставБюджета,Роспись,ВариантРосписи,Уведомления,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ТипСредствБюдж,ИстВнутрФин,ВидАссигнований,КодЦелевыхСредств</V>
            <V N="Template">(19.01.02) Уведомление о кассовом плане (выбытия источников).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.22</param>
  </node>
  <version_info>
    <file>Сборка(21)Векселя.xml</file>
    <version>36.042.03</version>
    <info>&lt;p&gt;Отчеты по векселям&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:47</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Векселя">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\Отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыВекселя.abl";

Векселя(Параметры: IVariables);
константы
  nl=#13#10;
  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';
           
переменные
  Коллекция: IVariables;
  Раскладка : ITableInfoX;  
  Данные : СтатическиеДанные;
  ДанныеОднойСекции: статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингВекселя, МаппингСекции : строка;
  ОграниченияПоДатам : IDataLimit;
  МаппингГиперТекст : Строка;    
начало
  Коллекция := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);    
    
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);  
  Если Не НадоВыполнятьАлгоритм(21, ЛокКоллекция) тогда выход;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;   
  
  ПостоянныйМаппингВекселя := FixPumpMapEx(ВекселяВернутьМаппингПереносаПолей, Раскладка);  
  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  ДанныеОднойСекции.СоединитьБД;

  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
 
  //Стандартный реестр
  Если ВыполнятьСекцию(данные,"СуммаВекселяПоНоминалу,СуммаВекселяУчетная,СуммаРеализации")    тогда 
  начало
    МаппингСекции := ПостоянныйМаппингВекселя + ',' + FixPumpMapEx("СуммаВекселяПоНоминалу=nominalprice,СуммаВекселяУчетная=nominal,СуммаРеализации=SummaOut", Раскладка);
    ЛокКоллекция.Values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));                  
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Значение("Секция") := "Реестр";
    ЛокКоллекция.values("КоментарийСекции") := 'Векселя.Стандартный реестр';
    
    // Закачиваем новые векселя
    ЛокКоллекция.Значение("НовыеВекселя") := 1; 
    ПолучитьВекселя(ДанныеОднойСекции, ЛокКоллекция);
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    
    ДанныеОднойСекции.Clear;
    // Закачиваем старые векселя
    Если ЛокКоллекция.Значение("НеЗакачиватьСтарыеВекселя")&lt;&gt;1 тогда начало    
      ЛокКоллекция.Значение("НовыеВекселя") := 0;
      ПолучитьВекселя(ДанныеОднойСекции, ЛокКоллекция);
    конец;
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
  конец;
  
  //финансирование
  Если ВыполнятьСекцию(данные,"СуммаФинансирования")    тогда 
  начало
    МаппингСекции := ПостоянныйМаппингВекселя + ',' + FixPumpMapEx("СуммаФинансирования=Summafin", Раскладка);
    ЛокКоллекция.Values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));                  
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Значение("Секция") := "Финансирование";
    ЛокКоллекция.values("КоментарийСекции") := 'Векселя.Финансирование';
    
    // Закачиваем новые векселя
    ЛокКоллекция.Значение("НовыеВекселя") := 1; 
    ПолучитьВекселя(ДанныеОднойСекции, ЛокКоллекция);
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    
    // Закачиваем старые векселя
    ДанныеОднойСекции.Clear;
    Если ЛокКоллекция.Значение("НеЗакачиватьСтарыеВекселя")&lt;&gt;1 тогда начало    
      ЛокКоллекция.Значение("НовыеВекселя") := 0;
      ПолучитьВекселя(ДанныеОднойСекции, ЛокКоллекция);
    конец;
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
 конец;
  
  // продажа
  Если ВыполнятьСекцию(данные,"СуммаПродажи,Счет,ДатаПринятия")   тогда 
  начало
    МаппингСекции := ПостоянныйМаппингВекселя + ',' + FixPumpMapEx("СуммаПродажи=Summa", Раскладка);
    ЛокКоллекция.Values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));                  
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Значение("Секция") := "Продажа";
    ЛокКоллекция.values("КоментарийСекции") := 'Векселя.Продажа';
    
    // Закачиваем новые векселя
    ЛокКоллекция.Значение("НовыеВекселя") := 1; 
    ПолучитьВекселя(ДанныеОднойСекции, ЛокКоллекция);
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    
    ДанныеОднойСекции.Clear;
    // Закачиваем старые векселя
    Если ЛокКоллекция.Значение("НеЗакачиватьСтарыеВекселя")&lt;&gt;1 тогда начало    
      ЛокКоллекция.Значение("НовыеВекселя") := 0;
      ПолучитьВекселя(ДанныеОднойСекции, ЛокКоллекция);
    конец;
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
  конец;

  // покупка
  Если ВыполнятьСекцию(данные,"СуммаПокупки,Счет,ДатаПринятия")и ЛокКоллекция.Значение("Финансирование")&lt;&gt;1    тогда 
  начало
    МаппингСекции := ПостоянныйМаппингВекселя + ',' + FixPumpMapEx("СуммаПокупки=Summa", Раскладка);
    ЛокКоллекция.Values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));                  
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.Значение("Секция") := "Покупка";
    ЛокКоллекция.values("КоментарийСекции") := 'Векселя.Покупка';
    
    // Закачиваем новые векселя
    ЛокКоллекция.Значение("НовыеВекселя") := 1; 
    ПолучитьВекселя(ДанныеОднойСекции, ЛокКоллекция);
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    
    ДанныеОднойСекции.Clear;
    // Закачиваем старые векселя
    Если ЛокКоллекция.Значение("НеЗакачиватьСтарыеВекселя")&lt;&gt;1 тогда начало
      ЛокКоллекция.Значение("НовыеВекселя") := 0;
      ПолучитьВекселя(ДанныеОднойСекции, ЛокКоллекция);
    конец;
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
  конец;
  
  интерфейс(ДанныеОднойСекции).Освободить;
конец.
</value>
    <param value="Векселя" type="3" name="version">36.042.03</param>
    <param value="Векселя" type="3" name="crc32">$AE61A995</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыВекселя.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\Отчеты\ПоддержкаОтчетов.abl";
константы
  nl = #13#10;
 МаппингВекселя1 = "Бюджет=bd.BudgetRef%d,ТипОрг=o.Org_CLS,БухОперация=inc.BuhOperationCLS%d,";
 // для ограничения по полям бухгалтерии (только для новых векселей)
 МаппингВекселя2 = "ВидДеятельности=mt.ActivityKind%d,Баланс=bac.BalanceCls,БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),";
 МаппингВекселя3 = "БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),ТипКлассификации=po.clstype%d,";
 МаппингВекселя4 = "КВСР=po.KVSR%d,КЦСР=po.KCSR%d,КФСР=po.KFSR%d,КЭСР=po.KESR%d,КВР=po.KVR%d,ИстВнутрФин=ifs_t.FinSourceValue%l"; 

функция ВекселяВернутьМаппингПереносаПолей : Строка;
начало
  Результат :=  "Серия=Series,Номер=Number,Организация=Org_Ref,ДатаПрихода=Date_in,ДатаУхода=Date_out,ДатаПогашения=DateAmortization," +
        "Примечание=Note,ИндексАлгоритма=AlgIndex,ИндексыДанных=ProgIndex,КодЗаписи=id," +
        "ДатаВвода=Builddate,РСФО=DFAccount,Район=RegionCls,БухПроводка=BuhPaymentCLS,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate," +
        "Счет=Acc_Ref,СчетРаспорядителя=AcceptorAcc_Ref,ДатаПринятия=AcceptDate,НомерДоговора=DocNumber," +
        "НомерДоговораФинансирования=Num_Accord,КодЗаписиФинансированияЗаголовок=id_fin,ЦельФинансированияДетализация=NoteFinDet," +
        "КодЗаписиФинансированияДетализация=id_fin_det,СчетПолучателяФинансирования=AccFin,СчетРаспорядителяФинансирования=AccountFin,ЦельФинансирования=NoteFin,ДатаФинансирования=Datefin,КФСР=kfsrFin,КЭСР=kesrFin," + 
        "БухОперация=BuhOperationCLS,ИсточникКорКлюч=IFS_CORR,ИсточникКор=IFSValue_Corr,БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,"+
        "ЭККредит=CreditDocEK%d,ЭКДебет=DebitDocEK%d,ВидДеятельности=ActivityKind,"+
        "ПланДебетЭК=bacDebitKESR,ПланКредитЭК=bacCreditKESR,БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue," +
        "КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,НомерСчетаДебет=DebitNumberAcc70n%s28,НомерСчетаКредит=CreditNumberAcc70n%s28,"+
        "БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f,Баланс=BalanceCls,"+
        "БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,КодДокумента=po_id,"                 
        "ИсточникВнутрФинансирования=FinSourceValue,ИсточникВнутрФинансированияКлюч=IFS";
конец; 
 
// процедура формирования ограничений, общих для всеx векселей
// и ограничений, которые формируются в зависимости от секций 
функция ОбщиеОграниченияВекселей(Коллекция:IVariables):строка;
переменные
  ОгрБазовые:строка;
  ДопОграничения,ОгрРавноЦелое,ОгрПоНОмерам,ОгрДаты,ОгрСчет,ОгрБухПроводка,ОгрПоПолуч,ОгрПоПрогиндексу: строка;
начало
// ограничения с панели параметров
  ОгрБазовые :=  Ограничение(МаппингВекселя1, Коллекция); 
  ДопОграничения := Коллекция.Values("ДопОграничения");
  ОгрСчет := "";
  ОгрРавноЦелое := "";
  ОгрПоПолуч := "";
  ОгрБухПроводка := "";
  ОгрПоНОмерам := ""; 
  // Ограничение по счету(в зависимости от секций ограничение идёт на разные секции)
  Выбрать Коллекция.Значение("Секция") из
    "Покупка","Продажа","Реестр" : начало 
                          Если Коллекция.Значение("НовыеВекселя")
                            тогда ОгрСчет := Ограничение("РСФО=po.dfaccount%d",Коллекция)
                            иначе ОгрСчет := Ограничение("РСФО=((dfao.sdfaccount%d)or(dfao.ddfaccount%d))",Коллекция)
                        конец;
    "Финансирование" : ОгрСчет := Ограничение("РСФО=fd.DFAccount%d",Коллекция) ;
  конец;                                              
  Если ОгрСчет='' тогда ОгрРавноЦелое := Ограничение('ВекДатОргСсылка=bd.ref_issue,ОргСсылка=bd.ref_issue,КодЗаписи=bd.id%d',Коллекция);
  
  // Ограничение по номеру договора финансирования и номеру векселя
  Если не (Коллекция.Значение('УниверсальныйОтчет')=1)
    тогда ОгрПоНОмерам := Ограничение("ДогНом=ba.num_accord%s,НомерВекс=bd.number%s",Коллекция);
  
  // Ограничение по датам
  ОгрДаты := "";
  Если  (Коллекция.Значение("ДатаУходаТипЧек")=1) тогда ОгрДаты :=ПолучитьОграничениеПоТипуДаты('ДатаУходаТип=bd.Date_Out', Коллекция, '');
  Если Коллекция.Значение("ДатаПриходаТипЧек")=1 
    тогда Если  Коллекция.Значение("НОвыеВекселя")=1 
            тогда начало  
               Если Коллекция.Значение("Секция") = 'Продажа'
                 // Ограничиваем по дате покупки в секции продаже
                 тогда ОгрДаты :=' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПриходаТип=inc.IDate', Коллекция, '')+')or((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПриходаТип=po1.Acceptdate', Коллекция, '')+"))"
                 // По умолчанию присоединятеся дата покупки в секциях
                 иначе ОгрДаты :=' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПриходаТип=inc.Idate', Коллекция, '')+')or((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПриходаТип=po.Acceptdate', Коллекция, '')+"))" 
            конец // новые векселя
          иначе начало
               Если Коллекция.Значение("Секция") = 'Продажа'
                 // Ограничиваем по дате покупки в секции продаже               
                 тогда ОгрДаты :=' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПриходаТип=inc.Idate', Коллекция, '')+')or((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПриходаТип=dfao1.AcceptDate', Коллекция, '')+"))"
                 // По умолчанию присоединятеся дата покупки в секциях                 
                 иначе ОгрДаты :=' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПриходаТип=inc.Idate', Коллекция, '')+')or((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПриходаТип=dfao.AcceptDate', Коллекция, '')+"))"; 
          конец;// старые векселя     
          
  Если (Коллекция.Значение("Секция")="Реестр") и (Коллекция.Значение("ПокупкаПродажа")=1)
    тогда  начало 
      ОгрДаты :=ОгрДаты+' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=b.Date_Input', Коллекция, '')+
                            ')or((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=bd.Date_Out', Коллекция, '');
      Если Коллекция.Значение("НОвыеВекселя")=1                      
          тогда ОгрДаты := ОгрДаты+')or((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=po.AcceptDate', Коллекция, '')+'))'
          иначе ОгрДаты := ОгрДаты+')or((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=dfao.AcceptDate', Коллекция, '')+'))'
   конец;                         
  Если (Коллекция.Значение("Финансирование")=1) и (Коллекция.Значение("ДатаПринятияТипЧек")=1)
    тогда ОгрДаты :=ОгрДаты+' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=b.Date_Input', Коллекция, '')+
                            ')or((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=ba.ACCEPTDATE', Коллекция, '')+'))'; 
  
  // Ограничение по бух операции и по получателю                  
  Если  Коллекция.Значение("НовыеВекселя") = 1
    тогда начало
      ОгрБазовые :=  ОгрБазовые+Ограничение(МаппингВекселя2 + МаппингВекселя3 + МаппингВекселя4, Коллекция);
      Если  Коллекция.Значение('Секция')='Продажа'
        тогда начало
           ОгрБухПроводка := Ограничение('Бухпроводка=po1.BuhPaymentCLS',Коллекция);
           ОгрПоПолуч := 'and (((1=1)'+Ограничение("получрсссылка=po.ACC_REF",Коллекция)+')or((1=1)'
                                      +Ограничение("получрсссылка=fd.accountref",Коллекция)+'))';           
        конец   
        иначе начало 
          ОгрБухПроводка := Ограничение('Бухпроводка=po.BuhPaymentCLS',Коллекция);
          ОгрПоПолуч := 'and (((1=1)'+Ограничение("получрсссылка=po1.ACC_REF",Коллекция)+')or((1=1)'
                                     +Ограничение("получрсссылка=fd.accountref",Коллекция)+'))';          
        конец;  
    конец // новые векселя
    // т.к. в старых векселях поля бухоперация нет, то вообще ничего не выбираем 
    иначе начало
      ОгрПоПолуч := Ограничение("получрсссылка=fd.accountref",Коллекция); 
      Если Коллекция.Значение('БухПроводка')&lt;&gt;''
         тогда  ОгрБухПроводка := 'and (bd.id = -1)';
    конец;     


  // ТЕПЕРЬ ИДУТ ОГРАНИЧЕНИЯ СПЕЦИАЛЬНО ДЛЯ УНИВЕРСАЛЬНОГО ОТЧЕТА
  Если (Коллекция.Значение('УниверсальныйОтчет')=1) 
    тогда начало 
      Если  (Коллекция.Значение("НовыеВекселя") = 1) 
         тогда начало 
            Если (Коллекция.Значение("Секция")&lt;&gt;'Реестр') 
              тогда начало 
                 ОгрПоНОмерам := Ограничение("ДогНом=po.DocNumber%s",Коллекция);
              конец // конец если не реестр
              // если это секция нового реестра, то тогда присоединяем таблицы покупки и продажи и ограничиваем по номерам
              иначе ОгрПоНОмерам := 'and ( ((1=1)'+Ограничение("ДогНом=po.DocNumber%s",Коллекция)+')or((1=1)'+Ограничение("ДогНом=po1.DocNumber%s",Коллекция)+'))';
        конец // новые векселя
        иначе начало
        // Если есть ограничение по номеру договора, то соответственно в старом реестре ничего не должно выбираться(т.к. там 
        // вообще нет такого поля). А если секция продажа и организация получатель не пустая на панели параметров, то опять же из старой продажи
        // ничего не должно выбираться.
          Если (Коллекция.Значение('ДогНом')&lt;&gt;'') 
            тогда ОгрБазовые := ОгрБазовые+'and (bd.id = -1)';
        конец; // старые векселя     
    конец;

  ОгрПоПрогиндексу := '';
  Если  Коллекция.Значение('УниверсальныйОтчет') тогда начало
     Если Коллекция.Значение('ПокупкаЧек') тогда ОгрПоПрогиндексу := 'and (bd.progindex_bill=16) ';
     Если Коллекция.Значение('ПродажаЧек') тогда начало
       Если  ОгрПоПрогиндексу=''  
         тогда ОгрПоПрогиндексу := 'and (bd.progindex=16)'
         иначе ОгрПоПрогиндексу := 'and ((bd.progindex=16)or(bd.progindex_bill=16))';
     конец ; 
     Если ОгрПоПрогиндексу='' тогда ОгрПоПрогиндексу := 'and (bd.progindex=99)'; // покупку и продажу вообще не выбираем
  конец;
  
    
  Коллекция.Значение("Ограничения") := ОгрБазовые+ОгрРавноЦелое+ОгрПоНОмерам+ОгрБухПроводка; 
  результат := ОгрБазовые+nl+ДопОграничения+nl+ОгрРавноЦелое+nl+ОгрПоНОмерам+nl+ОгрДаты+ОгрСчет+ОгрБухПроводка+ОгрПоПолуч+ОгрПоПрогиндексу;
конец;


функция ЗапросСтарыеВекселя(Коллекция:IVariables):строка;
переменные
  Комментарий,Соединение: строка;
  Запрос,ОгрВекселя,ОгрДаты,ПолеПримечания,ПолеПрогиндекса,ОгрПоНомеру: Строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос векселя.");
  
  ОгрВекселя := ОбщиеОграниченияВекселей(Коллекция);
  ОгрДаты := '';
  ПолеПрогиндекса := 'bd.progindex';
  ПолеПримечания := 'dfao.Note Note';

  // ограничения по датам
  Если (Коллекция.Значение("ПокупкаПродажа")=1) и (Коллекция.Значение("ДатаПринятияТипЧек")=1)и(Коллекция.Значение("Секция")&lt;&gt;"Реестр")и(Коллекция.Значение("Секция")&lt;&gt;"Финансирование") 
    тогда 
      если (Коллекция.Значение("Секция")="Покупка")
        // т.к. дата покупки первична, то при покупке и продаже векселя ограничение идёт только по дате покупки       
        тогда ОгрДаты := ' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=dfao.acceptdate', Коллекция, '')+'))'
        иначе ОгрДаты := ' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=dfao1.acceptdate', Коллекция, '')+'))';
  // Ограничение по номеру документа
  ОгрПоНомеру := ""; 
  Если Коллекция.Значение("НОмерДок")&lt;&gt;"" 
   тогда ОгрПоНомеру := "and (bd.id = -1)";// ничего не закачиваем т.к. здесь нет поля номер документа
   

  Выбрать Коллекция.Значение("Секция") из
    "Реестр":начало 
                             // Отсюда берётся Датапринятия(это нужно для правильного ограничения по датам 
                             // и если дата прихода векселя пустая, то туда запихивается дата принятия покупки(это в функции "Получить"))    
                Соединение :=" left join DFACCOUNTOPERATION dfao on (bd.id = dfao.id)"+nl+
                             //Отсюда берётся примечание из продажи                
                             " left join DFACCOUNTOPERATION dfao1 on (bd.recordIndex = dfao1.Id)"+nl;
                ПолеПримечания := 'dfao1.Note Note';
             конец;
    "Покупка": // подсоединяем сразу две таблицы, для того чтобы можно было корректно ограничить по датам
               Соединение :=" left join DFACCOUNTOPERATION dfao on ((bd.id = dfao.id)and (dfao.progindex=8))"+nl+
                           " left join DFACCOUNTOPERATION dfao1 on ((bd.recordIndex = dfao1.Id)and (dfao1.progindex=53))";
    "Продажа":начало 
                // подсоединяем сразу две таблицы, для того чтобы можно было корректно ограничить по датам
                Соединение :=" left join DFACCOUNTOPERATION dfao on ((bd.recordIndex = dfao.Id)and (dfao.progindex=53))"+nl+
                             " left join DFACCOUNTOPERATION dfao1 on ((bd.id = dfao1.id)and (bd.progindex_bill=16)and (dfao1.progindex=8))";
                ПолеПрогиндекса := "cast(53 as integer) progindex";
              конец;
    "Финансирование": Соединение := " left join DFACCOUNTOPERATION dfao on (bd.id = dfao.id)and(bd.progindex=23)and(fd.progindex=8)";
  конец;  
    
  // настраиваем запрос
  запрос := 
      "select "+nl+ 
      " bd.id, bd.series, bd.number, bd.nominal, bd.nominalprice,bd.SummaOut,bd.CreateDate,bd.UpdateDate,       "+nl+
      " bd.ref_issue Org_Ref, bd.Date_out,bd.dateAmortization,bd.RecordIndex,cast(21 as integer) AlgIndex,          "+nl+
       ПолеПримечания+",b.Date_Input Date_In,dfao.AcceptDate Date_In1,                  "+nl+      
      " ba.ID id_fin, ba.Num_Accord, ba.BUILDDATE, fd.ACCEPTDATE DAteFin, ba.Note NoteFin, ba.BudgetRef,               "+nl+
      " fd.DFAccount,fd.Summa Summafin,fd.id id_fin_det,         "+nl+
      " dfao.acceptdate ,dfao.summa,dfao.regioncls,"+nl+
       ПолеПрогиндекса+
      ",fd.sourceFacialAcc_cls,fd.destFacialAcc_cls,fd.finSource,fd.accountref AccountFin,fd.kfsr kfsrFin,fd.kesr kesrFin,fd.note NoteFinDet,"+nl+
      // Для совместимости
      " '' Docnumber,fd.acceptoraccref accfin,0 AccountRef,0 AcceptorAccRef,0 Acc_Ref"+nl+
      " from                                                                                     "+nl+
      " bills_det bd                                                                            "+nl+
      " left join bills b on (b.id = bd.recordindex_bill)                                       "+nl+
      " left join incomes32 inc on (inc.recordindex=b.id)                                       "+nl+
       " left join bill_accorddoc ba on (bd.recordIndex = ba.id)                                "+nl+  
       " left join FinDocDetail fd on (ba.id=fd.recordindex)                                    "+nl+
       " left join Organizations o on (bd.Ref_Issue = o.id)" + nl+                          
       Соединение+    
     "where                                                                                    "+nl+
      " (1=1) "+nl+
      ОгрВекселя+nl+
      ОгрДаты+nl+
      ОгрПоНомеру;
      
  Результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);    
конец;

функция ЗапросНовыеВекселя(Коллекция:IVariables):строка;
переменные
  Соединение: строка;
  Комментарий,ПолеПримечания: строка;
  Запрос,ОгрВекселя,ОгрПоНомеру,ОгрДаты: Строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос векселя.");
  
  ОгрВекселя := ОбщиеОграниченияВекселей(Коллекция);
  // Ограничение по номеру документа
  ОгрПоНомеру := ""; 
  Если Коллекция.Значение("НОмерДок")&lt;&gt;"" и Коллекция.Значение("Секция")="Покупка"
   тогда ОгрПоНомеру := Ограничение("НомерДок=po.docnumber%s",Коллекция);

  // Ограничения по датам
  ОгрДаты := "";
  Если (Коллекция.Значение("ПокупкаПродажа")=1) и (Коллекция.Значение("Секция")&lt;&gt;"Реестр")и(Коллекция.Значение("Секция")&lt;&gt;"Финансирование") 
    тогда 
      Если (Коллекция.Значение("Секция")="Покупка") 
        // т.к. дата покупки первична, то при покупке и продаже векселя ограничение идёт только по дате покупки
        тогда ОгрДаты :=' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=po.acceptdate', Коллекция, 'po.AcceptDate')+'))'
        //иначе ОгрДаты :=' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=po1.acceptdate', Коллекция, 'po1.AcceptDate')+'))';
        // не знаю почему я так сделал. Теперь сделаю по другому, вроде бы так правильней:
        иначе ОгрДаты :=' and (((1=1)'+ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=po.acceptdate', Коллекция, 'po.AcceptDate')+'))';

  ПолеПримечания := 'po.Note Note';

  Выбрать Коллекция.Значение("Секция") из
                            
    "Реестр": начало 
                Соединение :=
                             //Отсюда берётся Датапринятия(это нужно для правильного ограничения по датам 
                             // и если дата прихода векселя пустая, то туда запихивается дата принятия покупки(это в функции "Получить"))    
                              " left join PaperOperation po on ((po.id = bd.recordindex_bill)and(po.progindex=360))"+nl+
                             //Отсюда берётся примечание из продажи     
                             " left join PaperOperation po1 on ((po1.id = bd.recordindex)and(po1.progindex=361))";
                 Если Коллекция.Значение('РеестрУчета')=1 
                   тогда  ПолеПримечания := 'po1.Note Note';
              конец;            
    "Покупка": // подсоединяем сразу две таблицы, для того чтобы можно было корректно ограничить по датам
              Соединение :=" left join PaperOperation po on ((po.id = bd.recordindex_bill)and(po.progindex=360)and(bd.progindex_bill=16))"+nl+
                           " left join PaperOperation po1 on ((po1.id = bd.recordindex)and(po1.progindex=361)and(bd.progindex=16))";
    "Продажа": // подсоединяем сразу две таблицы, для того чтобы можно было корректно ограничить по датам
              Соединение :=" left join PaperOperation po on ((po.id = bd.recordindex)and(po.progindex=361))"+nl+
                           " left join PaperOperation po1 on ((po1.id = bd.recordindex_bill)and(po1.progindex=360))";
    "Финансирование":Соединение := " left join PaperOperation po on (po.id = bd.recordindex)and(bd.progindex=23)";
  конец;  
  
                                  
  // настраиваем запрос
  запрос := 
      "select "+nl+ 
      " bd.id, bd.series, bd.number, bd.nominal, bd.nominalprice,bd.SummaOut,bd.CreateDate,bd.UpdateDate, "+nl+
      " bd.ref_issue Org_Ref,bd.Date_out,bd.dateAmortization,bd.RecordIndex,cast(21 as integer) AlgIndex,"+nl+
  
      " po.id po_id,b.Date_Input Date_In,                                                      "+nl+      
      " ba.Num_Accord, ba.BUILDDATE,ba.note notefin, fd.acceptdate DateFin, ba.BudgetRef,ba.id id_fin,          "+nl+

      " po.AcceptDate ,po.Acc_Ref, po.AcceptorAcc_Ref ,po.DocNumber ,po.BuhPaymentCLS,po.RegionCls,po.ProgIndex,po.DfAccount, "+nl+
      " po.FACIALACC_CLS,"+ПолеПримечания+",po.Credit summa,"+nl+                                           
      
      " fd.summa summafin,fd.acceptoraccref accfin,fd.id id_fin_det,"+nl+
      " fd.sourceFacialAcc_cls,fd.destFacialAcc_cls,fd.finSource,fd.accountref AccountFin,fd.kfsr kfsrFin,fd.kesr kesrFin,fd.note NoteFinDet ,"+nl+
      
      " po.clstype, po.KVSR, po.KCSR, po.KFSR, po.KESR, po.KVR," + nl +
      
      // поля для инструкции 70н
      " po.BuhOperationCLS, po.IFS, po.IFS_CORR,po.MeansType,mt.ActivityKind, DFifs.FinSourceValue DFIFSValue," + nl +
      "bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
      "CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," + nl +
      "CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
      " ifscor_t.KESR KESR_COR, cast(0 as varChar(17)) CreditDocCLS, cast(0 as varChar(17)) DebitDocCLS,"+ nl +
      "cast(0 as varChar(8)) DebitCodeAcc70n, cast(0 as varChar(8)) CreditCodeAcc70n,"+ nl +
      "cast(0 as varChar(28)) DebitNumberAcc70n, cast(0 as varChar(28)) CreditNumberAcc70n,"+ nl +
      "cast(0 as double precision) DebitAcc70n, cast(0 as double precision) CreditAcc70n,"+ nl +
      " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
      " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," + nl +                                                           
      " 0 CreditDocEK, 0 DebitDocEK, ifscor_t.FinSourceValue IFSValue_Corr,ifs_t.FinSourceValue, ifs_t.KESR IFSKESR, "+ nl +
      " bac.BalanceCls, dfbt.IFS DFIFS_Ref " + nl +        
      
      "from                                                                                     "+nl+
      " bills_det bd                                                                            "+nl+
      " left join bills b on (b.id = bd.recordindex_bill)                                       "+nl+
      " left join incomes32 inc on (inc.recordindex=b.id)                                       "+nl+
      " left join bill_accorddoc ba on (bd.recordIndex = ba.id)                                 "+nl+
      " left join FinDocDetail   fd on (ba.id=fd.recordindex)                                   "+nl+
      " left join Organizations o on (bd.Ref_Issue = o.id)" + nl+                          
       Соединение+nl+
      // таблицы для инструкции 70н
       "  left join BuhAccCorr bac on (bac.BuhOperationCLS = po.BuhOperationCLS)" + nl +
       "  left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
       "  left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
       "  left join MeansType mt on (mt.ID = po.MeansType) " + nl +
       "  left join InnerFinSource ifs_t on (ifs_t.ID = po.IFS)" + nl +       
       "  left join InnerFinSource ifscor_t on (ifscor_t.ID = po.IFS_CORR)" + nl +
       "  left join dfAccountsBuhTable dfbt on ((dfbt.id=po.DFAccount)"+Ограничение('Бюджет=dfbt.BudgetRef%d',Коллекция)+")" + nl +       
       "  left join InnerFinSource DFifs on (DFIFS.ID = dfbt.IFS)" + nl +
      
      "where                                                                                    "+nl+
      " (1=1)                                                                                   "+nl+
      ОгрВекселя+nl+
      ОгрПоНомеру+nl+
      ОгрДаты;
      
  Результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);    
конец;

функция ПолучитьВекселя(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  ЛокКоллекция : IVariables;
  ИмяПоляДляВычисленияДатыВвода :строка;
  ПолеДляВычисленияДатыВвода,ПолеДатыВвода:поле;
начало
  попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);

    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;
    // формируем SQL-запрос
    Если ЛокКоллекция.Значение("Секция")="Реестр" тогда
    начало
      если ЛокКоллекция.Значение("НовыеВекселя") тогда
        ИмяПоляДляВычисленияДатыВвода := "AcceptDate"
      иначе   
        ИмяПоляДляВычисленияДатыВвода := "Date_In1";
      ЛокКоллекция.Values("ПоляВыборки") := ЛокКоллекция.Values("ПоляВыборки")+","+ИмяПоляДляВычисленияДатыВвода;
    конец;  
    если ЛокКоллекция.Значение("НовыеВекселя") тогда
    начало
      ЗакачатьДанныеЗапроса(Данные, ЗапросНовыеВекселя(ЛокКоллекция), ЛокКоллекция);  
    конец  
    иначе
    начало   
      ЛокКоллекция.values("КоментарийСекции") := ЛокКоллекция.values("КоментарийСекции")+" (Старые данные)";
      ЗакачатьДанныеЗапроса(Данные, ЗапросСтарыеВекселя(ЛокКоллекция), ЛокКоллекция);  
    конец;
    Данные.First;
    Если ЛокКоллекция.Значение("Секция")="Реестр" тогда
    попытка
      ПолеДляВычисленияДатыВвода := Данные.ПолеПоИмени(ИмяПоляДляВычисленияДатыВвода);
      ПолеДатыВвода := Данные.ПолеПоИмени("Date_In");
      Пока не Данные.EOF делать
      начало
        Если ПолеДляВычисленияДатыВвода.КакЦелое&lt;&gt;0 тогда
          ПолеДатыВвода.КакЦелое := ПолеДляВычисленияДатыВвода.КакЦелое;
        Данные.Next;
      конец;
    неудача
    конец;
  обязательно
//    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьВекселяБух70н(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ЛокКоллекция : IVariables;
  ВремДанные : СтатическиеДанные;
начало
  попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);
    ЛокКоллекция.Значение("НовыеВекселя") := 1;
    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;
    ВремДанные := СоздатьСтатическиеДанные;
    ЛокКоллекция.Значение("ПокупкаПродажа") := 1;
    ЛокКоллекция.Значение("Секция") := "Покупка";
    CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ВекселяВернутьМаппингПереносаПолей + Коллекция.Значение("ДопМаппинг"), nil, ВремДанные);
    //Создавать недостающие поля запросом
    ВремДанные.DefProps("Options") := "+sdoDefaultFields";
    ВремДанные.Запрос:="[PumpData]" +ЗапросНовыеВекселя(ЛокКоллекция);
    ПолучитьДанные(ВремДанные, ЛокКоллекция);
    Данные.Запрос := "";
    ВремДанные.Фильтр := "AcceptDate&lt;&gt;''";
    Данные.AssignFields(ВремДанные);
    Данные.Закрыть;
    Данные.ДобавитьЦелоеПоле("Acc1");
    Данные.ДобавитьЦелоеПоле("Acc2");
    Данные.ДобавитьЦелоеПоле("FacialCredit");
    Данные.ДобавитьЦелоеПоле("FacialDebit");
    Данные.открыть;
    Данные.PumpData(ВремДанные, "Acc1=AcceptorAcc_Ref,Acc2=DfAccount,FacialCredit=FacialAcc_Cls");    
    ЛокКоллекция.Значение("Секция") := "Продажа";
    ВремДанные.Запрос:="[PumpData]" +ЗапросНовыеВекселя(ЛокКоллекция);
    ПолучитьДанные(ВремДанные, ЛокКоллекция);
    Данные.PumpData(ВремДанные, "Acc2=AcceptorAcc_Ref,Acc1=DfAccount,FacialDebit=FacialAcc_Cls");    
  обязательно
    УдалитьОбъект(ВремДанные);    
  конец;
конец;

константы
  МаппингСвязанныхПолейОбщий1 = "%EС=KESR,ClsType,FinSourceValue,IFS_CORR;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=KVSR,KFSR,KCSR,KVR,ClsType,FinSourceValue,IFS_CORR,DFIFS_Ref;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьВекселяБух(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  поляВыборки: строка;
начало
  // Формируем по 70Н
  поляВыборки := Коллекция.Values("ПоляВыборки");

  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4, Коллекция);        
  
  попытка
    ПолучитьВекселяБух70н(Данные, коллекция);
    

    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=ClsType,КорВидКлс=ClsType,ВидДеятельности=ActivityKind,'+
      'КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФ=FinSourceValue,КорИВФКлюч=IFS_CORR,КД=_,КорКД=_,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=_,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=DFIFS_Ref,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=DFIFS_Ref,'+
      'БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,БухОперация=BuhOperationCLS',
      Данные,'2','4',коллекция);
    Данные.Фильтр := '';
  обязательно
    Коллекция.Values("ПоляВыборки") := поляВыборки;
  конец;
конец;
</value>
    <param value="ЗапросыВекселя.abl" type="3" name="Export">MARAEVA\baranova\27.07.2007 14:58:08</param>
    <param value="ЗапросыВекселя.abl" type="3" name="version">36.042.03</param>
    <param value="ЗапросыВекселя.abl" type="3" name="crc32">$13B8F93E</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">21010100</V>
            <V N="Name">Форма №25. Реестр учета ценных бумаг</V>
            <V N="Params">Бюджет,ТипДатыУнивер,НеОграничиватьТип,ДатаПриходаТип,ДатаУходаТип,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерВекс,Организация,ИНН,КПП</V>
            <V N="Template">(21.01.01) форма №25. реестр учета ценных бумаг.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Предназначен для вывода информации о ценнных бумагах. Данные выводятся за указанный квартал с
итоговым суммированием.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <version_info>
    <file>Сборка(26)СвободныеПроводки.xml</file>
    <version>36.042.15</version>
    <info>&lt;p&gt;Отчеты по свободным проводкам&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:49</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыСвободныеПроводки.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\отчеты\поддержкаОтчетов.abl';
константы
  nl = #13#10;

МаппингСвободныеПроводки1 = "КодДокумента=bj.ID%d,Район=bj.RegionCLS,Бюджет=bj.BudgetRef,Валюта=bj.CURRENCY,КодЗаписи=bj.ID%d,";

/$если База70100
МаппингСвободныеПроводки2 = "Баланс=bac.BalanceCls%d,БухОперация=bj.BuhOperationCLS%d,ИндексыДанных=bj.ProgIndex,";
/$иначе
МаппингСвободныеПроводки2 = "Баланс=bac.BalanceCls%d,БухОперация=bj.BuhOperationCLS%d,ИндексыДанных=bj.ProgIndex,ТипДеятельности=mt.ActivityType%d,";
/$конец

МаппингСвободныеПроводки3 = "ТипКлассификации=(bj.ClsType%d)or(bj.ClsType_Corr%d),ТипКлассификацииРасх=(bj.ClsType%d)or(bj.ClsType_Corr%d),";
МаппингСвободныеПроводки4 = "БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),";
МаппингСвободныеПроводки5 = "КФСР=(bj.KFSR%d)or(bj.KFSR_Corr%d),КВСР=(tKvsr.Code%d)or(tKvsrCorr.Code%d),КВР=(tKvr.Code%k)or(tKvrCorr.Code%k),";
МаппингСвободныеПроводки6 = "КЦСР=(tKcsr.Code%k)or(tKcsrCorr.Code%k),КЭСР=(bj.KESR%d)or(bj.KESR_Corr%d),ИстВнутрФин=(ifs_t.FinSourceValue%l)or(ifscor_t.FinSourceValue%l),";
МаппингСвободныеПроводки7 = "КодДохода=(kd_o.KDValue%l)or(kd_o_corr.KDValue%l),ВидДеятельности=mt.ActivityKind%d,Коррекция=bac.CorrectionFlag%d";

функция СвободныеПроводкиВернутьМаппингПереносаПолей : Строка;
начало
  Результат := "КодЗаписи=ID,ДатаПринятия=AcceptDate,Регион=RegionCLS,ИндексыДанных=ProgIndex,Примечание=Note," +
    "Автор=CreaterUser,АвторИзменений=UpdaterUser,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate," +
    "ИндексАлгоритма=AlgIndex,Основание=NoteEx,ПричинаОтклонКод=Reject_Cls,ПричинаОтклонТекст=RejectCause,РСФО=ACC1," +
    "РСКредит=Acc1,РСДебет=Acc2,КФСР=KFSR,КВСР=KVSR,КВСРКлюч=KVSRID,КВР=KVR,КВРКлюч=KVRID,КЦСР=KCSR,КЦСРКлюч=KCSRID,КЭСР=KESR," +
    "ИсточникВнутрФинансированияКлюч=IFS,ИсточникВнутрФинансирования=FinSourceValue,Источник=FinSourceValue," +
    "КодДохода=KDValue,КодДоходаКлюч=KD,ТипКлассификации=ClsType,Направление=DirectionCls,Мероприятие=FACT," +
    "ИсточникФинансирования=FinSource,ТипФинансирования=FinType,ТипДокумента=DocType,СубКЭСР=SubKesr," +               
    "КодБюджета=BudgetRef,ТипСредств=MeansType,НомерДокумента=DocNumber,ЛицевойСчет=FacialAcc_Cls," +
    // бухгалтерия 70Н
    "ТипКлассификацииКор=ClsType_CORR,БухОперация=BuhOperationCLS,ИсточникКорКлюч=IFS_CORR,ИсточникКор=IFSValue_Corr," +
    "БККредит=CreditDocCLS,БКДебет=DebitDocCLS,ЭККредит=CreditDocEK,ЭКДебет=DebitDocEK,ВидДеятельности=ActivityKind," +
    "КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n," +
    "БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan," +                                                                                                                               
    "ПланДебетЭК=bacDebitKESR,ПланКредитЭК=bacCreditKESR,БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue," +
    "Баланс=BalanceCls,БюджКлассификация=BudClS," +
    /* новый (уточняющий) документ */
    "ИндексДанныхНоговоДокумента=DestProgindex,КодНовогоДокумента=DestRecordIndex,ТипСредствНовый=MeansType_Corr," +
    "ЛицевойСчетНовый=FacialAcc_Cls_Corr,РегионНовый=RegionCls_corr,КФСРНовый=KFSR_CORR,КЭСРНовый=KESR_CORR," +
    "КВСРНовый=KVSR_CORR,КВСРКлючНовый=KVSRCorrID,КВРНовый=KVR_CORR,КВРКлючНовый=KVRCorrID,КЦСРНовый=KCSR_CORR," +
    "КЦСРКлючНовый=KCSRCorrID,ИсточникВнутрФинансированияКлючНовый=IFS_CORR,ИсточникВнутрФинансированияНовый=IFSValue_CORR," +
    "КодДоходаНовый=KDValue_CORR,КодДоходаКлючНовый=KD_CORR,НаправлениеНовый=DirectionCls_Corr," +
    "МероприятиеНовый=Fact_corr,ИсточникФинансированияНовый=FinSource_corr,ТипФинансированияНовый=FinType_Corr," +
    "ТипДокументаНовый=DocType_Corr,СубКЭСРНовый=SubKESR_corr," +
    /* корректирующий документ */
    "ИндексДанныхКорректирующегоДокумента=SourceprogIndex,КодКорректирующегоДокумента=SourceRecordIndex," +
    /* атрибуты исходного(уточняемого) документа*/
    "НомерИсходногоДокумента=OriginalNumber,ДатаИсходногоДокумента=OriginalDate,СуммаИсходногоДокумента=OriginalSumma," +
    "ПримечаниеИсходногоДокумента=OriginalNote,ИндексДанныхИсходногоДокумента=OriginalProgIndex," +
    "КодИсходногоДокумента=OriginalRecordIndex,ПлательщикИсходногоДокумента=ORIGINALPAYERREF," +
    "ПолучательИсходногоДокумента=ORIGINALACCEPTORREF";
конец;  

функция ЗапросСвободныеПроводки(Коллекция:IVariables):строка;
  переменные
  // переменные для формирования ограничений
  ОгрПоДате: строка;
  ОгрПоКлассификации : строка;
  ОгрПоРС,ОгрПоФиктРС : строка;
  Комментарий: строка;
  Запрос: Строка;
  ОгрПоПустымБухСчетам: строка;
  /$если База70100
  ОгрТипДеят: строка;
  /$конец
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос свободных проводок.");
 //Обработка универсального типа даты. Если он отсутствует, то ограничиваем по начальной\конечной дате проведения
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=bj.AcceptDate,ДатаПринятияТип=bj.AcceptDate,ДатаВводаТип=bj.Dat',
    Коллекция, 'bj.AcceptDate');
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  // формирует параметры запроса для классификаторов
  ОгрПоКлассификации := Ограничение(МаппингСвободныеПроводки1 + МаппингСвободныеПроводки2 + МаппингСвободныеПроводки3 + 
    МаппингСвободныеПроводки4 + МаппингСвободныеПроводки5 + МаппингСвободныеПроводки6 + МаппингСвободныеПроводки7, Коллекция);
  //Формируем ограничение по рассчетному счету
  если Коллекция.values("УчетФиктивныхРС")=да тогда
    ОгрПоФиктРС := " or(dfa.Fixed&lt;&gt;0)"
  иначе
    ОгрПоФиктРС := "";
  ОгрПоРС := ограничение('РСФО=bj.ACCOUNTREF%d'+ОгрПоФиктРС,Коллекция);

  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета") и (Коллекция.values("НеВключатьПустыеБухСчета")=да)
    тогда ОгрПоПустымБухСчетам := " and (DebitAP.id is not null) and (CreditAP.id is not null) "
    иначе ОгрПоПустымБухСчетам := "";

  /$если База70100 
  //ограничение по типу деятельности  
  ОгрТипДеят := ОгрТипДеятельности((Коллекция.Значение("ТипДеятельности")),"ВидДеятельности=mt.ActivityKind%d","ТипСредствБюдж=bj.MeansType");
  /$конец
  
  // настраиваем запрос
  запрос := 
      "select " + nl +
      // общие атрибуты
      " bj.ID, bj.Summa, bj.Dat, bj.AcceptDate, bj.Note, bj.ProgIndex, bj.ACCOUNTREF ACC1, bj.ACCOUNTREF ACC2," + nl +
      " bj.CURRENCY, Cast(26 as integer) AlgIndex, bj.CreaterUser, bj.UpdaterUser, bj.CreateDate, bj.UpdateDate, " + nl +
      " bj.NoteEx, bj.Reject_Cls, bj.RejectCause, bj.DocNumber, bj.BudgetRef, " + nl + 
      // классификация
      " bj.FacialAcc_Cls, bj.KFSR, bj.KESR, bj.IFS, ifs_t.FinSourceValue, bj.KD, kd_o.KDValue, bj.ClsType," + nl +
      " bj.KVSR KVSRID, tKvsr.Code KVSR, bj.KVR KVRID, tKvr.Code KVR, bj.KCSR KCSRID, tKcsr.Code KCSR," + nl +
      " bj.DirectionCls, bj.FACT, bj.FinSource, bj.FinType, bj.DocType, bj.RegionCLS, bj.SubKesr, bj.FundsSource, bj.MeansType," + nl +
      // корр-классификация
      " bj.FacialAcc_Cls_Corr, bj.KFSR_CORR, bj.KESR_CORR, bj.IFS_Corr, ifscor_t.FinSourceValue IFSValue_Corr, bj.KD_Corr," + nl +
      " kd_o_corr.KDValue KDValue_Corr, bj.ClsType_Corr, bj.KVSR_CORR KVSRCorrID, tKvsrCorr.Code KVSR_Corr, bj.KVR_CORR KVRCorrID," + nl + 
      " tKvrCorr.Code KVR_Corr, bj.KCSR_CORR KCSRCorrID, tKcsrCorr.Code KCSR_Corr, bj.DirectionCls_Corr, bj.Fact_corr," + nl +
      " bj.FinSource_corr, bj.FinType_Corr, bj.DocType_Corr, bj.RegionCls_corr, bj.SubKESR_corr, bj.FundsSource_Corr, bj.MeansType_Corr," + nl +
      /* корректирующий документ */
      " bj.SourceprogIndex, bj.SourceRecordIndex," + nl +
      /* уточнённый документ */
      " bj.DestProgindex, bj.DestRecordIndex," + nl +
      /* атрибуты документа ФК */
      " bj.OriginalNumber, bj.OriginalDate, bj.OriginalSumma, bj.OriginalNote, bj.OriginalProgIndex," + nl +
      " bj.OriginalRecordIndex, bj.ORIGINALPAYERREF, bj.ORIGINALACCEPTORREF," + nl +
      // поля для инструкции 70н
      " bj.BuhOperationCLS, mt.ActivityKind, mtCorr.ActivityKind CorrActivityKind, bac.HeadActivityKind, " + nl +
      " bac.ActivityKind AccountActivityKind, bac.BalanceCls, bac.correctionflag," + nl +
      " bac.DebitBudClsKind, bac.CreditBudClsKind, CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR," + nl + 
      " CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
      " cast(0 as varChar(17)) CreditDocCLS, cast(0 as varChar(17)) DebitDocCLS," + nl +
      " cast(0 as varChar(8)) DebitCodeAcc70n, cast(0 as varChar(8)) CreditCodeAcc70n," + nl +
      " cast(0 as varChar(28)) DebitNumberAcc70n, cast(0 as varChar(28)) CreditNumberAcc70n," + nl +
      " cast(0 as double precision) DebitAcc70n, cast(0 as double precision) CreditAcc70n," + nl +
      " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
      " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," + nl +                                                                                           
      " 0 CreditDocEK, 0 DebitDocEK, DFIFS.FinSourceValue DFIFSValue, dfa.IFS DFBTIFS_Ref, dfaBAP.BuhAcc DFBuhAccFO," + nl +
      " cast(0 as varchar(20)) BudClS" + nl +
      "from " + nl +
      " Buh_Journal bj " + nl +
      " left join dfAccountsBuhTable dfa on ((bj.ACCOUNTREF = dfa.id)" + Ограничение('Бюджет=dfa.BudgetRef', коллекция) + ")" + nl +
      " left join BuhAccPlan dfaBAP on (dfaBAP.ID = dfa.FinOrgAccRef)" + nl +   
      " left join RegionCLS rc on (bj.RegionCLS=rc.id)" + nl +
      " left join MeansType mt on (mt.ID = bj.MeansType) " + nl +
      " left join MeansType mtCorr on (mtCorr.ID = bj.MeansType_Corr) " + nl +
      " left join InnerFinSource ifscor_t on (ifscor_t.ID = bj.IFS_CORR)" + nl +
      " left join InnerFinSource ifs_t on (ifs_t.ID = bj.IFS)" + nl +
      " left join InnerFinSource DFIFS on (DFIFS.ID = dfa.IFS)" + nl +
      " left join KD kd_o on (bj.kd = kd_o.id)" + nl +     
      " left join KD kd_o_corr on (bj.kd_corr = kd_o_corr.id)" + nl +           
      " left join KVSR tKvsr on (tKvsr.id = bj.KVSR)" + nl +
      " left join KVR tKvr on (tKvr.id = bj.KVR)" + nl +
      " left join KCSR tKcsr on (tKcsr.id = bj.KCSR)" + nl +
      " left join KVSR tKvsrCorr on (tKvsrCorr.id = bj.KVSR_Corr)" + nl +
      " left join KVR tKvrCorr on (tKvrCorr.id = bj.KVR_Corr)" + nl +
      " left join KCSR tKcsrCorr on (tKcsrCorr.id = bj.KCSR_Corr)" + nl +
      // таблицы для инструкции 70н
      " left join BuhAccCorr bac on (bac.BuhOperationCLS = bj.BuhOperationCLS)" + nl +
      " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
      " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl +
      " left join BuhOperationCLS boCLS on (boCLS.id = bj.BuhOperationCLS)" + nl +    
      "where " + nl +
      " (1 = 1) and (bj.Reject_Cls is null) " + nl + 
      ОгрПоДате + nl +
      ОгрПоДатамБухОпераций + nl +
      ОгрПоРС + nl +
      ОгрПоПустымБухСчетам + nl +
      /$если База70100
      ОгрТипДеят +nl+
      /$конец
      ОгрПоКлассификации;
  Результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);    
конец;

функция ПолучитьСвободныеПроводки(Данные : СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Если Позиция("BudClS", Коллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + 
        ",KVSR,KFSR,KCSR,KVR,KESR,FinSourceValue,IFS,KDValue,ClsType";   
    ЗакачатьДанныеЗапроса(Данные, ЗапросСвободныеПроводки(Коллекция), Коллекция);  
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=FinSourceValue,ИВФКлюч=IFS,КД=KDValue,ВидКлс=ClsType",Данные,Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

константы
  МаппингСвязанныхПолейОбщий1 = "%EС=KESR,KESR_Corr,ClsType,FinSourceValue,IFSValue_Corr,KDValue_Corr,ClsType_Corr,KDValue;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=KVSR_Corr,KVR_Corr,KCSR_Corr,KFSR_Corr,KVSR,KFSR,KCSR,KVR,ClsType,FinSourceValue,IFSValue_Corr,DFBTIFS_Ref,ClsType_Corr,KDValue_Corr,KDValue;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьСвободныеПроводкиБух(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  поляВыборки: строка;
начало
  // Формируем по 70Н
  если Коллекция.Values("ИндексыДанных")='' тогда Коллекция.Values("ИндексыДанных") := '309, 312, 313';// только по 70Н
  поляВыборки := Коллекция.Values("ПоляВыборки");
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4, Коллекция) + ",correctionflag,CorrActivityKind,HeadActivityKind,AccountActivityKind,DFBuhAccFO";    
  попытка
    ПолучитьСвободныеПроводки(Данные, коллекция);
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=ClsType,КорВидКлс=ClsType_CORR,ВидДеятельности=ActivityKind,КорВидДеятельности=ActivityKind,' +
      'ИсточникВидДеятельности=HeadActivityKind,ВидДеятельностиПроводки=AccountActivityKind,' +
      'КорКВСР=KVSR_CORR,КорКЦСР=KCSR_CORR,КорКФСР=KFSR_CORR,КорКВР=KVR_CORR,КорКЭСР=KESR_CORR,'+ 
      'КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,'+
      'КорИВФ=IFSValue_Corr,ИВФ=FinSourceValue,КорКД=KDValue_CORR,КД=KDValue,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=_,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=DFBTIFS_Ref,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=DFBTIFS_Ref,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,СуммаВозвратнойОперации=_,'+
      'БухОперация=BuhOperationCLS,Сумма=summa,ИсправляющаяОперация=CORRECTIONFLAG,БухСчетФОДебет=DFBuhAccFO,' +
      'БухСчетФОКредит=DFBuhAccFO',
      Данные,'2','3',коллекция);
  обязательно
    Коллекция.Values("ПоляВыборки") := поляВыборки;
  конец;
конец;
</value>
    <param value="ЗапросыСвободныеПроводки.abl" type="3" name="Export">MARAEVA7\baranova\24.02.2012 19:08:50</param>
    <param value="ЗапросыСвободныеПроводки.abl" type="3" name="version">36.042.15</param>
    <param value="ЗапросыСвободныеПроводки.abl" type="3" name="crc32">$F96270BB</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="СвободныеПроводки">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить '\макросы\запросы\ЗапросыСвободныеПроводки.abl';

АлгоритмСвободныеПроводки(Параметры: IVariables);
константы
  
  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';

переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;  

функция ВыполнитьСекцииСвободПроводки(данные:статическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции: СтатическиеДанные;
  ЛокКоллекция: IVariables;
  МаппингСекции : Строка;
  ОграниченияПоДатам : IDataLimit;
  МаппингГиперТекст : Строка;  
начало
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);  
  Если Не НадоВыполнятьАлгоритм(26, ЛокКоллекция) тогда выход;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;   

  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
 // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция); 

  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные;
  попытка
    // секция 0 - На начало периода
    Если ВыполнятьСекцию(данные, "СвободПроводкиНаНачПериода") 
    тогда начало
      МаппингСекции := FixPumpMapEx(СвободныеПроводкиВернутьМаппингПереносаПолей, Раскладка);
      ЛокКоллекция.values("КоментарийСекции") := 'Свободные проводки на начало периода';
      ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
      ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода; 
      МаппингСекции := МаппингСекции+","+FixPumpMapEx("СвободПроводкиНаНачПериода=SUMMA", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляВыборки(МаппингСекции,",");
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      // производим выборку данных
      ПолучитьСвободныеПроводки(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
   // секция 1 - За период
    Если ВыполнятьСекцию(данные, "СвободПроводкиЗаПериод") 
    тогда начало
      МаппингСекции := FixPumpMapEx(СвободныеПроводкиВернутьМаппингПереносаПолей, Раскладка);
      ЛокКоллекция.values("КоментарийСекции") := 'Свободные проводки на начало периода';
      ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
      ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода; 
      МаппингСекции := МаппингСекции+","+FixPumpMapEx("СвободПроводкиЗаПериод=SUMMA", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляВыборки(МаппингСекции,",");
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));    
      // производим выборку данных
      ПолучитьСвободныеПроводки(ДанныеОднойСекции, ЛокКоллекция);
      // перезакачиваем полученные данные в результирующие статические данные
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 
  обязательно
    УдалитьОбъект(ДанныеОднойСекции);
  конец;
конец;

// ОСНОВНАЯ ЧАСТЬ   
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);    
  // выбираем данные по секциям
  ВыполнитьСекцииСвободПроводки(данные, Ограничения);
конец.
</value>
    <param value="СвободныеПроводки" type="3" name="Export">MARAEVA7\baranova\13.02.2012 13:16:49</param>
    <param value="СвободныеПроводки" type="3" name="version">36.042.15</param>
    <param value="СвободныеПроводки" type="3" name="crc32">$0271C99B</param>
  </node>
  <version_info>
    <file>Сборка(27)ОргСправочно.xml</file>
    <version>36.042.03</version>
    <info>&lt;p&gt;Отчеты по справочным сведениям организаций&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:50</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыОргСправочно.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\Отчеты\поддержкаОтчетов.abl";
константы
  nl = #13#10;
  МаппингОргСправочно1 = 'Район=t.RegionCls,Бюджет=t.BudgetRef,ФинТип=t.FinType,ФинТипы=t.FinType,КФСР=r.Kfsr,КВСР=r.Kvsr,ДатаВремяСоздания=r.CreateDate,ДатаВремяИзменения=r.UpdateDate,';
  МаппингОргСправочно2 = 'КЦСР=r.Kcsr,КВР=r.Kvr,КЭСР=r.Kesr,ЛицСчет=r.FacialAcc_Cls,Справочно=r.RefCls,КодЗаписи=r.id,Пользователь=r.CreaterUser%s';
  
функция ЗапросОргСправочно(Коллекция:IVariables):строка;
переменные
  ОгрПоДате : строка;
  ОгрПоКлассификации : строка;
  ОгрПоОрганизации : строка;
  МаппингОргСправочно : строка;
  Комментарий: строка;
  Запрос: Строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос Отчеты Организаций (Справочно)");

  МаппингОргСправочно := МаппингОргСправочно1 + МаппингОргСправочно2;
  // ограничение по Классификации
  ОгрПоКлассификации := Ограничение(МаппингОргСправочно, Коллекция);
  // по организации плат(по ссылке на счет или по ссылке на организацию)
  ОгрПоОрганизации := Ограничение('РСССылка=t.Acc_Ref', Коллекция); 
  если (Коллекция.Values("ОргСсылка")&lt;&gt;"") и (ОгрПоОрганизации = '') 
    тогда ОгрПоОрганизации := Ограничение('ОргСсылка=ACC.Org_ref', Коллекция);
    
  // формируем ограничение по дате следующим образом 
  // если Месяц и Год не заданы, Если они не определены то не ограничиваем
  
  ОгрПоДате := "";
  Если Коллекция.Values("Год")="&lt;нет&gt;" тогда Коллекция.Values("Год") := '';
  Если Коллекция.Values("Месяц")="&lt;нет&gt;" тогда Коллекция.Values("Месяц") := '';
  Если не((УбратьПробелы(Коллекция.Values("Год"))="") и (УбратьПробелы(Коллекция.Values("Месяц"))="")) 
  тогда начало  
     Если Коллекция.Values("ЗаПредыдущийПериод")
     тогда начало
       Если (УбратьПробелы(Коллекция.Values("Месяц"))&lt;&gt;"") и (Коллекция.Values("Месяц")&lt;&gt;0)
         тогда Коллекция.Values("Месяц") := Коллекция.Values("Месяц") - 1;
       Если (Коллекция.Values("Год")&lt;&gt;"")
         тогда ОгрПоДате := "and(t.Year &lt;= "+строка(Коллекция.Values("Год"))+")";
       Если (Коллекция.Values("Месяц")&lt;&gt;"") и (Коллекция.Values("Месяц")&lt;&gt;0) 
         тогда ОгрПоДате := ОгрПоДате + "and(t.Month &lt;= "+строка(Коллекция.Values("Месяц"))+")"  
     конец
     иначе начало
       Если (Коллекция.Values("Год")&lt;&gt;"")
         тогда ОгрПоДате := "and(t.Year = "+строка(Коллекция.Values("Год"))+")";
       Если (Коллекция.Values("Месяц")&lt;&gt;"") и (Коллекция.Values("Месяц")&lt;&gt;0) 
         тогда ОгрПоДате := ОгрПоДате + "and(t.Month = "+строка(Коллекция.Values("Месяц"))+")"  
     конец;     
  конец
    иначе ВызватьОшибку("Ограничение по дате не определено");

  // настраиваем запрос
  запрос := 
   "select " + nl +
   "r.id, t.Acc_Ref Acc_Ref, t.RegionCls RegionCls, t.BudgetRef BudgetRef, t.Year Year, t.Month Month, t.FinType FinType,r.CreateDate,r.UpdateDate," + nl +
   "r.RefCls RefCls, r.Kfsr Kfsr, r.Kvsr Kvsr ,r.Kcsr Kcsr, r.Kvr Kvr, r.Kesr Kesr, r.FacialAcc_Cls FacialAcc_Cls, Cast(27 as integer) AlgIndex," + nl +
   "r.Summa Summa, Cast(302 as integer) ProgIndex" + nl +
   " From" + nl +
   "  orMonthReference r" + nl +
   "  left join OrMonthTitle t on (r.Title_Ref = t.ID)" + nl +
   "  left join ORG_ACCOUNTS  ACC on (t.Acc_Ref = Acc.id)"+nl+ 
   "  where "+nl+
   " (1 = 1)"+nl+ 
      ОгрПоОрганизации + nl +
      ОгрПоДате+nl+
      ОгрПоКлассификации;
      
  Результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);    
конец;
  
// Основная функция получения данных 
функция ПолучитьОргСправочно(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные 
  Запрос : Строка;
начало
 попытка
   // формируем SQL-запрос
    Запрос := ЗапросОргСправочно(Коллекция);
    // закачиваем данные
    ЗакачатьДанныеЗапроса(Данные, Запрос, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыОргСправочно.abl" type="3" name="version">36.042.03</param>
    <param value="ЗапросыОргСправочно.abl" type="3" name="crc32">$0BD40CE3</param>
  </node>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="ОргСправочно">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить 'Бюджет\Ресурсы\Библиотеки\Variables.lib';
включить "Бюджет\Ресурсы\Макросы\Отчеты\ПоддержкаОтчетов.abl";
включить "Бюджет\Ресурсы\Макросы\Запросы\ЗапросыОргСправочно.abl";

ОргСправочно(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  
константы
  МаппингОргСправочно1 = "ИндексАлгоритма=AlgIndex,Регион=RegionCls,ТипФинансирования=FinType,КФСР=Kfsr,КВСР=Kvsr,КодЗаписи=id,ИндексыДанных=ProgIndex,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,";
  МаппингОргСправочно2 = "КЦСР=Kcsr,КВР=Kvr,КЭСР=Kesr,ЛицевойСчет=FacialAcc_Cls,Справочно=RefCls,СчетПолуч=ACC_REF,СчетРаспорядителя=ACC_REF,Месяц=Month,Год=Year";
  
функция ВыполнитьСекцииОргСправочно(данные: статическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингОргСправочно : строка;
  МаппингСекции : строка;
  ОграниченияПоДатам:IDataLimit;
начало
  ПостоянныйМаппингОргСправочно := FixPumpMap(МаппингОргСправочно1+МаппингОргСправочно2, данные);
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);

  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);

  ЛокКоллекция.values("ИспользоватьПоляВыборки") :=да;
  
 //  Секция 0. На начало периода
  Если ВыполнятьСекцию(данные,"ОргСправочноСуммаНаНачалоПериода")
  тогда начало
    ЛокКоллекция.values("КоментарийСекции") := 'Отчеты организаций справочно.0. Сумма на начало периода'; 
    // производим выборку данных
    ЛокКоллекция.Values("ЗаПредыдущийПериод") := да;
    МаппингСекции :=  ПостоянныйМаппингОргСправочно+","+FixPumpMap("ОргСправочноСуммаНаНачалоПериода=Summa",данные);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
    ПолучитьОргСправочно(ДанныеОднойСекции, ЛокКоллекция);
    // перекачиваем полученные данные в результирующий набор данных
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
  конец;
   
//  Секция 1. Справочно за период
  Если ВыполнятьСекцию(данные,"ОргСправочноСуммаЗаПериод")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Отчеты организаций справочно.1. Сумма за период'; 
    // производим выборку данных
    ЛокКоллекция.Values("ЗаПредыдущийПериод") := нет;
    МаппингСекции :=  ПостоянныйМаппингОргСправочно+","+FixPumpMap("ОргСправочноСуммаЗаПериод=Summa",данные);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
    ПолучитьОргСправочно(ДанныеОднойСекции, ЛокКоллекция);
    // перекачиваем полученные данные в результирующий набор данных
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
  конец;
  интерфейс(ДанныеОднойСекции).Освободить;
конец;  
  
// ОСНОВНАЯ ЧАСТЬ  
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  // выбираем данные по секциям
  ВыполнитьСекцииОргСправочно(данные, Ограничения);
конец.
</value>
    <param value="ОргСправочно" type="3" name="version">36.042.03</param>
    <param value="ОргСправочно" type="3" name="crc32">$2C2604FA</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">27010100</V>
            <V N="Name">Отчеты организаций (Справочно)</V>
            <V N="Params">Бюджет,Даты,Месяц,Год,ЛицСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,ФинТип,Справочно,Район,Организация,ИНН,КПП,Наимен</V>
            <V N="Template">(27.01.01)отчеты организаций (справочно).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Отчет выдает информацию по месячным отчетам организаций (со страницы Справочно)</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <version_info>
    <file>Сборка(28)ОперацииСоСчетами.xml</file>
    <version>36.042.14</version>
    <info>&lt;p&gt;Отчеты по операциям со счетами&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:51</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыОперацииСоСчетами.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\отчеты\поддержкаОтчетов.abl';

константы
  nl = #13#10;
  
функция ОперацииСоСчетамиВернутьМаппингПереносаПолей : Строка;
начало
  Результат := 'КодЗаписи=ID,КодДокумента=IdCaption,ДатаВвода=BuildDate,ДатаПринятия=AcceptDate,Регион=RegionCLS,' +
    'ИндексыДанных=ProgIndex,Примечание=Note,ИндексАлгоритма=AlgIndex,ПримечаниеДеталь=NoteDetail,Автор=CreaterUser,' +
    'ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,СчетПлат=Acc1,СчетПолуч=Acc2,РСКредит=Acc1,РСДебет=Acc2,' + 
    'ИсточникОбразованияСредств=FundsSource,ТипСредств=MeansType,ВидДеятельности=ActivityKind,СуммаВалюта=CurrencySumma,' +
    'КодБюджета=BudgetRef,Мероприятие=Fact,НомерДокумента=DocNumber,НомерПП=Number,НомерППРодителя=ParentNumber,' +
    'КодЦелевыхСредств=TransfertClsValue,КодЦелевыхСредствКлюч=TransfertCls,' +
    'БухОперация=BuhOperationCLS,ПланДебетЭК=bacDebitKESR,ПланКредитЭК=bacCreditKESR,' +
    'БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,ЭККредит=CreditDocEK%d,ЭКДебет=DebitDocEK%d,' +
    'КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,' +
    'НомерСчетаДебет=DebitNumberAcc70n%s28,НомерСчетаКредит=CreditNumberAcc70n%s28,'+
    'БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f,Баланс=BalanceCls,'+
    'БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,' +                                                                                       
    'БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue';
конец;   

функция ЗапросОперацииСоСчетами(Коллекция:IVariables):строка;
переменные
  // перенные для формирования ограничений
  ОгрПоДате: строка;
  ОгрБазовые : строка;
  ОгрПоФиктРС : строка;
  Комментарий: строка;
  Запрос: Строка;
  ОгрПоПустымБухСчетам: строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, 'Запрос операции со счетами.');
 // Обработка универсального типа даты. Если он отсутствует, то ограничиваем по начальной\конечной дате проведения
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=dfo.AcceptDate,ДатаПринятияТип=dfo.AcceptDate', Коллекция, 'dfo.AcceptDate');
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  // Формируем ограничение по рассчетному счету с учетом фиктивных
  если Коллекция.values("УчетФиктивныхРС") = да тогда 
    ОгрПоФиктРС := " or((dfa1.Fixed&lt;&gt;0)and(dfa2.Fixed&lt;&gt;0))"
  иначе
    ОгрПоФиктРС := "";
  // формируем базовые ограничения на запрос
  ОгрБазовые := Ограничение('ИндексыДанных=dfo.ProgIndex%d,КодДокумента=dfo.id%d,КодЗаписи=dfo.ID%d,ВидДеятельности=mt.ActivityKind%d,' +
    'БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),' +
    'ОргСсылка=oa1.ORG_REF%d,ОргСсылка=oa2.ORG_REF%d,ТипОрг=o1.Org_CLS%d,ТипОрг=o2.Org_CLS%d,БухОперация=dfo.BuhOperationCLS%d,' +
    'Район=dfo.RegionCLS%d,Бюджет=dfo.BudgetRef%d,БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),Баланс=bac.BalanceCls,' + 
    'ТипСредствБюдж=dfo.MeansType%d,Мероприятие=dfo.Fact%d,КодЦелевыхСредств=tc.Code%d,ТипДеятельности=mt.ActivityType%d,' +
    'КодЦелевыхСредствПризнак=tc.TARGETMEANSSIGN%d, РСФО=(dfa1.id%d)or(dfa2.id%d)' + ОгрПоФиктРС, Коллекция);

  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета") и (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    ОгрПоПустымБухСчетам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) "
  иначе  
    ОгрПоПустымБухСчетам:='';  
  // настраиваем запрос
  Запрос := 
      "select "+nl+
      " Cast(NULL as varchar(50)) Number, Cast(NULL as varchar(50)) ParentNumber, dfo.Note DocNumber, dfo.BudgetRef, " + nl +
      " dfo.ID, dfo.ID IDCaption, dfo.AcceptDate BuildDate, dfo.AcceptDate, dfo.summa, dfo.RegionCLS , dfo.ProgIndex, " + nl +
      " dfo.Note, aco.CurSumma CurrencySumma, " + nl +
      " dfo.DDFAccount Acc2, dfo.SDFAccount Acc1, Cast(28 as integer) AlgIndex, dfo.note NoteDetail," + nl +
      " dfo.FundsSource, dfo.TransfertCls, tc.Code TransfertClsValue," + nl +
      // поля для инструкции 70н
      " dfo.BuhOperationCLS, mt.ActivityKind, dfo.MeansType, dfo.Fact," + nl + 
      " bac.BalanceCls, bac.CORRECTIONFLAG, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
      " CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR,CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
      " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
      " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan,bac.BalanceCls," + nl +                                                                       
      " ifs_Pay.FinSourceValue IFS1, ifs_Acc.FinSourceValue IFS2, dfa2.IFS IFS2_Ref, dfa1.IFS IFS1_Ref," + nl +
      " dfa1BAP.BuhAcc DFBuhAccFODebet, dfa2BAP.BuhAcc DFBuhAccFOCredit" + nl +
      "from " + nl +
      " DFAccountOperation dfo " + nl +
      " left join dfAccountsBuhTable dfa1 on ((dfo.DDFAccount = dfa1.id)"+Ограничение('Бюджет=dfa1.BudgetRef%d',Коллекция)+")" + nl +
      " left join BuhAccPlan dfa1BAP on (dfa1BAP.ID = dfa1.FinOrgAccRef)" + nl +   
      " left join dfAccountsBuhTable dfa2 on ((dfo.SDFAccount = dfa2.id)"+Ограничение('Бюджет=dfa2.BudgetRef%d',Коллекция)+")" + nl +
      " left join BuhAccPlan dfa2BAP on (dfa2BAP.ID = dfa2.FinOrgAccRef)" + nl +   
      " left join ORG_ACCOUNTS oa1 on (oa1.id = dfo.SDFAccount)" + nl +
      " left join ORG_ACCOUNTS oa2 on (oa2.id = dfo.DDFAccount)" + nl +
      " left join Organizations o1 on (o1.id = oa1.ORG_REF)" + nl +
      " left join Organizations o2 on (o2.id = oa2.ORG_REF)" + nl +
      " left join AccCurOperation aco on (aco.id = dfo.id)"+ nl +
      " left join TransfertCls tc on (tc.ID = dfo.TransfertCls) " + nl +
      " left join MeansType mt on (mt.ID = dfo.MeansType) " + nl +
      " left join InnerFinSource ifs_Pay on (ifs_Pay.ID = dfa2.IFS)" + nl +
      " left join InnerFinSource ifs_Acc on (ifs_Acc.ID = dfa1.IFS)" + nl +
      " left join Fact Ft on (ft.ID = dfo.Fact)" + nl +
      // таблицы для инструкции 70н
      " left join BuhAccCorr bac on (bac.BuhOperationCLS = dfo.BuhOperationCLS)" + nl +
      " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
      " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl+
      " left join BuhOperationCLS boCLS on (boCLS.id = dfo.BuhOperationCLS)" + nl +    
      "where " + nl +
      " (1 = 1)" + nl + 
      ОгрПоДате + nl +
      ОгрПоДатамБухОпераций + nl +
      ОгрБазовые+ОгрПоПустымБухСчетам;
  Результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);    
конец;

функция ЗапросПлатежныхПоручений(Коллекция:IVariables):строка;
  переменные
  // перенные для формирования ограничений
  ОгрПоДате: строка;
  ОгрБазовые : строка;
  ОгрПоФиктРС : строка;
  Комментарий: строка;
  Запрос: Строка;
  ОгрПоПустымБухСчетам: строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, 'Запрос операции со счетами.');
 //Обработка универсального типа даты. Если он отсутствует, то ограничиваем по начальной\конечной дате проведения
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=pd.AcceptDate,ДатаПринятияТип=pd.AcceptDate', Коллекция, 'pd.AcceptDate');
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  //Формируем ограничение по расчетному счету с учетом фиктивных счетов
  если Коллекция.values("УчетФиктивныхРС") = да тогда
    ОгрПоФиктРС := " or(dfa1.Fixed&lt;&gt;0)or(dfa2.Fixed&lt;&gt;0)"
  иначе
    ОгрПоФиктРС := "";
  // формируем базовые ограничения запроса
  ОгрБазовые := Ограничение('КодЗаписи=pd.id%d,КодДокумента=aot.id%d,ИндексыДанных=pd.ProgIndex%d,Бюджет=aot.BudgetRef%d,' +
    'ВидДеятельности=mt.ActivityKind%d,БухОперация=pd.BuhOperationCLS%d,ТипСредствБюдж=pd.MeansType%d,' +
    "БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d)," +
    "Баланс=bac.BalanceCls,БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),ТипДеятельности=mt.ActivityType%d," +
    'КодЦелевыхСредств=tc.Code%d,КодЦелевыхСредствПризнак=tc.TARGETMEANSSIGN%d,РСФО=(dfa1.id%d)or(dfa2.id%d)' + ОгрПоФиктРС, Коллекция);

  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета") и (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    ОгрПоПустымБухСчетам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) "
  иначе  
    ОгрПоПустымБухСчетам:='';  
  // настраиваем запрос
  Запрос := 
    "select "+nl+
    " pd.Number, pd1.Number ParentNumber, cast(aot.DocNumber as varchar(255)) DocNumber, aot.id IdCaption, aot.BudgetRef, "+nl+
    " pd.Summa, pd.AcceptDate, pd.ProgIndex, pd.id, pd.PayerAttrRef Acc1, pd.AcceptorAttrRef Acc2, cast(0 as integer) Fact," + nl +
    " cast(0 as integer) RegionCLS, Cast(28 as integer) AlgIndex, aot.Note, pd.TextNote NoteDetail, aot.BuildDate," + nl +
    " pd.CreaterUser, pd.CreateDate, pd.UpdateDate, pd.TransfertCls, tc.Code TransfertClsValue," + nl + 
    // поля для инструкции 70н
    " pd.BuhOperationCLS, mt.ActivityKind, pd.MeansType,cast (0 as double precision) CurrencySumma," + nl + 
    " bac.BalanceCls,  bac.CORRECTIONFLAG, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
    " CreditAP.ECCLS bacCreditKESR, Cast(0 as integer) FundsSource," + nl +
    " DebitAP.ECCLS bacDebitKESR,CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
    " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
    " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan,bac.BalanceCls," + nl +                                                                             
    " ifs_Pay.FinSourceValue IFS1, ifs_Acc.FinSourceValue IFS2, dfa2.IFS IFS2_Ref, dfa1.IFS IFS1_Ref," + nl +
    " dfa1BAP.BuhAcc DFBuhAccFODebet, dfa2BAP.BuhAcc DFBuhAccFOCredit" + nl +
    "from "+nl+
    " PayDoc32 pd "+nl+
    " left join dfAccountsBuhTable dfa1 on ((pd.AcceptorAttrRef = dfa1.id)"+Ограничение('Бюджет=dfa1.BudgetRef%d',Коллекция)+")"+nl+
    " left join BuhAccPlan dfa1BAP on (dfa1BAP.ID = dfa1.FinOrgAccRef)" + nl +   
    " left join dfAccountsBuhTable dfa2 on ((pd.PayerAttrRef = dfa2.id)"+Ограничение('Бюджет=dfa2.BudgetRef%d',Коллекция)+")"+nl+
    " left join BuhAccPlan dfa2BAP on (dfa2BAP.ID = dfa2.FinOrgAccRef)" + nl +   
    " inner join AccsOperTitle aot on (aot.id = pd.RecordIndex) "+nl+
    " left join PayDoc32 pd1 on (pd.ParentIndex = pd1.id)" + nl +
    " left join TransfertCLS tc on (tc.ID = pd.TransfertCLS)" + nl +
    " left join MeansType mt on (mt.ID = pd.MeansType) " + nl +
    " left join InnerFinSource ifs_Pay on (ifs_Pay.ID = dfa2.IFS)" + nl +
    " left join InnerFinSource ifs_Acc on (ifs_Acc.ID = dfa1.IFS)" + nl +
    // таблицы для инструкции 70н
    " left join BuhAccCorr bac on (bac.BuhOperationCLS = pd.BuhOperationCLS)" + nl +
    " left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
    " left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl+
    " left join BuhOperationCLS boCLS on (boCLS.id = pd.BuhOperationCLS)" + nl +    
    "where "+nl+
    " (pd.ProgIndex = 16) "+nl+ 
    ОгрПоДате+nl+
    ОгрПоДатамБухОпераций + nl +
    ОгрБазовые + ОгрПоПустымБухСчетам;
  Результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);    
конец;

функция ПолучитьОперацииСоСчетами(Данные : СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    // для бухгалтерии 70н
    CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ОперацииСоСчетамиВернутьМаппингПереносаПолей, nil, Данные);
    // Создавать недостающие поля запросом
    Данные.DefProps("Options") := "+sdoDefaultFields";
    // Получаем данные
    Данные.Запрос := "[PumpData]" + ЗапросОперацииСоСчетами(Коллекция) + ЗапросПлатежныхПоручений(Коллекция);
    ПолучитьДанные(Данные, Коллекция);                
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

константы
  МаппингСвязанныхПолейОбщий1 = "%EС=IFS1_Ref,IFS2_Ref;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=IFS1_Ref,IFS2_Ref,DFBTIFS_Ref;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьОперацииСоСчетамиБух(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  поляВыборки: строка;
начало
  // Формируем по 70Н
  поляВыборки := Коллекция.Values("ПоляВыборки");
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4, Коллекция) + ",CORRECTIONFLAG,DFBuhAccFODebet,DFBuhAccFOCredit";        
  попытка
    ПолучитьОперацииСоСчетами(Данные, коллекция);
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,'+
      'НомерСчетаКредит=CreditNumberAcc70n,БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=_,КорВидКлс=_,ВидДеятельности=ActivityKind,'+
      'КВСР=_,КЦСР=_,КФСР=_,КВР=_,КЭСР=_,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФКлюч=_,КорИВФКлюч=_,КД=_,КорКД=_,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=_,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=IFS1_Ref,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=IFS2_Ref,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,СуммаВозвратнойОперации=_,'+
      'БухОперация=BuhOperationCLS,Сумма=summa,ИсправляющаяОперация=CORRECTIONFLAG,БухСчетФОДебет=DFBuhAccFODebet,' +
      'БухСчетФОКредит=DFBuhAccFOCredit',
      Данные,'4','4',коллекция);
  обязательно
    Коллекция.Values("ПоляВыборки") := поляВыборки;
  конец;
конец;
</value>
    <param value="ЗапросыОперацииСоСчетами.abl" type="3" name="version">36.042.14</param>
    <param value="ЗапросыОперацииСоСчетами.abl" type="3" name="crc32">$A4D70EC2</param>
  </node>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="ОперацииСоСчетами">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\Отчеты\ПоддержкаОтчетов.abl";
включить '\макросы\запросы\ЗапросыОперацииСоСчетами.abl';

АлгоритмОперацииСоСчетами(Параметры: IVariables);
константы
  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';

переменные
  Коллекция: IVariables;
  Данные : СтатическиеДанные;
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  МаппингСекции : Строка;
  ОграниченияПоДатам : IDataLimit;
  МаппингГиперТекст : Строка;  
  Раскладка : ITableInfoX;
начало
  Коллекция := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);  
  
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);  
  Если Не НадоВыполнятьАлгоритм(28, ЛокКоллекция) тогда выход;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;   
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
    ЛокКоллекция.Values("ТипОгрДата"):=0;
    ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
 // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция); 

  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные;
  
  //Операции со счетами 1. Операции со счетами на начало периода.
  Если ВыполнятьСекцию(данные, "ОперацииСоСчетамиНаНачПериода") тогда 
  начало
    МаппингСекции := FixPumpMapEx(ОперацииСоСчетамиВернутьМаппингПереносаПолей, Раскладка);
    ЛокКоллекция.values("КоментарийСекции") := 'Операции со счетами 1. Операции со счетами на начало периода.';
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода; 
    МаппингСекции := МаппингСекции+","+FixPumpMapEx("ОперацииСоСчетамиНаНачПериода=SUMMA", Раскладка);
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляВыборки(МаппингСекции,",");
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));            
    // производим выборку данных
    ПолучитьОперацииСоСчетами(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
  конец;
  
  // Операции со счетами 2. Операции со счетами за период.
  Если ВыполнятьСекцию(данные, "ОперацииСоСчетамиЗаПериод") 
  тогда начало
    МаппингСекции := FixPumpMapEx(ОперацииСоСчетамиВернутьМаппингПереносаПолей, Раскладка);
    ЛокКоллекция.values("КоментарийСекции") := 'Операции со счетами 2. Операции со счетами за период.';
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода; 
    МаппингСекции := МаппингСекции+","+FixPumpMapEx("ОперацииСоСчетамиЗаПериод=SUMMA", Раскладка);
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляВыборки(МаппингСекции,",");
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                              ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));            
    // производим выборку данных
    ПолучитьОперацииСоСчетами(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
  конец; 
 
  интерфейс(ДанныеОднойСекции).Освободить;
конец.
</value>
    <param value="ОперацииСоСчетами" type="3" name="version">36.042.14</param>
    <param value="ОперацииСоСчетами" type="3" name="crc32">$63EE6A90</param>
  </node>
  <version_info>
    <file>Сборка(31)Гарантии.xml</file>
    <version>34.042.01</version>
    <info>Отчеты по гарантиям</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:52</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Гарантии">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\ABLTools.lib';
включить '\Макросы\Запросы\ЗапросыГарантии.abl';
включить '\Макросы\Запросы\ЗапросыСтавки.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Запросы\ЗапросыОбеспечение.abl';
включить '\Макросы\Запросы\ЗапросыДопРасходы.abl';
включить '\Макросы\Запросы\ЗапросыДоговора.abl';
включить '\Макросы\Запросы\ЗапросыГосДолгЗаголовок.abl';

Гарантии(Параметры: IVariables);
константы
  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';

  УзелПараметров = "Бюджет\Объекты\Настройки\Гарантии\Параметры"; 
  
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;  

  функция ЗакачиватьПустыеДоговора: целое;
  начало  
    Результат := Реестр.Узел(УзелПараметров).Значение("Закачивать пустые договора").КакФлаг;
  конец;
  
  функция ВыполнитьСекцииГарантии(Данные: СтатическиеДанные; Коллекция: IVariables);
  переменные
    Маппинг: строка;
    ДанныеОднойСекции: СтатическиеДанные;
    ЛокКоллекция: IVariables;
    МаппингГиперТекст : Строка;
    Смещение: целое;  

  начало
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);  
    Если Не НадоВыполнятьАлгоритм(31, ЛокКоллекция) тогда выход;
    
    МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;   

    ДанныеОднойСекции := СоздатьСтатическиеДанные;
    ДанныеОднойСекции.СоединитьБД;
    // Выборка данных до периода
    если Коллекция.Значение("ВариантНачалаПериода") = 3 тогда
      ЛокКоллекция.Значение("ДатаНачалаПериода") := (ЛокКоллекция.Значение("ДатаНачалаПериода") цел 10000) * 10000;
    
    ЛокКоллекция.Значение("НачальнаяДата") := 0;
    ЛокКоллекция.Значение("КонечнаяДата") := ЛокКоллекция.Значение("ДатаНачалаПериода") - 1;

    ЛокКоллекция.Значение("ДатаНачалаДоговора") := ЛокКоллекция.Значение("ДатаНачалаПериода");
    локКоллекция.Значение("ДатаКонцаДоговора") := ЛокКоллекция.Значение("ДатаКонцаПериода");

    Смещение := 0;
    если УбратьПробелы(ЛокКоллекция.Значение("ОднаДата")) &lt;&gt; "" тогда
    начало
      ЛокКоллекция.Значение("ДатаНачалаДоговора") := StrToDateEX(ЛокКоллекция.Значение("ОднаДата"));
      локКоллекция.Значение("ДатаКонцаДоговора") := ЛокКоллекция.Значение("ДатаНачалаДоговора") - 1;
      Смещение := 1;
    конец;

    ЛокКоллекция.Значение("БезДатыПринятия") := 0;
    
    если Реестр.Узел(УзелПараметров).Значение("По дате учета").КакФлаг тогда
      ЛокКоллекция.Значение("ДатаУчетаТип") := 1;

    если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
    начало  // Поддержка вывода печатных документов
     ЛокКоллекция.Values("ТипОгрДата"):=0;
     ЛокКоллекция.Values("ТипДатыУнивер"):=0;
    конец;
    
    //Возможно алгоритм будет вызываться из другого алгоритма,
    // поэтому нужно получить раскладку, т.к. стандартно она не передаётся
    если Раскладка =nil тогда Раскладка := Коллекция.Значение(АлгРаскладка);

    // Секция 0. Выдача гарантии
    если ВыполнятьСекцию(Данные, "ГарантииВыданоДо,ГарантииОснДолгКредитДо,ПолученоДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВыданоДо=Credit,ГарантииОснДолгКредитДо=Credit,ПолученоДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 381;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 1. Погашение гарантии
    если ВыполнятьСекцию(Данные, "ГарантииПогашеноДо,ГарантииОснДолгДебетДо,ПогашеноДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииПогашеноДо=Debit,ГарантииОсндолгДебетДо=Debit,ПогашеноДо=Debit,ГарантииВыданоДо=Credit,ГарантииОснДолгКредитДо=Credit,ПолученоДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 382;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 2. Начисление процентов по гарантии
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПроцДо,ГарантииПроцКредитДо,НачисленоПроцДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПроцДо=Credit,ГарантииПроцКредитДо=Credit,НачисленоПроцДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 394;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 3. Начисление пеней по основному долгу
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПениОснДо,ГарантииПениКредитДо,НачисленоПениДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПениОснДо=Credit,ГарантииПениКредитДо=Credit,НачисленоПениДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 395;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 4. Начисление пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПениПроцДо,ГарантииПениКредитДо,НачисленоПениДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПениПроцДо=Credit,ГарантииПениКредитДо=Credit,НачисленоПениДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 396;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 5. Уплата процентов по гарантии
    если ВыполнятьСекцию(Данные, "ГарантииУплаченоПроцДо,ГарантииПроцДебетДо,УплаченоПроцДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииУплаченоПроцДо=Debit,ГарантииПроцДебетДо=Debit,УплаченоПроцДо=Debit,ГарантииНачисленоПроцДо=Credit,ГарантииПроцКредитДо=Credit,НачисленоПроцДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 397;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 6. Уплата пеней по основному долгу по гарантии
    если ВыполнятьСекцию(Данные, "ГарантииУплаченоПениОснДо,ГарантииПениДебетДо,УплаченоПениДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииУплаченоПениОснДо=Debit,ГарантииПениДебетДо=Debit,УплаченоПениДо=Debit,ГарантииНачисленоПениОснДо=Credit,ГарантииПениКредитДо=Credit,НачисленоПениДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 398;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 7. Уплата пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииУплаченоПениПроцДо,ГарантииПениДебетДо,УплаченоПениДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииУплаченоПениПроцДо=Debit,ГарантииПениДебетДо=Debit,УплаченоПениДо=Debit,ГарантииНачисленоПениПроцДо=Credit,ГарантииПениКредитДо=Credit,НачисленоПениДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 399;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 8. Оплата основного долга за заемщика
    если ВыполнятьСекцию(Данные, "ГарантииОплаченоОснДолгДо,ГарантииОснДолгДебетДо,ПогашеноДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииОплаченоОснДолгДо=Debit,ГарантииОснДолгДебетДо=Debit,ПогашеноДо=Debit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 383;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 9. Оплата начисленных процентов за заемщика
    если ВыполнятьСекцию(Данные, "ГарантииОплаченоПроцДо,ГарантииПроцДебетДо,УплаченоПроцДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииОплаченоПроцДо=Debit,ГарантииПроцДебетДо=Debit,УплаченоПроцДо=Debit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 384;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 10. Оплата начисленных пеней по основному долгу
    если ВыполнятьСекцию(Данные, "ГарантииОплаченоПениОснДо,ГарантииПениДебетДо,УплаченоПениДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииОплаченоПениОснДо=Debit,ГарантииПениДебетДо=Debit,УплаченоПениДо=Debit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 385;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 11. Оплата начисленных пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииОплаченоПениПроцДо,ГарантииПениДебетДо,УплаченоПениДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииОплаченоПениПроцДо=Debit,ГарантииПениДебетДо=Debit,УплаченоПениДо=Debit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 386;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 12. Возмещение основного долга заемщиком
    если ВыполнятьСекцию(Данные, "ГарантииВозмещеноОснДолгДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВозмещеноОснДолгДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "390";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    // Секция 13. Возмещение процентов заемщиком
    если ВыполнятьСекцию(Данные, "ГарантииВозмещеноПроцДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВозмещеноПроцДо=Credit",Раскладка );
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "391";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    // Секция 14. Возмещение пеней по осн. долгу
    если ВыполнятьСекцию(Данные, "ГарантииВозмещеноПениОснДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВозмещеноПениОснДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "392";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    // Секция 15. Возмещение пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииВозмещеноПениПроцДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВозмещеноПениПроцДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "393";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    // Секция 16. Списание основного долга
    если ВыполнятьСекцию(Данные, "ГарантииСписаноОснДолгДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииСписаноОснДолгДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "412";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    // Секция 17. Списание процентов
    если ВыполнятьСекцию(Данные, "ГарантииСписаноПроцДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииСписаноПроцДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "413";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    // Секция 18. Списание пеней по основному долгу
    если ВыполнятьСекцию(Данные, "ГарантииСписаноПениОснДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииСписаноПениОснДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "414";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    // Секция 19. Списание пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииСписаноПениПроцДо") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииСписаноПениПроцДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "415";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    
    // Секция 41. Курсовая разница по основному долгу
    если ВыполнятьСекцию(Данные, "ГарантииВыданоДо,ГарантииКурсРазницаОснДолгДо,ГарантииОснДолгКредитДо,КурсРазницаОснДолгДо") тогда
    начало
      Если Данные.НайтиПоле("ГарантииКурсРазницаОснДолгДо", nil) или Данные.FindField("КурсРазницаОснДолгДо", nil)
        тогда Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей +"ГарантииКурсРазницаОснДолгДо=KyrsSumma,КурсРазницаОснДолгДо=KyrsSumma,ГарантииВыданоДо=0,ГарантииОснДолгКредитДо=0", Раскладка)
        иначе Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВыданоДо=Credit,ГарантииОснДолгКредитДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 417;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 42. Курсовая разница по процентам
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПроцДо,ГарантииКурсРазницаПроцДо,ГарантииПроцКредитДо,КурсРазницаПроцДо") тогда
    начало
      Если Данные.НайтиПоле("ГарантииКурсРазницаПроцДо", nil) или Данные.FindField("КурсРазницаПроцДо", nil) 
        тогда Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииКурсРазницаПроцДо=KyrsSumma,КурсРазницаПроцДо=KyrsSumma,ГарантииНачисленоПроцДо=0,ГарантииПроцКредитДо=0", Раскладка)
        иначе Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПроцДо=Credit,ГарантииПроцКредитДо=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 418;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 43. Курсовая разница по пеням
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПениОснДо,ГарантииКурсРазницаПениДо,ГарантииПениКредитДо,КурсРазницаПениДо") тогда
    начало
      Если Данные.НайтиПоле("ГарантииКурсРазницаПениДо", nil) или Данные.FindField("КурсРазницаПениДо", nil)
        тогда Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииКурсРазницаПениДо=KyrsSumma,КурсРазницаПениДо=KyrsSumma,ГарантииНачисленоПениОснДо=0,ГарантииПениКредитДо=0", Раскладка)
        иначе Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПениОснДо=Credit,ГарантииПениКредитДо=Credit", Раскладка); 
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 419;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 
    
    // Секция 49. Плановое погашение гарантии
    если ВыполнятьСекцию(Данные, "ГарантииПогашеноПоПлануДо,ПогашеноПоПлануДо") тогда
    начало
      Маппинг := FixPumpMap(ГарантииПоПлануМаппингПереносаПолей /*+ МаппингГарантии7*/ + мДопКредиты + "ГарантииПогашеноПоПлануДо=Debit,ПогашеноПоПлануДо=Debit,Дата=PlanDate", Данные);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.Значение("ИндексыДанных") := 382;
      ЛокКоллекция.Значение("СПланом") := Истина;
      ЛокКоллекция.Значение("БезДатыПринятия") := Коллекция.Значение("БезДатыПринятия"); 
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ЛокКоллекция.Значение("БезДатыПринятия") := 0;
      ЛокКоллекция.Значение("СПланом") := Ложь;
      Данные.PumpData(ДанныеОднойСекции, Маппинг);
    конец; 

    // Дополнительные расходы до начала периода 
    если ВыполнятьСекцию(Данные, "ГарантииДопРасходыДо,ДопРасходыДо") тогда
    начало
      Маппинг := FixPumpMap(ГарантииМаппингПереносаПолей + мДопКредиты + "ДопРасходы=Credit,ГарантииДопРасходы=Credit", Данные);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.Значение("ИндексыДанных") := 411;
      ПолучитьДопРасходы(ДанныеОднойСекции, ЛокКоллекция);
      Данные.PumpData(ДанныеОднойСекции, Маппинг);
    конец;

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Выборка данных за период
    ЛокКоллекция.Значение("НачальнаяДата") := ЛокКоллекция.Значение("ДатаНачалаПериода");
    ЛокКоллекция.Значение("КонечнаяДата") := ЛокКоллекция.Значение("ДатаКонцаПериода") - Смещение;

    // Секция 20. Выдача гарантии
    если ВыполнятьСекцию(Данные, "ГарантииВыдано,ГарантииОснДолгКредит,Получено,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей +"ГарантииВыдано=Credit,ГарантииОснДолгКредит=Credit,Получено=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 381;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 21. Погашение гарантии
    если ВыполнятьСекцию(Данные, "ГарантииПогашено,ГарантииОснДолгДебет,Погашено,Дебет") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииПогашено=Debit,ГарантииОснДолгДебет=Debit,Погашено=Debit,Дебет=Debit,ГарантииВыдано=Credit,ГарантииОснДолгКредит=Credit,Получено=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 382;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 22. Начисление процентов по гарантии
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПроц,ГарантииПроцКредит,НачисленоПроц,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПроц=Credit,ГарантииПроцКредит=Credit,НачисленоПроц=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 394;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 23. Начисление пеней по основному долгу
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПениОсн,ГарантииПениКредит,НачисленоПени,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПениОсн=Credit,ГарантииПениКредит=Credit,НачисленоПени=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 395;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 24. Начисление пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПениПроц,ГарантииПениКредит,НачисленоПени,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПениПроц=Credit,ГарантииПениКредит=Credit,НачисленоПени=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 396;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 25. Уплата процентов по гарантии
    если ВыполнятьСекцию(Данные, "ГарантииУплаченоПроц,ГарантииПроцДебет,УплаченоПроц,Дебет") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииУплаченоПроц=Debit,ГарантииПроцДебет=Debit,УплаченоПроц=Debit,Дебет=Debit,ГарантииНачисленоПроц=Credit,ГарантииПроцКредит=Credit,НачисленоПроц=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 397;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 26. Уплата пеней по основному долгу по гарантии
    если ВыполнятьСекцию(Данные, "ГарантииУплаченоПениОсн,ГарантииПениДебет,УплаченоПени,Дебет") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+"ГарантииУплаченоПениОсн=Debit,ГарантииПениДебет=Debit,УплаченоПени=Debit,Дебет=Debit,ГарантииНачисленоПениОсн=Credit,ГарантииПениКредит=Credit,НачисленоПени=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 398;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 27. Уплата пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииУплаченоПениПроц,ГарантииПениДебет,УплаченоПени,Дебет") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+"ГарантииУплаченоПениПроц=Debit,ГарантииПениДебет=Debit,УплаченоПени=Debit,Дебет=Debit,ГарантииНачисленоПениПроц=Credit,ГарантииПениКредит=Credit,НачисленоПени=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 399;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 28. Оплата основного долга за заемщика
    если ВыполнятьСекцию(Данные, "ГарантииОплаченоОснДолг,ГарантииОснДолгДебет,Погашено,Дебет") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+ "ГарантииОплаченоОснДолг=Debit,ГарантииОснДолгДебет=Debit,Дебет=Debit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 383;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 29. Оплата начисленных процентов за заемщика
    если ВыполнятьСекцию(Данные, "ГарантииОплаченоПроц,ГарантииПроцДебет,УплаченоПроц,Дебет") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+ "ГарантииОплаченоПроц=Debit,ГарантииПроцДебет=Debit,Дебет=Debit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 384;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 30. Оплата начисленных пеней по основному долгу
    если ВыполнятьСекцию(Данные, "ГарантииОплаченоПениОсн,ГарантииПениДебет,УплаченоПени,Дебет") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+"ГарантииОплаченоПениОсн=Debit,ГарантииПениДебет=Debit,УплаченоПени=Debit,Дебет=Debit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 385;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 31. Оплата начисленных пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииОплаченоПениПроц,ГарантииПениДебет,УплаченоПени,Дебет") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+"ГарантииОплаченоПениПроц=Debit,ГарантииПениДебет=Debit,УплаченоПени=Debit,Дебет=Debit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 386;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 32. Возмещение основного долга заемщиком
    если ВыполнятьСекцию(Данные, "ГарантииВозмещеноОснДолг,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВозмещеноОснДолг=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "390";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;

    // Секция 33. Возмещение процентов заемщиком
    если ВыполнятьСекцию(Данные, "ГарантииВозмещеноПроц,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВозмещеноПроц=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "391";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;

    // Секция 34. Возмещение пеней по осн. долгу
    если ВыполнятьСекцию(Данные, "ГарантииВозмещеноПениОсн,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВозмещеноПениОсн=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "392";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;

    // Секция 35. Возмещение пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииВозмещеноПениПроц,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВозмещеноПениПроц=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "393";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;

    // Секция 36. Списание основного долга
    если ВыполнятьСекцию(Данные, "ГарантииСписаноОснДолг,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииСписаноОснДолг=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "412";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;

    // Секция 37. Списание процентов
    если ВыполнятьСекцию(Данные, "ГарантииСписаноПроц,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииСписаноПроц=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "413";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;

    // Секция 38. Списание пеней по основному долгу
    если ВыполнятьСекцию(Данные, "ГарантииСписаноПениОсн,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииСписаноПениОсн=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "414";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;

    // Секция 39. Списание пеней по процентам
    если ВыполнятьСекцию(Данные, "ГарантииСписаноПениПроц,Кредит") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииСписаноПениПроц=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := "415";
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;

    // Секция 40. Обеспечение гарантий
    если Данные.НайтиПоле("ГарантииСуммаОбеспечения", nil)  или Данные.НайтиПоле("ГарантииНоминальнаяСуммаОбеспечения", nil) тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+ "ГарантииСуммаОбеспечения=Summa,ГарантииНоминальнаяСуммаОбеспечения=NominalSumma,ИмяОбеспечения=Name,ОргСсылкаПоручитель=GuarantOrg_Ref,КодЗаписи=DetID", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 410;
      ПолучитьОбеспечение(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец;
    
    // Секция 44. Курсовая разница по основному долгу
    если ВыполнятьСекцию(Данные, "ГарантииВыдано,ГарантииКурсРазницаОснДолг,ГарантииОснДолгКредит,КурсРазницаОснДолг,Кредит") тогда
    начало
      Если Данные.НайтиПоле("ГарантииКурсРазницаОснДолг", nil) или Данные.FindField("КурсРазницаОснДолг", nil)
        тогда Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+"ГарантииКурсРазницаОснДолг=KyrsSumma,КурсРазницаОснДолг=KyrsSumma,ГарантииВыдано=0,ГарантииОснДолгКредит=0,Кредит=Credit", Раскладка)
        иначе Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииВыдано=Credit,ГарантииОснДолгКредит=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 417;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 
     

    // Секция 45. Курсовая разница по процентам
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПроц,ГарантииКурсРазницаПроц,ГарантииПроцКредит,КурсРазницаПроц,Кредит") тогда
    начало
      Если Данные.НайтиПоле("ГарантииКурсРазницаПроц", nil) или Данные.FindField("КурсРазницаПроц", nil)
        тогда Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+"ГарантииКурсРазницаПроц=KyrsSumma,КурсРазницаПроц=KyrsSumma,ГарантииНачисленоПроц=0,ГарантииПроцКредит=0,Кредит=Credit", Раскладка)
        иначе Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПроц=Credit,ГарантииПроцКредит=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 418;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Секция 46. Курсовая разница по пеням
    если ВыполнятьСекцию(Данные, "ГарантииНачисленоПениОсн,ГарантииКурсРазницаПени,ГарантииПениКредит,КурсРазницаПени,Кредит") тогда
    начало
      Если Данные.НайтиПоле("ГарантииКурсРазницаПени", nil) или Данные.FindField("КурсРазницаПени", nil)
        тогда Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей+"ГарантииКурсРазницаПени=KyrsSumma,КурсРазницаПени=KyrsSumma,ГарантииНачисленоПениОсн=0,ГарантииПениКредит=0,Кредит=Credit", Раскладка)
        иначе Маппинг := FixPumpMapEx(ГарантииМаппингПереносаПолей + "ГарантииНачисленоПениОсн=Credit,ГарантииПениКредит=Credit,Кредит=Credit", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 419;
      ПолучитьЗаимствованияГарантий(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 
    
    // Секция 50. Плановое погашение гарантии
    если ВыполнятьСекцию(Данные, "ГарантииПогашеноПоПлану,ПогашеноПоПлану") тогда
    начало
      Маппинг := FixPumpMapEx(ГарантииПоПлануМаппингПереносаПолей + "ГарантииПогашеноПоПлану=Debit,ПогашеноПоПлану=Debit,Дата=PlanDate", Раскладка);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                                ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));        
      ЛокКоллекция.Значение("ИндексыДанных") := 382;
      ЛокКоллекция.Значение("СПланом") := Истина;
      ЛокКоллекция.Значение("БезДатыПринятия") := 0;
      ПолучитьГарантии(ДанныеОднойСекции, ЛокКоллекция);
      ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, Маппинг, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);    
    конец; 

    // Процентная ставка
    если ВыполнятьСекцию(Данные, "СтавкаПроц,Процент") тогда
    начало
      Маппинг := FixPumpMap(ГарантииМаппингПереносаПолей +  мДопКредиты + "Процент=Percent,СтавкаПроц=Percent", Данные);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.Значение("ИндексыДанных") := 387;
      ПолучитьСтавки(ДанныеОднойСекции, ЛокКоллекция);
      Данные.PumpData(ДанныеОднойСекции, Маппинг);
    конец;
    
    // Ставка пени по осн. долгу
    если ВыполнятьСекцию(Данные, "СтавкаПениОснДолг") тогда
    начало
      Маппинг := FixPumpMap(ГарантииМаппингПереносаПолей +  мДопКредиты + "СтавкаПениОснДолг=Percent", Данные);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.Значение("ИндексыДанных") := 388;
      ПолучитьСтавки(ДанныеОднойСекции, ЛокКоллекция);
      Данные.PumpData(ДанныеОднойСекции, Маппинг);
    конец;

    // Ставка пени по процентам
    если ВыполнятьСекцию(Данные, "СтавкаПениПроц") тогда
    начало
      Маппинг := FixPumpMap(ГарантииМаппингПереносаПолей +  мДопКредиты + "СтавкаПениПроц=Percent", Данные);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.Значение("ИндексыДанных") := 389;
      ПолучитьСтавки(ДанныеОднойСекции, ЛокКоллекция);
      Данные.PumpData(ДанныеОднойСекции, Маппинг);
    конец;

    // Дополнительные расходы за отчетный период
    если ВыполнятьСекцию(Данные, "ГарантииДопРасходы,ДопРасходы") тогда
    начало
      Маппинг := FixPumpMap(ГарантииМаппингПереносаПолей + мДопКредиты + "ДопРасходы=Credit,ГарантииДопРасходы=Credit", Данные);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.Значение("ИндексыДанных") := 411;
      ПолучитьДопРасходы(ДанныеОднойСекции, ЛокКоллекция);
      Данные.PumpData(ДанныеОднойСекции, Маппинг);
    конец;

    // дополнительные договора
    если ВыполнятьСекцию(Данные, "НомерДополнительногоДоговора") тогда
    начало
      Маппинг := FixPumpMap(ГарантииМаппингПереносаПолей + мДопКредиты + ",НомерДополнительногоДоговора=CONTRACTNUMBER", Данные);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.Значение("ИндексыДанных") := 420;
      ПолучитьДоговора(ДанныеОднойСекции, ЛокКоллекция);
      Данные.PumpData(ДанныеОднойСекции, Маппинг);
    конец;

    // Заголовки договоров
    если ВыполнятьСекцию(Данные, "НомерДокумента,Организация,КодДокумента") и ЗакачиватьПустыеДоговора тогда
    начало
      Маппинг := FixPumpMap(ГарантииМаппингПереносаПолей + мДопКредиты, Данные);
      ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(Маппинг, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
      ЛокКоллекция.Значение("ИндексыДанных") := 380;
      ПолучитьЗаголовкиГосДолг(ДанныеОднойСекции, ЛокКоллекция);
      Данные.PumpData(ДанныеОднойСекции, Маппинг);
    конец;

  конец;

начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);      
  ВыполнитьСекцииГарантии(Данные, Ограничения);
конец.
</value>
    <param value="Гарантии" type="3" name="Export">MARAEVA\baranova\27.07.2007 17:09:21</param>
    <param value="Гарантии" type="3" name="version">34.042.01</param>
    <param value="Гарантии" type="3" name="crc32">$20DB061D</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыГарантии.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';

включить "\макросы\отчеты\поддержкаОтчетов.abl";

константы
  nl = #13#10;
  МаппингГарантии1 = 'КодЗаписи=gd.id,КодДокумента=lc.ID,ИндексыДанных=gd.ProgIndex,Район=lc.RegionCLS,Мероприятие=lc.Fact,ДатаВремяСоздания=gd.CreateDate,ДатаВремяИзменения=gd.UpdateDate,';
  МаппингГарантии2 = 'Бюджет=lc.BudgetRef%d,ОргСсылка=lc.Org_Ref,ЛицСчет=lc.FACIALACC_CLS,НомерДок=lc.Number%s,ПолучОргСсылка=oa.Org_Ref,ТипОрг=o.Org_CLS,';
  МаппингГарантии3 = 'Бюджет=gd.BUDGETREF,РСФО=lc.DFAccount,СписокДоговоровПоГарантиям=lc.id,СписокДоговоровПоКредитам=lc.id,ВидЗаим=lc.DebtType,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитамИГарантиям=lc.id,ТипПлатДок=gd.DOCTYPE';
  МаппингГарантии4 = ",Баланс=bac.BalanceCls,БухОперация=gd.BuhOperationCLS%d,ИстВнутрФин=ifs_t.FinSourceValue%l,";
  МаппингГарантии5 = "БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d)";
  
  
функция мДопКредиты: строка;
начало
  Результат :=
    "КредитыИД=id,РекордИндекс=id,ИндексПрограммы=ProgIndex,ИндексДанных=ProgIndex,Автор=CreaterUser,"+
    "Организация=Org_Ref,ДатаУчета=RecordDate,НомерДоговора=Number,ДатаДоговора=DateInput,"+
    "СуммаВВалюте=CurrencySumma,СуммаДоговора=CaptionSumma,ИндексАлгоритма=AlgIndex,ПримечаниеДет=DetNote,";
конец;  

функция ГарантииПоПлануМаппингПереносаПолей : Строка;
начало
  Результат := "КодЗаписи=id,КодДокумента=MasterID,ИндексыДанных=ProgIndex,Регион=RegionCLS,Мероприятие=Fact,ДопИнформация=GuaranteeInfo," +
        "ЛицевойСчет=FacialAcc_CLS,Бюджет=BudgetRef,ОргСсылка=Org_Ref,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate," +
        "РСФО=DFAccount,РСФОИзФинансирования=DFAccountFin,СуммаЗаголовка=CaptionSumma,СуммаЗаголовкаВалюта=CaptionCurrencySumma,Примечание=Note,СуммаВалюта=CurrencySumma,КодВалюты=CurrencyCLS," +
        "БухПроводка=BuhPaymentCLS,НомерДокумента=Number,СчетПолуч=GuaranteeAccRef,ДатаДокумента=DateInput,ДатаОкончанияПлан=DateAmortization,НомерКредитногоДоговора=ContractInfo," +
        "ПодИндексыДанных=SubProgIndex,ВидОбеспечения=CollateralType,ПримечаниеДетализации=DetNote,СчетВозвратаОснДолга=AccRef,ДатаПролонгирования=LongDate," +
        "ВидКредита=DebtType,ВидЗаим=DebtType,СчетУплатыПроцентов=AdditionalAccRef,СчетПолучателяИзФинансирования=AccFin,ТипДокумента=DOCTYPE," + мДопКредиты + 
        "БухОперация=BuhOperationCLS,ИсточникКорКлюч=IFS_CORR,ИсточникКор=IFSValue_Corr,БККредит=CreditDocCLS%s17,БКДебет=DebitDocCLS%s17,"+
        "ЭККредит=CreditDocEK%d,ЭКДебет=DebitDocEK%d,ВидДеятельности=ActivityKind,"+
        "ПланДебетЭК=bacDebitKESR,ПланКредитЭК=bacCreditKESR,БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue," +
        "КодСчетаДебет=DebitCodeAcc70n%s8,КодСчетаКредит=CreditCodeAcc70n%s8,НомерСчетаДебет=DebitNumberAcc70n%s28,НомерСчетаКредит=CreditNumberAcc70n%s28,"+
        "БухСчетДебет=DebitAcc70n%f,БухСчетКредит=CreditAcc70n%f,Баланс=BalanceCls,"+
        "БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,"                 
        "ИсточникВнутрФинансирования=IFS,ИсточникВнутрФинансированияКлюч=ifsid";
конец; 
  
функция ГарантииМаппингПереносаПолей : Строка;
начало
  Результат := ГарантииПоПлануМаппингПереносаПолей + ",Дата=AcceptDate,ДатаПринятия=CaptionAcceptDate,ПримечаниеИзФинансирования=NoteFin,";
конец;

функция ОграничениеПоСостояниюДоговора(Коллекция: IVariables): строка;
переменные
 с1,с2:строка;
начало
  если Коллекция.Значение("ДатаНачалаДоговора") = "" тогда
    Коллекция.Значение("ДатаНачалаДоговора") := (Коллекция.Значение("ДатаНачалаПериода") цел 10000) * 10000;
  если Коллекция.Значение("ДатаКонцаДоговора") = "" тогда
    Коллекция.Значение("ДатаКонцаДоговора") := Коллекция.Значение("ДатаКонцаПериода");
     с1 :=Коллекция.Значение("ДатаКонцаДоговора");
     с2 :=Коллекция.Значение("ДатаНачалаДоговора");  
  Результат :=   " and (lc.DateInput &lt;= " + с1 + ")" + 
    " and ((lc.AcceptDate is null) or (lc.AcceptDate&gt;= " + с2 + "))"+ nl;
конец;

функция ОграничениеПоРСФО: строка;
начало
  Результат := ",РСФО=" + /*ПолучитьКонстантуКэш("", 380, 1, 0)*/ ЦелоеВСтроку(ЦелаяКонстанта(380, 1));
конец;

// Если эта функция выдает истину, то дебет будет помещен в минус кредит
функция ПоместитьДебетВМинусКредит(Коллекция: IVariables): целое;
начало
  Результат := (ЦелаяКонстанта(380, 2) = 1) и (Коллекция.Значение("НеПомещатьДебетВМинусКредит") &lt;&gt; 1);
конец;

// выбрасываем из полей выборки поля credit и  debit т.к. по ним есть группировки(в противном случае неправильно отработает sqloptim)
функция ОптимПоляВыборки(ПоляВыборки:строка):строка;
переменные
 Поля:текст;
 индекс:целое;
начало
  Поля := СоздатьТекст;
  Поля.РазделенноеЗначение := ПоляВыборки;
  Индекс := 0;
  индекс := Поля.Поиск('Credit');
  Пока Индекс&lt;&gt;-1 делать начало
    Поля.Удалить(индекс);
    индекс := Поля.Поиск('Credit');
  конец;
  индекс := Поля.Поиск('Debit');
  Пока Индекс&lt;&gt;-1 делать начало
    Поля.Удалить(индекс);
    индекс := Поля.Поиск('Debit');
  конец;
  
  Результат := Поля.РазделенноеЗначение;
конец;

// запрос бух. фильтра Scheme0Credit без платежных поручений 
функция ЗапросГарантии(Коллекция:IVariables):строка;
переменные
  запрос, комментарий: строка;
  ОгрПоДате,ОгрБазовые: строка;
  ОснСчет,СчетФО: строка;
  ПоляСуммы, ПолеДата: строка;
  ОгрПоНепустымДопБухПроводкам : строка;
начало
  Комментарий := "Cекция гарантий";

  ПолеДата := "gd.AcceptDate";
  если Коллекция.Значение("ДатаУчетаТип") = 1 тогда
    ПолеДата := "gd.RecordDate";

  // Формируем ограничение по дате
  если Коллекция.Значение("СПланом") тогда
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=gd.AcceptDate%d', Коллекция, 'gd.PlanDate')
  иначе
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=gd.AcceptDate%d', Коллекция, ПолеДата);
  
   // Формируем ограничение по классификации
  ОгрБазовые := Ограничение(МаппингГарантии1 + МаппингГарантии2 + МаппингГарантии3 + МаппингГарантии4 + МаппингГарантии5 + ОграничениеПоРСФО,Коллекция) 
    + ОграничениеПоСостояниюДоговора(Коллекция);

  ОснСчет := ПолучитьКонстантуКэш("",-1, 2, 0);
  если ОснСчет="" тогда
    ОснСчет := "Cast( NULL as integer)";

  если УбратьПробелы(Коллекция.Значение("БюджОргСсылка")) &lt;&gt; "" тогда
    ОгрБазовые := ОгрБазовые + " and (1 = 2)";
  если УбратьПробелы(Коллекция.Значение("РаспОргСсылка")) &lt;&gt; "" тогда
    ОгрБазовые := ОгрБазовые + " and (1 = 2)";

  //СчетФО := ПолучитьКонстантуКэш("", 16, 2, 0);
  // Вытаскиваем константу "Счет ФО для гарантий"
  СчетФО := /*ПолучитьКонстантуКэш("", 380, 1, 0)*/ ЦелоеВСтроку(ЦелаяКонстанта(380, 1));
  если СчетФО = "" тогда
    СчетФО := "lc.DFAccount";
  
  если Коллекция.Значение("БезДатыПринятия") = 1 тогда
    ОгрБазовые := ОгрБазовые + "and (gd.AcceptDate is null)";

  ПоляСуммы := "gd.Credit, gd.Debit";
  если ПоместитьДебетВМинусКредит(Коллекция) тогда
  начало
    ПоляСуммы := "(gd.Credit - gd.Debit) Credit, cast(0 as double precision) Debit";
  конец;

  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета") и (Коллекция.values("НеВключатьПустыеБухСчета")=да) тогда
    ОгрПоНепустымДопБухПроводкам := " and (DebitAP.id is not null) and (CreditAP.id is not null) "
  иначе  
    ОгрПоНепустымДопБухПроводкам := "";
  
  // формирование запроса
  Запрос := "Select"+nl+
    "  lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma, lc.CurrencySumma CaptionCurrencySumma, "+nl+
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART, lc.PERIODLENGTH, "+nl+
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE, lc.AcceptDate CaptionAcceptDate,"+nl+
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE, cast(0 as double precision) Summa,"+nl+
    "  lc.PERCENT, lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE,"+nl+
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, " + СчетФО + " DFACCOUNT, lc.ACCREF,"+nl+ 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH,"+nl+ 
    "  gd.ID, gd.BUDGETREF, gd.PROGINDEX, " + ПолеДата + " ACCEPTDATE, gd.PLANDATE,"+nl+
       ПоляСуммы + ","+nl+
    "  gd.SOURCEDOCNUMBER, gd.NOTE DetNote, gd.BUHPAYMENTCLS, gd.DOCTYPE, gd.PERIODSTART, gd.PERIODEND,"+nl+
    "  gd.CURRENCYCLS, gd.CURRENCYSUMMA, gd.SUBRECORDINDEX, gd.SUBPROGINDEX, gd.RECORDDATE,"+nl+
    "  gd.CreaterUser, gd.CreateDate, gd.UpdaterUser, gd.UpdateDate, " +
    "  cast(31 as integer) AlgIndex,FDD.dfaccount dfaccountfin,fdc.usernote notefin, gd.CreaterUser,fdd.AcceptorAccRef AccFin,"+nl+
    //"  (fdd.Credit - fdd.Debit) FinSumma, (ffc.Credit - ffc.Debit) KaznSumma," + nl + 
       СчетФО + " acc1, " + СчетФО + " acc2" + nl +
    // поля для инструкции 70н
    " ,gd.BuhOperationCLS, gd.IFS_CORR, gd.IFS ifsid, mt.ActivityKind, " + nl +
    " bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, " + nl +     
    " CreditAP.ECCLS bacCreditKESR,dfbt.IFS DFBTIFS_Ref," + 
    " DebitAP.ECCLS bacDebitKESR,CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue," + nl +
    " cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +                       
    " cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan," + nl +                       
    " ifscor_t.FinSourceValue IFSValue_Corr,ifs_t.FinSourceValue IFS,DFIFS.FinSourceValue DFIFSValue"+ nl +
       
    "from" + nl +
    "  Guarantee gd" + nl + 
    "  left join LoanCredit lc on (gd.RecordIndex = lc.ID)" + nl +
    "  left join FinDocDetail fdd on (gd.SubRecordIndex = fdd.id) " + nl +
    "  left join FinDocCaption fdc on (fdd.RecordIndex = fdc.id) " + nl + 
    //"  left join FacialFinCaption ffc on (gd.SubRecordIndex = ffc.id)" + nl + 
    "  left join Org_Accounts oa on (oa.id = lc.GuaranteeAccRef)" + nl + 
    "  left join Organizations o on (lc.Org_Ref = o.id)" + nl +
   // таблицы для инструкции 70н
    "  left join dfAccountsBuhTable dfbt on ((dfbt.id=lc.DFAccount)"+Ограничение('Бюджет=dfbt.BudgetRef%d',Коллекция)+")" + nl + 
    "  left join BuhAccCorr bac on (bac.BuhOperationCLS = gd.BuhOperationCLS)" + nl +
    "  left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)" + nl +
    "  left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)" + nl+
    "  left join MeansType mt on (mt.ID = gd.MeansType) " + nl +
    "  left join InnerFinSource ifscor_t on (ifscor_t.ID = gd.IFS_CORR)" + nl +
    "  left join InnerFinSource ifs_t on (ifs_t.ID = gd.IFS)" + nl +
    "  left join InnerFinSource DFIFS on (DFIFS.ID = dfbt.IFS)" + nl +    
    "where "+nl+
    "  (1 = 1) and (lc.ProgIndex=380)"+nl+
    ОгрПоДате+nl+
    ОгрБазовые + nl + 
    ОгрПоНепустымДопБухПроводкам;

  Результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);    
конец;

// запрос бух. фильтра Scheme0Credit без платежных поручений 
функция ЗапросЗаимствованияГарантий(Коллекция:IVariables):строка;
переменные
  запрос, комментарий: строка;
  ОгрПоДате,ОгрБазовые: строка;
  ОснСчет,СчетФО, ПолеДата: строка;
начало
  Комментарий := "Cекция гарантий";

  ПолеДата := "gd.AcceptDate";
  если Коллекция.Значение("ДатаУчетаТип") = 1 тогда
    ПолеДата := "gd.RecordDate";

  // Формируем ограничение по дате
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПринятияТип=gd.AcceptDate', Коллекция, ПолеДата);

   // Формируем ограничение по классификации
  ОгрБазовые := Ограничение(МаппингГарантии1+МаппингГарантии2+МаппингГарантии3 + ОграничениеПоРСФО,Коллекция)
    + ОграничениеПоСостояниюДоговора(Коллекция);

  ОснСчет := ПолучитьКонстантуКэш("",-1, 2, 0);
  если ОснСчет="" тогда
    ОснСчет := "Cast( NULL as integer)";
  СчетФО := ПолучитьКонстантуКэш("", 16, 2, 0);
  если СчетФО = "" тогда
    СчетФО := "lc.DFAccount";
  
  // формирование запроса
  Запрос := "Select"+nl+
    "  lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma,"+nl+
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART, lc.PERIODLENGTH, "+nl+
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE, lc.AcceptDate CaptionAcceptDate,"+nl+
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE, cast(0 as double precision) Summa,"+nl+
    "  lc.PERCENT, lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE,"+nl+
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, " + СчетФО + " DFACCOUNT, lc.ACCREF,"+nl+ 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH,"+nl+ 
    "  gd.ID, gd.BUDGETREF, gd.PROGINDEX, " + ПолеДата + " ACCEPTDATE, gd.PLANDATE, gd.CREDIT, gd.DEBIT,(gd.CREDIT-gd.DEBIT) KyrsSumma,"+nl+
    "  gd.SOURCEDOCNUMBER, gd.NOTE DetNote, gd.BUHPAYMENTCLS, gd.DOCTYPE, gd.PERIODSTART, gd.PERIODEND,"+nl+
    "  gd.CURRENCYCLS, gd.CURRENCYSUMMA, gd.RECORDDATE,"+nl+
    "  cast(31 as integer) AlgIndex, gd.dfaccount dfaccountfin,"+nl+
    //"  (fdd.Credit - fdd.Debit) FinSumma, (ffc.Credit - ffc.Debit) KaznSumma," + nl + 
    "  gd.CreaterUser, gd.CreateDate, gd.UpdaterUser, gd.UpdateDate, " +
       ОснСчет + " acc1, " + ОснСчет + " acc2" + nl +
    "from" + nl +
    "  Debt gd" + nl + 
    "  left join LoanCredit lc on (gd.RecordIndex = lc.ID)" + nl +
    //"  left join FinDocCaption fdc on (gd.RecordIndex = fdc.id)" + nl + 
    //"  left join FacialFinCaption ffc on (gd.SubRecordIndex = ffc.id)" + nl + 
    "  left join Org_Accounts oa on (oa.id = lc.GuaranteeAccRef)" + nl + 
    "  left join Organizations o on (lc.Org_Ref = o.id)" + nl +
    "where "+nl+
    "  (1 = 1) and (lc.ProgIndex=380)"+nl+
    ОгрПоДате+nl+
    ОгрБазовые;

  Результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);    
конец;

функция ПолучитьГарантии(Данные: СтатическиеДанные; Коллекция:IVariables);    
переменные
  ВремДанные : СтатическиеДанные;
начало
  попытка
    // выбрасываем из полей выборки поля credit и  debit т.к. по ним есть группировки(в противном случае неправильно отработает sqloptim)
    //Коллекция.Values("ПоляВыборки") := ОптимПоляВыборки(Коллекция.Values("ПоляВыборки")); 
    //Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex,sum(Credit),sum(Debit)";
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex ";
    ВремДанные := СоздатьСтатическиеДанные;
    ЗакачатьДанныеЗапроса(ВремДанные, ЗапросГарантии(Коллекция), Коллекция);  
    
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос:="";   
    Данные.AssignFields(ВремДанные);
    Данные.Закрыть;
    Данные.Открыть;
    если ВремДанные.НайтиПоле("Credit") &lt;&gt; nil тогда
    начало
      ВремДанные.Filtered := нет;
      ВремДанные.Filter := "(Credit &lt;&gt; 0)";
      ВремДанные.Filtered := да;
      Данные.PumpData(ВремДанные, "Summa=Credit");
    конец;
    
    если ВремДанные.НайтиПоле("Debit") &lt;&gt; nil тогда
    начало
      ВремДанные.Filtered := нет;
      ВремДанные.Filter := "(DEBIT &lt;&gt; 0)";
      ВремДанные.Filtered := да;
      Данные.PumpData(ВремДанные, "Summa=DEBIT");
    конец;
    
    ПроверитьНаПрерыв(Коллекция,Данные);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
    УдалитьОбъект(ВремДанные);
  конец;
конец;

функция ПолучитьЗаимствованияГарантий(Данные: СтатическиеДанные; Коллекция:IVariables);    
переменные
  ВремДанные : СтатическиеДанные;
начало
  попытка
    // выбрасываем из полей выборки поля credit и  debit т.к. по ним есть группировки(в противном случае неправильно отработает sqloptim)
    Коллекция.Values("ПоляВыборки") := ОптимПоляВыборки(Коллекция.Values("ПоляВыборки")); 
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex,sum(Credit),sum(Debit)";
    ВремДанные := СоздатьСтатическиеДанные;
    ЗакачатьДанныеЗапроса(ВремДанные, ЗапросЗаимствованияГарантий(Коллекция), Коллекция);  
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос:="";   
    Данные.AssignFields(ВремДанные);
    Данные.Закрыть;
    Данные.Открыть;
    ВремДанные.Filtered := нет;
    ВремДанные.Filter := "(Credit &lt;&gt; 0)";
    ВремДанные.Filtered := да;
    Данные.PumpData(ВремДанные, "Summa=Credit");
    
    ВремДанные.Filtered := нет;
    ВремДанные.Filter := "(DEBIT &lt;&gt; 0)";
    ВремДанные.Filtered := да;
    Данные.PumpData(ВремДанные, "Summa=DEBIT");
    
    ПроверитьНаПрерыв(Коллекция,Данные);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
    УдалитьОбъект(ВремДанные);
  конец;
конец;

функция ПолучитьБухГарантии70н(Данные: СтатическиеДанные; Коллекция:IVariables);
переменные
  ЛокКоллекция : IVariables;    
начало
  попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);
    
    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;
    CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), ГарантииПоПлануМаппингПереносаПолей + Коллекция.Значение("ДопМаппинг"), nil, Данные);
    //Создавать недостающие поля запросом
    Данные.DefProps("Options") := "+sdoDefaultFields";    
    // выбрасываем из полей выборки поля credit и  debit т.к. по ним есть группировки(в противном случае неправильно отработает sqloptim)
//    ЛокКоллекция.Values("ПоляВыборки") := ОптимПоляВыборки(ЛокКоллекция.Values("ПоляВыборки")); 
//    ЛокКоллекция.Values("ПоляВыборки") := ЛокКоллекция.Values("ПоляВыборки") + ",ProgIndex,sum(Credit) Credit,sum(Debit) Debit";
    Данные.Запрос:="[PumpData]" +ЗапросГарантии(ЛокКоллекция);
    ПолучитьДанные(Данные, ЛокКоллекция);
  
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

константы
  МаппингСвязанныхПолейОбщий1 = "%EС=IFS,IFS_Corr;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=IFS,IFS_Corr,DFBTIFS_Ref;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьБухГарантии(Данные: СтатическиеДанные; Коллекция:IVariables);    
переменные
  поляВыборки: строка;
начало
  Коллекция.Значение("НеПомещатьДебетВМинусКредит") := 1;
  если (позиция( "SUM(",Прописные(Коллекция.Values("ПоляВыборки")))&lt;&gt;0) тогда
    Коллекция.Values("ПоляВыборки"):= Коллекция.Values("ПоляВыборки")+',sum(debit),sum(Credit),sum(summa)'
  иначе 
    Коллекция.Values("ПоляВыборки"):= Коллекция.Values("ПоляВыборки")+',debit,Credit,summa'; 
  // Формируем по 70Н
  поляВыборки := Коллекция.Values("ПоляВыборки");
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4, Коллекция);        
  попытка
    ПолучитьБухГарантии70н(Данные, коллекция);

    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=_,КорВидКлс=_,ВидДеятельности=ActivityKind,'+
      'КВСР=_,КЦСР=_,КФСР=_,КВР=_,КЭСР=_,'+ 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,'+
      'ИВФКлюч=IFS,КорИВФКлюч=IFS_CORR,КД=_,КорКД=_,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=Progindex,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=DFBTIFS_Ref,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредитКлюч=DFBTIFS_Ref,'+
      'БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,СуммаПрямойОперации=Credit,СуммаВозвратнойОперации=Debit,'+
      'БухОперация=BuhOperationCLS',
      Данные,'4','2',коллекция);
    Данные.Фильтр := '';
  обязательно
    Коллекция.Values("ПоляВыборки") := поляВыборки;
  конец;
конец;
</value>
    <param value="ЗапросыГарантии.abl" type="3" name="Export">MARAEVA\baranova\27.07.2007 17:09:16</param>
    <param value="ЗапросыГарантии.abl" type="3" name="version">34.042.01</param>
    <param value="ЗапросыГарантии.abl" type="3" name="crc32">$7A9EC3B9</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыГосДолгЗаголовок.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\Отчеты\поддержкаОтчетов.abl';
включить '\макросы\Запросы\ЗапросыКредиты2.abl';


константы
  nl = #13#10;
  МаппингКредиты = 'Район=lc.RegionCLS,Мероприятие=lc.Fact,ЛицСчет=lc.FacialAcc_CLS,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитам=lc.id,ОргСсылка=lc.Org_Ref,Бюджет=lc.BudgetRef,СписокДоговоровПоКредитамИГарантиям=lc.id,';


функция ЗапросЗаголовкиГосдолг(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, Ограничения2, ДатаСтрокой, ПолеДаты: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция заголовки кредитов и ссуд");
  

  Ограничения := Ограничение(МаппингКредиты + "ИндексыДанных=lc.ProgIndex", Коллекция);
    
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";

  
  Результат :=   " select lc.id, lc.id MasterID, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma," + nl
               + " lc.ProgIndex, lc.BUDGETREF CaptionBUDGETREF, lc.Org_Ref, lc.Note, lc.CONTRACTTYPE," + nl
               + " lc.PeriodStart CaptionPeriodStart, lc.PERIODLENGTH, lc.CREATERUSER CaptionCREATERUSER, lc.CREATEDATE CaptionCREATEDATE," + nl
               + " lc.UPDATERUSER CaptionUPDATERUSER, lc.UPDATEDATE CaptionUPDATEDATE, lc.LONGDATE, lc.AcceptDate CaptionAcceptDate, " + nl
               + " lc.YearType, lc.RegionCLS CaptionRegionCLS, lc.Fact CaptionFact, lc.FacialAcc_CLS CaptionFacialAcc_CLS, lc.LOANTYPE, lc.DebtType, " + nl
               + " lc.CurrencySumma CaptionCurrencySumma, lc.CurrencyCLS CaptionCurrencyCLS, " + nl
               + " lc.CBPERCENTRATE, lc.CBFINERATE, lc.CBFINEPERCENTRATE, lc.PERCENT," + nl
               + " lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl
               + " lc.PAYPERCENTPERIODLENGTH, lc.DocBase, cast(4 as integer) AlgIndex, lc.GUARANTEEKIND," + nl
               + " lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT CaptionDFACCOUNT," + nl
               + " lc.AccRef CaptionAccRef, lc.ADDITIONALACCREF, lc.CONTRACTINFO " + nl
               + " from LoanCredit lc" + nl
               + " where (1 = 1)" + nl
               + Ограничения;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Заголовки кредитов и ссуд */ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

функция ПолучитьЗаголовкиГосДолг(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.DestroyFields;
  
  Данные.Запрос := ЗапросЗаголовкиГосДолг(Коллекция);
  ПолучитьДанные(Данные, Коллекция);
конец;
</value>
    <param value="ЗапросыГосДолгЗаголовок.abl" type="3" name="version">34.042.01</param>
    <param value="ЗапросыГосДолгЗаголовок.abl" type="3" name="crc32">$F6C1502F</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыДопРасходы.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\Отчеты\поддержкаОтчетов.abl';
включить '\макросы\Запросы\ЗапросыКредиты2.abl';


константы
  nl = #13#10;
  МаппингКредиты = 'Район=lc.RegionCLS,Мероприятие=lc.Fact,ЛицСчет=lc.FacialAcc_CLS,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитам=lc.id,ОргСсылка=lc.Org_Ref,Бюджет=lc.BudgetRef,СписокДоговоровПоКредитамИГарантиям=lc.id,';


функция ЗапросДопРасходы(Коллекция: IVariables): строка;
переменные
  Комментарий: строка;
  Ограничения, ПолеДаты: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция дополнительные расходы");
  
  ПолеДаты := "fdd.AcceptDate";
  если Коллекция.Значение("ДатаУчетаТип") = 1 тогда
    ПолеДаты := "fdd.RecordDate";

  Ограничения := Ограничение(МаппингКредиты + "ИндексыДанных=fdd.ProgIndex,КодЗаписи=fdd.id", Коллекция);

  если Коллекция.Значение("ОгрПоДатеУчета") или (Коллекция.Значение("ДатаУчетаТип") = 1) тогда
    Ограничения := Ограничения + СформироватьОграниченияПоДатам("fdd.RecordDate", "", Коллекция)
  иначе
    если Коллекция.Значение("СПлатежками") = 1 тогда
    начало
      ПолеДаты := "pd.AcceptDate";
      Ограничения := Ограничения + " and (fdd.DocType between 1010 and 1019)";
      Ограничения := Ограничения + СформироватьОграниченияПоДатам("pd.AcceptDate", "", Коллекция)
    конец
    иначе начало
      Ограничения := Ограничения + " and not (fdd.DocType between 1010 and 1019)";
      Ограничения := Ограничения + СформироватьОграниченияПоДатам(ПолеДаты, "", Коллекция);
    конец;
    
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    Ограничения := Ограничения + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";

 // если печатный документ  - убиваем всякие левые ограничения
 Если Коллекция.Значение('ПечатныйДокумент')
   тогда Ограничения := Ограничение("КодЗаписи=fdd.id", Коллекция);

  
  Результат :=   " select lc.id, lc.Number, lc.DateInput, lc.DateAmortization, lc.Summa CaptionSumma," + nl
               + " lc.ProgIndex CaptionProgIndex, lc.BUDGETREF CaptionBUDGETREF, lc.Org_Ref, lc.Note, lc.CONTRACTTYPE," + nl
               + " lc.PeriodStart CaptionPeriodStart, lc.PERIODLENGTH, lc.CREATERUSER CaptionCREATERUSER, lc.CREATEDATE CaptionCREATEDATE," + nl
               + " lc.UPDATERUSER CaptionUPDATERUSER, lc.UPDATEDATE CaptionUPDATEDATE, lc.LONGDATE, lc.AcceptDate CaptionAcceptDate, " + nl
               + " lc.YearType, lc.RegionCLS CaptionRegionCLS, lc.Fact CaptionFact, lc.FacialAcc_CLS CaptionFacialAcc_CLS, lc.LOANTYPE, lc.DebtType, " + nl
               + " lc.CurrencySumma CaptionCurrencySumma, lc.CurrencyCLS CaptionCurrencyCLS, " + nl
               + " lc.CBPERCENTRATE, lc.CBFINERATE, lc.CBFINEPERCENTRATE, lc.PERCENT," + nl
               + " lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl
               + " lc.PAYPERCENTPERIODLENGTH, lc.DocBase, cast(4 as integer) AlgIndex, lc.GUARANTEEKIND," + nl
               + " lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT CaptionDFACCOUNT," + nl
               + " lc.AccRef CaptionAccRef, lc.ADDITIONALACCREF, lc.CONTRACTINFO, " + nl
               + " fdd.ID DetID, fdd.KFSR, fdd.KCSR, fdd.KVSR, fdd.KVR, fdd.KESR, fdd.SUBKESR, " + nl
               + " fdd.Fact, fdd.FINSOURCE, fdd.RegionCLS, fdd.DOCTYPE, fdd.FINTYPE, fdd.CurrencyCLS," + nl
               + " fdd.MEANSTYPE, fdd.DFACCOUNT, fdd.AccountRef AccRef, fdd.PLANDATE," + nl
               + " fdd.BUDGETREF, fdd.Summa, fdd.CurrencySumma, (fdd.Credit-fdd.Debit) Credit, " + nl
               + " fdd.Debit, fdd.Note DetNote, fdd.USERFLAG, fdd.SourceDocNum SourceDocNumber, " + nl
               + " fdd.ProgIndex, fdd.RecordIndex, fdd.CREATERUSER, fdd.CREATEDATE, fdd.UPDATEDATE, " + nl
               + " fdd.UPDATERUSER, fdd.AcceptorAccRef, fdd.FacialAcc_CLS, fdd.RECORDINDEX2, " + nl
               + " fdd.PROMISE, fdd.BuhPaymentCLS, fdd.REQUESTSINDEX, fdd.RECORDINDEX3," + nl
               + " fdd.RecordDate, fdd.TOTALREF, fdd.DOCUMENTBASETYPE, fdd.TAXNOTE," + nl
               + " 0 SubKD," + nl // СубКД не стирать!!!
               + ПолеДаты + " AcceptDate " + nl               
               + " from FinDocDetail fdd" + nl
               + " left join LoanCredit lc on (lc.id = fdd.RecordIndex)" + nl
               + " left join PayDoc32 pd on (pd.RecordIndex = fdd.id)" + nl
               + " where (1 = 1)" + nl
               + Ограничения;

               
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Результат := "[PumpData] " + nl
               + " { /* Дополнительные расходы */ " + nl
               + SQLOptim(Результат, Коллекция.Значение("ПоляВыборки"), "@")
               + "}"; 
конец;

функция ПолучитьДопРасходы(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
начало
  Данные.Clear;
  Данные.Закрыть;
  Данные.DestroyFields;
  
  Коллекция.Значение("СПлатежками") := 0;
  ВспомСД := СоздатьСтатическиеДанные;
  ВспомСД.Запрос := ЗапросДопРасходы(Коллекция);
  ПолучитьДанные(ВспомСД, Коллекция);
  
  Данные.ПрисвоитьПоля(ВспомСД);
  Данные.Запрос := "";
  Данные.Открыть;
  Данные.Закачать(ВспомСД);
  
  если Коллекция.Значение("ДатаУчетаТип") = 0 тогда
  начало
    ВспомСД.Закрыть;
    Коллекция.Значение("СПлатежками") := 1;
    ВспомСД.Запрос := ЗапросДопРасходы(Коллекция);
    ПолучитьДанные(ВспомСД, Коллекция);
    Данные.Закачать(ВспомСД);
  конец;
конец;
</value>
    <param value="ЗапросыДопРасходы.abl" type="3" name="Export">MARAEVA\baranova\27.07.2007 17:06:49</param>
    <param value="ЗапросыДопРасходы.abl" type="3" name="version">34.042.01</param>
    <param value="ЗапросыДопРасходы.abl" type="3" name="crc32">$5EE1F6BB</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыДоговора.abl">// НПО Криста, 09.12.2005
// Зимичев Дмитрий
// Запрос для извлечения дополнительных договоров для кредитов и гарантий 
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\Запросы\ЗапросыКредиты2.abl";

константы
  nl = #13#10;
  МаппингСтавки1 = 'КодЗаписи=lcc.id,КодДокумента=lc.ID,ИндексыДанных=lcc.ProgIndex,Район=lc.RegionCLS,Мероприятие=lc.Fact,ДатаПринятия=lc.AcceptDate,';
  МаппингСтавки2 = 'Бюджет=lc.BudgetRef%d,ОргСсылка=lc.Org_Ref,Мероприятие=lc.Fact,ЛицСчет=lc.FACIALACC_CLS,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитамИГарантиям=lc.id,';

функция ЗапросДоговора(Коллекция: IVariables): строка;
переменные
  Запрос, Комментарий, Ограничения, ОсновнойСчет: строка;
начало
  // Получаем коментарий запроса
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Дополнительные договора");

   // Формируем ограничение по классификации
  Ограничения := Ограничение(МаппингСтавки1 + МаппингСтавки2, Коллекция);

  если УбратьПробелы(Коллекция.Значение('НомерДок')) &lt;&gt; '' тогда
    Ограничения := Формат('%s and (lc.Number = "%s")', Ограничения, Коллекция.Значение('НомерДок'));

  ОсновнойСчет := ПолучитьКонстантуКэш("", -1, 2, 0);
  если ОсновнойСчет = '' тогда
    ОсновнойСчет := 'Cast( NULL as integer)';
    
  Ограничения := Ограничения + СформироватьОграничениеПоСостояниюДоговора(Коллекция);  
  
  // Обязательно разобраться с ДетИД и МастерИД
  
  // формирование запроса
  Запрос := 
    "Select" + nl +
    "  lc.ID, lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma," + nl +
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART CaptionPeriodStart, lc.PERIODLENGTH, " + nl +
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE," + nl +
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE," + nl +
    "  lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl +
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT, lc.ACCREF," + nl + 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH," + nl + 
    "  lcc.ID DetID, lcc.PROGINDEX, lcc.ContractNumber, lcc.ContractDate, lcc.EndDate AcceptDate, lc.AcceptDate CaptionAcceptDate, " + nl +
    "  lcc.ContractType, lcc.NOTE DetNote," + nl +
       ОсновнойСчет + " acc1, " + ОсновнойСчет + " acc2" + nl +
    "from" + nl +
    "  LoanCreditContracts lcc" + nl + 
    "  inner join LoanCredit lc on (lcc.RecordIndex = lc.ID)" + nl +
    "where " + nl +
    "  (1 = 1)" + nl +
    Ограничения;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; '' тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), "@"); 
  
  результат := '/*' + Комментарий + '*/' + nl + Запрос;
конец;

функция ПолучитьДоговора(Данные: СтатическиеДанные; Коллекция:IVariables);    
начало
  попытка
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex";
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := Формат('[PumpData]{%s}', ЗапросДоговора(Коллекция));
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values('КоментарийСекции') := '';
  конец;
конец;
</value>
    <param value="ЗапросыДоговора.abl" type="3" name="Export">DIMAN2\dzimitchev\09.12.2005 16:58:06</param>
    <param value="ЗапросыДоговора.abl" type="3" name="version">34.042.01</param>
    <param value="ЗапросыДоговора.abl" type="3" name="crc32">$67EFC699</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыОбеспечение.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\Запросы\ЗапросыКредиты2.abl";
включить "\макросы\Запросы\ЗапросыСсуды.abl";

константы
  nl = #13#10;
  МаппингОбеспечение1 = 'КодЗаписи=co.id,КодДокумента=lc.ID,ИндексыДанных=co.ProgIndex,Район=lc.RegionCLS,Мероприятие=lc.Fact,ТипОбеспечения=co.CollateralType%d,';
  МаппингОбеспечение2 = 'Бюджет=lc.BudgetRef%d,ОргСсылка=lc.Org_Ref,Мероприятие=lc.Fact,ЛицСчет=lc.FACIALACC_CLS,ВидЗаим=lc.DebtType,ВидСсуды=lc.LoanType%d,ТипОрг=o.Org_CLS%d,';
  МаппингОбеспечение3 = 'Бюджет=co.BUDGETREF,СписокДоговоровПоКредитамИГарантиям=lc.id,СписокДоговоровПоКредитам=lc.id,СписокДоговоровПоГарантиям=lc.id,СписокДоговоровПоСсудам=lc.id';

// 
функция ЗапросОбеспечение(Коллекция: IVariables): строка;
переменные
  запрос, комментарий: строка;
  ОгрБазовые: строка;
  Прогресс: IProgress;
  ОснСчет: строка;
начало
  // Получаем коментарий запроса
  Комментарий := Коллекция.Values('КоментарийСекции');
  если (УбратьПробелы(Комментарий) = '') тогда
    начало
      Комментарий := 'Cекция обеспечение гарантий и кредитов';
    конец иначе
    начало
      Коллекция.Values('КоментарийСекции') := '';
    конец;
  // отображаем комментарий на Progress`e
  Прогресс := Progress;
  Прогресс.SetMessage(Комментарий);
  Прогресс.SetProgress(0);

   // Формируем ограничение по классификации
  ОгрБазовые := Ограничение(МаппингОбеспечение1 + МаппингОбеспечение2 + МаппингОбеспечение3, Коллекция);

  ОснСчет := ПолучитьКонстантуКэш("",-1, 2, 0);
  если ОснСчет="" тогда
    ОснСчет := "Cast( NULL as integer)";

  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    ОгрБазовые := ОгрБазовые + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";
  
  ОгрБазовые := ОгрБазовые + СформироватьОграничениеПоСостояниюДоговора(Коллекция); 
  ОгрБазовые := ОгрБазовые + СформироватьОграничениеПоСостояниюДоговоров(Коллекция); 

  // формирование запроса
  Запрос := "Select" + nl +
    "  lc.id id, lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma," + nl +
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART CaptionPeriodStart, lc.PERIODLENGTH, " + nl +
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE," + nl +
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE," + nl +
    "  lc.PERCENT, lc.FINE, lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl +
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT, lc.ACCREF," + nl + 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH," + nl + 
    "  co.ID DetID, co.BUDGETREF, co.PROGINDEX, co.SUMMA, co.NOMINALSUMMA, co.ORG_REF GuarantOrg_Ref," + nl +
    "  co.RECORDINDEX, co.COLLATERALTYPE, co.NAME, co.NOTE DetNote,"
    "  co.CURRENCYCLS, co.CURRENCYSUMMA," + nl +
       ОснСчет + " acc1, " + ОснСчет + " acc2" + nl +
    "from" + nl +
    "  Collateral co" + nl + 
    "  inner join LoanCredit lc on (co.RecordIndex = lc.ID)" + nl +
    "  left join Organizations o on (o.id = lc.Org_Ref)" + nl +
    "where " + nl +
    "  (1 = 1)" + nl +
    ОгрБазовые;

  если Коллекция.Values("ПоляВыборки")&lt;&gt;"" тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), "@"); 
  
  результат := "{/*" + комментарий + "*/" + nl + запрос + "}";
конец;

функция ПолучитьОбеспечение(Данные: СтатическиеДанные; Коллекция:IVariables);    
начало
  попытка
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex,Credit,Debit";
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]" + ЗапросОбеспечение(Коллекция);
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыОбеспечение.abl" type="3" name="Export">MARAEVA\baranova\27.07.2007 16:54:44</param>
    <param value="ЗапросыОбеспечение.abl" type="3" name="version">34.042.01</param>
    <param value="ЗапросыОбеспечение.abl" type="3" name="crc32">$B228BDB2</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыСтавки.abl">// НПО Криста, 09.06.2004
// Ефименков Алексей
// Запрос для извлечения ставок процентов и пеней для кредитов, ссуд и гарантиев
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\Запросы\ЗапросыКредиты2.abl";

константы
  nl = #13#10;
  МаппингСтавки1 = 'КодЗаписи=pj.id,КодДокумента=lc.ID,ИндексыДанных=pj.ProgIndex,Район=lc.RegionCLS,Мероприятие=lc.Fact,ДатаПринятия=lc.AcceptDate,';
  МаппингСтавки2 = 'Бюджет=lc.BudgetRef%d,ОргСсылка=lc.Org_Ref,Мероприятие=lc.Fact,ЛицСчет=lc.FACIALACC_CLS,ВидЗаим=lc.DebtType,СписокДоговоровПоКредитамИГарантиям=lc.id,';

функция ЗапросСтавки(Коллекция: IVariables): строка;
переменные
  запрос, комментарий: строка;
  ОгрБазовые, ОгрПоследняяСтавка: строка;
  ОснСчет: строка;
начало
  // Получаем коментарий запроса
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Ставки процентов/пени");

   // Формируем ограничение по классификации
  ОгрБазовые := Ограничение(МаппингСтавки1 + МаппингСтавки2, Коллекция);

  если УбратьПробелы(Коллекция.Значение("НомерДок")) &lt;&gt; "" тогда
    ОгрБазовые := ОгрБазовые + " and (lc.Number = '" + Коллекция.Значение("НомерДок") + "')";

  ОснСчет := ПолучитьКонстантуКэш("",-1, 2, 0);
  если ОснСчет = "" тогда
    ОснСчет := "Cast( NULL as integer)";
  ОгрБазовые := ОгрБазовые + СформироватьОграничениеПоСостояниюДоговора(Коллекция);
  
  если Коллекция.Значение("ПоследняяСтавка") = 1 
    тогда ОгрПоследняяСтавка := " and (pj.IsLast = 1) "
    иначе ОгрПоследняяСтавка := "";    
  
  // Обязательно разобраться с ДетИД и МастерИД
  
  // формирование запроса
  Запрос := "Select" + nl +
    "  lc.ID, lc.ID MasterID, lc.NUMBER, lc.DATEINPUT, lc.DATEAMORTIZATION, lc.SUMMA CaptionSumma," + nl +
    "  lc.BUDGETREF, lc.ORG_REF, lc.NOTE, lc.CONTRACTTYPE, lc.PERIODSTART CaptionPeriodStart, lc.PERIODLENGTH, " + nl +
    "  lc.LONGDATE, lc.YEARTYPE, lc.REGIONCLS, lc.FACT, lc.FACIALACC_CLS, lc.LOANTYPE," + nl +
    "  lc.DEBTTYPE, lc.CURRENCYCLS, lc.CBPERCENTRATE, lc.CBFINERATE," + nl +
    "  lc.RETURNSTARTDATE, lc.RETURNPERIODLENGTH, lc.PAYPERCENTSTARTDATE," + nl +
    "  lc.DOCBASE, lc.GUARANTEEACCREF, lc.ContractINFO, lc.EXECUTEPERIOD, lc.DFACCOUNT, lc.ACCREF," + nl + 
    "  lc.ADDITIONALACCREF, lc.GUARANTEEKIND, lc.CBFINEPERCENTRATE, lc.PAYPERCENTPERIODLENGTH," + nl + 
    "  pj.ID DetID, pj.PROGINDEX, pj.Percent, pj.AcceptDate, lc.AcceptDate CaptionAcceptDate, " + nl +
    "  pj.RECORDINDEX, pj.NOTE DetNote," + nl +
       ОснСчет + " acc1, " + ОснСчет + " acc2" + nl +
    "from" + nl +
    "  PercentJournal pj" + nl + 
    "  inner join LoanCredit lc on (pj.RecordIndex = lc.ID)" + nl +
    "where " + nl +
    "  (1 = 1)" + nl +
    ОгрБазовые + nl + 
    ОгрПоследняяСтавка;

  если Коллекция.Values("ПоляВыборки")&lt;&gt;"" тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), "@"); 
  
  результат := "{/*" + комментарий + "*/" + nl + запрос + "}";
конец;

функция ПолучитьСтавки(Данные: СтатическиеДанные; Коллекция:IVariables);    
начало
  попытка
    Коллекция.Values("ПоляВыборки") := Коллекция.Values("ПоляВыборки") + ",ProgIndex";
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]" + ЗапросСтавки(Коллекция);
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыСтавки.abl" type="3" name="Export">MARAEVA\baranova\27.07.2007 16:54:33</param>
    <param value="ЗапросыСтавки.abl" type="3" name="version">34.042.01</param>
    <param value="ЗапросыСтавки.abl" type="3" name="crc32">$5295B59D</param>
  </node>
  <version_info>
    <file>Сборка(35)СетиИШтаты.xml</file>
    <version>36.042.03</version>
    <info>Отчеты по сетям и штатам</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:53</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыСетиИШтаты.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
константы
  nl = #13#10;
  МаппингСетиИШтаты1 = 'КФСР=t.KFSR,КВСР=t.KVSR,КЦСР=t.KCSR,КВР=t.KVR,СубКЦСР=t.SubKCSR,Направление=t.DirectionCLS,Район=t.RegionCLS,ПолучРССсылка=t.Acc_Ref,Пользователь=t.CreaterUser%s,';
  МаппингСетиИШтаты2 = 'Бюджет=t.BudgetRef,ОргСсылка=oa.Org_ref,РССсылка=t.Acc_Ref,КодДокумента=t.id,КодЗаписи=d.id,КСШК=d.KSHK,ДатаВремяСоздания=d.CreateDate,ДатаВремяИзменения=d.UpdateDate';
  
функция ЗапросСетиИШтаты(Коллекция:IVariables) : строка;
переменные
  НачДата, КонДата: строка;
  // перенные для формирования ограничений
  ОгрПоДате, ГодКвартал: строка;
  ОгрПоКлассификации: строка;
  Месяц, Год : целое;
  Комментарий: строка;
  Запрос: Строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, 'Запрос Взаимозачеты.');
  // формируем ограничение по дате следующим образом 
  // если Квартал и Год не заданы, пытаемся сформировать ограничение по диапазону дат (от НачальнаяДата по КонечнаяДата )
  // Если они тоже не определены, то пытаемся сформировать ограничение с начала года по ОднаДата
  // если ОднаДата тоже не определена, то выдаем ошибку
  
  // Сначала пытаемся сформировать ограничение по Кварталу и Году
  ОгрПоДате := "";
  ГодКвартал := "";
  Если (УбратьПробелы(Коллекция.Values("Год")) &lt;&gt; "")или(УбратьПробелы(Коллекция.Values("Квартал")) &lt;&gt; "") тогда
  начало
     Если  Коллекция.Values("Квартал")&lt;&gt;0 тогда
      ГодКвартал := "and(t.Quarter = "+строка(Коллекция.Values("Квартал"))+")and(t.Year = "+строка(Коллекция.Values("Год"))+")"
     иначе
      ГодКвартал := "and(t.Year = "+строка(Коллекция.Values("Год"))+")"
  конец;
  попытка
    ОгрПоДате := ГодКвартал + ПолучитьОграничениеПоТипуДаты("ДатаВвода=t.InputDate", Коллекция, "t.InputDate");
  неудача
    ОгрПоДате := ГодКвартал;
  конец;  
    
  //Формируем ограничение по классификаторам
  ОгрПоКлассификации := Ограничение(МаппингСетиИШтаты1 + МаппингСетиИШтаты2,Коллекция);  
    
  // настраиваем запрос
  запрос := 
     "Select "+nl+
     " t.Id CptId, t.INPUTDATE, t.ACC_REF, t.REGIONCLS, t.BUDGETREF, t.YEAR, t.QUARTER, t.KFSR," +nl+
     " t.KVSR, t.KCSR, t.KVR, t.SUBKCSR, t.DirectionCLS, d.Id DetId, Cast(35 as integer) AlgIndex,Cast(306 as integer) ProgIndex," +nl+
     " d.KSHK, d.SUMMA, d.CREATERUSER,d.CreateDate,d.UpdateDate"+nl+ //,
     "from "+nl+
     " orStaffDetail d"+nl+
     " left join orStaffTitle t on (d.Title_ref=t.id) "+nl+
     " left join Org_Accounts oa on (oa.ID = t.Acc_Ref) "+nl+
     "where "+nl+
     "  (1=1)"+nl+
     ОгрПоКлассификации+nl+
     ОгрПоДате;

  Результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);   
конец;

функция ПолучитьСетиИШтаты(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  Запрос : Строка;
начало
  попытка
    // формируем SQL-запрос
    Запрос := "[PumpData]" + ЗапросСетиИШтаты(Коллекция);
    ЗакачатьДанныеЗапроса(Данные, Запрос, Коллекция);  
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыСетиИШтаты.abl" type="3" name="version">36.042.03</param>
    <param value="ЗапросыСетиИШтаты.abl" type="3" name="crc32">$2F6FB358</param>
  </node>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="СетиИШтаты">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить 'Бюджет\Ресурсы\Библиотеки\Variables.lib';
включить "Бюджет\Ресурсы\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "Бюджет\Ресурсы\Макросы\Запросы\ЗапросыСетиИШтаты.abl";


СетиИШтаты(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  ТекстПараметров: IVariables;
  ДанныеОднойСекции : статическиеДанные;
  Год, НачальныйКвартал, КонечныйКвартал, Квартал, День: целое;
  Коллекция, ЛокКоллекция: IVariables;
  ПостоянныйМаппингСетиИШтаты, МаппингСекции: строка;
  ОграниченияПоДатам:IDataLimit;
  Раскладка : ITableInfoX;
  МаппингГиперТекст : Строка;
константы
  МаппингСетиИШтаты1 = "ДатаВвода=INPUTDATE,СчетПолуч=ACC_REF,СчетРаспорядителя=Acc_Ref,Регион=REGIONCLS,КодБюджета=BUDGETREF,Год=YEAR,Квартал=QUARTER,";
  МаппингСетиИШтаты2 = "КФСР=KFSR,КВСР=KVSR,КЦСР=KCSR,КВР=KVR,СубКЦСР=SUBKCSR,Направление=DirectionCLS,КодДокумента=CptID,КодЗаписи=DetID,КСШК=KSHK,";
  МаппингСетиИШтаты3 = "Автор=CREATERUSER,ИндексыДанных=ProgIndex,ИндексАлгоритма=AlgIndex,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate";   

  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';   
    
начало
  Коллекция := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  ПостоянныйМаппингСетиИШтаты := FixPumpMapEx(МаппингСетиИШтаты1+МаппингСетиИШтаты2+МаппингСетиИШтаты3, Раскладка);
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  
  Если Не НадоВыполнятьАлгоритм(35, ЛокКоллекция) тогда выход;
  
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст; 

  данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();

  //В ограничениях по датам не надо учитывать Год и Квартал т. к. есть отдельные поля в алгоритме
  //и эти ограничения надо накладывать на них.
  Год := Коллекция.Значение("Год");
  Квартал := Коллекция.Значение("Квартал");
  Коллекция.Значение("Год") := "";
  Коллекция.Значение("Квартал") := "";
  
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(Коллекция);
  
  Год := Коллекция.Значение("Год");
  Квартал := Коллекция.Значение("Квартал");
    
//  Секция 1. Сети и штаты на конец периода
  Если ВыполнятьСекцию(данные,"СетиИШтатыНаКонецПериода")тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Сети и штаты 1.Сети и штаты на конец периода';
    попытка
      ЛокКоллекция.Значение("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
      ЛокКоллекция.Значение("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    неудача
    конец;
    МаппингСекции := ПостоянныйМаппингСетиИШтаты+","+FixPumpMapex("СетиИШтатыНаКонецПериода=SUMMA",Раскладка);
    ЛокКоллекция.values("ПоляВыборки") :=ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                            ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));
            
    // производим выборку данных
    ПолучитьСетиИШтаты(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

//  Секция 2. Сети и штаты на начало периода
  Если ВыполнятьСекцию(данные,"СетиИШтатыНаНачПериода")тогда 
  начало
    ЛокКоллекция.Clear;
    ЛокКоллекция.PumpData(Коллекция);
    Если ЛокКоллекция.values("Квартал") &lt;&gt; "" тогда
      ЛокКоллекция.values("Квартал") := ЛокКоллекция.values("Квартал") - 1;
    попытка  
      ЛокКоллекция.Значение("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
      ЛокКоллекция.Значение("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    неудача
    конец;    
    ЛокКоллекция.values("КоментарийСекции") := 'Сети и штаты 2.Сети и штаты на начало периода'; 
    // производим выборку данных
    ПолучитьСетиИШтаты(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

  Интерфейс(ЛокКоллекция).Освободить;
  интерфейс(ДанныеОднойСекции).Освободить;
конец.
</value>
    <param value="СетиИШтаты" type="3" name="version">36.042.03</param>
    <param value="СетиИШтаты" type="3" name="crc32">$6CCA486E</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">35010100</V>
            <V N="Name">Сети и Штаты</V>
            <V N="Params">Бюджет,Даты,Год,Классификаторы,КФСР,КВСР,КЦСР,КВР,СубКЦСР,КСШК,Район,ТипОрг,ТипСчета,Организация,ИНН,КПП,РС</V>
            <V N="Template">(35.01.01) сети и штаты.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.03</param>
  </node>
  <version_info>
    <file>Сборка(39)Делопроизводство.xml</file>
    <version>36.042.01</version>
    <info>Отчеты по делопроизводству</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:54</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Делопроизводство">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыДелопроизводство.abl";

АлгоритмДелопроизводство(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Раскладка : ITableInfoX;
  Данные : СтатическиеДанные;
константы
  Маппинг1 = "  ГрифИмя=GrifName, РезолюцияИмя=ResolutionName, КорреспондентИмя=CorrespondentName, ОтделИмя=OtdelName";
  Маппинг2 = ", ИсполнительИмя=ExecutorName, ИсполнительПолноеИмя=ExecutorFullName, ИсполнительТелефон=ExecutorPhone";
  Маппинг3 = ", ГрифКод=GrifID, РезолюцияКод=ResolutionID, КорреспондентКод=CorrespondentID, ОтделКод=OtdelID";
  Маппинг4 = ", ИсполнительКод=ExecutorID";
  Маппинг5 = ", ДелоНомерВходящегоДок=NumberIn, ДелоНомерИсходящегоДок=NumberOut, НомерИсходящегоДок=NumberOut";
  Маппинг6 = ", ДатаПоступления=DateIn, ДатаОтправления=DateOut, ДатаИсполнения=DateExec, ДатаОтвета=DateAnswer, ДатаПрихода=DateTo, ДатаУхода=DateBack";
  Маппинг7 = ", ТипДокОснования=TypeDoc, Содержание=Contents, Том=Tom, Дело=Delo, КарточкаУчета=NeedCard";
  Маппинг8 = ", Автор=CreaterUser, ДатаВремяСоздания=CreateDate, АвторИзменения=UpdaterUser, ДатаВремяИзменения=UpdateDate";

функция ВыполнитьСекцииДелопроизводство(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ДанныеОднойСекции : СтатическиеДанные;
  ЛокКоллекция: IVariables;
  ПостоянныйМаппингДелопроизводство, МаппингСекции: Строка;
  ОграниченияПоДатам: IDataLimit;
начало
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  ПостоянныйМаппингДелопроизводство := FixPumpMapEx(Маппинг1+Маппинг2+Маппинг3+Маппинг4+Маппинг5+Маппинг6+Маппинг7+Маппинг8, Раскладка);
  Данные.Открыть;

  ДанныеОднойСекции := СоздатьСтатическиеДанные;

  если не ЛокКоллекция.ПараметрСуществует("ВариантНачалаПериода") тогда
    // если в параметрах ограничений задана только одна дата, то за начало периода берем начало года 
    ЛокКоллекция.Values("ВариантНачалаПериода"):="3";

  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
  ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
  ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;

  если ВыполнятьСекцию(Данные, "ДелоНомерВходящегоДок") тогда
  начало
    ЛокКоллекция.Values("КоментарийСекции") := 'Делопроизводство. Информация по входящим документам'; 
    МаппингСекции := ПостоянныйМаппингДелопроизводство;
    
    ЛокКоллекция.Values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));

    // производим выборку данных
    ПолучитьВходящиеДокументы(ДанныеОднойСекции, ЛокКоллекция);
    //Перекачиваем данные секции в глобальные данные
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
  конец;

  если ВыполнятьСекцию(Данные, "ДелоНомерИсходящегоДок") тогда
  начало
    ЛокКоллекция.Values("КоментарийСекции") := 'Делопроизводство. Информация по исходящим документам'; 
    МаппингСекции := ПостоянныйМаппингДелопроизводство;
    
    ЛокКоллекция.Values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));

    // производим выборку данных
    ПолучитьИсходящиеДокументы(ДанныеОднойСекции, ЛокКоллекция);
    //Перекачиваем данные секции в глобальные данные
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
  конец;
  
  Интерфейс(ДанныеОднойСекции).Освободить;
конец;

// ОСНОВНАЯ ЧАСТЬ
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);
  // выбираем данные по секциям
  ВыполнитьСекцииДелопроизводство(Данные, Ограничения);
конец.

</value>
    <param value="Делопроизводство" type="3" name="version">36.042.01</param>
    <param value="Делопроизводство" type="3" name="crc32">$1984B3EA</param>
  </node>
  <node path="Бюджет\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыДелопроизводство.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\отчеты\поддержкаОтчетов.abl';
константы
  nl = #13#10;

  Маппинг1в = "  Пользователь=din.CreaterUser%s, Том=din.Tom%s, Дело=din.Delo%s, Содержание=din.Contents%s";
  Маппинг2в = ", КодДокумента=din.ID, ВхНомер=din.NumberIn, ИсхНомер=din.NumberOut, ТипДокОснов=din.TypeDoc";
  Маппинг3в = ", Гриф=din.Grif, Резолюция=din.Resolution, Корреспондент=din.Correspondent";
  Маппинг4в = ", Исполнитель=dexec.Executor, ДелоОтдел=dexec.Otdel";
  
  Маппинг1и = "  Пользователь=dout.CreaterUser%s, Содержание=dout.Contents%s";
  Маппинг2и = ", КодДокумента=dout.ID, ИсхНомер=dout.NumberOut, ТипДокОснов=dout.TypeDoc";
  Маппинг3и = ", Гриф=dout.Grif, Корреспондент=dout.Correspondent, Исполнитель=dout.Executor";

функция ЗапросВходящиеДокументы(Коллекция:IVariables): Строка;
переменные
  МаппингДелопроизводство: Строка;
  ОгрБазовые, ОгрДоп, ОгрПоДате: Строка;
  Комментарий, Запрос: Строка;
  Тмп, ТмпДата: Строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция делопроизводства");

  // формирует параметры запроса для ограничений с панели ограничений
  МаппингДелопроизводство := Маппинг1в+Маппинг2в+Маппинг3в+Маппинг4в;
  ОгрБазовые := Ограничение(МаппингДелопроизводство, Коллекция);
  ОгрДоп := Коллекция.Values("ДопПараметры");
  // формируем ограничение по дате
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаПоступленияНевыясненныхТип=din.DateIn, ДатаОтправленияТип=din.DateOut, ДатаПриходаТип=dexec.DateTo, ДатаУходаТип=dexec.DateBack", Коллекция, "din.DateIn");

  Запрос := "select"+nl+
            "  din.TypeDoc, din.Contents, din.Tom, din.Delo, din.NeedCard,"+nl+
            "  din.NumberIn, din.DateIn, din.NumberOut, din.DateOut, din.DateExec, din.DateAnswer,"+nl+
            "  din.Grif GrifID, din.Resolution ResolutionID, din.Correspondent CorrespondentID,"+nl+
            "  din.CreaterUser, din.CreateDate, din.UpdaterUser, din.UpdateDate,"+nl+
            "  dexec.Otdel OtdelID, dexec.Executor ExecutorID, dexec.DateTo, dexec.DateBack,"+nl+
            "  dg.Name GrifName, dr.Name ResolutionName, dc.Name CorrespondentName, dotdel.Name OtdelName,"+nl+
            "  de.Name ExecutorName, de.FullName ExecutorFullName, de.Phone ExecutorPhone"+nl+
            "from"+nl+
            "  DeloIn din"+nl+
            "  left join DeloGrif dg on (din.Grif = dg.ID)"+nl+
            "  left join DeloResolution dr on (din.Resolution = dr.ID)"+nl+
            "  left join DeloCorrespondent dc on (din.Correspondent = dc.ID)"+nl+
            "  left join DeloExec dexec on (din.ID = dexec.DocID)"+nl+
            "  left join DeloExecutor de on (dexec.Executor = de.ID)"+nl+
            "  left join DeloOtdel dotdel on (dexec.Otdel = dotdel.ID)"+nl+
            "where"+nl+
            "(1 = 1)"+nl+
             ОгрБазовые+nl+
             ОгрДоп+nl+
             ОгрПоДате;
  Тмп := Коллекция.Values("КарточкаУчета");
  выбрать Тмп из
    "1": Запрос := Запрос+nl+"and (din.NeedCard = 1)";
    "2": Запрос := Запрос+nl+"and ((din.NeedCard is null) or (din.NeedCard = 0))";
  конец;
  ТмпДата := Коллекция.Values("ДатаИсполнения");
  если ТмпДата &lt;&gt; "" тогда начало
    если Позиция(".", ТмпДата) &lt;&gt; 0 тогда
      ТмпДата := DateExString(ТмпДата);
    Запрос := Запрос+nl+"and (din.DateExec = "+ТмпДата+")";
  конец;
  ТмпДата := ДатаВСтроку(ТекущаяДата);
  если Позиция(".", ТмпДата) &lt;&gt; 0 тогда
    ТмпДата := DateExString(ТмпДата);
  Тмп := Коллекция.Values("Исполнение");
  выбрать Тмп из
    1: Запрос := Запрос+nl+"and (din.DateAnswer &lt;= din.DateExec)";
    2: Запрос := Запрос+nl+"and (din.DateAnswer &gt; din.DateExec)";
    3: Запрос := Запрос+nl+"and (din.DateAnswer is null) and ("+ТмпДата+" &gt; din.DateExec)";
    4: Запрос := Запрос+nl+"and (din.DateAnswer is null) and ("+ТмпДата+" &lt;= din.DateExec)";
  конец;
  результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);
конец;                                          

функция ЗапросИсходящиеДокументы(Коллекция:IVariables): Строка;
переменные
  МаппингДелопроизводство: Строка;
  ОгрБазовые, ОгрДоп, ОгрПоДате: Строка;
  Комментарий, Запрос: Строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция делопроизводства");

  // формирует параметры запроса для ограничений с панели ограничений
  МаппингДелопроизводство := Маппинг1и+Маппинг2и+Маппинг3и;
  ОгрБазовые := Ограничение(МаппингДелопроизводство, Коллекция);
  ОгрДоп := Коллекция.Values("ДопПараметры");
  // формируем ограничение по дате
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаОтправленияТип=dout.DateOut", Коллекция, "dout.DateOut");

  Запрос := "select"+nl+
            "  dout.TypeDoc, dout.Contents, dout.NumberOut, dout.DateOut,"+nl+
            "  dout.Grif GrifID, dout.Correspondent CorrespondentID,"+nl+
            "  dout.CreaterUser, dout.CreateDate, dout.UpdaterUser, dout.UpdateDate,"+nl+
            "  dout.Executor ExecutorID,"+nl+
            "  dg.Name GrifName, dc.Name CorrespondentName,"+nl+
            "  de.Name ExecutorName, de.FullName ExecutorFullName, de.Phone ExecutorPhone"+nl+
            "from"+nl+
            "  DeloOut dout"+nl+
            "  left join DeloGrif dg on (dout.Grif = dg.ID)"+nl+
            "  left join DeloExecutor de on (dout.Executor = de.ID)"+nl+
            "  left join DeloCorrespondent dc on (dout.Correspondent = dc.ID)"+nl+
            "where"+nl+
            "(1 = 1)"+nl+
             ОгрБазовые+nl+
             ОгрДоп+nl+
             ОгрПоДате;
  результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);
конец;                                          

функция ПолучитьВходящиеДокументы(Данные : СтатическиеДанные; Коллекция:IVariables);
переменные
  Запрос : Строка;
начало
  попытка
    Запрос := ЗапросВходящиеДокументы(Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
  ЗакачатьДанныеЗапроса(Данные, Запрос, Коллекция);
конец;

функция ПолучитьИсходящиеДокументы(Данные : СтатическиеДанные; Коллекция:IVariables);
переменные
  Запрос : Строка;
начало
  попытка
    Запрос := ЗапросИсходящиеДокументы(Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
  ЗакачатьДанныеЗапроса(Данные, Запрос, Коллекция);
конец;

</value>
    <param value="ЗапросыДелопроизводство.abl" type="3" name="version">36.042.01</param>
    <param value="ЗапросыДелопроизводство.abl" type="3" name="crc32">$44F87392</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">39010100</V>
            <V N="Name">Входящие документы</V>
            <V N="Params">Пользователь,Даты,ТипДатыУнивер,ДатаПоступленияНевыясненныхТип,НачальнаяДата,КонечнаяДата,Дело,Содержание,ВхНомер,ИсхНомер,Исполнение,КарточкаУчета,ДатаИсполнения,Гриф,Корреспондент,Исполнитель,Классификаторы,ТипДокОснов</V>
            <V N="Template">(39.01.01) входящие документы.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.01</param>
  </node>
  <version_info>
    <file>Сборка(44)СводныеУведомления.xml</file>
    <version>36.042.44</version>
    <info>&lt;p&gt;Отчеты по сводным уведомлениям&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:55</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="Бюджет\Объекты\Интерфейсы\БП">
    <value type="1" name="Авто">0</value>
    <value type="3" name="БК" />
    <value type="1" name="Высота">40</value>
    <value type="1" name="КБК">3</value>
    <value type="1" name="Кнопки">2</value>
    <value type="1" name="Код">327</value>
    <value type="3" name="КодИмя">PayDocRef</value>
    <value type="4" name="Ограничения">1</value>
    <value type="3" name="Параметры">МультиБюджет,@Пользователь,Даты,ТипДатыУнивер,ДатаВводаТип,ДатаБлокировкиТип,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,Классификаторы,ЛицСчет,КодДохода,КодДоходаАдм,КодДоходаВид,КодДоходаЭК,ИсточникОбразованияСредств,СостояниеБлокировки,ПричинаБлокировки,ТипПричиныБлокировки,СкрытьДокументыБезРекомендаций</value>
    <value type="1" name="Права">0</value>
    <value type="3" name="Скрипт">ВыборН</value>
    <value type="3" name="Текст">Обработка заблокированных поступлений по предпринимательской деятельности</value>
    <value type="3" name="Шаблон">(03.27.01) Заблокированные поступления.sts</value>
    <param value="Авто" type="3" name="version">36.042.44</param>
    <param value="БК" type="3" name="version">36.042.44</param>
    <param value="БК" type="3" name="crc32">$00000000</param>
    <param value="Высота" type="3" name="version">36.042.44</param>
    <param value="КБК" type="3" name="version">36.042.44</param>
    <param value="Кнопки" type="3" name="version">36.042.44</param>
    <param value="Код" type="3" name="version">36.042.44</param>
    <param value="КодИмя" type="3" name="version">36.042.44</param>
    <param value="КодИмя" type="3" name="crc32">$62B825F1</param>
    <param value="Ограничения" type="3" name="version">36.042.44</param>
    <param value="Параметры" type="3" name="version">36.042.44</param>
    <param value="Параметры" type="3" name="crc32">$A528C291</param>
    <param value="Права" type="3" name="version">36.042.44</param>
    <param value="Скрипт" type="3" name="version">36.042.44</param>
    <param value="Скрипт" type="3" name="crc32">$5F125AB4</param>
    <param value="Текст" type="3" name="version">36.042.44</param>
    <param value="Текст" type="3" name="crc32">$0C4DBC6D</param>
    <param value="Шаблон" type="3" name="version">36.042.44</param>
    <param value="Шаблон" type="3" name="crc32">$5A6CCD25</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыСводныеУведомления.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\отчеты\поддержкаОтчетов.abl';
константы
  nl = #13#10;
  
  МаппингСводныеУведомления1 = 'Статус=pde.status%d,КриптоСтатус=uc.CryptoStatus%d,СостояниеДокумента=uc.DOCSTATEREF%d,ВидДеятельности=ud.ActivityKind%d,';
  МаппингСводныеУведомления2 = 'ДатаВремяСоздания=ud.CreateDate,ДатаВремяИзменения=ud.UpdateDate,ДатаВремяСозданияДокумента=uc.CreateDate,ДатаВремяИзмененияДокумента=uc.UpdateDate,';
  МаппингСводныеУведомления3 = 'Пользователь=ud.CreaterUser%s,ОргСсылка=uc.Org_Ref%d,НомерДок=uc.DOCNUMBER%s,Примечание=uc.Note%s,КодЗаписи=ud.ID%d,ТипДеятельности=mt.ActivityType%d,';
  МаппингСводныеУведомления4 = 'КВСР=tKvsr.Code%d,КЦСР=tKcsr.Code%k,КФСР=ud.KFSR,КВР=tKvr.Code%k,КЭСР=ud.KESR,ИстВнутрФин=IFS.FinSourceValue%l,ПричинаОтклон=uc.REJECTCLS%d,';
  МаппингСводныеУведомления5 = 'ЛицСчет=uc.FACIALACCCLS%d,ТипСводногоУведомления=uc.NotifyType%d,ИндексыДанных=uc.ProgIndex%d,КодДокумента=uc.ID%d,Код_Цели=ud.TargetCLS%d,';
  МаппингСводныеУведомления6 = 'ЛицСчет11=fac_oa.ACC%s,ОргЛС11=fac_oa.ACC%s,НомерЛС=fac.FacialCodeEx%s,БюджОргЛС11=fac_oa.ACC%s,НомерДокИсточн=uc.ReestrNumber%s,';
  МаппингСводныеУведомления7 = 'БухОперация=ud.BuhOperationCLS%d,Баланс=bac.BalanceCls%d,БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),';
  МаппингСводныеУведомления8 = 'БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),';  
  МаппингСводныеУведомления9 = 'ТипКлассификации=ud.CLSType%d,ТипКлассификацииРасх=ud.CLSType%d,Бюджет=uc.BUDGETREF%d,НомерПакета=pde.PacketNumber%s,';
  МаппингСводныеУведомления10 = 'Мероприятие=ud.Fact%d,ТипСредствБюдж=ud.MeansType%d,Направление=ud.DirectionCLS%d,Район=ud.RegionCls%d,СубКЭСР=ud.SubKESR%d,';
  МаппингСводныеУведомления11 = 'КодСубсидии=sc.Code%k,КодЦелевыхСредств=tc.Code%d,КодЦелевыхСредствПризнак=tc.TARGETMEANSSIGN%d,КодБюджАссигнования=ba.Code%k,КодРасходногоОбязательства=pp.Code%k,';
  МаппингСводныеУведомления12 = 'РайонБУ=OwnOrg.RegionCls%d,РайонТрансферта=ud.RegionCls%d';
  
функция СводныеУведомленияВернутьМаппингПереносаПолей : Строка;
начало
  Результат := 
    'КодДокумента=ID,КодБюджета=BUDGETREF,РСФО=DFACCOUNT,ДатаПринятия=ACCEPTDATE,ИндексыДанных=PROGINDEX,ЛицевойСчет=FACIALACCCLS,' +
    'КодУРМДокумента=CptSenderRecordID,КодУРМЗаписи=SenderRecordID,ИндексАлгоритма=AlgIndex,КодЦели=TargetCLS,' +
    'КодОтправителяДокумента=CptSenderID,КодОтправителяЗаписи=SenderID,ВидДеятельности=ActivityKind,ДатаПринятияФК=ACCEPTDATEFK,' +
    'КриптоСтатус=CryptoStatus,СостояниеДокумента=DOCSTATEREF,Статус=pdeStatus,НомерДокументаРаспорядителя=NotifyNumber,' +
    'Автор=CreaterUser,АвторИзменений=UpdaterUser,АвторДокумента=CptCreaterUser,АвторИзмененийДокумента=CptUpdaterUser,' +
    'ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate,ДатаВремяСозданияДокумента=CptCreateDate,ДатаВремяИзмененияДокумента=CptUpdateDate,' +
    'ФорматДокумента=DOCUMENTFORMAT,Организация=Org_Ref,НомерДокумента=DocNumber,Приложение=CptNote,СпециальныеУказания=SpecialNote,' +
    'ДатаВвода=InputDate,КодПоКФД=KFD,КодЗаписи=DetID,ДатаЗаявкиНаКР=DATE_PP,ДатаВДРР=DATE_UTV_PP,Регион=RegionCls,СубКЭСР=SubKESR,' +
    'КВСР=KVSR,КВСРКлюч=KVSRID,КЦСР=KCSR,КЦСРКлюч=KCSRID,КФСР=KFSR,КВР=KVR,КВРКлюч=KVRID,КЭСР=KESR,ИсточникВнутрФинансированияКлюч=IFS,' +
    'ТипКлассификации=CLSTYPE,Примечание=NOTE,ИсточникВнутрФинансирования=FinSourceValue,ТипСводногоУведомления=NotifyType,' +
    'КодФОДокумента=CptFUID,КодФОЗаписи=DetFUID,ПричинаОтклонКод=REJECTCLS,ПричинаОтклонТекст=REJECTCAUSE,БюджКлассификация=BudClS,' +
    'НомерРеестра=ReestrNumber,ДатаРеестра=ReestrDate,ДатаВДБА=DATE_UTV_BA,ДатаВДЛБО=DATE_UTV_LBO,ДатаВДОФ=DATE_UTV_POF,КодСпецУказаний=SpecialNoteCode,' +
    'ПринадлежностьБА_ЛБО=BA_LBO_FLAG,БухОперация=BUHOPERATIONCLS,ДатаВДРеестра=Date_UTV_Reestr,ТипРасхРасписания=TIP_RR,НомерЗаявкиНаКР=NOM_PP,' +
    'БККредит=CreditDocCLS,БКДебет=DebitDocCLS,ВидДеятельности=ActivityKind,ЭКДебет=CreditDocEK,ЭККредит=DebitDocEK,ПериодОперации=PeriodOfOperation,' +
    'Баланс=BalanceCls,КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,' +
    'НомерСчетаКредит=CreditNumberAcc70n,БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,БухСчетДебетПлан=DebitAccPlan,' +                                                                                                                      
    'БухСчетКредитПлан=CreditAccPlan,БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue,'+
    'КодВходящейСвязи=InLink,КодИсходящейСвязи=OutLink,ТипВходящейСвязи=InLinkType,ТипИсходящейСвязи=OutLinkType,' +
    'КодВходящейСвязиЗаголовка=InLinkCpt,КодИсходящейСвязиЗаголовка=OutLinkCpt,ТипВходящейСвязиЗаголовка=InLinkTypeCpt,' +
    'ТипИсходящейСвязиЗаголовка=OutLinkTypeCpt,МесяцВвода=InputMonth,Мероприятие=Fact,ТипСредств=MeansType,Направление=DirectionCLS,' +
    'НомерПакета=PacketNumber,ДатаОтправления=SendDate,КодСубсидииКлюч=SubsidyCls,КодСубсидии=SubsidyClsCode,' +
    'КодЦелевыхСредств=TransfertClsValue,КодЦелевыхСредствКлюч=TransfertCls,КодБюджАссигнованияКлюч=BudAllocationCLS,' +
    'КодБюджАссигнования=BudAllocationCLSCode,КодРасходногоОбязательстваКлюч=PayPromiseCLS,КодРасходногоОбязательства=PayPromiseCLSCode,' +
    'РайонБУ=RegionBudgetEst,РайонТрансферта=RegionDetail';                
конец;

Функция СводныеУведомленияВернутьМаппингПереносаЗначимыхПолей(ИмяСекции:строка):строка;
начало
  Выбрать Прописные(ИмяСекции) из
    //Секция 0.  Сводные уведомления за период. Все показатели
    Прописные('ВсеПоказатели'):
      начало      
        Результат :=
          "РРСуммаБАЛБОПервыйгод=SummaYear1,РРСуммаБАЛБОВторойгод=SummaYear2,РРСуммаБАЛБОТретийгод=SummaYear3,РРСуммаПОФ=SUMMAFIN";
      конец;   
    //Секция 1.  Сводные уведомления за период. Только бюджетные ассигнования      
    Прописные('ТолькоБюджетныеАссигнования'):
        Результат := 
          "РРСуммаБАПервыйгод=SummaYear1,РРСуммаБАВторойгод=SummaYear2,РРСуммаБАТретийгод=SummaYear3";
    //Секция 2.   Сводные уведомления за период. Только лимиты бюджетных обязательств 
    Прописные('ТолькоЛБО'):
        Результат := 
          "РРСуммаЛБОПервыйгод=SummaYear1,РРСуммаЛБОВторойгод=SummaYear2,РРСуммаЛБОТретийгод=SummaYear3";
  конец;
конец;
  
функция ЗапросСводныеУведомления(Коллекция: IVariables):строка;
переменные
  ОгрПоКлассификации, ОгрПоДате, ОгрДоп, ОгрВыбиратьАссигнования: строка;
  ОгрПоВходящимСвязям, ОгрПоИсходящимСвязям: строка;
  ОгрПоВходящимСвязямЗаголовка, ОгрПоИсходящимСвязямЗаголовка: строка;  
  Комментарий, Запрос, ОгрПоСвязям, ОгрПринадлежностьЛС, ОгрПоПустымБухСчетам: строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция сводных уведомлений");
  // формируем ограничение по дате
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=uc.AcceptDate,ДатаВводаТип=uc.InputDate,ДатаПринятияТип=uc.AcceptDate,ДатаОтправленияТип=pde.senddate,' +
    'ДатаРеестраТип=uc.ReestrDate,ДатаУчетаТип=uc.DATE_UTV_PP', Коллекция, 'uc.AcceptDate');
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";

  ОгрПоКлассификации := Ограничение(МаппингСводныеУведомления1 + МаппингСводныеУведомления2 + МаппингСводныеУведомления3 +
    МаппингСводныеУведомления4 + МаппингСводныеУведомления5 + МаппингСводныеУведомления6 + МаппингСводныеУведомления7 +
    МаппингСводныеУведомления8 + МаппингСводныеУведомления9 + МаппингСводныеУведомления10 + МаппингСводныеУведомления11 +
    МаппингСводныеУведомления12, Коллекция);

  если Коллекция.ПараметрСуществует("ВыбиратьАссигнования") тогда
  начало
    если Коллекция.Значение("ВыбиратьАссигнования")='1' тогда  //1-только бюджетные ассигнования
      ОгрВыбиратьАссигнования := ' and ((ud.BA_LBO_Flag = 0) or (ud.BA_LBO_Flag = 1))'
    иначе 
      если Коллекция.Значение("ВыбиратьАссигнования")='0' тогда  //0-только ЛБО
        ОгрВыбиратьАссигнования := ' and ((ud.BA_LBO_Flag = 0) or (ud.BA_LBO_Flag = 2))';  
  конец;
  // ограничение по принадлежности л/с
  ОгрПринадлежностьЛС := "";
  если Коллекция.ПараметрСуществует("ПринадлежностьЛС") тогда
    выбрать Коллекция.Значение("ПринадлежностьЛС") из
      1: ОгрПринадлежностьЛС := " and (fac.FCAccount is null)";
      2: ОгрПринадлежностьЛС := " and (fac.FCAccount is not null)";
    конец;    
  
  ОгрПоПустымБухСчетам:='';
  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета")и Коллекция.values("НеВключатьПустыеБухСчета")=да
    тогда ОгрПоПустымБухСчетам:= " and (DebitAP.id is not null) and (CreditAP.id is not null) ";
  
  ОгрПоСвязям := "";
  ОгрПоВходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязи", ОгрПоСвязям);
  ОгрПоИсходящимСвязям := ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязи", ОгрПоСвязям);
  ОгрПоВходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrсс", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  ОгрПоИсходящимСвязямЗаголовка := ОграничениеПоСвязям(Коллекция, "lrpc", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);

  ОгрДоп := Коллекция.Values("ДопПараметры");
           
  // настраиваем запрос
  Запрос := 
    'Select ' + nl +
    '  uc.ID, uc.id CptFUID, ud.Id DetFUID, uc.BUDGETREF, uc.DFACCOUNT, uc.ACCEPTDATE, uc.PROGINDEX, uc.FACIALACCCLS, uc.SENDERID CptSenderID, ' + nl +
    '  uc.CRYPTOSTATUS, uc.DOCSTATEREF, uc.CREATERUSER CptCreaterUser, uc.CREATEDATE CptCreateDate, uc.UPDATERUSER CptUpdaterUser, ' + nl + 
    '  uc.UPDATEDATE CptUpdateDate,uc.SENDERRECORDID CptSenderRecordID, ' + nl + 
    '  uc.DOCUMENTFORMAT, uc.Org_Ref, uc.DocNumber, uc.Note CptNote, uc.SpecialNote, uc.InputDate, uc.KFD, pde.Status pdeStatus, ' + nl +
    '  ud.ID DetID, ud.KVSR KVSRID, tKvsr.Code KVSR, ud.KCSR KCSRID, tKcsr.Code KCSR, ud.KVR KVRID, tKvr.Code KVR,' + nl +
    '  ud.KFSR, ud.KESR, ud.IFS, ud.CLSTYPE, ud.NOTE, ud.SUMMALIMIT, ' + nl + 
    '  ud.SUMMAASSIGNMENT, ud.SUMMAFIN, ud.SUMMALIMITYEAR, ud.SUMMAASSIGNMENTYEAR, ud.SUMMAFINYEAR, ' + nl +
    '  ud.SENDERID, ud.SENDERRECORDID, ud.CREATERUSER, ud.CREATEDATE, ud.UPDATERUSER, ud.UPDATEDATE, IFS.FinSourceValue, ' + nl +
    '  cast(null as Integer) BeginDocStateRef, Cast(44 as integer) AlgIndex, ' + nl +
    '  cast(0 as varchar(20)) BudClS, uc.ACCEPTDATEFK,' + nl +
    '  uc.NotifyType, ud.TargetCLS, ud.ActivityKind, uc.NotifyNumber, uc.REJECTCLS, uc.REJECTCAUSE, ' + nl +
    '  uc.ReestrNumber, uc.ReestrDate, uc.DATE_UTV_BA, uc.DATE_UTV_LBO, uc.DATE_UTV_POF, uc.SpecialNoteCode, ' + nl +
    '  ud.SummaYear1, ud.SummaYear2, ud.SummaYear3, ud.BA_LBO_FLAG, ud.BUHOPERATIONCLS, uc.Date_UTV_Reestr, ' + nl +
    '  uc.TIP_RR, uc.NOM_PP, uc.DATE_UTV_PP, uc.DATE_PP, cast (0 as float) summa, ' + nl +

    '  bac.BalanceCls, bac.DebitBudClsKind, bac.CreditBudClsKind, bac.CORRECTIONFLAG, ' + nl +     
    '  CreditAP.ECCLS bacCreditKESR, DebitAP.ECCLS bacDebitKESR,' + nl +                 
    '  CreditAP.BUHACC CreditAcc70nValue, DebitAP.BUHACC DebitAcc70nValue,' + nl +
    '  cast(0 as varChar(17)) CreditDocCLS, cast(0 as varChar(17)) DebitDocCLS,' + nl +
    '  cast(0 as varChar(8)) DebitCodeAcc70n, cast(0 as varChar(8)) CreditCodeAcc70n,' + nl +
    '  cast(0 as varChar(28)) DebitNumberAcc70n, cast(0 as varChar(28)) CreditNumberAcc70n,' + nl +
    '  cast(0 as double precision) DebitAcc70n, cast(0 as double precision) CreditAcc70n,' + nl +
    '  cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan,' + nl +                       
    '  cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan,' + nl +                                                                                     
    '  0 CreditDocEK, 0 DebitDocEK, cast (1 as integer) PeriodOfOperation,' + nl +
    
    '  lrp.ID OutLink, lrc.ID InLink, lrc.LinkTypeRef InLinkType, lrp.LinkTypeRef OutLinkType,' + nl +
    '  lrpc.ID OutLinkCpt, lrcc.ID InLinkCpt, lrcc.LinkTypeRef InLinkTypeCpt, lrpc.LinkTypeRef OutLinkTypeCpt,' + nl +
    
    '  uc.InputMonth, ud.Fact, ud.MeansType, ud.DirectionCLS, ud.RegionCls, ud.RegionCls RegionDetail, OwnOrg.RegionCls RegionBudgetEst,' + nl + 
    '  ud.SubKESR, pde.SendDate, pde.PacketNumber, ud.SubsidyCls, sc.Code SubsidyClsCode, ud.TransfertCls, tc.Code TransfertClsValue, ' + nl +
    '  ud.BudAllocationCLS, ba.Code BudAllocationCLSCode, ud.PayPromiseCLS, pp.Code PayPromiseCLSCode ' + nl +                                                 
    'from ' + nl + 
    '  UNIONNOTIFYCAPTION uc ' + nl +
    '  left join UNIONNOTIFYDETAIL ud on (uc.id = ud.RecordIndex) ' + nl + 
    '  left join InnerFinSource IFS on (ifs.id = ud.IFS) ' + nl +
    '  left join Organizations o on (o.id = uc.Org_Ref) ' + nl +
    '  left join PayDocExchange pde on (pde.PayDocRef = uc.id) ' + nl +
    '  left join FacialAcc_CLS fac on (fac.id = uc.FacialAccCLS)' + nl +
    '  left join Organizations OwnOrg on (OwnOrg.id = fac.Org_Ref)' + nl +
    '  left join Org_Accounts fac_oa on (fac_oa.id = fac.FCAccount)' + nl +
    '  left join KVSR tKvsr on (tKvsr.id = ud.KVSR)' + nl +
    '  left join KVR tKvr on (tKvr.id = ud.KVR)' + nl +
    '  left join KCSR tKcsr on (tKcsr.id = ud.KCSR)' + nl +
    '  left join SubsidyCls sc on (sc.id = ud.SubsidyCLS)' +nl+
    '  left join TransfertCls tc on (tc.ID = ud.TransfertCls)' +nl+
    '  left join BudAllocationCLS ba on (ba.ID = ud.BudAllocationCLS)' +nl+
    '  left join PayPromiseCLS pp on (pp.ID = ud.PayPromiseCLS)' +nl+
    '  left join MeansType mt on (mt.id = ud.MeansType)' +nl+
    
    '  left join BuhAccCorr bac on (bac.BuhOperationCLS = ud.BuhOperationCLS)' + nl +
    '  left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)' + nl +
    '  left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)' + nl+
    '  left join BuhOperationCLS boCLS on (boCLS.id = ud.BuhOperationCLS)' + nl +    
    
    '  left join LinkRecords lrp on ((lrp.ParentID = ud.id)' + ОгрПоИсходящимСвязям + ')' + nl +
    '  left join LinkRecords lrc on ((lrc.ChildID = ud.id)' + ОгрПоВходящимСвязям + ')' + nl +
    '  left join LinkRecords lrpc on ((lrpc.ParentID = uc.id)' + ОгрПоИсходящимСвязямЗаголовка + ')' + nl +
    '  left join LinkRecords lrcc on ((lrcc.ChildID = uc.id)' + ОгрПоВходящимСвязямЗаголовка + ')' + nl +    
    'where ' + nl +
    '  (1=1) ' + nl +
    ОгрПоКлассификации + nl + 
    ОгрПоДате + nl +
    ОгрПоДатамБухОпераций + nl +
    ОгрВыбиратьАссигнования + nl +
    ОгрПоСвязям + nl +
    ОгрДоп + nl +
    ОгрПринадлежностьЛС + nl +
    ОгрПоПустымБухСчетам;
   
  результат := ОптимизироватьЗапрос(Коллекция, комментарий, Запрос);                       
конец;

функция ПолучитьСводныеУведомления(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ЛокКоллекция : IVariables;
начало
   попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);
    Если Позиция("BudClS", ЛокКоллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
      ЛокКоллекция.Значение("ПоляВыборки") := ЛокКоллекция.Значение("ПоляВыборки") + 
        ",KVSR,KFSR,KCSR,KVR,KESR,FinSourceValue,IFS,ClsType";   

    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;
    если Позиция("SpecialNote", Коллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
    начало  
      //Создавать недостающие поля запросом
      Данные.DefProps("Options") := "+sdoDefaultFields";
      //Что бы BDE не создало блобового поля для строки 512 создадим ее руками
      Данные.ДобавитьСтроковоеПоле("SpecialNote", 1024);
    конец;            
    // формируем SQL-запрос
    Данные.Запрос:="[PumpData]" +ЗапросСводныеУведомления(ЛокКоллекция);      
    ПолучитьДанные(Данные, ЛокКоллекция);
    ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=FinSourceValue,ИВФКлюч=IFS,КД=_,ВидКлс=ClsType",Данные,ЛокКоллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

// Дублируем записи по годам с проставлением соответствующего периода операции
функция КлонироватьПроводки(Данные: СтатическиеДанные;Коллекция: IVariables);
переменные
  ВспомСД: СтатическиеДанные;
  сч: целое;
  СтрокаГруппировки: строка;
начало
  ВспомСД := СоздатьСтатическиеДанные;
  попытка
    ВспомСД.ПрисвоитьПоля(Данные);
    ВспомСД.Открыть;
    //Добавляем по записи на каждый год
    от сч := 1 до 3 делать
    начало
      если (Коллекция.Значение("ПериодПланирования") = "")или(Коллекция.Значение("ПериодПланирования") = 0)
        или(Коллекция.Значение("ПериодПланирования") = сч) тогда
      начало  
        СтрокаГруппировки := 'keys=*;Summa=SummaYear' + ЦелоеВСтроку(сч);
        если ВспомСД.НайтиПоле('PeriodOfOperation',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';PeriodOfOperation=' + ЦелоеВСтроку(сч);    
        если ВспомСД.НайтиПоле('CreditAcc70nValue',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';CreditAcc70nValue=(CreditAcc70nValue + (' + ЦелоеВСтроку(сч) + ' * 1000))';    
        если ВспомСД.НайтиПоле('DebitAcc70nValue',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';DebitAcc70nValue=(DebitAcc70nValue + (' + ЦелоеВСтроку(сч) + ' * 1000))';    
        если ВспомСД.НайтиПоле('CreditAccPlan',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';CreditAccPlan=(CreditAccPlan + (' + ЦелоеВСтроку(сч) + ' * 1000000))';    
        если ВспомСД.НайтиПоле('DebitAccPlan',nil) тогда 
          СтрокаГруппировки := СтрокаГруппировки + ';DebitAccPlan=(DebitAccPlan + (' + ЦелоеВСтроку(сч) + ' * 1000000))';    
        ВспомСД.GroupData(Данные, СтрокаГруппировки);
      конец;            
    конец;
    если ЦелаяКонстанта(60, 31) = 1 тогда
    начало
      СтрокаГруппировки := 'keys=*;Summa=SUMMAFIN';
      ВспомСД.GroupData(Данные, СтрокаГруппировки);
    конец;                
    Данные.Reset;  
    Данные.Закачать(ВспомСД);    
    ВспомСД.Reset;      
  обязательно
    УдалитьОбъект(ВспомСД);
  конец;  
конец;

константы
  МаппингСвязанныхПолейОбщий1 = "%EС=KESR,ClsType,IFS;";
  МаппингСвязанныхПолейОбщий2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий3 = "%CLS=KVSR,KFSR,KCSR,KVR,ClsType,IFS;";
  МаппингСвязанныхПолейОбщий4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщий5 = "summa=SummaYear1,SummaYear2,SummaYear3,SUMMAFIN";
  
функция ПолучитьБухСводныеУведомления(Данные: статическиеДанные; коллекция:IVariables);
переменные
  поляВыборки: строка;
  МаппингСвязанныхПолей : строка;
начало
  ПоляВыборки := Коллекция.Values("ПоляВыборки");
  МаппингСвязанныхПолей := МаппингСвязанныхПолейОбщий1 + МаппингСвязанныхПолейОбщий2 + МаппингСвязанныхПолейОбщий3 + 
    МаппингСвязанныхПолейОбщий4;

  МаппингСвязанныхПолей := МаппингСвязанныхПолей + МаппингСвязанныхПолейОбщий5;
             
  Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(Коллекция.Значение("ПоляВыборки"), 
    МаппингСвязанныхПолей, Коллекция) + ",CORRECTIONFLAG";
  попытка  
    ПолучитьСводныеУведомления(Данные, Коллекция);
    КлонироватьПроводки(Данные, Коллекция);
    РасширитьОграничениеПоСинтСчетам(Коллекция);
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,' +             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,' +
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,' +
      'ВидКлс=ClsType,КорВидКлс=ClsType,ВидДеятельности=ActivityKind,' +
      'КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,' + 
      'КорКВСР=_,КорКЦСР=_,КорКФСР=_,КорКВР=_,КорКЭСР=_,' +
      'ИВФКлюч=IFS,КорИВФ=_,КД=_,КорКД=_,' +   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=ProgIndex,' +
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебет=_,ЭКБухСчетКредит=bacCreditKESR,ОстатковыйИВФКредит=_,' +
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,СуммаВозвратнойОперации=_,' +
      'Сумма=summa,БухОперация=BuhOperationCLS,ИсправляющаяОперация=CORRECTIONFLAG',
      Данные, '2', '2', Коллекция);
  обязательно
    Коллекция.Значение("ПоляВыборки") := ПоляВыборки;                                        
  конец;
конец;
</value>
    <param value="ЗапросыСводныеУведомления.abl" type="3" name="Export">MARAEVA7\baranova\12.02.2013 13:35:18</param>
    <param value="ЗапросыСводныеУведомления.abl" type="3" name="version">36.042.44</param>
    <param value="ЗапросыСводныеУведомления.abl" type="3" name="crc32">$C04242A6</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010100</V>
            <V N="Name">Сводные уведомления</V>
            <V N="Params">Бюджет,Примечание,ТипПримечания,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаВводаТип,ДатаПринятияТип,ДатаОтправленияТип,НачальнаяДата,КонечнаяДата,НомерДокПрост,НомерДок,Классификаторы,ЛицСчет,СтруктураБюджета,КФСР,КВСР,КЦСР,КВР,КЭСР,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК</V>
            <V N="Template">(44.01.01) Сводные уведомления.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.44</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="СводныеУведомления">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить "\Макросы\отчеты\ПоддержкаОтчетов.abl";
включить "\Макросы\Запросы\ЗапросыСводныеУведомления.abl";

СводныеУведомления(Параметры: IVariables);
константы

  ПоляВыборкиГиперТекст = 'AlgIndex,DetID';
  ПоляВставкиГиперТекст = 'AlgIndex;DetID';
  
переменные
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;
  ДанныеОднойСекции : статическиеДанные;
  Коллекция, ЛокКоллекция: IVariables;
  ПостоянныйМаппинг, МаппингСекции: строка;
  ОграниченияПоДатам:IDataLimit;  
  МаппингГиперТекст : Строка;
  МаппингЗначимыхПолей: строка;
начало
  Коллекция := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);

  ПостоянныйМаппинг := FixPumpMapEx(СводныеУведомленияВернутьМаппингПереносаПолей, Раскладка);
  
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  
  Данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные();
  
  // настраиваем ограничение по датам
  если не локКоллекция.ПараметрСуществует("ВариантНачалаПериода") тогда 
    локКоллекция.values("ВариантНачалаПериода"):="0";// Если период явно не задан, то начальная дата периода = конечной дате
    
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  // Поддержка вывода печатных документов
   ЛокКоллекция.Values("ТипОгрДата"):=0;
   ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
  
  ЛокКоллекция.Values("ИспользоватьПоляВыборки") := да;
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;
  
  // последовательно выполняем секции
  //Секция 0.  Сводные уведомления за период. Все показатели
  МаппингЗначимыхПолей:=СводныеУведомленияВернутьМаппингПереносаЗначимыхПолей('ВсеПоказатели');
  Если ВыполнятьСекцию(Данные,ВернутьСписокИмен(МаппингЗначимыхПолей)) тогда 
  начало
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("КоментарийСекции") := 'Сводные уведомления 0. Сводные уведомления за период. Все показатели';

    МаппингСекции := ПостоянныйМаппинг + ","+FixPumpMapex(МаппингЗначимыхПолей,Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                            ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));             
    // производим выборку данных
    ПолучитьСводныеУведомления(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

  //Секция 1.  Сводные уведомления за период. Только бюджетные ассигнования
  МаппингЗначимыхПолей:=СводныеУведомленияВернутьМаппингПереносаЗначимыхПолей('ТолькоБюджетныеАссигнования');
  
  Если ВыполнятьСекцию(Данные,ВернутьСписокИмен(МаппингЗначимыхПолей)) тогда 
  начало
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("КоментарийСекции") := 'Сводные уведомления 1. Показатели в части бюджетных ассигнований.';
    ЛокКоллекция.Values('ВыбиратьАссигнования') := '1';

    МаппингСекции := ПостоянныйМаппинг + ","+FixPumpMapex(МаппингЗначимыхПолей,Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                            ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));             
    // производим выборку данных
    ПолучитьСводныеУведомления(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

  //Секция 2.  Лимиты бюджетных обязательств
  МаппингЗначимыхПолей:=СводныеУведомленияВернутьМаппингПереносаЗначимыхПолей('ТолькоЛБО');
  Если ВыполнятьСекцию(Данные,ВернутьСписокИмен(МаппингЗначимыхПолей)) тогда 
  начало
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("КоментарийСекции") := 'Сводные уведомления 2. Показатели в части лимитов бюджетных обязательств.';
    ЛокКоллекция.Values('ВыбиратьАссигнования') := '0';

    МаппингСекции := ПостоянныйМаппинг + ","+FixPumpMapex(МаппингЗначимыхПолей,Раскладка);
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), 
                                            ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));             
    // производим выборку данных
    ПолучитьСводныеУведомления(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;
  
  интерфейс(ДанныеОднойСекции).Освободить;
конец.
</value>
    <param value="СводныеУведомления" type="3" name="Export">ZIMIN\Zimin\15.06.2011 15:24:10</param>
    <param value="СводныеУведомления" type="3" name="version">36.042.44</param>
    <param value="СводныеУведомления" type="3" name="crc32">$11DFA08B</param>
  </node>
  <version_info>
    <file>Сборка(49)ПакетыДокументовОбмена.xml</file>
    <version>36.042.12</version>
    <info>Отчеты пакетов обмена</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:56</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыПакетыОбмена.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\отчеты\ПоддержкаОтчетов.abl';
константы
  nl = #13#10;

  МаппингПакетыОбмена1 = 'КодДокумента=dp.ID%d,КодЗаписи=dp.ID%d,ИндексыДанных=dp.ProgIndex%d,Пользователь=dp.CreaterUser%s,';
  МаппингПакетыОбмена2 = 'ДатаВремяСозданияДокумента=dp.CreateDate,ДатаВремяИзмененияДокумента=dp.UpdateDate,'; //ДатаВремяСоздания=dp.CreateDate,ДатаВремяИзменения=dp.UpdateDate,
  МаппингПакетыОбмена3 = 'ТипПакета=dp.PacketTypeCls%d,ЛицСчет=dp.FacialAcc_Cls%d,Примечание=dp.Note%s,';
  МаппингПакетыОбмена4 = 'СостояниеПакета=dp.PacketState%d,ДатаОтклонения=dp.RejectDate,НазваниеТипаПакета=dpt.Name%s,';
  МаппингПакетыОбмена5 = 'СостояниеДокумента=dp.DocStateRef%d,КриптоСтатус=dp.CryptoStatus%d,';
  МаппингПакетыОбмена6 = 'НомерДок=dp.DocNumber%s,Бюджет=dp.BudgetRef%d,РСФО=dp.RSFO%d,КатегорАрхивДок=adt.code%d';
функция ПакетыОбменаВернутьМаппингПереносаПолей : Строка;
начало
  Результат :=
    'ИндексАлгоритма=AlgIndex,КодДокумента=ID,КодЗаписи=ID,ТипПакета=PacketTypeCls,ЛицевойСчет=FacialAcc_Cls,' +
    'КодКлиента=ClientCode,КодПакета=PacketID,КодПолучателя=RecipientCode,ДатаСоздания=PacketCreateDate,ДатаПакета=ReportDate,' +
    'ДатаОтклонения=RejectDate,ДатаДоставкиПакета=PacketDeliveryDate,ДатаДоставкиОтклонения=RejectDeliveryDate,' +
    'Примечание=Note,ИндексыДанных=ProgIndex,ДатаВремяСозданияДокумента=CreateDate,ДатаВремяИзмененияДокумента=UpdateDate,' +
    'АвторДокумента=CreaterUser,АвторИзмененийДокумента=UpdaterUser,СостояниеПакета=PacketState,НазваниеТипаПакета=PacketTypeName,' +
    'СостояниеДокумента=DocStateRef,КриптоСтатус=CryptoStatus,КодФОДокумента=FUID,НачальноеСостояниеДокумента=BeginDocStateRef,' +
    'ЛокальнаяВиза=IsVised,ЕстьВБюджете=IsInBudget,ПризнакЗависания=DocSuspended,МягкаяПричинаОтклонКод=SoftRejectCLS,' +
    'МягкаяПричинаОтклонТекст=SoftRejectCause,КатегорияДокумента=ArchiveDocType,ИмяДокумента=DataPacketName,КодБюджета=BudgetRef,' +
    'РСФО=RSFO,НомерДокумента=DocNumber,ПричинаОтклонТекст=RejectCause,РазмерДокумента=BinaryDataSize';
конец;

функция ЗапросПакетыОбмена(Коллекция: IVariables):строка;
переменные
  ОгрПоКлассификации, ОгрПоДате, ОгрДоп : строка;
  Комментарий, Запрос : строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Секция пакетов обмена");
  // формируем ограничение по дате
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты('ДатаПроведенияТип=dp.ReportDate,ДатаПринятияТип=dp.ReportDate,ДатаВводаТип=dp.PacketCreateDate',
    Коллекция, 'dp.ReportDate');

  ОгрПоКлассификации := Ограничение(МаппингПакетыОбмена1 + МаппингПакетыОбмена2 + МаппингПакетыОбмена3 + МаппингПакетыОбмена4 +
    МаппингПакетыОбмена5 + МаппингПакетыОбмена6, Коллекция);

  ОгрДоп := Коллекция.Values("ДопПараметры");

  // настраиваем запрос
  Запрос :=
    'select' + nl +
    ' cast(49 as integer) AlgIndex,' + nl +
    ' dp.ID, dp.PacketTypeCls, dp.FacialAcc_Cls, dp.ClientCode, dp.PacketID, dp.RecipientCode, dp.PacketCreateDate,' + nl +
    ' dp.ReportDate, dp.RejectDate, dp.PacketDeliveryDate, dp.RejectDeliveryDate, dp.Note, dp.ProgIndex,' + nl +
    ' dp.CreateDate, dp.UpdateDate, dp.CreaterUser, dp.UpdaterUser, dp.PacketState, dpt.Name PacketTypeName,' + nl +
    ' dp.DocStateRef, dp.CryptoStatus, dp.ID FUID,' + nl +
    ' dp.ArchiveDocType, dp.Name DataPacketName, dp.BudgetRef, dp.RSFO, dp.DocNumber, dp.RejectCause, dp.BinaryDataSize,' + nl +
    // несуществующие поля
    ' cast(null as Integer) BeginDocStateRef, ' + nl +
    ' cast(null as Integer) IsVised, ' + nl +
    ' cast(null as Integer) IsInBudget, ' + nl +
    ' cast(null as Integer) DocSuspended, ' + nl +
    ' cast(null as Integer) SoftRejectCLS, ' + nl +
    ' cast(null as varchar(255)) SoftRejectCause ' + nl +
    'from ' + nl +
    ' DataPacket dp ' + nl +
    ' left join DataPacketTypes dpt on (dpt.id = dp.PacketTypeCls) ' + nl +
    ' left join archivedoctype adt on (dp.archivedoctype = adt.id) '  + nl +
    'where ' + nl +
    ' (1=1) ' +
    ОгрПоКлассификации +
    ОгрПоДате +
    ОгрДоп;

  результат := ОптимизироватьЗапрос(Коллекция, Комментарий, Запрос);
конец;

функция ПолучитьПакетыОбмена(Данные:СтатическиеДанные; Коллекция:IVariables);
переменные
  ЛокКоллекция : IVariables;
начало
   попытка
    // создаем локальную копию параметров, с которой и будем работать в дальнейшем
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.PumpData(Коллекция);

    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;
    // формируем SQL-запрос
    Данные.Запрос:="[PumpData]" + ЗапросПакетыОбмена(ЛокКоллекция);
    ПолучитьДанные(Данные, ЛокКоллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыПакетыОбмена.abl" type="3" name="Export">HRUSTALEV\shishkov\19.10.2012 9:28:32</param>
    <param value="ЗапросыПакетыОбмена.abl" type="3" name="version">36.042.12</param>
    <param value="ЗапросыПакетыОбмена.abl" type="3" name="crc32">$C5A05C55</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="ПакетыОбмена">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Variables.lib';
включить '\Макросы\отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Запросы\ЗапросыПакетыОбмена.abl';

ПакетыОбмена(Параметры: IVariables);
константы

  ПоляВыборкиГиперТекст = 'AlgIndex,ID';
  ПоляВставкиГиперТекст = 'AlgIndex;ID';
  
переменные
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;
  ДанныеОднойСекции : статическиеДанные;
  Коллекция, ЛокКоллекция: IVariables;
  ПостоянныйМаппинг, МаппингСекции: строка;
  ОграниченияПоДатам:IDataLimit;  
  МаппингГиперТекст : Строка;
начало
  Коллекция := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Раскладка := Параметры.Values(АлгРаскладка);

  ПостоянныйМаппинг := FixPumpMapEx(ПакетыОбменаВернутьМаппингПереносаПолей, Раскладка);
  
  // создаем локальную копию параметров, с которой и будем работать в дальнейшем
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  
  Данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные;
  
  // настраиваем ограничение по датам
  если не локКоллекция.ПараметрСуществует("ВариантНачалаПериода") тогда 
    локКоллекция.values("ВариантНачалаПериода") := "0";// Если период явно не задан, то начальная дата периода = конечной дате
    
  если ЛокКоллекция.Values("ПечатныйДокумент") = да тогда
  начало  // Поддержка вывода печатных документов
   ЛокКоллекция.Values("ТипОгрДата") := 0;
   ЛокКоллекция.Values("ТипДатыУнивер") := 0;
  конец;
  
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
  
  ЛокКоллекция.Values("ИспользоватьПоляВыборки") := да;
  МаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;
  
  // последовательно выполняем секции
  // Секция 0. Пакеты обмена.
//  если ВыполнятьСекцию(Данные,"КодПакета") тогда 
  начало
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ЛокКоллекция.values("КоментарийСекции") := 'Пакеты обмена 0.';

    МаппингСекции := ПостоянныйМаппинг + "";
    ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, ЛокКоллекция.Values(кПарамГруппироватьНаСервере));
    ЛокКоллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(ЛокКоллекция.values("ПоляВыборки"), ПоляВыборкиГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст));             
    // производим выборку данных
    ПолучитьПакетыОбмена(ДанныеОднойСекции, ЛокКоллекция);
    // перезакачиваем полученные данные в результирующие статические данные
    ПерекачатьДанныеГиперТекст(ДанныеОднойСекции, Данные, МаппингСекции, МаппингГиперТекст, ЛокКоллекция.Values(кПарамГиперТекст), Нет);
  конец;

  интерфейс(ДанныеОднойСекции).Освободить;
конец.
</value>
    <param value="ПакетыОбмена" type="3" name="Export">MasterNeo\mitrofanov\08.11.2007 14:11:50</param>
    <param value="ПакетыОбмена" type="3" name="version">36.042.12</param>
    <param value="ПакетыОбмена" type="3" name="crc32">$BA619190</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">49030100</V>
            <V N="Name">Статистика добавления документов электронного архива</V>
            <V N="Params">Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаВводаТип,НачальнаяДата,КонечнаяДата,Классификаторы,КатегорАрхивДок,ОтобрПрикрФайлы</V>
            <V N="Template">(49.03.01) Статистика добавления документов электронного архива.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.12</param>
  </node>
  <version_info>
    <file>Сборка(55)Уведомления.xml</file>
    <version>36.000.187</version>
    <info>&lt;p&gt;Отчеты уведомлений&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:53:57</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыУведомления.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';        
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить "\Библиотеки\Control.lib";
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';
включить "\макросы\отчеты\поддержкаОтчетов.abl";
включить "\макросы\уведомления\ПлатформоЗависимыеФункцииДляОтчетовПоУведомлениям";
включить '\Макросы\Уведомления\ПлатформоЗависимыеФункцииДляУведомлений';


константы
  nl = #13#10;
  ЭтоЗапросПоЗаголовку = 1;
  ЭтоЗапросПоДетализации = 2;

  // константы для работы с заблокированными средствами
  бсНеЗаблокированные   = 1; 
  бсЗаблокированные     = 2;
  бсРазблокированные    = 3;
  бсНеУчитывать         = 0;

  МаппингБазовыеОгр1 = "КодДокумента=cor_c.Id,НомерДок=cor_c.DocNumber%s,НомерДокИсточн=cor_c.OriginalNumber%s,Сумма=cor_c.Summa%f,Кредит=cor_d.Summa%f,Бюджет=cor_c.BudgetRef%d,МультиБюджет=cor_c.BudgetRef%d,ПричинаОтклон=cor_c.Reject_CLS%d,Отдел=cor_c.DepartmentCls%d,";
  МаппингБазовыеОгр2 = "Пользователь=cor_c.CreaterUser%s,ДатаВремяСоздания=cor_c.CreateDate,ДатаВремяИзменения=cor_c.UpdateDate,КриптоСтатус=cor_c.CryptoStatus%d,СсылкаНаСчет=((cor_c.OriginalPayerAcc_Ref%d)or(cor_c.OriginalAcceptorAcc_Ref%d)),КлассИсходногоДокумента=cor_c.OriginalProgIndex, КлассИсходногоДокументаПоступления=cor_c.OriginalProgIndex, КлассИсходногоДокументаВыплаты=cor_c.OriginalProgIndex,";
  МаппингБазовыеОгр3 = "СостояниеДокумента=cor_c.DOCSTATEREF%d,НомерПакета=pde.PacketNumber%s,Статус=pde.Status%d,ПлатОргСсылка=oa_payer.org_ref%d,ПлатРСССылка=cor_c.OriginalPayerAcc_Ref%d,ПолучРСССылка=cor_c.OriginalAcceptorAcc_Ref%d,РСФО=(((cor_c.OriginalPayerAcc_Ref%d)and(cor_c.progindex=313))or((cor_c.OriginalAcceptorAcc_Ref%d)and(cor_c.progindex=312))),";
  МаппингБазовыеОгр4 = "ПоставОргСсылка=((oa_acceptor.Org_Ref%d) and (cor_c.ProgIndex = 313)) or ((oa_payer.Org_Ref%d) and (cor_c.ProgIndex = 312)),ПоставРССсылка=(((cor_c.OriginalAcceptorAcc_Ref%d) and (cor_c.ProgIndex = 313)) or ((cor_c.OriginalPayerAcc_Ref%d) and (cor_c.ProgIndex = 312))),";
  
  МаппингКлсУведСтарНов1 = 'КодЗаписи=((cor_d_source.Id%d)or(cor_d_dest.Id%d)),КФСР=((cor_d_dest.KFSR%d)or(cor_d_source.KFSR%d)),КВСР=((tKVSRDest.Code%d)or(tKVSRsource.Code%d)),КВР=((tKVRdest.code%k)or(tKVRsource.code%k)),КЦСР=((tKCSRdest.Code%k)or(tKCSRsource.Code%k)),КЭСР=((cor_d_dest.KESR%d)or(cor_d_source.KESR%d)),ТипПлатДок=((cor_d_dest.DocType%d)or(cor_d_source.DocType%d)),';
  МаппингКлсУведСтарНов2 = 'СубКЭСР=((cor_d_dest.SubKESR%d)or(cor_d_source.SubKESR%d)),ФинИсточник=((cor_d_dest.FinSource%d)or(cor_d_source.FinSource%d)),ФинТип=((cor_d_dest.FinType%d)or(cor_d_source.FinType%d)),Мероприятие=((cor_d_dest.FACT%d)or(cor_d_source.FACT%d)),ЛицСчет=((cor_d_dest.FacialAcc_Cls%d)or(cor_d_source.FacialAcc_Cls%d)),';
  МаппингКлсУведСтарНов3 = 'ТипСредствБюдж=((cor_d_dest.MeansType%d)or(cor_d_source.MeansType%d)),ВидДеятельности=((mt_source.ActivityKind%d)or(mt_dest.ActivityKind%d)),ФинИсточники=((cor_d_dest.FinSource%d)or(cor_d_source.FinSource%d)),ИсточникОбразованияСредств=((cor_d_dest.FundsSource%d)or(cor_d_source.FundsSource%d)),';
  МаппингКлсУведСтарНов4 = 'ИстВнутрФин=((dest_ifs.FinSourceValue%l)or(source_ifs.FinSourceValue%l)),КодДохода=((dest_KD.KDValue%l)or(source_KD.KDValue%l)),Направление=((cor_d_dest.DirectionCLS%d)or(cor_d_source.DirectionCLS%d)),ТипКлассификации=((cor_d_dest.ClsType%d)or(cor_d_source.ClsType%d)),';
  МаппингКлсУведСтарНов5 = 'ПричинаБлокировки=((cor_d_dest.BlockedCause%s)or(cor_d_source.BlockedCause%s)),ПричинаРазблокировки=((cor_d_source.UnblockedCause%s)or(cor_d_dest.UnblockedCause%s)),ИндексыДанных=(cor_c.ProgIndex%d)or(cor_d_source.ProgIndex%d)or(cor_d_dest.ProgIndex%d),ТипКлассификацииРасх=(cor_d_source.CLSType%d)or(cor_d_dest.CLSType%d),';
  МаппингКлсУведСтарНов6 = 'КодЦелевыхСредств=((tc_s.Code%d)or(tc_d.Code%d)),КодЦелевыхСредствПризнак=((tc_s.TARGETMEANSSIGN%d)or(tc_d.TARGETMEANSSIGN%d)),ХарактерЛС=((f_s.HARACTERACCOUNT%d)or(f_d.HARACTERACCOUNT%d)),Примечание=(cor_c.Note%s)or(cor_d_source.Note%s)or(cor_d_dest.Note%s),ВидОргВладельцаЛС=(org_s.Org_Type%d)or(ogs_d.OrgType%d),';
  /$если База70100
  МаппингКлсУведСтарНов7 = 'КодБюджАссигнования=((s_balc.Code%k)or(d_balc.Code%k)),КодРасходногоОбязательства=((s_ppc.Code%k)or(d_ppc.Code%k)),КодСубсидии=((d_s.Code%k)or(s_s.Code%k)),';
  /$иначе
  МаппингКлсУведСтарНов7 = 'КодБюджАссигнования=((s_balc.Code%k)or(d_balc.Code%k)),КодРасходногоОбязательства=((s_ppc.Code%k)or(d_ppc.Code%k)),КодСубсидии=((d_s.Code%k)or(s_s.Code%k)),ТипДеятельности=((mt_dest.ActivityType%d)or(mt_source.ActivityType%d)),';
  /$конец
  МаппингКлсУвед1 = 'КФСР=cor_d.KFSR,КВСР=tKVSR.code,КВР=tKVR.code%K,КЦСР=tKCSR.code%k,КЭСР=cor_d.KESR,ТипПлатДок=cor_d.DocType,ХарактерЛС=f.HARACTERACCOUNT%d,';
  МаппингКлсУвед2 = 'СубКЭСР=cor_d.SubKESR,ФинИсточник=cor_d.FinSource,ФинТип=cor_d.FinType,ФинТипы=cor_d.FinType,Мероприятие=cor_d.FACT,ЛицСчет=cor_d.FacialAcc_Cls,ВидОргВладельцаЛС=org.Org_Type%d,';
  МаппингКлсУвед3 = 'ТипСредствБюдж=cor_d.MeansType,КодЦелевыхСредств=tc.Code%d,КодЦелевыхСредствПризнак=tc.TARGETMEANSSIGN%d,ВидДеятельности=mt.ActivityKind,ФинИсточники=cor_d.FinSource,ИсточникОбразованияСредств=cor_d.FundsSource,';
  МаппингКлсУвед4 = 'ИстВнутрФин=cor_ifs.FinSourceValue%l,КодДохода=cor_KD.KDValue%l,Направление=cor_d.DirectionCLS,ТипКлассификации=cor_d.ClsType,';
  МаппингКлсУвед5 = 'ПричинаБлокировки=cor_d.BlockedCause%s,ПричинаРазблокировки=cor_d.UnblockedCause%s,ИндексыДанных=(cor_c.ProgIndex%d)or(cor_d.ProgIndex%d),ТипКлассификацииРасх=cor_d.CLSType%d,';
  МаппингКлсУвед6 = 'Бюджет_РаспОргСсылка=org_GRBS.id%d,Район=cor_d.RegionCLS,КодИсходящейСвязи=lrp_cord.id,КодИсходящейСвязиЗаголовок=lrp.ID,  КодВходящейСвязи=lrc_cord.id,';
  МаппингКлсУвед7 = 'РайонТрансферта=cor_d.RegionCLS%d,РайонБУ=org.RegionCLS%d,Характер_ЛС=f,Примечание=(cor_c.Note%s)or(cor_d.Note%s),НомерЛС=f.FacialCodeEx%s,ЛицСчет11=fccoa.ACC%s,';
  /$если База70100
  МаппингКлсУвед8 = 'КодБюджАссигнования=balc.Code%k,КодРасходногоОбязательства=ppc.Code%k,КодСубсидии=s.Code%k,';
  /$иначе
  МаппингКлсУвед8 = 'КодБюджАссигнования=balc.Code%k,КодРасходногоОбязательства=ppc.Code%k,КодСубсидии=s.Code%k,ТипДеятельности=mt.ActivityType%d,';
  /$конец
  МаппингБух1  = 'Баланс=bac.BalanceCls,БухСчетДебетБезЭК=DebitAP.BUHACC%d,БухСчетКредитБезЭК=CreditAP.BUHACC%d,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),БухСинтетКорСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d),';
  МаппингБух2  = 'БухОперация=cor_d_dest.buhoperationCls%d'; //маппинг для ограничения по заголовку
  МаппингБух3  = 'БухОперация=cor_d.buhoperationCls%d'; //маппинг для ограничения по детали
  
  МаппингБюдОбязСтд = ',НомерБО=cor_d.Promise%d,ДоговораБО=cor_d.BudgetPromise';
  МаппингБюдОбязУчетДогов = ',НомерБО=%0:s,ДоговораБО=cor_d.BudgetPromise';          

  МаппингБюдОбязСтдПоЗаголовку = ',НомерБО=(cor_d_source.Promise%d)or(cor_d_dest.Promise%d),ДоговораБО=(cor_d_source.BudgetPromise)or(cor_d_dest.BudgetPromise)';
  МаппингБюдОбязУчетДоговПоЗаголовку = ',НомерБО=(%0:s)or(%1:s),ДоговораБО=(cor_d_source.BudgetPromise)or(cor_d_dest.BudgetPromise)';          

  // Ограничения по правам на классификацию для запроса по детали
  МаппингКЛСПрава_БКРасх = 'KFSR=cor_d.KFSR,KVSR=tKvsr.Code,KCSR=tKcsr.Code,KVR=tKvr.Code,KESR=cor_d.KESR,SUBKESR=cor_d.SubKESR,FACT=cor_d.FACT,FINTYPE=cor_d.FinType,MEANSTYPE=cor_d.MeansType,DIRECTIONCLS=cor_d.DirectionCLS';
  МаппингКЛСПрава_БКИст  = 'KVSR=tKvsrIFS.Code';
  МаппингКЛСПрава_БКДох  = 'KVSR=tKvsrKD.Code';
  // Ограничения по правам на классификацию для запроса по заголовку
  МаппингКЛСПраваЗагКор_БКРасх = 'KFSR=cor_d_source.KFSR,KVSR=tKvsrsource.Code,KCSR=tKcsrsource.Code,KVR=tKvrsource.Code,KESR=cor_d_source.KESR,SUBKESR=cor_d_source.SubKESR,FACT=cor_d_source.FACT,FINTYPE=cor_d_source.FinType,MEANSTYPE=cor_d_source.MeansType,DIRECTIONCLS=cor_d_source.DirectionCLS';
  МаппингКЛСПраваЗагКор_БКИст  = 'KVSR=tKvsrsourceIFS.Code';
  МаппингКЛСПраваЗагКор_БКДох  = 'KVSR=tKvsrsourceKD.Code';
  МаппингКЛСПраваЗагНов_БКРасх = 'KFSR=cor_d_dest.KFSR,KVSR=tKvsrdest.Code,KCSR=tKcsrdest.Code,KVR=tKvrdest.Code,KESR=cor_d_dest.KESR,SUBKESR=cor_d_dest.SubKESR,FACT=cor_d_dest.FACT,FINTYPE=cor_d_dest.FinType,MEANSTYPE=cor_d_dest.MeansType,DIRECTIONCLS=cor_d_dest.DirectionCLS';
  МаппингКЛСПраваЗагНов_БКИст  = 'KVSR=tKvsrdestIFS.Code';
  МаппингКЛСПраваЗагНов_БКДох  = 'KVSR=tKvsrdestKD.Code';    
  
  //маппинг ограничений протокола ПЗК
  МаппингБазовыеОгрПротокола1 = "КодДокумента=rep_c.Id,НомерДок=rep_c.DocNumber%s,ПричинаОтклон=rep_c.Reject_CLS%d,";
  МаппингБазовыеОгрПротокола2 = "Пользователь=rep_c.CreaterUser%s,ДатаВремяСоздания=rep_c.CreateDate,ДатаВремяИзменения=rep_c.UpdateDate,";
  МаппингБазовыеОгрПротокола3 = "СостояниеДокумента=rep_c.DOCSTATEREF%d,";
  
  МаппингКлсУведПротоколаСтарНов1 = 'КодЗаписи=((rep_d.Id%d)or(rep_info_source.Id%d)or(rep_info_dest.Id%d)),КФСР=((rep_info_dest.KFSR%d)or(rep_info_source.KFSR%d)),КВСР=((rep_info_dest.KVSR%d)or(rep_info_source.KVSR%d)),КВР=((rep_info_dest.KVR%d)or(rep_info_source.KVR%d)),КЦСР=((rep_info_dest.KCSR%k)or(rep_info_source.KCSR%k)),КЭСР=((rep_info_dest.KESR%d)or(rep_info_source.KESR%d)),ТипПлатДок=((rep_info_dest.DocType%d)or(rep_info_source.DocType%d)),';
  МаппингКлсУведПротоколаСтарНов2 = 'СубКЭСР=((rep_info_dest.SubKESR%d)or(rep_info_source.SubKESR%d)),ФинИсточник=((rep_info_dest.FinSource%d)or(rep_info_source.FinSource%d)),ФинТип=((rep_info_dest.FinType%d)or(rep_info_source.FinType%d)),Мероприятие=((rep_info_dest.FACT%d)or(rep_info_source.FACT%d)),ЛицСчет=((rep_info_dest.FacialAcc_Cls%d)or(rep_info_source.FacialAcc_Cls%d)),';
  МаппингКлсУведПротоколаСтарНов3 = 'ТипСредствБюдж=((rep_info_dest.MeansType%d)or(rep_info_source.MeansType%d)),ФинИсточники=((rep_info_dest.FinSource%d)or(rep_info_source.FinSource%d)),';
  МаппингКлсУведПротоколаСтарНов4 = 'ИстВнутрФин=((rep_info_dest.IFS%d)or(rep_info_source.IFS%d)),КодДохода=((rep_info_dest.KD%d)or(rep_info_source.KD%d)),Направление=((rep_info_dest.DirectionCLS%d)or(rep_info_source.DirectionCLS%d)),ТипКлассификации=((rep_info_dest.ClsType%d)or(rep_info_source.ClsType%d)),';
  МаппингКлсУведПротоколаСтарНов5 = 'ИндексыДанных=(rep_c.ProgIndex%d)or(rep_d_source.ProgIndex%d)or(rep_d_dest.ProgIndex%d)or(rep_info_source.ProgIndex%d)or(rep_info_dest.ProgIndex%d),ТипКлассификацииРасх=(rep_d_source.CLSType%d)or(rep_d_dest.CLSType%d)or(rep_info_source.CLSType%d)or(rep_info_dest.CLSType%d),';
  МаппингКлсУведПротоколаСтарНов6 = 'КодЦелевыхСредств=((rep_info_dest.TransfertCls%d)or(rep_info_source.TransfertCls%d)),Примечание=(rep_c.Note%s)or(rep_d_source.Note%s)or(rep_d_dest.Note%s)or(rep_info_dest.Note%s)or(rep_info_source.Note%s),';
  МаппингКлсУведПротоколаСтарНов7 = 'КодБюджАссигнования=((rep_info_dest.BudAllocationCls%d)or(rep_info_source.BudAllocationCls%d)),КодРасходногоОбязательства=((rep_info_dest.PayPromiseCls%d)or(rep_info_source.PayPromiseCls%d)),КодСубсидии=((rep_info_dest.SubsidyCls%d)or(rep_info_source.SubsidyCls%d)),';

  МаппингКлсУведПротокола1 = 'КФСР=rep_info.KFSR,КВСР=rep_info.KVSR,КВР=rep_info.KVR,КЦСР=rep_info.KCSR,КЭСР=rep_info.KESR,ТипПлатДок=rep_info.DocType,';
  МаппингКлсУведПротокола2 = 'СубКЭСР=rep_info.SubKESR,ФинИсточник=rep_info.FinSource,ФинТип=rep_info.FinType,ФинТипы=rep_info.FinType,Мероприятие=rep_info.FACT,ЛицСчет=rep_info.FacialAcc_Cls,';
  МаппингКлсУведПротокола3 = 'ТипСредствБюдж=rep_info.MeansType,КодЦелевыхСредств=rep_info.TransfertCls,ФинИсточники=rep_info.FinSource,';
  МаппингКлсУведПротокола4 = 'ИстВнутрФин=rep_info.IFS,КодДохода=rep_info.KD,Направление=rep_info.DirectionCLS,ТипКлассификации=rep_info.ClsType,';
  МаппингКлсУведПротокола5 = 'ИндексыДанных=rep_info.ProgIndex%d,ТипКлассификацииРасх=rep_info.CLSType%d,';
  МаппингКлсУведПротокола6 = 'Район=rep_info.RegionCLS,КодИсходящейСвязи=rep_d.LinkID,КодВходящейСвязи=rep_d.LinkID,';
  МаппингКлсУведПротокола7 = 'РайонТрансферта=rep_d.RegionCLS%d,РайонБУ=org.RegionCLS%d,Характер_ЛС=f,Примечание=(rep_c.Note%s)or(rep_d.Note%s),';
  МаппингКлсУведПротокола8 = 'КодБюджАссигнования=rep_info.BudAllocationCls,КодРасходногоОбязательства=rep_info.PayPromiseCls,КодСубсидии=rep_info.SubsidyCLS,';
  
  // Ограничения по правам на классификацию для запроса по детали
  МаппингКЛСПротоколПрава_БКРасх = 'KFSR=rep_info.KFSR,KVSR=rep_info.KVSR,KCSR=rep_info.KCSR,KVR=rep_info.KVR,KESR=rep_info.KESR,SUBKESR=rep_info.SubKESR,FACT=rep_info.FACT,FINTYPE=rep_info.FinType,MEANSTYPE=rep_info.MeansType,DIRECTIONCLS=rep_info.DirectionCLS';
  МаппингКЛСПротоколПрава_БКИст  = 'KVSR=rep_info.IFS';//tKvsrIFS.Code';
  МаппингКЛСПротоколПрава_БКДох  = 'KVSR=rep_info.KD';//tKvsrKD.Code';
  // Ограничения по правам на классификацию для запроса по заголовку
  МаппингКЛСПротоколПраваЗагКор_БКРасх = 'KFSR=rep_info_source.KFSR,KVSR=rep_info_source.KVSR,KCSR=rep_info_source.KCSR,KVR=rep_info_source.KVR,KESR=rep_info_source.KESR,SUBKESR=rep_info_source.SubKESR,FACT=rep_info_source.FACT,FINTYPE=rep_info_source.FinType,MEANSTYPE=rep_info_source.MeansType,DIRECTIONCLS=rep_info_source.DirectionCLS';
  МаппингКЛСПротоколПраваЗагКор_БКИст  = 'KVSR=rep_info_source.IFS';
  МаппингКЛСПротоколПраваЗагКор_БКДох  = 'KVSR=rep_info_source.KD';
  МаппингКЛСПротоколПраваЗагНов_БКРасх = 'KFSR=rep_info_dest.KFSR,KVSR=rep_info_dest.KVSR,KCSR=rep_info_dest.KCSR,KVR=rep_info_dest.KVR,KESR=rep_info_dest.KESR,SUBKESR=rep_info_dest.SubKESR,FACT=rep_info_dest.FACT,FINTYPE=rep_info_dest.FinType,MEANSTYPE=rep_info_dest.MeansType,DIRECTIONCLS=rep_info_dest.DirectionCLS';
  МаппингКЛСПротоколПраваЗагНов_БКИст  = 'KVSR=rep_info_dest.IFS';
  МаппингКЛСПротоколПраваЗагНов_БКДох  = 'KVSR=rep_info_dest.KD';   

  
//------------------------------------------------------------------------------------------------
// в зависимости от того расход это или приход - формируем ограничения по направлению операции ( операция для исходной клс и новой клс)
// при установленной галочке сторно
// -1  -  операция возврата
// 1 - прямая операция
//------------------------------------------------------------------------------------------------
//                интерфейс поступлений
//  OperationType
//            1    возврат расхода 
//           -1    приход                            

//-------------------------------------------------------------------------------------------------
//                интерфейс выбытий
//  OperationType 
//            1    возврат прихода 
//           -1    расход
//-------------------------------------------------------------------------------------------------
// возвращает способ учета договоров (стандартный=0 или расширенный блок=1)
Функция УчетДоговоров: целое;
начало
    //Определяем используемый блок бюджетных обязательств (1 - Учет договоров)
    Результат := СтрокаВЦелое(ПолучитьКонстантуКЭШ("",30,15,0));  
конец;

функция РасходВВыбытияхСтар : строка;
начало
  Результат := "(         
                  (Cor_c.ProgIndex = 313) and 
                  ( (cor_d.OperationType = 1) and (cor_d.ProgIndex = 316) ) 
                )" + nl;
конец;

функция РасходВПоступленияхСтар : строка;
начало
  Результат := "( 
                  (Cor_c.ProgIndex = 312) and 
                  ((cor_d.OperationType = 1) and (cor_d.ProgIndex = 315)) 
                )" + nl;
конец;

функция ПриходВВыбытияхСтар : строка;
начало
  Результат := "( 
                  (Cor_c.ProgIndex = 313) and 
                  ((cor_d.OperationType = 1) and (cor_d.ProgIndex = 315)) 
                 )" + nl;
конец;

функция ПриходВПоступленияхСтар : строка;
начало
  Результат := "(  
                  (Cor_c.ProgIndex = 312) and 
                  ( (cor_d.OperationType = 1) and (cor_d.ProgIndex = 316) ) 
                )" + nl;
конец;
                
функция ВозвратРасходаВВыбытияхСтар : строка;
начало
  Результат := "(  
                  (Cor_c.ProgIndex = 313) and 
                  ( (cor_d.OperationType = -1) and (cor_d.ProgIndex = 315) ) 
                 )" + nl;
конец;

функция ВозвратРасходаВПоступленияхСтар : строка;
начало
  Результат := "( 
                  (Cor_c.ProgIndex = 312) and 
                  ((cor_d.OperationType = -1) and (cor_d.ProgIndex = 316)) 
                 )" + nl;
конец;

функция ВозвратПриходаВПоступленияхСтар : строка;
начало
  Результат := "(  
                  (Cor_c.ProgIndex = 312) and 
                  ((cor_d.OperationType = -1) and (cor_d.ProgIndex = 315) ) 
                )" + nl;
конец;

функция ВозвратПриходаВВыбытияхСтар : строка;
начало
  Результат := "( 
                  (Cor_c.ProgIndex = 313) and 
                  ((cor_d.OperationType = -1) and (cor_d.ProgIndex = 316)) 
                )" + nl;
конец;

функция ВернутьПоляСуммСтар(коллекция : IVariables) : строка;
переменные
  знак, знакОдиночнойСуммы: строка;
начало
  если коллекция.ПараметрСуществует("ПоложительныйЗнак") и коллекция.Значение("ПоложительныйЗнак") = нет тогда 
    знак := "-"
  иначе
    знак := "";

  Если ( 
         (Коллекция.Значение("ВозвратРасхода")=Да или (Коллекция.Значение("ВозвратПрихода")=Да)) и 
         ((Коллекция.Значение("ПоложительныйЗнак")=нет) и коллекция.ПараметрСуществует("ПоложительныйЗнак"))
       ) 
  тогда
    ЗнакОдиночнойСуммы := "-"
  иначе 
    ЗнакОдиночнойСуммы := "";

  результат := " ,cor_d.Summa Summa"; // ставим значение по умолчанию
  ЕСЛИ Коллекция.Значение("Расход") = Да тогда  
    Результат := ",0 inSumma,cor_d.Summa outSumma," + ЗнакОдиночнойСуммы +  "cor_d.Summa Summa";
  Если Коллекция.Значение("Приход") = Да тогда   
    Результат := ",cor_d.Summa inSumma,0 outSumma," + ЗнакОдиночнойСуммы +  "cor_d.Summa Summa";
  ЕСЛИ Коллекция.Значение("ВозвратРасхода") = Да тогда  
    Результат := ",0 inSumma," + знак + "cor_d.Summa outSumma," + ЗнакОдиночнойСуммы +  "cor_d.Summa Summa";
  Если Коллекция.Значение("ВозвратПрихода") = Да тогда   
    Результат := "," + знак + "cor_d.Summa inSumma,0 outSumma," + ЗнакОдиночнойСуммы +  "cor_d.Summa Summa";
  Если Коллекция.Значение("РасходСВозвратом") = Да тогда   
    Результат := ", " + знак + "cor_d.Summa OutSumma, 0 InSumma, " + ЗнакОдиночнойСуммы +  "cor_d.Summa Summa";
  Если Коллекция.Значение("ПриходСВозвратом") = Да тогда   
    Результат := ", " + знак + "cor_d.Summa OutSumma, 0 InSumma, " + ЗнакОдиночнойСуммы +  "cor_d.Summa Summa";
  Если Коллекция.Значение("РасходСВозвратомПрихода") = Да тогда   
    Результат := " ,cor_d.Summa Summa";
  Если Коллекция.Значение("ПриходСВозвратомРасхода") = Да тогда   
    Результат :=" ,cor_d.Summa Summa";
  Если Коллекция.Значение("РасходИВозвратПриходаОтдельнойСуммой") = Да тогда
    Результат := ",
                 " + '' + "( 
                   (cor_c.ProgIndex-312)*(cor_d.ProgIndex-315)*((cor_d.OperationType + 1)/2)*cor_d.Summa + 
                   (313-cor_c.ProgIndex)*(316-cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa 
                 ) OutSumma,
                 " + знак + "(
                   (cor_c.ProgIndex-312)*(cor_d.ProgIndex-315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa + 
                   (313-cor_c.ProgIndex)*(316-cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa
                 ) InSumma
                 ";
  Если Коллекция.Значение("ПриходИВозвратРасходаОтдельнойСуммой") = Да тогда
    Результат :=", 
                " + '' + "(
                  (cor_c.ProgIndex-312)*(316-cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa + 
                  (313-cor_c.ProgIndex)*(cor_d.ProgIndex-315)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                ) InSumma,
                " + знак  + "(
                  (cor_c.ProgIndex-312)*(316-cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa +  
                  (313-cor_c.ProgIndex)*(cor_d.ProgIndex-315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa
                ) OutSumma";
  Если Коллекция.Значение("ПриходИВозвратПриходаОтдельнойСуммой") = Да тогда
    Результат :=", 
                " + '' + "(
                  (cor_c.ProgIndex-312)*(316-cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa + 
                  (313-cor_c.ProgIndex)*(cor_d.ProgIndex-315)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                ) InSumma,
                 " + "(
                   (cor_c.ProgIndex-312)*(cor_d.ProgIndex-315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa + 
                   (313-cor_c.ProgIndex)*(316-cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa
                 ) OutSumma,
                 ( 
                   (
                     (cor_c.ProgIndex-312)*(316-cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa + 
                     (313-cor_c.ProgIndex)*(cor_d.ProgIndex-315)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                   )
                  -
                   (
                     (cor_c.ProgIndex-312)*(cor_d.ProgIndex-315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa + 
                     (313-cor_c.ProgIndex)*(316-cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa
                   )
                 ) Summa
                 ";
                  
  
    
конец;


// Получение логического значения переменной из коллекции - для обхода проблемы с null
функция Значение(Коллекция: IVariables; Имя: строка): целое;
начало
  если Коллекция.ПараметрСуществует(Имя) тогда
    результат := Коллекция.Значение(Имя)
  иначе
    результат := Нет;  
конец;


функция ВернутьПоляУРМ : строка;
начало
 /$если Бюджет
    результат := 
    ",cor_c.ID cptFUID, 
      CAST(null as Integer) IsVised,
      CAST(null as Integer) IsInBudget,
      CAST(null as Integer) DocSuspended,
      CAST(null as Integer) SoftRejectCls,
      CAST(null as varChar(255)) SoftRejectCause,
      CAST(null as Integer) BeginDocStateRef,
      cor_d.Id detFUID,
      CAST(null as Integer) LastExtrChange,
      cor_c.SenderId CptSenderId,
      cor_c.SenderRecordId CptSenderRecordId,
      cor_d.SenderId DetSenderId,
      cor_d.SenderRecordId DetSenderRecordId,
      cor_c.DepartmentCls";
  /$иначе
    результат := 
    ",cor_c.FUID cptFUID,
      cor_c.IsVised,
      cor_c.IsInBudget,
      cor_c.DocSuspended,
      cor_c.SoftRejectCls,
      cor_c.SoftRejectCause,
      cor_c.BeginDocStateRef,
      cor_d.FUID detFUID,
      cor_c.LastExtrChange,
      CAST(" + ПолучитьКодУдКлиента + " as Integer) CptSenderId,
      cor_c.Id CptSenderRecordId, 
      CAST(" + ПолучитьКодУдКлиента + " as Integer) DetSenderId,
      cor_d.Id DetSenderRecordId";
  /$конец
конец;

функция РасходВВыбытиях : строка;
начало
  Результат := "(  
                  (Cor_c.ProgIndex = 313) and 
                  (((cor_d.OperationType = 1) and (cor_d.ProgIndex=316)) or
                  ((cor_d.OperationType = -1) and (cor_d.ProgIndex=315))) 
                )" + nl;
конец;

функция ПриходВПоступлениях : строка;
начало
  Результат := "(  
                  (Cor_c.ProgIndex = 312) and 
                  (((cor_d.OperationType = 1) and (cor_d.ProgIndex=316)) or
                  ((cor_d.OperationType = -1) and (cor_d.ProgIndex=315)))
                )" + nl;
конец;
                
функция ВозвратРасходаВПоступлениях : строка;
начало
  Результат := "( 
                  (Cor_c.ProgIndex = 312) and 
                  (((cor_d.OperationType = -1) and (cor_d.ProgIndex=316)) or
                  ((cor_d.OperationType = 1) and (cor_d.ProgIndex=315)))
                 )" + nl;
конец;


функция ВозвратПриходаВВыбытиях : строка;
начало
  Результат := "( 
                  (Cor_c.ProgIndex = 313) and 
                  (((cor_d.OperationType = -1) and (cor_d.ProgIndex=316)) or
                  ((cor_d.OperationType = 1) and (cor_d.ProgIndex=315)))
                )" + nl;
конец;


функция ВернутьПоляСумм(коллекция : IVariables) : строка;
переменные
  знак, знакОдиночнойСуммы: строка;
начало
  если коллекция.ПараметрСуществует("ПоложительныйЗнак") и коллекция.Значение("ПоложительныйЗнак") = нет тогда 
    знак := "-"
  иначе
    знак := "";

  Если ( 
         (Коллекция.Значение("ВозвратРасхода")=Да или (Коллекция.Значение("ВозвратПрихода")=Да)) и 
         ((Коллекция.Значение("ПоложительныйЗнак")=нет) и коллекция.ПараметрСуществует("ПоложительныйЗнак"))
       ) 
  тогда
    ЗнакОдиночнойСуммы := "-"
  иначе 
    ЗнакОдиночнойСуммы := "";
 // по исходной классификации берем сумму с минусом так как теперь это сторнирующяя операция
  результат := " ,(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) Summa"; // ставим значение по умолчанию
  если коллекция.Значение("ПечатныйДокумент") = да тогда
    результат := " ,cor_d.Summa ";
  ЕСЛИ Коллекция.Значение("Расход") = Да тогда  
    Результат := ",0 inSumma,(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) outSumma," + ЗнакОдиночнойСуммы +  "(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) Summa";
  Если Коллекция.Значение("Приход") = Да тогда   
    Результат := ",(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) inSumma,0 outSumma," + ЗнакОдиночнойСуммы +  "(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) Summa";
  ЕСЛИ Коллекция.Значение("ВозвратРасхода") = Да тогда  
    Результат := ",0 inSumma," + знак + "(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) outSumma," + ЗнакОдиночнойСуммы +  "(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) Summa";
  Если Коллекция.Значение("ВозвратПрихода") = Да тогда   
    Результат := "," + знак + "(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) inSumma,0 outSumma," + ЗнакОдиночнойСуммы +  "(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) Summa";
  Если Коллекция.Значение("РасходСВозвратомПрихода") = Да тогда   
    Результат := " ,(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) Summa";
  Если Коллекция.Значение("ПриходСВозвратомРасхода") = Да тогда   
    Результат :=" ,(cor_d.Summa*(cor_d.ProgIndex - 315) - cor_d.Summa*(316 - cor_d.ProgIndex)) Summa";
  Если Коллекция.Значение("РасходИВозвратПриходаОтдельнойСуммой") = Да тогда
    Результат := ",
                 " + '' + "( 
                   (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType + 1)/2)*cor_d.Summa -        
                   (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa 
                 ) OutSumma,
                 " + знак + "(
                   (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa - 
                   (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                 ) InSumma
                 ";
  Если Коллекция.Значение("ПриходИВозвратРасходаОтдельнойСуммой") = Да тогда
    Результат :=", 
                " + '' + "(
                  (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType + 1)/2)*cor_d.Summa -
                  (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa  
                ) InSumma,
                " + знак  + "(
                  (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa -
                  (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa   
                ) OutSumma";
  Если Коллекция.Значение("ПриходИВозвратПриходаОтдельнойСуммой") = Да тогда
    Результат :=", 
                " + '' + "(
                  (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType + 1)/2)*cor_d.Summa -
                  (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa                   
                ) InSumma,
                 " + "(
                   (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa - 
                   (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                 ) OutSumma,
                 ( 
                   (
                    (313 - cor_c.ProgIndex)*(cor_d.ProgIndex - 315)*((cor_d.OperationType + 1)/2)*cor_d.Summa -
                    (313 - cor_c.ProgIndex)*(316 - cor_d.ProgIndex)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa 
                   )
                  -
                   (
                    (cor_c.ProgIndex - 312)*(cor_d.ProgIndex - 315)*((cor_d.OperationType - 1)*(-1)/2)*cor_d.Summa - 
                    (cor_c.ProgIndex - 312)*(316 - cor_d.ProgIndex)*((cor_d.OperationType + 1)/2)*cor_d.Summa
                   )
                 ) Summa
                 ";
    
конец;


функция СоединениеСТаблицамиБоиУчетаДоговоров(коллекция: IVariables; постфикс: строка): строка;
начало
  //Определяем, какое БО нужно подтягивать к документам: старую версию или последнюю 
  если Коллекция.Значение("УчитыватьВерсииБО") тогда 
    результат := 
      Формат("  left join PaymentSchedule ps%s on ((cor_d%s.BudgetPromise = ps%s.InnerPromiseNum) and (cor_d%s.Promise = ps%s.ANumber))", 
                                                                                                постфикс, постфикс, постфикс, постфикс, постфикс)
  иначе
    результат := 
      Формат("  left join PaymentSchedule ps%s on ((cor_d%s.BudgetPromise = ps%s.InnerPromiseNum) and (ps%s.LastAccepted = 1))", 
                                                                        постфикс, постфикс, постфикс, постфикс);
      
  результат := результат + nl + 
    Формат("  left join Agreements a%s on (a%s.ID = ps%s.AgreementRef)", постфикс, постфикс, постфикс) + nl +
    Формат("  left join Agreements so%s on ((so%s.InnerNumber = a%s.StateOrderRef) and ((so%s.LastAccepted=1) or ((so%s.AdjustmentNumber = 0) and (so%s.Accepted = 0))))", 
                                                                     постфикс, постфикс, постфикс, постфикс, постфикс, постфикс) + nl +
    Формат("  left join ExecutionDocumentsCaption edc%s on (edc%s.ID = cor_d%s.ExecDoc)", постфикс, постфикс, постфикс);
конец;


функция ВЕрнутьПоляСЧетов(коллекция: IVariables): строка;
начало
  если коллекция.ПараметрСуществует("Плательщик") = да тогда
  начало
    если Коллекция.Значение("Плательщик") = да тогда
    результат := "
                  cor_c.OriginalPayerAcc_Ref sourceaccount,
                  cor_c.OriginalAcceptorAcc_Ref destAccount,"
    иначе 
    результат := "
                  cor_c.OriginalPayerAcc_Ref Destaccount,
                  cor_c.OriginalAcceptorAcc_Ref SourceAccount,";
  конец
  иначе
    результат := "
                  cor_c.OriginalPayerAcc_Ref sourceaccount,
                  cor_c.OriginalAcceptorAcc_Ref destAccount,"
конец;

функция ВернутьИмяПоляРайонаКонтрагента(Коллекция: IVariables): строка;
начало
  Результат := 'ArAccOrgOwn.RegionCLS'; 
  если Коллекция.ПараметрСуществует("Плательщик") и не Коллекция.Значение("Плательщик") тогда
    Результат := 'PrAccOrgOwn.RegionCLS';
конец;

функция ИмяПоляНомерБО(постфикс: строка): строка;
начало
  если УчетДоговоров тогда
    выбрать ЦелаяКонстанта(50, 47) из
      1: результат := 'ps' + постфикс + '.PromiseNumber';
      2: результат := 'a' + постфикс + '.ReestrNumber';
      иначе
        результат := 'ps' + постфикс + '.ANumber';
    конец
  иначе
    результат := 'ps' + постфикс + '.ANumber';
конец;

// получаем запрос уведомлений - ведущая таблица  - детализация
Функция ЗапросУведомленийПоКлассификации_БезОграничений(Коллекция : IVariables) : строка;
переменные
  поляСумм, поляСчетов: строка;
  соединенияСоИсходящимиСвязямиЗаголовка: строка;  
начало
  если СтрокаВЦелое(ПолучитьПараметр(4,0,"СторнирующиеНаправления")) тогда
    поляСумм := ВернутьПоляСумм(коллекция)
  иначе    
    поляСумм := ВернутьПоляСуммСтар(коллекция); 
  поляСЧетов := ВернутьПоляСчетов(коллекция);   
  если коллекция.Значение("КодИсходящейСвязиЗаголовок") &lt;&gt; '' тогда
    соединенияСоИсходящимиСвязямиЗаголовка := 'inner'
  иначе 
    соединенияСоИсходящимиСвязямиЗаголовка := 'left';  
                    
  Результат := "select
                /*=======Атрибуты детализации========*/
                cor_d.id,
                cor_d.id detid,
                cor_d.DocumentProgindex,  
                cor_d.ParentId" + nl +
                поляСумм + nl + "," +
                 
                /*Классификация*/
                "cor_d.IsclsChanged,
                cor_d.clstype,
                cor_d.Facialacc_Cls,
                cor_d.FAOrgType,
                cor_d.kvsr KVSRid,
                tKVSR.Code kvsr,
                cor_d.kfsr,
                cor_d.kcsr KCSRid,
                tKCSR.Code kcsr,
                cor_d.kvr KVRid,
                tKVR.Code KVR, 
                cor_d.kesr,
                cor_d.DirectionCls,
                cor_d.MeansType,
                cor_d.Fact,
                cor_d.RegionCLS,
                org.RegionCLS RegionBudgetEst,
                " + Формат("%s RegionContractor,", ВернутьИмяПоляРайонаКонтрагента(Коллекция)) + nl +                
                "cor_d.FinSource,
                cor_d.FinType,
                cor_d.DocType,
                cor_d.SubKesr,
                cor_d.FundsSource,
                cor_d.kd,
                cor_kd.KDValue KdValue,
                cor_d.TransfertCls,
                tc.Code TransfertClsValue,
                cor_d.ifs ifs_ref,
                cor_ifs.FinSourceValue IFS,                
                cor_d.buhoperationCls,
                cor_d.Note DetailNote,
                cor_d.OKATO OKATODetail,
                cor_d.ADDOKATO ADDOKATODetail,
                cor_d.ORIGINALCLSSUMMA,
                cor_d.NOTECLS,
                cor_d.OperationType,
                cor_d.SubsidyCls SubsidyCls, 
                s.Code SubsidyClsCode,
                cor_d.BudAllocationCls,
                balc.Code BudAllocationClsCode,
                cor_d.PayPromiseCls,
                ppc.Code PayPromiseClsCode,
                cor_d.DocumentProgindex,

                /*ГРБС*/
                org_GRBS.id Org_RefGRBS_Det,

                /*Новая организация*/
                cor_d.ChangeAcc_Ref,
                cor_d.ChangeAcc,
                cor_d.ChangeOrgName,
                cor_d.ChangeOrgINN,
                cor_d.ChangeOrgINN20,
                oa.ORG_REF,
                
                /*Прогиндексы*/
                cor_d.ProgIndex,
                cor_d.RecordIndex,
                
                /*Поля блокировки*/
                cor_d.IsBlocked,
                cor_d.BlockedCause,
                cor_d.UnBlockedDate,
                cor_d.UnblockedCause,

              
                /*Поля авторизации*/
                cor_d.CreaterUser,
                cor_d.UpdateDate,
                cor_d.UpdaterUser,
                cor_d.CreateDate,
                
                /*поля БО*/
                cor_d.Promise,
                cor_d.BudgetPromise,
                cor_d.ExecDoc,
                cor_d.ExecInnerNumber ExecInnerNumber,

                edc.DocNumber ExecDocNum,
                edc.ReestrNumber ExecDocReestrNum,
                edc.DocumentDate ExecDocDate,
                edc.DocType ExecDocType,
                edc.Summa ExecDocSumma,
                edc.Note ExecDocNote,    
                " + ИмяПоляНомерБО('') + " PromiseNumber,
                ps.innerpromisenum,
                ps.PromiseNumber NonChangePromiseNumber,
                ps.PromiseType PromiseType,
                ps.Summa PromiseSumma,
                a.DocNumber PromiseAgrNumber,
                a.AgreementDate PromiseAgrDate,
                a.InnerNumber PromiseAgrInnerNumber,
                a.AgreementSumma PromiseAgrSumma,
                a.ReestrNumber PromiseAgrReestrNumber,
                a.Note PromiseAgrNote,
                so.DocNumber PromiseOrderNumber,
                so.AgreementDate PromiseOrderDate,
                so.AgreementSumma PromiseOrderSumma,
                so.ReestrNumber PromiseOrderReestrNumber,
                so.Note PromiseOrderNote,"+ 
                /$если Бюджет
                "cast(null as Integer) ExecDocFUID,
                 cor_c.CryptoStatus, " +  
                /$иначе
                "edc.FUID  ExecDocFUID,
                 cast(Null as integer) CryptoStatus," +  
                /$конец
                
                "
                                
                /*=====Атрибуты заголовка========*/
                
                cor_c.id MasterId,
                cor_c.BudgetRef,
                cor_c.DocNumber,
                cor_c.InputDate,
                cor_c.RecordDate,
                cor_c.AcceptDate,
                cor_c.RequestNumber,  
              
                cor_c.Summa CaptionSumma,
                cor_c.Note,
                cor_c.Note CaptionNote,
                cor_c.BasicNote,
                cor_c.DocType CaptionDocType,
                cor_c.ProgIndex CptProgIndex,
                cor_c.OperationDirection,
                
                
                " + 
                
                /$если Бюджет
                "pde.SendDate,
                pde.PacketNumber,
                pde.Status,
                " +
                /$конец
                
                "/*Атрибуты исходного документа*/
                cor_c.OriginalNumber,
                cor_c.OriginalDate,
                cor_c.OriginalSumma,
                cor_c.OriginalNote,
                cor_c.OriginalProgIndex,
                cor_c.OKATO,
                cor_c.ADDOKATO,
                cor_c.PersonalInfo,
                " + поляСчетов + "
                cast(((cor_c.ProgIndex - 312)*cor_c.OriginalPayerAcc_Ref +
                (313 - cor_c.ProgIndex)*cor_c.OriginalAcceptorAcc_Ref) as integer) RSFO,
                /* Атрибуты плательщика */
                cor_c.OriginalPayerAcc_Ref,
                cor_c.OriginalPayerAcc,
                cor_c.OriginalPayerOrgName,
                cor_c.OriginalPayerOrgINN,
                cor_c.OriginalPayerOrgInn20,
                cor_c.OriginalPayerBankName,
                cor_c.OriginalPayerBankMfo,
                cor_c.OriginalPayerBankCor,
                cor_c.OriginalPayerBankFilName,

                cor_c.OriginalPayerFKOrgINN,
                cor_c.OriginalPayerFKOrgName,
                cor_c.OriginalPayerFKLS,
                cor_c.OriginalPayerFKCode,

                /* Атрибуты получателя */
                cor_c.OriginalAcceptorAcc_Ref,
                cor_c.OriginalAcceptorAcc,
                cor_c.OriginalAcceptorOrgName,
                cor_c.OriginalAcceptorOrgINN,
                cor_c.OriginalAcceptorOrgInn20,
                cor_c.OriginalAcceptorBankName,
                cor_c.OriginalAcceptorBankMfo,
                cor_c.OriginalAcceptorBankCor,
                cor_c.OriginalAcceptorBankFilName,

                cor_c.OriginalAcceptorFKOrgINN,
                cor_c.OriginalAcceptorFKOrgName,
                cor_c.OriginalAcceptorFKLS,
                cor_c.OriginalAcceptorFKCode,
                
                cor_c.ElNum,
                cor_c.ElDocRef,
                cor_c.FacialAcc_Cls FacialAcc_ClsCaption,  
                
                
                cor_c.AdminAcceptorInn,
                cor_c.AdminAcceptorInn20,
                cor_c.FKInn,
                cor_c.FKInn20,
                cor_c.FKName,
                cor_c.TerritorialFKInn,
                cor_c.TerritorialFKInn20,

                /* Дополнительные поля */
                cor_c.Reject_Cls,
                cor_c.RejectCause,
                cor_c.DocStateRef,
                
                Cast(55 as integer) AlgIndex,
                
      /*============ Поля для бухгалтерии 70н =============*/
                mt.ActivityKind,
                bac.BalanceCls, 
                bac.DebitBudClsKind, 
                bac.CreditBudClsKind,      
                CreditAP.ECCLS bacCreditKESR, 
                DebitAP.ECCLS bacDebitKESR,
                CreditAP.BUHACC CreditAcc70nValue, 
                DebitAP.BUHACC DebitAcc70nValue,        
                cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan,                       
                cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan,                       
                bac.CORRECTIONFLAG,
                bac.HeadActivityKind,
                
               lrp.ID OutLinkCpt, lrc.ID InLinkCpt, lrc.LinkTypeRef InLinkTypeCpt, lrp.LinkTypeRef OutLinkTypeCpt,
               lrp_cord.ID OutLink, lrc_cord.ID InLink, lrc_cord.LinkTypeRef InLinkType, lrp_cord.LinkTypeRef OutLinkType,                
               lrp_cord.ChildId, lrp_lt.ChildDocCls, cast(0 as integer) SequenceNumber, cast(0 as integer) SequenceParent,              
                
                cast(0 as varChar(17)) CreditDocCLS, 
                cast(0 as varChar(17)) DebitDocCLS,
                cast(0 as varChar(8)) DebitCodeAcc70n, 
                cast(0 as varChar(8)) CreditCodeAcc70n,
                cast(0 as varChar(28)) DebitNumberAcc70n, 
                cast(0 as varChar(28)) CreditNumberAcc70n,
                cast(0 as double precision) DebitAcc70n, 
                cast(0 as double precision) CreditAcc70n,
                0 CreditDocEK, 
                0 DebitDocEK, 
                cast(0 as varchar(20)) BudClS
                " + ВернутьПоляУРМ + "
                
                
            from
              CorrectionDetail cor_d
                left join CorrectionCaption cor_c on (cor_d.RecordIndex = cor_c.id)
                left join CorrectionDetail cor_d_child on (cor_d_child.ParentId = cor_d.Id)
                left join Kd cor_kd on (cor_kd.id = cor_d.kd)
                left join InnerFinSource cor_ifs on (cor_ifs.Id = cor_d.ifs)" +
                /$если Бюджет
                "left join PayDocExchange pde on (pde.PayDocRef = Cor_c.id)" +
                /$конец
                "left join BuhAccCorr bac on ((bac.BuhOperationCLS = cor_d.BuhOperationCLS))
                left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)
                left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)
                left join MeansType mt on (mt.Id = cor_d.MeansType)  
                left join TransfertCls tc on (tc.ID = cor_d.TransfertCls)
                left join FacialAcc_Cls f on (cor_d.Facialacc_Cls = f.Id)
                left join Org_Accounts fccoa on (fccoa.id = f.FCAccount) 
                left join Organizations org on (org.id = f.Org_Ref)
                left join Organizations org_RBS on (org_RBS.id=org.GENERALORG_REF)
                left join Organizations org_GRBS on (org_GRBS.id=org_RBS.GENERALORG_REF)
                left join Org_Accounts oa_payer on (oa_payer.id = cor_c.OriginalPayerAcc_Ref)  
                left join Organizations PrAccOrgOwn on (PrAccOrgOwn.ID = oa_payer.Org_Ref) 
                left join Org_Accounts oa_acceptor on (oa_acceptor.ID =  cor_c.OriginalAcceptorAcc_Ref)
                left join Organizations ArAccOrgOwn on (ArAccOrgOwn.ID = oa_acceptor.Org_Ref)                
                left join Org_Accounts oa on (oa.id=cor_d.ChangeAcc_Ref)                
                left join KVSR tKvsr on (tKvsr.id = cor_d.KVSR)
                left join KVR tKvr on (tKvr.id = cor_d.KVR)
                left join KCSR tKcsr on (tKcsr.id = cor_d.KCSR)
                left join KVSR tKvsrIFS on (tKvsrIFS.id = cor_ifs.KVSR)
                left join KVSR tKvsrKD on (tKvsrKD.id = cor_kd.KVSR)
                " + СоединениеСТаблицамиБоиУчетаДоговоров(коллекция, "") +
                соединенияСоИсходящимиСвязямиЗаголовка + " join LinkRecords lrp on ((lrp.ParentID = cor_c.id)" + Коллекция.Значение("ОгрПоИсходящимСвязямЗаголовка") + ")" + nl +
                "  left join LinkRecords lrc on ((lrc.ChildID = cor_c.id)" + Коллекция.Значение("ОгрПоВходящимСвязямЗаголовка") + ")" + nl +
                "  left join LinkRecords lrp_cord on ((lrp_cord.ParentID = cor_d.id)" + Коллекция.Значение("ОгрПоИсходящимСвязям") + ")" + nl +
                "  left join LinkRecords lrc_cord on ((lrc_cord.ChildID = cor_d.id)" + Коллекция.Значение("ОгрПоВходящимСвязям") + ")" + nl +
                "  left join LinkType lrp_lt on (lrp_lt.id = lrp_cord.LinkTypeRef)" + nl +
                "  left join SubsidyCls s on (cor_d.SubsidyCls = s.ID)" + nl + 
                "  left join BudAllocationCls balc on (cor_d.BudAllocationCls = balc.id)" + nl +
                "  left join PayPromiseCls ppc on (cor_d.PayPromiseCls = ppc.id)" + nl +                                
                "   
                
            where (1=1)    
            ";
конец;

// получаем запрос уведомлений - ведущая таблица  - заголовок
Функция ЗапросУведомленийПоЗаголовку_БезОграничений(Коллекция : IVariables) : строка;
переменные 
  поляКоторыхНетНаУРМ: строка;
начало
/$если Бюджет
    поляКоторыхНетНаУРМ := 
                "cor_c.ID cptFUID,
                cor_d_dest.id DetFUID,
                Cast(0 as integer) SourceDocumentRecordIndex,
                Cast(0 as integer) DestDocumentRecordIndex,
                cor_c.CryptoStatus,
                cor_c.SenderId CptSenderId,
                cor_c.SenderRecordId CptSenderRecordId,
                cor_d_dest.SenderId DetSenderId,
                cor_d_dest.SenderRecordId DetSenderRecordId,
                 ";
  /$иначе
    поляКоторыхНетНаУРМ := 
                "cor_c.FUID cptFUID,
                cor_d_dest.FUID DetFUID,
                cor_d_source.DocumentRecordIndex SourceDocumentRecordIndex,
                cor_d_dest.DocumentRecordIndex DestDocumentRecordIndex,
                Cast(Null as integer) CryptoStatus,
                CAST(" + ПолучитьКодУдКлиента + " as Integer) CptSenderId,
                cor_c.Id CptSenderRecordId, 
                CAST(" + ПолучитьКодУдКлиента + " as Integer) DetSenderId,
                cor_d_dest.Id DetSenderRecordId,                
                ";
  /$конец
  
  Результат := "select
                
                /*=====Атрибуты заголовка========*/
                
                cor_c.id MasterId,
                cor_d_dest.id,
                cor_d_dest.id detid,
                cor_d_dest.SenderRecordId DetSenderRecordId,
                cor_c.BudgetRef,
                cor_c.DocNumber,
                cor_c.InputDate,
                cor_c.RecordDate,
                cor_c.AcceptDate,
                cor_c.Summa CaptionSumma,
                cor_c.Note,
                cor_c.ElNum,
                cor_c.ElDocRef,
                
                cor_c.FacialAcc_Cls FacialAcc_ClsCaption,  
                cor_c.RequestNumber,  
                  
                cor_c.Note CaptionNote,
                cor_c.BasicNote,
                cor_c.DocType CaptionDocType,
                cor_c.ProgIndex CptProgIndex,
                cor_c.ProgIndex ProgIndex,
                cor_c.OperationDirection," + 
                /$если Бюджет
                "pde.SendDate,
                pde.PacketNumber,
                pde.Status,
                " + 
                /$конец
               "/*Атрибуты исходного документа*/
                cor_c.OriginalNumber,
                cor_c.OriginalDate,
                cor_c.OriginalSumma,
                cor_c.OriginalNote,
                cor_c.OriginalProgIndex,
                cor_c.OriginalRecordIndex,
                cor_c.OKATO,
                cor_c.ADDOKATO,
                cor_c.PersonalInfo,
                cast(((cor_c.ProgIndex - 312)*cor_c.OriginalPayerAcc_Ref +
                (313 - cor_c.ProgIndex)*cor_c.OriginalAcceptorAcc_Ref) as integer) RSFO,
                /* Атрибуты плательщика */
                cor_c.OriginalPayerAcc_Ref,
                cor_c.OriginalPayerAcc_Ref SourceAccount,
                cor_c.OriginalPayerAcc,
                cor_c.OriginalPayerOrgName,
                cor_c.OriginalPayerOrgINN,
                cor_c.OriginalPayerOrgInn20,
                cor_c.OriginalPayerBankName,
                cor_c.OriginalPayerBankMfo,
                cor_c.OriginalPayerBankCor,
                cor_c.OriginalPayerBankFilName,

                cor_c.OriginalPayerFKOrgINN,
                cor_c.OriginalPayerFKOrgName,
                cor_c.OriginalPayerFKLS,
                cor_c.OriginalPayerFKCode,

                /* Атрибуты получателя */
                cor_c.OriginalAcceptorAcc_Ref,
                cor_c.OriginalAcceptorAcc_Ref DestAccount,
                                
                /*источниковая классификация счета документа для бухгалтерии*/
                dfbt.ifs DFBTIFS_Ref,
                dfBAP.BuhAcc DFBuhAccFO,
                                
                cor_c.OriginalAcceptorAcc,
                cor_c.OriginalAcceptorOrgName,
                cor_c.OriginalAcceptorOrgINN,
                cor_c.OriginalAcceptorOrgInn20,
                cor_c.OriginalAcceptorBankName,
                cor_c.OriginalAcceptorBankMfo,
                cor_c.OriginalAcceptorBankCor,
                cor_c.OriginalAcceptorBankFilName,

                cor_c.OriginalAcceptorFKOrgINN,
                cor_c.OriginalAcceptorFKOrgName,
                cor_c.OriginalAcceptorFKLS,
                cor_c.OriginalAcceptorFKCode,
                
                cor_c.AdminAcceptorInn,
                cor_c.AdminAcceptorInn20,
                cor_c.FKInn,
                cor_c.FKInn20,
                cor_c.FKName,
                cor_c.TerritorialFKInn,
                cor_c.TerritorialFKInn20,
                

                /* Дополнительные поля */
                cor_c.Reject_Cls,
                cor_c.RejectCause,
                cor_c.DocStateRef,

                
                /*Поля авторизации*/
                cor_c.CreaterUser,
                cor_c.UpdateDate,
                cor_c.UpdaterUser,
                cor_c.CreateDate,
                 
                
                /*=======Атрибуты детализации========*/
                
           /*Атрибуты детализации с исходной классификацией*/
           
                cor_d_source.id SourceDetId,
                cor_d_source.Summa SourceSumma,
                cor_d_dest.IsclsChanged,
                
                /*Классификация*/
                cor_d_source.clstype SourceClsType,
                cor_d_source.FacialAcc_Cls SourceFacialAcc_Cls,
                cor_d_source.FAOrgType SourceFAOrgType,
                cor_d_source.kvsr SourceKVSRId,
                tKVSRsource.Code sourceKVSR,
                cor_d_source.kfsr SourceKFSR,
                cor_d_source.kcsr SourceKCSRId,
                tKCSRsource.Code sourceKCSR,
                cor_d_source.kvr SourceKVRId,
                tKVRsource.Code sourceKVR,
                cor_d_source.kesr SourceKESR,
                cor_d_source.DirectionCls SourceDirectionCls,
                cor_d_source.MeansType SourceMeansType,
                cor_d_source.Fact SourceFact,
                cor_d_source.RegionCLS SourceRegionCLS,
                cor_d_source.FinSource SourceFinSource,
                cor_d_source.FinType SourceFinType,
                cor_d_source.DocType SourceDocType,
                cor_d_source.SubKesr SourceSubKesr,
                cor_d_source.FundsSource SourceFundsSource,
                cor_d_source.kd Sourcekd,
                source_kd.KDValue SourceKdValue,
                cor_d_source.ifs Sourceifs_ref,
                source_ifs.FinSourceValue SourceIFS,
                cor_d_source.TransfertCls SourceTransfertCls,
                tc_s.Code SourceTransfertClsValue,
                cor_d_source.buhoperationCls SourceBuhOperationCls,
                cor_d_source.Note SourceDetailNote,

                cor_d_source.SenderId SourceDetSenderId,
                cor_d_source.SenderRecordId SourceDetSenderRecordId,
                cor_d_source.OKATO SourceOKATODetail,
                cor_d_source.ADDOKATO SourceADDOKATODetail,
                
                /*Прогиндексы*/
                cor_d_source.ProgIndex SourceProgIndex,
                cor_d_source.DocumentProgIndex SourceDocumentProgIndex,
                
                " + ПоляКоторыхНетНаУРМ  + "                
                
                /*Поля блокировки*/
                cor_d_source.IsBlocked SourceIsBlocked,
                cor_d_source.BlockedCause SourceBlockedCause,
                cor_d_source.UnBlockedDate SourceUnBlockedDate,
                cor_d_source.UnblockedCause SourceUnblockedCause,
                
           /*Атрибуты детализации с новой классификацией*/
                cor_d_dest.ParentId,
                cor_d_dest.id DestDetId,
                cor_d_dest.Summa DestSumma,
                cor_d_dest.Summa Summa,
                
                /*Классификация*/
                cor_d_dest.clstype DestClsType,
                cor_d_dest.FacialAcc_Cls DestFacialAcc_Cls,
                cor_d_dest.FAOrgType DestFAOrgType, 
                cor_d_dest.kvsr DestKVSRid,
                tKVSRdest.Code destKVSR,
                cor_d_dest.kfsr DestKFSR,
                cor_d_dest.kcsr DestKCSRid,
                tKCSRdest.Code destKCSR,
                cor_d_dest.kvr DestKVRid,
                tKVRdest.Code destKVR,
                cor_d_dest.kesr DestKESR,
                cor_d_dest.DirectionCls DestDirectionCls,
                cor_d_dest.MeansType DestMeansType,
                cor_d_dest.Fact DestFact,
                cor_d_dest.RegionCLS DestRegionCLS,
                cor_d_dest.FinSource DestFinSource,
                cor_d_dest.FinType DestFinType,
                cor_d_dest.DocType DestDocType,
                cor_d_dest.SubKesr DestSubKesr,
                cor_d_dest.FundsSource DestFundsSource,
                cor_d_dest.kd Destkd,
                dest_kd.KDValue DestKdvalue,
                cor_d_dest.ifs Destifs_ref,
                dest_ifs.FinSourceValue DestIFS,
                cor_d_dest.buhoperationCls DestBuhOperationCls,
                cor_d_dest.buhoperationCls BuhOperationCls,
                cor_d_dest.Note DestDetailNote,
                cor_d_dest.SenderId DestDetSenderId,
                cor_d_dest.SenderRecordId DestDetSenderRecordId,
                cor_d_dest.OKATO DestOKATODetail,
                cor_d_dest.ADDOKATO DestADDOKATODetail,
                cor_d_dest.TransfertCls DestTransfertCls,
                tc_d.Code DestTransfertClsValue,


                cor_d_dest.clstype ClsType,
                cor_d_dest.FacialAcc_Cls FacialAcc_Cls,
                cor_d_dest.FAOrgType FAOrgType,
                cor_d_dest.kvsr KVSRid,
                tKVSRdest.Code KVSR,
                cor_d_dest.kfsr KFSR,
                cor_d_dest.kcsr KCSRid,
                tKCSRdest.Code KCSR,
                cor_d_dest.kvr KVRid,
                tKVRdest.Code KVR,
                cor_d_dest.kesr KESR,
                cor_d_dest.DirectionCls DirectionCls,
                cor_d_dest.MeansType MeansType,
                cor_d_dest.Fact Fact,
                cor_d_dest.RegionCLS RegionCLS,
                cor_d_dest.FinSource FinSource,
                cor_d_dest.FinType FinType,
                cor_d_dest.DocType DocType,
                cor_d_dest.SubKesr SubKesr,
                cor_d_dest.FundsSource FundsSource,
                cor_d_dest.kd kd,
                dest_kd.KDValue Kdvalue,
                cor_d_dest.ifs ifs_ref,
                dest_ifs.FinSourceValue IFS,
                cor_d_dest.OKATO OKATODetail,
                cor_d_dest.ADDOKATO ADDOKATODetail,
                cor_d_dest.TransfertCls TransfertCls,
                tc_d.Code TransfertClsValue,
                
                cor_d_source.SubsidyCls sourceSubsidyCls, 
                s_s.Code SourceSubsidyClsCode,
                cor_d_dest.SubsidyCls destSubsidyCls, 
                d_s.Code destSubsidyClsCode,
                cor_d_dest.SubsidyCls SubsidyCls, 
                d_s.Code SubsidyClsCode,
                
                cor_d_source.BudAllocationCls SourceBudAllocationCls,
                s_balc.Code SourceBudAllocationClsCode,
                cor_d_dest.BudAllocationCls DestBudAllocationCls,
                d_balc.Code DestBudAllocationClsCode,
                cor_d_dest.BudAllocationCls,
                d_balc.Code BudAllocationClsCode,
                
                cor_d_source.PayPromiseCls SourcePayPromiseCls,
                s_ppc.Code SourcePayPromiseClsCode,
                cor_d_dest.PayPromiseCls DestPayPromiseCls,
                d_ppc.Code DestPayPromiseClsCode,
                cor_d_dest.PayPromiseCls,
                d_ppc.Code PayPromiseClsCode,        
                 
                /*Прогиндексы*/
                cor_d_dest.ProgIndex DestProgIndex,
                cor_d_dest.DocumentProgIndex DestDocumentProgIndex,                
                
                /*Поля блокировки*/
                cor_d_dest.IsBlocked DestIsBlocked,
                cor_d_dest.BlockedCause DestBlockedCause,
                cor_d_dest.UnBlockedDate DestUnBlockedDate,
                cor_d_dest.UnblockedCause DestUnblockedCause,
                
                /* А.Нехайчик */  
                cor_d_dest.IsBlocked IsBlocked,
                cor_d_dest.BlockedCause BlockedCause,
                cor_d_dest.UnBlockedDate UnBlockedDate,
                cor_d_dest.UnblockedCause UnblockedCause,

                /*Новая организация*/
                cor_d_dest.ChangeAcc_Ref,
                cor_d_dest.ChangeAcc,
                cor_d_dest.ChangeOrgName,
                cor_d_dest.ChangeOrgINN,
                cor_d_dest.ChangeOrgINN20,
                oa.ORG_REF,
                
                Cast(55 as integer) AlgIndex,
                
                /*поля БО*/
                cor_d_source.Promise SourcePromise,
                cor_d_source.BudgetPromise SourceBudgetPromise,
                cor_d_source.ExecDoc SourceExecDoc,
                cor_d_source.ExecInnerNumber SourceExecInnerNumber,

                edc_source.DocNumber SourceExecDocNum,
                edc_source.ReestrNumber SourceExecDocReestrNum,
                edc_source.DocumentDate SourceExecDocDate,
                edc_source.DocType SourceExecDocType,
                edc_source.Summa SourceExecDocSumma,
                edc_source.Note SourceExecDocNote,    
                " + ИмяПоляНомерБО('_source') + " SourcePromiseNumber,
                ps_source.PromiseNumber SourceNonChangePromiseNumber,
                ps_source.PromiseType SourcePromiseType,                
                ps_source.Summa SourcePromiseSumma,
                a_source.DocNumber SourcePromiseAgrNumber,
                a_source.AgreementDate SourcePromiseAgrDate,
                a_source.InnerNumber SourcePromiseAgrInnerNumber,
                a_source.AgreementSumma SourcePromiseAgrSumma,
                a_source.ReestrNumber SourcePromiseAgrReestrNumber,
                a_source.Note SourcePromiseAgrNote,
                so_source.DocNumber SourcePromiseOrderNumber,
                so_source.AgreementDate SourcePromiseOrderDate,
                so_source.AgreementSumma SourcePromiseOrderSumma,
                so_source.ReestrNumber SourcePromiseOrderReestrNumber,
                so_source.Note SourcePromiseOrderNote,
                

                cor_d_dest.Promise DestPromise,
                cor_d_dest.BudgetPromise DestBudgetPromise,
                cor_d_dest.ExecDoc DestExecDoc,
                cor_d_dest.ExecInnerNumber DestExecInnerNumber,
                
                edc_dest.DocNumber DestExecDocNum,
                edc_dest.ReestrNumber DestExecDocReestrNum,
                edc_dest.DocumentDate DestExecDocDate,
                edc_dest.DocType DestExecDocType,
                edc_dest.Summa DestExecDocSumma,
                edc_dest.Note DestExecDocNote,    
                " + ИмяПоляНомерБО('_dest') + " DestPromiseNumber,
                ps_dest.PromiseNumber DestNonChangePromiseNumber,
                ps_dest.PromiseType DestPromiseType,                
                ps_dest.Summa DestPromiseSumma,
                a_dest.DocNumber DestPromiseAgrNumber,
                a_dest.AgreementDate DestPromiseAgrDate,
                a_dest.InnerNumber DestPromiseAgrInnerNumber,
                a_dest.AgreementSumma DestPromiseAgrSumma,
                a_dest.ReestrNumber DestPromiseAgrReestrNumber,
                a_dest.Note DestPromiseAgrNote,
                so_dest.DocNumber DestPromiseOrderNumber,
                so_dest.AgreementDate DestPromiseOrderDate,
                so_dest.AgreementSumma DestPromiseOrderSumma,
                so_dest.ReestrNumber DestPromiseOrderReestrNumber,
                so_dest.Note DestPromiseOrderNote,
                

                cor_d_dest.Promise Promise,
                cor_d_dest.BudgetPromise BudgetPromise,
                cor_d_dest.ExecDoc ExecDoc,
                cor_d_dest.ExecInnerNumber ExecInnerNumber,
                
                edc_dest.DocNumber ExecDocNum,
                edc_dest.ReestrNumber ExecDocReestrNum,
                edc_dest.DocumentDate ExecDocDate,
                edc_dest.DocType ExecDocType,
                edc_dest.Summa ExecDocSumma,
                edc_dest.Note ExecDocNote,    
                " + ИмяПоляНомерБО('_dest') + " PromiseNumber,
                ps_dest.PromiseNumber NonChangePromiseNumber,
                ps_dest.Summa PromiseSumma,
                a_dest.DocNumber PromiseAgrNumber,
                a_dest.AgreementDate PromiseAgrDate,
                a_dest.InnerNumber PromiseAgrInnerNumber,
                a_dest.AgreementSumma PromiseAgrSumma,
                a_dest.ReestrNumber PromiseAgrReestrNumber,
                a_dest.Note PromiseAgrNote,
                so_dest.DocNumber PromiseOrderNumber,
                so_dest.AgreementDate PromiseOrderDate,
                so_dest.AgreementSumma PromiseOrderSumma,
                so_dest.ReestrNumber PromiseOrderReestrNumber,
                so_dest.Note PromiseOrderNote," + 
                /$если Бюджет
                "cast(null as Integer) SourceExecDocFUID,
                cast(null as Integer) DestExecDocFUID,
                cast(null as Integer) ExecDocFUID," +
                /$иначе
                "edc_source.Fuid SourceExecDocFUID,
                edc_dest.Fuid DestExecDocFUID,
                edc.Fuid  ExecDocFUID," +
                /$конец
                
                "
      /*============ Поля для бухгалтерии 70н =============*/
                mt_dest.ActivityKind, 
                mt_source.ActivityKind SourceActivityKind,
                mt_dest.ActivityKind DestActivityKind,                
                bac.BalanceCls, 
                bac.DebitBudClsKind, 
                bac.CreditBudClsKind,      
                CreditAP.ECCLS bacCreditKESR, 
                DebitAP.ECCLS bacDebitKESR,
                CreditAP.BUHACC CreditAcc70nValue, 
                DebitAP.BUHACC DebitAcc70nValue,        
                cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan,                       
                cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan,                       
                bac.CORRECTIONFLAG,
                bac.HeadActivityKind,
                
                cast(0 as varChar(17)) CreditDocCLS, 
                cast(0 as varChar(17)) DebitDocCLS,
                cast(0 as varChar(8)) DebitCodeAcc70n, 
                cast(0 as varChar(8)) CreditCodeAcc70n,
                cast(0 as varChar(28)) DebitNumberAcc70n, 
                cast(0 as varChar(28)) CreditNumberAcc70n,
                cast(0 as double precision) DebitAcc70n, 
                cast(0 as double precision) CreditAcc70n,
                0 CreditDocEK, 
                0 DebitDocEK, 
                cast(0 as varchar(20)) BudClS
                
      
            from
              CorrectionCaption cor_c 
                left join CorrectionDetail cor_d_source on ( (cor_d_source.RecordIndex = cor_c.Id) and (cor_d_source.ProgIndex=315) )
                left join CorrectionDetail cor_d_dest on ( (cor_d_dest.ParentId = cor_d_source.Id)and (cor_d_dest.ProgIndex=316) )
                left join Kd source_kd on (source_kd.id = cor_d_source.kd)
                left join InnerFinSource source_ifs on (source_ifs.Id = cor_d_source.ifs)
                left join Kd dest_kd on (dest_kd.id = cor_d_dest.kd)
                left join InnerFinSource dest_ifs on (dest_ifs.Id = cor_d_dest.ifs)
                left join TransfertCLS tc_s on (cor_d_source.TransfertCLS = tc_s.Id)
                left join TransfertCLS tc_d on (cor_d_dest.TransfertCLS = tc_d.Id) " +
                /$если Бюджет 
                "left join PayDocExchange pde on (pde.PayDocRef = Cor_c.id)" +
                /$конец 
                "left join BuhAccCorr bac on (bac.BuhOperationCLS = cor_d_dest.BuhOperationCLS)
                left join BuhAccPlan CreditAP on (CreditAP.ID = bac.CreditAccRef)
                left join BuhAccPlan DebitAP on (DebitAP.ID = bac.DebitAccRef)
                left join BuhOperationCLS boCLS on (boCLS.id = cor_d_dest.BuhOperationCLS)    
                left join MeansType mt_source on (mt_source.Id = cor_d_Source.MeansType) 
                left join MeansType mt_dest on (mt_dest.Id = cor_d_Dest.MeansType)
                left join FacialAcc_Cls f_s on (cor_d_source.Facialacc_Cls = f_s.Id)
                left join Organizations org_s on (f_s.Org_Ref = org_s.Id)
                left join FacialAcc_Cls f_d on (cor_d_dest.Facialacc_Cls = f_d.Id)
                left join Organizations org_d on (f_d.Org_Ref = org_d.Id)
                left join Org_Accounts oa_payer on (oa_payer.id = cor_c.OriginalPayerAcc_Ref)
                left join Org_Accounts oa_acceptor on (oa_acceptor.id = cor_c.OriginalAcceptorAcc_Ref)
                left join dfAccountsBuhTable dfbt on (
                ((cor_c.ProgIndex - 312)*cor_c.OriginalPayerAcc_Ref = dfbt.id) OR
                ((313 - cor_c.ProgIndex)*cor_c.OriginalAcceptorAcc_Ref = dfbt.id)
                )
                left join BuhAccPlan dfBAP on (dfBAP.ID = dfbt.FinOrgAccRef)   
              
                left join Org_Accounts oa on (oa.id=cor_d_dest.ChangeAcc_Ref)
                left join KVSR tKvsrsource on (tKvsrSource.id = cor_d_source.KVSR)
                left join KVR tKvrsource on (tKvrSource.id = cor_d_source.KVR)
                left join KCSR tKcsrsource on (tKcsrSource.id = cor_d_source.KCSR)
                left join KVSR tKvsrdest on (tKvsrDest.id = cor_d_dest.KVSR)
                left join KVR tKvrdest on (tKvrDest.id = cor_d_dest.KVR)
                left join KCSR tKcsrdest on (tKcsrdest.id = cor_d_dest.KCSR)
                left join KVSR tKvsrdestIFS on (tKvsrdestIFS.id = dest_ifs.KVSR)
                left join KVSR tKvsrdestKD on (tKvsrdestKD.id = dest_kd.KVSR)
                left join KVSR tKvsrsourceIFS on (tKvsrsourceIFS.id = source_ifs.KVSR)
                left join KVSR tKvsrsourceKD on (tKvsrsourceKD.id = source_kd.KVSR)                
                left join SubsidyCls s_s on (cor_d_source.SubsidyCls = s_s.ID)                
                left join SubsidyCls d_s on (cor_d_dest.SubsidyCls = d_s.ID)
                left join BudAllocationCls s_balc on (cor_d_source.BudAllocationCls = s_balc.id)
                left join BudAllocationCls d_balc on (cor_d_dest.BudAllocationCls = d_balc.id)
                left join PayPromiseCls s_ppc on (cor_d_source.PayPromiseCls = s_ppc.id)
                left join PayPromiseCls d_ppc on (cor_d_dest.PayPromiseCls = d_ppc.id)
                
                " + СоединениеСТаблицамиБоиУчетаДоговоров(коллекция, "_source") + "
                " + СоединениеСТаблицамиБоиУчетаДоговоров(коллекция, "_dest") + "                                
 
                 
            where (1=1)    
            ";
конец;  

Функция ЗапросУведомленийПоКлассификацииПротокола_БезОграничений(Коллекция : IVariables) : строка;
начало 
  /*Hint-*/Коллекция.Count;
  Результат := "
            select distinct
            
                /*=======Атрибуты детализации========*/
                
                rep_d.id ID,
                rep_d.RecordIndex,
                rep_d.LinkId,
                rep_d.Note,
                rep_d.CreateDate,
                rep_d.CreaterUser,
                rep_d.UpdateDate,
                rep_d.UpdaterUser,
                lt.Name SourceNameLink,
                lt.id SourceTypeLink,
                lr.ParentID SourceIDOriginalDoc,
                lr.ChildID SourceIDNewDoc,
                dcls.ClsType SourceClsType,
                
                rep_info.id InfoID,
                rep_info.RecordIndex InfoRecordIndex,
                rep_info.ClsType InfoClsType,
                rep_info.Kvsr InfoKvsr,
                rep_info.Kfsr InfoKfsr,
                rep_info.Kvr InfoKvr,
                rep_info.Kcsr InfoKcsr,
                rep_info.Kesr InfoKesr,
                rep_info.SubKesr InfoSubKesr,
                rep_info.Fact InfoFact,
                rep_info.DirectionCls InfoDirectionCls,
                rep_info.MeansType InfoMeansType,
                rep_info.FinType InfoFinType,
                rep_info.FacialAcc_Cls InfoFacialAcc_Cls,
                rep_info.Kd InfoKd,
                rep_info.IFS InfoIFS,
                rep_info.FinSource InfoFinSource,
                rep_info.TransfertCls InfoTransfertCls,
                rep_info.SubsidyCls InfoSubsidyCls,
                rep_info.BudAllocationCls InfoBudAllocationCls,
                rep_info.PayPromiseCls InfoPayPromiseCls,
                rep_info.RegionCls InfoRegionCls,
                rep_info.DocBase InfoDocBase,
                rep_info.AssignMentKind InfoAssignmentKind,
                rep_info.Variant InfoVariant,
                rep_info.ReestrNumber InfoReestrNumber,
                cast(0 as Integer) InfoBuhOperationCls,
                rep_info.Note InfoNote,
                rep_info.Progindex,
                rep_info.ParentID,
                rep_info.CreateDate,
                rep_info.CreaterUser,
                rep_info.UpdateDate,
                rep_info.UpdaterUser,
          
                
                /*=====Атрибуты заголовка========*/
                             
                rep_c.id MasterID,
                rep_c.DocNumber,
                rep_c.InputDate,
                rep_c.AcceptDate,    
                rep_c.Note,
                rep_c.PZKUSER,
                rep_c.PZKSTARTDATE,
                rep_c.PZKENDDATE,
                rep_c.Reject_Cls,
                rep_c.Reject_Cause,
                rep_c.CreateDate,
                rep_c.CreaterUser,
                rep_c.UpdateDate,
                rep_c.UpdaterUser,
                rep_c.DocStateRef              
                             
            From
              ReplacementClsDetailInfo rep_info
               left join ReplacementClsDetail rep_d on (rep_d.RecordIndex = rep_info.recordindex)
               left join ReplacementClsCaption rep_c on (rep_c.id = rep_d.RecordIndex)
               left join LinkRecords lr on (lr.id = rep_d.LinkId)
               left join LinkType lt on (lt.id = lr.LinkTypeRef)
               left join DocumentCls dcls on (dcls.id = lt.ChildDocCls)
            where
                (1=1) 
  ";
конец;  

Функция ЗапросУведомленийПоЗаголовкуПротокола_БезОграничений(Коллекция : IVariables) : строка;
начало 
  /*Hint-*/Коллекция.Count;
  Результат := "select distinct
                
                /*=====Атрибуты заголовка========*/
                
                CAST(null as Integer) BeginDocStateRef,
                CAST(null as Integer) SenderRecordID,
                CAST(null as Integer) SenderID,
                rep_c.id FUID,             
                rep_c.id MasterID,
                rep_c.DocNumber,
                rep_c.InputDate,
                rep_c.AcceptDate,    
                rep_c.Note,
                rep_c.PZKUSER,
                rep_c.PZKSTARTDATE,
                rep_c.PZKENDDATE,
                rep_c.Reject_Cls,
                rep_c.Reject_Cause,
                rep_c.CreateDate,
                rep_c.CreaterUser,
                rep_c.UpdateDate,
                rep_c.UpdaterUser,
                rep_c.DocStateRef,           
                
                /*=======Атрибуты детализации========*/
                
                rep_info_source.id SourceInfoID,
                rep_info_source.RecordIndex SourceInfoRecordIndex,
                rep_info_source.ClsType SourceInfoClsType,
                rep_info_source.Kvsr SourceInfoKvsr,
                rep_info_source.Kfsr SourceInfoKfsr,
                rep_info_source.Kvr SourceInfoKvr,
                rep_info_source.Kcsr SourceInfoKcsr,
                rep_info_source.Kesr SourceInfoKesr,
                rep_info_source.SubKesr SourceInfoSubKesr,
                rep_info_source.Fact SourceInfoFact,
                rep_info_source.DirectionCls SourceInfoDirectionCls,
                rep_info_source.MeansType SourceInfoMeansType,
                rep_info_source.FinType SourceInfoFinType,
                rep_info_source.FacialAcc_Cls SourceInfoFacialAcc_Cls,
                rep_info_source.Kd SourceInfoKd,
                rep_info_source.IFS SourceInfoIFS,
                rep_info_source.FinSource SourceInfoFinSource,
                rep_info_source.TransfertCls SourceInfoTransfertCls,
                rep_info_source.SubsidyCls SourceInfoSubsidyCls,
                rep_info_source.BudAllocationCls SourceInfoBudAllocationCls,
                rep_info_source.PayPromiseCls SourceInfoPayPromiseCls,
                rep_info_source.RegionCls SourceInfoRegionCls,
                rep_info_source.DocBase SourceInfoDocBase,
                rep_info_source.AssignMentKind SourceInfoAssignmentKind,
                rep_info_source.Variant SourceInfoVariant,
                rep_info_source.ReestrNumber SourceInfoReestrNumber,
                cast(0 as Integer) SourceInfoBuhOperationCls,
                rep_info_source.Note SourceInfoNote,
                rep_info_source.Progindex,
                rep_info_source.ParentID,
                rep_info_source.CreateDate,
                rep_info_source.CreaterUser,
                rep_info_source.UpdateDate,
                rep_info_source.UpdaterUser,
                
                rep_d.id DetID,
                rep_d.RecordIndex,
                rep_d.LinkId LinkID,
                rep_d.Note DestNote,
                rep_d.CreateDate,
                rep_d.CreaterUser,
                rep_d.UpdateDate,
                rep_d.UpdaterUser,
                lt.Name DetNameLink,
                lt.id DetTypeLink,
                lr.ParentID DetIDOriginalDoc,
                lr.ChildID DetIDNewDoc,
                dcls.ClsType DetClass,
                
                rep_info_dest.id DestInfoID,
                rep_info_dest.RecordIndex DestInfoRecordIndex,
                rep_info_dest.ClsType DestInfoClsType,
                rep_info_dest.Kvsr DestInfoKvsr,
                rep_info_dest.Kfsr DestInfoKfsr,
                rep_info_dest.Kvr DestInfoKvr,
                rep_info_dest.Kcsr DestInfoKcsr,
                rep_info_dest.Kesr DestInfoKesr,
                rep_info_dest.SubKesr DestInfoSubKesr,
                rep_info_dest.Fact DestInfoFact,
                rep_info_dest.DirectionCls DestInfoDirectionCls,
                rep_info_dest.MeansType DestInfoMeansType,
                rep_info_dest.FinType DestInfoFinType,
                rep_info_dest.FacialAcc_Cls DestInfoFacialAcc_Cls,
                rep_info_dest.Kd DestInfoKd,
                rep_info_dest.IFS DestInfoIFS,
                rep_info_dest.FinSource DestInfoFinSource,
                rep_info_dest.TransfertCls DestInfoTransfertCls,
                rep_info_dest.SubsidyCls DestInfoSubsidyCls,
                rep_info_dest.BudAllocationCls DestInfoBudAllocationCls,
                rep_info_dest.PayPromiseCls DestInfoPayPromiseCls,
                rep_info_dest.RegionCls DestInfoRegionCls,
                rep_info_dest.DocBase DestInfoDocBase,
                rep_info_dest.AssignMentKind DestInfoAssignmentKind,
                rep_info_dest.Variant DestInfoVariant,
                rep_info_dest.ReestrNumber DestInfoReestrNumber,
                cast(0 as Integer) DestInfoBuhOperationCls,
                rep_info_dest.Note DestInfoNote,
                rep_info_dest.Progindex,
                rep_info_dest.ParentID,
                rep_info_dest.CreateDate,
                rep_info_dest.CreaterUser,
                rep_info_dest.UpdateDate,
                rep_info_dest.UpdaterUser
            From
              ReplacementClsCaption rep_c
               left join ReplacementClsDetailInfo rep_info_source on ((rep_info_source.RecordIndex = rep_c.id) and (rep_info_source.Progindex = 515))
               left join ReplacementClsDetailInfo rep_info_dest on ((rep_info_dest.RecordIndex = rep_c.id) and (rep_info_dest.Progindex = 516))
               left join ReplacementClsDetail rep_d on (rep_d.RecordIndex = rep_c.id)
               left join LinkRecords lr on (lr.id = rep_d.LinkId)
               left join LinkType lt on (lt.id = lr.LinkTypeRef)
               left join DocumentCls dcls on (dcls.id = lt.ChildDocCls)
            where
                (1=1)
  ";
конец;  

// получить поле Организации ЛС
функция ПолучитьПолеОрганизацияЛС(Коллекция : IVariables): строка;
начало
  Результат := "Org_Ref";
  если Коллекция.ПараметрСуществует("ОрганизацияЛС") тогда
  выбрать Коллекция.Values("ОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
  если Коллекция.ПараметрСуществует("БюджОрганизацияЛС") тогда
  выбрать Коллекция.Values("БюджОрганизацияЛС") из
    1: Результат := "Org_Ref";
    2: Результат := "GeneralOrg_Ref";
  конец;
конец;

// Преобразовывает первоначальный маппинг используя префикс и постфикс для параметра и его значение
// например: первоначальный - "кфср=KFSR" передаём в качестве постфикса - стар и префикс source получаем "КФСРСтар=SourceKFSR" 
функция ПреобразоватьМаппинг(Маппинг, ПрефиксПараметра, ПостфиксПараметра, ПрефиксЗначения, ПостфиксЗначения : строка) : строка;
переменные 
  ткстИсходныйМаппингКлс, ткстНовыйМаппингКлс : Текст;
  сч : целое;
  ИмяКлсРус, ИмяКлсАнг : строка;
начало
  ткстИсходныйМаппингКлс := СоздатьТекст;
  ткстНовыйМаппингКлс := СоздатьТекст;
  Попытка
    ткстИсходныйМаппингКлс.РазделенноеЗначение := Маппинг;
    От сч := 0 до ткстИсходныйМаппингКлс.Количество-1 делать
    начало
      ИмяКлсРус := ткстИсходныйМаппингКлс.ИмяПараметра(сч);
      ИмяКлсАнг := ткстИсходныйМаппингКлс.ЗначениеПараметра(ИмяКлсРус);
      ткстНовыйМаппингКлс.ЗначениеПараметра(ПрефиксПараметра + ИмяКлсРус + ПостфиксПараметра) := ПрефиксЗначения + ИмяКлсАнг + ПостфиксЗначения;
    конец;
    Результат := ткстНовыйМаппингКлс.РазделенноеЗначение;
  обязательно
    УдалитьОбъект(ткстИсходныйМаппингКлс, ткстНовыйМаппингКлс);
  конец;
конец;

функция УведомленияВернутьМаппингПереносаПолейДетализации : строка;      
начало
  Результат := "КодЗаписи=detId,ЛицевойСчет=FacialAcc_Cls,КФСР=KFSR,КВСР=KVSR,КВСРКлюч=KVSRID,КЦСР=KCSR,КЦСРКлюч=KCSRID,КВР=KVR,КВРКлюч=KVRID,КЭСР=KESR,КдКлюч=KD,КодДохода=KDValue,ИсточникВнутрФинансированияКлюч=IFS_ref,ИсточникВнутрФинансирования=IFS," + 
               "ТипКлассификации=ClsType,Направление=DirectionCls,Мероприятие=Fact,ТипСредств=MeansType,КодЦелевыхСредств=TransfertClsValue,КодЦелевыхСредствКлюч=TransfertCls,ИсточникФинансирования=FinSource," +
               "ТипФинансирования=FinType,ТипДокумента=DocType,Район=RegionCls,СубКЭСР=SubKESR,ИсточникОбразованияСредств=FundsSource," +
               "ИндексыДанных=ProgIndex,ИндексыДанныхСвязанногоДокумента=DocumentProgIndex,СсылкаНаДетализациюСвязанногоДокумента=DocumentRecordIndex," +
               "ПризнакБлокировки=IsBlocked,ПричинаБлокировки=BlockedCause,ДатаРазблокировки=UnBlockedDate,ПричинаРазблокировки=UnBlockedCause," + 
               "КодОтправителяЗаписи=DetSenderID,КодУРМЗаписи=DetSenderRecordId,ОрганизацияГлавныйРаспорядитель=Org_RefGRBS_Det,Регион=RegionCLS,ВидОрганизацииЛС=FAOrgType," +
               "ПримечаниеДетализации=DetailNote,ОКАТОДеталь=OKATODetail,ДопОКАТОДеталь=ADDOKATODetail,РайонТрансферта=RegionCLS,РайонКонтрагента=RegionContractor,РайонБУ=RegionBudgetEst," + 
               "КодСубсидииКлюч=SubsidyCls,КодСубсидии=SubsidyClsCode,Отдел=DepartmentCLS,КодБюджАссигнованияКлюч=BudAllocationCls," +
               "КодБюджАссигнования=BudAllocationClsCode,КодРасходногоОбязательстваКлюч=PayPromiseCls,КодРасходногоОбязательства=PayPromiseClsCode";
конец;

функция УведомленияВернутьМаппингПереносаПолейОрганизации : строка;
начало
  Результат := "СсылкаНаСчет=Acc_Ref,Счет=Acc,Имя=OrgName,ИНН=OrgINN,КПП=OrgInn20,БанкИмя=BankName,БанкБИК=BankMfo,БанкКорСчет=BankCor,БанкФилиалИмя=FilName," + 
               "ОргУФКИНН=FKOrgINN,ОргУФКИмя=FKOrgName,ОргУФКЛС=FKLS,ОргУФККод=FKCode";
конец;

функция УведомленияВернутьМаппингПереносаБОиУД: строка;
начало
  результат := "БюджОбяз=Promise,ДокИсполнения=ExecDoc,ДоговораБО=BudgetPromise," +
               "ДокИсполненияНомер=ExecDocNum,ДокИсполненияНомерРеестра=ExecDocReestrNum,ДокИсполненияДата=ExecDocDate,ДокИсполненияВнутрНомер=ExecInnerNumber," +
               "ДокИсполненияТип=ExecDocType,ДокИсполненияСумма=ExecDocSumma,ДокИсполненияПримечание=ExecDocNote,ДокИсполненияФО=ExecDocFUID," +
               "ДоговораБОНомер=PromiseNumber,НеизменяемыйНомерБО=NonChangePromiseNumber,БОТип=PromiseType,ДоговораБОСумма=PromiseSumma,ДоговораБОНомерДоговора=PromiseAgrNumber," +
               "ДоговораБОДатаДоговора=PromiseAgrDate,ДоговораБОСуммаДоговора=PromiseAgrSumma,ДоговораБОРеестрНомерДоговора=PromiseAgrReestrNumber," +
               "ДоговораБОПримечаниеДоговора=PromiseAgrNote,ДоговораБОНомерКонтракта=PromiseOrderNumber,ДоговораБОДатаКонтракта=PromiseOrderDate," +
               "ДоговораБОСуммаКонтракта=PromiseOrderSumma,ДоговораБОРеестрНомерКонтракта=PromiseOrderReestrNumber,ДоговораБОПримечаниеКонтракта=PromiseOrderNote";
конец;

функция УведомленияВернутьМаппингПереносаПолейДетализацииПротоколаПЗК: строка;
начало
  результат := "ПротоколКодДетали=DetId,ПротоколКодДеталиИнф=InfoID,ПротоколКодДеталиИнфНов=DestInfoID,ПротоколКодДеталиИнфСтар=SourceInfoID," +
               "ПротоколСсылкаНаИсхДокумент=InfoParentID,ПротоколКВСР=InfoKVSR,ПротоколКФСР=InfoKFSR,ПротоколКЦСР=InfoKCSR,ПротоколКВР=InfoKVR,ПротоколКОСГУ=InfoKESR,ПротоколСубКОСГУ=InfoSubKESR," +
               "ПротоколКодСубсидииКлюч=InfoSubsidyCls,ПротоколКодБюджАссигнКлюч=InfoBudAllocationCls,ПротоколКодРасхОбязКлюч=InfoPayPromiseCls,ПротоколРайон=InfoRegionCls,ПротоколМероприятие=InfoFact," +
               "ПротоколНаправлениеОперации=InfoDirectionCls,ПротоколТипСредств=InfoMeansType,ПротоколТипФинансирования=InfoFinType,ПротоколЛицевойСчет=InfoFacialAcc_Cls,ПротоколКДКлюч=InfoKD," +
               "ПротоколИсточникВнутрФинансированияКлюч=InfoIFS,ПротоколИсточник=InfoFinSource,ПротоколКодЦелевыхСредствКлюч=InfoTransfertCls,ПротоколТипДокументаОснования=InfoDocBase,ПротоколВидАссигнований=InfoAssignmentKind," +
               "ПротоколВариант=InfoVariant,ПротоколАвтор=InfoCreaterUser,ПротоколДатаСоздания=InfoCreateDate,ПротоколДатаИзменения=UpdateDate,ПротоколИзменил=UpdaterUser,ПротоколПримечаниеИнф=InfoNote,ПротоколПримечание=Note," +
               "ПротоколИДСвязи=LinkID,ПротоколИсхДокСсылка=InfoRecordIndex,ПротоколСсылкаНаЗагИзДет=RecordIndex,ПротоколСсылкаНаИсходныйДокумент=RecordIndex,ПротоколУникальныйНомерДоговора=InfoReestrNumber,ПротоколКлассДокумента=progindex,ПротоколТипКлассификации=InfoClsType"
конец;

функция УведомленияВернутьМаппингПереносаПолей : Строка;
переменные
  МаппингДетализации, МаппингЗаголовка, МаппингДляБухгалтерии, МаппингБоУчетДоговоров, МаппингПротоколаПЗКЗаголовок, МаппингПротоколаПЗКДетализация: строка;
начало
  МаппингДетализации := УведомленияВернутьМаппингПереносаПолейДетализации + "," + 
                        ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейДетализации, "", "Плат", "Source", "") + "," +
                        ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейДетализации, "", "Получ", "Dest", "") + "," +
                        ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейДетализации, "", "Стар", "Source", "") + "," +
                        ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейДетализации, "", "Нов", "Dest", "") + "," +
                        "НоваяОрганизацияСсылкаНаСчет=ChangeAcc_Ref,НоваяОрганизацияСчет=ChangeAcc,НоваяОрганизацияИмя=ChangeOrgName,НоваяОрганизацияИНН=ChangeOrgINN,НоваяОрганизацияКПП=ChangeOrgINN20," + 
                        "Организация=Org_Ref,СсылкаНаИсходнуюКлассификацию=ParentId,ЛицСчетПлательщика=SourceFacialAcc_Cls,ЛицСчетПолучателя=DestFacialAcc_Cls,КлассификацияИзменена=IsClsChanged," + 
                        "СуммаПоКлассификацииИсходногоДокумента=ORIGINALCLSSUMMA,НазначениеДетализации=NOTECLS,ТипОперацииКлассификации=OperationType,ВидОрганизацииЛСПолучателя=DestFAOrgType," +
                        "ВидОрганизацииЛСПлательщика=SourceFAOrgType";
                        
  МаппингЗаголовка :=  "КодБюджета=BudgetRef,КодДокумента=MasterId,НомерДокумента=DocNumber,ДатаДокумента=InputDate,ДатаВвода=InputDate,ДатаПринятия=AcceptDate,Примечание=Note,ПримечаниеЗаголовка=CaptionNote,Основание=BasicNote," + 
                       "ТипУведомления=CaptionDocType,ИндексыДанныхЗаголовок=CptProgIndex,ДатаУчета=RecordDate,КриптоСтатус=CryptoStatus,ОКАТО=OKATO,ДопОКАТО=ADDOKATO,ПаспортныеДанные=PersonalInfo," + 
                       "ИсхДокНомер=OriginalNumber,ИсхДокНомерЭлДокумента=ElNum,ИсхДокДата=OriginalDate,ИсхДокСумма=OriginalSumma,ИсхДокНазначение=OriginalNote,ИсхДокКлассДокумента=OriginalProgIndex,ИсхДокКлассДокументаСсылка=OriginalRecordIndex," +
                       "СсылкаНаЭлектронныйДокумент=ELDOCREF,ЛицСчетЗаголовок=FacialAcc_ClsCaption," +                        
                       ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейОрганизации, "ИсхДокПлат", "", "OriginalPayer", "") + "," + 
                       ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейОрганизации, "ИсхДокПолуч", "", "OriginalAcceptor", "") + "," + 
                       "СостояниеДокумента=DocStateRef,ПричинаОтклонКод=Reject_CLS,ПричинаОтклонТекст=RejectCause," + 
                       "Автор=CreaterUser,АвторИзменений=UpdaterUser,ДатаВремяСоздания=CreateDate,ДатаВремяИзменения=UpdateDate," + 
                       "ИндексАлгоритма=AlgIndex,ДатаОтправления=SendDate,НомерПакета=PacketNumber,Статус=Status,НаправлениеОперации=OperationDirection," + 
                       "КодОтправителяДокумента=CptSenderID,КодУРМДокумента=CptSenderRecordID,СчетПлат=SourceAccount,СчетПолуч=DestAccount,ДатаЭкстренногоИзменения=LastExtrChange," + 
                       "ИсхДокОргФКИмя=FKName,ИсхДокОргФКИНН=FKInn,ИсхДокОргФККПП=FKInn20,ТерриторОргФКИНН=TerritorialFKInn,ТерриторОргФККПП=TerritorialFKInn20,ОргАдминПостИНН=AdminAcceptorInn,ОргАдминПостКПП=AdminAcceptorInn20," + 
                       "КодФОДокумента=cptFUID,КодФОЗаписи=DetFUID,НачальноеСостояниеДокумента=BeginDocStateRef,ПризнакЗависания=DocSuspended,ЕстьВБюджете=IsInBudget,ЛокальнаяВиза=IsVised,МягкаяПричинаОтклонКод=SoftRejectCLS,МягкаяПричинаОтклонТекст=SoftRejectCause," + 
                       "КодВходящейСвязи=InLink,КодИсходящейСвязи=OutLink,ТипВходящейСвязи=InLinkType,ТипИсходящейСвязи=OutLinkType," +
                       "КодВходящейСвязиЗаголовка=InLinkCpt,КодИсходящейСвязиЗаголовка=OutLinkCpt,ТипВходящейСвязиЗаголовка=InLinkTypeCpt,ТипИсходящейСвязиЗаголовка=OutLinkTypeCpt," + 
                       "РСФО=RSFO,УведомленияНомерЗаявки=RequestNumber";
  
  МаппингДляБухгалтерии  :=  "БухОперация=BuhOperationCLS,БККредит=CreditDocCLS,БКДебет=DebitDocCLS,"+
                             "ЭККредит=CreditDocEK,ЭКДебет=DebitDocEK,"+
                             "КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,"+
                             "БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,Баланс=BalanceCls,"+
                             "БухСчетДебетПлан=DebitAccPlan,БухСчетКредитПлан=CreditAccPlan," +                                                                                                                               
                             "ПланДебетЭК=bacDebitKESR,ПланКредитЭК=bacCreditKESR,БухСчетДебетБезЭК=DebitAcc70nValue,БухСчетКредитБезЭК=CreditAcc70nValue,БюджКлассификация=BudClS";

  МаппингБоУчетДоговоров  := УведомленияВернутьМаппингПереносаБОиУД + "," + 
                             ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаБОиУД, "", "Плат", "Source", "") + "," +
                             ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаБОиУД, "", "Получ", "Dest", "") + "," +   
                             ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаБОиУД, "", "Стар", "Source", "") + "," +
                             ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаБОиУД, "", "Нов", "Dest", "");
  
  МаппингПротоколаПЗКЗаголовок := "ПротоколСтатус=Status,ПротоколКодОтправителяДокумента=SenderID,ПротоколКодУРМДокумента=SenderRecordID,ПротоколКодФОДокумента=FUID,ПротоколКодФОЗаписи=FUID,НачальноеСостояниеДокумента=BeginDocStateRef,ПротоколКодОтправителяЗаписи=SenderID,ПротоколКодУРМЗаписи=SenderRecordId," +
                                  "ПротоколКодДокумента=MasterId,ПротоколНомерДокумента=DocNumber,ПротоколДатаВводаДокумента=InputDate,ПротоколАвтор=CreaterUser,ПротоколДатаСоздания=CreateDate,ПротоколДатаИзменения=UpdateDate,ПротоколИзменил=UpdaterUser,ПротоколДатаПринятия=AcceptDate,ПротоколЛог=protocol," +
                                  "ПротоколПричинаОтклонения=Reject_Cls,ПротоколПричинаОтклоненияКомментарий=Reject_Cause,ПротоколВыполнилПЗК=PZKUser,ПротоколДатаНачалаПЗК=PZKStartDate,ПротоколДатаОкончанияПЗК=PZKEndDate,ПротоколПримечаниеЗаголовок=Note,ПротоколКолСозданныхДокументов=NumberRecords," + 
                                  "ПротоколСостояниеДокумента=DocStateRef";
  МаппингПротоколаПЗКДетализация := УведомленияВернутьМаппингПереносаПолейДетализацииПротоколаПЗК + "," +
                                    ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейДетализацииПротоколаПЗК, "", "Стар", "Source", "") + "," +                        
                                    ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейДетализацииПротоколаПЗК, "", "Нов", "Dest", "");
  
  Результат := МаппингЗаголовка + "," + МаппингДетализации + "," + МаппингДляБухгалтерии + "," + МаппингБоУчетДоговоров + "," + МаппингПротоколаПЗКЗаголовок + "," + МаппингПротоколаПЗКДетализация;
конец;

функция УведомленияВернутьМаппингПереносаПолейДляУточняющейИнформации: строка;
начало
  результат := 
    ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейДетализации, "", "Нов", "Correction", "") + "," +
    ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейОрганизации, "ИсхДокПлат", "", "CorrectionOriginalPayer", "") + "," + 
    ПреобразоватьМаппинг(УведомленияВернутьМаппингПереносаПолейОрганизации, "ИсхДокПолуч", "", "CorrectionOriginalAcceptor", "") + "," +
    "УведомленияНомерДокумента=CorrectionDocNumber,УведомленияДатаДокумента=CorrectionInputDate,УведомленияДатаПринятия=CorrectionAcceptDate,УведомленияСуммаПоНовКлс=CorrectionSumma," + 
    "НоваяОрганизацияСсылкаНаСчет=CorrectionChangeAcc_Ref,НоваяОрганизацияСчет=CorrectionChangeAcc,НоваяОрганизацияИмя=CorrectionChangeOrgName,НоваяОрганизацияИНН=CorrectionChangeOrgINN,НоваяОрганизацияКПП=CorrectionChangeOrgINN20"; 
конец;

функция ПолучитьОграничениеПоНаправлениюСтар(Коллекция : IVariables) : строка;
начало
  Результат := "";
  ЕСЛИ Коллекция.Значение("Расход") = Да тогда  
    Результат := 
      РасходВВыбытияхСтар +  " or " + nl + 
      РасходВПоступленияхСтар;
  Если Коллекция.Значение("Приход") = Да тогда   
    Результат := 
      ПриходВПоступленияхСтар + " or " + nl + 
      ПриходВВыбытияхСтар;
  ЕСЛИ Коллекция.Значение("ВозвратРасхода") = Да тогда  
    Результат := 
      ВозвратРасходаВВыбытияхСтар + " or "+ nl + 
      ВозвратРасходаВПоступленияхСтар;
  Если Коллекция.Значение("ВозвратПрихода") = Да тогда   
    Результат := 
      ВозвратПриходаВПоступленияхСтар + " or " + nl + 
      ВозвратПриходаВВыбытияхСтар;
  Если (Коллекция.Значение("РасходСВозвратомПрихода") = Да) или  (Коллекция.Значение("РасходИВозвратПриходаОтдельнойСуммой") = Да) тогда   
    Результат := 
        РасходВВыбытияхСтар + " or " + nl + 
        РасходВПоступленияхСтар + " or " + nl + 
        ВозвратПриходаВВыбытияхСтар + " or " + nl + 
        ВозвратПриходаВПоступленияхСтар;
  Если (Коллекция.Значение("ПриходСВозвратомРасхода") = Да) или (Коллекция.Значение("ПриходИВозвратРасходаОтдельнойСуммой") = Да) тогда   
    Результат := 
         ПриходВПоступленияхСтар + " or " + nl + 
         ПриходВВыбытияхСтар + " or " + nl + 
         ВозвратРасходаВПоступленияхСтар + " or " + nl + 
         ВозвратРасходаВВыбытияхСтар;
    
  Если Результат &lt;&gt; "" тогда
    Результат := "and (" + Результат + ")";      
конец;


функция ПолучитьОграничениеПоНаправлению(Коллекция : IVariables) : строка;
начало
  Результат := "";
  ЕСЛИ Коллекция.Значение("Расход") = Да тогда  
    Результат := 
      РасходВВыбытиях;
  Если Коллекция.Значение("Приход") = Да тогда   
    Результат := 
      ПриходВПоступлениях;
  ЕСЛИ Коллекция.Значение("ВозвратРасхода") = Да тогда  
    Результат := 
      ВозвратРасходаВПоступлениях;
  Если Коллекция.Значение("ВозвратПрихода") = Да тогда   
    Результат := 
      ВозвратПриходаВВыбытиях;
  Если (Коллекция.Значение("РасходСВозвратомПрихода") = Да) или  (Коллекция.Значение("РасходИВозвратПриходаОтдельнойСуммой") = Да) тогда   
    Результат := 
        РасходВВыбытиях + " or " + nl + 
        ВозвратПриходаВВыбытиях;
  Если (Коллекция.Значение("ПриходСВозвратомРасхода") = Да) или (Коллекция.Значение("ПриходИВозвратРасходаОтдельнойСуммой") = Да) тогда   
    Результат := 
         ПриходВПоступлениях + " or " + nl + 
         ВозвратРасходаВПоступлениях;
    
  Если Результат &lt;&gt; "" тогда
    Результат := "and (" + Результат + ")";      
конец;

функция ЗаполнитьОграничениеПоРС(именаПараметровРС : строка; коллекция : IVariables) : строка;
переменные
  ткстСписокПараметров : Текст;
  имяПараметра : строка;
  сч : целое;
начало
  результат := "";
  ткстСписокПараметров := СоздатьТекст;
  ткстСписокПараметров.РазделенноеЗначение := именаПараметровРС;
  попытка
    сч := 0;
    пока (сч &lt;= ткстСписокПараметров.Количество - 1)  и результат = "" делать
    начало
      имяПараметра := ткстСписокПараметров.Стр(сч);
      если коллекция.Значение(имяПараметра)&gt; " " тогда
        результат := коллекция.Значение(имяПараметра);
      сч  := сч + 1;
    конец;
  обязательно
    УдалитьОбъект(ткстСписокПараметров);
  конец;
конец;


функция ПроверитьНаНепустуюМаскуКД(Стр: строка): целое;
начало
  Результат := (Стр &lt;&gt; "____________________") и (Стр &lt;&gt; "") и (Стр &lt;&gt; "#") и (Стр &lt;&gt; "#____________________");
конец;

// процедура формирования общих ограничений
функция ОбщиеОграниченияУведомлений(Коллекция:IVariables):строка;
переменные
  маппингУведомлений, огрУведомлений, допОграничения, огрПоНаправлению, огрПоСвязДок, именаПараметровРС : строка;
  времКоллекция : IVariables;
  ОгрПоНевыясн, ОгрЕстьВБюджете, ОгрЗависшиеДокументы, ОгрЗависшиеЛокальныеОбработанные: строка;
начало                                
  времКоллекция := CreateVariables;
  ПОПЫТКА
    времКоллекция.PumpData(коллекция);
    маппингУведомлений := коллекция.Значение("МаппингУведомлений");

    именаПараметровРС := "РСФО,КазнРС,РСКазн"; // счет ФО 
    времКоллекция.Значение("РСФО") := ЗаполнитьОграничениеПоРС(именаПараметровРС, времКоллекция);
    
    именаПараметровРС := "СсылкаНаСчет,РаспРСССылка,РСССылка"; // ссылка на счет
    времКоллекция.Значение("СсылкаНаСчет") := ЗаполнитьОграничениеПоРС(именаПараметровРС, времКоллекция);
    именаПараметровРС := "ПлатРСССылка,СоСчета"; // плательщик
    времКоллекция.Значение("ПлатРСССылка") := ЗаполнитьОграничениеПоРС(именаПараметровРС, времКоллекция);
    именаПараметровРС := "ПолучРСССылка,НаСчет"; // получатель
    времКоллекция.Значение("ПолучРСССылка") := ЗаполнитьОграничениеПоРС(именаПараметровРС, времКоллекция);

    Если времКоллекция.ПараметрСуществует("ВклДокументыВыбор")тогда
    начало
      если 
        не((строка(Коллекция.Values("ВклДокументыВыбор")) = "")или(строка(Коллекция.Values("ВклДокументыВыбор")) = "0")) и 
        не времКоллекция.ПараметрСуществует("ИндексыДанных") 
      тогда
        времКоллекция.Values("ИндексыДанных") := времКоллекция.Values("ВклДокументыВыбор") 
    конец; 
     
    огрУведомлений := Ограничение(МаппингУведомлений, времКоллекция);
    если СтрокаВЦелое(ПолучитьПараметр(4,0,"СторнирующиеНаправления")) тогда
      огрПоНаправлению := ПолучитьОграничениеПоНаправлению(времКоллекция)
    иначе    
      огрПоНаправлению := ПолучитьОграничениеПоНаправлениюСтар(времКоллекция);
    
    Если времКоллекция.Значение("НеВыбиратьСоСвязаннымиДокументами") и (времКоллекция.Значение("ВсегдаВыбиратьДанныеУведомлений") &lt;&gt; 1)   тогда
      огрПоСвязДок := "and (cor_d.DocumentProgIndex is null)"
    иначе 
      огрПоСвязДок := "";
      
    ОгрПоНевыясн := "";
    если  Коллекция.Значение("ОгрПоНевыясненным")=1  тогда
      если Коллекция.Значение("ТипОгрПоНевыясненным") = 0 тогда 
        начало
          //формирование ограничения по невыясненным для запроса уведомлений по заголовку     
          ВремКоллекция.Значение("КодДохода") := '#' + СтроковаяКонстанта(3,0); // только данный код
          ОгрПоНевыясн:= Ограничение("КодДохода=(source_kd.kdvalue%l') or (dest_kd.kdvalue%l)", ВремКоллекция);
                
          ВремКоллекция.Значение("КодДохода")  :='#' + СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
          если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
          ОгрПоНевыясн := ОгрПоНевыясн + Ограничение("КодДохода=(source_kd.kdvalue%l') or (dest_kd.kdvalue%l)", ВремКоллекция);
        конец
      иначе
        начало 
          //формирование ограничения по невыясненным для запроса уведомлений по классификации
          ВремКоллекция.Значение("КодДохода") := '#' + СтроковаяКонстанта(3,0); // только данный код
          ОгрПоНевыясн:= Ограничение("КодДохода=cor_kd.KDValue%l", ВремКоллекция);
      
          ВремКоллекция.Значение("КодДохода")  :='#' + СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
          если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
          ОгрПоНевыясн := ОгрПоНевыясн + Ограничение("КодДохода=cor_kd.KDValue%l", ВремКоллекция);
        конец;    
        
    если  Коллекция.Значение("ТолькоНевыясненные")=1  тогда     
      если Коллекция.Значение("ТипОгрПоНевыясненным") = 0 тогда     
      начало  
        ОгрПоНевыясн := ""; 
        ВремКоллекция.Значение("КодДохода") := СтроковаяКонстанта(3,0);// только данный код
        ОгрПоНевыясн:= Ограничение("КодДохода=(source_kd.kdvalue%l') or (dest_kd.kdvalue%l)", ВремКоллекция);
        ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
        если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
          ОгрПоНевыясн := 'and (((1=1)' + ОгрПоНевыясн + ') or ((1=1)' + Ограничение("КодДохода=(source_kd.kdvalue%l') or (dest_kd.kdvalue%l)", ВремКоллекция) + '))';
      конец
      иначе 
      начало  
        ОгрПоНевыясн := ""; 
        ВремКоллекция.Значение("КодДохода") := СтроковаяКонстанта(3,0);// только данный код
        ОгрПоНевыясн:= Ограничение("КодДохода=cor_kd.KDValue%l", ВремКоллекция);
        ВремКоллекция.Значение("КодДохода")  := СтроковаяКонстанта(3,11); // маска внебюджетных невыясненных кодов дохода
        если ПроверитьНаНепустуюМаскуКД(ВремКоллекция.Значение("КодДохода")) тогда
          ОгрПоНевыясн := 'and (((1=1)' + ОгрПоНевыясн + ') or ((1=1)' + Ограничение("КодДохода=cor_kd.KDValue%l", ВремКоллекция) + '))';
      конец;            
    // ограничение по признаку наличия документов в Бюджете
      
    ОгрЕстьВБюджете := ОграничитьЕстьВБюджете(Коллекция, 'cor_c.IsInBudget');
    // только документы находящиеся в зависшем состоянии 
    ОгрЗависшиеДокументы := ОграничитьПоЗависшим(Коллекция, 'cor_c.DocSuspended');
    //  Локальные документы или документы нахощиеся в зависшем состоянии или документы обработанные по состояниям
    ОгрЗависшиеЛокальныеОбработанные := ОграничитьПоЛокЗависшимДок(Коллекция, 'cor_c.IsInBudget', 'cor_c.DocSuspended', 'cor_c.IsVised');
  
    допОграничения := времКоллекция.Values("ДопОграничения");
    // если есть ограничение по коду реестра - тогда не выбираем ничего
    если Коллекция.ПараметрСуществует("КодРеестра") тогда 
      допОграничения := допОграничения + " and (cor_c.id = -1)";
      
    // если есть ограничение по номеру первичного документа - тогда не выбираем ничего
    если Коллекция.Значение("НомерДокИсточн") &gt; "" тогда
      допОграничения := допОграничения + " and (1 &lt;&gt; 1)";
            
    результат := огрУведомлений + nl + допОграничения + ОгрПоНевыясн + nl + огрПоНаправлению + nl + огрПоСвязДок + nl + 
                 ОгрЕстьВБюджете + nl + ОгрЗависшиеДокументы + nl + ОгрЗависшиеЛокальныеОбработанные;
  ОБЯЗАТЕЛЬНО
    УдалитьОбъект(времКоллекция);
  КОНЕЦ;
конец;

функция ВернутьОграничениеПоПустымБухСчетам(Коллекция : Ivariables) : строка;
начало
  если Коллекция.ПараметрСуществует("НеВключатьПустыеБухСчета") и 
      (Коллекция.values("НеВключатьПустыеБухСчета")=да) и
      (Коллекция.Значение("ПланСчетов") = 3) 
  тогда
    Результат := " and (DebitAP.id is not null) and (CreditAP.id is not null) "
  иначе
    Результат := "";
конец;

функция ПолучитьОгрПоОрганизации(маппинг : строка; коллекция : IVariables) : строка;
переменные
  ОрганизацияЛС : строка;
начало
  результат := "";
  если Коллекция.Values("ОграничитьПоОрганизацииВладельцуЛС") тогда
  начало
    организацияЛС := ПолучитьПолеОрганизацияЛС(коллекция);
    маппинг := ЗаменитьСтроку(маппинг, "#", организацияЛС, ЗаменятьВсе);
    результат := Ограничение(маппинг, коллекция);
  конец
  иначе Если Коллекция.Значение("ОргСсылка") тогда
  начало
    результат := Ограничение("ОргСсылка=(oa_payer.org_ref%d) or (oa_acceptor.org_ref%d)", Коллекция);
  конец;                                             
конец;

функция ПолучитьОграничениеПоДатеУчета(Коллекция : IVariables) : Строка;
переменные
  НачДата, КонДата : строка;
начало
 // формируем ограничение по дате
  НачДата := Коллекция.Values("НачальнаяДата");
  КонДата := Коллекция.Values("КонечнаяДата");    
  
  если (Коллекция.Values("ВсегдаВключатьПроведенныеВРеестр") = 1) тогда
  начало
    Результат := "and((cor_c.RecordDate between " + начДата + " and " + КонДата + ")or" +
                 "(cor_c.AcceptDate between " + НачДата + " and " + КонДата + "))";
  конец иначе
  начало
    Результат := 'and ((cor_c.RecordDate between ' + начДата + ' and ' + КонДата + ')or' +
                '((cor_c.RecordDate is null)and(cor_c.AcceptDate between ' + НачДата + ' and ' + КонДата + ')))';
  конец;   
конец;

функция ВернутьМаппингБОиУД(коллекция: Ivariables; ПоЗаголовкуИлиДетализации: целое): строка;
начало
  /*Hint-*/коллекция.Count;
  если УчетДоговоров тогда
  начало
    если ПоЗаголовкуИлиДетализации = ЭтоЗапросПоЗаголовку тогда
      результат := Формат(МаппингБюдОбязУчетДоговПоЗаголовку, ИмяПоляНомерБО('_source') + '%d', ИмяПоляНомерБО('_dest') + '%d')
    иначе
      результат := Формат(МаппингБюдОбязУчетДогов, ИмяПоляНомерБО('') + '%d')
  конец      
  иначе
  начало
    если ПоЗаголовкуИлиДетализации = ЭтоЗапросПоЗаголовку тогда  
      результат := МаппингБюдОбязСтдПоЗаголовку
    иначе 
      результат := МаппингБюдОбязСтд;  
  конец;  
конец;

функция ОграничитьПоляНаНеПусто(поля: строка): строка;
переменные
  ткстПоля: Текст;
  имяПоля: строка;
  сч: целое;
начало
  результат := "";
  ткстПоля := СоздатьТекст;
  попытка
    ткстПоля.РазделенноеЗначение := поля;
    от сч:=0 до ткстПоля.количество - 1 делать
    начало
      имяПоля := ткстПоля.Стр(сч);
      результат := "and not(" + имяполя + " is null)";
    конец;
  обязательно
    УдалитьОбъект(ткстПоля);
  конец;
конец;

функция ОграничитьПоляНаПусто(поля: строка): строка;
переменные
  ткстПоля: Текст;
  имяПоля: строка;
  сч: целое;
начало
  результат := "";
  ткстПоля := СоздатьТекст;
  попытка
    ткстПоля.РазделенноеЗначение := поля;
    от сч:=0 до ткстПоля.количество - 1 делать
    начало
      имяПоля := ткстПоля.Стр(сч);
      результат := "and (" + имяполя + " is null)";
    конец;
  обязательно
    УдалитьОбъект(ткстПоля);
  конец;
конец;

функция ВернутьОграничениеПОЗаполненностиБОиУД(коллекция: Ivariables; ПоЗаголовкуИлиДетализации: целое): строка;
переменные
  полеБюджетногоОбязательства, ОгрПоБюджОбяз, полеДокументаИсполнения: строка;
начало
  если УчетДоговоров тогда
  начало
    если ПоЗаголовкуИлиДетализации = ЭтоЗапросПоЗаголовку тогда
      полеБюджетногоОбязательства := ИмяПоляНомерБО('_source') + "," + ИмяПоляНомерБО('_dest')
    иначе
      полеБюджетногоОбязательства := ИмяПоляНомерБО('')
  конец      
  иначе
  начало
    если ПоЗаголовкуИлиДетализации = ЭтоЗапросПоЗаголовку тогда  
      полеБюджетногоОбязательства := "cor_d_source.Promise,cor_d_dest.Promise"
    иначе 
      полеБюджетногоОбязательства := "cor_d.Promise";  
  конец;
  
  если ПоЗаголовкуИлиДетализации = ЭтоЗапросПоЗаголовку тогда
    полеДокументаИсполнения := "cor_d_source.ExecDoc,cor_d_dest.ExecDoc"
  иначе
    полеДокументаИсполнения := "cor_d.ExecDoc";

  // ограничение на непустые номера БО для бюджетных обяхательств и договоров    
  ОгрПоБюджОбяз := Коллекция.Values("БюджетныеОбязательстваКазн"); 
  если УбратьПробелы(ОгрПоБюджОбяз) = "" тогда
    ОгрПоБюджОбяз := Коллекция.Values("БюджетныеДоговораКазн");
  если УбратьПробелы(ОгрПоБюджОбяз) &lt;&gt; "" тогда
    если строкаВЦелое(ОгрПоБюджОбяз) = 1 тогда
      результат := ОграничитьПоляНаНеПусто(полеБюджетногоОбязательства)
    иначе
      результат := ОграничитьПоляНаПусто(полеБюджетногоОбязательства)
  иначе 
    результат := "";
    
  если УбратьПробелы(Коллекция.Values("ДокументыИсполненияКазн")) &lt;&gt; "" тогда
    если СтрокаВЦелое(Коллекция.Values("ДокументыИсполненияКазн")) = 1 тогда
      результат := результат + ОграничитьПоляНаНеПусто(полеДокументаИсполнения)
    иначе
      результат := результат + ОграничитьПоляНаПусто(полеДокументаИсполнения);
конец;


функция ЗапросУведомленийПоКлассификацииПротоколаПЗК(Коллекция : IVariables):строка;
переменные
  ОгрУведомлений, ОгрПоДате, Комментарий, Запрос: строка;
  ОгрПоСвязям, сКДНев, сВнебюджКДНев, ОгрПоПринятию: строка;
  данныеПредАлгоритмов: СтатическиеДанные;
  ОгрПрава_БКРасх,ОгрПрава_БКИст,ОгрПрава_БКДох,ОгрПрава: строка; 
  /$если База70100
  ОгрТипДеят: строка;
  /$конец
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос уведомлений по классификации.");

  Коллекция.Значение("МаппингУведомлений") := МаппингБазовыеОгрПротокола1 + МаппингБазовыеОгрПротокола2 + МаппингБазовыеОгрПротокола3 + 
                                              МаппингКлсУведПротокола1 + МаппингКлсУведПротокола2 + МаппингКлсУведПротокола3 + МаппингКлсУведПротокола4 + МаппингКлсУведПротокола5 + 
                                              МаппингКлсУведПротокола6 + МаппингКлсУведПротокола7 + МаппингКлсУведПротокола8;

  // если нужно выбираем уведомления, которые уточняют данные прошлого алгоритма
  если Значение(Коллекция,"ВычислятьУточняющуюКлассификацию") или Значение(Коллекция,"ПолучитьВсюЦепочкуУведомлений") тогда                     
  попытка
    Коллекция.Значение("КодЗаписи") := "";
    коллекция.Значение("ТолькоНевыясненные")  := "0";
    данныеПредАлгоритмов := коллекция.Значение("ДанныеПредАлгоритмов");
    если Коллекция.Значение("ВыбратьУведомленияУточняющиеНевыясненные") тогда
    начало
      сКДНев := ЗаменитьСтроку(СтроковаяКонстанта(3,0),"_","?");
      сВнебюджКДНев := ЗаменитьСтроку(СтроковаяКонстанта(3,11),"_","?");      
      данныеПредАлгоритмов.Фильтр := Формат("((kd like '%s') or (kd like '%s'))", сКДНев, сВнебюджКДНев);
    конец;  
    Коллекция.Значение("СсылкаНаИсходнуюКлассификацию") := getLimitStr(данныеПредАлгоритмов, "ChildId");
    данныеПредАлгоритмов.Фильтр := "";
    если Коллекция.Значение("СсылкаНаИсходнуюКлассификацию") = "" тогда
      Коллекция.Значение("СсылкаНаИсходнуюКлассификацию") := "-1";      
  неудача
    ВызватьОшибку("ЗапросУВедомленийПоКлассификации: не получилось выбрать данные уведомлений по связям:" + последняяОшибка);
  конец;
  
  Коллекция.Значение("ТипОгрПоНевыясненным") := 1;                                            
  
  Если 
       ((коллекция.Значение("КодДокумента") &lt;&gt; "") или
       (коллекция.Значение("ссылкаНаИсходнуюКлассификацию") &lt;&gt; "") или 
       (коллекция.Значение("КодЗаписи") &lt;&gt; "") или
       (коллекция.Значение("КодИсходящейСвязи") &lt;&gt; '') или
       (коллекция.Значение("КодИсходящейСвязиЗаголовок") &lt;&gt; '') или
       (коллекция.Значение("КодВходящейСвязи") &lt;&gt;'') или 
       (коллекция.Значение("КодВходящейСвязиЗаголовок") &lt;&gt; ''))  и
       (позиция("#",коллекция.Значение("КодДокумента")) = 0) и
       (позиция("#",коллекция.Значение("КодЗаписи")) = 0)  
  тогда // в случае показа гипер документов можно ограничивать только по коду записи и связям
    начало
      Коллекция.Значение("МаппингУведомлений") := "КодДокумента=rep_c.ID%d,КодЗаписи=rep_d.Id%d,КодИсходящейСвязи=rep_d.linkid,КодИсходящейСвязиЗаголовок=rep_d.linkid,КодВходящейСвязи=rep_d.linkid,СсылкаНаИсходнуюКлассификацию=rep_d_info.parentId";
      ОгрУведомлений := ОбщиеОграниченияУведомлений(Коллекция);
      ОгрПоДате := '';
    конец 
  иначе
    начало
      Коллекция.Значение("МаппингУведомлений") := "КодЗаписи=rep_d.Id," + Коллекция.Значение("МаппингУведомлений");
      Если Коллекция.Values("УчитыватьРеестр")  и (Коллекция.Значение('ДатаБлокировкиТипЧек') &lt;&gt; 1) тогда // это ограничение для реестровых сумм казначейства (дата учета типа даты реестра в казначействе)
        огрПоДате := ПолучитьОграничениеПоДатеУчета(коллекция)
      иначе
        ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаВводаТип=rep_c.InputDate,ДатаДокументаТип=rep_c.InputDate,ДатаПринятияТип=rep_c.AcceptDate", Коллекция, "rep_c.AcceptDate");
        ОгрУведомлений := ОбщиеОграниченияУведомлений(Коллекция);
    конец; 
                                                  
  Если Позиция("BudClS", Коллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
    Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + ",KVSR,KFSR,KCSR,KVR,KESR,IFS,KD,IFS,KDValue,ClsType";

  если Коллекция.Значение("ВыбратьУведомленияУточняющиеНевыясненные") тогда
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаВводаТип=rep_c.InputDate,ДатаДокументаТип=rep_c.InputDate,ДатаПринятияТип=rep_c.AcceptDate", Коллекция, "rep_c.AcceptDate");
  ОгрПоПринятию := "";  
  если Значение(Коллекция,"ВычислятьУточняющуюКлассификацию") или Значение(Коллекция,"ПолучитьВсюЦепочкуУведомлений")  или Значение(Коллекция,"ПолучитьЦепочку") тогда
  начало
    Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + ",ParentId,IsClsChanged,ChildId,ChildDocCls,Progindex,SequenceNumber,SequenceParent";

  конец;  
  /$если Бюджет
    //ограничение по правам пользователя на классификацию
    ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПрава_БКРасх,Коллекция,'((rep_d.CLSType=0)and(%s))');
    ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПрава_БКИст,Коллекция,' or((rep_d.CLSType=1)and(%s))');
    ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПрава_БКДох,Коллекция,' or((rep_d.CLSType=2)and(%s))');
    Если ОгрПрава_БКРасх&lt;&gt;"" тогда 
      ОгрПрава := 'and('+ОгрПрава_БКРасх+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
    иначе 
      ОгрПрава := ''; 
  /$конец        
 
  ОгрПоСвязям := "";
  Коллекция.Значение("ОгрПоВходящимСвязямЗаголовка") := ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  Коллекция.Значение("ОгрПоИсходящимСвязямЗаголовка") := ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);
  Коллекция.Значение("ОгрПоВходящимСвязям") := ОграничениеПоСвязям(Коллекция, "lrc_cord", "ТипВходящейСвязи", ОгрПоСвязям);
  Коллекция.Значение("ОгрПоИсходящимСвязям") := ОграничениеПоСвязям(Коллекция, "lrp_cord", "ТипИсходящейСвязи", ОгрПоСвязям);
     
  // настраиваем запрос
  запрос := ЗапросУведомленийПоКлассификацииПротокола_БезОграничений(Коллекция) + nl +  
            ОгрПоДате + nl +
            ОгрУведомлений + nl + 
            ОгрПоСвязям + nl + 
            ОгрПоПринятию + nl + 
            ОгрПрава;
  /$если База70100
  запрос := запрос + nl + ОгрТипДеят;
  /$конец          
  // убираем ненужные поля          
  если Коллекция.Values("ПоляВыборки")&lt;&gt;""  тогда 
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), '@');
  результат := "{/*" + Комментарий + "*/" + запрос + "}"; 
конец;

// запрос уведомлений, где в качестве ведущей выступает таблица заголовков, а к ней присоединяются кор и нов детализации
функция ЗапросУведомленийПоЗаголовкуПротоколаПЗК(Коллекция : IVariables) : строка;
переменные
  ОгрУведомлений, ОгрПоДате,  
  Комментарий, Запрос: строка;
  ОгрКодЦели: строка;
  /$если База70100
  ОгрТипДеят: строка;
  /$конец
  ОгрПрава_БКРасх,ОгрПрава_БКИст,ОгрПрава_БКДох,ОгрПрава: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос уведомлений по заголовку.");


  Коллекция.Значение("МаппингУведомлений") := МаппингБазовыеОгрПротокола1 + МаппингБазовыеОгрПротокола2 + МаппингБазовыеОгрПротокола3 +
    МаппингКлсУведПротоколаСтарНов1 + МаппингКлсУведПротоколаСтарНов2 + МаппингКлсУведПротоколаСтарНов3 + МаппингКлсУведПротоколаСтарНов4 + МаппингКлсУведПротоколаСтарНов5 + МаппингКлсУведПротоколаСтарНов6 +
    МаппингКлсУведПротоколаСтарНов7;
    
  ОгрКодЦели := ОграничениеПоКодуЦели(Коллекция, "Код_цели=((mt_source.TargetCls%d) or (mt_dest.TargetCls%d))", "Код_цели=((tc_s.TargetCls%d) or (tc_d.TargetCls%d))");   
  
  /$если База70100
  ОгрТипДеят := ОгрТипДеятельности((Коллекция.Значение("ТипДеятельности")),"ВидДеятельности=((mt_source.ActivityKind%d)or(mt_dest.ActivityKind%d))","ТипСредствБюдж=((rep_d_source.MeansType%d)or(rep_d_dest.MeansType%d))");
  /$конец
  
  // стандартное ограничение по датам
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаВводаТип=rep_c.InputDate,ДатаДокументаТип=rep_c.InputDate,ДатаПринятияТип=rep_c.AcceptDate", Коллекция, "rep_c.AcceptDate");

  Коллекция.Значение("ТипОгрПоНевыясненным") := 0;
  ОгрУведомлений := ОбщиеОграниченияУведомлений(Коллекция);
//  ОгрПоПустымБухСчетам := ВернутьОграничениеПоПустымБухСчетам(Коллекция);  

  /$если Бюджет
    //ограничение по правам пользователя на классификацию
    ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПраваЗагКор_БКРасх,Коллекция,'((rep_d_source.CLSType=0)and(%s))');
    ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПраваЗагКор_БКИст,Коллекция,' or((rep_d_source.CLSType=1)and(%s))');
    ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПраваЗагКор_БКДох,Коллекция,' or((rep_d_source.CLSType=2)and(%s))');
    Если ОгрПрава_БКРасх&lt;&gt;"" тогда 
      ОгрПрава := ' and('+ОгрПрава_БКРасх+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
    иначе 
      ОгрПрава := '';
    ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПраваЗагНов_БКРасх,Коллекция,'((rep_d_dest.CLSType=0)and(%s))');
    ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПраваЗагНов_БКИст,Коллекция,' or((rep_d_dest.CLSType=1)and(%s))');
    ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПротоколПраваЗагНов_БКДох,Коллекция,' or((rep_d_dest.CLSType=2)and(%s))');
    Если ОгрПрава_БКРасх&lt;&gt;"" тогда 
      ОгрПрава := ОгрПрава + ' and('+ОгрПрава_БКРасх+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
    иначе 
      ОгрПрава := '';  
  /$конец  
  // настраиваем запрос
  запрос := ЗапросУведомленийПоЗаголовкуПротокола_БезОграничений(Коллекция) + nl +
            ОгрПоДате + nl +
            ОгрУведомлений + nl + 
            ОгрКодЦели + nl +
            ОгрПрава;
  /$если База70100
  запрос := запрос + nl + ОгрТипДеят;
  /$конец          
  // убираем ненужные поля          
  если Коллекция.Values("ПоляВыборки")&lt;&gt;""  тогда 
    Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  результат := "{/*"+Комментарий+"*/"+запрос+"}"; 
конец;

функция ЗапросУведомленийПоЗаголовку(Коллекция : IVariables) : строка;
переменные
  ОгрУведомлений, ОгрПоДате, ОгрПоПустымБухСчетам, 
  Комментарий, Запрос, маппингОгрПоОрганизации, огрПоОрганизации, маппингБО, огрБО, ОгрПоПринадлежностиЛС: строка;
  НачДатаСтр, КонДатаСтр, ОгрПоДатамБухОпераций, ОграничениеПоХарактеруЛС, ОгрКодЦели: строка;
  /$если База70100
  ОгрТипДеят: строка;
  /$конец
  ОгрПрава_БКРасх,ОгрПрава_БКИст,ОгрПрава_БКДох,ОгрПрава: строка;
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос уведомлений по заголовку.");
  маппингБО := ВернутьМаппингБОиУД(коллекция, ЭтоЗапросПоЗаголовку);
  огрБО := ВернутьОграничениеПОЗаполненностиБОиУД(коллекция, ЭтоЗапросПоЗаголовку);

  Коллекция.Значение("МаппингУведомлений") := МаппингБазовыеОгр1 + МаппингБазовыеОгр2 + МаппингБазовыеОгр3 + МаппингБазовыеОгр4 +
    МаппингКлсУведСтарНов1 + МаппингКлсУведСтарНов2 + МаппингКлсУведСтарНов3 + МаппингКлсУведСтарНов4 + МаппингКлсУведСтарНов5 + МаппингКлсУведСтарНов6 +
    МаппингКлсУведСтарНов7 + МаппингБух1 + МаппингБух2 + маппингБО;
  // формируем ограничение по харакетру ЛС
  если Коллекция.ПараметрСуществует("Характер_ЛС") и УбратьПробелы(Коллекция.Значение("ХарактерЛС")) &lt;&gt; "" тогда
    ОграничениеПоХарактеруЛС := Формат(" and %s or %s", ОбработкаСложныхОграничений("Характер_ЛС=f_s", Коллекция), ОбработкаСложныхОграничений("Характер_ЛС=f_d", Коллекция));
  // формируем ограничение по коду цели
  ОгрКодЦели := ОграничениеПоКодуЦели(Коллекция, "Код_цели=((mt_source.TargetCls%d) or (mt_dest.TargetCls%d))", "Код_цели=((tc_s.TargetCls%d) or (tc_d.TargetCls%d))");   
  
  /$если База70100
  ОгрТипДеят := ОгрТипДеятельности((Коллекция.Значение("ТипДеятельности")),"ВидДеятельности=((mt_source.ActivityKind%d)or(mt_dest.ActivityKind%d))","ТипСредствБюдж=((cor_d_source.MeansType%d)or(cor_d_dest.MeansType%d))");
  /$конец
  
  // стандартное ограничение по датам
  ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаВводаТип=cor_c.InputDate,ДатаДокументаТип=cor_c.InputDate,ДатаПринятияТип=cor_c.AcceptDate", Коллекция, "cor_c.AcceptDate");
  // в бухгалтерии нужно учесть срок действия бух. операций
  если Коллекция.Значение("УчетСрокаДействияБухОпераций") = "1" тогда
  начало
    ВернутьОграниченияПоДатам(Коллекция, НачДатаСтр, КонДатаСтр, да);
    //НЕ УДАЛЯТЬ! пока ограничиваем только по дате закрытия операции
    //ОгрПоДатамБухОпераций := "and ((boCLS.StartDate is null) or (boCLS.StartDate &lt;= " + НачДатаСтр + "))" +
    //  " and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
    ОгрПоДатамБухОпераций := "and ((boCLS.DeleteDate is null) or (boCLS.DeleteDate &gt; " + КонДатаСтр + "))";
  конец
  иначе
    ОгрПоДатамБухОпераций := "";
  Коллекция.Значение("ТипОгрПоНевыясненным") := 0;
  ОгрУведомлений := ОбщиеОграниченияУведомлений(Коллекция);
  ОгрПоПустымБухСчетам := ВернутьОграничениеПоПустымБухСчетам(Коллекция);  
 
  маппингОгрПоОрганизации := "ОргСсылка=((f_s.#%d)or(f_d.#%d)),ПолучОргСсылка=((f_s.#%d)or(f_d.#%d)),РаспОргСсылка=((f_s.#%d)or(f_d.#%d))";
  ОгрПоОрганизации := ПолучитьОгрПоОрганизации (маппингОгрПоОрганизации, коллекция);
  ОгрПоПринадлежностиЛС := "";    
  выбрать Коллекция.Значение("ПринадлежностьЛС") из
    1: ОгрПоПринадлежностиЛС := "and ((f_s.FCAccount is null)or(f_d.FCAccount is null))";
    2: ОгрПоПринадлежностиЛС := "and ((f_s.FCAccount is not null)or(f_d.FCAccount is not null))";
  конец;
  /$если Бюджет
    //ограничение по правам пользователя на классификацию
    ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваЗагКор_БКРасх,Коллекция,'((cor_d_source.CLSType=0)and(%s))');
    ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваЗагКор_БКИст,Коллекция,' or((cor_d_source.CLSType=1)and(%s))');
    ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваЗагКор_БКДох,Коллекция,' or((cor_d_source.CLSType=2)and(%s))');
    Если ОгрПрава_БКРасх&lt;&gt;"" тогда 
      ОгрПрава := ' and('+ОгрПрава_БКРасх+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
    иначе 
      ОгрПрава := '';
    ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваЗагНов_БКРасх,Коллекция,'((cor_d_dest.CLSType=0)and(%s))');
    ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваЗагНов_БКИст,Коллекция,' or((cor_d_dest.CLSType=1)and(%s))');
    ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПраваЗагНов_БКДох,Коллекция,' or((cor_d_dest.CLSType=2)and(%s))');
    Если ОгрПрава_БКРасх&lt;&gt;"" тогда 
      ОгрПрава := ОгрПрава + ' and('+ОгрПрава_БКРасх+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
    иначе 
      ОгрПрава := '';  
  /$конец  
  // настраиваем запрос
  запрос := ЗапросУведомленийПоЗаголовку_БезОграничений(Коллекция) + nl +  
            ОгрПоДате + nl +
            ОгрПоДатамБухОпераций + nl +
            ОгрПоПустымБухСчетам + nl + 
            ОгрУведомлений + nl + 
            ОгрПоОрганизации + nl + 
            огрБО + nl + 
            ОгрПоПринадлежностиЛС + nl +
            ОграничениеПоХарактеруЛС + nl +
            ОгрКодЦели + nl +
            ОгрПрава;
  /$если База70100
  запрос := запрос + nl + ОгрТипДеят;
  /$конец          
  // убираем ненужные поля          
  если Коллекция.Values("ПоляВыборки")&lt;&gt;""  тогда 
    Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  результат := "{/*"+Комментарий+"*/"+запрос+"}"; 
конец;

// запрос уведомлений, где в качестве ведущей выступает таблица детализации, а к ней присоединяется таблица заголовков
функция ЗапросУведомленийПоКлассификации(Коллекция : IVariables):строка;
переменные
  ОгрУведомлений, ОгрПоСервиснымСчетам,ОгрПоДате, Комментарий, Запрос, маппингОгрПоОрганизации, огрПоОрганизации, маппингБО, огрБО: строка;
  ОгрПоСвязям, сКДНев, сВнебюджКДНев, ОгрПоПринадлежностиЛС, ОгрПоПринятию: строка;
  данныеПредАлгоритмов: СтатическиеДанные;
  ОгрПоБлокировкам, ОгрПоДатеБлокировки, ОгрПОРазблокировке, ОгрКодЦели: строка;
  ОгрПрава_БКРасх,ОгрПрава_БКИст,ОгрПрава_БКДох,ОгрПрава: строка; 
  БлокированныеСредства, ЕстьОгрПоБлокировкамНаПанели : целое;
  /$если База70100
  ОгрТипДеят: строка;
  /$конец
начало
  Комментарий := ПоказатьКомментарийСекции(Коллекция, "Запрос уведомлений по классификации.");
  маппингБО := ВернутьМаппингБОиУД(коллекция, ЭтоЗапросПоДетализации);
  огрБО := ВернутьОграничениеПОЗаполненностиБОиУД(коллекция, ЭтоЗапросПоДетализации);
  
  Коллекция.Значение("МаппингУведомлений") := МаппингБазовыеОгр1 + МаппингБазовыеОгр2 + МаппингБазовыеОгр3 + МаппингБазовыеОгр4 +
                                              МаппингКлсУвед1 + МаппингКлсУвед2 + МаппингКлсУвед3 + МаппингКлсУвед4 + МаппингКлсУвед5 + 
                                              МаппингКлсУвед6 + МаппингКлсУвед7 + МаппингКлсУвед8 + МаппингБух1 + МаппингБух3 + МаппингБО + 
                                              Формат(',РайонКонтрагента=%s', ВернутьИмяПоляРайонаКонтрагента(Коллекция)); 

  // если нужно выбираем уведомления, которые уточняют данные прошлого алгоритма
  если Значение(Коллекция,"ВычислятьУточняющуюКлассификацию") или Значение(Коллекция,"ПолучитьВсюЦепочкуУведомлений") тогда                     
  попытка
    Коллекция.Значение("КодЗаписи") := "";
    коллекция.Значение("ТолькоНевыясненные")  := "0";
    данныеПредАлгоритмов := коллекция.Значение("ДанныеПредАлгоритмов");
    если Коллекция.Значение("ВыбратьУведомленияУточняющиеНевыясненные") тогда
    начало
      сКДНев := ЗаменитьСтроку(СтроковаяКонстанта(3,0),"_","?");
      сВнебюджКДНев := ЗаменитьСтроку(СтроковаяКонстанта(3,11),"_","?");      
      данныеПредАлгоритмов.Фильтр := Формат("((kd like '%s') or (kd like '%s'))", сКДНев, сВнебюджКДНев);
    конец;  
    Коллекция.Значение("СсылкаНаИсходнуюКлассификацию") := getLimitStr(данныеПредАлгоритмов, "ChildId");
    данныеПредАлгоритмов.Фильтр := "";
    если Коллекция.Значение("СсылкаНаИсходнуюКлассификацию") = "" тогда
      Коллекция.Значение("СсылкаНаИсходнуюКлассификацию") := "-1";      
  неудача
    ВызватьОшибку("ЗапросУВедомленийПоКлассификации: не получилось выбрать данные уведомлений по связям:" + последняяОшибка);
  конец;
  
  Коллекция.Значение("ТипОгрПоНевыясненным") := 1;                                            
  
  Если 
       ((коллекция.Значение("КодДокумента") &lt;&gt; "") или
       (коллекция.Значение("ссылкаНаИсходнуюКлассификацию") &lt;&gt; "") или 
       (коллекция.Значение("КодЗаписи") &lt;&gt; "") или
       (коллекция.Значение("КодИсходящейСвязи") &lt;&gt; '') или
       (коллекция.Значение("КодИсходящейСвязиЗаголовок") &lt;&gt; '') или
       (коллекция.Значение("КодВходящейСвязи") &lt;&gt;'') или 
       (коллекция.Значение("КодВходящейСвязиЗаголовок") &lt;&gt; ''))  и
       (позиция("#",коллекция.Значение("КодДокумента")) = 0) и
       (позиция("#",коллекция.Значение("КодЗаписи")) = 0)  
  тогда // в случае показа гипер документов можно ограничивать только по коду записи и связям
    начало
      Коллекция.Значение("МаппингУведомлений") := "КодДокумента=cor_c.ID%d,КодЗаписи=cor_d.Id%d,КодИсходящейСвязи=lrp_cord.id,КодИсходящейСвязиЗаголовок=lrp.ID,КодВходящейСвязи=lrc_cord.id,СсылкаНаИсходнуюКлассификацию=cor_d.parentId";
      ОгрУведомлений := ОбщиеОграниченияУведомлений(Коллекция);
      ОгрПоДате := '';
    конец 
  иначе
    начало
      Коллекция.Значение("МаппингУведомлений") := "КодЗаписи=cor_d.Id," + Коллекция.Значение("МаппингУведомлений");
      Если Коллекция.Values("УчитыватьРеестр")  и (Коллекция.Значение('ДатаБлокировкиТипЧек') &lt;&gt; 1) тогда // это ограничение для реестровых сумм казначейства (дата учета типа даты реестра в казначействе)
        огрПоДате := ПолучитьОграничениеПоДатеУчета(коллекция)
      иначе
        ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаВводаТип=cor_c.InputDate,ДатаДокументаТип=cor_c.InputDate,ДатаПринятияТип=cor_c.AcceptDate,ДатаРазблокировкиТип=cor_d.UnBlockedDate", Коллекция, "cor_c.AcceptDate");
      ОгрУведомлений := ОбщиеОграниченияУведомлений(Коллекция);
    конец; 
                                                  
  Если Позиция("BudClS", Коллекция.Значение("ПоляВыборки")) &lt;&gt; 0 тогда
    Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + ",KVSR,KFSR,KCSR,KVR,KESR,IFS_REf,KD,IFS,KDValue,ClsType";

  если Коллекция.Значение("ВыбратьУведомленияУточняющиеНевыясненные") тогда
    ОгрПоДате := ПолучитьОграничениеПоТипуДаты("ДатаВводаТип=cor_c.InputDate,ДатаДокументаТип=cor_c.InputDate,ДатаПринятияТип=cor_c.AcceptDate", Коллекция, "cor_c.AcceptDate");
  ОгрПоПринятию := "";  
  если Значение(Коллекция,"ВычислятьУточняющуюКлассификацию") или Значение(Коллекция,"ПолучитьВсюЦепочкуУведомлений")  или Значение(Коллекция,"ПолучитьЦепочку") тогда
  начало
    Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + ",ParentId,IsClsChanged,ChildId,ChildDocCls,Progindex,SequenceNumber,SequenceParent";
    // в качестве уточняющих уведомлений выбираем только те, у которых стоит дата принятия (?)
        // 01.02.2012 gen: решили что больше не требуется
    //ОгрПоПринятию := "and (not cor_c.AcceptDate is null)";
  конец;  
  /$если Бюджет
    //ограничение по правам пользователя на классификацию
    ОгрПрава_БКРасх := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКРасх,Коллекция,'((cor_d.CLSType=0)and(%s))');
    ОгрПрава_БКИст := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКИст,Коллекция,' or((cor_d.CLSType=1)and(%s))');
    ОгрПрава_БКДох := ВернутьОграниченияКлсПоПравам(МаппингКЛСПрава_БКДох,Коллекция,' or((cor_d.CLSType=2)and(%s))');
    Если ОгрПрава_БКРасх&lt;&gt;"" тогда 
      ОгрПрава := 'and('+ОгрПрава_БКРасх+ОгрПрава_БКИст+ОгрПрава_БКДох+')'
    иначе 
      ОгрПрава := ''; 
  /$конец    
  маппингОгрПоОрганизации := "ОргСсылка=(f.#%d),ПолучОргСсылка=(f.#%d),РаспОргСсылка=(f.#%d)";
  ОгрПоОрганизации := ПолучитьОгрПоОрганизации (маппингОгрПоОрганизации, коллекция);
  ОгрПоПринадлежностиЛС := "";    
  выбрать Коллекция.Значение("ПринадлежностьЛС") из
    1: ОгрПоПринадлежностиЛС := "and (f.FCAccount is null)";
    2: ОгрПоПринадлежностиЛС := "and (f.FCAccount is not null)";
  конец;


    ОгрПоБлокировкам := '';
    ОгрПоДатеБлокировки  := ''; 
    ОгрПОРазблокировке := '';
    БлокированныеСредства := Коллекция.Значение('БлокированныеСредства');    
    Если Коллекция.Значение('ДатаБлокировкиТипЧек')=1 тогда начало 
        ОгрПоДатеБлокировки := ПолучитьОграничениеПоТипуДаты('ДатаБлокировкиТип=cor_c.Acceptdate', Коллекция, 'cor_c.Acceptdate') + 'and(cor_d.IsBlocked=1)';
        Если Коллекция.Значение('ВключатьРазблокированныеЧек')=1 тогда
          ОгрПОРазблокировке := ''
        иначе
          ОгрПОРазблокировке := 'and( not((1=1)' + получитьОграничениеПоТипуДаты('ДатаБлокировкиТип=cor_d.UnBlockedDate', Коллекция, 'cor_d.UnBlockedDate') + ')or (cor_d.UnBlockedDate is null))';      
        ОгрПоБлокировкам :=  ОгрПоДатеБлокировки + ОгрПОРазблокировке;
    конец;

   ЕстьОгрПоБлокировкамНаПанели := (не коллекция.ПараметрСуществует("НеВключатьВНеЗаблокированныеРазблокированные")) и 
                                   ((Коллекция.Значение('ДатаБлокировкиТипЧек')=1) или (Коллекция.Значение('ДатаРазБлокировкиТипЧек')=1));
   Если ЕстьОгрПоБлокировкамНаПанели тогда 
     БлокированныеСредства := бсНеУчитывать;

   Выбрать БлокированныеСредства из
     бсРазблокированные   : начало  
                              ОгрПоБлокировкам := ОгрПоБлокировкам + получитьОграничениеПоТипуДаты('ДатаРазБлокировкиТип=cor_d.UnBlockedDate', Коллекция, 'cor_d.UnBlockedDate');                            
                            конец; ////////   
     бсЗаблокированные    : начало
                              Если Коллекция.Значение('ДатаРазБлокировкиТипЧек') = 0 тогда
                                ОгрПОРазблокировке := ''
                              иначе   
                                ОгрПОРазблокировке := 'and( not((1=1)' + получитьОграничениеПоТипуДаты('ДатаБлокировкиТип=cor_d.UnBlockedDate', Коллекция, 'cor_d.UnBlockedDate') + ')or (cor_d.UnBlockedDate is null))';
                                
                              ОгрПоБлокировкам := ОгрПоБлокировкам + 'and (cor_d.IsBlocked=1)' + ОгрПОРазблокировке;  
                            конец; ///////
     бсНеЗаблокированные  : начало
                              если (Коллекция.значение("НеВключатьВНеЗаблокированныеРазблокированные") &lt;&gt; 1) или (Коллекция.Значение('ВключатьРазблокированныеЧек') = 1) тогда
                                если Коллекция.ПараметрСуществует('КонечнаяДата') и (Коллекция.Values('КонечнаяДата')&lt;&gt;'') тогда
                                  ОгрПоБлокировкам := 'and ( (cor_d.IsBlocked&lt;&gt;1)or(cor_d.IsBlocked is null) or ' + ФорматноеОграничениеПоДатам('cor_d.UnBlockedDate', '0', Коллекция.Values('КонечнаяДата')) + ')'
                                иначе
                                  ОгрПоБлокировкам := 'and ( (cor_d.IsBlocked&lt;&gt;1)or(cor_d.IsBlocked is null) or ((1=1)' + получитьОграничениеПоТипуДаты('ДатаРазБлокировкиТип=cor_d.UnBlockedDate', Коллекция, 'cor_d.UnBlockedDate') + ') )'
                              иначе  
                                ОгрПоБлокировкам := 'and  ((cor_d.IsBlocked&lt;&gt;1)or(cor_d.IsBlocked is null))';
                            конец; ///////
     бсНеУчитывать        : начало
     
                            конец; //////                                         
   конец;
  
  ОгрКодЦели := ОграничениеПоКодуЦели(Коллекция, "Код_цели=mt.TargetCls%d", "Код_цели=tc.TargetCls%d");
  
   // формируем ограничение по сервисным л/с, смотрим значения параметров: ЛицСчет, ОргЛС и БюджОргЛС
  если не Коллекция.ПараметрСуществует("СервисныеСчета") тогда
    если (Коллекция.Values("ПечатныйДокумент") = да) или
      ((Коллекция.Values("ЛицСчетЧек") = 1) и СчетСервисный(Коллекция.Values("ЛицСчет"))) или
      ((Коллекция.Values("ОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("ОргЛС"))) или
      ((Коллекция.Values("БюджОргЛСЧек") = 1) и СчетСервисный(Коллекция.Values("БюджОргЛС"))) тогда
      Коллекция.Values("СервисныеСчета") := '1';
  выбрать Коллекция.Values("СервисныеСчета") из
    '1': ОгрПоСервиснымСчетам := ""; // не ограничиваем
    '2': ОгрПоСервиснымСчетам := "and (f.ServiceAccount = 0)"; // только сервисные счета
    иначе
      ОгрПоСервиснымСчетам := "and (f.ServiceAccount &lt;&gt; 0)"; // кроме сервисных счетов 
  конец;
  
  /$если База70100
  ОгрТипДеят := ОгрТипДеятельности((Коллекция.Значение("ТипДеятельности")),"ВидДеятельности=(mt.ActivityKind%d)","ТипСредствБюдж=(cor_d.MeansType%d)");
  /$конец          
 
  ОгрПоСвязям := "";
  Коллекция.Значение("ОгрПоВходящимСвязямЗаголовка") := ОграничениеПоСвязям(Коллекция, "lrc", "ТипВходящейСвязиЗаголовка", ОгрПоСвязям);
  Коллекция.Значение("ОгрПоИсходящимСвязямЗаголовка") := ОграничениеПоСвязям(Коллекция, "lrp", "ТипИсходящейСвязиЗаголовка", ОгрПоСвязям);
  Коллекция.Значение("ОгрПоВходящимСвязям") := ОграничениеПоСвязям(Коллекция, "lrc_cord", "ТипВходящейСвязи", ОгрПоСвязям);
  Коллекция.Значение("ОгрПоИсходящимСвязям") := ОграничениеПоСвязям(Коллекция, "lrp_cord", "ТипИсходящейСвязи", ОгрПоСвязям);
     
  // настраиваем запрос
  запрос := ЗапросУведомленийПоКлассификации_БезОграничений(Коллекция) + nl +  
            ОгрПоДате + nl +
            ОгрУведомлений + nl + 
            огрПоОрганизации + nl + 
            огрБО + nl + 
            ОгрПоСвязям + nl + 
            ОгрПоПринадлежностиЛС + nl + 
            ОгрПоПринятию + nl + 
            ОгрПоБлокировкам + nl +
            ОгрКодЦели + nl +
            ОгрПоСервиснымСчетам + nl +
            ОгрПрава;
  /$если База70100
  запрос := запрос + nl + ОгрТипДеят;
  /$конец          
  // убираем ненужные поля          
  если Коллекция.Values("ПоляВыборки")&lt;&gt;""  тогда 
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), '@');
  результат := "{/*" + Комментарий + "*/" + запрос + "}"; 
конец;

функция ПолучитьУведомленияПоЗаголовку(Данные : СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := "[PumpData]" + ЗапросУведомленийПоЗаголовку(Коллекция);
  ПолучитьДанные(Данные, Коллекция);
  Коллекция.Values("КоментарийСекции") := "";
конец;

функция ПолучитьУведомленияПоКлассификацииПротоколаПЗК(Данные : СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := "[PumpData]" + ЗапросУведомленийПоКлассификацииПротоколаПЗК(Коллекция);
  ПолучитьДанные(Данные, Коллекция);
  Коллекция.Values("КоментарийСекции") := "";
конец;

функция ПолучитьУведомленияПоЗаголовкуПротоколаПЗК(Данные : СтатическиеДанные; Коллекция: IVariables);
начало
  Данные.Закрыть;
  Данные.DestroyFields;
  Данные.Запрос := "[PumpData]" + ЗапросУведомленийПоЗаголовкуПротоколаПЗК(Коллекция);
  ПолучитьДанные(Данные, Коллекция);
  Коллекция.Values("КоментарийСекции") := "";
конец;

функция ВернутьИнвертированныйЗапрос(Коллекция : Ivariables) : строка;
переменные
  ЛокКоллекция : IVariables;
начало
  Результат := "";
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  попытка
    //
    Если ЛокКоллекция.Значение("РасходСВозвратом") тогда 
      начало
        ЛокКоллекция.Значение("ПоложительныйЗнак") := Нет;
        ЛокКоллекция.Значение("ВозвратРасхода") := Да;
        ЛокКоллекция.Значение("Расход") := Нет;
        Результат := ЗапросУведомленийПоКлассификации(ЛокКоллекция);
      конец;
    //  
    Если ЛокКоллекция.Значение("ПриходСВозвратом") тогда 
      начало
        ЛокКоллекция.Значение("ПоложительныйЗнак") := Нет;
        ЛокКоллекция.Значение("ВозвратПрихода") := Да;
        ЛокКоллекция.Значение("Приход") := Нет;
        Результат := ЗапросУведомленийПоКлассификации(ЛокКоллекция);
      конец;
      
  обязательно
    УдалитьОбъект(ЛокКоллекция);
  конец;    
конец;

функция ПодготовкаКоллекцииИДанныхДляЦепочки(данные, данныеЦепочек: СтатическиеДанные; коллекцияДляЦепочек, локКоллекция: iVariables);
начало
  данныеЦепочек.Закрыть;
  данные.фильтр := "(Progindex = 316)"; // ограничиваем только по строкам новой классификации, где классификация не изменилась
  если не локКоллекция.Значение("ПолучитьВсюЦепочкуУведомлений") тогда    // для получения всей цепочки это ограничение не нужно
    данные.фильтр := данные.фильтр + " and (IsClsChanged = 0)";
  коллекцияДляЦепочек.Значение("ссылкаНаИсходнуюКлассификацию") := getLimitStr(данные, "childId");
  если (коллекцияДляЦепочек.Значение("ссылкаНаИсходнуюКлассификацию") = '') или (коллекцияДляЦепочек.Значение("ссылкаНаИсходнуюКлассификацию") = 'Null') тогда
    коллекцияДляЦепочек.Значение("ссылкаНаИсходнуюКлассификацию") := -1;
  коллекцияДляЦепочек.Значение("ВыбратьУведомленияУточняющиеНевыясненные") := 0;
  коллекцияДляЦепочек.Значение("ПолучитьЦепочку") := 1;
  коллекцияДляЦепочек.Значение("полявыборки") := локКоллекция.Значение("поляВыборки");
  данныеЦепочек.Запрос := "[PumpData]" + ЗапросУведомленийПоКлассификации(коллекцияДляЦепочек);
  данные.фильтр := "";
конец;

функция СинхронизироватьНомерЦепочки(данные, данныеЦепочек: СтатическиеДанные);
начало
  данныеЦепочек.Группировать(данные, "default=false;insert=false;keys=Parentid;ParentId=ChildId;SequenceNumber=max(SequenceNumber);SequenceParent=max(SequenceParent)");
конец;

// превращаем строку клс1,клс2,клс3 в строку клс1=max(клс1),клс2=max(клс2),клс3=max(клс3)
функция СделатьМаппингДляРезультата(списокПолей: строка): строка;
переменные
  ткстСписокПолей, ткстДляМаппинга: текст;
  сч: целое;
  имяПоля: строка;
начало
  ткстСписокПолей := СоздатьТекст; 
  ткстДляМаппинга := СоздатьТекст;
  результат := "";
  попытка
    ткстСписокПолей.РазделенноеЗначение := списокПолей;
    от сч:=0 до ткстСписокПолей.Количество - 1 делать
    начало
      имяПоля := ткстСписокПолей.Стр(сч);
      ткстДляМаппинга.ЗначениеПараметра(имяПоля) := "max(" + имяПоля  + ")";
    конец;
    результат := ткстДляМаппинга.РазделенноеЗначение(";");
  обязательно
    УдалитьОбъект(ткстСписокПолей, ткстДляМаппинга);
  конец;
конец;

// Удаляем записи с не нужными данными по связям
функция УдалитьПовторяющиесяЗаписи(Данные: СтатическиеДанные): СтатическиеДанные;
переменные
  ИД: целое;
  пИД: поле;
начало                          
  если данные.НайтиПоле("ChildDocCls") тогда
  начало
    Данные.IndexFieldNames := "ID;childDocCls";
    ИД := -1;
    пИД := Данные.Поле("ID");
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      если пИД.КакЦелое = ИД тогда
      начало
        Данные.Предыдущая;
        Данные.Удалить;
      конец  
      иначе
        ИД := пИД.КакЦелое;
      Данные.Следующая;    
    конец;
 конец;
 Данные.Фильтр := "";
 результат := Данные;
конец;

функция ПолучитьЦепочку(данные: СтатическиеДанные; локКоллекция: IVariables);
переменные
  ДанныеЦепочек: СтатическиеДанные;
  коллекцияДляЦепочек: Ivariables;  
начало
    // получаем по выбранным уведомлениям уточнения этих уведомлений
    ДанныеЦепочек := СоздатьСтатическиеДанные;
    ДанныеЦепочек.СоединитьБД;
    коллекцияДляЦепочек := CreateVariables;
    // данные с исходной классификацией нам не нужны - удаляем их
    // также нам не нужны строки со связями на заголовок - нужны только на детализацию
    // также нам не нужны строки со связями на связанные документы
    данные.Фильтр := "(ProgIndex = 315) or (ChildDocCls = 550100)or (ChildDocCls = 550200) ";
    данные.Очистить;
    данные.Фильтр := "";
    ПодготовкаКоллекцииИДанныхДляЦепочки(данные, данныеЦепочек, коллекцияДляЦепочек, локКоллекция);
    ПолучитьДанные(ДанныеЦепочек,коллекцияДляЦепочек);
    // синхронизируем номер цепочки, чтобы по ней потом закачать уточняющие данные в основные данные
    СинхронизироватьНомерЦепочки(данные, данныеЦепочек);
    // смотрим - может у нас есть уточнение на уточнение
    если данныеЦепочек.ЧислоЗаписей &lt;&gt; 0 тогда
      ПолучитьЦепочку(данныеЦепочек, локКоллекция);
    // проверяем необходимы ли все уведомления или только с измененной классификацией 
    если не локКоллекция.Значение("ПолучитьВсюЦепочкуУведомлений") тогда
    начало
      // закачиваем уточняющие данные в основные данные - если у нас уточнилась классификация в исходном датасете на две - тогда мы её заменяем на новые классификации
      // а делаем это так - если у исходной классификации стоит признак что её уточнили(есть childId) - удаляем её 
      // удаляем данные, которые уже уточнили
      // также удаляем данные, которые не были уточнены и классификация у них не изменилась
      данные.фильтр := "not(IsClsChanged = 1)";
      данные.очистить;
      данные.фильтр := "";
      // из последних данных удаляем те, которые так и не были уточнены
      данныеЦепочек.Фильтр := "(IsClsChanged = 0) or (IsClsChanged is null)";
      данныеЦепочек.Очистить;
      данныеЦепочек.Фильтр := "";
    конец;
    //данные.Группировать(данныеЦепочек, "keys=sequenceNumber;" + СделатьМаппингДляРезультата(локКоллекция.Значение("поляВыборкиНовойКлассификации")));
    ДанныеЦепочек := УдалитьПовторяющиесяЗаписи(ДанныеЦепочек);
    данные.Закачать(данныеЦепочек, "");
конец;

// это чтобы было поле, которое одинаковое будет у всех документов одной цепочки
функция УстановитьНомерЦепочки(Данные: СтатическиеДанные; локКоллекция: Ivariables);
переменные
  пНомерЦепочки, пНомерРодительскойЦепочки, пИдДетализации, пСсылкаНаИсходнуюКлассификацию: поле;
начало
  /*Hint-*/локКоллекция.Count;
  пНомерЦепочки := данные.Поле("SequenceNumber");
  пИдДетализации := данные.Поле("detId");
  пНомерРодительскойЦепочки := данные.Поле("SequenceParent");
  пСсылкаНаИсходнуюКлассификацию := данные.Поле("ParentId"); 
  данные.ВНачало;
  пока не данные.ВКонце делать
  начало
    пНомерЦепочки.КакЦелое := пИДДетализации.КакЦелое;
    пНомерРодительскойЦепочки.КакЦелое := пСсылкаНаИсходнуюКлассификацию.КакЦелое;
    данные.Следующий;
  конец;
конец;




функция ПолучитьУведомленияПоКлассификации(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные 
  Запрос : строка;
  ЛокКоллекция : IVariables;
начало
  Данные.Закрыть;
  Данные.DestroyFields;
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  Если ЛокКоллекция.Значение("РасходСВозвратом") = Да тогда 
    ЛокКоллекция.Значение("Расход") := Да;
  Если ЛокКоллекция.Значение("ПриходСВозвратом") = Да тогда 
    ЛокКоллекция.Значение("Приход") := Да;
  если локКоллекция.ПараметрСуществует("СуммаПоложительна") тогда
    локКоллекция.Значение("ПоложительныйЗнак") := локКоллекция.Значение("СуммаПоложительна");
  запрос := ЗапросУведомленийПоКлассификации(локКоллекция) + ВернутьИнвертированныйЗапрос(локКоллекция);
  Данные.Запрос := "[PumpData]" + запрос;
  ПолучитьДанные(Данные, локКоллекция);
  Данные := УдалитьПовторяющиесяЗаписи(Данные);
  если Значение(локКоллекция,"ВычислятьУточняющуюКлассификацию") или Значение(локКоллекция,"ПолучитьВсюЦепочкуУведомлений") тогда
  начало  
    УстановитьНомерЦепочки(Данные, локКоллекция);
    ПолучитьЦепочку(данные, локКоллекция);
  конец;
  ВычислитьПолеБК("БюджКлс=BudClS,КВСР=KVSR,КФСР=KFSR,КЦСР=KCSR,КВР=KVR,КЭСР=KESR,ИВФ=IFS,ИВФКлюч=IFS_Ref,КД=KDValue,ВидКлс=ClsType", Данные, локКоллекция);
  локКоллекция.Values("КоментарийСекции") := "";
конец;


функция ИнициализироватьДанные(Данные : СтатическиеДанные; Коллекция : IVariables);
начало
  Данные.Закрыть;
  Данные.Запрос := "";
  Данные.DestroyFields;
  CreateDataSetByTableInfo2(Коллекция.Значение("ПоляВыборки"), УведомленияВернутьМаппингПереносаПолей + Коллекция.Значение("ДопМаппинг"), nil, Данные);
  //Создавать недостающие поля запросом
  Данные.DefProps("Options") := "+sdoDefaultFields";      
конец;

константы
  МаппингТипов1 = "KD=%s20;CorKD=%s20;Debit=%f;IDate=%f;CreditDocEK=%d;bacCreditKESR=%d;CreditBudClsKind=%d;DebitDocEK=%d;bacDebitKESR=%d;DebitBudClsKind=%d;";
  МаппингТипов2 = "DFBTIFS_Ref=%d;CreditDocCLS=%s17;DebitDocCLS=%s17;ActivityKind=%d;IncIFS_Ref=%d;IncomesIndex=%d;Acc1=%d;Acc2=%d;";
  МаппингТипов3 = "DebitCodeAcc70n=%s8;CreditCodeAcc70n=%s8;DebitNumberAcc70n=%s28;CreditNumberAcc70n=%s28;DebitAcc70n=%f;CreditAcc70n=%f;";
  МаппингТипов4 = "DebitAcc70nValue=%d;CreditAcc70nValue=%d;AcceptDate=%f;Debit=%f;Credit=%f;Summa=%f;AlgIndex=%d;ID=%d;ProgIndex=%d";

функция ПолучитьБухУведомления70н(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ЛокКоллекция: IVariables;
начало
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);
  
  ИнициализироватьДанные(Данные, ЛокКоллекция); 
  Данные.Запрос := "[PumpData]" + ЗапросУведомленийПоЗаголовку(ЛокКоллекция);
  ПолучитьДанные(Данные, ЛокКоллекция);

  ВычислитьПолеБК("БюджКлс=BudClS,КВСР=SourceKVSR,КФСР=SourceKFSR,КЦСР=SourceKCSR,КВР=SourceKVR,КЭСР=SourceKESR,ИВФ=SourceIFS,ИВФКлюч=SourceIFS_ref,КД=SourceKDValue,ВидКлс=SourceClsType", Данные, Коллекция);
конец;

константы
  МаппингСвязанныхПолейОбщийУведомления1 = "%EС=SourceKD,SourceKDValue,DestKd,DestKDValue,SourceIfs,SourceIFS_ref,DestIfs,DestIFS_ref,SourceClsType,DestClsType,SourceKESR,DestKESR;Summa=Summa;AcceptDate=AcceptDate;";
  МаппингСвязанныхПолейОбщийУведомления2 = "CreditDocEK=%EС,bacCreditKESR,CreditBudClsKind;DebitDocEK=%EС,bacDebitKESR,DebitBudClsKind;";  
  МаппингСвязанныхПолейОбщийУведомления3 = "%CLS=SourceKVSR,SourceKFSR,SourceKVR,SourceKCSR,SourceKESR,DestKVSR,DestKFSR,DestKVR,DestKCSR,DestKESR,SourceKD,SourceKDValue,DestKd,DestKDValue,SourceIFS,SourceIFS_ref,DestIFS,DestIFS_ref,SourceClsType,DestClsType,DFBTIFS_Ref;";
  МаппингСвязанныхПолейОбщийУведомления4 = "CreditDocCLS=%CLS,CreditBudClsKind;DebitDocCLS=%CLS,DebitBudClsKind";

функция ПолучитьБухУведомления(Данные : СтатическиеДанные; Коллекция: IVariables);
переменные
  ПоляВыборкиСтарое, ПоляВыборкиУникальные, МаппингУникальный: строка;
начало
  /$если Бюджет
    ПоляВыборкиУникальные := ",HeadActivityKind,SourceFAOrgType,DestFAOrgType";
    МаппингУникальный := ",ИсточникВидДеятельности=HeadActivityKind,ВидОрганизацииЛС=SourceFAOrgType,КорВидОрганизацииЛС=DestFAOrgType";
  /$конец
  
  ПоляВыборкиСтарое := Коллекция.Значение("ПоляВыборки");
  попытка
    Коллекция.Значение("ПоляВыборки") := ВернутьПоляГруппировкиСУчетомЗависимостей(
                                            Коллекция.Значение("ПоляВыборки"),
                                            МаппингСвязанныхПолейОбщийУведомления1 + 
                                            МаппингСвязанныхПолейОбщийУведомления2 + 
                                            МаппингСвязанныхПолейОбщийУведомления3 + 
                                            МаппингСвязанныхПолейОбщийУведомления4, 
                                            Коллекция);
    Коллекция.Значение("ПоляВыборки") := Коллекция.Значение("ПоляВыборки") + 
                                         ",id,sum(DestSumma),DestBuhOperationCls,Summa,CORRECTIONFLAG,SourceActivityKind,DestActivityKind,OriginalPayerAcc_Ref,OriginalAcceptorAcc_Ref,DFBuhAccFO" +
                                         ПоляВыборкиУникальные;
      
    ПолучитьБухУведомления70н(Данные, коллекция);
    ВычислитьПоля70Н(
      'БКСчетДебет=DebitDocCLS,ЭКСчетДебет=DebitDocEK,БКСчетКредит=CreditDocCLS,ЭКСчетКредит=CreditDocEK,'+             
      'КодСчетаДебет=DebitCodeAcc70n,КодСчетаКредит=CreditCodeAcc70n,НомерСчетаДебет=DebitNumberAcc70n,НомерСчетаКредит=CreditNumberAcc70n,'+
      'БухСчетДебет=DebitAcc70n,БухСчетКредит=CreditAcc70n,'+
      'ВидКлс=SourceClsType,КорВидКлс=DestClsType,ВидДеятельности=SourceActivityKind,КорВидДеятельности=DestActivityKind,'+
      'КВСР=SourceKVSR,КЦСР=SourceKCSR,КФСР=SourceKFSR,КВР=SourceKVR,КЭСР=SourceKESR,'+ 
      'КорКВСР=DestKVSR,КорКЦСР=DestKCSR,КорКФСР=DESTKFSR,КорКВР=DestKVR,КорКЭСР=DestKESR,'+
      'ИВФКлюч=SourceIFS_ref,КорИВФКлюч=DestIFS_ref,КД=SourceKDValue,КорКД=DestKdValue,'+
      'КорИВФ=DestIFS,ИВФ=SourceIFS,БухСчетФОДебет=DFBuhAccFO,БухСчетФОКредит=DFBuhAccFO,'+   
      'ВариантКлсСчетДебет=DebitBudClsKind,ВариантКлсСчетКредит=CreditBudClsKind,ИндексыДанных=Progindex,'+
      'ЭКБухСчетДебет=bacDebitKESR,ОстатковыйИВФДебетКлюч=DFBTIFS_Ref,ОстатковыйИВФКредитКлюч=DFBTIFS_Ref,ЭКБухСчетКредит=bacCreditKESR,'+
      'БухСчетБезЭКДебет=DebitAcc70nValue,БухСчетБезЭККредит=CreditAcc70nValue,'+
      'БухОперация=DestBuhOperationCLS,Сумма=Summa,ИсправляющаяОперация=CORRECTIONFLAG' +
      МаппингУникальный,
      Данные, '2', '3', Коллекция);
  обязательно
    Коллекция.Values("ПоляВыборки") := ПоляВыборкиСтарое;
  конец;
конец;
</value>
    <param value="ЗапросыУведомления.abl" type="3" name="version">36.000.187</param>
    <param value="ЗапросыУведомления.abl" type="3" name="crc32">$886108D2</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010100</V>
            <V N="Name">Уведомление об уточнении вида и принадлежности платежа</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,КФСР,КВСР,КЦСР,КВР,КЭСР,ИстВнутрФин,ИстВнутрФинАдм,ИстВнутрФинВид,ИстВнутрФинЭК,КодДохода,Организация,ИНН,КПП,Наимен</V>
            <V N="Template">55010200,55010300</V>
            <V N="Generation">ЛентаОтчетов</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.000.187</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010200</V>
            <V N="Name">Уведомление об уточнении вида платежа 8н стр 1</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет</V>
            <V N="Template">(55.01.02) Уведомление об уточнении вида платежа 8н стр 1.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.000.187</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010300</V>
            <V N="Name">Уведомление об уточнении вида платежа 8н стр 2</V>
            <V N="Params">Бюджет,ОднаДата,Классификаторы,ЛицСчет</V>
            <V N="Template">(55.01.03) Уведомление об уточнении вида платежа 8н стр 2.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.000.187</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Уведомления">
    <value type="7" name="ПлатформоЗависимыеФункцииДляОтчетовПоУведомлениям">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';

функция ОграничитьЕстьВБюджете(Коллекция: Ivariables; полеВБюджете: строка): строка;
начало
  результат := "";
конец;

функция ОграничитьПоЗависшим(Коллекция: Ivariables; полеПризнакЗависания: строка): строка;
начало
  результат := "";
конец;

функция ОграничитьПоЛокЗависшимДок(Коллекция: Ivariables; полеВБюджете, полеПризнакЗависания, поляЗавизировано: строка): строка;
начало
  результат := "";
конец;

</value>
    <param value="ПлатформоЗависимыеФункцииДляОтчетовПоУведомлениям" type="3" name="Export">GENOFOND\gen\29.08.2008 10:12:18</param>
    <param value="ПлатформоЗависимыеФункцииДляОтчетовПоУведомлениям" type="3" name="version">36.000.187</param>
    <param value="ПлатформоЗависимыеФункцииДляОтчетовПоУведомлениям" type="3" name="crc32">$18BC7791</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Уведомления">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Макросы\отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Запросы\ЗапросыУведомления.abl';

Уведомления(Параметры: IVariables);
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;
  Раскладка : ITableInfoX;
  
константы
  // константы для работы с заблокированными средствами
  бсНеЗаблокированные   = 1; 
  бсЗаблокированные     = 2;
  бсРазблокированные    = 3;
  бсНеУчитывать         = 0;

   
  крВсе = 0;
  крРасход = 1;
  крВозврат = 2;
  
  ПоляВыборкиГиперТекст = 'AlgIndex,DetID';
  ПоляВставкиГиперТекст = 'AlgIndex;DetID';


функция ЗаполнитьПоляВыборки(Данные, ЛокДанные : СтатическиеДанные; Коллекция : IVariables; ПеременныйМаппингПолей : строка; УникальныйИндексСекции : Целое);
переменные
  МаппингСекции : строка;
начало
  МаппингСекции := Коллекция.values("ПостМаппинг") + "," + FixPumpMapEx(ПеременныйМаппингПолей,Раскладка);
  Коллекция.Значение("МаппингСекции") := МаппингСекции;
  Коллекция.values("ПоляВыборки") := ВернутьПоляГруппировки(МаппингСекции, Раскладка, Коллекция.Values(кПарамГруппироватьНаСервере));
  Коллекция.values("ПоляВыборки") := ДополнитьМаппингВыборкиГиперТекст(Коллекция.values("ПоляВыборки"), ПоляВыборкиГиперТекст, Коллекция.Values(кПарамГиперТекст));
конец;

функция РаботаСГиперДокументами(Данные, ЛокДанные : СтатическиеДанные; Коллекция : IVariables; ПеременныйМаппингПолей : строка; УникальныйИндексСекции : Целое);
переменные 
  МаппингГиперТекст : строка;
начало
  // формируем при необходимости маппинг гипер текста
  МаппингГиперТекст := СформироватьМаппингГиперТекстДляСекции(ПоляВставкиГиперТекст, УникальныйИндексСекции, Коллекция.Values(кПарамГиперТекст));
  // перезакачиваем полученные данные в результирующие статические данные
  ПерекачатьДанныеГиперТекст(ЛокДанные, Данные, Коллекция.Значение("МаппингСекции"), МаппингГиперТекст, Коллекция.Values(кПарамГиперТекст), нет);
конец;
  
функция ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ЛокДанные : СтатическиеДанные; Коллекция : IVariables; ПеременныйМаппингПолей : строка; УникальныйИндексСекции : Целое);
начало
  ЗаполнитьПоляВыборки(Данные, ЛокДанные, Коллекция, ПеременныйМаппингПолей, УникальныйИндексСекции);
  Коллекция.Значение("ДанныеПредАлгоритмов") := Данные;
  ПолучитьУведомленияПоКлассификации(ЛокДанные, Коллекция);
  РаботаСГиперДокументами(Данные, ЛокДанные, Коллекция, ПеременныйМаппингПолей, УникальныйИндексСекции);
конец;

функция ВыполнитьПолучитьУведомленияПоЗаголовку(Данные, ЛокДанные : СтатическиеДанные; Коллекция : IVariables; ПеременныйМаппингПолей : строка; УникальныйИндексСекции : Целое);
начало
  ЗаполнитьПоляВыборки(Данные, ЛокДанные, Коллекция, ПеременныйМаппингПолей, УникальныйИндексСекции);
  ПолучитьУведомленияПоЗаголовку(ЛокДанные, Коллекция);
  РаботаСГиперДокументами(Данные, ЛокДанные, Коллекция, ПеременныйМаппингПолей, УникальныйИндексСекции);
конец;

функция ВыполнитьПолучитьУведомленияПоКлассификацииПротоколаПЗК(Данные, ЛокДанные : СтатическиеДанные; Коллекция : IVariables; ПеременныйМаппингПолей : строка; УникальныйИндексСекции : Целое);
начало
  ЗаполнитьПоляВыборки(Данные, ЛокДанные, Коллекция, ПеременныйМаппингПолей, УникальныйИндексСекции);
  ПолучитьУведомленияПоКлассификацииПротоколаПЗК(ЛокДанные, Коллекция);
  РаботаСГиперДокументами(Данные, ЛокДанные, Коллекция, ПеременныйМаппингПолей, УникальныйИндексСекции);
конец;

функция ВыполнитьПолучитьУведомленияПоЗаголовкуПротоколаПЗК(Данные, ЛокДанные : СтатическиеДанные; Коллекция : IVariables; ПеременныйМаппингПолей : строка; УникальныйИндексСекции : Целое);
начало
  ЗаполнитьПоляВыборки(Данные, ЛокДанные, Коллекция, ПеременныйМаппингПолей, УникальныйИндексСекции);
  ПолучитьУведомленияПоЗаголовкуПротоколаПЗК(ЛокДанные, Коллекция);
  РаботаСГиперДокументами(Данные, ЛокДанные, Коллекция, ПеременныйМаппингПолей, УникальныйИндексСекции);
конец;

функция ВыполнитьСекцииУвед(Данные : СтатическиеДанные; Коллекция : IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  ОграниченияПоДатам:IDataLimit;
начало
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);

  если Не НадоВыполнятьАлгоритм(55, ЛокКоллекция) тогда выход;

  ЛокКоллекция.Values("ПостМаппинг"):= FixPumpMapEx(УведомленияВернутьМаппингПереносаПолей, Раскладка);
  Данные.Открыть;
  ДанныеОднойСекции := СоздатьСтатическиеДанные;
  ДанныеОднойСекции.DefProps("Options") := "+sdoSmallint";
  
  если ЛокКоллекция.Values("ПечатныйДокумент")=да тогда
  начало  
    ЛокКоллекция.Values("ТипОгрДата"):=0;
    ЛокКоллекция.Values("ТипДатыУнивер"):=0;
  конец;
  
  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);

  // Секция 1. Сумма по детализации в разрезе классификаций
  Если выполнятьСекцию(данные,"УведомленияПриходРасходЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.1. Приход расход по классификации';
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияСуммаПоЗаголовку=CaptionSumma,УведомленияПриходРасходЗаПериод=summa", 1);
  конец;
      
  // Секция 2. Расход с возвратом расхода на начало периода
  Если выполнятьСекцию(данные,"УведомленияРасходСВозвратомНаНачПериода") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.2. Расход с возвратом расхода на начало периода';
    ЛокКоллекция.Values("РасходСВозвратом") := Да;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияРасходСВозвратомНаНачПериода=summa", 2);
    ЛокКоллекция.Values("РасходСВозвратом") := Нет;
  конец;

  // Секция 3. Расход на начало периода
  Если выполнятьСекцию(данные,"УведомленияРасходНаНачПериода") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.3. Расход на начало периода';
    ЛокКоллекция.Values("Расход") := Да;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияРасходНаНачПериода=summa", 3);
    ЛокКоллекция.Values("Расход") := Нет;
  конец;
  
  // Секция 4. Возврат расхода на начало периода
  Если выполнятьСекцию(данные,"УведомленияВозврРасходНаНачПериода") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.4. Возврат расхода на начало периода';
    ЛокКоллекция.Values("ВозвратРасхода") := Да;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияВозврРасходНаНачПериода=summa", 4);
    ЛокКоллекция.Values("ВозвратРасхода") := Нет;
  конец;

  // Секция 5. Расход с возвратом расхода за период
  Если выполнятьСекцию(данные,"УведомленияРасходСВозвратомЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.5. Расход с возвратом за период';
    ЛокКоллекция.Values("РасходСВозвратом") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияРасходСВозвратомЗаПериод=summa", 5);
    ЛокКоллекция.Values("РасходСВозвратом") := Нет;
  конец;
  
  // Секция 6. Расход за период
  Если выполнятьСекцию(данные,"УведомленияРасходЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.6. Расход за период';
    ЛокКоллекция.Values("Расход") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияРасходЗаПериод=summa", 6);
    ЛокКоллекция.Values("Расход") := Нет;
  конец;

  // Секция 7. Возврат расхода за период
  Если выполнятьСекцию(данные,"УведомленияВозврРасходЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.7. Возврат расхода за период';
    ЛокКоллекция.Values("ВозвратРасхода") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияВозврРасходЗаПериод=summa", 7);
    ЛокКоллекция.Values("ВозвратРасхода") := Нет;
  конец;

  // Секция 8. Расход с возвратом расхода за день
  Если выполнятьСекцию(данные,"УведомленияРасходСВозвратомЗаДень") тогда 
  начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.8. Расход с возвратом за день';
    ЛокКоллекция.Values("РасходСВозвратом") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияРасходСВозвратомЗаДень=summa", 8);
    ЛокКоллекция.Values("РасходСВозвратом") := Нет;
  конец;

  // Секция 9. Расход за день
  Если выполнятьСекцию(данные,"УведомленияРасходЗаДень") тогда 
  начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.9. Расход за день';
    ЛокКоллекция.Values("Расход") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияРасходЗаДень=summa", 9);
    ЛокКоллекция.Values("Расход") := Нет;
  конец;

  // Секция 10. Возврат расхода за день
  Если выполнятьСекцию(данные,"УведомленияВозврРасходЗаДень") тогда 
  начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.10. Возврат расхода за день';
    ЛокКоллекция.Values("ВозвратРасхода") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияВозврРасходЗаДень=summa", 10);
    ЛокКоллекция.Values("ВозвратРасхода") := Нет;
  конец;

  // Секция 11. Приход с возвратом прихода на начало периода
  Если выполнятьСекцию(данные,"УведомленияПриходСВозвратомНаНачПериода") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.11. Приход с возвратом на начало периода';
    ЛокКоллекция.Values("ПриходСВозвратом") := Да;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияПриходСВозвратомНаНачПериода=summa", 11);
    ЛокКоллекция.Values("ПриходСВозвратом") := Нет;
  конец;

  // Секция 12. Приход на начало периода
  Если выполнятьСекцию(данные,"УведомленияПриходНаНачПериода") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.12. Приход на начало периода';
    ЛокКоллекция.Values("Приход") := Да;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияПриходНаНачПериода=summa", 12);
    ЛокКоллекция.Values("Приход") := Нет;
  конец;

  // Секция 13. Возврат прихода на начало периода
  Если выполнятьСекцию(данные,"УведомленияВозврПриходНаНачПериода") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.13. Возврат прихода на начало периода';
    ЛокКоллекция.Values("ВозвратПрихода") := Да;
    ЛокКоллекция.Values("НачальнаяДата") := ОграниченияПоДатам.НачалоГода;
    ЛокКоллекция.Values("КонечнаяДата") := ОграниченияПоДатам.ДатаДоНачалаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияВозврПриходНаНачПериода=summa", 13);
    ЛокКоллекция.Values("ВозвратПрихода") := Нет;
  конец;

  // Секция 14. Приход с возвратом прихода за период
  Если выполнятьСекцию(данные,"УведомленияПриходСВозвратомЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.14. Приход с возвратом за период';
    ЛокКоллекция.Values("ПриходСВозвратом") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияПриходСВозвратомЗаПериод=summa", 14);
    ЛокКоллекция.Values("ПриходСВозвратом") := Нет;
  конец;

  // Секция 15. Приход за период
  Если выполнятьСекцию(данные,"УведомленияПриходЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.15. Приход за период';
    ЛокКоллекция.Values("Приход") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияПриходЗаПериод=summa", 15);
  конец;

  // Секция 16. Возврат прихода за период
  Если выполнятьСекцию(данные,"УведомленияВозврПриходЗаПериод") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.16. Возврат прихода за период';
    ЛокКоллекция.Values("ВозвратПрихода") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияВозврПриходЗаПериод=summa", 16);
    ЛокКоллекция.Values("ВозвратПрихода") := Нет;
  конец;

  // Секция 17. Приход с возвратом за день
  Если выполнятьСекцию(данные,"УведомленияПриходСВозвратомЗаДень") тогда 
  начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.17. Приход с возвратом за день';
    ЛокКоллекция.Values("ПриходСВозвратом") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияПриходСВозвратомЗаДень=summa", 17);
    ЛокКоллекция.Values("ПриходСВозвратом") := Нет;
  конец;

  // Секция 18. Приход за день
  Если выполнятьСекцию(данные,"УведомленияПриходЗаДень") тогда 
  начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.18. Приход за день';
    ЛокКоллекция.Values("Приход") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияПриходЗаДень=summa", 18);
    ЛокКоллекция.Values("Приход") := Нет;
  конец;

  // Секция 19. Возврат прихода за день
  Если выполнятьСекцию(данные,"УведомленияВозврПриходЗаДень") тогда 
  начало
    Если (УбратьПробелы(ЛокКоллекция.Values("ОднаДата")) = "") тогда
      ВызватьОшибку('Укажите дату.');
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.19. Возврат прихода за день';
    ЛокКоллекция.Values("ВозвратПрихода") := Да;
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ТекущаяДата;
    ВыполнитьПолучитьУведомленияПоКлассификации(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияВозврПриходЗаДень=summa", 19);
    ЛокКоллекция.Values("ВозвратПрихода") := Нет;
  конец;

  // Секция 20. Выбираем уведомления (заголовок плюс детализация)
  Если выполнятьСекцию(данные, "УведомленияСуммаПоИсхКлс,УведомленияСуммаПоНовКлс") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.20. Сумма по уведомлениям';
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоЗаголовку(Данные, ДанныеОднойСекции, ЛокКоллекция, "УведомленияСуммаПоЗаголовку=CaptionSumma,УведомленияСуммаПоИсхКлс=SourceSumma,УведомленияСуммаПоНовКлс=DestSumma", 20);
  конец;
  
  // Секция 21. Протокол ПЗК по заголовку
  Если выполнятьСекцию(данные, "ПротоколКодДокумента") тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.21. Протокол ПЗК по заголовку';
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоЗаголовкуПротоколаПЗК(Данные, ДанныеОднойСекции, ЛокКоллекция, "", 21);
  конец;
  
  // Секция 22. Протокол ПЗК по классификации
  Если (выполнятьСекцию(данные, "ПротоколЛицевойСчет") и не выполнятьСекцию(данные, "ПротоколКодДокумента")) тогда 
  начало
    ЛокКоллекция.values("КоментарийСекции") := 'Увед.22. Протокол ПЗК по классификации';
    ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
    ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;
    ВыполнитьПолучитьУведомленияПоКлассификацииПротоколаПЗК(Данные, ДанныеОднойСекции, ЛокКоллекция, "", 22);
  конец;
                 
  Коллекция.Values("КонечнаяДатаПлюс1День") := ОграниченияПоДатам.ДатаПослеКонцаПериода;
  интерфейс(ДанныеОднойСекции).Освободить;
конец;  
  
//ОСНОВНАЯ ЧАСТЬ
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Раскладка := Параметры.Values(АлгРаскладка);
  Данные := Параметры.Values(АлгДанные);
  Ограничения.Значение(АлгРаскладка) := Раскладка; 
  // выбираем данные по секциям
  // если у нас установлен параметр, который говорит что уведомления нужны только для получения 
  // уточняющей классификации - тогда основные данные уведомлений выбирать не нужно
  если не Ограничения.Значение("ВычислятьУточняющуюКлассификацию") тогда
    ВыполнитьСекцииУвед(данные, Ограничения);
конец.

// todo : сделать работу с блокированными средствами
</value>
    <param value="Уведомления" type="3" name="Export">WKS2375\jurov\16.08.2012 18:53:48</param>
    <param value="Уведомления" type="3" name="version">36.000.187</param>
    <param value="Уведомления" type="3" name="crc32">$1326ABFC</param>
  </node>
  <version_info>
    <file>Сборка(99)Системные.xml</file>
    <version>36.042.191</version>
    <info>&lt;p&gt;Системные отчеты&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:00</buildtime>
  </version_info>
  <description>Новые отчеты</description>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="Администратор">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\AblTools.lib';
включить '\Библиотеки\pather.lib';
включить "Бюджет\Ресурсы\Макросы\отчеты\ПоддержкаОтчетов.abl";

Администратор (Параметры: IVariables);
константы
индНовыеОтчеты=0;
индКонтроль=1;
индОтчеты=2;
индИнтерфейсы=3;
индПользователи=4;
индРабочиеМеста=5;
индПраваНаИнтерфейсы=6;

функция ЗаполнитьИндекс(пИндекс: Строка; Значение: целое; Данные:СтатическиеДанные);
переменные
  Index : IField;  
начало  
  Если Данные.FindField(пИндекс,nil) тогда
    начало  
      Index := Данные.FieldByName(пИндекс);
      Данные.First;
      пока (не Данные.Eof) делать
        начало
          Index.КакЦелое := Значение;  
          Данные.Next;
        конец;
    конец;  
конец; 

функция ПолучитьОднуКолонку(Запрос :Строка):СтатическиеДанные;
переменные
  ПустаяКоллекция : IVariables;
начало
  результат := СоздатьСтатическиеДанные;
  ПустаяКоллекция := CreateVariables;
  ЗакачатьДанныеЗапроса(Результат, '{' + Запрос + '}', ПустаяКоллекция)
конец;

Функция ЗаполнитьОднуКолонку(истКлюч, дКлюч, истКолонка, дКолонка: Строка; Источник, Данные : СтатическиеДанные);
переменные ключевоеПоле : IField;
           ключ : строка;
           истПоле, дПоле : IField;
начало
  Если Данные.НайтиПоле(дКлюч,nil) и
       Источник.НайтиПоле(истКлюч,nil) и
       Данные.НайтиПоле(дКолонка,nil) и
       Источник.НайтиПоле(истКолонка,nil) тогда
    начало      
      ключевоеПоле := Данные.ПолеПоИмени(дКлюч);
      истПоле := Источник.ПолеПоИмени(истКолонка);  
      дПоле := Данные.ПолеПоИмени(дКолонка);
      Источник.IndexFieldNames := истКлюч;     
      Данные.ВНачало;
      пока не Данные.ВКонце делать
        начало            
          ключ := ключевоеПоле.КакСтрока;
          если Источник.FindKey(ArrayOf(ключ)) тогда
          начало
            Данные.Редактировать;         
            дПоле.КакСтрока := истПоле.КакСтрока;   
            Данные.Post;
          конец;  
          Данные.Следующая;
        конец;   
    конец;
конец;

функция ЗаполнитьOCX(пGUID, пOCX: строка; Данные : СтатическиеДанные);
переменные 
  Врем : Строка;
  dsFile,dsID : IField;                         
начало  
  Если Данные.FindField(пGUID,nil) и
       Данные.FindField(пOCX,nil) тогда
    начало     
      dsFile := Данные.FieldByName(пOCX);
      dsID := Данные.FieldByName(пGUID);
      Данные.First;
      пока не Данные.ВКонце делать
        начало        
          если ReadStringFromRegistry(0, "CLSID\" + dsID.AsString + "\InprocServer32", "", Врем) 
            тогда dsFile.AsString := Врем;
              Данные.Следующая; 
        конец;
    конец;    
конец;

функция ПолучитьОграничение(стр : строка; Коллекция : IVariables) : Строка;
начало
  Результат := ОграничениеФильтр(стр, Коллекция);
конец;

функция ВыполнитьСекцииАдмин(Данные : статическиеДанные; Коллекция: IVariables);
переменные
  ДанныеОднойСекции, ДанныеОднойСекции_ : СтатическиеДанные;
  Буфер, Вр : СтатическиеДанные;
  МаппингСекции, Маппинг1, Маппинг2: строка;
  Поток : ВнешнийОБЪЕКТ;
  Запрос : Строка;
  ОграниченияПоДатам : IDataLimit;
  ДопОграничения, ПоПользователю, ПоГруппе, ПоИнтерфейсу: Строка;  
  СтрПоказыватьНеиспользуемыеОтчеты : Строка;
  ExecDate, DateStart, StartStr, DateEnd, EndStr : Поле;
  связка: строка;  
начало
  Данные.Открыть;  
  //***************Секция 'Раскладка по пользователям'***************************************************//  
  Если ВыполнятьСекцию(Данные, "ИндексПользователя") тогда
    Начало
      ДанныеОднойСекции := СоздатьСтатическиеДанные();
      ДанныеОднойСекции_ := СоздатьСтатическиеДанные();
      ДанныеОднойСекции_.AssignFields(Данные);  
      Буфер := СоздатьСтатическиеДанные(); 
      Буфер.AssignFields(Данные); 
      МаппингСекции := FixPumpMap('КлассОтчета=CLS,НовыйОтчет=Name,Примечание=Note', Данные);
      Поток := ReadEnum(ENUM_REPORTS);
      Буфер.PumpData(Поток,МаппингСекции);
      УдалитьОбъект(Поток);  
      // Получаем раскладку по рабочим местам      
      ДанныеОднойСекции.AssignFields(Данные);
      МаппингСекции := FixPumpMap('КлассОтчета=RPRT_REPORT,НовыйОтчет=RPRT_NAME,ИдентификаторРМ=RPRT_PAGE', Данные);            
      Поток := ReadEnum(ENUM_REPORT_LAYOUT);
      ДанныеОднойСекции_.PumpData(Поток,МаппингСекции);
      ДанныеОднойСекции_.Фильтр := 'КлассОтчета &gt; 0';
      ЗаполнитьОднуКолонку("КлассОтчета","КлассОтчета","НовыйОтчет","НовыйОтчет",Буфер,ДанныеОднойСекции_);      
      ДанныеОднойСекции.PumpData(ДанныеОднойСекции_, "");
      УдалитьОбъект(Поток, ДанныеОднойСекции_);  
      ЗаполнитьИндекс('Индекс',индНовыеОтчеты, ДанныеОднойСекции);         

      Вр := ПолучитьОднуКолонку('select id, note from workplaces');

      Запрос := 'select i.Note Name, wi.WorkPlaces_Ref WorkPlace, cast(0 as Integer) InterfaceIndex,Cast(99 as integer) AlgIndex,' +
                'cast("" as VARCHAR(255)) OCX '+
                'from Interfaces i, WorkPlaces_Interface wi '+
                'where wi.Interfaces_Ref=i.ID';          
      ДанныеОднойСекции_ := ПолучитьОднуКолонку(Запрос);
      Маппинг1 := 'GUIDИнтерфейса=GUID,Интерфейс=Name,ФайлИнтерфейса=OCX,';
      Маппинг2 := 'ИдентификаторРМ=WorkPlace,Индекс=InterfaceIndex'; 
      МаппингСекции := FixPumpMap(Маппинг1 + Маппинг2, Данные);
      ЗаполнитьИндекс('InterfaceIndex',индИнтерфейсы, ДанныеОднойСекции_);

      ДанныеОднойСекции.PumpData(ДанныеОднойСекции_, МаппингСекции);                   
      УдалитьОбъект(ДанныеОднойСекции_);
      ЗаполнитьОднуКолонку("ID","ИдентификаторРМ","Note","РабочееМесто",Вр,ДанныеОднойСекции);
      
      Запрос := 'select dbu.ID UserIndex, dbu.UserName Name, uw.WorkPlaces_Ref WorkPlace, Cast(99 as integer) AlgIndex ' +
                'from DBUsers dbu, User_WorkPlaces uw ' +
                'where uw.Users_Ref=dbu.ID';         
      Вр := ПолучитьОднуКолонку(Запрос);
      ДанныеОднойСекции_ := JoinStaticSets(ДанныеОднойСекции,Вр, "ИдентификаторРМ", "Workplace" , jtFull,
      "Интерфейс=Интерфейс,НовыйОтчет=НовыйОтчет,"+
      "ИдентификаторРМ=ИдентификаторРМ,РабочееМесто=РабочееМесто,КлассОтчета=КлассОтчета,Номер=Номер,Индекс=Индекс",    
      "Пользователь=Name");     
      // Заголовок
      Вр := ПолучитьОднуКолонку('select reports_ref, note from workplaces_newreports');
      ЗаполнитьОднуКолонку("reports_ref","КлассОтчета","note","Заголовок",Вр,ДанныеОднойСекции);
      Данные.PumpData(ДанныеОднойСекции, '');
      Данные.PumpData(ДанныеОднойСекции_, "");
      УдалитьОбъект(ДанныеОднойСекции, ДанныеОднойСекции_);
    Конец
  Иначе Начало 
  //***************Секция 'Новые отчеты'***************************************************//
  Если ВыполнятьСекцию(данные, "НовыйОтчет,КлассОтчета" ) тогда 
    начало             
      // Получаем детальные записи
      ДанныеОднойСекции := СоздатьСтатическиеДанные();  
      Буфер := СоздатьСтатическиеДанные(); 
      Буфер.AssignFields(Данные); 
      МаппингСекции := FixPumpMap('КлассОтчета=CLS,НовыйОтчет=Name,Примечание=Note', Данные);
      Поток := ReadEnum(ENUM_REPORTS);
      Буфер.PumpData(Поток,МаппингСекции);
      // фильт по номеру документа
      Буфер.Фильтр := '(КлассОтчета &gt; 0)' + ПолучитьОграничение("КодДокумента=КлассОтчета", Коллекция); 
      Буфер.Filtered := Да; 
      УдалитьОбъект(Поток);  
              
      Если ВыполнятьСекцию(Данные, "ИдентификаторРМ" ) тогда 
        начало
          // Получаем раскладку по рабочим местам
          ДанныеОднойСекции.AssignFields(Данные);
          МаппингСекции := FixPumpMap('КлассОтчета=RPRT_REPORT,НовыйОтчета=RPRT_NAME,ИдентификаторРМ=RPRT_PAGE', Данные);            
          Поток := ReadEnum(ENUM_REPORT_LAYOUT);
          ДанныеОднойСекции.PumpData(Поток,МаппингСекции);
          // фильт по номеру документа
          ДанныеОднойСекции.Фильтр := '(1=1)' + ПолучитьОграничение("КодДокумента=КлассОтчета", Коллекция); 
          УдалитьОбъект(Поток);    
          ЗаполнитьОднуКолонку("КлассОтчета","КлассОтчета","НовыйОтчет","НовыйОтчет",Буфер,ДанныеОднойСекции);
          ЗаполнитьОднуКолонку("КлассОтчета","КлассОтчета","Примечание","Примечание",Буфер,ДанныеОднойСекции);
          ЗаполнитьИндекс('Индекс',индНовыеОтчеты, ДанныеОднойСекции);         

          Вр := ПолучитьОднуКолонку('select id, note from workplaces');
          ЗаполнитьОднуКолонку("ID","ИдентификаторРМ","Note","РабочееМесто",Вр,ДанныеОднойСекции);          
          Вр := ПолучитьОднуКолонку('select reports_ref, note from workplaces_newreports');
          ЗаполнитьОднуКолонку("reports_ref","КлассОтчета","note","Заголовок",Вр,ДанныеОднойСекции);
          Данные.PumpData(ДанныеОднойСекции, '');
        конец иначе   
        начало          
          ЗаполнитьИндекс('Индекс',индНовыеОтчеты, Буфер);
          Данные.PumpData(Буфер, '');   
        конец;          
      УдалитьОбъект(Буфер, ДанныеОднойСекции);
    конец;
  //***************Секция 'Бюджетный Контроль'***************************************************//    
  Если ВыполнятьСекцию(данные, "Контроль,КлассКонтроля" ) тогда 
    начало             
      // Получаем детальные записи
      ДанныеОднойСекции := СоздатьСтатическиеДанные();  
      ДанныеОднойСекции.AssignFields(Данные);
      Буфер := СоздатьСтатическиеДанные(); 
      МаппингСекции := FixPumpMap("КлассКонтроля=CTRL_REF,ИндексИнтерфейса=CTRL_PAGE,Контроль=CTRL_NAME," +
                                  "КонтролируемоеПоле=CTRL_FIELD,ТипКонтроля=CTRL_OPTIONS",
                                   Данные);      
      Поток := ReadEnum(ENUM_CONTROL_LAYOUT);      
      ДанныеОднойСекции.PumpData(Поток,МаппингСекции);
      УдалитьОбъект(Поток); 
      //Получаем список интерфейсов
      Запрос := 'select i.ID ID, i.GUID GUID, i.Note Interface ' +                
                 'from Interfaces i'; 
      Буфер := ПолучитьОднуКолонку(Запрос);
      ЗаполнитьОднуКолонку("ID","ИндексИнтерфейса","Interface","Интерфейс", Буфер, ДанныеОднойСекции);
      ЗаполнитьОднуКолонку("ID","ИндексИнтерфейса","GUID","GUIDИнтерфейса", Буфер, ДанныеОднойСекции);           
      
      МаппингСекции := "keys=КлассКонтроля;КлассКонтроля=CLS;Контроль=Name;Шаблон=Template";
      Если Коллекция.Значение("ПоказатьВсеКонтроли")
         тогда МаппингСекции := "insert=true;" + МаппингСекции
         иначе МаппингСекции :=  "insert=false;" + МаппингСекции;       
      Поток := ReadEnum(ENUM_CONTROL);          
      ДанныеОднойСекции.GroupData(Поток, МаппингСекции);
      УдалитьОбъект(Поток);
      Данные.PumpData(ДанныеОднойСекции, '');  
      УдалитьОбъект(Буфер, ДанныеОднойСекции);
    конец;
  //***************Секция 'отчеты'***************************************************//
  Если ВыполнятьСекцию(данные, "Отчет,GUIDОтчета,ФайлОтчета" ) тогда
    ВызватьОшибку('Шаблон, использующий поле "Отчет" (не "НовыйОтчет") устарел и больше не поддерживается. Для его конвертации обратитесь в НПО Криста');
  //***************Секция 'Интерфейсы'***************************************************//
  Если ВыполнятьСекцию(данные, "Интерфейс,GUIDИнтерфейса,ФайлИнтерфейса" ) и
       не ВыполнятьСекцию(данные, "Контроль,КлассКонтроля" ) тогда 
    начало            
      Если ВыполнятьСекцию(данные, "ИдентификаторРМ" ) тогда 
        начало
          если Коллекция.Значение("ПечатныйДокумент") = да тогда
            связка := " left join WorkPlaces_Interface wi on(i.ID = wi.Interfaces_Ref) "
          иначе
            связка := " inner join WorkPlaces_Interface wi on(i.ID = wi.Interfaces_Ref) ";
            
          // Получаем раскладку по рабочим местам
          Запрос := 'select i.GUID GUID, i.id InterfaceRef, i.Note Name, wi.WorkPlaces_Ref WorkPlace, cast(0 as Integer) InterfaceIndex,Cast(99 as integer) AlgIndex,' +
                    ' cast("" as VARCHAR(255)) OCX, w.Note WorkplaceNote '+  
                    ' from Interfaces i '+
                    связка +
                    ' left join WorkPlaces w on(w.ID = wi.WorkPlaces_Ref)';          
          ДанныеОднойСекции := ПолучитьОднуКолонку(Запрос);
                                
          ЗаполнитьOCX('GUID','OCX', ДанныеОднойСекции);
          Маппинг1 := 'GUIDИнтерфейса=GUID,Интерфейс=Name,ФайлИнтерфейса=OCX,';
          Маппинг2 := 'ИдентификаторРМ=WorkPlace,РабочееМесто=WorkPlaceNote,Индекс=InterfaceIndex,ИндексИнтерфейса=InterfaceRef'; 
          МаппингСекции := FixPumpMap(Маппинг1 + Маппинг2, Данные);
          ЗаполнитьИндекс('InterfaceIndex',индИнтерфейсы, ДанныеОднойСекции);
          
          ДанныеОднойСекции.Фильтр :=  '(1=1)' + ПолучитьОграничение("КодДокумента=InterfaceRef", Коллекция);
          ДанныеОднойСекции.Filtered := да;
          Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
          УдалитьОбъект(ДанныеОднойСекции);
          Если ВыполнятьСекцию(данные, "СписокПользователейРМ" ) тогда
            начало 
              Запрос := 'select uw.USERS_REF, uw.WORKPLACES_REF,u.USERNAME from USER_WORKPLACES uw left join DBUsers u on(u.id=uw.USERS_REF)';
              Вр := ПолучитьОднуКолонку(Запрос);
              Буфер := СоздатьСтатическиеДанные;
              Буфер.ДобавитьЦелоеПоле("WORKPLACES_REF");
              Буфер.ДобавитьСтроковоеПоле("USERNAME", 2048);
              Буфер.Открыть;
              Буфер.GroupData(Вр, 'KEYS=WORKPLACES_REF;USERNAME=List(USERNAME,",")'); 
              ЗаполнитьОднуКолонку("WORKPLACES_REF", "ИдентификаторРМ", "USERNAME", "СписокПользователейРМ", Буфер, Данные);
            конец;                    
        конец иначе
        начало            
          //Получаем список интерфейсов
          Запрос :=  'select i.GUID GUID,i.Cls, i.Note Interface, w.Note Workplace, ' +
                     'cast(0 as Integer) InterfaceIndex, cast("" as VARCHAR(255)) OCX,Cast(99 as integer) AlgIndex ' +
                     'from Interfaces i ' + 
                     'left join Workplaces_Interface wi on(i.ID = wi.Interfaces_Ref) ' +
                     'left join Workplaces w on(wi.Workplaces_Ref = w.ID) ';
          Буфер := ПолучитьОднуКолонку(Запрос);     
          ЗаполнитьOCX('GUID','OCX', Буфер);
          Маппинг1 := 'GUIDИнтерфейса=GUID,Интерфейс=Interface,ФайлИнтерфейса=OCX,';
          Маппинг2 := 'РабочееМесто=WorkPlace,Индекс=InterfaceIndex';
          МаппингСекции := FixPumpMap(Маппинг1 + Маппинг2, Данные);          
          ЗаполнитьИндекс('InterfaceIndex',индИнтерфейсы, Буфер);
          Данные.PumpData(Буфер, МаппингСекции);
          УдалитьОбъект(Буфер);
        конец;              
    конец;
  //***************Секция 'Пользователи'***************************************************//
  Если ВыполнятьСекцию(данные, "Пользователь" ) тогда 
    начало            
      Если ВыполнятьСекцию(данные, "ИдентификаторРМ" ) тогда 
        начало
          // Получаем раскладку по рабочим местам
          Запрос := 'select dbu.UserName Name, uw.WorkPlaces_Ref WorkPlace, cast(0 as Integer) UserIndex,Cast(99 as integer) AlgIndex ' +
                    'from DBUsers dbu, User_WorkPlaces uw ' +
                    'where uw.Users_Ref=dbu.ID';           
          ДанныеОднойСекции := ПолучитьОднуКолонку(Запрос);
          МаппингСекции := FixPumpMap('Пользователь=Name,ИдентификаторРМ=WorkPlace,Индекс=UserIndex', Данные);
          ЗаполнитьИндекс('UserIndex',индПользователи, ДанныеОднойСекции);

          Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
          УдалитьОбъект(ДанныеОднойСекции);
        конец иначе
        начало            
          //Получаем список пользователей
          Запрос := 'select dbu.UserName Name,cast(0 as Integer) UserIndex ' +
                    'from DBUsers dbu';  
          Буфер := ПолучитьОднуКолонку(Запрос);     
          МаппингСекции := FixPumpMap('Пользователь=Name', Данные);
          ЗаполнитьИндекс('UserIndex',индПользователи, Буфер);
          Данные.PumpData(Буфер, МаппингСекции);
          УдалитьОбъект(Буфер);   
        конец;              
    конец;
  Конец;
  Если ВыполнятьСекцию(данные, "ИсполнительОтчета,ДатаНачалаВыполнения,ДатаКонцаВыполнения,КоличествоВыполненийОтчета" ) тогда 
  начало
    Буфер := СоздатьСтатическиеДанные(); 
    Буфер.AssignFields(Данные); 
    МаппингСекции := FixPumpMap('КлассОтчета=CLS,НовыйОтчет=Name,Примечание=Note', Данные);
    Поток := ReadEnum(ENUM_REPORTS);
    Буфер.PumpData(Поток,МаппингСекции);
    УдалитьОбъект(Поток);
    // ограничиваем по датам
    ОграниченияПоДатам := ПолучитьОграниченияПоДатам(Коллекция);
    ДопОграничения := '';
    //начальная дата
    попытка
      ДопОграничения := 'and(nrs.DateBegin &gt;= "' + ДатаВСтроку(РасширДатаВОбычную(ОграниченияПоДатам.ДатаНачалаПериода)) + '")';
    неудача
      //ошибка может произойти если не введены даты ограничений
    конец;  
    // конечная дата
    попытка
      ДопОграничения := ДопОграничения + 'and(nrs.DateBegin &lt;= "' + ДатаВСтроку(РасширДатаВОбычную(ОграниченияПоДатам.ДатаПослеКонцаПериода)) + '")';
    неудача
      //ошибка может произойти если не введены даты ограничений
    конец; 
    // по пользователю
    ДопОграничения := ДопОграничения + Ограничение('Пользователь=ru.DBUserName%s', Коллекция);
    Запрос := 'select nrs.Object_id, nrs.DateBegin, nrs.DateEnd, ru.DBUserName, Cast(null as varchar(255)) Name, wn.Note, Cast(null as float) ExecDate, Cast(0 as integer) ReportType,' +
              'Cast(null as varchar(20)) StartStr,Cast(null as varchar(20)) EndStr, Cast(1 as integer) ReportsRunCount ' +
              'from Reg_Journal nrs ' +
              'inner join RegUsers ru on (nrs.regusers_ref = ru.id) ' +
              'left join workplaces_newreports wn on (nrs.Object_id = wn.Reports_ref) ' + 
              'where (nrs.object_type = 3)' + ДопОграничения;
    //
      
    ДанныеОднойСекции := ПолучитьОднуКолонку(Запрос);
    МаппингСекции := FixPumpMap('КлассОтчета=Object_id,НовыйОтчет=Name,Заголовок=Note,ДатаНачалаВыполнения=StartStr,ДатаКонцаВыполнения=EndStr,ИсполнительОтчета=DBUserName,ДатаВыполненияОтчета=ExecDate,ТипОтчета=ReportType,КоличествоВыполненийОтчета=ReportsRunCount', 
                                Данные);
    Если (Коллекция.values('НеИспользуемыеОтчеты') = да)
      тогда СтрПоказыватьНеиспользуемыеОтчеты := '' 
      иначе СтрПоказыватьНеиспользуемыеОтчеты := 'insert=false;';
                                  
    ДанныеОднойСекции.GroupData(Буфер,                                      
      "keys=Object_id;" + СтрПоказыватьНеиспользуемыеОтчеты + "Object_id=КлассОтчета;Name=НовыйОтчет");
    ДанныеОднойСекции.ВНачало;
    
    ExecDate := ДанныеОднойСекции.ПолеПоИмени("ExecDate");
    DateStart:= ДанныеОднойСекции.ПолеПоИмени("DateBegin");
    StartStr:= ДанныеОднойСекции.ПолеПоИмени("StartStr");
    DateEnd:= ДанныеОднойСекции.ПолеПоИмени("DateEnd");
    EndStr := ДанныеОднойСекции.ПолеПоИмени("EndStr");    
    
    Пока не ДанныеОднойСекции.ВКонце делать
    начало
      Если не DateStart.Пустое тогда
        начало
          ExecDate.КакДробное := ОбычнаяДатаВРасшир(DateStart.КакДробное);
          StartStr.КакСтрока := ДатаВСтрокуФ(DateStart.КакДробное);
        конец;
      Если не DateEnd.Пустое тогда EndStr.КакСтрока := ДатаВСтрокуФ(DateEnd.КакДробное);
      ДанныеОднойСекции.Следующая;
    конец;
    //Надо данные очистить, а то в данных из-за поля КлассОтчета в предыдущей секции конфигурация отчетов закачалась
    Данные.Закрыть;
    Данные.Запрос := "";
    Данные.Открыть;
    Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
    УдалитьОбъект(ДанныеОднойСекции, Буфер)   
  конец; 
  //***************Секция 'Права пользователей'***************************************************//
  если ВыполнятьСекцию(данные, 'СостояниеНаим,ПравоНаПоле') тогда 
  начало            
    // Получаем раскладку по документу
    Запрос := 'select dfs.ID dfsID, dfs.Name dfsName, dfs.Note dfsNote, dfs.DetailNumber dfsDetailNumber, dts.ProgIndex DocType, ' + 
              'dfs.DocTypeRef, sds.ID sdsID, sds.Name sdsName, 0 fCross ' + 
              'from documentfields dfs ' +
              'left join documenttypes dts on (dts.id = dfs.doctyperef) ' + 
              'left join state_docstates sds on (sds.doctyperef = dfs.doctyperef)'
              'where (1=1) ' + Ограничение('ПраваНаВводДокумент=dfs.DocTypeRef', Коллекция) +
              Ограничение('НомерДетали=dfs.DetailNumber', Коллекция);
     ДанныеОднойСекции := ПолучитьОднуКолонку(Запрос);
     // Пользователь
     если Коллекция.Значение('ПраваНаВводПользователь') &lt;&gt; '' тогда
     начало
       Запрос := 'select sof.docfieldref, sds.Name, sj.doctyperef, sds.ID sdsID, 1 fCross ' +
                 'from state_openfields sof ' +
                 'left join state_jumps sj on (sof.jumpref=sj.id) ' + 
                 'left join UsersRights urs on ((urs.ObjRef = sj.id) and (urs.ObjectKindRef = 7000000)) ' + 
                 'left join state_docstates sds on (sds.id = sj.BeginStateRef) '+
                 'where (1=1) ' + 
                 Ограничение('ПраваНаВводПользователь=urs.UserRef', Коллекция) + 
                 Ограничение('ПраваНаВводСостояние=sds.id', Коллекция) + 
                 Ограничение('ПраваНаВводДокумент=sj.DocTypeRef', Коллекция);
       ДанныеОднойСекции_ := ПолучитьОднуКолонку(Запрос);
       ДанныеОднойСекции.KeyFieldNames := 'DocTypeRef;dfsID;sdsID';
       ДанныеОднойСекции.GroupData(ДанныеОднойСекции_, 'insert=false;dfsID=DocFieldRef;DocTypeRef=DocTypeRef;sdsID=sdsID;sdsName=Name;fCross=sum(fCross)');
       // теперь наследство от группы
       Запрос := 'select sof.DocFieldRef, sds.Name, sj.doctyperef, sds.ID sdsID, 1 fCross ' +
                 'from state_openfields sof ' +
                 'left join state_jumps sj on (sof.jumpref=sj.id) ' + 
                 'left join GroupsRights grs on ((grs.ObjRef = sj.id) and (grs.ObjectKindRef = 7000000)) ' +  
                 'left join UsersInGroups uig on (grs.groupref=uig.groupref) ' +
                 'left join state_docstates sds on (sds.id = sj.BeginStateRef) ' +
                 'where (1=1) ' + 
                 Ограничение('ПраваНаВводПользователь=uig.UserRef', Коллекция) + 
                 Ограничение('ПраваНаВводСостояние=sds.id', Коллекция) + 
                 Ограничение('ПраваНаВводДокумент=sj.DocTypeRef', Коллекция);
       ДанныеОднойСекции_ := ПолучитьОднуКолонку(Запрос);
       ДанныеОднойСекции.KeyFieldNames := 'DocTypeRef;dfsID;sdsID';
       ДанныеОднойСекции.GroupData(ДанныеОднойСекции_, 'insert=false;dfsID=DocFieldRef;DocTypeRef=DocTypeRef;sdsID=sdsID;sdsName=Name;fCross=sum(fCross)');
     конец  
     иначе
     начало// группа  
       Запрос := 'select sof.docfieldref, sds.Name, sj.doctyperef, sds.ID sdsID, 1 fCross ' +
                 'from state_openfields sof ' +
                 'left join state_jumps sj on (sof.jumpref=sj.id) ' + 
                 'left join groupsrights grs on ((grs.ObjRef = sj.id) and (grs.ObjectKindRef = 7000000)) ' +
                 'left join state_docstates sds on (sds.id = sj.BeginStateRef) ' +
                 'where (1=1) ' + 
                 Ограничение('ПраваНаВводГруппа=grs.GroupRef', Коллекция) + 
                 Ограничение('ПраваНаВводСостояние=sds.id', Коллекция) + 
                 Ограничение('ПраваНаВводДокумент=sj.DocTypeRef', Коллекция);
       ДанныеОднойСекции_ := ПолучитьОднуКолонку(Запрос);
       ДанныеОднойСекции.KeyFieldNames := 'DocTypeRef;dfsID;sdsID';
       ДанныеОднойСекции.GroupData(ДанныеОднойСекции_, 'insert=false;dfsID=DocFieldRef;DocTypeRef=DocTypeRef;sdsID=sdsID;sdsName=Name;fCross=sum(fCross)');
     конец;  
     Маппинг1 := 'ПереходИД=sjID,ПереходНаим=sjName,ПереходПримечание=sjNote,ПравоНаПоле=fCross,СостояниеИД=sjBeginStateRef,СостояниеНаим=sdsName,';
     Маппинг2 := 'ПолеИД=dfsID,ПолеНаим=dfsName,ПолеИнтфНаим=dfsNote,ПолеНомерДетали=dfsDetailNumber,ТипДокумента=DocType';
     МаппингСекции := FixPumpMap(Маппинг1 + Маппинг2, Данные);
     Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
     УдалитьОбъект(ДанныеОднойСекции);
  конец;
  Если ВыполнятьСекцию(Данные, "ПраваНаИнтерфейс") тогда
    Начало
      ДанныеОднойСекции := СоздатьСтатическиеДанные();
      ДанныеОднойСекции_ := СоздатьСтатическиеДанные();
      ДанныеОднойСекции_.AssignFields(Данные);  
      Буфер := СоздатьСтатическиеДанные(); 
      Буфер.AssignFields(Данные); 
      МаппингСекции := FixPumpMap('ИндексИнтерфейса=INTERFACEREF,ПраваНаИнтерфейс=Name,ПользователиИнтерфейса=VAL', Данные);

      Запрос := 'select p.INTERFACEREF, p.Name Name, p.Val from Permissions p';
      ДанныеОднойСекции_ := ПолучитьОднуКолонку(Запрос);
      
      ДанныеОднойСекции := JoinStaticSets(ДанныеОднойСекции_,Данные, "INTERFACEREF", "ИндексИнтерфейса" , jtInner,
      "ИндексИнтерфейса=INTERFACEREF,ПраваНаИнтерфейс=Name,ПользователиИнтерфейса=VAL",
      "Интерфейс=Интерфейс,ИдентификаторРМ=ИдентификаторРМ,РабочееМесто=РабочееМесто,СписокПользователейРМ=СписокПользователейРМ");      
      Данные.Close;
      Данные.Open;
      Данные.PumpData(ДанныеОднойСекции, "");
    Конец;
  //***************Секция 'Блокировки на интерфейсах'***************************************************//
  если ВыполнятьСекцию(Данные, "БлокировкиНаИнтерфейсах") тогда
    начало     
      ПоГруппе := Ограничение('ПраваНаВводГруппа=gr.GroupRef%d', Коллекция);
      ПоПользователю := Ограничение('ПраваНаВводПользователь=ur.UserRef%d', Коллекция);
      если (ПоПользователю = '') и (ПоГруппе &lt;&gt; "") тогда
        ПоПользователю := 'and (1&lt;&gt;1)';    
      ПоИнтерфейсу := Ограничение('ПраваНаВводДокумент=dl.DocRef%d', Коллекция);  
      ДанныеОднойСекции := СоздатьСтатическиеДанные();  
      ДанныеОднойСекции_ := СоздатьСтатическиеДанные();  
      // сей запрос выбирает из базы все группы пользователей у которых есть права
      запрос := 'select
                  dl.Id,
                  dl.Name NameLock,
                  dl.note,
                  dl.UseRights,
                  dl.LockMask,
                  dl.LockAction,
                  dl.ForDelete,
                  dl.ForInsert,
                  dl.DocRef,
                  dt.Name ItfName,
                  gr.GroupRef,
                  gr.IsReject,
                  "{" || dbg.Name || "}" users
                from DOCLOCK dl
                left join DocumentTypes dt on (dt.ID = dl.DocRef)
                left join GroupsRights gr on ((gr.ObjRef = dl.id) and (gr.ObjectKindRef = 15000000) and (gr.IsReject=0))
                left join DBGroups dbg on (dbg.id = gr.GroupRef)
                where (1=1)' + 
                ПоИнтерфейсу + ПоГруппе +
                'order by DocRef, dbg.Name';
     ДанныеОднойСекции_ := ПолучитьОднуКолонку(запрос);
     ДанныеОднойСекции.AssignFields(ДанныеОднойСекции_);
     ДанныеОднойСекции.close;
     ДанныеОднойСекции.fieldbyname('users').Free; 
     ДанныеОднойСекции.ДобавитьСтроковоеПоле('usersnot', 2048);
     ДанныеОднойСекции.ДобавитьСтроковоеПоле('users', 2048);
     ДанныеОднойСекции.ДобавитьСтроковоеПоле('FieldNames', 2048);
     ДанныеОднойСекции.Open;
     ДанныеОднойСекции.GroupData(ДанныеОднойСекции_,'keys=Id;users=SUM((dest.users &lt;&gt;"") ? ", "+users : users)' ) ;
     запрос := ' select
                  dl.Id,
                  dl.Name NameLock,
                  dl.DocRef,
                  dl.note,
                  dl.UseRights,
                  dl.LockMask,
                  dl.LockAction,
                  dl.ForDelete,
                  dl.ForInsert,
                  dt.Name ItfName,
                  gr.GroupRef,
                  gr.IsReject,
                  "{" || dbg.Name || "}"  usersnot 
                  from DOCLOCK dl
                  left join DocumentTypes dt on (dt.ID = dl.DocRef)
                left join GroupsRights gr on ((gr.ObjRef = dl.id) and (gr.ObjectKindRef = 15000000) and (gr.IsReject=1))
                left join DBGroups dbg on (dbg.id = gr.GroupRef)
                where (1=1)' +
                ПоИнтерфейсу + ПоГруппе +                
                'order by DocRef, dbg.Name';
    ДанныеОднойСекции_ := ПолучитьОднуКолонку(запрос);
    ДанныеОднойСекции.GroupData(ДанныеОднойСекции_,'keys=Id;usersnot=SUM((dest.usersnot &lt;&gt;"") ? ", "+usersnot : usersnot)' ) ; 
    запрос := 'select
                dl.Id,
                dl.Name NameLock,
                dl.DocRef,
                dl.note,
                dl.UseRights,
                dl.LockMask,
                dl.LockAction,
                dl.ForDelete,
                dl.ForInsert,
                dt.Name ItfName,
                ur.UserRef,
                ur.IsReject,
                dbu.UserName  users
              from DOCLOCK dl
              left join DocumentTypes dt on (dt.ID = dl.DocRef)
              left join UsersRights ur on ((ur.ObjRef = dl.id) and (ur.ObjectKindRef = 15000000) and (ur.IsReject=0))
              left join DBUsers dbu on (dbu.id = ur.UserRef)
              where (1=1)' +
              ПоИнтерфейсу + ПоПользователю +
              'order by DocRef, dbu.UserName';
    ДанныеОднойСекции_ := ПолучитьОднуКолонку(запрос);
    ДанныеОднойСекции.GroupData(ДанныеОднойСекции_,'keys=Id;users=SUM((dest.users &lt;&gt;"") ? ", "+users : users)' ) ; 
    запрос := 'select
                dl.Id,
                dl.Name NameLock,
                dl.DocRef,
                dl.note,
                dl.UseRights,
                dl.LockMask,
                dl.LockAction,
                dl.ForDelete,
                dl.ForInsert,
                dt.Name ItfName,
                ur.UserRef,
                ur.IsReject,                                                   
                dbu.UserName    usersnot
              from DOCLOCK dl
              left join DocumentTypes dt on (dt.ID = dl.DocRef)
              left join UsersRights ur on ((ur.ObjRef = dl.id) and (ur.ObjectKindRef = 15000000) and (ur.IsReject=1))
              left join DBUsers dbu on (dbu.id = ur.UserRef)
              where (1=1)' +
              ПоИнтерфейсу + ПоПользователю +
              'order by DocRef, dbu.UserName';
     ДанныеОднойСекции_ := ПолучитьОднуКолонку(запрос);
     ДанныеОднойСекции.Группировать(ДанныеОднойСекции_,'keys=Id;usersnot=SUM((dest.usersnot &lt;&gt;"") ? ", "+usersnot : usersnot)' ) ;
     запрос := 'select
                  dl.Id,
                  df.Name FieldNames
                from DOCLOCK dl
                 left join DocLockFields dlf on (dlf.DocLockRef = dl.Id)
                 left join DocumentFields df on (df.Id = dlf.FieldRef)';
     ДанныеОднойСекции_ := ПолучитьОднуКолонку(запрос);
     ДанныеОднойСекции.Группировать(ДанныеОднойСекции_,'keys=Id;FieldNames=SUM((dest.FieldNames &lt;&gt;"") ? ", "+FieldNames : FieldNames);insert=false;update=true');                  
     Данные.PumpData(ДанныеОднойСекции, "");
     УдалитьОбъект(ДанныеОднойСекции, ДанныеОднойСекции_);
    конец;
конец;

функция ЗагрузитьРабочиеМеста(Данные: СтатическиеДанные; Запрос: строка);
переменные
  в: выборка;
начало
  в := СоздатьВыборку;
  попытка
    в.БазаДанных := Бюджет;
    в.Запрос := Запрос;
    в.ДобавитьЦелоеПоле("ID");
    в.ДобавитьСтроковоеПоле("Name", 255);
    в.полеПоИмени("Name").Size := 255;
    в.Открыть;
    в.ВНачало;
    Данные.PumpData(в, "ИдентификаторРМ=ID,РабочееМесто=Name");
  обязательно
    УдалитьОбъект(в);
  конец;
конец;

// ОСНОВНАЯ ЧАСТЬ АЛГОРИТМА
переменные
  Данные, Заголовок : СтатическиеДанные;  
  Заголовки : IVariables;
  Коллекция: IVariables;
начало
  Данные := Параметры.Values(АлгДанные);
  Коллекция := Параметры.Values(АлгПараметры);
  // выбираем данные по секциям
  ВыполнитьСекцииАдмин(данные, Коллекция); 
  Заголовок := СоздатьСтатическиеДанные();
  Заголовок.ДобавитьЦелоеПоле("ИдентификаторРМ");
  Заголовок.ДобавитьСтроковоеПоле("РабочееМесто", 255);
  Заголовок.полеПоИмени("РабочееМесто").Size := 255;
  Заголовок.Открыть;  
  ЗагрузитьРабочиеМеста(Заголовок, 'select ID, Note Name from WorkPlaces where (id&gt;=0)');
  Заголовки := Параметры.Values(АлгЗаголовки);
  Если (Заголовки &lt;&gt; nil) тогда Заголовки.Values('РабочиеМестаИИхСодержание') := Заголовок;
конец.
</value>
    <param value="Администратор" type="3" name="version">36.042.191</param>
    <param value="Администратор" type="3" name="crc32">$BA9DD287</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Запросы">
    <value type="7" name="ЗапросыОтчетовКлассификаторов">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\макросы\Отчеты\поддержкаОтчетов.abl';

константы
  nl = #13#10;
  ОгрМаппингКлассификаторов1 = "КВР=tkvr.Code%k,КЭСР=d.KESR,КВСР=tkvsr.Code%d,КЦСР=tkcsr.Code%k,КФСР=d.KFSR,СубКЭСР=d.SubKESR,Район=d.RegionCLS,";
  ОгрМаппингКлассификаторов2 = "Мероприятие=d.Fact,ФинТип=d.FinType,ТипСредствБюдж=d.MeansType,Направление=d.DirectionCLS,ЛицСчет=bsl.FacialAcc";
  ТаблицыСДатойЗакрытия = "AssignmentKind,AssignmentSource,KVR,KVSR,KFSR,KCSR,Fact,DirectionCLS,subKD,KESRSubCode,MeansType";
  СписокКлсБезДатСозданияИзменения = "CurrencyCls,GroupInf_Cls,BudgetType,TransfertCls,KSHK,ValueCls,MeansCls,SubKCSR,ReportType,Org_AccDefaults,RefCls";
  
функция МаппингКлассификаторов:строка; 
начало
  результат := "Код=ID,Наименование=NAME,ДатаСоздания=CreateDate,ДатаИзменения=UpdateDate,"; 
конец;

функция МаппингКлассификаторовБезДатСозданияИзменения: строка;
начало
  результат := "Код=ID,Наименование=NAME,";
конец;

функция ПолучитьОграничениеПоБюджету(Коллекция: IVariables; Поле: строка): строка;
переменные
  Значение: строка;  
начало
  Результат := '';
  Значение := Коллекция.Values("Бюджет");
  если  Значение &lt;&gt; '' тогда
    Результат := Формат ("and ((%s = %s) or (%s = 0))", Поле, Значение, Поле); 
конец;

функция МаппингКлассификаторовКод: строка;
начало
  результат := "Код=CODE,Наименование=NAME,ДатаСоздания=CreateDate,ДатаИзменения=UpdateDate,";
конец;

функция МаппингКлассификатораКодСтрока: строка;
начало
  результат := "КодСтрока=CODE,Наименование=NAME,ДатаСоздания=CreateDate,ДатаИзменения=UpdateDate,"; 
конец;

функция МаппингДопПолей(ИмяКлассификатора:Строка):строка;
начало                                                               
  выбрать Прописные(ИмяКлассификатора) из
    Прописные('НачалаЗакрытия'): Результат := "ДатаЗакрытия=DeleteDate,ДатаНачала=StartDate,";
    Прописные('МаппингПланСчетов'): Результат := "Код=BuhAcc,Наименование=NAME,ДатаСоздания=CreateDate,ДатаИзменения=UpdateDate,";
    Прописные('МаппингКЦСР'): Результат := "КодСтрока=CODE,Наименование=NAME,ДатаНачала=StartDate,ДатаСоздания=CreateDate,ДатаИзменения=UpdateDate,";  
    Прописные('МаппингТипаРеестра'): Результат:=  "ИнтерфейсыКазначейства=TREASUARYITFLIST,";
    Прописные('МаппингОКДП'): Результат:=  "ГОСТ=GOST,ЕдиницаИзмерения=NOTE,";
    Прописные('МаппингКД'): Результат:=  "КодДохода=KDValue,КВСР=KVSR,КЭСР=KESR,Программа=ProgramCode,УровеньКД=KD_Level";
    Прописные('МаппингИсточникВнФин'): Результат:=  "ИсточникВнутрФинансирования=FinSourceValue,КВСР=KVSR,КЭСР=KESR,ТипИсточника=Direction,";
    Прописные('МаппингРайонов'): Результат:=  "ВидБюджета=BUDGETTYPE,ОрганизацияЛС=ORGANIZATIONS,";
    Прописные('МаппингВалют'): Результат:=  "СимвольныйКод=CODE,Склонение1=VARIANT1,Склонение2=VARIANT2,Склонение7=VARIANT7,Род=KIND";
    Прописные('МаппингДокументаОснования'): Результат:=  "ДатаДокумента=DOCUMENTBASEDATE,НомерДокумента=DOCUMENTBASENUM";
    Прописные('МаппингУмолчанийРС'): Результат:=  "ОчередностьПлатежа=PAYQUEUE,ТипПлатежа=PAYTYPE,";
    Прописные('МаппингОшибок'): Результат:=  "ЗначимостьОшибки=IMPORTANCE,";
    Прописные('МаппингБухОпераций'): Результат:=  "ОперацияДляПолучателя=SOURCETYPE,ОперацияДляПлательщика=DESTTYPE,";
    Прописные('МаппингНазначенияПлатежа'): Результат:=  "Очередность=PRIORITY,";
    Прописные('МаппингКодСубсидии'): Результат:= "Организация=Org_ref,ВидСубсидии=SubsidyKind,";
    Прописные('МаппингДоступнойКлассификации'): Результат:=  
      'КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,СубКЭСР=SUBKESR,Регион=RegionCLS,Мероприятие=Fact,ДатаСоздания=CreateDate,ДатаИзменения=UpdateDate,'+
      'ТипФинансирования=FinType,ТипСредств=MeansType,Направление=DirectionCLS,ДоступнаяКлассификация=classif,ОрганизацияЛС=Org_Ref,ЛицевойСчет=FacialAcc,' +
      'КодБюджета=BudgetRef';
    Прописные('МаппингСчетовОрганизаций'): Результат:= 
        "Код=ID,СчетОрганизации=ID,Организация=OrgId,"+
        "Имя=ACC,Автор=CREATERUSER,ДатаВремяСоздания=CREATEDATE,ДатаВремяИзменения=UPDATEDATE,АвторИзменений=UPDATERUSER,"+ nl +
        "Тип_Счета=ACC_CLS,Коментарий=COMMENT,Закрыт=CLOSED,Очередность=ACCDEFAULT,Банк=BANK_REF,"+ nl +
        "Тип_Финансирования=FINTYPE,Номер_Отделения_СБ=BANKDEPNUMBER,СубСчет=FACIALCODE,Организация_ФК=SERVICE_ORG_REF,"+ nl +
        "Счет_по_умолчанию=ISDEFAULT,ПричинаЗакрытия=CLOSECODE,ДатаСоздания=CREATEDATE,ДатаИзмения=UpdateDate";
    Прописные('МаппингОрганизаций'): Результат:= 
        "Код=ID,"+
        "ИНН=INN,Имя=NAME,КраткоеИмя=SHORTNAME,ГосНИ=GOSNI,Город=CITY,Страна=COUNTRY,"+ nl +
        "Телефон=PHONE,Адрес=ADDRESS,Тип_Организации=ORG_CLS,КПП=INN20,"+ nl +
        "АвторДокумента=OrgCREATERUSER,АвторИзмененийДокумента=OrgUPDATERUSER,ДатаВремяСозданияДокумента=OrgCREATEDATE,ДатаВремяИзмененияДокумента=OrgUPDATEDATE,"+ nl +
        "ФИО_Директора=DIRNAME,ФИО_Бухгалтера=BUGNAME,Телефон_Директора=DIRPHONE,Телефон_Бухгалтера=BUGPHONE,Сфера_применения=RCORG,Район=REGIONCLS,"+ nl +
        "E-Mail_Адрес=EMAIL,Адрес_Web-сайта=WEBSITE,ОКАТО=OKATO,РасширениеОКАТО=ADDOKATO,КодВУФК=UFKCODE,ДатаЗакрытия=DATECLOSE,"+ nl +
        "КодОтправителяДокумента=SENDERID,ППП=KVSR,ОКФС=OKFS,ОКОПФ=OKOPF,ДатаВключенияВРеестр=OPENDATE,ДатаИсключенияИзРеестра=CLOSEDATE,"+ nl +
        "ДатаИзмененияИнформацииВРеестре=CHANGEDATE,КодТОФК=FEDERALREGIONCODE,ВидИспользования=ORG_TYPE,"+ nl +
        "БИК=MFO,КорСчет=COR,БанкЗакрыт=BANKCLOSED,УчастиеВЭлРасчетах=UER,КодКонтроля=UERREAL,ТипУчастникаРасчетов=PZN," + nl +
        "ПолномочияПоРасходам=CostAuthority,ПолномочияПоДоходам=IncomeAuthority,ПолномочияПоИсточникам=DebtAuthority,ПолномочияПоСВР=SVRAuthority," + nl +
        "ДатаСоздания=CreateDate,ДатаИзменения=UpdateDate,ЛицевойСчет=FacialAcc_CLS";
    Прописные('МаппингКорреспонденции'): Результат:= 
        "БухОперация=BuhOperationCLS,БухСчетДебет=DebitAccPlan,БухСчетКредит=CreditAccPlan,КодДокумента=INTERFACECLS,"+
        "НаименованиеОперации=OperationName,НаименованиеПроводки=Name,НаименованиеОбратнойПроводки=BACKNAME,Баланс=BalanceCls,"+
        "ИсточникБККредит=CREDITBUDCLSKIND,ИсточникБКДебет=DEBITBUDCLSKIND,Порядок=BuhOperationPriority,НомерДет=DetailNumber,"+
        "СсылкаСчетДебет=DebitAccRef,СсылкаСчетКредит=CreditAccRef,ИсточникВидДеят=HeadActivityKind,ИнверсияЗнакаСуммы=CorrectionFlag," +
        "ДатаСоздания=CreateDate,ДатаИзменения=UpdateDate";
    Прописные('МаппингЛС'): Результат:= 
        'Код=ID,Наименование=NAME,КВСР=KVSR,КЦСР=KCSR,КФСР=KFSR,КВР=KVR,КЭСР=KESR,СубКЭСР=SUBKESR,Направление=DirectionCLS,'+
        'ТипФинансирования=FINTYPE,ОрганизацияЛС=ORG_REF,ДатаОткрытияЛС=DATEOPEN,НомерИзвещенияОткрытия=OpenDocNumber,НомерИзвещенияЗакрытия=CloseDocNumber,'+
        'ДатаЗакрытияЛС=DATECLOSE,СлужебныйЛС=SERVICEACCOUNT,СтатусСчетаЛС=STATUSACCOUNT,'+
        'ХарактерCчетаЛС=HARACTERACCOUNT,Регион=REGIONCLS,МнемоКодЛС=FACIALCODE,'+ 
        'РаспорядительЛС=GENERALORG_REF,ВышестоящаяОрганизацияЛС=HigherOrg_Ref,ТипСредств=MEANSTYPE,КураторЛС=DEPARTMENTCLS,'+
        'ПричинаЗакрытия=CLOSECODE,СчетФК=FCACCOUNT,ПримечаниеЛС=NOTE';
    Прописные('ВидыЦелевыхСредств'): Результат := 
        'КодЦелевыхСредствКлюч=ID,Код=Code,Наименование=NAME,Признак=TargetMeansSign,КВСРПередПолуч=ReceiveKVSR,КФСРПередПолуч=ReceiveKFSR,' +
        'КЦСРПередПолуч=ReceiveKCSR,КВРПередПолуч=ReceiveKVR,ЭКРПередПолуч=ReceiveKESR,Админ=ReceiveKD_KVSR,ВидДохода=ReceiveKD_DescriptionCode,' +
        'ПрограммаВидЦелСредств=ReceiveKD_ProgramCode,ЭКД=ReceiveKD_KESR,КВСРПередПеред=TransferKVSR,КФСРПередПеред=TransferKFSR,' +
        'КЦСРПередПеред=TransferKCSR,КВРПередПеред=TransferKVR,ЭКРПередПеред=TransferKESR,КлассифПоСредПолуч=TransferKDValue,' +
        'ДатаВступленияВДейств=StartDate,ДатаЗакрытия=DeleteDate';
    иначе ВызватьОшибку("ЗапросыОтчетовКлассификаторов.МаппингДопПолей: Неподдерживаемое имя классификатора");  
  конец;
конец;

функция ЕстьДатыСозданияИзменения(ТаблицаКлассификатора: строка): целое;
переменные
  КлсБезДатСозданияИзменения: Текст;
начало
  КлсБезДатСозданияИзменения := СоздатьТекст;
  попытка
    КлсБезДатСозданияИзменения.Сортированый := да;
    КлсБезДатСозданияИзменения.РазделенноеЗначение(',') := Прописные(СписокКлсБезДатСозданияИзменения);
    Результат := КлсБезДатСозданияИзменения.Поиск(Прописные(ТаблицаКлассификатора)) = -1; 
  обязательно
    УдалитьОбъект(КлсБезДатСозданияИзменения);
  конец;
конец;

функция ЗапросПростойКлассификатор(Коллекция: IVariables; Таблица: строка): строка;
переменные
  Запрос: строка;
  ОграничениеПоБюджету, ДатаНачала, ПоляДатСозданияИзменения, Код, ОграничениеПоДатеЗакрытия, ДатаЗакрытия: строка;
начало
  ОграничениеПоБюджету := ПолучитьОграничениеПоБюджету(Коллекция, "BUDGETREF");
  ОграничениеПоДатеЗакрытия := '';
  Если (Коллекция.Значение("БезАрхивныхЧек")) и (Позиция(Таблица, ТаблицыСДатойЗакрытия) &lt;&gt; 0) тогда
    ОграничениеПоДатеЗакрытия := "and (DeleteDate is null)";
  ДатаНачала := '';
  ДатаЗакрытия := '';
  если (Таблица = "KVR") или (Таблица = "KVSR") или (Таблица = "KCSR") тогда
  начало
    Код := "CODE, ";
    ДатаНачала := ', StartDate';
    ДатаЗакрытия := ', DeleteDate';
  конец
  иначе
    если Таблица="BuhAccPlan" тогда
    начало  
      Код := 'BuhAcc,';
      ОграничениеПоБюджету := '';
      ДатаНачала := ', StartDate';
      ДатаЗакрытия := ', DeleteDate';      
    конец
    иначе 
      если (Таблица = "DirectionCLS") или (Таблица = "AssignmentKind") или (Таблица = 'AssignmentSource') 
            или (Таблица = "FundsSource") или (Таблица = "KESR") или (Таблица = "TargetCLS") или (Таблица = "KFSR")
            или (Таблица = "Fact") или (Таблица = "PROGRAMCODE") или (Таблица = "SubKD") или (Таблица = "KESRSubCode")
            или (Таблица = "MeansType") 
      тогда
      начало  
        Код := "ID,";
        ОграничениеПоБюджету := '';
        ДатаНачала := ', StartDate';
        ДатаЗакрытия := ', DeleteDate';
      конец       
      иначе
      начало
        Код := "ID,";
        ОграничениеПоБюджету := '';
      конец;
   если ЕстьДатыСозданияИзменения(Таблица) тогда
     ПоляДатСозданияИзменения := ', CreateDate, UpdateDate';
             
  Запрос := "Select " + Код + "NAME " + ДатаНачала + ДатаЗакрытия + ПоляДатСозданияИзменения + nl +
            "from " + Таблица + nl +
            "where" + nl +
            "(1=1)" + nl +
             ОграничениеПоБюджету + nl +
             ОграничениеПоДатеЗакрытия + nl + 
            "ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат:= Запрос;  
конец;  

функция ЗапросТипРеестра(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
начало
  Запрос := "SELECT ID, NAME, TREASUARYITFLIST, CREATEDATE, UPDATEDATE " + nl +
            "FROM REESTRTYPE ORDER BY ID";       
  если Коллекция.Values("ПоляВыборки")&lt;&gt;"" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросОКДП(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
начало
  Запрос := "SELECT ID, NAME, NOTE, GOST, CREATEDATE, UPDATEDATE" + nl +
            "FROM OKDP ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросКД(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
  ОграничениеПоБюджету, ОграничениеПоДатеЗакрытия: строка;
начало
  ОграничениеПоДатеЗакрытия := '';
  если Коллекция.Значение('БезАрхивныхЧек') тогда
    ОграничениеПоДатеЗакрытия := 'and (DeleteDate is null)';
  ОграничениеПоБюджету := ПолучитьОграничениеПоБюджету(Коллекция, "BUDGETREF");
  Запрос := "SELECT ID, NAME, KVSR, ProgramCode, KESR, KDValue, KD_Level,CREATEDATE,UPDATEDATE, StartDate, DeleteDate" + nl +
            "FROM KD" + nl +
            "WHERE" + nl +
            "(1=1)" + nl +
            ОграничениеПоБюджету + nl +
            ОграничениеПоДатеЗакрытия + nl +
            "ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросРайон(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
  ОграничениеПоДатеЗакрытия: строка;
начало
  ОграничениеПоДатеЗакрытия := '';
  если Коллекция.Значение('БезАрхивныхЧек') тогда
    ОграничениеПоДатеЗакрытия  := 'and (DeleteDate is null)';
  Запрос := "SELECT ID, NAME, BUDGETTYPE, ORGANIZATIONS,CREATEDATE,UPDATEDATE, StartDate, DeleteDate" + nl +
            "FROM REGIONCLS" + nl +
            "where (1=1)" + nl +
            ОграничениеПоДатеЗакрытия + nl + 
            "ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросВалюты(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
начало
  Запрос := "SELECT ID, NAME, CODE, VARIANT1, VARIANT2, VARIANT7, KIND" + nl +
            "FROM CURRENCYCLS ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда  Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросДокументОснование(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
начало
  Запрос := "SELECT ID, NAME, DOCUMENTBASEDATE,DOCUMENTBASENUM,CREATEDATE,UPDATEDATE" + nl +
            "FROM  DOCBASE ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда  Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросУмолчанияРС(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
начало
  Запрос := "SELECT ID, NAME, PAYQUEUE, PAYTYPE" + nl +
            "FROM ORG_ACCDEFAULTS ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросКодыОшибок(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
начало
  Запрос := "SELECT ID, NAME, IMPORTANCE, CREATEDATE, UPDATEDATE" + nl +
            "FROM ERROR ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросИсточникиВнутрФин(Коллекция: IVariables): строка;
переменные
  Запрос, ОграничениеПоДатеЗакрытия: строка;
начало
  ОграничениеПоДатеЗакрытия := '';
  если Коллекция.Значение("БезАрхивныхЧек") тогда
    ОграничениеПоДатеЗакрытия := 'and (DeleteDate is null)';
  Запрос := "SELECT ID, NAME, Direction, KVSR, KESR, FinSourceValue, CreateDate, UpdateDate, StartDate, DeleteDate" + nl +
            "FROM INNERFINSOURCE" + nl + 
            "WHERE (1=1)" + nl +
            ОграничениеПоДатеЗакрытия + nl +
            "ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросБухгалтерскаяОперация(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
начало
  Запрос := "SELECT ID, NAME, SOURCETYPE, DESTTYPE, CREATEDATE, UPDATEDATE" + nl +
            "FROM BUHPAYMENTCLS ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросНазначениеПлатежа(Коллекция: IVariables): строка;
переменные
  Запрос: строка;
начало
  Запрос := "SELECT ID, NAME, PRIORITY, CREATEDATE, UPDATEDATE" + nl +
            "FROM PAYDESTINATIONCLS ORDER BY ID";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросЛицевыеСчета(Коллекция: IVariables): строка;
переменные
  запрос: строка;
  ОгрПоЛицСчету, ОгрПоКлассификаторам, ОгрПоТипуОрганизации, ОгрПоОрганизации, ОгрПоХарактеруЛС: строка;
  ОгрПоДатеОткрытия, ОгрПоДатеЗакрытия: строка;
  НачальнаяДата, КонечнаяДата: строка;
  ОграничениеПоБюджету, ОграничениеПоДатеЗакрытияЧек: строка;
начало
  ОгрПоЛицСчету := Ограничение("ЛицСчет=f.id", Коллекция);
  ОгрПоКлассификаторам := Ограничение("КВСР=f.KVSR,КЦСР=f.KCSR,КФСР=f.KFSR,КВР=f.KVR,КЭСР=f.KESR,Район=f.REGIONCLS,РайонБУ=f.REGIONCLS,ТипСредствБюдж=f.MEANSTYPE", Коллекция);
  ОгрПоТипуОрганизации := Ограничение("ТипОрг=org.ORG_CLS", Коллекция);
  ОгрПоОрганизации := Ограничение("ОргСсылка=org.ID", Коллекция);
  ОгрПоХарактеруЛС := Ограничение("Характер_ЛС=f", Коллекция);
  ОграничениеПоДатеЗакрытияЧек := '';
  если Коллекция.ПараметрСуществует('БезАрхивныхЧек') тогда
    если Коллекция.Значение('БезАрхивныхЧек') тогда
      ОграничениеПоДатеЗакрытияЧек := 'and (f.DateClose is null)';  
  ОгрПоДатеОткрытия := '';
  ОгрПоДатеЗакрытия := '';
  если (Коллекция.Значение('НачальнаяДата') &lt;&gt; '') или
       (Коллекция.Значение('КонечнаяДата') &lt;&gt; '')
  тогда  
    начало 
      если (Коллекция.Значение('ОграничиватьПоДатеЗакрытия') = 1) или (Коллекция.Значение('ДатаЗакрытияТипЧек') = 1)
      тогда 
        начало
          НачальнаяДата := Коллекция.Значение("ДатаНачалаПериода");
          КонечнаяДата := Коллекция.Значение("ДатаКонцаПериода");
          ОгрПоДатеЗакрытия := ' and (f.DateClose between ' + НачальнаяДата + ' and ' + КонечнаяДата + ')';
        конец;  
      если (Коллекция.Значение('ОграничиватьПоДатеОткрытия') = 1) или (Коллекция.Значение('ДатаОткрытияТипЧек') = 1)
      тогда
        начало
          НачальнаяДата := Коллекция.Значение("ДатаНачалаПериода");
          КонечнаяДата := Коллекция.Значение("ДатаКонцаПериода");
          ОгрПоДатеОткрытия := ' and (f.DateOpen between ' + НачальнаяДата + ' and ' + КонечнаяДата + ')';
        конец;  
    конец;  
  ОграничениеПоБюджету := ПолучитьОграничениеПоБюджету(Коллекция, "f.BUDGETREF");
  Запрос := "Select " + nl +
      "f.id,f.NAME,f.KVSR,f.KCSR,f.KFSR,f.KVR,f.KESR,f.FINTYPE,f.ORG_REF,f.DATEOPEN,f.DATECLOSE,f.OpenDocNumber,f.CloseDocNumber," + nl +
      "f.SERVICEACCOUNT,f.STATUSACCOUNT,f.HARACTERACCOUNT,f.REGIONCLS,f.FACIALCODE,f.GENERALORG_REF,f.HigherOrg_Ref,f.MEANSTYPE, f.DepartmentCls, " + nl +
      "f.closecode, f.FCACCOUNT, f.Note, f.CreateDate, f.UpdateDate " + nl +
    " from " + nl +      
      "FacialAcc_Cls  f left join organizations org on f.org_ref=org.id" + nl +
    "Where " + nl +
    "(1=1)" + ОгрПоЛицСчету + ОгрПоКлассификаторам + ОгрПоТипуОрганизации + ОгрПоОрганизации + ОгрПоХарактеруЛС +
              ОгрПоДатеЗакрытия + ОгрПоДатеОткрытия + ОграничениеПоБюджету + ОграничениеПоДатеЗакрытияЧек;
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец;  

функция ЗапросДоступнаяКлассификация(Коллекция: IVariables): строка;
переменные
  запрос: строка;
  ОгрПоКлассификаторам: строка;
начало
  ОгрПоКлассификаторам := Ограничение(ОгрМаппингКлассификаторов1 + ОгрМаппингКлассификаторов2 + ",ОргСсылка=bsl.Org_Ref",Коллекция);
  запрос := "Select tKvr.Code KVR, tKvsr.Code KVSR, tKcsr.Code KCSR, d.KFSR, d.KESR, d.SubKESR, d.CreateDate, d.UpdateDate," + nl +
    "d.RegionCLS, d.Fact, d.FinType, d.MeansType, d.DirectionCLS, d.BudgetRef, bsl.Org_Ref, bsl.FacialAcc, 1 classif" + nl +
    "from BUDSTRUCT d " + nl +
    "left join BudStrLink bsl on (bsl.BudStruct = d.id)" + nl +
    "left join KVSR tKvsr on (tKvsr.id = d.KVSR)" +nl+
    "left join KVR tKvr on (tKvr.id = d.KVR)" +nl+
    "left join KCSR tKcsr on (tKcsr.id = d.KCSR)" +nl+
    "where" + nl +
    "(1=1) " + ОгрПоКлассификаторам;
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    запрос := SQLOptim(запрос, Коллекция.Values("ПоляВыборки"),'@');
  Результат := запрос;  
конец;  

функция ЗапросСчетаОрганизаций(Коллекция: IVariables): строка;
переменные
  Запрос, ОгрСостСчета, ОгрДата  : строка;
  ДатаНачалаПериода,ДатаКонцаПериода: строка;
  СотояниеСчета : целое;  
  ОгрКлассификация,ОгрПоПустСчетам, МаппингОгр : строка;
  ТипДаты, ТипОгр: Целое; 
  ОграничениеПоБюджету: строка;  
начало
  если Коллекция.CheckParam("СостояниеСчета") тогда
    СотояниеСчета := Коллекция.Значение("СостояниеСчета")
  иначе
    СотояниеСчета := 0;
  ОгрСостСчета := "";    
  выбрать СотояниеСчета из
    1 : ОгрСостСчета := "and((oa.closed &lt;&gt; 1)or(oa.Closed is null))";
    2 : ОгрСостСчета := "and(oa.closed = 1)";
  конец;
  ОгрДата := '';
  ПолучитьТипДатыУнивер(ТипДаты, ТипОгр, Коллекция);
  если Прописные(ПолучитьТабТипаДаты(ТипДаты))=Прописные("ДатаИзмененияТип") тогда
    Если не((Коллекция.Values('НачальнаяДата') = '') или ( Коллекция.Values('КонечнаяДата') = ''))тогда
    начало
      ВернутьОграниченияПоДатам(Коллекция,ДатаНачалаПериода,ДатаКонцаПериода,да);
      ОгрДата := Формат('and (oa.UpdateDate between %s and %s)',ДатаНачалаПериода,ДатаКонцаПериода);
    конец;
  МаппингОгр := 'ТипОрг=o.org_cls,ТипСчета=oa.ACC_CLS,КВСР=o.KVSR%d,Район=o.RegionCLS%d,ВидОрганизаций=o.Org_Type%d,Бюджет=o.BudgetRef%d';
  ОгрКлассификация := Ограничение(МаппингОгр,Коллекция);
  ОгрПоПустСчетам := '';
  если Позиция('OrgId',Коллекция.Values("ПоляВыборки"))=0 тогда
    ОгрПоПустСчетам :=  ' and (oa.ID is not null)'; 
  ОграничениеПоБюджету := ПолучитьОграничениеПоБюджету(Коллекция, "o.BUDGETREF");                     
  Запрос := " SELECT oa.ID, o.id OrgId," + nl +
            "  OA.ACC,  OA.CREATERUSER,  OA.CREATEDATE,  OA.UPDATEDATE,  OA.UPDATERUSER,"+ nl +
            "  OA.ACC_CLS,  OA.COMMENT, OA.CLOSED,  OA.ACCDEFAULT,  OA.BANK_REF,"+ nl +
            "  OA.FINTYPE,  OA.BANKDEPNUMBER,  OA.FACIALCODE,OA.SERVICE_ORG_REF,"+ nl +
            "  OA.ISDEFAULT,  OA.CLOSECODE, OA.CREATEDATE, OA.UPDATEDATE"+ nl +
            " FROM organizations o " + nl + 
            "  left join Org_Accounts oa on (o.id = oa.ORG_REF) " + nl +
            "  left join banks  b on(b.id=oa.Bank_ref)" + nl +
            " where (1=1)" + ОгрСостСчета + ОгрДата + ОгрКлассификация + ОгрПоПустСчетам + ОграничениеПоБюджету;

  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда 
    Запрос := ОптимизироватьЗапрос(Коллекция, "Счета организаций", Запрос);
  Результат := Запрос;  
конец;

функция ЗапросОрганизаций(Коллекция: IVariables): строка;
переменные
  Запрос, ОгрДата , ОгрКлассификация, ОгрПоДатамРеестра, ОграничениеПоБюджету, ОгрЛицСчет: строка;
  ДатаНачалаПериода,ДатаКонцаПериода, ОгрЗакрОрганизаций: строка;
  ТипДаты, ТипОгр: Целое;
начало
  // формируем ограничение по дате
  ОгрДата := '';
  ОгрПоДатамРеестра := '';
  ПолучитьТипДатыУнивер(ТипДаты, ТипОгр, Коллекция);
  если Прописные(ПолучитьТабТипаДаты(ТипДаты))=Прописные("ДатаИзмененияТип") тогда
  начало                                                   
    ВернутьОграниченияПоДатам(Коллекция,ДатаНачалаПериода,ДатаКонцаПериода,да);
    ОгрДата := ' and('+
      Формат('(o.UpdateDate between %s and %s)',ДатаНачалаПериода,ДатаКонцаПериода)+ 
      Формат('or (oa.UpdateDate between %s and %s)',ДатаНачалаПериода,ДатаКонцаПериода) + ')';
  конец
  иначе  
    ОгрПоДатамРеестра := ПолучитьОграничениеПоТипуДаты("ДатаВключенияВРеестрТип=O.OPENDATE,ДатаИсключенияИзРеестраТип=O.CLOSEDATE,ДатаИзмененияВРеестреТип=O.CHANGEDATE", Коллекция, "");
  ОгрКлассификация := Ограничение('ВидОрганизаций=o.Org_Type,КВСР=o.KVSR', Коллекция);
  ОгрЗакрОрганизаций := '';
  если Коллекция.Значение("ЛицСчет") &lt;&gt; "" тогда
    ОгрЛицСчет := Ограничение('ЛицевойСчет=f.id', Коллекция);
  если Коллекция.ПараметрСуществует('НеИспЗакрОрг') и (Коллекция.Значение('НеИспЗакрОрг') = Да) тогда
    ОгрЗакрОрганизаций := Формат('and ((o.DateClose is null) or (o.DateClose &gt; %d))', ОбычнаяДатаВРасшир(ТекущаяДата));  
  ОграничениеПоБюджету := ПолучитьОграничениеПоБюджету(Коллекция, "o.BUDGETREF");
  Запрос := " SELECT o.id Id," + nl +
            "  O.INN, O.NAME, O.SHORTNAME, O.GOSNI, O.CITY, O.COUNTRY,"+ nl +
            "  O.PHONE, O.ADDRESS, O.ORG_CLS, O.INN20,"+ nl +
            "  O.CREATERUSER OrgCREATERUSER, O.UPDATERUSER OrgUPDATERUSER, O.CREATEDATE OrgCREATEDATE, O.UPDATEDATE OrgUPDATEDATE,"+ nl +
            "  O.DIRNAME, O.BUGNAME, O.DIRPHONE, O.BUGPHONE, O.RCORG, O.REGIONCLS,"+ nl +
            "  O.EMAIL, O.WEBSITE, O.OKATO, O.ADDOKATO, O.UFKCODE, O.DATECLOSE,"+ nl +
            "  O.SENDERID, O.KVSR, O.OKFS, O.OKOPF, O.OPENDATE, O.CLOSEDATE,"+ nl +
            "  O.CHANGEDATE, O.FEDERALREGIONCODE, O.ORG_TYPE, O.CREATEDATE, O.UPDATEDATE,"+ nl +
            "  B.MFO, B.COR, B.CLOSED BANKCLOSED, B.UER, B.UERREAL, B.PZN , O.COSTAUTHORITY, O.INCOMEAUTHORITY, O.DEBTAUTHORITY, O.SVRAUTHORITY"+ nl +
            " FROM organizations o " + nl + 
            "  left join Org_Accounts oa on (o.id = oa.ORG_REF) " + nl +
            "  left join banks b on(b.id=o.id)" + nl +
            "  left join FacialAcc_Cls f on (o.id = f.org_ref)" + nl +
            " where (1=1)" + ОгрДата + ОгрКлассификация + ОгрПоДатамРеестра + ОграничениеПоБюджету + ОгрЗакрОрганизаций + ОгрЛицСчет;
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда 
    Запрос := ОптимизироватьЗапрос(Коллекция, "Счета организаций", Запрос);
  Результат := Запрос;
конец;

функция ЗапросКорреспонденция(Коллекция: IVariables): строка;
переменные
  Запрос, ОгрПоКлассификации: строка;
начало
  ОгрПоКлассификации := Ограничение("БухОперация=bac.BuhOperationCLS,Баланс=bac.BalanceCls,БухСинтетСчетБезЭК=(CreditAP.BUHACC%d)or(DebitAP.BUHACC%d)", 
    Коллекция);
  Запрос := 
    "SELECT " + nl +
    "  bac.BUHOPERATIONCLS, bac.NAME, bac.BACKNAME, bac.BalanceCls, ibo.INTERFACECLS, boc.name OperationName," + nl +
    "  bac.CREDITBUDCLSKIND, bac.DEBITBUDCLSKIND, ibo.BuhOperationPriority, ibo.DetailNumber," + nl +
    "  bac.DebitAccRef, bac.CreditAccRef, bac.HeadActivityKind, bac.CorrectionFlag, bac.CreateDate, bac.UpdateDate," + nl +
    "  cast((CreditAP.BUHACC*1000 + CreditAP.ECCLS) as double precision) CreditAccPlan," + nl +
    "  cast((DebitAP.BUHACC*1000 + DebitAP.ECCLS) as double precision) DebitAccPlan" + nl +
    "FROM" + nl +
    "  BUHACCCORR bac" + nl +
    "  Left join BuhOperationCLS boc on (boc.id = bac.BuhOperationCLS)" + nl +
    "  Left join INTERFACESBUHOP ibo on (bac.BuhOperationCLS = ibo.BuhOperationCLS)" + nl +
    "  Left JOIN BUHACCPLAN CreditAP ON (bac.CREDITACCREF = CreditAP.ID)" + nl +
    "  Left JOIN BUHACCPLAN DebitAP ON (bac.DEBITACCREF = DebitAP.ID)" + nl +
    "WHERE" + nl +
    "(1=1)" + ОгрПоКлассификации;
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда 
    Запрос := ОптимизироватьЗапрос(Коллекция, "Корреспонденция проводок", Запрос);
  Результат := Запрос;  
конец;

функция ЗапросВидыЦелевыхСредств(Коллекция: IVariables): строка;
переменные
  Запрос, ОграничениеПоДатеЗакрытия: строка;
начало
  ОграничениеПоДатеЗакрытия := '';
  если Коллекция.Значение("БезАрхивныхЧек") тогда
    ОграничениеПоДатеЗакрытия := 'and (tc.DeleteDate is null)';  
  Запрос := "SELECT tc.ID, tc.NAME, tc.CODE," + nl +
            "tc.ID, tc.TargetMeansSign, tc.ReceiveKVSR," + nl +
            "tc.ReceiveKFSR, tc.ReceiveKCSR, tc.ReceiveKVR," + nl +
            "tc.ReceiveKESR, tc.TransferKVSR, tc.TransferKFSR," + nl +
            "tc.TransferKCSR, tc.TransferKVR, tc.TransferKESR," + nl +
            "tc.ReceiveKD, kd1.KDValue ReceiveKD_FullId, kd1.KVSR ReceiveKD_KVSR," + nl +
            "kd1.DescriptionCode ReceiveKD_DescriptionCode, kd1.ProgramCode ReceiveKD_ProgramCode," + nl +
            "kd1.KESR ReceiveKD_KESR, tc.TransferKDValue, tc.StartDate," + nl +
            "tc.DeleteDate" + nl + 
            "from TransfertCls tc" + nl +
            "left join KD kd1 on (kd1.ID = tc.ReceiveKD)" + nl +
            "where (1=1)" + nl +
            ОграничениеПоДатеЗакрытия + nl +
            "ORDER BY CODE";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" 
  тогда Запрос := SQLOptim(Запрос,Коллекция.Values("ПоляВыборки"),'@');
  Результат := Запрос;  
конец; 

функция ЗапросКодСубсидии(Коллекция: IVariables): строка;
переменные
  ОграничениеПоДатеЗакрытия, ОграничениеПоБюджету, Запрос: строка;
начало
  ОграничениеПоДатеЗакрытия := "";
  если Коллекция.Значение("БезАрхивныхЧек") тогда
    ОграничениеПоДатеЗакрытия := 'and (DeleteDate is null)';
  ОграничениеПоБюджету := ПолучитьОграничениеПоБюджету(Коллекция, "BUDGETREF");
  Запрос := "Select Code, Name, Org_ref, SubsidyKind, CreateDate, UpdateDate, StartDate, DeleteDate" + nl + 
            "from SubsidyCls" + nl +
            "where (1=1)" + nl +
            ОграничениеПоДатеЗакрытия + nl +
            ОграничениеПоБюджету + nl +
            "order by code";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), '@');     
  Результат := Запрос;
конец;

функция ЗапросКодБюджетногоАссигнования(Коллекция: IVariables): строка;
переменные
  ОграничениеПоДатеЗакрытия, ОграничениеПоБюджету, Запрос: строка;
начало
  ОграничениеПоДатеЗакрытия := "";
  если Коллекция.Значение("БезАрхивныхЧек") тогда
    ОграничениеПоДатеЗакрытия := 'and (DeleteDate is null)';
  ОграничениеПоБюджету := ПолучитьОграничениеПоБюджету(Коллекция, "BUDGETREF");
  Запрос := "Select Code, Name, CreateDate, UpdateDate, StartDate, DeleteDate" + nl + 
            "from BudAllocationCls" + nl +
            "where (1=1)" + nl +
            ОграничениеПоДатеЗакрытия + nl +
            ОграничениеПоБюджету + nl +
            "order by code";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), '@');     
  Результат := Запрос;
конец;

функция ЗапросКодРасходногоОбязательства(Коллекция: IVariables): строка;
переменные
  ОграничениеПоДатеЗакрытия, ОграничениеПоБюджету, Запрос: строка;
начало
  ОграничениеПоДатеЗакрытия := "";
  если Коллекция.Значение("БезАрхивныхЧек") тогда
    ОграничениеПоДатеЗакрытия := 'and (DeleteDate is null)';
  ОграничениеПоБюджету := ПолучитьОграничениеПоБюджету(Коллекция, "BUDGETREF");
  Запрос := "Select Code, Name, CreateDate, UpdateDate, StartDate, DeleteDate" + nl + 
            "from PayPromiseCls" + nl +
            "where (1=1)" + nl +
            ОграничениеПоДатеЗакрытия + nl +
            ОграничениеПоБюджету + nl +
            "order by code";
  если Коллекция.Values("ПоляВыборки") &lt;&gt; "" тогда
    Запрос := SQLOptim(Запрос, Коллекция.Values("ПоляВыборки"), '@');     
  Результат := Запрос;
конец;

функция ПолучитьТипРеестра(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросТипРеестра(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьОКДП(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросОКДП(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьКД(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросКД(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьРайон(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросРайон(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьВалюты(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросВалюты(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьДокументОснование(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросДокументОснование(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;                

функция ПолучитьУмолчанияРС(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросУмолчанияРС(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;                

функция ПолучитьКодыОшибок(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросКодыОшибок(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;                
                                                                         
функция ПолучитьИсточникиВнутрФин(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросИсточникиВнутрФин(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;                

функция ПолучитьБухгалтерскаяОперация(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросБухгалтерскаяОперация(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;                

функция ПолучитьНазначениеПлатежа(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросНазначениеПлатежа(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;                

функция ПолучитьЛицевыеСчета(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросЛицевыеСчета(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьДоступнуюКлассификацию(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросДоступнаяКлассификация(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьСчетаОрганизаций(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]" + ЗапросСчетаОрганизаций(Коллекция);
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьОрганизации(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]" + ЗапросОрганизаций(Коллекция);
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьКорреспонденцию(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Коллекция.Values("КоментарийСекции") := "Корреспонденция проводок";
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]" + ЗапросКорреспонденция(Коллекция);
    ПолучитьДанные(Данные, Коллекция);
    //А теперь надо отфильтровать лишние ЭК
    Данные.Фильтр := "not((1=1)" + ОграничениеФильтр("БухСинтетСчет=(CreditAccPlan%e)or(DebitAccPlan%e)", Коллекция) + ")";
    Данные.Filtered := да;
    Данные.Clear;
    Данные.Filtered := нет;
    Данные.Фильтр := "";     
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьВидыЦелевыхСредств(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросВидыЦелевыхСредств(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;

функция ПолучитьКодСубсидии(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросКодСубсидии(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := ""; 
  конец;
конец;

функция ПолучитьКодБюджетногоАссигнования(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросКодБюджетногоАссигнования(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := ""; 
  конец;
конец;

функция ПолучитьКодРасходногоОбязательства(Данные: СтатическиеДанные; Коллекция: IVariables);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросКодРасходногоОбязательства(Коллекция) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := ""; 
  конец;
конец;

функция ПолучитьПростойКлассификатор(Данные: СтатическиеДанные; Коллекция: IVariables; НаимТаблицы: строка);
начало
  попытка
    Данные.Закрыть;
    Данные.DestroyFields;
    Данные.Запрос := "[PumpData]{" + ЗапросПростойКлассификатор(Коллекция,НаимТаблицы) + "}";
    ПолучитьДанные(Данные, Коллекция);
  обязательно
    Коллекция.Values("КоментарийСекции") := "";
  конец;
конец;
</value>
    <param value="ЗапросыОтчетовКлассификаторов" type="3" name="Export">MARAEVA7\baranova\23.04.2013 13:19:15</param>
    <param value="ЗапросыОтчетовКлассификаторов" type="3" name="version">36.042.191</param>
    <param value="ЗапросыОтчетовКлассификаторов" type="3" name="crc32">$FFFDBA78</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Алгоритмы">
    <value type="7" name="ОтчетыКлассификаторов">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить 'Бюджет\Ресурсы\Библиотеки\Variables.lib';
включить "Бюджет\Ресурсы\Макросы\Отчеты\ПоддержкаОтчетов.abl";
включить '\макросы\запросы\ЗапросыОтчетовКлассификаторов';

АлгоритмОтчетыКлассификаторов(Параметры: IVariables);
  
переменные
  Ограничения: IVariables;
  Данные : СтатическиеДанные;

  
функция РазыменовкаИК(Код : Целое) : Строка; 
начало
  Результат := Разыменовать('Служебные.БлокДанных', Код);
конец;  

функция РазыменоватьИнтерфейсыКазначейства(ДанныеСекции : СтатическиеДанные);
Переменные 
  Ткст : Текст;
  Поле : Строка;
  I : Целое;
начало
  ДанныеСекции.ВНачало;
  Ткст := СоздатьТекст;
  Пока не ДанныеСекции.ВКонце делать 
    начало
      Поле := ДанныеСекции.ПолеПоИмени('TREASUARYITFLIST').КакСтрока;
      Если Поле &lt;&gt; "" тогда 
        начало
          Ткст.РазделенноеЗначение := Поле;
          Поле := "";
          От I := 0 до Ткст.Количество - 1 делать
            Если Поле = ""
            тогда Поле := РазыменовкаИК(СтрокаВЦелое(Ткст.Стр(I)))
            иначе Поле := Поле+ "," + РазыменовкаИК(СтрокаВЦелое(Ткст.Стр(I)));
          ДанныеСекции.ПолеПоИмени('TREASUARYITFLIST').КакСтрока := Поле;
        Конец;
      ДанныеСекции.Следующий;
    конец;
конец;

функция ВыполнитьСекцииКлассификаторов(Данные : СтатическиеДанные; Коллекция:IVariables);
переменные
  ДанныеОднойСекции : статическиеДанные;
  ЛокКоллекция: IVariables;
  МаппингСекции : строка;
  txt: текст;
  ЗначениеПараметра: строка;
  ОграниченияПоДатам:IDataLimit;
начало
  ЛокКоллекция := CreateVariables;
  ЛокКоллекция.PumpData(Коллекция);

  // настраиваем ограничение по датам
  ОграниченияПоДатам := ПолучитьОграниченияПоДатам(ЛокКоллекция);
  ЛокКоллекция.values("НачальнаяДата") := ОграниченияПоДатам.ДатаНачалаПериода;
  ЛокКоллекция.values("КонечнаяДата") := ОграниченияПоДатам.ДатаКонцаПериода;

  ДанныеОднойСекции := СоздатьСтатическиеДанные;
  если ЛокКоллекция.CheckParam("Классификатор") тогда
  начало
    txt := СоздатьТекст;
    попытка
      txt.РазделенноеЗначение := ЛокКоллекция.Значение("Классификатор");
      ЗначениеПараметра := txt.стр(0);
    обязательно
      УдалитьОбъект(txt);
    конец;
  конец  
  иначе 
    ЗначениеПараметра := '';
      
  выбрать ЗначениеПараметра из               
    'OKATO':       
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'OKATO');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'ReestrType':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингТипаРеестра');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьТипРеестра(ДанныеОднойСекции,ЛокКоллекция);
        РазыменоватьИнтерфейсыКазначейства(ДанныеОднойСекции);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'LoanType':  
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'LOANTYPE');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'DebtType':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'DEBTTYPE');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'DepartmentCls':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'DEPARTMENTCLS');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'OKDP':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингОКДП');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьОКДП(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'KFSR':
      начало
        МаппингСекции := МаппингКлассификаторов  + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'KFSR');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'KVSR':
      начало
        МаппингСекции :=МаппингКлассификаторовКод + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'KVSR');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'KVR':
      начало
        МаппингСекции := МаппингКлассификатораКодСтрока + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'KVR');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;  
    'KCSR':
      начало
        МаппингСекции := МаппингДопПолей('МаппингКЦСР') + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'KCSR');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'SubKCSR':
      начало
        МаппингСекции := МаппингКлассификаторовБезДатСозданияИзменения;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'SubKCSR');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'KESR':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'KESR');
        Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
      конец;
    'KESRSubCode':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'KESRSubCode');
        Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
      конец;
    'DirectionCLS':
      начало
        МаппингСекции := МаппингДопПолей('НачалаЗакрытия') + МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'DirectionCLS');
        Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
      конец;
    'KD':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингКД') + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьКД(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
      конец;
    'SubKD':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'SubKD');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'DocTypes':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'DOCTYPES');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'RegionCls':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингРайонов') + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьРайон(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'NotifyTypes':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'NOTIFYTYPES');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'KSHK':
      начало
        МаппингСекции := МаппингКлассификаторовБезДатСозданияИзменения;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'KSHK');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'ValueCls':
      начало
        МаппингСекции := МаппингКлассификаторовБезДатСозданияИзменения;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'VALUECLS');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'MeansCls':
      начало
        МаппингСекции := МаппингКлассификаторовБезДатСозданияИзменения;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'MEANSCLS');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'RefCls':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'REFCLS');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'CurrencyCls':
      начало
        МаппингСекции:= МаппингКлассификаторовБезДатСозданияИзменения + МаппингДопПолей('МаппингВалют');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьВалюты(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'BuhAccPlan':
      начало
        МаппингСекции := МаппингДопПолей('МаппингПланСчетов') + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'BUHACCPLAN');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'Org_Cls':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'Org_Cls');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'Acc_Cls':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'Acc_Cls');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'GroupInf_Cls':  
      начало
        МаппингСекции := МаппингКлассификаторовБезДатСозданияИзменения;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'GroupInf_Cls');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'GosNI':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'GosNI');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'FinType':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'FinType');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'Fact':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'Fact');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'DocBase':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингДокументаОснования');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьДокументОснование(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'ReportType':
      начало
        МаппингСекции := МаппингКлассификаторовБезДатСозданияИзменения;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'ReportType');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'BudgetType':
      начало
        МаппингСекции := МаппингКлассификаторовБезДатСозданияИзменения;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'BudgetType');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'PayTypeCls':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'PayTypeCls');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'Org_AccDefaults':
      начало
        МаппингСекции:= МаппингКлассификаторовБезДатСозданияИзменения + МаппингДопПолей('МаппингУмолчанийРС');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьУмолчанияРС(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'PaySymbolCls':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'PaySymbolCls');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'TypeOperationCls':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'TypeOperationCls');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'MeansType':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'MeansType');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'RejectCls':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'RejectCls');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'Error':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингОшибок');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьКодыОшибок(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'InnerFinSource':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингИсточникВнФин') + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьИсточникиВнутрФин(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'BuhPaymentCls':
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингБухОпераций');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьБухгалтерскаяОперация(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'PayDestinationCls':         
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингНазначенияПлатежа');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьНазначениеПлатежа(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'TreasuryDocState': 
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'TreasuaryDocState');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'BudgetAccounts':
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'BudgetAccounts');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'FacialAcc_CLS':         
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('МаппингЛС');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьЛицевыеСчета(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
     'Org_Accounts':
       начало
         МаппингСекции := МаппингДопПолей('МаппингСчетовОрганизаций');
         МаппингСекции := FixPumpMap(МаппингСекции,данные);
         ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
         ПолучитьСчетаОрганизаций(ДанныеОднойСекции,ЛокКоллекция);
         Данные.PumpData(ДанныеОднойСекции,МаппингСекции);       
       конец;
     'Organizations':
       начало
         МаппингСекции := МаппингДопПолей('МаппингОрганизаций');
         МаппингСекции := FixPumpMap(МаппингСекции,данные);
         ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
         ПолучитьОрганизации(ДанныеОднойСекции,ЛокКоллекция);
         Данные.PumpData(ДанныеОднойСекции,МаппингСекции);       
       конец;
    'PROGRAMCODE': 
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'PROGRAMCODE');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'BuhOperationCLS' :
      начало
        МаппингСекции := МаппингДопПолей('МаппингКорреспонденции');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьКорреспонденцию(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);       
      конец;
    'ORG_TYPE':  //Вид организации
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'ORG_TYPE');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'TargetCLS':  //Код цели
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'TargetCLS');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'OKOPF':  
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'OKOPF');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'OKFS':  
      начало
        МаппингСекции := МаппингКлассификаторов;
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'OKFS');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'FundsSource':  //Источник образования средств  
      начало
        МаппингСекции := МаппингКлассификаторов + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'FundsSource');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'AssignmentSource':  //Вид изменений  
      начало
        МаппингСекции := МаппингКлассификаторов  + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'AssignmentSource');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'AssignmentKind':  //Вид ассигнований  
      начало
        МаппингСекции := МаппингКлассификаторов  + МаппингДопПолей('НачалаЗакрытия');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьПростойКлассификатор(ДанныеОднойСекции,ЛокКоллекция,'AssignmentKind');
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;
    'BudStruct' : // дерево бюджетной классификации
      начало
        МаппингСекции := МаппингДопПолей('МаппингДоступнойКлассификации');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьДоступнуюКлассификацию(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
      конец;
    'TransfertCls':  // виды целевых средств
      начало
        МаппингСекции := МаппингДопПолей('ВидыЦелевыхСредств');
        МаппингСекции := FixPumpMap(МаппингСекции,данные);
        ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции,",");
        ПолучитьВидыЦелевыхСредств(ДанныеОднойСекции,ЛокКоллекция);
        Данные.PumpData(ДанныеОднойСекции,МаппингСекции);
      конец;  
     'SubsidyCls':
       начало
         МаппингСекции :=  МаппингКлассификатораКодСтрока + МаппингДопПолей('МаппингКодСубсидии') + МаппингДопПолей('НачалаЗакрытия');
         МаппингСекции := FixPumpMap(МаппингСекции, Данные);
         ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции, ",");
         ПолучитьКодСубсидии(ДанныеОднойСекции, ЛокКоллекция);
         Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
       конец;
     'BudAllocationCls':
       начало
         МаппингСекции :=  МаппингКлассификатораКодСтрока + МаппингДопПолей('НачалаЗакрытия');
         МаппингСекции := FixPumpMap(МаппингСекции, Данные);
         ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции, ",");
         ПолучитьКодБюджетногоАссигнования(ДанныеОднойСекции, ЛокКоллекция);
         Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
       конец;
     'PayPromiseCls':
       начало
         МаппингСекции := МаппингКлассификатораКодСтрока + МаппингДопПолей('НачалаЗакрытия');
         МаппингСекции := FixPumpMap(МаппингСекции, Данные);
         ЛокКоллекция.values("ПоляВыборки") := ВернутьПоляВыборки(МаппингСекции, ",");
         ПолучитьКодРасходногоОбязательства(ДанныеОднойСекции, ЛокКоллекция);
         Данные.PumpData(ДанныеОднойСекции, МаппингСекции);
       конец;  
  конец;
  УдалитьОбъект(ДанныеОднойСекции);
конец;

функция ВыполнитьОднуСекциюКлассификатора(Данные: СтатическиеДанные; Коллекция: IVariables; Классификатор: строка);
начало
  Коллекция.Values("Классификатор") := Классификатор;
  ВыполнитьСекцииКлассификаторов(Данные, Ограничения);
конец;
    
начало
  Ограничения := Параметры.Values(АлгПараметры);
  Данные := Параметры.Values(АлгДанные);
  Данные.Открыть;
  Если Ограничения.CheckParam('Классификатор') 
    тогда ВыполнитьСекцииКлассификаторов(данные,Ограничения)
    иначе
      //если классификатор не выбран, то закачиваем все возможные
      начало
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'BuhPaymentCLS,000,000,"Бухгалтерская операция"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'CURRENCYCLS,000,000,"Валюты"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'BudgetType,000,000,"Вид бюджета"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'DebtType,00000000,00.00.00.00,"Вид заимствования"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'ORG_TYPE,000000,00.00.00,"Вид организации"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'LoanType,000000,00.00.00,"Вид ссуды"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'PayTypeCls,000,000,"Виды платежей"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'GROUPINF_CLS,0000,00.00,"Группы информации"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'BudStruct,0000000000,0000000000,"Дерево бюджетной классификации"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'DocBase,0000000,00.00.000,"Документ-основание"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'FundsSource,00000000,000.000.00,"Источник образования средств"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'InnerFinSource,0000,00.0.0,"Источники внутреннего и внешнего финансирования"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'NotifyTypes,000,000,"Источники финансирования"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'PaySymbolCLS,0000,00.00,"Кассовые символы"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'KVR,000,000,"КВР"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'KVSR,000,000,"КВСР"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'KD,00000000000000000000,000.0.00.00.000.00.0000.000,"КД"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'TypeOperationCLS,00,00,"Код операции"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'TargetCLS,,,"Код цели"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'Error,000000,00.00.00,"Коды ошибок"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'ACC_CLS,000000,00.00.00,"Коды расчетных счетов организаций"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'FormCLS,00000000,000.000.00,"Коды формы"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'KESR,000,0.0.0,"КОСГУ"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'KSHK,0000000,000.00.00,"КСШК"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'KFSR,0000,00.00,"КФСР"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'KCSR,0000000,000.00.00,"КЦСР"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'FacialAcc_CLS,000000000,000.00.000.0,"Лицевые счета"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'ValueCLS,000,000,"Материальные ценности"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'Fact,000000,00.00.00,"Мероприятия"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'PayDestinationcls,000000,00.00.00,"Назначение платежа"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'GOSNI,0000,00.00,"Налоговые инспекции"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'DirectionCLS,000,000,"Направление"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'OKATO,00000000,00.000.000,"ОКАТО"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'OKOPF,00,00,"ОКОПФ"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'OKFS,00,00,"ОКФС"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'MeansCLS,000,000,"Основные средства"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'DepartmentCls,000000,00.00.00,"Отдел"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'ACCOUNTPLAN,000000,0000.00,"План счетов"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'BUHACCPLAN,00000000,000.00.000,"План счетов 70н"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'RejectCLS,000000,00.00.00,"Причина отклонения"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'PROGRAMCODE,0000,0000,"Программа"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'RegionCLS,000000,00.00.00,"Районы"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'BudgetAccounts,000,000,"Слой доходов"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'Состояние казначейского документа=TreasuryDocState,00,00,"Состояние казначейского документа"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'Справочно=RefCls,0000,0000,"Справочно"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'SubKCSR,000,000,"Суб КЦСР"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'KESRSubCode,0000000,000.00.00,"Суб КЭСР"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'subKD,000000,00.00.00,"Субкод дохода"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'ORG_CLS,000000,00.00.00,"Тип организации"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'ReportType,000,000,"Тип отчета"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'REESTRTYPE,0000,0.00.0,"Тип реестра"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'MeansType,000000,00.00.00,"Тип средств"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'DocTypes,0000,0.00.0,"Типы документов"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'FinType,000,0.00,"Типы финансирования"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'Org_AccDefaults,000,000,"Умолчания расчетных счетов"');      
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'TransfertCls,000000000,0.00.000.000,"Виды целевых средств"');  
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'SubsidyCls,000000000,000.00.0000,"Код субсидии"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'BudAllocationCls,0000000,0000000,"Код бюджетного ассигнования"');
        ВыполнитьОднуСекциюКлассификатора(Данные, Ограничения,'PayPromiseCls,000000000,000000000,"Код расходного обязательства"');
      конец;
конец.
</value>
    <param value="ОтчетыКлассификаторов" type="3" name="Export">HRUSTALEV\shishkov\10.04.2013 11:58:13</param>
    <param value="ОтчетыКлассификаторов" type="3" name="version">36.042.191</param>
    <param value="ОтчетыКлассификаторов" type="3" name="crc32">$4977218D</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010100</V>
            <V N="Name">Рабочие места и их содержание</V>
            <V N="Template">(99.01.01) Рабочие места и их содержание.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет администратора.
Показывает список рабочих мест, а также интерфейсы и отчеты, зарегистрированные на этих местах. 
Показывается список пользователей, имеющих права на использование каждого рабочего места.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010300</V>
            <V N="Name">Список зарегистрированных интерфейсов</V>
            <V N="Template">(99.01.03) Список зарегистрированных интерфейсов.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет администратора.
Показывает список интерфейсов системы, рабочие места, на которых они зарегистрированы 
и имя файла, которым реализуется интерфейс.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010400</V>
            <V N="Name">Список зарегистрированных отчетов</V>
            <V N="Template">(99.01.04) Список зарегистрированных отчетов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет администратора.
Показывает список отчетов системы.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010500</V>
            <V N="Name">Cписок зарегистрированных контролей</V>
            <V N="Template">(99.01.05) список зарегистрированных контролей.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет администратора.
Показывает список бюджетных контролей системы.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010600</V>
            <V N="Name">Рабочие места и их содержание (по пользователям)</V>
            <V N="Template">(99.01.06) рабочие места и их содержание(по пользователю).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет администратора.
Показывает  по рабочему месту и пользователю список интерфейсов и новых отчётов, зарегистрированных на этих местах.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010700</V>
            <V N="Name">Статистика выполнения отчетов</V>
            <V N="Params">Пользователь,Даты,НачальнаяДата,КонечнаяДата</V>
            <V N="Template">(99.01.07) статистика выполнения новых отчетов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="Note">Отчет администратора.
Показывает  статистику выполнения отчетов.</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010800</V>
            <V N="Name">Статистика выполнения отчетов(по отчетам)</V>
            <V N="Params">Пользователь,Даты,НачальнаяДата,КонечнаяДата</V>
            <V N="Template">(99.01.08) статистика выполнения новых отчетов (по отчетам).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010900</V>
            <V N="Name">Статистика выполнения отчетов(Кросс по пользователям)</V>
            <V N="Params">Пользователь,Даты,НачальнаяДата,КонечнаяДата</V>
            <V N="Template">(99.01.09) статистика выполнения новых отчетов(кросс по пользователям).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99011000</V>
            <V N="Name">Статистика выполнения отчетов (по пользователям)</V>
            <V N="Params">Пользователь,Даты,НачальнаяДата,КонечнаяДата</V>
            <V N="Template">(99.01.10) статистика выполнения новых отчетов(по пользователям).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99011100</V>
            <V N="Name">Список не используемых отчетов (за период)</V>
            <V N="Params">Пользователь,Даты,НачальнаяДата,КонечнаяДата</V>
            <V N="Template">(99.01.11)список не используемых новых отчетов за период.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99020100</V>
            <V N="Name">Отчеты классификаторов</V>
            <V N="Params">Бюджет,БезАрхивных,Классификатор</V>
            <V N="Template">(99.02.01)отчетыклассификаторов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99120100</V>
            <V N="Name">Нагрузка по кураторам  для документов со схемой визирования</V>
            <V N="Params">Пользователь,Даты,НачальнаяДата,КонечнаяДата</V>
            <V N="Template">(99.12.01) Нагрузка по кураторам.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99030100</V>
            <V N="Name">Перенос остатков ЛС</V>
            <V N="Params">Бюджет,Даты,НачальнаяДата,КонечнаяДата</V>
            <V N="Template">(99.03.01)перенос остатков на лицевых счетах.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99050100</V>
            <V N="Name">Книга регистрации л/с</V>
            <V N="Params">Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаОткрытияТип,ДатаЗакрытияТип,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,РайонБУ,ТипСредствБюдж,Организация,ИНН,КПП,Наимен</V>
            <V N="Template">(99.05.01) книга регистрации лицевых счетов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99050200</V>
            <V N="Name">Отчет о закрытии л/с</V>
            <V N="Params">Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаОткрытияТип,ДатаЗакрытияТип,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,РайонБУ,ТипСредствБюдж,Организация,ИНН,КПП,Наимен</V>
            <V N="Template">(99.05.02) отчет о закрытии лицевых счетов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99050300</V>
            <V N="Name">Отчет об открытии л/с</V>
            <V N="Params">Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаОткрытияТип,ДатаЗакрытияТип,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,РайонБУ,ТипСредствБюдж,Организация,ИНН,КПП,Наимен</V>
            <V N="Template">(99.05.03) отчет об открытии лицевых счетов.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99060100</V>
            <V N="Name">Организации в разрезе банков</V>
            <V N="Params">СостояниеСчета</V>
            <V N="Template">(99.06.01) Организации в разрезе банков.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99060200</V>
            <V N="Name">Организации с расчетными счетами</V>
            <V N="Params">СостояниеСчета,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаИзмененияТип,НачальнаяДата,КонечнаяДата,Классификаторы,КВСР,Район,ТипСчета,ВидОрганизаций,ВыводОграничений</V>
            <V N="Template">(99.06.02) Организации с расчетными счетами.XLC</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99100100</V>
            <V N="Name">Права пользователей(по интерфейсам)</V>
            <V N="Template">(99.10.01) Права пользователей(по интерфейсам).xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99110100</V>
            <V N="Name">Поиск и удаление несуществующих связей</V>
            <V N="Template">(99.11.01) Поиск и удаление несуществующих связей.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99100200</V>
            <V N="Name">Блокировки по интерфейсам</V>
            <V N="Params">ПраваНаВвод,ПраваНаВводГруппа,ПраваНаВводПользователь,ПраваНаВводДокумент</V>
            <V N="Template">(99.10.02) Блокировки на интерфейсах.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99020200</V>
            <V N="Name">Перенос показателей СБР</V>
            <V N="Params">Бюджет</V>
            <V N="Template">(99.02.02) Перенос показателей СБР.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99020300</V>
            <V N="Name">Перенос показателей бюджетной росписи</V>
            <V N="Params">Бюджет</V>
            <V N="Template">(99.02.03) Перенос показателей бюджетной росписи.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99060300</V>
            <V N="Name">Сводный реестр 1а</V>
            <V N="Params">Бюджет,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаИзмененияТип,НачальнаяДата,КонечнаяДата,Классификаторы,ВидОрганизаций</V>
            <V N="Template">(99.06.03) Сводный реестр бюджетополучателей.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99060400</V>
            <V N="Name">Сводный реестр 2а</V>
            <V N="Params">Бюджет,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаИзмененияТип,НачальнаяДата,КонечнаяДата,Классификаторы,ВидОрганизаций</V>
            <V N="Template">(99.06.04) Сведения о полномочиях участников бюджетного процесса.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99060500</V>
            <V N="Name">Перечень УБП субъектов</V>
            <V N="Params">Бюджет,Даты,ТипДатыУнивер,НеОграничиватьТип,ДатаВключенияВРеестрТип,ДатаИсключенияИзРеестраТип,ДатаИзмененияВРеестреТип,ДатаИзмененияТип,ОднаДата,Классификаторы,ВидОрганизаций</V>
            <V N="Template">(99.06.05) Перечень участников бюджетного процесса.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath">10</V>
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99020400</V>
            <V N="Name">Перенос поквартальных, помесячных документов бюджетных данных</V>
            <V N="Params">Бюджет</V>
            <V N="Template">(99.02.04) Перенос поквартальных, помесячных документов бюджетных данных.sts</V>
            <V N="Generation">АлгоритмыДляДанных</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99020500</V>
            <V N="Name">Соответствие операций интерфейсам</V>
            <V N="Params">Классификаторы,БухОперация</V>
            <V N="Template">(99.02.05) Соответствие операций интерфейсам.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99020600</V>
            <V N="Name">Справочник операций</V>
            <V N="Params">Классификаторы,БухОперация</V>
            <V N="Template">(99.02.06) Справочник операций.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99130100</V>
            <V N="Name">Журнал регистрации</V>
            <V N="Params">ПользовательСети,ИмяКомпьютера,Даты,ТипВремени,@Пользователь,@59,@60</V>
            <V N="Template">(99.13.01) Журнал Регистрации.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.042.191</param>
  </node>
  <version_info>
    <file>Сборка.ВерсияДляОтчетов.xml</file>
    <version>36.042.107</version>
    <info>&lt;p&gt;Версия сборки отчетов для централизованного обновления. Позволяет легко узнать номер обновления(патча). Особенно полезна тогда, когда у патча нет изменений на базе и через DataBaseVersion нельзя узнать код патча.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:01</buildtime>
  </version_info>
  <description>Версия обновления для отчетов</description>
  <script type="abl" exec="before" name="Проверить версию отчетов">
включить "\библиотеки\Libru.lib";
включить "\библиотеки\DBTools.lib";
включить "\библиотеки\ABLTools.lib";

константы

  // ТребуемаяВерсияБД - версия базы данных на которую можно устанавливать обновление реестра
  // константа чувствительна к регистру и должна быть написана точно так же как поле VERSION в таблице DataBaseVersion, например "7.00.01"
  
  // ВерсияОтчетов  - список состоящий из версий обновления и соответствующих им требуемых версий(на которые разрешено импортировать обновление)  
  // имеет следующий формат:
  // НоваяВерсия1[=СписокТребуемыхверсий1][,НоваяВерсия2=СписокТребуемыхВерсий2] и т.д
  // если требуемых версий для одного обновления несколько, то версию обновления со списком из требуемых следует заключить в двойные кавычки
  // при отсутствии требуемых версий проверка не делается   
  // каждую версию указывать в формате AББВВГГ. 7 РАЗРЯДОВ,
  // где А= - номер, определяющий библиотеки,ББ-номер обновления, ВВ-номер патча либо 00 либо 99 (если можно ставить на любой патч), ГГ-номер подпатча либо 00 либо 99(если можно ставить на любой подпатч)
  // пример константы:
  // ВерсияОтчетов = '6110401=6110300,"6110207=6110201,6110202,6110203,6110204,6110205,6110206",6110307=6110399';
  
  // ТребуемыеРанееУстановленныеВерсии - требуемые версии ранее установленного обновления на которые разрешено импортировать текущее обновление.
  // В настоящий момент поддерживается задание только одной версии.
  // пример константы: ТребуемыеРанееУстановленныеВерсии = "6110616".  
  
//**************************************************************************************************************************

  ТребуемаяВерсияБД = "";//"7.00.02";
  
  ВерсияОтчетов = '"8000000=7029999"';
  
  ТребуемыеРанееУстановленныеВерсии = "";

//**************************************************************************************************************************
  ПутьКПараметру = "Бюджет\Объекты\Отчеты";
  ИмяПараметра = "Версия обновления отчетов";
  ИмяПараметраВерсияДляИмпорта = "Импортируемая версия";
  ИмяПараметраИсторияОбновления = "История обновления отчетов";

  ИмяДанных = "История обновления отчетов";
  ИмяСтарогоПараметра = "Версия обновления отчетов";
  МинВерсия  =  6110000;
  МаксВерсия = 59999999;

функция ПроверитьПутьКБазеДанных;
переменные
  Буф: Буфер;
  Данные,ТекДанные: СтатическиеДанные; 
  Бд: IDBServ;
  ПараметрыЗапуска: Текст;
  БазаДанных, Номер: Строка;
  ВерсияОтчетов, ПредыдущаяВерсия: Целое;
начало
  // версию берем из параметра в реестре
  Если не Реестр.Узел(ПутьКПараметру).Значение(ИмяПараметраВерсияДляИмпорта).Существует тогда выход;
  ВерсияОтчетов := Реестр.Узел(ПутьКПараметру).Значение(ИмяПараметраВерсияДляИмпорта).КакЦелое;
  Если ВерсияОтчетов &lt; МинВерсия или ВерсияОтчетов &gt; МаксВерсия тогда
    ВозбудитьОшибку("Версия отчетов должна находиться в диапазоне от " + ФорматироватьКлассификатор(МинВерсия,"99.99.99.99") +
      " до " + ФорматироватьКлассификатор(МаксВерсия,"99.99.99.99"));
  Номер := ФорматироватьКлассификатор(ВерсияОтчетов,"99.99.99.99");   
  ПолучитьИнтерфейс(_IDBServ,БД);
  // если такого значения не будет, то создатся пустой статиксэт без полей
  ТекДанные := СоздатьДанныеИзРеестра(ПутьКПараметру,ИмяДанных);
  Данные := СоздатьСтатическиеДанные;
  ПараметрыЗапуска := СоздатьТекст;
  Буф := СоздатьБуфер;
  попытка
    Данные.ДобавитьЦелоеПоле("Code");
    Данные.ДобавитьСтроковоеПоле("Number",255);
    Данные.ДобавитьСтроковоеПоле("Database",255);
    Данные.ДобавитьСтроковоеПоле("User",255);
    Данные.ДобавитьСтроковоеПоле("Computer",255);
    Данные.ДобавитьСтроковоеПоле("Date",255);
    Данные.ДобавитьЦелоеПоле("Count");
    Данные.Ключ := "Code";
    Данные.Открыть;
    Если не (ТекДанные.ЧислоПолей = 0)и(ТекДанные.ЧислоЗаписей&gt;0) тогда
      Данные.PumpData(ТекДанные,"");
      
    Данные.Индекс := "-Code;Database;User;Computer";
    // Путь к БД берем из параметров подключения
    ПараметрыЗапуска.Значение := БД.LoginParams;
    БазаДанных := ПараметрыЗапуска.ЗначениеПараметра("SERVER NAME");
    // для Oracle  
    Если ПараметрыЗапуска.ЗначениеПараметра("schema") &lt;&gt; "" тогда
      БазаДанных := БазаДанных + "\" + ПараметрыЗапуска.ЗначениеПараметра("schema");
    
    // выводим предупреждение, если предыдущее обновление было выполнено на другой базе   
    Если (Данные.ЧислоЗаписей &gt; 0) и (Реестр.Узел(ПутьКПараметру).Значение(ИмяСтарогоПараметра).Существует) тогда
    если не(УбратьПробелы(Реестр.Узел(ПутьКПараметру).Значение(ИмяСтарогоПараметра).КакСтрока)='')тогда
    начало
      ПредыдущаяВерсия := КлассификаторВЧисло(Реестр.Узел(ПутьКПараметру).Значение(ИмяСтарогоПараметра).КакСтрока,"99.99.99.99");
      Если (ФорматироватьКлассификатор(ПредыдущаяВерсия,"99.99.99.99") &lt;&gt; Номер)и(Данные.Локализовать("Code",ПредыдущаяВерсия,0)) тогда
      начало
        Если БазаДанных &lt;&gt; Данные.ПолеПоИмени("Database").КакСтрока тогда
          Сообщение("Предыдущее обновление реестра было выполнено при подключении к другой базе данных: "+#13#10+
          Данные.ПолеПоИмени("Database").КакСтрока +" "+#13#10+
          "Некоторые обновления реестра могут вносить изменения в основную базу данных. "+#13#10+
          "Возможно, эти изменения не отразились на текущей базе.",Сообщение_Предупреждение);
      конец;   
    конец;  
  обязательно
    УдалитьОбъект(Буф,Данные,ПараметрыЗапуска,ТекДанные);
  конец;
конец;
    
переменные
  Версии, ТребуемыеВерсии,ВсеТребуемыеВерсии: Текст;
  сч, сч1, ТекущаяВерсия, колНеправильных, колНеправильныхВсего, ТребуемаяВерсия: Целое;
  Продолжить: Целое;
  ТекущаяВерсияСтр, ВерсииОтчетовВыч, ВерсияОтчетовВыч, ВерсияДляОбновления: Строка;
  В: Выборка;
  ИсторияОбновленияОтчетов: Данные;
  
начало

  // проверяем требуемую версию бд
  Если УбратьПробелы(ТребуемаяВерсияБД) &lt;&gt; "" тогда
  начало
    В := СоздатьВыборку;
    В.БазаДанных := Бюджет;
    попытка
      В.Запрос := "Select Version from DataBaseVersion where VERSION = '" + ТребуемаяВерсияБД + "'";
      В.Открыть;
      Если В.ЧислоЗаписей = 0 тогда
        ВозбудитьОшибку("Данное обновление реестра требует версии базы данных не ниже " + ТребуемаяВерсияБД);                
    обязательно
      УдалитьОбъект(В);
    конец;  
  конец;
  
  // проверяем требуемую ранее установленную версию обновления
  если УбратьПробелы(ТребуемыеРанееУстановленныеВерсии) &lt;&gt; "" тогда
  начало
    попытка
      ИсторияОбновленияОтчетов := СоздатьДанныеИзРеестра(ПутьКПараметру, ИмяПараметраИсторияОбновления);
      Продолжить := нет;
      если ИсторияОбновленияОтчетов.ЧислоЗаписей = 0 тогда
      начало  
        если Сообщение("История версий наполнения реестра пуста. Продолжить установку?",
                        Сообщение_Предупреждение, Кнопка_Да или Кнопка_Нет) = Результат_да тогда
          Продолжить := да
      конец    
      иначе
        если ИсторияОбновленияОтчетов.Локализовать("Code", ТребуемыеРанееУстановленныеВерсии, 0) тогда
          Продолжить := да;
      если не Продолжить тогда
        ВозбудитьОшибку("Данное обновление реестра требует установленного ранее обновления версии: " + ТребуемыеРанееУстановленныеВерсии);
    обязательно  
      УдалитьОбъект(ИсторияОбновленияОтчетов);
    конец;  
  конец;
  
  ТекущаяВерсияСтр := Реестр.Узел(ПутьКПараметру).Значение(ИмяПараметра).КакСтрока;
  если не (ТекущаяВерсияСтр="") тогда
  начало
    ТекущаяВерсия := КлассификаторВЧисло(ТекущаяВерсияСтр,"99.99.99.99");
    Если ТекущаяВерсия &lt; 100 тогда ТекущаяВерсия := ТекущаяВерсия * 100;
    Если ТекущаяВерсия &lt; 10000 тогда ТекущаяВерсия := ТекущаяВерсия * 100;
    Если ТекущаяВерсия &lt; 1000000 тогда ТекущаяВерсия := ТекущаяВерсия * 100;
  конец
  иначе
  ТекущаяВерсия:=99999999;// текущая версия не указана
  // убираем возможные лишние пробелы 
  ВерсииОтчетовВыч := ЗаменитьСтроку(ВерсияОтчетов," ","",ЗаменятьВсе);
  Версии := СоздатьТекст;
  ТребуемыеВерсии := СоздатьТекст;
  ВсеТребуемыеВерсии := СоздатьТекст;
  попытка
    Версии.РазделенноеЗначение := ВерсииОтчетовВыч;
    ВерсияДляОбновления := "";
    сч := 0;
    колНеправильныхВсего := 0;
    пока (сч &lt; Версии.Количество) и (ВерсияДляОбновления = "") делать
    начало
      ВерсияОтчетовВыч := Версии.ИмяПараметра(сч);
      Если ВерсияОтчетовВыч = "" тогда                 // если нет требуемых версий
        ВерсияДляОбновления := ВерсииОтчетовВыч
      иначе
      начало    
        ТребуемыеВерсии.РазделенноеЗначение := Версии.ЗначениеПараметра(ВерсияОтчетовВыч);
        // в требуемые версии добавляем также импортируемую версию
        Если ТребуемыеВерсии.Поиск(ВерсияОтчетовВыч) = -1 тогда
          ТребуемыеВерсии.Добавить(ВерсияОтчетовВыч);
  
        колНеправильных := 0;  
        от сч1 := 0 до ТребуемыеВерсии.Количество - 1 делать
        начало
          ТребуемаяВерсия := СтрокаВЦелое(ТребуемыеВерсии.Стр(сч1));
          // запоминаем требуемые версии для вывода в случае ошибки
          Если ТребуемаяВерсия &lt;&gt; ВерсияОтчетовВыч тогда
            ВсеТребуемыеВерсии.Добавить(ТребуемаяВерсия);
          Если ТребуемаяВерсия &lt;&gt; ТекущаяВерсия тогда
            // учитываем возможность задания версии с маской в 2х последних разрядах
            Если не (((ТребуемаяВерсия ост 100 = 99) и (ТребуемаяВерсия цел 100 = ТекущаяВерсия цел 100))
			          или((ТребуемаяВерсия ост 10000 = 9999) и (ТребуемаяВерсия цел 10000 = ТекущаяВерсия цел 10000))) тогда 
              колНеправильных := колНеправильных + 1;
        конец;
        Если колНеправильных = ТребуемыеВерсии.Количество тогда
          колНеправильныхВсего := колНеправильныхВсего + 1
        иначе
          ВерсияДляОбновления := ВерсияОтчетовВыч;               // если нашли в требуемых версиях текущую
        сч := сч + 1;
      конец;    
    конец;
    Если колНеправильныхВсего = Версии.Количество тогда
    начало
      Продолжить := нет;
      // выводим предупреждение только когда есть одна импортируемая версия
      Если Версии.Количество = 1 тогда
      начало
        Если ТекущаяВерсия=99999999 тогда
        начало
          Если Сообщение("Текущая версия наполнения реестра неизвестна. Продолжить установку?",Сообщение_Предупреждение,
            Кнопка_Да или Кнопка_Нет) = Результат_да тогда
            начало
              Продолжить := да;
              ВерсияДляОбновления := ВерсияОтчетовВыч;
            конец;  
        конец
        иначе     
        Если ТекущаяВерсия &gt; СтрокаВЦелое(ВерсияОтчетовВыч) тогда
          Если Сообщение("Устанавливаемая версия наполнения реестра старее, чем текущая. Продолжить установку?",Сообщение_Предупреждение,
            Кнопка_Да или Кнопка_Нет) = Результат_да тогда
            начало
              Продолжить := да;
              ВерсияДляОбновления := ВерсияОтчетовВыч;
            конец;  
      конец;      
      Если не Продолжить тогда
      начало    
        от сч := 0 до ВсеТребуемыеВерсии.Количество - 1 делать
        начало // форматируем список требуемых версий
          если не(СтрокаВЦелое(ВсеТребуемыеВерсии.Стр(сч)) ост 100 = 99)тогда       
            ВсеТребуемыеВерсии.Стр(сч) := ФорматироватьКлассификатор(ВсеТребуемыеВерсии.Стр(сч),"99.99.99.99")
          иначе //для версии с маской 99 в последних разрядах особый формат 
            ВсеТребуемыеВерсии.Стр(сч) := ФорматироватьКлассификатор(СтрокаВЦелое(ВсеТребуемыеВерсии.Стр(сч)) цел 100,"99.99.99")+".ХХ"
        конец;   
        ВозбудитьОшибку("Данное обновление реестра не может быть установлено на текущую версию наполнения реестра" + 
            #13#10 + "Текущая версия: " + ТекущаяВерсияСтр + #13#10 + "Требуемые версии: " + ВсеТребуемыеВерсии.РазделенноеЗначение);
      конец;      
    конец;
  обязательно
    УдалитьОбъект(Версии,ТребуемыеВерсии,ВсеТребуемыеВерсии);
  конец;
  // сохраняем импортируемую версию для следующего скрипта
  Реестр.Узел(ПутьКПараметру).Значение(ИмяПараметраВерсияДляИмпорта).КакСтрока := ВерсияДляОбновления;
  ПроверитьПутьКБазеДанных;
конец.
    </script>
  <script type="abl" exec="after" name="Сохранить версию отчетов">Бюджет\Ресурсы\Макросы\СохранитьВерсиюОтчетов</script>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="СохранитьВерсиюОтчетов">включить "\библиотеки\libru.lib";
включить "\библиотеки\DBTools.lib";
включить "\библиотеки\ABLTools.lib";

константы
  ПутьКДанным = "Бюджет\Объекты\Отчеты";
  ИмяДанных = "История обновления отчетов";
  ИмяСтарогоПараметра = "Версия обновления отчетов";
  ПутьКПараметру = "SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName";
  ИмяПараметра = "ComputerName";
  ИмяПараметраВерсияДляИмпорта = "Импортируемая версия";
  
функция СохранитьВерсиюОтчетов;
переменные
  Буф: Буфер;
  Данные,ТекДанные: СтатическиеДанные; 
  Бд: IDBServ;
  ПараметрыЗапуска: Текст;
  ИмяКомпьютера, Пользователь, БазаДанных, Номер: Строка;
  ВерсияОтчетов, КолОбновлений: Целое;
начало
  // версию берем из параметра в реестре
  Если не Реестр.Узел(ПутьКДанным).Значение(ИмяПараметраВерсияДляИмпорта).Существует тогда выход;
  ВерсияОтчетов := Реестр.Узел(ПутьКДанным).Значение(ИмяПараметраВерсияДляИмпорта).КакЦелое;
  Реестр.Узел(ПутьКДанным).Значение(ИмяПараметраВерсияДляИмпорта).Удалить; 
  Номер := ФорматироватьКлассификатор(ВерсияОтчетов,"99.99.99.99");   
  ПолучитьИнтерфейс(_IDBServ,БД);
  // если такого значения не будет, то создатся пустой статиксэт без полей
  ТекДанные := СоздатьДанныеИзРеестра(ПутьКДанным,ИмяДанных);
  Данные := СоздатьСтатическиеДанные;
  ПараметрыЗапуска := СоздатьТекст;
  Буф := СоздатьБуфер;
  попытка
    Данные.ДобавитьЦелоеПоле("Code");
    Данные.ДобавитьСтроковоеПоле("Number",255);
    Данные.ДобавитьСтроковоеПоле("Database",255);
    Данные.ДобавитьСтроковоеПоле("User",255);
    Данные.ДобавитьСтроковоеПоле("Computer",255);
    Данные.ДобавитьСтроковоеПоле("Date",255);
    Данные.ДобавитьЦелоеПоле("Count");
    Данные.Ключ := "Code";
    Данные.Открыть;
    Если не (ТекДанные.ЧислоПолей = 0)и(ТекДанные.ЧислоЗаписей&gt;0) тогда
      Данные.PumpData(ТекДанные,"");
      
    Данные.Индекс := "-Code;Database;User;Computer";
    // Путь к БД берем из параметров подключения
    ПараметрыЗапуска.Значение := БД.LoginParams;
    БазаДанных := ПараметрыЗапуска.ЗначениеПараметра("SERVER NAME");
    // для Oracle  
    Если ПараметрыЗапуска.ЗначениеПараметра("schema") &lt;&gt; "" тогда
      БазаДанных := БазаДанных + "\" + ПараметрыЗапуска.ЗначениеПараметра("schema");
    Пользователь := ТекущийПользователь;
    // Имя компьютера берем из реестра ОС
    ПрочитатьСтрокуИзРеестра(HKEY_LOCAL_MACHINE,ПутьКПараметру,ИмяПараметра,ИмяКомпьютера);
    
    Если Данные.Искать(ВерсияОтчетов,БазаДанных,Пользователь,ИмяКомпьютера) тогда
    начало
      КолОбновлений := Данные.ПолеПоИмени("Count").КакЦелое;
      Данные.Редактировать;
      // подсчитываем количество импорта для этой версии
      Данные.ПолеПоИмени("Count").КакЦелое := КолОбновлений + 1;
    конец иначе
    начало
      Данные.Вставить;
      Данные.ПолеПоИмени("Code").КакЦелое := ВерсияОтчетов;
      Данные.ПолеПоИмени("Number").КакСтрока := Номер;
      Данные.ПолеПоИмени("Count").КакЦелое := 1; 
    конец;
    Данные.ПолеПоИмени("Database").КакСтрока := БазаДанных; 
    Данные.ПолеПоИмени("User").КакСтрока := Пользователь;
    Данные.ПолеПоИмени("Computer").КакСтрока := ИмяКомпьютера;
    Данные.ПолеПоИмени("Date").КакСтрока := ДатаВСтрокуФ(ТекущаяДата,"dd.mm.yyyy hh:mm:ss");
    Данные.Сохранить; 
    Данные.СохранитьВБуфер(Буф);
    Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).ЗагрузитьИзБуфера(Буф);
    Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).ТипДанных := ТипДанныхРеестра_Таблица;
  обязательно
    УдалитьОбъект(Буф,Данные,ПараметрыЗапуска,ТекДанные);
  конец;
  // поддерживаем старый параметр
  Реестр.Узел(ПутьКДанным).Значение(ИмяСтарогоПараметра).КакСтрока := Номер;  
конец;

начало
  СохранитьВерсиюОтчетов;
конец.

</value>
    <param value="СохранитьВерсиюОтчетов" type="3" name="version">36.042.107</param>
    <param value="СохранитьВерсиюОтчетов" type="3" name="crc32">$31D35675</param>
  </node>
  <version_info>
    <file>Отчеты. Обмен с АС Смета.xml</file>
    <version>36.054.00</version>
    <info>&lt;p&gt;шаблоны отчетов для выполнения в АС Бюджет и дальнейшего импорта в АС Смета.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:02</buildtime>
  </version_info>
  <description>АБЛ-макросы для связи со Сметой</description>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="Банк">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ИмяВСмете</N>
            <S>30</S>
            <DL>ИмяВСмете</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ИмяВБюджете</N>
            <S>100</S>
            <DL>ИмяВБюджете</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ИмяВУРМ</N>
            <S>100</S>
            <DL>ИмяВУРМ</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Тип</N>
            <S>10</S>
            <DL>Тип</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Размер</N>
            <DL>Размер</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ИмяВСмете">Адрес</V>
            <V N="ИмяВБюджете">Address</V>
            <V N="ИмяВУРМ">Address</V>
          </R>
          <R>
            <V N="ИмяВСмете">БанкЗакрыт</V>
            <V N="ИмяВБюджете">Closed</V>
            <V N="ИмяВУРМ">Closed</V>
          </R>
          <R>
            <V N="ИмяВСмете">БИК</V>
            <V N="ИмяВБюджете">MFO</V>
            <V N="ИмяВУРМ">MFO</V>
          </R>
          <R>
            <V N="ИмяВСмете">Город</V>
            <V N="ИмяВБюджете">ORG_CITY</V>
            <V N="ИмяВУРМ">City</V>
          </R>
          <R>
            <V N="ИмяВСмете">ДатаЗакрытия</V>
            <V N="ИмяВБюджете">DateClose</V>
            <V N="ИмяВУРМ">DateClose</V>
          </R>
          <R>
            <V N="ИмяВСмете">ДополнениеОкато</V>
            <V N="ИмяВБюджете">AddOkato</V>
            <V N="ИмяВУРМ">AddOkato</V>
          </R>
          <R>
            <V N="ИмяВСмете">ИНН</V>
            <V N="ИмяВБюджете">Inn</V>
            <V N="ИмяВУРМ">Inn</V>
          </R>
          <R>
            <V N="ИмяВСмете">КлючВБюджете</V>
            <V N="ИмяВБюджете">ORG_REF</V>
            <V N="ИмяВУРМ">FUId</V>
          </R>
          <R>
            <V N="ИмяВСмете">КодВУФК</V>
            <V N="ИмяВБюджете">OrgCode</V>
            <V N="ИмяВУРМ">OrgCode</V>
          </R>
          <R>
            <V N="ИмяВСмете">КодКлиента</V>
            <V N="ИмяВУРМ">ClientId</V>
          </R>
          <R>
            <V N="ИмяВСмете">КодСтраны</V>
            <V N="ИмяВБюджете">CountryCode</V>
          </R>
          <R>
            <V N="ИмяВСмете">КорСчет</V>
            <V N="ИмяВБюджете">Cor</V>
            <V N="ИмяВУРМ">Cor</V>
          </R>
          <R>
            <V N="ИмяВСмете">КПП</V>
            <V N="ИмяВБюджете">KPP</V>
            <V N="ИмяВУРМ">Inn20</V>
          </R>
          <R>
            <V N="ИмяВСмете">ЛицевойСчет</V>
            <V N="ИмяВБюджете">FACIALACC</V>
            <V N="ИмяВУРМ">FacialAcc</V>
          </R>
          <R>
            <V N="ИмяВСмете">Наименование</V>
            <V N="ИмяВБюджете">Org_ShortName</V>
            <V N="ИмяВУРМ">ShortName</V>
          </R>
          <R>
            <V N="ИмяВСмете">ОКАТО</V>
            <V N="ИмяВБюджете">Okato</V>
            <V N="ИмяВУРМ">Okato</V>
          </R>
          <R>
            <V N="ИмяВСмете">ПолноеНаименование</V>
            <V N="ИмяВБюджете">ORG_NAME</V>
            <V N="ИмяВУРМ">Name</V>
          </R>
          <R>
            <V N="ИмяВСмете">ППП</V>
            <V N="ИмяВБюджете">Kvsr</V>
            <V N="ИмяВУРМ">Kvsr</V>
          </R>
          <R>
            <V N="ИмяВСмете">Район</V>
            <V N="ИмяВБюджете">REGIONCLS</V>
          </R>
          <R>
            <V N="ИмяВСмете">Распорядитель</V>
            <V N="ИмяВБюджете">GeneralOrg_Ref</V>
            <V N="ИмяВУРМ">GenOrgFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">СтатусПоставщика</V>
            <V N="ИмяВУРМ">SupplierStatus</V>
          </R>
          <R>
            <V N="ИмяВСмете">Страна</V>
            <V N="ИмяВБюджете">Country</V>
            <V N="ИмяВУРМ">Country</V>
          </R>
          <R>
            <V N="ИмяВСмете">СубИНН</V>
            <V N="ИмяВБюджете">SUBINN</V>
            <V N="ИмяВУРМ">SUBINN</V>
          </R>
          <R>
            <V N="ИмяВСмете">Телефон</V>
            <V N="ИмяВБюджете">PHONE</V>
            <V N="ИмяВУРМ">Phone</V>
          </R>
          <R>
            <V N="ИмяВСмете">Тип</V>
            <V N="ИмяВБюджете">Org_Type</V>
            <V N="ИмяВУРМ">Org_Type</V>
          </R>
          <R>
            <V N="ИмяВСмете">ТОФК</V>
          </R>
          <R>
            <V N="ИмяВСмете">КлючВБД</V>
            <V N="ИмяВБюджете">ORG_REF</V>
            <V N="ИмяВУРМ">Id</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Банк" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ДанныеЭЦП">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Statics.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\SignUtils.lib';
включить '\Макросы\ДляОбменаСБанком.abl';

константы 
  ctNone = 0;
  ctInterbase = 1; 
  ctOracle = 2;

переменные
  FSignUtilsEx: ISignUtilsEx;  
  КлассыДокументов: IVariables;

функция SignUtilsEx: ISignUtilsEx;
начало
  если FSignUtilsEx = nil тогда
    FSignUtilsEx := CreateComObject(CoCoSignUtils);
  результат := FSignUtilsEx;
конец;

функция ЭтоСтрокаПодключенияОракл(Алиас, Сервер, Схема: Строка): целое;
переменные
  Поз: Целое;
начало                        
  попытка
    если Алиас = "" тогда
      ВызватьОшибку("");
    Поз := Позиция(".GDB", Прописные(Алиас)); //*.GDB - это IB
    если (Поз &gt; 1) и (Поз = Длина(Алиас) - 3) тогда  //это IB
      ВызватьОшибку("");
    если Позиция("\\", Алиас) = 1 тогда //это сетевой путь
      ВызватьОшибку("");
    если Позиция(":", Алиас) &lt;&gt; 0 тогда //это путь
      ВызватьОшибку("");
    Поз := Позиция("\", Алиас);
    если Поз &gt; 0 тогда //это Oracle (alias/path)
    начало
      результат := да;
      Сервер := Подстрока(Алиас, 1, Поз - 1);
      Схема := Прописные(Подстрока(Алиас, Поз + 1, Длина(Алиас) - Поз));
    конец;
  неудача
    результат := нет;
  конец;
конец;

функция ПроверитьАлиас(Параметры: Текст);
переменные
  Сервер, Схема: Строка;
начало
  Если ЭтоСтрокаПодключенияОракл(Параметры.ЗначениеПараметра("AliasName"), Сервер, Схема) тогда
  начало
    Параметры.ЗначениеПараметра("AliasName") := "";
    Параметры.ЗначениеПараметра("DriverName") := "ORACLE";
    Параметры.ЗначениеПараметра("Server Name") := Сервер;     
    Параметры.ЗначениеПараметра("Schema") := Схема;    
  конец;
конец;

функция ПолучитьПараметрыКриптоПользователя(ИмяПользователя: Строка): Строка;
переменные
  ПараметрыКриптоПользователя: Текст;
  ссДанные: СтатическиеДанные;
начало
  попытка
    попытка
      ПараметрыКриптоПользователя := СоздатьТекст;
      ссДанные := СоздатьСтатическиеДанные;
      ссДанные.СоединитьБД;
      ссДанные.Запрос := "[PumpData] {Select CryptoID, CryptoParams 
        from DBUsers
        where (RemoteId = -1) and (Upper(UserName) = '@UserName')}";
      ссДанные.Параметр("UserName") := Прописные(ИмяПользователя);
      ссДанные.Открыть;
      если ссДанные.ЧислоЗаписей &gt; 0 тогда
      начало
        ПараметрыКриптоПользователя.РазделенноеЗначение := ссДанные.Поле("CryptoParams").КакСтрока;
        ПараметрыКриптоПользователя.ЗначениеПараметра("serial") := ссДанные.Поле("CryptoID").КакСтрока;
        результат := ПараметрыКриптоПользователя.РазделенноеЗначение;
      конец;
    неудача
      //Если поле "CryptoID" или "CryptoParams" еще не добавлено
    конец;
  обязательно
    УдалитьОбъект(ПараметрыКриптоПользователя, ссДанные);
  конец;
конец;

функция ПодключитьсяККриптоБазе;
переменные
  ПараметрыПодключения: Текст;
  ПараметрыТекущегоПодключения: Текст;
начало
  если не SignUtilsEx.ConnectType входит [ctInterBase, ctOracle] тогда
  начало
    ПараметрыПодключения := СоздатьТекст;
    попытка
      ПараметрыПодключения.ЗначениеПараметра("AliasName") := СтроковаяКонстанта(-1, 28);
      ПроверитьАлиас(ПараметрыПодключения);
      ПараметрыПодключения.ЗначениеПараметра("UserName") := СтроковаяКонстанта(-1, 29);
      ПараметрыПодключения.ЗначениеПараметра("Password") := СтроковаяКонстанта(-1, 30);
      если ПараметрыПодключения.ЗначениеПараметра("UserName") = "" тогда
      попытка
        ПараметрыТекущегоПодключения := СоздатьТекст;
        ПараметрыТекущегоПодключения.РазделенноеЗначение := ПолучитьПараметрыПодключения;
        ПараметрыПодключения.ЗначениеПараметра("UserName") := ТекущийПользователь;
        ПараметрыПодключения.ЗначениеПараметра("Password") := ПараметрыТекущегоПодключения.ЗначениеПараметра("Password");
        если ПараметрыПодключения.ЗначениеПараметра("Password") = "" тогда
          ПараметрыПодключения.ЗначениеПараметра("Password") := "masterkey";
      обязательно
        УдалитьОбъект(ПараметрыТекущегоПодключения);    
      конец;  
      ПараметрыПодключения.ЗначениеПараметра("UserCryptoParams") := ПолучитьПараметрыКриптоПользователя(ПараметрыПодключения.ЗначениеПараметра("UserName"));
      SignUtilsEx.Connect(ПараметрыПодключения.РазделенноеЗначение);
      если SignUtilsEx.ConnectType = ctNone тогда
        ВызватьОшибку("Не удалось подключится к базе данных ЭЦП");      
    обязательно
      УдалитьОбъект(ПараметрыПодключения);
    конец; 
  конец;
конец;

функция ПолучитьДанныеАктивнойПодписи(СписокИд: Строка; КлассДокумента: Целое): СтатическиеДанные;
переменные
  Буф: Буфер;
  ссДанныеЭЦП: СтатическиеДанные;
начало
   если СписокИд &lt;&gt; "" тогда
   попытка   
       /* LoadSignDataToSS возвращает упакованный в поток StaticSet с набором записей,
      выбранных из крипто-схемы по FUID. Набор полей статиксета - все поля из таблицы SignDocRecords.
      FUIDList - список FUID через запятую.
      SelType - тип выборки:
        0 - только активные подписи (1 шт. на документ),
        1 - вся история изменения подписей,
        2 - выборка данных для проверки (если последняя подпись установлена из Бюджета, то 1 шт., иначе вся история).
     NeedDepackData - нужно ли (True - нужно) распаковывать данные хранимые в полях Data и Sign. */
     Буф := СоздатьБуфер(SignUtilsEx.LoadSignDataToSS(СписокИд, 0, да));       
     Буф.Позиция := 0;
     ссДанныеЭЦП := СоздатьСтатическиеДанные;     
     ЗагрузитьОбъект(ссДанныеЭЦП, Буф);
     если КлассДокумента &lt;&gt; -1 тогда
       ссДанныеЭЦП.Фильтр := Формат("DocumentType=%d", КлассДокумента);      
     результат := ссДанныеЭЦП;
   обязательно
     УдалитьОбъект(Буф);
   конец;
конец;

функция ПолучитьКлассДокументаПоПрогиндексуИзБазы(Прогиндекс: целое): целое;
переменные
  ссДанные: СтатическиеДанные;
начало
  попытка
    ссДанные := СоздатьСтатическиеДанные;
    ссДанные.СоединитьБД;
    ссДанные.Запрос := "[PumpData] {Select id
      from DocumentTypes
      where ProgIndex = @ProgIndex}";
    ссДанные.Параметр("ProgIndex") := Прогиндекс;  
    ссДанные.Открыть;
    если ссДанные.ЧислоЗаписей = 1 тогда
      результат := ссДанные.Поле("id").КакЦелое
    иначе
      результат := -1;    
  обязательно
    Удалитьобъект(ссДанные);
  конец;
конец;

функция ПолучитьКлассДокументаПоПрогиндексу(Прогиндекс: целое): целое;
начало
  если КлассыДокументов = nil тогда
    КлассыДокументов := CreateVariables;
  если не КлассыДокументов.ПараметрСуществует(Прогиндекс) тогда
    КлассыДокументов.Значение(Прогиндекс) := ПолучитьКлассДокументаПоПрогиндексуИзБазы(Прогиндекс);
  результат := КлассыДокументов.Значение(Прогиндекс);    
конец;

функция СформироватьСписокИдПоИндексам(ссДанные: СтатическиеДанные): IVariables;
переменные
  СписокИдПоИндексам: IVariables;
  Прогиндекс: Целое;
  Сч: Целое;
начало
  СписокИдПоИндексам := CreateVariables;
  если ссДанные.ЧислоЗаписей &gt; 0 тогда
  начало
    если ссДанные.НайтиПоле("ИндексыДанных") тогда
    начало    
      ссДанные.ВНачало;
      пока не ссДанные.ВКонце делать
      начало              
        если не СписокИдПоИндексам.ПараметрСуществует(ссДанные.Поле("ИндексыДанных").КакЦелое) тогда
          СписокИдПоИндексам.Значение(ссДанные.Поле("ИндексыДанных").КакЦелое) := -1;             
        ссДанные.Следующий;
      конец;  
      от Сч := 0 до СписокИдПоИндексам.Count - 1 делать
      начало
        Прогиндекс := СтрокаВЦелое(СписокИдПоИндексам.Names(Сч));
        ссДанные.Фильтр := Формат("ИндексыДанных = %d", Прогиндекс);
        СписокИдПоИндексам.Значение(Прогиндекс) := GetLimitStr(ссДанные, "КодДокумента");        
        ссДанные.Фильтр := "";
      конец;
    конец 
    иначе
      СписокИдПоИндексам.Значение(-1) := GetLimitStr(ссДанные, "КодДокумента");
  конец;  
  результат := СписокИдПоИндексам;
конец;

функция СформироватьСтатикСетСДаннымиЭЦП(ссДанные: СтатическиеДанные): СтатическиеДанные;
переменные
  ссДанныеСЭЦП: СтатическиеДанные;
начало
  ссДанныеСЭЦП := СоздатьСтатическиеДанные;
  ссДанныеСЭЦП.AssignFields(ссДанные);
  ссДанныеСЭЦП.Close;
  ссДанныеСЭЦП.CreateFieldByClassName("DocumentData", "TBlobField");
  ссДанныеСЭЦП.CreateFieldByClassName("SignData", "TBlobField");
  ссДанныеСЭЦП.Open;
  ссДанныеСЭЦП.PumpData(ссДанные, "");
  //ссДанныеОтчетаЭЦП.IndexFieldNames := "КодДокумента";
  результат := ссДанныеСЭЦП;
конец;

функция СгруппироватьДанные(ссПриемник, ссИсточник: СтатическиеДанные; Ключ, Маппинг: Строка);
переменные
  тКлюч: Текст;
  КлючПриемник, КлючИсточник: Строка;
  НадоГруппировать: Целое;
  Буф: Буфер;
начало
  НадоГруппировать := (ссПриемник.ЧислоЗаписей &gt; 0) и (ссИсточник.ЧислоЗаписей &gt; 0) и (Ключ &lt;&gt; "");
  если НадоГруппировать тогда
  попытка
    тКлюч := СоздатьТекст;
    Буф := СоздатьБуфер;
    тКлюч.РазделенноеЗначение := Ключ;
    КлючПриемник := тКлюч.ИмяПараметра(0);
    КлючИсточник := тКлюч.ЗначениеПараметра(КлючПриемник);
    ссИсточник.ВНачало;
    пока не ссИсточник.ВКонце делать
    начало
      если ссПриемник.Локализовать(КлючПриемник, ссИсточник.Поле(КлючИсточник).КакСтрока, 0) тогда      
        СкопироватьЗапись(ссПриемник, ссИсточник, Маппинг);                 
      ссИсточник.Следующий;
    конец;
  обязательно
    УдалитьОбъект(тКлюч);
  конец;
конец;

функция НужноВыбиратьДанныеЭЦП(ссДанные: СтатическиеДанные): Целое;
начало
  результат := ссДанные.НайтиПоле("КодДокумента");
конец;

функция ПрисоединитьДанныеЭЦП(ссДанные: СтатическиеДанные): СтатическиеДанные;
переменные
  ЕстьСоединениеСКриптоБазой: Целое;
  КлассДокумента, Прогиндекс: Целое;
  Сч: Целое;      
  ссДанныеЭЦП, ссДанныеСЭЦП: СтатическиеДанные;
  СписокИдПоИндексам: IVariables;
начало
  попытка
    если НужноВыбиратьДанныеЭЦП(ссДанные) тогда
    начало   
      попытка
        ПодключитьсяККриптоБазе;
        ЕстьСоединениеСКриптоБазой := Да;
      неудача
        ЕстьСоединениеСКриптоБазой := Нет;
      конец;        
      если ЕстьСоединениеСКриптоБазой тогда
      начало        
        ссДанныеСЭЦП := СформироватьСтатикСетСДаннымиЭЦП(ссДанные);
        УдалитьОбъект(ссДанные);
        СписокИдПоИндексам := СформироватьСписокИдПоИндексам(ссДанныеСЭЦП);
        от Сч := 0 до СписокИдПоИндексам.Count-1  делать
        начало
          Прогиндекс := СтрокаВЦелое(СписокИдПоИндексам.Names(Сч));
          КлассДокумента := ПолучитьКлассДокументаПоПрогиндексу(Прогиндекс);
          ссДанныеЭЦП := ПолучитьДанныеАктивнойПодписи(СписокИдПоИндексам.Значение(Прогиндекс), КлассДокумента);
          если ссДанныеЭЦП.ЧислоЗаписей &gt; 0 тогда        
          начало
            если ссДанныеСЭЦП.НайтиПоле("ИндексыДанных") тогда
              ссДанныеСЭЦП.Фильтр := Формат("ИндексыДанных = %d", Прогиндекс);
            СгруппироватьДанные(ссДанныеСЭЦП, ссДанныеЭЦП, Формат("%s=FUID", "КодДокумента"),
              "$Default=0,DocumentData=DocumentData,SignData=SignData");
            ссДанныеСЭЦП.Фильтр := "";  
          конец;    
          УдалитьОбъект(ссДанныеЭЦП);
        конец;
        результат := ссДанныеСЭЦП;
      конец
      иначе
        результат := ссДанные;
    конец
    иначе
      результат := ссДанные;
  обязательно
    SignUtilsEx.Disconnect;
    УдалитьОбъект(СписокИдПоИндексам);
  конец;
конец;
</value>
    <param value="ДанныеЭЦП" type="3" name="Export">ABRAMOVA\brehov\15.11.2011 19:29:46</param>
    <param value="ДанныеЭЦП" type="3" name="version">36.054.00</param>
    <param value="ДанныеЭЦП" type="3" name="crc32">$09A2B9D3</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ДобавитьБанк">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить "\Макросы\ПараметрыИзБД.abl";

ДобавитьБанк(Параметры: IVariables);
начало
  Параметры.Значение("ИД") := ПолучитьИД;
  ОткрытьТранзакцию;
  Попытка
    выполнитьзапрос(формат("insert into Organizations (ID,name) values (%d,'%s')",
      Параметры.Значение("ИД"),
      Параметры.Значение("Наименование")));
    если параметры.параметрсуществует("КорСчет") тогда  
    начало
      выполнитьзапрос(формат("insert into banks (id,mfo,cor) values(%d,'%s','%s')",
       Параметры.Значение("ИД"),
       Параметры.Значение("Бик"),
       Параметры.Значение("КорСчет")));
    конец  
    иначе
    начало
      выполнитьзапрос(формат("insert into banks (id,mfo) values(%d,'%s')",
       Параметры.Значение("ИД"),
       Параметры.Значение("Бик")));
    конец;   
        
    ДанныеОрганизации.БыстроеОбновление;
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    Параметры.Значение("ИД") := 0;
    Параметры.значение("причинаотклонения") := "добавить банк:" + ПоследняяОшибка;
  конец;
конец.
</value>
    <param value="ДобавитьБанк" type="3" name="Export">ASBERN2\Администратор\15.04.2011 19:03:17</param>
    <param value="ДобавитьБанк" type="3" name="version">36.054.00</param>
    <param value="ДобавитьБанк" type="3" name="crc32">$5B0CC7CD</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ДобавитьОрганизацию">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить "\Макросы\ПараметрыИзБД.abl";

ДобавитьОрганизацию(Параметры: IVariables);
начало
  Параметры.Значение("ИД") := ПолучитьИД;
  попытка
    выполнитьзапрос(формат("insert into Organizations (ID,inn,inn20,name) values (%d,%s,'%s','%s')",
      Параметры.Значение("ИД"),
      ДробноеВСтроку(СтрокаВДробное(Параметры.Значение("ИНН"))),
      Строка(Параметры.Значение("КПП")),
      Строка(Параметры.Значение("Наименование"))));
    ДанныеОрганизации.БыстроеОбновление;
  неудача
    Параметры.Значение("ИД") := 0;
    Параметры.значение("причинаотклонения") := ПоследняяОшибка;
  конец;   
конец.
</value>
    <param value="ДобавитьОрганизацию" type="3" name="Export">EVOLKOVA\pautov\16.02.2011 16:46:45</param>
    <param value="ДобавитьОрганизацию" type="3" name="version">36.054.00</param>
    <param value="ДобавитьОрганизацию" type="3" name="crc32">$5FB744A8</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ДобавитьСчет">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить "\Макросы\ПараметрыИзБД.abl";
включить "\Макросы\ДобавлениеОрганизаций.abl";

ДобавитьСчет(Параметры: IVariables);
начало
  Параметры.Значение("ИД") := ПолучитьИД;
  попытка
    ВыполнитьЗапрос(Формат("insert into Org_Accounts (ID, Org_Ref, ACC, Bank_Ref) values (%d, %d, '%s', %d)",
      Параметры.Значение("ИД"),
      Параметры.Значение("СсылкаНаОрг"),
      Параметры.Значение("Счет"),
      Параметры.Значение("СсылкаНаБанк")));
    ДанныеОрганизации.БыстроеОбновление;
  неудача
    Параметры.Значение("ИД") := 0;
    Параметры.значение("причинаотклонения") := ПоследняяОшибка;
  конец;
конец.
</value>
    <param value="ДобавитьСчет" type="3" name="Export">EVOLKOVA\pautov\16.02.2011 16:46:42</param>
    <param value="ДобавитьСчет" type="3" name="version">36.054.00</param>
    <param value="ДобавитьСчет" type="3" name="crc32">$ECCE0092</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета\Настройки">
    <value type="3" name="ИмяДействияПерехода" />
    <param value="ИмяДействияПерехода" type="3" name="version">36.054.00</param>
    <param value="ИмяДействияПерехода" type="3" name="crc32">$00000000</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="Классификатор">
      <table>
        <FDL>
          <FD>
            <N>ИмяВСмете</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>30</S>
            <DL>ИмяВСмете</DL>
          </FD>
          <FD>
            <N>ИмяВБюджете</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>ИмяВБюджете</DL>
          </FD>
          <FD>
            <N>ИмяВУРМ</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>ИмяВУРМ</DL>
          </FD>
          <FD>
            <N>Тип</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>10</S>
            <DL>Тип</DL>
          </FD>
          <FD>
            <N>Размер</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Размер</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ИмяВСмете">КлючВБюджете</V>
            <V N="ИмяВБюджете">Id</V>
            <V N="ИмяВУРМ">Id</V>
          </R>
          <R>
            <V N="ИмяВСмете">Наименование</V>
            <V N="ИмяВБюджете">Name</V>
            <V N="ИмяВУРМ">Name</V>
          </R>
          <R>
            <V N="ИмяВСмете">КлючВБД</V>
            <V N="ИмяВБюджете">Id</V>
            <V N="ИмяВУРМ">Id</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Классификатор" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="Константа">
      <table>
        <FDL>
          <FD>
            <N>Имя</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Имя</DL>
          </FD>
          <FD>
            <N>ProgIndex</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ProgIndex</DL>
          </FD>
          <FD>
            <N>ConstIndex</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ConstIndex</DL>
          </FD>
          <FD>
            <N>Тип</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>20</S>
            <DL>Тип</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Имя">ВидУчетаБО</V>
            <V N="ProgIndex">30</V>
            <V N="ConstIndex">15</V>
            <V N="Тип">целое</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Константа" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010500</V>
            <V N="Name">БА Смета</V>
            <V N="Template">(02.01.05) Ассигнования для АС Смета.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Отчеты">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3100200</V>
            <V N="Name">Реестр платежных документов</V>
            <V N="Params">ТипКлассификацииРасх,Бюджет,КазнРС,Даты,НачальнаяДата,КонечнаяДата,Классификаторы,ЛицСчет,ВидПлатежа,ТипДеятельности</V>
            <V N="Template">(03.10.02) реестр платежных документов для АС Смета.xlc</V>
            <V N="Generation">Алгоритмы</V>
            <V N="Options">0</V>
            <V N="Note">Реестр платежных документов для Сметы</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Отчеты" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="ЛицевойСчет">
      <table>
        <FDL>
          <FD>
            <N>ИмяВСмете</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>30</S>
            <DL>ИмяВСмете</DL>
          </FD>
          <FD>
            <N>ИмяВБюджете</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>ИмяВБюджете</DL>
          </FD>
          <FD>
            <N>ИмяВУРМ</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>ИмяВУРМ</DL>
          </FD>
          <FD>
            <N>Тип</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>10</S>
            <DL>Тип</DL>
          </FD>
          <FD>
            <N>Размер</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Размер</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ИмяВСмете">КлючВБюджете</V>
            <V N="ИмяВБюджете">Id</V>
            <V N="ИмяВУРМ">Id</V>
          </R>
          <R>
            <V N="ИмяВСмете">Наименование</V>
            <V N="ИмяВБюджете">Name</V>
            <V N="ИмяВУРМ">Name</V>
          </R>
          <R>
            <V N="ИмяВСмете">Организация</V>
            <V N="ИмяВБюджете">Org_Ref</V>
            <V N="ИмяВУРМ">OrgFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">ЛСФК</V>
            <V N="ИмяВБюджете">Лицевой_Счет.СчетФК.Имя</V>
            <V N="ИмяВУРМ">Лицевой_Счет.СчетФК.Имя</V>
            <V N="Тип">строка</V>
            <V N="Размер">20</V>
          </R>
          <R>
            <V N="ИмяВСмете">ВидДеятельности</V>
            <V N="ИмяВБюджете">Лицевой_Счет.Тип_Средств.ВидДеятельности</V>
            <V N="ИмяВУРМ">Лицевой_Счет.Тип_Средств.ВидДеятельности</V>
            <V N="Тип">целое</V>
          </R>
          <R>
            <V N="ИмяВСмете">КВСР</V>
            <V N="ИмяВБюджете">KVSR</V>
            <V N="ИмяВУРМ">KVSR</V>
          </R>
          <R>
            <V N="ИмяВСмете">КЦСР</V>
            <V N="ИмяВБюджете">KCSR</V>
            <V N="ИмяВУРМ">KCSR</V>
          </R>
          <R>
            <V N="ИмяВСмете">КЭСР</V>
            <V N="ИмяВБюджете">KESR</V>
            <V N="ИмяВУРМ">KESR</V>
          </R>
          <R>
            <V N="ИмяВСмете">КФСР</V>
            <V N="ИмяВБюджете">KFSR</V>
            <V N="ИмяВУРМ">KFSR</V>
          </R>
          <R>
            <V N="ИмяВСмете">КВР</V>
            <V N="ИмяВБюджете">KVR</V>
            <V N="ИмяВУРМ">KVR</V>
          </R>
          <R>
            <V N="ИмяВСмете">ТипФинансирования</V>
            <V N="ИмяВБюджете">FINTYPE</V>
            <V N="ИмяВУРМ">FINTYPE</V>
          </R>
          <R>
            <V N="ИмяВСмете">ДатаОткрытия</V>
            <V N="ИмяВБюджете">DATEOPEN</V>
            <V N="ИмяВУРМ">DATEOPEN</V>
          </R>
          <R>
            <V N="ИмяВСмете">ДатаЗакрытия</V>
            <V N="ИмяВБюджете">DATECLOSE</V>
            <V N="ИмяВУРМ">DATECLOSE</V>
          </R>
          <R>
            <V N="ИмяВСмете">Служебный</V>
            <V N="ИмяВБюджете">SERVICEACCOUNT</V>
            <V N="ИмяВУРМ">SERVICEACCOUNT</V>
          </R>
          <R>
            <V N="ИмяВСмете">СтатусСчета</V>
            <V N="ИмяВБюджете">STATUSACCOUNT</V>
            <V N="ИмяВУРМ">STATUSACCOUNT</V>
          </R>
          <R>
            <V N="ИмяВСмете">Район</V>
            <V N="ИмяВБюджете">REGIONCLS</V>
            <V N="ИмяВУРМ">REGIONCLS</V>
          </R>
          <R>
            <V N="ИмяВСмете">КодЛСВУФК</V>
            <V N="ИмяВБюджете">FacialCode</V>
            <V N="ИмяВУРМ">FacialCode</V>
          </R>
          <R>
            <V N="ИмяВСмете">ТипСредств</V>
            <V N="ИмяВБюджете">MeansType</V>
            <V N="ИмяВУРМ">MeansType</V>
          </R>
          <R>
            <V N="ИмяВСмете">ХарактерЛС</V>
            <V N="ИмяВБюджете">HaracterAccount</V>
            <V N="ИмяВУРМ">HaracterAccount</V>
          </R>
          <R>
            <V N="ИмяВСмете">ВышестоящаяОрганизация</V>
            <V N="ИмяВБюджете">HigherOrg_Ref</V>
            <V N="ИмяВУРМ">HigherOrgFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">Бюджет</V>
            <V N="ИмяВБюджете">BudgetRef</V>
            <V N="ИмяВУРМ">BudgetRef</V>
          </R>
          <R>
            <V N="ИмяВСмете">ЛСВУФККлюч</V>
            <V N="ИмяВБюджете">FCACCOUNT</V>
            <V N="ИмяВУРМ">AccFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">КлючВБД</V>
            <V N="ИмяВБюджете">Id</V>
            <V N="ИмяВУРМ">Id</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="ЛицевойСчет" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="Организация">
      <table>
        <FDL>
          <FD>
            <N>ИмяВСмете</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>30</S>
            <DL>ИмяВСмете</DL>
          </FD>
          <FD>
            <N>ИмяВБюджете</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>ИмяВБюджете</DL>
          </FD>
          <FD>
            <N>ИмяВУРМ</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>ИмяВУРМ</DL>
          </FD>
          <FD>
            <N>Тип</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>10</S>
            <DL>Тип</DL>
          </FD>
          <FD>
            <N>Размер</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Размер</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ИмяВСмете">Адрес</V>
            <V N="ИмяВБюджете">Address</V>
            <V N="ИмяВУРМ">Address</V>
          </R>
          <R>
            <V N="ИмяВСмете">Город</V>
            <V N="ИмяВБюджете">ORG_CITY</V>
            <V N="ИмяВУРМ">City</V>
          </R>
          <R>
            <V N="ИмяВСмете">ДатаЗакрытия</V>
            <V N="ИмяВБюджете">CloseDate</V>
            <V N="ИмяВУРМ">DateClose</V>
          </R>
          <R>
            <V N="ИмяВСмете">ДополнениеОкато</V>
            <V N="ИмяВБюджете">AddOkato</V>
            <V N="ИмяВУРМ">AddOkato</V>
          </R>
          <R>
            <V N="ИмяВСмете">ИНН</V>
            <V N="ИмяВБюджете">Inn</V>
            <V N="ИмяВУРМ">Inn</V>
          </R>
          <R>
            <V N="ИмяВСмете">КлючВБюджете</V>
            <V N="ИмяВБюджете">ORG_REF</V>
            <V N="ИмяВУРМ">FUId</V>
          </R>
          <R>
            <V N="ИмяВСмете">КодВУФК</V>
            <V N="ИмяВБюджете">OrgCode</V>
            <V N="ИмяВУРМ">OrgCode</V>
          </R>
          <R>
            <V N="ИмяВСмете">КодКлиента</V>
            <V N="ИмяВУРМ">ClientId</V>
          </R>
          <R>
            <V N="ИмяВСмете">КодСтраны</V>
            <V N="ИмяВБюджете">CountryCode</V>
          </R>
          <R>
            <V N="ИмяВСмете">КПП</V>
            <V N="ИмяВБюджете">KPP</V>
            <V N="ИмяВУРМ">Inn20</V>
          </R>
          <R>
            <V N="ИмяВСмете">ЛицевойСчет</V>
            <V N="ИмяВБюджете">FACIALACC</V>
            <V N="ИмяВУРМ">FacialAcc</V>
          </R>
          <R>
            <V N="ИмяВСмете">Наименование</V>
            <V N="ИмяВБюджете">Org_ShortName</V>
            <V N="ИмяВУРМ">ShortName</V>
          </R>
          <R>
            <V N="ИмяВСмете">ОКАТО</V>
            <V N="ИмяВБюджете">Okato</V>
            <V N="ИмяВУРМ">Okato</V>
          </R>
          <R>
            <V N="ИмяВСмете">ПолноеНаименование</V>
            <V N="ИмяВБюджете">ORG_NAME</V>
            <V N="ИмяВУРМ">Name</V>
          </R>
          <R>
            <V N="ИмяВСмете">ППП</V>
            <V N="ИмяВБюджете">Kvsr</V>
            <V N="ИмяВУРМ">Kvsr</V>
          </R>
          <R>
            <V N="ИмяВСмете">Район</V>
            <V N="ИмяВБюджете">REGIONCLS</V>
          </R>
          <R>
            <V N="ИмяВСмете">Распорядитель</V>
            <V N="ИмяВБюджете">GeneralOrg_Ref</V>
            <V N="ИмяВУРМ">GenOrgFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">СтатусПоставщика</V>
            <V N="ИмяВУРМ">SupplierStatus</V>
          </R>
          <R>
            <V N="ИмяВСмете">Страна</V>
            <V N="ИмяВБюджете">Country</V>
            <V N="ИмяВУРМ">Country</V>
          </R>
          <R>
            <V N="ИмяВСмете">СубИНН</V>
            <V N="ИмяВБюджете">SUBINN</V>
            <V N="ИмяВУРМ">SUBINN</V>
          </R>
          <R>
            <V N="ИмяВСмете">Телефон</V>
            <V N="ИмяВБюджете">PHONE</V>
            <V N="ИмяВУРМ">Phone</V>
          </R>
          <R>
            <V N="ИмяВСмете">Тип</V>
            <V N="ИмяВБюджете">Org_Type</V>
            <V N="ИмяВУРМ">Org_Type</V>
          </R>
          <R>
            <V N="ИмяВСмете">ТОФК</V>
          </R>
          <R>
            <V N="ИмяВСмете">КлючВБД</V>
            <V N="ИмяВБюджете">ORG_REF</V>
            <V N="ИмяВУРМ">Id</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Организация" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="Отладка_ПостроениеОтчета">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Statics.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\LibRu.lib';

константы
  ПостроениеОтчета = "Бюджет\Объекты\Обработка\Скрипты\Внешние\Смета\ПостроениеОтчета";

функция ПолучитьПараметры: IVariables;
переменные
  тПараметры: Текст;
начало
  тПараметры := СоздатьТекст(
  
"НачальнаяДата=20120901
КонечнаяДата=20120930
ДатаНачалаПериода=20120901
ДатаКонцаПериода=20120930
ОгрПоДатеДокумента=3
ОгрПоДатеДоговора=1
ТипДатыУнивер=4
НачДатаПринятияДокумента=20120901
КонДатаПринятияДокумента=20120930
ТипКлассификации=0
ЛицСчет=750010322
ВыбиратьАссигнования=0,1,2
ВидДеятельности=1,2,3,4,5,6,7,8,9
СервисныеСчета=1
ЛСПоПравамНаЧтение=0
КВСР=750
ИндексыДанныхУРМ=41,42,43,44,45,61,146,65
Шаблон=(03.10.02) реестр платежных документов для АС Смета.xlc"

);

результат := СоздатьКоллекцию;
результат.AddItems(тПараметры.РазделенноеЗначение);
конец;

переменные
  Параметры: IVariables;

Начало
  Параметры := ПолучитьПараметры;
  ExecScript(ПостроениеОтчета, Параметры);
//  Показать(Параметры.Значение("Данные"));
конец;
</value>
    <param value="Отладка_ПостроениеОтчета" type="3" name="Export">EVOLKOVA\pautov\26.09.2012 13:15:14</param>
    <param value="Отладка_ПостроениеОтчета" type="3" name="version">36.054.00</param>
    <param value="Отладка_ПостроениеОтчета" type="3" name="crc32">$A259E3E3</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ПолучитьДанные">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить "\библиотеки\documents.lib";
включить "\Макросы\ФункцииДляОбменаСоСметой";


//возвращает определенную сущность из нашей базы данных в именах полей Сметы
//в параметрах может быть фильтр, код(ид в базе), тип сущности которую нужно вернуть
ПолучитьДанные(Параметры: IVariables): IVariables;

//по строковому наименованию возвращает идентификатор (TFieldTypes из adapters_tlb)
функция ПолучитьТипПоля(Тип: строка): целое;
переменные
  ТипыПолей: СтатическиеДанные;
начало
  ТипыПолей := СоздатьДанныеИзРеестра(ПутьКНастройкамОбмена, "ТипыПолей");
  если не ТипыПолей.Локализовать("Имя", Тип, 1) тогда
    ВозбудитьОшибку(Формат("Не удалось найти тип поля %s в реестре.", Тип));
  результат := ТипыПолей.Поле("Ид").КакЦелое;  
конец;

//определяем что это разыменовка
функция ЭтоРазыменовка(ИмяПоля: строка): целое;
начало
  результат := Позиция(".", ИмяПоля) &gt; 0
конец;

функция ПреобразоватьФильтрСметыВФильтрБюджет(Настройки: СтатическиеДанные; Фильтр: строка): строка;
начало
  результат := Фильтр;
  Настройки.ВНачало;
  пока не Настройки.ВКонце делать
  начало
    //СЧИТАЕМ, что ни одно имя поля не содержит в себе другое имя поле (ЛС, ЛСФК - недопустимо!!!)
    результат := ЗаменитьСтроку(результат, 
                                Настройки.Поле("ИмяВСмете").КакСтрока, 
                                Настройки.Поле(ИмяПоляВБюджете).КакСтрока, ИгнорироватьРегистр);  
    Настройки.Следующая;
  конец;
конец;

функция ПерекачатьДанныеНеРазыменовок(Настройки, ДанныеБюджета: СтатическиеДанные; ИмяСправочника: строка): СтатическиеДанные;
переменные
  Маппинг: Текст;
  ВБюджете, ВСмете, ДляПоиска: Поле;  
начало
  результат := СоздатьСтатическиеДанные;
  ВБюджете := Настройки.Поле(ИмяПоляВБюджете);
  ВСмете := Настройки.Поле("ИмяВСмете");
  
  Маппинг := СоздатьТекст;
  попытка  
    Настройки.ВНачало;
    //меняем имена всех полей на сметовские, добавляем недостающие поля-разыменовки если такие есть
    пока не Настройки.ВКонце делать
    начало
      если ВБюджете.КакСтрока &lt;&gt; "" тогда
        если ЭтоРазыменовка(ВБюджете.КакСтрока) тогда
          результат.CreateDataField(ВСмете.КакСтрока, ПолучитьТипПоля(Настройки.Поле("Тип").КакСтрока), 
            Настройки.Поле("Размер").КакЦелое, 0)        
        иначе //поле из справочника   
        начало          
          если не ДанныеБюджета.НайтиПоле(ВБюджете.КакСтрока, ДляПоиска) тогда
            ВозбудитьОшибку(Формат("Не найдено поле %s в наборе данных из базы %s", ВБюджете.КакСтрока, ИмяСправочника));
          результат.CreateDataField(ВСмете.КакСтрока, ДляПоиска.DataType, ДляПоиска.Size, ДляПоиска.Required); 
          Маппинг.ЗначениеПараметра(ВСмете.КакСтрока) := ВБюджете.КакСтрока; 
        конец;  
      Настройки.Следующая;
    конец;
    результат.Открыть;
    результат.PumpData(ДанныеБюджета, Маппинг.РазделенноеЗначение);
  обязательно
    УдалитьОбъект(Маппинг);
  конец; 
конец;

функция ПерекачатьДанныеРазыменовок(Настройки, ДанныеДляСметы: СтатическиеДанные);
переменные
  ВБюджете, ВСмете, Ключ: Поле;
  ВспомНастройки: СтатическиеДанные;
начало
  ВспомНастройки := СоздатьСтатическиеДанные;
  ВспомНастройки.AssignFields(Настройки);
  ВспомНастройки.Открыть;
  ВспомНастройки.PumpData(Настройки, "");
  ВспомНастройки.ВНачало;
  ВБюджете := ВспомНастройки.Поле(ИмяПоляВБюджете);  
  //оставляем только разыменовки
  пока не ВспомНастройки.ВКонце делать
    если ЭтоРазыменовка(ВБюджете.КакСтрока) тогда
      ВспомНастройки.Следующая
    иначе
      ВспомНастройки.Удалить;  

  ВСмете := ВспомНастройки.Поле("ИмяВСмете");
  Ключ := ДанныеДляСметы.Поле("КлючВБД");  //СЧИТАЕМ, что поле есть у каждого набора; это наше ИД в базе
  
  //todo: если выбралось много данных (например, в бд много организаций или счетов), то код ниже будет тормозить.
  ДанныеДляСметы.ВНачало;
  пока не ДанныеДляСметы.ВКонце делать
  начало
    ВспомНастройки.ВНачало;
    пока не ВспомНастройки.ВКонце делать
    начало
      ДанныеДляСметы.Поле(ВСмете.КакСтрока).КакСтрока := Разыменовать(ВБюджете.КакСтрока, Ключ.КакСтрока);
      //очищаем поле если разыменовка не удалась
      если ДанныеДляСметы.Поле(ВСмете.КакСтрока).КакСтрока = Ключ.КакСтрока тогда
        ДанныеДляСметы.Поле(ВСмете.КакСтрока).Очистить;
      ВспомНастройки.Следующая;
    конец;  
    ДанныеДляСметы.Следующая;
  конец;    
конец;


//функция дополняет данные из бюджета полями нужными смете и переименовывает поля из бюджета в поля для сметы
функция ПреобразоватьДанныеБюджетаВДанныеСметы(Настройки, ДанныеБюджета: СтатическиеДанные; 
  ИмяСправочника: строка): СтатическиеДанные;
начало
  результат := ПерекачатьДанныеНеРазыменовок(Настройки, ДанныеБюджета, ИмяСправочника);
  
  ПерекачатьДанныеРазыменовок(Настройки, результат);
конец;

переменные
  Сущность: целое;
  ДанныеБюджета, НастройкиСущности, ДанныеСущности: СтатическиеДанные;
  Фильтр: строка;
начало
  //todo:
  //1. Использовать относительные пути
  Сущность := Параметры.Значение("Сущность");
  НастройкиСущности := СоздатьДанныеИзРеестра(ПутьКНастройкамОбмена, "Сущность");
  если не НастройкиСущности.Локализовать("Ид", Сущность, 0) тогда
    ВозбудитьОшибку("В реестре не найдена сущность. Ид="+ЦелоеВСтроку(Сущность));  
  
  ДанныеСущности := СоздатьДанныеИзРеестра(ПутьКНастройкамОбмена, НастройкиСущности.Поле("ИмяВСмете").КакСтрока);  

  Фильтр := ПреобразоватьФильтрСметыВФильтрБюджет(ДанныеСущности, Параметры.Значение("Фильтр"));
  ДанныеБюджета := ПолучитьСущностьПоФильтру(НастройкиСущности, Фильтр);
  если ДанныеБюджета &lt;&gt; nil тогда
    Параметры.Значение("Данные") := ПреобразоватьДанныеБюджетаВДанныеСметы(ДанныеСущности, ДанныеБюджета, 
      НастройкиСущности.Поле(ИмяПоляВБюджете).КакСтрока);
  СтатическиеДанные(Параметры.Значение("Данные")).PersistOptions := 4; // poOldFormat - смета поддерживает только старый формат паковки                                  
  //для УРМ нужно возвращать результат
  ПолучитьДанные := Параметры;
конец.
</value>
    <param value="ПолучитьДанные" type="3" name="Export">EVOLKOVA\pautov\24.01.2013 12:04:24</param>
    <param value="ПолучитьДанные" type="3" name="version">36.054.00</param>
    <param value="ПолучитьДанные" type="3" name="crc32">$EE583914</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ПолучитьДокументСметы">включить '\Библиотеки\AblTools.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\DocRefer.lib';
включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Hypertext.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаГенерации';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить 'Бюджет\Объекты\Отчеты\Скрипты\События\ФормированиеГиперДокумент';
включить '\Библиотеки\Generation.lib';

включить 'Бюджет\Объекты\Контроль\Скрипты\Контроль\БК_КазнПП';
включить '\Макросы\Контроль\ПоддержкаКонтроля.abl';
включить "\Макросы\Вспомогательные.abl";


ЗагрузитьПлатежки(Параметры: IVariables);
переменные
  Буфер: Буфер;
  Данные: СтатическиеДанные;
  строкаОшибки: строка;
  УзелНастроек: УзелРеестра;

константы
  м_КодБА = 9999999;
  ПрогИндексКазнПП = 63;
  ТипДокументаКазнПП = 302;
  //сСозданСметой = 030202;
  //идПодписатьДокументыСметы = "подписатьДокументСметы";
  Путь_НастройкиСинхронизации = "Бюджет\Объекты\Обработка\Скрипты\Внешние\Смета\Настройки";
  СобытиеПослеЗаполненияПолей = "ПолучитьДокументСметы_СобытиеПослеЗаполненияПолей.abl";
   
  Шаблон = "(03.02.02) Платежное поручение для АС Смета.tmf";


функция ЭтоНулеваяКлассификация(Клс: строка): целое;
переменные
  сч: целое;
начало
  результат := да;
  от сч := 1 до Длина(Клс) делать    
    если Клс[сч] &lt;&gt; '0' и Клс[сч] &lt;&gt; '.' тогда
      результат := нет
конец;
  
функция ВыполнитьДействиеНадДокументом(идДокументов, ИмяДействия : Строка);
переменные
  локКоллекция: IVariables;
начало
  если идДокументов &lt;&gt; "" тогда 
  начало
    ЛокКоллекция := CreateVariables;
    ЛокКоллекция.Значение("СкрыватьФормуЭЦП") := 1;
    ЛокКоллекция.Values(stVarIsAdmin) := "1";
    ЛокКоллекция.Values(stVarIntfCode) := 302;  
    ЛокКоллекция.Values(stVarActionName) := ИмяДействия;
    ЛокКоллекция.Values(stVarUserName) := ТекущийПользователь;           
    ЛокКоллекция.Values(stVarDocsCode) := идДокументов;
    //обработка платежных поручений с выборкой из базы
    MakeAction(ЛокКоллекция); // в коллекции только ограничение, данных нет
    если целое(ЛокКоллекция.Values(stDocNotChangeState)) &lt;&gt; целое(ЛокКоллекция.Values(stDocChangeState)) тогда
      ВызватьОшибку(Формат("Не удалось выполнить действие '%s'", ЛокКоллекция.Values(stVarActionName)));
  конец;    
конец;


функция ПолучитьСписокПолей(Данные: СтатическиеДанные): строка;
переменные
  сч: целое;
начало
  результат := "";
  от сч := 0 до Данные.FieldsCount - 1 делать
  начало
    результат := результат + Данные.GetField(сч).FieldName + ",";
  конец;
  результат := Подстрока(результат, 1, Длина(результат) - 1);
конец;


функция ПеревернутьМаппинг(СтрМаппинг: строка): строка;
переменные
  Маппинг: Текст;
  сч: целое;
начало
  результат := "";
  Маппинг := СоздатьТекст();
  Маппинг.РазделенноеЗначение(",") := СтрМаппинг;
  от сч := 0 до Маппинг.Количество - 1 делать
  начало
    результат := результат + Маппинг.ЗначениеПараметра(Маппинг.ИмяПараметра(сч)) + "=" + Маппинг.ИмяПараметра(сч) + ",";
  конец;
  результат := Подстрока(результат, 1, Длина(результат) - 1);
конец;


функция МаппингДляЗаголовкаКонтроля(Данные: СтатическиеДанные): строка;
начало
  результат := ПеревернутьМаппинг(ВернутьМаппингПоОписаниюПолейИПеречню(ПолучитьСписокПолей(Данные),ТипДокументаКазнПП,0,ДокПоле_ИмяНаИнтф));
конец;


функция СозданиеЗаголовкаДляКонтроля(Данные: СтатическиеДанные) : СтатическиеДанные;
переменные
  ссВспом: СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;  
  ссВспом := СоздатьСтатическиеДанные;
  ссВспом.СоединитьБД;
  ссВспом.Запрос := "[PumpData]{"+ПолучитьКартуПолей.Values(кЗапросЗаголовка)+"}";
  ссВспом.Параметр("MasterID") := -1;
  ссВспом.Открыть;
  результат.AssignFields(ссВспом);
  результат.Закрыть;
  результат.ДобавитьЦелоеПоле(ControlResult);
  результат.ДобавитьСтроковоеПоле(ControlMessage, 1024).Size  := 1024;
  результат.Открыть;
  результат.PumpData(Данные,МаппингДляЗаголовкаКонтроля(Данные));
//  результат.Поле("SourceType").КакЦелое := 1;
//  результат.Поле("TypeOperationCls").КакЦелое := 1;
конец;


функция МаппингДляДеталиКонтроля(Данные: СтатическиеДанные): строка;
начало
  результат := ПеревернутьМаппинг(ВернутьМаппингПоОписаниюПолейИПеречню(ПолучитьСписокПолей(Данные),ТипДокументаКазнПП,1,ДокПоле_ИмяНаИнтф));  
конец;


функция СозданиеДеталиДляКонтроля(Данные: СтатическиеДанные) : СтатическиеДанные;
переменные
  ссВспом: СтатическиеДанные;  
начало
  результат := СоздатьСтатическиеДанные;
  ссВспом := СоздатьСтатическиеДанные;
  ссВспом.СоединитьБД;
  ссВспом.Запрос := "[PumpData]{"+ПолучитьКартуПолей.Values(кЗапрос)+"}";
  ссВспом.Параметр("MasterID") := -1;
  ссВспом.Открыть;
  результат.AssignFields(ссВспом);
  результат.Закрыть;
  результат.ДобавитьЦелоеПоле(ControlResult);
  результат.ДобавитьСтроковоеПоле(ControlMessage, 1024).Size  := 1024;
  результат.Открыть;
  результат.PumpData(Данные,МаппингДляДеталиКонтроля(Данные));
/*  если результат.Поле("SourceIFS").Пустое тогда
  начало
    результат.Поле("SourceIFS").КакЦелое := 0;
    результат.Поле("SourceIFS_FullId").КакСтрока := "00000000000000000000";
  конец;*/
  результат.ВНачало;
  пока не результат.ВКонце делать
  начало
    если результат.Поле("SourceDirectionCls").Пустое тогда
      результат.Поле("SourceDirectionCls").какцелое := 0;
//    результат.Поле("OperationTypeCls").КакЦелое := 1;
//    результат.Поле("DestType").КакЦелое := 1;
    результат.Следующая;
  конец;
  
конец;

функция КонтрольДанныхСметы(ссЗаголовок,Данные: СтатическиеДанные);
переменные
  НаборыДанных,ПарамКонтроля: IVariables;
  ВКонтроль,ВКонтрольЗаголовок: СтатическиеДанные;
  ткстСписокКонтролей: текст;
  сч: целое;
начало
  ПарамКонтроля := CreateVariables();
  НаборыДанных := CreateVariables();
  ВКонтрольЗаголовок := СозданиеЗаголовкаДляКонтроля(ссЗаголовок);
  ВКонтроль := СозданиеДеталиДляКонтроля(Данные);
  НаборыДанных.Values("0") := ВКонтрольЗаголовок;
  НаборыДанных.Values("1") := ВКонтроль;
  ПарамКонтроля.Values(кВидНабораДанных) := ctCaption;  
  ПарамКонтроля.Values(OptNeedDropElimination) := нет;
  ПарамКонтроля.Values(OptNeedShowControl) := нет;     
  //ПарамКонтроля.Values(OptNeedShowControl) := да;
  ПарамКонтроля.Values(stVarControlData) := НаборыДанных;
  ткстСписокКонтролей := СоздатьТекст;
  строкаОшибки := "";
  
///  ткстСписокКонтролей.РазделенноеЗначение := "03020307";
//  ткстСписокКонтролей.РазделенноеЗначение := "03020307,03020302,03020302,03020602,03023000,03020801,03022500,03022800,03020403,03020701,03021900,03029800,03020304";
  ткстСписокКонтролей.РазделенноеЗначение := УзелНастроек.Значение("СписокКонтролей").КакСтрока;
  
  от сч := 0 до ткстСписокКонтролей.Количество - 1 делать
  начало
    ExecuteControl(СтрокаВЦелое(ткстСписокКонтролей.Стр(сч)), ctxView, ПарамКонтроля);
    если ВКонтрольЗаголовок.Поле("ControlResult").КакЦелое = 4 тогда    
    начало
      строкаОшибки := строкаОшибки + ВКонтрольЗаголовок.Поле("ControlMessage").КакСтрока + " Код контроля:" + ткстСписокКонтролей.Стр(сч) + ";"+#13;        
      ВызватьОшибку("Документы не прошли контроль:" + ВКонтрольЗаголовок.Поле("ControlMessage").КакСтрока);
    конец
    иначе 
      строкаОшибки := строкаОшибки + " Успешно пройден контроль с кодом " + ткстСписокКонтролей.Стр(сч) + ";"+#13;  
  конец;
конец;


// Соответствие полей Бюджет=Смета
/*функция МаппингЗакачки: Строка;
начало
  результат := "ДатаДокумента=Дата,
НомерДокумента=Номер,
СчетПлат=РСПлательщика,
СчетПолуч=РСПолучателя,
ДатаПринятия=Проведено,
СрокПлатежа=СрокПлатежа,
ВидПлатежа=ВидПлатежа,
Очередность=ОчередностьПлатежа,
Примечание=Назначение,
НДС=НДС,
ДоговораБО=Договор,
ИнформацияОНалоге=ИнформацияИМНС,
ЛицСчетПлательщика=ЛСПлательщика,
ЛицСчетПолучателя=ЛСПолучателя,
ТипКлассификации=ТипКлассификации,
КЭСР=КЭСР,
Сумма=Сумма,
ПримечаниеДеталь=Комментарий,
БюджОбяз=БюджОбяз,
Мероприятие=Мероприятие,
СубКЭСР=СубКЭСР,
ТипФинансирования=ТипФинансирования,
Регион=Район,
ТипСредств=ТипСредств,
Направление=Направлениерасхода";
конец;*/

// Соответствие полей Смета=Бюджет,Source=Dest
функция МаппингЗакачки: Строка;
начало
  результат := "Дата=ДатаДокумента,
Номер=НомерДокумента,
//РСПлательщика=СчетПлат,
РСПлательщика=РСФО,
РСПолучателя=СчетПолуч,
Проведено=ДатаПринятия,
СрокПлатежа=СрокПлатежа,
ВидПлатежа=ВидПлатежа,
ОчередностьПлатежа=Очередность,
Назначение=Примечание,
НДС=НДС,
Договор=ДоговораБО,
ИнформацияИМНС=ИнформацияОНалоге,
ЛСПлательщика=ЛицевойСчет,
ЛСПолучателя=ЛицСчетПолучателя,
ТипКлассификации=ТипКлассификации,
КЭСР=КЭСР,
Сумма=СуммаЗаписи,
Комментарий=ПримечаниеДеталь,
БюджОбяз=БюджОбяз,
Мероприятие=Мероприятие,
СубКЭСР=СубКЭСР,
ТипФинансирования=ТипФинансирования,
Район=Регион,
ТипСредств=ТипСредств,
Направлениерасхода=Направление";
конец;

функция ПроверитьДанныеСметы(ДанныеСмета: СтатическиеДанные);
переменные
  Счет: Целое;
начало
  Счет := ДанныеСмета.Поле("РСПлательщика").КакЦелое;
  если не ДанныеОрганизации.ПерейтиКЗаписи(до_СчетаФО, "DFACC_REF", Счет) тогда
    ВызватьОшибку("Счет с ключом '"+ЦелоеВстроку(Счет)+"' не найден в счетах бюджета");
конец;

функция ВыполнитьГенерациюПоКодуРасш(Коллекция : IVariables; ДанныеСмета: СтатическиеДанные);
переменные
  Визуализатор: IUniViewer;
  ссЗаголовок,Данные: СтатическиеДанные;
  ТекущийМастер: целое;
  БК: Строка;
  ИДЗаголовков: Строка;
  ИДЗаголовка: Целое;
  лицевойСчет: целое;
  СуммаЗаголовка: Дробное;
  КодБА: Строка;
  Параметры: IVariables;
начало
  УзелНастроек := Реестр.Узел(Путь_НастройкиСинхронизации);
  если не Коллекция.ПараметрСуществует("Options") тогда
    //По умолчанию данные показываем
    Коллекция.Значение("Options") := go_ShowData;
  ModalWafer.Clear;
  Визуализатор := ModalWafer.CheckSSViewer;  
  Визуализатор.SetProject(Pather);  
  Визуализатор.Template := TemplatePathEx(tpxGeneration) + Шаблон;
  ИДЗаголовков := "";
  Данные := СоздатьСтатическиеДанные;
  ссЗаголовок := СоздатьСтатическиеДанные;
  Визуализатор.TemplateIndex := 0;
  AddFields(Визуализатор.GetTable, ссЗаголовок);
  ссЗаголовок.Открыть;
  Визуализатор.TemplateIndex := 1; 
  AddFields(Визуализатор.GetTable, Данные);
  Данные.Открыть;
  
  ОткрытьТранзакцию;
  попытка          
    ДанныеСмета.ВНачало;
    пока не ДанныеСмета.ВКонце делать
    начало
      ПроверитьДанныеСметы(ДанныеСмета);
      ТекущийМастер := ДанныеСмета.Поле("Мастер").КакЦелое;
      СуммаЗаголовка := 0;
      ссЗаголовок.СкопироватьЗапись(нет,ДанныеСмета,"СрокПлатежа,Проведено",МаппингЗакачки);
      ссЗаголовок.Редактировать;
      если ДанныеСмета.Поле("СрокПлатежа").КакСтрока &lt;&gt; "" тогда
        ссЗаголовок.Поле("СрокПлатежа").КакЦелое := ДанныеСмета.Поле("СрокПлатежа").КакЦелое;
      если ДанныеСмета.Поле("Проведено").КакСтрока &lt;&gt; "" тогда
        ссЗаголовок.Поле("ДатаПринятия").КакЦелое := ДанныеСмета.Поле("Проведено").КакЦелое;        
      БК := ДанныеСмета.Поле("Раздел").КакСтрока + ДанныеСмета.Поле("КЭСР").КакСтрока; 
      ссЗаголовок.Поле("ТипКлассификации").КакЦелое := Разыменовать("БК.ВидКлассификации", БК);
      ИДЗаголовка := ГенерироватьДиап("g_shared", 1);
      если ИДЗаголовков &lt;&gt; "" тогда
        ИДЗаголовков := ИДЗаголовков + ",";
      ИДЗаголовков := ИДЗаголовков + ЦелоеВСтроку(ИДЗаголовка);
      если ЭтоНулеваяКлассификация(ДанныеСмета.Поле("КЭСР").КакСтрока) тогда
        ссЗаголовок.Поле("НаправлениеОперации").КакЦелое := 3; // Возврат расхода
      ссЗаголовок.Поле("КодДокумента").КакЦелое := ИДЗаголовка;
      ссЗаголовок.Поле("НДС").КакСтрока := ДанныеСмета.Поле("НДС").КакСтрока;
      ссЗаголовок.Поле("КодСметы").КакЦелое := ДанныеСмета.Поле("Мастер").КакЦелое;
      ссЗаголовок.Поле("ДатаДокумента").КакЦелое := ДанныеСмета.Поле("Дата").КакЦелое;
      ссЗаголовок.Поле("ТипОперации").КакЦелое := 1;
     // Данные.Поле("ДатаПринятия").КакДробное := СтрокаВДробное(ДанныеСмета.Поле("Проведено").КакСтрока);
      
      лицевойСчет := ссЗаголовок.Поле("ЛицевойСчет").КакЦелое;
      ссЗаголовок.Поле("ИндексыДанныхЗаголовок").КакЦелое := ПрогИндексКазнПП;
      если УзелНастроек.Значение("СостояниеДокументаОтСметы").КакСтрока &lt;&gt; "" тогда  
        ссЗаголовок.Поле("СостояниеДокумента").КакЦелое := УзелНастроек.Значение("СостояниеДокументаОтСметы").КакЦелое;  
      ссЗаголовок.Сохранить;
      ссЗаголовок.UpdateStatus := usInserted;
          
      пока (ТекущийМастер = ДанныеСмета.Поле("Мастер").КакЦелое) и не ДанныеСмета.ВКонце делать
      начало
        Данные.СкопироватьЗапись(нет,ДанныеСмета,"СрокПлатежа,Проведено",МаппингЗакачки);
        Данные.Редактировать;
        БК := ДанныеСмета.Поле("Раздел").КакСтрока + ДанныеСмета.Поле("КЭСР").КакСтрока; 
        Данные.Поле("ТипКлассификации").КакЦелое := Разыменовать("БК.ВидКлассификации", БК);        
//        Данные.Поле("ЛицевойСчет").КакЦелое := лицевойСчет;
        Данные.Поле("КодДокумента").КакЦелое := ИДЗаголовка;
        Данные.Поле("КодЗаписи").КакЦелое := ГенерироватьДиап("g_shared", 1);
        Данные.Поле("КодСметыЗаписи").КакЦелое := ДанныеСмета.Поле("Деталь").КакЦелое;
        Данные.Поле("ТипДокумента").КакЦелое := 1010; //контроль ругается если не заполнено
        Данные.Поле("КВСРКлюч").Очистить;
        Данные.Поле("КФСР").Очистить;
        Данные.Поле("КЦСРКлюч").Очистить;
        Данные.Поле("КВРКлюч").Очистить;
        Данные.Поле("КЭСР").Очистить;
        выбрать Данные.Поле("ТипКлассификации").КакЦелое из
          0 : 
          начало
            Данные.Поле("КВСРКлюч").КакЦелое := Разыменовать("КВСР.Ключ", СтрокаВЦелое(Подстрока(БК, 1, 3)));//СтрокаВЦелое(Подстрока(БК, 1, 3));
            Данные.Поле("КФСР").КакЦелое := СтрокаВЦелое(Подстрока(БК, 4, 4));
            Данные.Поле("КЦСРКлюч").КакЦелое := Разыменовать("КЦСР.Ключ", СтрокаВЦелое(Подстрока(БК, 8, 7)));//СтрокаВЦелое(Подстрока(БК, 8, 7));
            Данные.Поле("КВРКлюч").КакЦелое := Разыменовать("КВР.Ключ", СтрокаВЦелое(Подстрока(БК, 15, 3)));//СтрокаВЦелое(Подстрока(БК, 15, 3));
            Данные.Поле("КЭСР").КакЦелое := СтрокаВЦелое(Подстрока(БК, 18, 3));
          конец;
          1 :
            Данные.Поле("ИсточникВнутрФинансированияКлюч").КакЦелое := Разыменовать("ИсточникВнешн_Финансирования.Ключ", БК);
          2 :
            Данные.Поле("КДКлюч").КакЦелое := Разыменовать("КД.Ключ", БК);
        конец;
        Данные.Поле("БухОперация").КакЦелое := 1601; //ОпределитьБухОперацию(302, СтрокаВЦелое(Подстрока(БК, 18, 3)));
        Данные.Поле("ИндексыДанных").КакЦелое := ПрогИндексКазнПП;
        если ДанныеСмета.НайтиПоле("КодБА") тогда
        начало
          КодБА := ФорматироватьКлассификатор(ДанныеСмета.Поле("КодБА").КакСтрока, м_КодБА);
          если Разыменовать("КодБюджетногоАссигнования.Существует", КодБА) тогда                  
            Данные.Поле("КодБюджАссигнованияКлюч").КакЦелое := Разыменовать("КодБюджетногоАссигнования.Ключ", КодБА);
        конец;
        Данные.Сохранить;
        СуммаЗаголовка := СуммаЗаголовка + Данные.Поле("СуммаЗаписи").КакДробное;
        Данные.UpdateStatus := usInserted;
        ДанныеСмета.Следующая;
      конец;
      ссЗаголовок.Редактировать;
      ссЗаголовок.Поле("СуммаЗаголовка").КакДробное := СуммаЗаголовка;
      ссЗаголовок.Сохранить;
    конец;
    если УзелНастроек.Значение(СобытиеПослеЗаполненияПолей).Существует тогда
    начало
      Параметры := СоздатьКоллекцию;
      Параметры.Значение("ссЗаголовок") := ссЗаголовок;
      Параметры.Значение("ссДеталь") := Данные;
      Параметры.Значение("ссДанныеСмета") := ДанныеСмета;
      ExecScript(Путь_НастройкиСинхронизации+"\"+СобытиеПослеЗаполненияПолей, Параметры);
    конец;  
    КонтрольДанныхСметы(ссЗаголовок,Данные);
    
    Визуализатор.TemplateIndex := 0;
    СохранитьИзмененияДанных(ссЗаголовок, Визуализатор.GetTable);
    Визуализатор.TemplateIndex := 1;
    СохранитьИзмененияДанных(Данные, Визуализатор.GetTable);      

    если Коллекция.Значение("СоздаватьДокумент") &lt;&gt; "0" тогда
    начало
      ЗакрытьТранзакцию;
      // выполняем перевод документов в другое состояние с подписанием      
      если УзелНастроек.Значение("ИмяДействияПерехода").КакСтрока &lt;&gt; '' тогда
          ВыполнитьДействиеНадДокументом(идЗаголовков, УзелНастроек.Значение("ИмяДействияПерехода").КакСтрока);  
    конец
    иначе
      ОтменитьТранзакцию;
  неудача
    идЗаголовков := -1;
    ОтменитьТранзакцию;
    //если строкаОшибки = "" тогда строкаОшибки := ПоследняяОшибка;
    строкаОшибки := ПоследняяОшибка;
    ///Сообщение(строкаОшибки);
    коллекция.значение("причинаотклонения") := строкаОшибки;
  конец;  
  // После создания платежки вернуть ее ключ в параметре
  Коллекция.Значение("Ключ") := ИДЗаголовков;
  Коллекция.Значение("Заголовок") := ссЗаголовок;
  Коллекция.Значение("Детализация") := Данные;
  СтатическиеДанные(Параметры.Значение("Заголовок")).PersistOptions := 4; // poOldFormat - смета поддерживает только старый формат паковки
  СтатическиеДанные(Параметры.Значение("Детализация")).PersistOptions := 4; // poOldFormat - смета поддерживает только старый формат паковки
  Progress.EndProgress;
конец;


начало
  Буфер := СоздатьБуфер(Параметры.Значение("Данные"));
  попытка
    // В буфере запакованный статиксет с данными по платежному поручению
    Данные := СоздатьСтатическиеДанные;
    Буфер.Позиция := 0;
    ЗагрузитьОбъект(Данные, Буфер);   
  обязательно
    УдалитьОбъект(Буфер);
  конец;
  ВыполнитьГенерациюПоКодуРасш(Параметры, Данные);
конец;
</value>
    <param value="ПолучитьДокументСметы" type="3" name="Export">EVOLKOVA\pautov\24.01.2013 12:07:53</param>
    <param value="ПолучитьДокументСметы" type="3" name="version">36.054.00</param>
    <param value="ПолучитьДокументСметы" type="3" name="crc32">$8DD4F492</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ПолучитьКодЦели">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';

ПолучитьКодЦели(Параметры: IVariables);
переменные
  ЗначениеСправочника: Целое;
  СД: СтатическиеДанные;
начало
  ЗначениеСправочника := Параметры.Значение('Код');
  СД := СоздатьСтатическиеДанные;
  для СД делать
  начало
    .ДобавитьЦелоеПоле("КодЦели");
    .Открыть;
    .Добавить;
    .Поле('КодЦели').КакСтрока := Разыменовать('ВидыЦелевыхСредствКлюч.КодЦели.Код', ЗначениеСправочника);
    .Вставить;
  конец;
  Параметры.Значение("Данные") := СД;
  СтатическиеДанные(Параметры.Значение("Данные")).PersistOptions := 4; // poOldFormat - смета поддерживает только старый формат паковки
конец.                               //
</value>
    <param value="ПолучитьКодЦели" type="3" name="Export">EVOLKOVA\pautov\24.01.2013 12:08:08</param>
    <param value="ПолучитьКодЦели" type="3" name="version">36.054.00</param>
    <param value="ПолучитьКодЦели" type="3" name="crc32">$255A6869</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ПолучитьКонстанты">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить "\библиотеки\documents.lib";
включить "\Макросы\ФункцииДляОбменаСоСметой";
включить "\Макросы\Отчеты\ПоддержкаОтчетов.abl";


//возвращает все константы либо константы по имени
ПолучитьКонстанты(Параметры: IVariables): IVariables;

//по строковому наименованию возвращает идентификатор типа константы (на основе использования функции ПолучитьКонстантуИзБазы)
функция ТипКонстанты(Тип: строка): целое;
переменные
  ТипыКонстант: СтатическиеДанные;
начало
  ТипыКонстант := СоздатьДанныеИзРеестра(ПутьКНастройкамОбмена, "ТипыКонстант");
  если не ТипыКонстант.Локализовать("Имя", Тип, 1) тогда
    ВозбудитьОшибку(Формат("Не удалось найти тип константы %s в реестре.", Тип));
  результат := ТипыКонстант.Поле("Ид").КакЦелое;  
конец;

функция ВернутьКонстанты(Фильтр: строка; Коллекция: IVariables): IVariables;
переменные
  дКонстанты: СтатическиеДанные;
  значение: строка;
начало
  дКонстанты := СоздатьДанныеИзРеестра(ПутьКНастройкамОбмена, "Константа");
  если Фильтр &lt;&gt; "" тогда
    дКонстанты.Фильтр := "Имя = '" + Фильтр + "'";
  дКонстанты.ВНачало;
  пока не дКонстанты.ВКонце делать
  начало
    значение := ПолучитьКонстантуКэш("", дКонстанты.Поле("ProgIndex").КакЦелое, дКонстанты.Поле("ConstIndex").КакЦелое,
                                       ТипКонстанты(дКонстанты.Поле("Тип").КакСтрока));
    Коллекция.Значение(дКонстанты.Поле("Имя").КакСтрока) := значение;                      
    дКонстанты.Следующая;
  конец;
конец;

переменные
  Фильтр: строка;
начало
  Фильтр := Параметры.Значение("Константа");
  Параметры.Clear;
  ВернутьКонстанты(Фильтр, Параметры);                                  
  //для УРМ нужно возвращать результат
  ПолучитьКонстанты := Параметры;
конец.
</value>
    <param value="ПолучитьКонстанты" type="3" name="version">36.054.00</param>
    <param value="ПолучитьКонстанты" type="3" name="crc32">$2464C70F</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="ПостроениеОтчета">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Statics.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\LibRu.lib';
/$если Бюджет
включить 'Бюджет\Объекты\Обработка\Скрипты\Внешние\Смета\ДанныеЭЦП';
/$конец

ПостроениеОтчета(Параметры: IVariables): IVariables;
 
функция ПолучитьДанныеОтчета(Параметры: Ivariables);
переменные
  Визуализатор: IUniViewer;
  Раскладка : ITableInfoX; 
  Данные, Заголовок : СтатическиеДанные;
  Шаблон, Индексы: строка;
  Гриды: IStaticSets;
  ЗначенияПараметров: IVariables;    
начало
  Шаблон := Параметры.Значение('Шаблон');    
  Визуализатор := ModalWafer.CheckSSViewer;
  //для совместимости поддержим и абсолютный и относительный
  если ФайлСуществует(Шаблон) тогда 
    Визуализатор.Template := Шаблон
  иначе  
    LoadTemplateToViewer(Шаблон,Визуализатор);
        
  Раскладка := Визуализатор.Templates.Items(0).TableInfo;
  ЗначенияПараметров := Визуализатор.Templates.Items(0).Variables;
  если Раскладка &lt;&gt; nil тогда
  начало
    Индексы := Параметры.Значение("ИндексыДанныхУРМ");
    Параметры.PumpData(ЗначенияПараметров);
    //все типы индексов данных нужны для разных алгоритмов  
    Параметры.Значение("ИндексыДанныхПриходКазн") := Индексы;
    Параметры.Значение("ИндексыДанныхРасходКазн") := Индексы;
    Параметры.Значение("ИндексыДанных") := Индексы;
    если Индексы &lt;&gt; "" тогда
      Параметры.Значение("ИндексыДанныхОпределены") := 1;
          
    СформироватьДанныеОгр(Визуализатор, Раскладка, Параметры, Параметры, Параметры, Данные, Заголовок);
    ВывестиДанные(Визуализатор, Раскладка, Раскладка, Параметры, Параметры, Данные, Заголовок, нет);
    Гриды := Визуализатор.Viewer;
    Параметры.Значение("Данные") := Гриды.StaticSets(0);
  конец;                
конец;

начало
  если Параметры.Значение("Шаблон") &lt;&gt; "" тогда
  начало  
    ПолучитьДанныеОтчета(Параметры);
    /$если Бюджет
    Параметры.Значение("Данные") := ПрисоединитьДанныеЭЦП(Параметры.Значение("Данные")); 
    /$конец
    СтатическиеДанные(Параметры.Значение("Данные")).PersistOptions := 4; // poOldFormat - смета поддерживает только старый формат паковки
    //для УРМ надо вернуть результат
    ПостроениеОтчета := Параметры;
  конец;       
конец.
</value>
    <param value="ПостроениеОтчета" type="3" name="Export">EVOLKOVA\pautov\24.01.2013 12:02:20</param>
    <param value="ПостроениеОтчета" type="3" name="version">36.054.00</param>
    <param value="ПостроениеОтчета" type="3" name="crc32">$38EAD50D</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="7" name="РазыменоватьНаБюджете">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';

РазыменоватьНаБюджете(Параметры: IVariables): Variant;
переменные
  КодРазменовки: Целое;
  Значение: строка;
начало
  КодРазменовки := Параметры.Значение('КодРазыменовки');
  Значение := Параметры.Значение('Значение');
  Параметры.Значение('Данные') := Разыменовать(Значение, КодРазменовки);
  РазыменоватьНаБюджете := Параметры;//.Значение('Данные'); 
конец.
</value>
    <param value="РазыменоватьНаБюджете" type="3" name="version">36.054.00</param>
    <param value="РазыменоватьНаБюджете" type="3" name="crc32">$193E0B07</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="РасчетныйСчет">
      <table>
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>ИмяВСмете</N>
            <S>30</S>
            <DL>ИмяВСмете</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ИмяВБюджете</N>
            <S>100</S>
            <DL>ИмяВБюджете</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ИмяВУРМ</N>
            <S>100</S>
            <DL>ИмяВУРМ</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Тип</N>
            <S>10</S>
            <DL>Тип</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Размер</N>
            <DL>Размер</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ИмяВСмете">Банк</V>
            <V N="ИмяВБюджете">BANKREF</V>
            <V N="ИмяВУРМ">BankFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">Закрыт</V>
            <V N="ИмяВБюджете">OrgAcc_Closed</V>
            <V N="ИмяВУРМ">Closed</V>
          </R>
          <R>
            <V N="ИмяВСмете">КлючВБюджете</V>
            <V N="ИмяВБюджете">ACC_REF</V>
            <V N="ИмяВУРМ">FUId</V>
          </R>
          <R>
            <V N="ИмяВСмете">ЛС</V>
            <V N="ИмяВБюджете">Р/с.имярс</V>
            <V N="ИмяВУРМ">Р/с.имярс</V>
            <V N="Тип">строка</V>
            <V N="Размер">20</V>
          </R>
          <R>
            <V N="ИмяВСмете">Наименование</V>
            <V N="ИмяВБюджете">ACC</V>
            <V N="ИмяВУРМ">ACC</V>
          </R>
          <R>
            <V N="ИмяВСмете">ОбслуживающаяОрганизация</V>
            <V N="ИмяВБюджете">SERVICE_ORG_REF</V>
            <V N="ИмяВУРМ">OfkFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">Описание</V>
            <V N="ИмяВБюджете">COMMENT</V>
            <V N="ИмяВУРМ">AComment</V>
          </R>
          <R>
            <V N="ИмяВСмете">Организация</V>
            <V N="ИмяВБюджете">ORG_REF</V>
            <V N="ИмяВУРМ">OrgFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">ОСБ</V>
            <V N="ИмяВБюджете">BankDepNumber</V>
            <V N="ИмяВУРМ">BankDepNumber</V>
          </R>
          <R>
            <V N="ИмяВСмете">Распорядитель</V>
            <V N="ИмяВБюджете">Service_Acc_Ref</V>
            <V N="ИмяВУРМ">AccFkFUID</V>
          </R>
          <R>
            <V N="ИмяВСмете">ТипСчета</V>
            <V N="ИмяВБюджете">ACC_CLS</V>
            <V N="ИмяВУРМ">ACC_CLS</V>
          </R>
          <R>
            <V N="ИмяВСмете">КлючВБД</V>
            <V N="ИмяВБюджете">ACC_REF</V>
            <V N="ИмяВУРМ">Id</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="РасчетныйСчет" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета\Настройки">
    <value type="3" flags="1" name="СостояниеДокументаОтСметы" />
    <param value="СостояниеДокументаОтСметы" type="3" name="version">36.054.00</param>
    <param value="СостояниеДокументаОтСметы" type="3" name="crc32">$00000000</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета\Настройки">
    <value type="3" name="СписокКонтролей" />
    <param value="СписокКонтролей" type="3" name="version">36.054.00</param>
    <param value="СписокКонтролей" type="3" name="crc32">$00000000</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="Сущность">
      <table>
        <FDL>
          <FD>
            <N>Ид</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Ид</DL>
          </FD>
          <FD>
            <N>ИмяВСмете</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>30</S>
            <DL>ИмяВСмете</DL>
          </FD>
          <FD>
            <N>ИмяВБюджете</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>ИмяВБюджете</DL>
          </FD>
          <FD>
            <N>ИмяВУРМ</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>ИмяВУРМ</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Ид">1</V>
            <V N="ИмяВСмете">Организация</V>
            <V N="ИмяВУРМ">Organizations</V>
          </R>
          <R>
            <V N="Ид">2</V>
            <V N="ИмяВСмете">Банк</V>
            <V N="ИмяВУРМ">Banks</V>
          </R>
          <R>
            <V N="Ид">3</V>
            <V N="ИмяВСмете">РасчетныйСчет</V>
            <V N="ИмяВУРМ">Org_Accounts</V>
          </R>
          <R>
            <V N="Ид">4</V>
            <V N="ИмяВСмете">ЛицевойСчет</V>
            <V N="ИмяВУРМ">FacialAcc_Cls</V>
          </R>
          <R>
            <V N="Ид">5</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">KVSR</V>
          </R>
          <R>
            <V N="Ид">6</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">KFSR</V>
          </R>
          <R>
            <V N="Ид">7</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">KCSR</V>
          </R>
          <R>
            <V N="Ид">8</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">KESR</V>
          </R>
          <R>
            <V N="Ид">9</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">KVR</V>
          </R>
          <R>
            <V N="Ид">10</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">KesrSubCode</V>
          </R>
          <R>
            <V N="Ид">11</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">FinType</V>
          </R>
          <R>
            <V N="Ид">12</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">Fact</V>
          </R>
          <R>
            <V N="Ид">13</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">RegionCls</V>
          </R>
          <R>
            <V N="Ид">14</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">MeansType</V>
          </R>
          <R>
            <V N="Ид">15</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">DirectionCls</V>
          </R>
          <R>
            <V N="Ид">16</V>
            <V N="ИмяВСмете">Классификатор</V>
            <V N="ИмяВУРМ">PayTypeCls</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Сущность" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="ТипыКонстант">
      <table>
        <FDL>
          <FD>
            <N>Ид</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Ид</DL>
          </FD>
          <FD>
            <N>Имя</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>20</S>
            <DL>Имя</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Ид">0</V>
            <V N="Имя">целое</V>
          </R>
          <R>
            <V N="Ид">1</V>
            <V N="Имя">дробное</V>
          </R>
          <R>
            <V N="Ид">2</V>
            <V N="Имя">строка</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="ТипыКонстант" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Внешние\Смета">
    <value type="6" name="ТипыПолей">
      <table>
        <FDL>
          <FD>
            <N>Ид</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Ид</DL>
          </FD>
          <FD>
            <N>Имя</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>20</S>
            <DL>Имя</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Ид">1</V>
            <V N="Имя">строка</V>
          </R>
          <R>
            <V N="Ид">3</V>
            <V N="Имя">целое</V>
          </R>
          <R>
            <V N="Ид">4</V>
            <V N="Имя">дробное</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="ТипыПолей" type="3" name="version">36.054.00</param>
  </node>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="ФункцииДляОбменаСоСметой">включить "\библиотеки\LibRu.lib";


функция ИмяПоляВБюджете: строка;
начало
  результат := "ИмяВБюджете";
конец;

функция ПутьКНастройкамОбмена: строка;
начало
  результат := "Бюджет\Объекты\Обработка\Скрипты\Внешние\Смета";
конец;


функция ПолучитьТипКлассификатораПоИдСущности(ИдСущности:целое):целое;
начало
  выбрать ИдСущности из
    4: результат := тк_ЛицСчет;
    5: результат := тк_КВСР;
    6: результат := тк_КФСР;
    7: результат := тк_КЦСР;
    8: результат := тк_КЭСР;
    9: результат := тк_КВР;
    10: результат := тк_СубКЭСР;
    11: результат := тк_ТипФинансирования;
    12: результат := тк_Мероприятие;
    13: результат := тк_Район;
    14: результат := тк_СредстваБюджета;
    15: результат := тк_Направление;
    16: результат := тк_ТипПлатежа;
  конец;
конец;

//С выходом 6.12 нужно убрать
функция ПолучитьБанки:СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  результат.СоединитьБД;
  результат.Запрос := "[PumpData]
  {select b.id org_ref, b.MFO, b.cor, b.closed, b.dateclose,
    o.address, o.city ORG_CITY, o.inn, o.inn20 kpp, o.shortname Org_ShortName,
    o.name ORG_NAME, o.regioncls, o.okato, o.addokato, o.country, o.countrycode,
    o.phone, o.org_type, o.orgcode, o.FACIALACC, o.SubINN, o.Kvsr, o.generalorg_ref
    from banks b left join organizations o on (b.id = o.id)}";
  результат.Открыть;  
конец;

//С выходом 6.12 нужно убрать
функция ПолучитьСчета(Фильтр: Строка):СтатическиеДанные;
Переменные ссДанные: СтатическиеДанные;
начало
  ссДанные:= СоздатьСтатическиеДанные;
  ссДанные.СоединитьБД;
  ссДанные.Запрос := "[PumpData]
  {select OA.ID Acc_Ref, OA.Bank_Ref BANKREF, OA.Bank_Ref BANK_REF, OA.Org_Ref ORGREF,
    OA.Org_Ref ORG_REF, OA.Acc ACC, OA.Acc_Cls ACC_CLS, AC.ServiceType ServiceType, O.Name BANK, OA.AComment COMMENT,
    OA.FinType FINTYPE, AC.Name ACC_CLSNAME, OA.BankDepNumber BankDepNumber,
    OA.FacialCode FACIALCODE, OA.IsDefault IsDefault, OA.Closed OrgAcc_Closed,
    OA.CloseCode OrgAcc_CloseCode, B.Closed BankClosed, OA.Service_Org_Ref SERVICE_ORG_REF,
    '' qCheck, B.DateClose Bank_DateClose, OA.Service_ACC_Ref Service_Acc_Ref, B.MFO Bank_MFO,
    B.COR Bank_COR
    from ORG_ACCOUNTS OA
    left join ORGANIZATIONS O on (OA.BANK_REF = O.ID)
    left join BANKS B on (OA.BANK_REF = B.ID)
    left join ACC_CLS AC on (OA.ACC_CLS = AC.ID)}";   
  ссДанные.Открыть;
  ссДанные.Фильтр := Фильтр;
  результат := ссДанные;  
конец;

// на вход тип сущности + фильтрация по сущности; на выходе статиксет, полученный через справочники
функция ПолучитьСущностьПоФильтру(НастройкиСущности: СтатическиеДанные; Фильтр: строка): СтатическиеДанные;
переменные
  ДОрганизации: ДанныеОрганизации;
  ДКлассификатора: ДанныеКлассификатора;
  ссДанные,ссВспом: СтатическиеДанные;
начало
  ДОрганизации := ДанныеОрганизации;
  ДКлассификатора := ДанныеКлассификатора;
  выбрать НастройкиСущности.Поле("Ид").КакЦелое из
    1: // Организация     
      ссДанные := ДОрганизации.ОрганизацияПоФильтру(Фильтр);
       //Banks 
    2: 
    начало
      ссДанные := СоздатьСтатическиеДанные;
      ссВспом := ПолучитьБанки;
      ссДанные.AssignFields(ссВспом);
      ссВспом.Фильтр := Фильтр;
      ссДанные.Закачать(ссВспом);
      ссВспом.Закрыть;
    конец;     
    3: //РасчетныйСчет Org_Accounts      
      //ссДанные := ДОрганизации.ПолучитьЗаписиПоФильтру(до_Счета,Фильтр);
      ссДанные := ПолучитьСчета(Фильтр);     
    иначе
      ссДанные := ДКлассификатора.ПолучитьЗаписиПоФильтру(ПолучитьТипКлассификатораПоИдСущности(НастройкиСущности.Поле("Ид").КакЦелое),Фильтр);
  конец;
  результат := ссДанные;
конец;


</value>
    <param value="ФункцииДляОбменаСоСметой" type="3" name="Export">ABRAMOVA\brehov\22.03.2010 13:51:10</param>
    <param value="ФункцииДляОбменаСоСметой" type="3" name="version">36.054.00</param>
    <param value="ФункцииДляОбменаСоСметой" type="3" name="crc32">$D0E29B32</param>
  </node>
  <version_info>
    <file>Отчеты.Расширения.xml</file>
    <version>36.042.06</version>
    <info>&lt;p&gt;Макросы расширений для отчетов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:04</buildtime>
  </version_info>
  <description>Макросы расширений для отчетов</description>
  <node path="%root%\Ресурсы\Макросы\Отчеты\Расширения">
    <value type="7" name="Расширение_ВыводКомпозицииОтчетовВВорд">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\SysUtils.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Отчеты\ПоддержкаРасширений.abl';
включить '\Библиотеки\F1Tools.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\XLS.lib';
включить '\Макросы\Отчеты\ФункцииДляF1.abl';

ВывестиОтчетВMSWord(МоментВызова: Целое; ПараметрыРасширений: ВнешнийОбъект; Параметры: IVariables);
переменные
  Визуализатор : IUniViewer;
  Excel, Word, Sheet, Cell1, Cell2, Document : ВнешнийОбъект;
  F1, BufF1 : IF1Book;
  Файл : строка;
  Flexcel : IXLSContainer;
  prog: IProgress;
  сч, maxCol, счСтр : целое;  
  ОбработчикВыводаВВорд : ВнешнийОбъект;
  
константы 
  wdPreferredWidthPercent = 2;
  F1FileExcel97 = 11;
  
начало
  // для возможности скорректировать вывод в Word
  ОбработчикВыводаВВорд := Параметры.Значение("ОбработчикВыводаВВорд");

  если МоментВызова = мвПослеВыводаДанных тогда
    начало
      prog := Progress;
      если (prog &lt;&gt; nil) тогда
        начало
          prog.SetMessage('Экспорт в Word');
          prog.SetProgress(0);
        конец;
        
      Визуализатор := Параметры.Values(АлгВизуализатор);
      F1 := Визуализатор.Viewer;
 
      Document := Параметры.Значение('WordДокумент'); 
      Word := Document.Application;

      Excel := СоздатьВнешнийОбъект("Excel.Application");
      Excel.DisplayAlerts := нет;  
      от счСтр := 1 до F1.NumSheets делать
      начало  
        BufF1 := CreateF1Book;
        CopyF1Book(F1, BufF1, счСтр, 1, да); 
        Файл := GetTmpPath + "temp.xls";
        пока FileExists(Файл) делать
        начало
          сч := сч + 1;
          Файл := Формат("%stemp%d.xls", GetTmpPath, сч);
        конец;
        
        Flexcel := createcomobject(XLSContainer);
        // сохраняем формулу в файл через функцию, обходящую все известные глюки формулы
        СохранитьФормулуВФайлИОткрытьВExcel(BufF1, Flexcel, Excel, Файл);

        Sheet := Excel.ActiveSheet; 
        maxCol := BufF1.LastCol;
        от сч := Flexcel.MaxCol назад 1 делать
          если (Flexcel.ColumnWidth(сч) = 0) тогда
          начало
            Sheet.Columns(сч).Delete;
            maxCol := maxCol - 1;
          конец;
        Cell1 := sheet.Cells(1, 1);
        Cell2 := sheet.Cells(BufF1.LastRow, maxCol);
        Sheet.Range(Cell1, Cell2).Copy;

        // Ориентация на странице и размеры полей
        если BufF1.PrintLandscape тогда Document.PageSetup.Orientation := 1;

        // Настройка отступов по первой странице
        если (счСтр = 1) тогда
        начало
          Document.PageSetup.LeftMargin := Excel.ActiveSheet.PageSetup.LeftMargin;
          Document.PageSetup.RightMargin := Excel.ActiveSheet.PageSetup.RightMargin;
          Document.PageSetup.TopMargin := Excel.ActiveSheet.PageSetup.TopMargin;
          Document.PageSetup.BottomMargin := Excel.ActiveSheet.PageSetup.BottomMargin;
        конец;  
          
        // Вставка таблицы в Word
        если ОбработчикВыводаВВорд &lt;&gt; nil тогда
          ОбработчикВыводаВВорд.ВставкаТаблицыВВорд(Document)
        иначе 
        начало
          Document.ActiveWindow.Selection.Paste;
          // Выравнивание таблицы по ширине
          Document.ActiveWindow.Selection.Tables(1).AutoFitBehavior(2);
          // Разделитель таблиц
          Document.ActiveWindow.Selection.TypeParagraph;
          // Снимаем выделение
          Document.ActiveWindow.Selection.EscapeKey;
        конец;        
        Excel.Workbooks(1).Close; 
        DeleteFile(Файл);
        если (prog &lt;&gt; nil) тогда prog.SetProgress(100 * счСтр / F1.NumSheets); 
      конец;
      Excel.Quit;
      если ОбработчикВыводаВВорд &lt;&gt; nil тогда
        ОбработчикВыводаВВорд.ЗаключительнаяОбработкаДокумента(Document);
      если (prog &lt;&gt; nil) тогда prog.EndProgress;
    конец;
конец.
</value>
    <param value="Расширение_ВыводКомпозицииОтчетовВВорд" type="3" name="version">36.042.06</param>
    <param value="Расширение_ВыводКомпозицииОтчетовВВорд" type="3" name="crc32">$C998E6F2</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты\Расширения">
    <value type="7" name="Расширение_ВыводОтчетаВВорд">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\SysUtils.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Отчеты\ПоддержкаРасширений.abl';
включить '\Библиотеки\F1Tools.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\XLS.lib';

ВывестиОтчетВMSWord(МоментВызова: Целое; ПараметрыРасширений: ВнешнийОбъект; Параметры: IVariables);

константы 
 //Константы ворда
 wdPreferredWidthPercent = 2;
 wdFindContinue = 1;
 wdLine = 5;
 wdExtend = 1;  
 wdAlignParagraphRight = 2;
 wdAlignParagraphLeft = 0;
 wdAutoFitWindow = 2;
 wdAutoFitContent = 1;

 wdCellAlignVerticalTop = $00000000;
 wdCellAlignVerticalCenter = $00000001;
 wdCellAlignVerticalBottom = $00000003;

 wdAlignParagraphCenter = $00000001;
 wdAlignParagraphJustify = $00000003;
 wdAlignParagraphDistribute = $00000004;
 wdAlignParagraphJustifyMed = $00000005;
 wdAlignParagraphJustifyHi = $00000007;
 wdAlignParagraphJustifyLow = $00000008;
 wdActiveEndPageNumber = $00000003;
 wdNumberOfPagesInDocument = $00000004;
 wdDeleteCellsEntireRow = $00000002;
 
 wdBorderTop = -1;
 wdBorderLeft = -2;
 wdBorderBottom = -3;
 wdBorderRight = -4;
 wdBorderVertical = -6;
 
 wdPaneNone = 0;        
 wdPrintView = 3;
 
 
 
 F1FileExcel97 = 11;
// fuckingtext = "if_you_can_read_this_text, then export to msWord is failed";
 //Текст должен быть небольшой, иначе он может расширить колонку, и таблица выйдет за край листа
 fuckingtext = "@#$%&amp;*";

переменные
  Визуализатор : IUniViewer;
  Excel, Word, Sheet, Cell1, Cell2, Document, FindObject, Selection, Options : ВнешнийОбъект;
  F1, BufF1 : IF1Book;
  Файл : строка;
  Flexcel : IXLSContainer;
  prog: IProgress;
  сч, maxCol : целое;
  RepeatableRow: целое;
  RowAddress: строка;
  SaveValue: строка;
  РасширенноеВыравнивание: строка;
  УдалятьПустыеСтрокиТаблицыВНачалеСтраницы: строка; 
  НомераСтолбцов : строка;
  комматекст : Текст;
  // Комментарий
  функция ЗаменитьНулиПрочеркамиВСтолбцах( Таблица : ВнешнийОбъект; НомераСтолбцов : Текст);
  переменные
    Ячейка, Строки, область : ВнешнийОбъект;
    rCounter, cCounter : Целое;
    ЧислоСтрок : Целое;
    числовв : целое;
  начало
    prog.BeginProgress();
    prog.SetMessage("Форматирование таблицы: Замена нулевых значений");
    Строки := Таблица.Rows;
    ЧислоСтрок := Строки.Count;
    от rCounter:=1 до ЧислоСтрок делать
    начало
      если prog.CheckCancelButton тогда
        выход;
      попытка
        Ячейка := Таблица.Cell(rcounter, ccounter);
        prog.SetMessage("Замена нулевых ячеек: Обработка строки ("+ ЦелоеВСтроку(rCounter)+"/"+ЦелоеВСтроку(ЧислоСтрок) + ")");
        от cCounter:=1  до НомераСтолбцов.Количество делать
        начало
          Ячейка := Таблица.Cell(rCounter, СтрокаВЦелое(НомераСтолбцов.ЗначениеПараметра(cCounter)));
          область := Ячейка.Range;
          числовв := область.Words.Count;
          если числовв = 2 тогда
          начало
            если СтрокаВЦелое(Ячейка.Range.Words.First.Text) = 0 тогда
            начало
              Ячейка.Range.Text := '-';
              prog.SetMessage("Запись значения ("+ ЦелоеВСтроку(rCounter)+"ячейка"+ ЦелоеВСтроку(cCounter) + "/"+ЦелоеВСтроку(ЧислоСтрок) + ")");
              Ячейка.VerticalAlignment := wdCellAlignVerticalCenter;
              Ячейка.Range.Paragraphs.First.Alignment := wdAlignParagraphCenter; 
            конец;
          конец;
        конец;
        prog.SetProgress((rcounter/ЧислоСтрок)*100);
      неудача
      конец;
    конец;
  
  конец;

  функция УдалитьПустыеСтрокиТаблицыВНачалеСтраницы(Документ, Таблица : ВнешнийОбъект);  
  переменные
    Ячейка, Строки : ВнешнийОбъект;
    нужноУдалять, нужноИскать, яПроверка : Целое;
    rCounter, cCounter : Целое;
    ТекущаяСтраница, олд_ТекущаяСтраница : Целое;
    ЧислоСтрок, ЧислоСтолбцов : Целое;
  начало
    prog.BeginProgress();
    prog.SetMessage("Форматирование таблицы: Удаление  пустых строк таблицы в начале  страницы");
    Строки := Таблица.Rows;
    ТекущаяСтраница := 1;
    олд_ТекущаяСтраница := ТекущаяСтраница;
    ЧислоСтрок := Строки.Count;
    ЧислоСтолбцов := Таблица.Columns.Count;
    нужноИскать := да;
    rCounter := 1;
    ccounter := 1;
    
    пока нужноИскать и (rCounter &lt;= ЧислоСтрок) делать
    начало
      попытка
        Ячейка := Таблица.Cell(rcounter, ccounter);
        prog.SetMessage("Форматирование таблицы: Обработка строки ("+ ЦелоеВСтроку(rCounter)+"/"+ЦелоеВСтроку(ЧислоСтрок) + ")");
        prog.SetProgress((rcounter/ЧислоСтрок)*100);
        ТекущаяСтраница := Ячейка.Range.Information(wdActiveEndPageNumber);  
        если (ТекущаяСтраница &lt;&gt; олд_ТекущаяСтраница) тогда
        начало
          нужноУдалять := да;
          ccounter := 1;
          пока (нужноУдалять) и (cCounter &lt;= ЧислоСтолбцов) делать
          начало
            яПроверка := Ячейка.Range.Words.Count;
            нужноУдалять := яПроверка = 1;
            ccounter := ccounter +1
          конец;
          ccounter := 1;
          олд_ТекущаяСтраница  := ТекущаяСтраница; 
          если нужноУдалять тогда
          начало
            prog.SetMessage("Форматирование таблицы: Удаление строки ("+ ЦелоеВСтроку(rCounter) + ")");
            Ячейка.Delete(wdDeleteCellsEntireRow);
            ЧислоСтрок := Строки.Count;
            rCounter := rCounter - 1;
            олд_ТекущаяСтраница  := олд_ТекущаяСтраница - 1; 
          конец;
        конец;
      неудача
      конец;
      rCounter := rCounter + 1;
    конец;
  конец;
  
  функция УстановитьВыравниваниеКолонки(ИндексТаблицы: целое; ИмяКолонки: Строка; Сторона: Строка; Сдвиг: целое);
  переменные
    ИндексКолонки: целое;
    Колонка, ФорматКолонки: ВнешнийОбъект;
    ВыравниваниеЗаголовка: целое;    
  начало
    //Пока колонки идентифицируются по индексам. Потом надо бы сделать по именам
    ИндексКолонки := СтрокаВЦелое(ИмяКолонки);
    Колонка := Document.Tables(ИндексТаблицы).Columns(ИндексКолонки);
    //ячейку первой строки не выделяем, т.к. это заголовок
    если Колонка.Cells.Count &gt; 1 тогда
    начало
      //Запоминаем выравнивание заголовка
      Колонка.Cells(1).Select;      
      ВыравниваниеЗаголовка := Document.ActiveWindow.Selection.ParagraphFormat.Alignment;      
      //Устанавливаем выравнивание колонки
      Колонка.Select;
      ФорматКолонки := Document.ActiveWindow.Selection.ParagraphFormat;    
      если Сторона = 'r' тогда
      начало
        ФорматКолонки.Alignment := wdAlignParagraphRight;
        ФорматКолонки.RightIndent := Сдвиг;
      конец  
      иначе если Сторона = 'l' тогда
      начало
        ФорматКолонки.Alignment := wdAlignParagraphLeft;
        ФорматКолонки.LeftIndent := Сдвиг;
      конец  
      иначе 
        ВызватьОшибку("Неверно задан параметр выравнивания колонки: "+ИмяКолонки);          
      ФорматКолонки.SpaceBeforeAuto := нет;
      ФорматКолонки.SpaceAfterAuto := нет;
      //Восстанавливаем выравнивание заголовка
      Колонка.Cells(1).Select;
      Document.ActiveWindow.Selection.ParagraphFormat.Alignment := ВыравниваниеЗаголовка;
      Document.ActiveWindow.Selection.ParagraphFormat.RightIndent := 0;
      Document.ActiveWindow.Selection.ParagraphFormat.LeftIndent := 0; 
    конец;          
  конец;
  
  функция УстановитьВыравниваниеКолонок(ИндексТаблицы: целое; Выравнивание: строка);
  переменные
    Колонки: Текст;
    Индекс: целое;
    ИмяКолонки: Строка;
    ВыравнКолонки: Строка;
    Сдвиг: целое;
  начало
    Колонки := СоздатьТекст;
    попытка
      Колонки.РазделенноеЗначение := Выравнивание;
      от Индекс := 0 до Колонки.Количество - 1 делать
      начало
        ИмяКолонки := Колонки.ИмяПараметра(Индекс);
        ВыравнКолонки := Колонки.ЗначениеПараметра(ИмяКолонки);
        Сдвиг := СтрокаВЦелое(Подстрока(ВыравнКолонки, 2, Длина(ВыравнКолонки)-1));
        УстановитьВыравниваниеКолонки(ИндексТаблицы, ИмяКолонки, ВыравнКолонки[1], Сдвиг);
      конец;
    обязательно
      УдалитьОбъект(Колонки);
    конец;
  конец;
    
начало
  если МоментВызова = мвПослеВыводаДанных тогда
  начало
  prog := Progress;
  если (prog &lt;&gt; nil) тогда
    начало
      prog.SetMessage('Экспорт в Word');
      prog.SetProgress(0);
    конец;
    
  Визуализатор := Параметры.Values(АлгВизуализатор);
  F1 := Визуализатор.Viewer;
  BufF1 := CreateF1Book;
  CopyF1Book(F1, BufF1, F1.NumSheets, 1, да); 
  Файл := GetTmpPath + "temp.xls";
  пока FileExists(Файл) делать
    начало
       сч := сч + 1;
       Файл := Формат("%stemp%d.xls", GetTmpPath, сч);
    конец;
  BufF1.WriteEx(Файл, F1FileExcel97);
  Flexcel := createcomobject(XLSContainer);
  
  Flexcel.OpenFile(Файл);
  Flexcel.DeleteFormulas;

  Word := СоздатьВнешнийОбъект("Word.Application");
  Word.DisplayAlerts := нет;
 
  Flexcel.SaveFile(Файл);
  Excel := СоздатьВнешнийОбъект("Excel.Application");
  Excel.DisplayAlerts := нет;                           
  Excel.Workbooks.Open(Файл);

  Sheet := Excel.ActiveSheet; 
  maxCol := BufF1.LastCol;
  от сч := Flexcel.MaxCol назад 1 делать
    Если (Flexcel.ColumnWidth(сч) = 0) тогда
      начало
        Sheet.Columns(сч).Delete;
        maxCol := maxCol - 1;
      конец;
  Cell1 := sheet.Cells(1, 1);
  Cell2 := sheet.Cells(BufF1.LastRow, maxCol);
  Sheet.Range(Cell1, Cell2).Copy;
  
  если (prog &lt;&gt; nil) тогда prog.SetProgress(50);  
  Document := Word.Documents.Add;
  Document.Activate;
  Document.Select;
  // Поправка Минтянов
  Word.ScreenUpdating := нет;  
  
  // Ориентация на странице и размеры полей
  Если BufF1.PrintLandscape тогда Document.PageSetup.Orientation := 1;
  Document.PageSetup.LeftMargin := Excel.ActiveSheet.PageSetup.LeftMargin;
  Document.PageSetup.RightMargin := Excel.ActiveSheet.PageSetup.RightMargin;
  Document.PageSetup.TopMargin := Excel.ActiveSheet.PageSetup.TopMargin;
  Document.PageSetup.BottomMargin := Excel.ActiveSheet.PageSetup.BottomMargin;
  
  // Получаем повторяющуюся строку
  RowAddress := Excel.ActiveSheet.PageSetup.PrintTitleRows;
  если RowAddress &lt;&gt; "" тогда 
  начало
    RepeatableRow := Excel.ActiveSheet.Range(RowAddress).Row;    
    SaveValue := Excel.ActiveSheet.Cells(RepeatableRow,1).Value;
    Excel.ActiveSheet.Cells(RepeatableRow,1).Value := fuckingtext;   
  конец;  
  
  // Вставляем и выравниваем текст
  Document.ActiveWindow.Selection.Paste;
  
//  Document.Tables(1).Rows(Document.Tables(1).Rows.Count).Select;
  Document.Tables(1).Select;
  Document.Tables(1).AutoFitBehavior(wdAutoFitWindow);

//  Word.Visible := да;
//  Document.ActiveWindow.Selection.Tables(1).AutoFitBehavior(wdAutoFitWindow);
//  Document.ActiveWindow.Selection.Tables(1).AutoFitBehavior(wdAutoFitContent);
  
 // Document.ActiveWindow.Selection.Tables(1).PreferredWidthType := wdPreferredWidthPercent; 
 // Document.ActiveWindow.Selection.Tables(1).PreferredWidth := 99;  

    // Дальше идет код, который позволяет в ворде выводить строчку над началом таблицы
  // на каждой странице.
  // для этого надо:
  // 1. Разбить таблицу так, чтобы строчка, котрую надо выводить была первой (иначе не заработает - требование ворда)
  // 2. Сдвинуть таблицы между собой на минимальное расстояние.
  // 3. Установить опцию у таблицы второй про вывод на каждой странице первой строчки.
  
  // Получаем повторяющуюся строку
  если RowAddress &lt;&gt; "" тогда 
  начало  
    //Word.Visible := да;    
    // попробуем найти нехорошую строку. Там где мы ее найдем, там и есть наша строка, 
    // там и надо рубить таблицу на две части.
    Document.ActiveWindow.Selection.Find.ClearFormatting;
    FindObject := Document.ActiveWindow.Selection.Find;
    FindObject.Text := fuckingtext;
    FindObject.Replacement.Text := "";
    FindObject.Forward := да;
    FindObject.Wrap := wdFindContinue;
    FindObject.Format := нет;
    FindObject.MatchCase := нет;
    FindObject.MatchWholeWord := нет;
    FindObject.MatchWildcards := нет;
    FindObject.MatchSoundsLike := нет;
    FindObject.MatchAllWordForms := нет;
    Document.ActiveWindow.Selection.Find.Execute;
    Document.ActiveWindow.Selection.TypeText(SaveValue);
    
    // 1. Split    
    Document.ActiveWindow.Selection.SplitTable;
    // 2. Сдвигаем.
    Document.ActiveWindow.Selection.Font.Size := 1;
    
    // 3. Устанавливаем опцию
    Document.Tables(2).Rows(1).Select;

    Document.ActiveWindow.Selection.Rows.HeadingFormat := -1;
    
    //Делаем обводку переносимого заголовка
    Selection := Document.ActiveWindow.Selection;
    Options := Word.Options;
    Selection.Borders(wdBorderTop).LineStyle := Options.DefaultBorderLineStyle;
    Selection.Borders(wdBorderTop).LineWidth := Options.DefaultBorderLineWidth;
    Selection.Borders(wdBorderTop).Color := Options.DefaultBorderColor;

    Selection.Borders(wdBorderLeft).LineStyle := Options.DefaultBorderLineStyle;
    Selection.Borders(wdBorderLeft).LineWidth := Options.DefaultBorderLineWidth;
    Selection.Borders(wdBorderLeft).Color := Options.DefaultBorderColor;

    Selection.Borders(wdBorderBottom).LineStyle := Options.DefaultBorderLineStyle;
    Selection.Borders(wdBorderBottom).LineWidth := Options.DefaultBorderLineWidth;
    Selection.Borders(wdBorderBottom).Color := Options.DefaultBorderColor;
    
    Selection.Borders(wdBorderRight).LineStyle := Options.DefaultBorderLineStyle;
    Selection.Borders(wdBorderRight).LineWidth := Options.DefaultBorderLineWidth;
    Selection.Borders(wdBorderRight).Color := Options.DefaultBorderColor;

    Selection.Borders(wdBorderVertical).LineStyle := Options.DefaultBorderLineStyle;
    Selection.Borders(wdBorderVertical).LineWidth := Options.DefaultBorderLineWidth;
    Selection.Borders(wdBorderVertical).Color := Options.DefaultBorderColor;
    
    // выравниваем верхнюю таблицу
//    Document.Tables(1).PreferredWidthType := wdPreferredWidthPercent;
//    Document.Tables(1).PreferredWidth := 99;    
    РасширенноеВыравнивание := ПолучитьЗначениеПараметраРасширения('Выравнивание', ПараметрыРасширений, '');
    если РасширенноеВыравнивание &lt;&gt; '' тогда
      УстановитьВыравниваниеКолонок(2, РасширенноеВыравнивание);

    
    Document.ActiveWindow.Selection.EscapeKey;  
  конец;

    УдалятьПустыеСтрокиТаблицыВНачалеСтраницы := ПолучитьЗначениеПараметраРасширения('УдалятьПустыеСтрокиТаблицыВНачалеСтраницы', ПараметрыРасширений, '');
    если УдалятьПустыеСтрокиТаблицыВНачалеСтраницы &lt;&gt; '' тогда
      попытка
        УдалитьПустыеСтрокиТаблицыВНачалеСтраницы(Document,Document.Tables.Item(СтрокаВЦелое(УдалятьПустыеСтрокиТаблицыВНачалеСтраницы)));
      неудача
      конец;

    НомераСтолбцов := ПолучитьЗначениеПараметраРасширения('ЗаменятьНулиПрочерками', ПараметрыРасширений, '');
    если НомераСтолбцов &lt;&gt; '' тогда
      попытка
        комматекст := СоздатьТекст;
        комматекст.РазделенноеЗначение := НомераСтолбцов; 
        ЗаменитьНулиПрочеркамиВСтолбцах(Document.Tables.Item(1), комматекст);
      неудача
      конец;

  // тут должно уже все быть хорошо.
  
  Excel.Quit;
  если (prog &lt;&gt; nil) тогда prog.SetProgress(70);
  DeleteFile(Файл);  
  если (prog &lt;&gt; nil) тогда prog.EndProgress;
  Word.Visible := да;
  Word.ScreenUpdating := да;  
  конец;
конец.

</value>
    <param value="Расширение_ВыводОтчетаВВорд" type="3" name="version">36.042.06</param>
    <param value="Расширение_ВыводОтчетаВВорд" type="3" name="crc32">$C9B82F89</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты\Расширения">
    <value type="7" name="Расширение_ДобавитьКнопки">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\SysUtils.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Отчеты\ПоддержкаРасширений.abl';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\XLS.lib';
включить '\Библиотеки\MSXML.lib';

ДобавитьКнопкиНаПанельИнструментов(МоментВызова: Целое; ПараметрыРасширений: IXMLDOMElement; Параметры: IVariables);
переменные
  BG : IReportPages;
  Узел : строка;
начало
  если (МоментВызова = мвВыборОтчета) тогда
    начало
      BG := ReportBG;
      Если (ПараметрыРасширений &lt;&gt; nil) 
        тогда Узел := ПараметрыРасширений.Text
        иначе Узел := '';
      Если (Узел &lt;&gt; '') тогда Узел := ProjectName + '\' + Узел;  
      Если (BG &lt;&gt; nil) тогда BG.AddABLButtons(Узел);
    конец;  
конец.
</value>
    <param value="Расширение_ДобавитьКнопки" type="3" name="Export">ARTEMY\kudryavov\10.10.2007 16:03:08</param>
    <param value="Расширение_ДобавитьКнопки" type="3" name="version">36.042.06</param>
    <param value="Расширение_ДобавитьКнопки" type="3" name="crc32">$42D540D3</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты\Расширения">
    <value type="7" name="Расширение_КомпозицияПечатногоДокументаВорд">включить '\Библиотеки\Reports.lib';
включить '\Макросы\Вспомогательные.abl';

КомпозицияПечатногоДокументаВорд(МоментВызова: Целое; ПараметрыРасширений: ВнешнийОбъект; Параметры: IVariables);
константы
  wdPasteDefault = 0;
  wdLine = 5;
  wdStory = 6;

функция ВставкаТаблицыВВорд(Document: ВнешнийОбъект);
переменные
  стр: строка;
начало
  // вставляем таблицу
  Document.ActiveWindow.Selection.PasteAndFormat(wdPasteDefault);
  // cнимаем выделение
  Document.ActiveWindow.Selection.EscapeKey;
  // удаляем последние пустые строчки
  // встаем на строку таблицы
  Document.ActiveWindow.Selection.MoveUp(wdLine, 1);
  // получаем текст строчки
  стр := Document.ActiveWindow.Selection.Text;
  // для пустой строки таблицы там будет два символа, для заполненной один
  пока Длина(стр) &gt; 1 делать
  начало
    // удаляем пустую строчку
    Document.ActiveWindow.Selection.Rows.Delete;
    // поднимаемся на строчку выше
    Document.ActiveWindow.Selection.MoveUp(wdLine, 1);
    // получаем текст строчки
    стр := Document.ActiveWindow.Selection.Text;
  конец;
  // встаем под таблицу
  Document.ActiveWindow.Selection.MoveDown(wdLine, 1);
конец;

функция ЗаключительнаяОбработкаДокумента(Document: ВнешнийОбъект);
начало
  // Выравнивание таблицы по ширине
  Document.ActiveWindow.Selection.Tables(1).AutoFitBehavior(2);
  // Встаем в начало документа
  Document.ActiveWindow.Selection.HomeKey(wdStory);
конец;

начало
  Параметры.Значение("ОбработчикВыводаВВорд") := Adapter;
  ExecScript(ИмяПроекта + "\Ресурсы\Макросы\Отчеты\Расширения\Расширение_ВыводКомпозицииОтчетовВВорд", МоментВызова, ПараметрыРасширений, Параметры);
конец.
</value>
    <param value="Расширение_КомпозицияПечатногоДокументаВорд" type="3" name="version">36.042.06</param>
    <param value="Расширение_КомпозицияПечатногоДокументаВорд" type="3" name="crc32">$1720825F</param>
  </node>
  <version_info>
    <file>Сборка.СистемныеДляОтчетов.xml</file>
    <version>36.042.191</version>
    <info>&lt;p&gt;Содержит системные скрипты для отчетов. Эти скрипты все системные функции для отчетов (загрузка шаблонов, вызов событий и алгоритмов, вывод отчета и т.д).&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:05</buildtime>
  </version_info>
  <description>Системные макросы для отчетов</description>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ДинамическиеНастройки">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Generation.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаГенерации';

ДинамическиеНастройкиГенерации(CLSID, dcu: целое; Шаблон: строка);
переменные
  Визуализатор: IUniViewer; 
  Базовая, Раскладка: ITableInfoX;
  СписокСтраниц: текст;
  ТекущаяСтраница, сч, Рез, КодГенерации, Удаление, СкрытыеСтраницы: целое;
  Страницы: ITemplates;
  Страница: ITemplate;
  ЗаголовокСтраницы: строка;
начало
  Визуализатор := ModalWafer.CheckSSViewer;  
  Визуализатор.SetProject(Pather);
  Удаление := CLSID &lt; 0;
  если Удаление тогда
    КодГенерации := -CLSID
  иначе
    КодГенерации := CLSID;
  Визуализатор.Template := Шаблон;
  СписокСтраниц := СоздатьТекст;
  попытка
    Страницы := Визуализатор.Templates;
    если Страницы.Count &gt; 1 тогда
    начало
      Диалог.Очистить;
      Диалог.Добавить("Страница", "Страница", 0, 64, "", ЗаменитьСтроку(СписокСтраниц.РазделенноеЗначение, ",", #13),"");
      Страницы.Index := 0;
      Страница := Страницы.Template;
      Диалог.Параметр("Страница").Значение := Страница.PageName;
      от сч := 0 до Страницы.Count - 1 делать
      начало
        Страницы.Index := сч;
        Страница := Страницы.Template;
        Диалог.Параметр("Страница").Список := Диалог.Параметр("Страница").Список + /*#13 + */Страница.PageName;
        СписокСтраниц.Добавить(Страница.PageName);
      конец;
      Диалог.Параметр("Страница").ТолькоЧтение := да;
      если Диалог.Выполнить тогда
        ТекущаяСтраница := СписокСтраниц.Поиск(Диалог.Параметр("Страница").Значение)
      иначе
        выход;  
    конец
    иначе
      ТекущаяСтраница := 0;
  обязательно
    УдалитьОбъект(СписокСтраниц);
  конец;
      
  Страницы.Index := ТекущаяСтраница;
  Страница := Страницы.Template;
  если не Удаление тогда
  начало
    Базовая := Страница.TableInfo;
    Раскладка := LoadDynamicReport(КодГенерации, dcu, Страница.Identifier, Базовая);
    выбрать dcu из
      dcu_Generation, dcu_Control: СкрытыеСтраницы := dpCross + dpNaming + dpCriterion + dpCommon;
    иначе
      СкрытыеСтраницы := 0;
    конец;
    если Страница.PageName = "" тогда
      ЗаголовокСтраницы := "Настройка"
    иначе
      ЗаголовокСтраницы := Страница.PageName;
    Рез := TranslationEx(ЗаголовокСтраницы, Раскладка, Базовая, Mapper, нет, СкрытыеСтраницы);
    выбрать Рез из
      ttrxCancel : выход;
      ttrxApply, ttrxChange :
        SaveDynamicReport(КодГенерации, dcu, Страница.Identifier, Раскладка, Базовая);
    конец;
    Сообщение("Динамическая настройка изменена");
  конец
  иначе
  начало
    DeleteDynamicReport(КодГенерации, dcu, Страница.Identifier);
    Сообщение("Динамическая настройка удалена");
  конец;
конец;
</value>
    <param value="ДинамическиеНастройки" type="3" name="version">36.042.191</param>
    <param value="ДинамическиеНастройки" type="3" name="crc32">$AC603BBA</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="МодальныеОтчеты.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Statics.lib';
включить '\Макросы\отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Библиотеки\Pather.lib';

константы
  МаппингДляПереноса = 'Маппинг';
  
функция ВизуализаторНаМодальнойФорме(ЗаголовокФормы, ШаблонОтчета : Строка; ИдентификаторВизуализатора : Целое) : IUniViewer; 
начало
  ModalWafer.Clear;
  если (ЗаголовокФормы &lt;&gt; '') тогда ModalWafer.Caption := ЗаголовокФормы;
  Выбрать ИдентификаторВизуализатора из
    F1ID   : Результат := ModalWafer.CheckF1Viewer;
    CellID : Результат := ModalWafer.CheckCellViewer;
    SSID   : Результат := ModalWafer.CheckSSViewer;  
    иначе ВызватьОшибку('Данный визуализатор на модальной форме не поддержан')
  конец;
  Результат.SetProject(Pather);
  Результат.Template := ШаблонОтчета;
конец; 

// формируем и выводим одну страницу на визуализаторе  
функция СформироватьОднуСтраницу(v : IUniViewer; Ограничения: IVariables; ДанныеДляОтчета : СтатическиеДанные; ИндексСтраницы : Целое);
переменные
   Раскладка : ITableInfoX;
   Буф, ТекстПараметров : IVariables;
   Маппинг : строка;
   Данные_, Заголовок_ : СтатическиеДанные;
   ЭтоГипертекст: целое;
начало
  v.TemplateIndex := ИндексСтраницы;
  Раскладка := v.GetTable;
  ЭтоГипертекст := Ограничения.Values('ГиперДокумент');
  если ЭтоГипертекст тогда
    начало
      ДобавитьГиперКолонки(Раскладка);
      СнятьЛенту(Раскладка, да);
    конец иначе
    начало  
      если (не Ограничения.ПараметрСуществует('ПечатныйДокумент')) тогда
        Ограничения.Values('ПечатныйДокумент') := Да;
    конец;    
  СформироватьДанныеПоОгр(v, Раскладка, nil, Ограничения, ТекстПараметров, Данные_, Заголовок_);
  Буф := v.GetVariables;
  Маппинг := Буф.Values(МаппингДляПереноса);
  если (ДанныеДляОтчета &lt;&gt; nil) тогда FillDataSet(ДанныеДляОтчета, Данные_, Маппинг, Ограничения);
  Интерфейс(Буф).Освободить;
  ВывестиДанные(v, Раскладка, Раскладка, ТекстПараметров, Ограничения, Данные_, Заголовок_, да);
  Интерфейс(Данные_).Освободить;
  если Заголовок_ &lt;&gt; nil тогда
    Интерфейс(Заголовок_).Освободить;
  Интерфейс(Раскладка).Освободить;
  Интерфейс(ТекстПараметров).Освободить;
  Интерфейс(v).Освободить;
конец;  

// формируем и выводим одну страницу на визуализаторе  
функция СформироватьОднуСтраницуОгр(v : IUniViewer; Ограничения: IVariables; ДанныеОтчета : СтатическиеДанные; ИндексСтраницы : Целое);
переменные
   Раскладка : ITableInfoX;
   ТекстПараметров, ЗначенияПараметров : IVariables;
   Заголовок_ : СтатическиеДанные;
начало
  v.TemplateIndex := ИндексСтраницы;
  Раскладка := v.GetTable;
  
  ЗначенияПараметров := CreateVariables;
  ЗначенияПараметров := ПолучитьПараметры(v.GetVariables, '');
  ЗначенияПараметров.PumpData(Ограничения);
  
  ТекстПараметров := CreateVariables;
  СформироватьДанныеОгр(v, Раскладка, Ограничения, ЗначенияПараметров, ТекстПараметров, ДанныеОтчета, Заголовок_);
  ВывестиДанные(v, Раскладка, Раскладка, ТекстПараметров, Ограничения, ДанныеОтчета, Заголовок_, да);
  если Заголовок_ &lt;&gt; nil тогда
    Интерфейс(Заголовок_).Освободить;
  Интерфейс(Раскладка).Освободить;
  Интерфейс(ТекстПараметров).Освободить;
  Интерфейс(v).Освободить;
конец;  

функция ОтобразитьДанные(КнопкиДляПоказа, СкрПрогресс : Целое) : Целое;
переменные
  Флаг : целое; 
  Прогресс : IProgress;
начало
  Флаг := КнопкиДляПоказа;
  если (Access = Access_Adm) тогда Флаг := Флаг + sdoTemplate;
  если СкрПрогресс тогда
    начало
      Прогресс := Progress;
      если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
    конец;  
  если (ModalWafer.ShowData(Флаг) = sdrContinue)
    тогда результат := да
    иначе результат := нет;
  если СкрПрогресс тогда
    начало
      Прогресс := Progress;
      если (Прогресс &lt;&gt; nil) тогда Прогресс.BeginProgress;
    конец;  
конец;

// ИндексСтраницы &lt; 0 - выводим все страницы
функция СформироватьОтчет(v : IUniViewer; Ограничения: IVariables; ДанныеДляОтчета : СтатическиеДанные; ИндексСтраницы, СкрПрогресс : Целое) : Целое;
переменные
  сч, Флаг : целое; 
  Прогресс : IProgress;
начало
  Если (ИндексСтраницы &lt; 0) тогда
    начало
      от сч := 0 до v.TemplateCount - 1 делать
        СформироватьОднуСтраницу(v, Ограничения, ДанныеДляОтчета, сч);
    конец иначе
    начало
      СформироватьОднуСтраницу(v, Ограничения, ДанныеДляОтчета, ИндексСтраницы);
    конец;  
  
  Результат := ОтобразитьДанные(sdoNext + sdoCancel, СкрПрогресс);  
конец;

// ИндексСтраницы &lt; 0 - выводим все страницы
функция СформироватьОтчетДляРедактирования(v : IUniViewer; Ограничения: IVariables; ДанныеОтчета : СтатическиеДанные; ИндексСтраницы, СкрПрогресс : Целое) : Целое;
переменные
  сч, Флаг : целое; 
  Прогресс : IProgress;
начало
  Если (ИндексСтраницы &lt; 0)
    тогда начало
    от сч := 0 до v.TemplateCount - 1 делать
        СформироватьОднуСтраницуОгр(v, Ограничения, ДанныеОтчета, сч);
    конец
    иначе СформироватьОднуСтраницуОгр(v, Ограничения, ДанныеОтчета, ИндексСтраницы);
  
  Результат := ОтобразитьДанные(sdoNext + sdoCancel, СкрПрогресс);    
конец;

функция ОтчетНаФормуле(ДанныеДляОтчета: Данные; Ограничения: IVariables; 
                       Шаблон, Заголовок: строка; СкрПрогресс: целое): целое;
переменные
  v : IUniViewer;
начало
  v := ВизуализаторНаМодальнойФорме(Заголовок, Шаблон, F1ID);
  Результат := СформироватьОтчет(v, Ограничения, ДанныеДляОтчета, -1, СкрПрогресс);
  ModalWafer.Clear;
конец;

функция ОтчетНаДанных(ДанныеДляОтчета: Данные; Ограничения: IVariables; 
                      Шаблон, Заголовок: строка; СкрПрогресс: целое): целое;
переменные
  v : IUniViewer;
начало
  v := ВизуализаторНаМодальнойФорме(Заголовок, Шаблон, SSID);
  Результат := СформироватьОтчет(v, Ограничения, ДанныеДляОтчета, -1, СкрПрогресс);
  ModalWafer.Clear;
конец;

функция ОтчетНаДанныхДляРедактирования(ДанныеДляОтчета: Данные; Ограничения: IVariables; 
                                       Шаблон, Заголовок: строка; СкрПрогресс: целое): целое;
переменные
  v : IUniViewer;
  НаборДанных  : IStaticSets;
начало
  v := ВизуализаторНаМодальнойФорме(Заголовок, Шаблон, SSID);
  Результат := СформироватьОтчетДляРедактирования(v, Ограничения, ДанныеДляОтчета, -1, СкрПрогресс);
  // теперь возвращаем в качестве результата набора данных, то что видел пользователь
  НаборДанных := v.Viewer;
  если (НаборДанных.PageIndex &lt; 0) тогда выход;
    ДанныеДляОтчета := НаборДанных.DataSets(НаборДанных.PageIndex);
конец;

// не происходит вызова алгоритма, то есть отчет строится только на основе входного параметра "ДанныеДляОтчета"
функция ОтчетНаДанныхБезАлгоритма(ДанныеДляОтчета: Данные; Ограничения: IVariables; 
                                  Шаблон, Заголовок: строка; СкрПрогресс: целое): целое;
переменные
  v: IUniViewer;
  Раскладка: ITableInfoX;
  сч, Флаг, сч1: целое; 
  Буф: IValues;
  Данные: СтатическиеДанные;
  Маппинг: строка;
  Прогресс: IProgress;
начало
  v := ВизуализаторНаМодальнойФорме(Заголовок, Шаблон, SSID);
  от сч := 0 до v.TemplateCount - 1 делать
    начало
      v.TemplateIndex := сч;
      Раскладка := v.GetTable;
      Ограничения.Values('ПечатныйДокумент') := Да;
      Буф := v.GetVariables;
      Маппинг := Буф.Values(МаппингДляПереноса);
      если (Маппинг = '') тогда
        начало
          от сч1:=0 до ДанныеДляОтчета.FieldsCount-1 делать
            начало
              Маппинг := Маппинг + ДанныеДляОтчета.GetField(сч1).FieldName + '=' +
                                   ДанныеДляОтчета.GetField(сч1).FieldName + ',';
            конец;
          если (Маппинг &lt;&gt; '') тогда Маппинг := Подстрока(Маппинг, 1, длина(Маппинг) - 1);  
        конец;
      Данные := СоздатьСтатическиеДанные;
      ДобавитьПоля(Раскладка, Данные);
      Данные.Открыть;
      FillDataSet(ДанныеДляОтчета, Данные, Маппинг, Ограничения);
      Интерфейс(Буф).Освободить;
      ВывестиДанные(v, Раскладка, Раскладка, nil, Ограничения, Данные, nil, да);
      Интерфейс(Данные).Освободить;
      Интерфейс(Раскладка).Освободить;
      Интерфейс(v).Освободить;
    конец;
    
  Результат := ОтобразитьДанные(sdoNext + sdoCancel, СкрПрогресс);  
  ModalWafer.Clear;
конец; 

функция ОтчетНаСтранице(ДанныеДляОтчета: Данные; Ограничения: IVariables; 
                        Шаблон, Заголовок: строка; Индекс, СкрПрогресс: целое): целое;
переменные
  v : IUniViewer;
начало
  v := ВизуализаторНаМодальнойФорме(Заголовок, Шаблон, SSID);
  Результат := СформироватьОтчет(v, Ограничения, ДанныеДляОтчета, Индекс, СкрПрогресс);
  ModalWafer.Clear;
конец;

функция ПоказатьДанныеОтчета(Шаблон, Заголовок: строка; Ограничения: IVariables; Прогресс: целое) : Целое;
переменные
  v : IUniViewer;
начало
  ModalWafer.Clear;
  если (Ограничения = nil) тогда Ограничения := CreateVariables;
  v := ВизуализаторНаМодальнойФорме(Заголовок, TemplatePathEx(tpxModalReport) + Шаблон, SSID);
  Результат := СформироватьОтчет(v, Ограничения, nil, -1, Прогресс);
конец;

функция ОбновитьДанные(Шаблон, Заголовок: строка; Ограничения: IVariables; Опции: целое) : Целое;
переменные
  v : IUniViewer;
  Раскладка, ТекРаскладка : ITableInfoX;
  Огр, Заголовки, Парам, Страницы, Страница, ТекПарам, Обработчики: IVariables;
  ИменаПараметров : ITempParamsX;
  Гриды: IStaticSets;
  сч, кол : целое;
  Данные : СтатическиеДанные;
  ИмяОбработчика : строка;
начало
  ModalWafer.Clear;
  если (Ограничения = nil) тогда Ограничения := CreateVariables;
  v := ВизуализаторНаМодальнойФорме(Заголовок, TemplatePathEx(tpxModalReport) + Шаблон, SSID);
  Огр := CreateVariables;
  Раскладка := CreateTableInfo;
  Страницы := CreateVariables;
  кол := v.TemplateCount-1;
  от сч:=0 до кол делать
    начало
      Страница := CreateVariables;
      v.TemplateIndex := сч;
      Огр.PumpData(v.GetVariables);
      ТекРаскладка := v.GetTable;
      Обработчики := v.GetProjVars;
      ИменаПараметров := v.GetParams;
      Раскладка.Join(ТекРаскладка);
      Страница.Values('Таблица') := ТекРаскладка;
      Страница.Values('События') := Обработчики;
      Страница.Values('Параметры') := ИменаПараметров;
      Страницы.Values(сч) := Страница;
    конец;
    
  Огр.PumpData(Ограничения);
    
  Данные := СоздатьСтатическиеДанные;
  ДобавитьПоля(Раскладка, Данные);
  Данные.Открыть;   

  Заголовки := CreateVariables;
  
  Парам := CreateVariables;
  Парам.Values(АлгПараметры) := Огр;
  Парам.Values(АлгДанные) := Данные;
  Парам.Values(АлгЗаголовки) := Заголовки;
  Парам.Values(АлгПараметрыВывода) := Огр;
  Парам.Values(АлгВизуализатор) := v;

  от сч:=0 до кол делать
    начало
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Ракладка');
      ИменаПараметров := Страница.Values('Параметры');
      Парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
      Парам.Values(АлгРаскладка) := ТекРаскладка;
      Обработчики := Страница.Values('События');
      // Обработчик до закачки - ДоЗакачки 
      ИмяОбработчика := Обработчики.Values('ДоЗакачки');
      если (ИмяОбработчика &lt;&gt; '') тогда Event(ИмяОбработчика, Парам);
    конец;
    
  Парам.Values(АлгРаскладка) := Раскладка;
  Парам.Values(АлгГлобальныеПараметры) := Ограничения;

  ВыполнитьАлгоритмы(Раскладка, Парам);

  от сч:=0 до кол делать
    начало
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Таблица');
      ИменаПараметров := Страница.Values('Параметры');
      Парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
      Парам.Values(АлгРаскладка) := ТекРаскладка;
      Обработчики := Страница.Values('События');
      // Обработчик до закачки - ДоЗакачки 
      ИмяОбработчика := Обработчики.Values('ПослеЗакачки');
      если (ИмяОбработчика &lt;&gt; '') тогда Event(ИмяОбработчика, Парам);
      ДополнительнаяОбработкаРаскладки(ТекРаскладка, Огр);
    конец;
    
  ДополнительнаяОбработкаДанных(Раскладка, Огр, Данные);

  от сч:=0 до кол делать
    начало
      v.TemplateIndex := сч;
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Таблица');
      ВывестиДанные(v, ТекРаскладка, ТекРаскладка, Огр, Ограничения, Данные, nil, нет);
    конец;
  
  Гриды := v.Viewer;
  если (БитИ(Опции, 2) = 0) тогда
    начало
      от сч:=0 до 6 делать
        Гриды.btnVisible(сч) := нет;
    конец;
  Гриды.btnsVisible := (БитИ(Опции, 4) = 0);   
  Гриды.PageIndex := 0;
  ИмяОбработчика := v.Templates.Functions.Values('Активация');
  если (ИмяОбработчика &lt;&gt; '') тогда
    начало
      Event(ИмяОбработчика, nil);
    конец;               
конец;

функция ОтчетыН(Шаблон, Заголовок: строка; Ограничения: IVariables; Опции: целое) : Целое;
начало
  ОбновитьДанные(Шаблон, Заголовок, Ограничения, Опции);
  Результат := ОтобразитьДанные(sdoNext + sdoCancel, БитИ(Опции, 1) &lt;&gt; 0);    
конец;
</value>
    <param value="МодальныеОтчеты.abl" type="3" name="Export">ARTEMY\kudryavov\02.12.2005 17:57:28</param>
    <param value="МодальныеОтчеты.abl" type="3" name="version">36.042.191</param>
    <param value="МодальныеОтчеты.abl" type="3" name="crc32">$9FB5EB7D</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Настройки">
    <value type="3" name="Ограничения для динамических настроек">[Организация]
Организация
ВидОрганизации
ИНН
КПП
Наимен
РС
ОргСсылка
РССсылка
ОргЛС
ОргЛС11
ОрганизацияЛС
[ОрганизацияПлательщик]
ОргПлательщик
ПлатИНН
ПлатКПП
ПлатНаим
ПлатРС
ПлатОргСсылка
ПлатРССсылка
[ОрганизацияПолучатель]
ОргПолуч
ЛицСчетПолуч
ПолучИНН
ПолучКПП
ПолучНаимен
ПолучРС
ПолучОргСсылка
ПолучРССсылка
[ОргПостав]
ОргПостав
ПоставИНН
ПоставКПП
ПоставНаимен
ПоставРС
ПоставОргСсылка
ПоставРССсылка
[ОргРасп]
ОргРасп
РаспИНН
РаспКПП
РаспНаимен
РаспРС
РаспОргСсылка
РаспРССсылка
[ОргВекдат]
ОргВекдат
ВекдатИНН
ВекдатКПП
ВекдатНаимен
ВекдатОргСсылка
[БюджОрганизация]
БюджОрганизация
БюджИНН
БюджКПП
БюджНаимен
БюджРС
БюджОргСсылка
БюджРССсылка
БюджОргЛС
БюджОргЛС11
БюджОрганизацияЛС
[ОрганизацияЗак]
ОрганизацияЗак
ИННЗак
КППЗак
НаименЗак
РСЗак
РССсылкаЗак
ОргСсылкаЗак
ОргЛСЗак
ОргЛС11Зак
[ОрганизацияИсполнитель]
ОрганизацияИсполнитель
ИННИсполн
КППИсполн
НаименИсполн
РСИсполн
РССсылкаИсполн
ОргСсылкаИсполн
ОргЛСИсполн
ОргЛС11Исполн
[Однонаправленные]
СтруктураБюджета=Классификаторы,ЛицСчет,Направление,КФСР,КВСР,КЦСР,КВР,КЭСР
[ИндексыБлоковБухгалтерии]
ИндексыБлоковБухгалтерии
БлокБухДоходы
БлокБухФинансирование
БлокБухСвободныеПроводки
БлокБухМесОтчетыОрг
БлокБухУведПоРасчетам
БлокБухСредстваИзБюд
БлокБухКазначейство
БлокБухСсуды
БлокБухКредиты
БлокБухЗаимствования
БлокБухОперСоСчетами
БлокБухГарантии
БлокБухВекселя
БлокБухРоспись
БлокБухЛимиты
БлокБухОбязательства
БлокБухПланЗаимствования
БлокБухУведомления
БлокБухСводнУведомления
[КодДохода]
КодДохода
КодДоходаАдм
КодДоходаВид
КодДоходаЭК
[ИстВнутрФин]
ИстВнутрФин
ИстВнутрФинАдм
ИстВнутрФинВид
ИстВнутрФинЭК
[Свободные]
РСКазн
КазнРС
БухСчетДебет
БухСчетКредит
БухСинтетСчет
БухСинтетКорСчет
Бухпроводка
ГруппаИнформации
ЛицСчет
СЛицСчета
НаЛицСчет
СтруктураБюджета
КВСР
КФСР
КЦСР
КВР
КЭСР
Мероприятие
Направление
СубКЦСР
СубКЭСР
ФинИсточник
ФинТип
КСШК
МатЦенности
ОсновнСредства
Справочно
ОбобщающийКодДохода
КодДохода
СКодаДохода
НаКодДохода
СубКодДохода
ССубКодаДохода
НаСубКодДохода
ТипПлатДок
Район
РайонТрансферта
РайонКонтрагента
РайонБУ
СРайона
НаРайон
Код_формы
Слой
Валюта
ТипОрг
ТипСчета
ГосНИ
ТипДокОснов
ТипОтчета
ВидБюджета
ВидПлатежа
КассСимвол
ПризнакПлат
КодОперации
ТипСредствБюдж
ИстВнутрФин
ПричинаОтклон
ВидСсуды
ВидЗаим
ВидПлана
ТипРеестра
ТипОбеспечения
Баланс
ИзБюджета
Вбюджет
ВидДеятельности
ТипДеятельности
ТипКлассификации
РасхТипКлс
ИстТипКлс
ДохТипКлс
ТипКлассификацииРасх
ЕдиницыИзмерения
РасширБухСчет70н
ВыводНомераСчета
ГиперДокумент
ВидАссигнований
ВидИзменений
ГруппаПлановыхДокументов
УровеньПлановыхДокументов
ПринадлежностьЛС
Отдел
ВыбиратьКазначействоВДоходах
ВыбиратьДоходыВКазначействе</value>
    <param value="Ограничения для динамических настроек" type="3" name="version">36.042.191</param>
    <param value="Ограничения для динамических настроек" type="3" name="crc32">$F1513DE7</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Настройки">
    <value type="3" name="Ограничения алгоритмов">[Администратор]
ПраваНаВвод
ПраваНаВводГруппа
ПраваНаВводПользователь
ПраваНаВводДокумент
ПраваНаВводСостояние
СостояниеСчета

[Бухгалтерия70Н]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаРеестраТип
  ДатаВводаТип
  ДатаПринятияТип
  ДатаПроведенияТип
  ДатаПечатиТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бухгалтерия
 Финуправление
 Казначейство
Классификаторы 
 СтруктураБюджета
 КФСР
 КВСР
 КВР
 КЦСР
 КЭСР
 СубКЭСР
 КодДохода
 СубКодДохода
 ИстВнутрФин
 ФинИсточник
 ФинИсточники
 ФинТип
 ФинТипы
 Мероприятие
 ТипПлатДок
 ТипСредствБюдж
 Район
 ЛицСчет
 КодДохода
 СубКодДохода
 Валюта
 Слой
 ГосНИ
 Вбюджет
 ТипСчета
 ВидПлана
 БухОперация
 БК
 БКпоДебету
 БКпоКредиту
 @ППП
 @ПППДебет
 @ПППКредит
 КОСГУ
 КОСГУДебет
 КОСГУКредит
 ТипДеятельности
 КодСубсидии
Пользователь
Бюджет
МультиБюджет
ПринятыеЛимиты
ПринятыеРеестры
Визы
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 РС
 РССсылка
 ОргСсылка
 ОргЛС
РСКазн
КазнРС
ОргПолуч
 ПолучИНН
 ПолучКПП
 ПолучНаимен
 ПолучОргСсылка
ОргРасп
 РаспИНН
 РаспКПП
 РаспНаимен
 РаспОргСсылка
РСФО
ТипУведомления
НомерДокМнож
 НомерСправки
 НомерДокИсточн
 НомерБО
 НомерДок
НомерДокПрост
ОргПлательщик
 ПлатИНН
 ПлатКПП
 ПлатНаим
 ПлатРС
 ПлатОргСсылка
 ПлатРССсылка
Статус 
 ПроведНеПровед
Примечание
 ТипПримечания
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм
БухСинтетСчет
Баланс
БухСчетДебет
БухСчетКредит
ВидДеятельности
ВыводНомераСчета
РасширБухСчет70н
ИндексыБлоковБухгалтерии
 БлокБухДоходы
 БлокБухФинансирование
 БлокБухСвободныеПроводки
 БлокБухУведПоРасчетам
 БлокБухСредстваИзБюд
 БлокБухКазначейство
 БлокБухСсуды
 БлокБухКредиты
 БлокБухЗаимствования
 БлокБухОперСоСчетами
 БлокБухГарантии
 БлокБухВекселя
 БлокБухРоспись
 БлокБухЛимиты
 БлокБухОбязательства
 БлокБухПланЗаимствования
 БлокБухУведомления
 БлокБухСводнУведомления
ГиперДокумент
УчетФиктивныхРС
ИсключатьВнутренниеОбороты
ПериодПланирования
РайонТрансферта
РайонКонтрагента
РайонБУ

[Бюджет] 
ОднаДата
Даты
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
НомерДокПрост
МультиБюджет
Бюджет
 Роспись
 ВариантРосписи
 Уведомления
ИндексАлгоритма
 УчетПланРас
 УчетПланЗаим
ПринадлежностьЛС
Классификаторы
 СтруктураБюджета
 КВР
 КЭСР
 КВСР
 КЦСР
 КФСР
 СубКЭСР
 Направление
 ТипСчета
 Мероприятие
 ФинТип
 ФинТипы
 ФинИсточник
 ФинИсточники
 Район
 ТипСредствБюдж
 ЛицСчет
 ТипДокОснов
 ВидПлана
 ТипКлассификацииРасх
 ТипКлассификации
 РасхТипКлс
 ИстТипКлс
 ДохТипКлс
 ТипДеятельности 
 ПричинаОтклон
 ВидАссигнований
 ВидИзменений
 ВидДеятельности
 КодЦелевыхСредств
 Код_Цели
 ИстВнутрФин
  ИстВнутрФинАдм
  ИстВнутрФинВид
  ИстВнутрФинЭК
 КодДохода
 СубКодДохода
 КодСубсидии
 КодБюджАссигнования
 КодРасходногоОбязательства
 ВидОргВладельцаЛС
СоставБюджета
 Роспись
 Уведомления
 ВариантРосписи
 ГруппаПлановыхДокументов
 УровеньПлановыхДокументов
Организация
 ВидОрганизаций
 ТипОрг
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
 РС
 ОрганизацияЛС
НомерДокМнож
 НомерДок
 НомерДокИсточн
Пользователь
Включать
РСФО
ВыводОграничений
ГиперДокумент
ЕдиницыИзмерения
 ОкруглениеСумм
ТипДатыУнивер
 НеОграничиватьТип
 ДатаВводаТип
 ДатаПринятияТип
ВыбиратьАссигнования
РайонТрансферта
РайонКонтрагента
РайонБУ
Характер_ЛС
 лс_БУ_АУ
 лс_ОтдельныйБУ_АУ
 лс_ОМС
 лс_ГРБС
 лс_ПБС
 лс_ПоПереданнымПолномочиям
 лс_Фиктивные
 лс_БУ_АУ_ОтдельныйБУ_АУ
Отдел

[БюджетныеОбязательства]
ПринадлежностьЛС
ОднаДата
 НачалоПериода
Даты
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
Классификаторы
 СтруктураБюджета
 КВР
 КЭСР
 КВСР
 КЦСР
 КФСР
 СубКЭСР
 Направление
 ФинТипы
 Мероприятие
 ФинТип
 ФинИсточник
 ФинИсточники
 ТипСредствБюдж
 Район
 ТипПлатДок
 ЛицСчет
 БухОперация
 ТипДеятельности
 ВидДеятельности
 КодЦелевыхСредств
 КодСубсидии
 КодБюджАссигнования
 КодРасходногоОбязательства
 ПричинаОтклон
НомерДокПрост
НомерДокМнож
 НомерБО
 НомерДок
 ДогНом
ВыклУвед
ОргПолуч
 ПолучИНН
 ПолучКПП
 ПолучНаимен
 ПолучОргСсылка
Организация
 ВидОрганизаций
 ТипОрг
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
ОргПлательщик
 ПлатИНН
 ПлатКПП
 ПлатНаим
 ПлатОргСсылка
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[Взаимозачеты]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПроведенияТип
  ДатаСправкиТип
  ДатаПротоколаТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
Незавершенные
Классификаторы
 Регион
 КодДохода
 СубКодДохода
 ТипПлатДок
 Район
 СтруктураБюджета
 ЛицСчет
 КФСР
 КВСР
 КВР
 КЦСР
 СубКЦСР
 КЭСР
 СубКЭСР
 Направление
 ФинИсточник
 ФинТип
 Мероприятие
 КодСубсидии
НомерДокПрост
НомерДокМнож
 НомерДок
 НомерСправки
Организация
 ИНН
 КПП
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[Доходы]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
  ДатаПоступленияНевыясненныхТип
  ДатаСписанияНевыясненныхТип
  ДатаПоступленияИСписанияНевыясненныхТип  
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
Классификаторы
 ТипПлатДок
 КодДохода
 СубКодДохода
 Район
 ТипСредствБюдж
 Валюта
 Слой
 ГосНИ
 БухОперация
 ТипДеятельности
 ПричинаОтклон
 ЛицСчет
 ОргЛС
 Мероприятие
 ОКАТО
 ВидДеятельности
 КодЦелевыхСредств
 КодСубсидии
 Код_Цели
 ВидОргВладельцаЛС
РСФО
Организация
 ВидОрганизаций
 ТипОрг
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
Незавершенные
НомерДокПрост
НомерДокМнож
 НомерДок
ЕдиницыИзмерения
 ОкруглениеСумм
ВыводОграничений
ГиперДокумент
КазнРС
ВыбиратьКазначействоВДоходах
НеУчитыватьУведомленияОбУточнении
РайонТрансферта
РайонКонтрагента
РайонБУ

[Заимствования]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПроведенияТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
Классификаторы
 Район
 СубКодДохода
 ТипПлатДок
 ИстВнутрФин
 Валюта
 Бухпроводка
 БухОперация
 ВидЗаим
 ВидДеятельности
Организация
 ТипОрг
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
НомерДокПрост
НомерДокМнож
 НомерСправки
РСФО
ВыводОграничений
ГиперДокумент
ЕдиницыИзмерения
 ОкруглениеСумм
СписокДоговоровПоКредитамИГарантиям
УчетФиктивныхРС

[Заявки]
Бюджет
МультиБюджет
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаВводаТип
  ДатаРеестраТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Год
Классификаторы
 СтруктураБюджета
 КФСР
 КЭСР
 КВСР
 КЦСР
 КВР
 Направление
 ФинТип
 ФинТипы
 ФинИсточник
 ФинИсточники
 Мероприятие
 Район
 ТипПлатДок
 БухПроводка
 КассСимвол
 ЛицСчет
 ТипСредствБюдж
 ТипДокОснов
 КодДохода
 СубКодДохода
 ИстВнутрФин
 СубКЭСР
 ТипДеятельности
 ВидДеятельности
 КодСубсидии
 КодБюджАссигнования
 КодРасходногоОбязательства
НомерДокПрост
Пользователь
НомерДокМнож
 НомерБО
РСФО
ОргПолуч
 ПолучИНН
 ПолучКПП
 ПолучНаимен
 ПолучРС
 ПолучОргСсылка
 ПолучРССсылка
ОргПостав
 ПоставИНН
 ПоставКПП
 ПоставНаимен
 ПоставРС
 ПоставОргСсылка
 ПоставРССсылка
Примечание
 ТипПримечания
ОргПлательщик
 ПлатНаим
 ПлатРС
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[ИнкассовыеПоручения]
Обработка
 Обработанные
 ЧастичноОбработанные
 Необработанные
ОднаДата
 НачалоПериода
ДатаОтправления
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПроведенияТип
  ДатаИспЛистаТип
  ДатаИнкассовогоТип
  ДатаОтнесенияТип
  ДатаИнкассовогоИОтнесенияТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
НомерДокМнож
 НомерДок
 НомерДокИсточн
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 РС
 РССсылка
 ОргСсылка
Классификаторы
 Район
 Мероприятие
ИсполнениеИнкассовых
 Исполненные
 ЧастичноИсполненные
 Неисполненные
БезАрхивных
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
 ОргЛС
РСФО
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[Казначейство]
ПринадлежностьЛС
ВклДокументыВыбор
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаРеестраТип
  ДатаВводаТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
УчетДанных
 УчетКазн
Классификаторы
 СтруктураБюджета
 КФСР
 КВСР
 КВР
 КЦСР
 КЭСР
 ТипПлатДок
 СубКЭСР
 Направление
 ФинИсточник
 ФинИсточники
 ФинТип
 ФинТипы
 Мероприятие
 ТипСредствБюдж
 БухПроводка
 Район
 ЛицСчет
 ПричинаОтклон
 ТипРеестра
 ВидПлатежа
 ТипДеятельности
 ИстВнутрФин
  ИстВнутрФинАдм
  ИстВнутрФинВид
  ИстВнутрФинЭК
 ТипКлассификацииРасх 
 ВидДеятельности
 КодЦелевыхСредств
 КодСубсидии
 Код_Цели
 КодДохода
 КодБюджАссигнования
 КодРасходногоОбязательства
 ВидОргВладельцаЛС
Пользователь
Бюджет
МультиБюджет
ПринятыеЛимиты
ПринятыеРеестры
Визы
Организация
 ВидОрганизаций
 ТипОрг
 РС
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
 ОргЛС
 ОрганизацияЛС
 ОрганизацияЛСВлад
 ОрганизацияЛСГРК
РСКазн
КазнРС
ОргПолуч
 ПолучИНН
 ПолучКПП
 ПолучНаимен
 ПолучОргСсылка
 ПолучРС
ОргРасп
 РаспИНН
 РаспКПП
 РаспНаимен
 РаспОргСсылка
НомерДокМнож
 НомерДокИсточн
 НомерРеестра
 НомерДок
Статус
 ПроведНеПровед
НомерДокПрост
Сумма
РСФО
ОчередностьПлатежа
ВыводОграничений
ГиперДокумент
ЕдиницыИзмерения
 ОкруглениеСумм
ВыбиратьДоходыВКазначействе
НеУчитыватьУведомленияОбУточнении
ВидАссигнований
ИнформацияОНалоге
РайонТрансферта
РайонКонтрагента
РайонБУ

[КвартальныеОтчеты]
УчетДанных
 УчетКвартОтч
ОднаДата
Даты
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Пользователь
Бюджет
МультиБюджет
Классификаторы
 СтруктураБюджета
 Район
 КФСР
 КЭСР
 КВСР
 КЦСР
 КВР
 ФинТип
 ФинТипы
 ЛицСчет
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
 ОргЛС
СчетПолучателя
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[КонсолидацияИнформации]
Даты
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
  ДатаСдачиТип
  ДатаОтчетаТип
  НачальнаяДата
  КонечнаяДата
  Месяц
  Квартал
  Год
Классификаторы 
  СтруктураБюджета
  КФСР
  КВСР
  КВР
  КЦСР
  КЭСР
  СубКЭСР
  ИстВнутрФин
  Мероприятие
  Район
  ЛицСчет
  КодДохода
  ВидДеят
ВыводОграничений
КодДоходаАдм
КодДоходаВид
КодДоходаЭК
ИстВнутрФинАдм
ИстВнутрФинВид
ИстВнутрФинЭК
КодСтроки
КодФормы
Организация
  ИНН
  КПП
  Наимен
  ОргСсылка
  ОргЛС
НомерДокПрост
  НомерДок
Примечание
 ТипПримечания
Конс_Раздел
НеОграничиватьРаздел
ДоходыБюджета
РасходыБюджета
ИсточникиБюджета

[Кредиты]
ОднаДата
Даты
 НачальнаяДата
 КонечнаяДата
Классификаторы
 ИстВнутрФин
 СубКодДохода
 ФинТипы
  ПогашениеКредита
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
Незавершенные
СписокДоговоров
Бюджет
МультиБюджет
НомерДокМнож
 НомерДок
ВыводОграничений
СостояниеДоговоров

[Кредиты2]
Бюджет
МультиБюджет
Даты
 Месяц
 Год
 НачальнаяДата
 КонечнаяДата
 СубКодДохода
 ИстВнутрФин
 ВидЗаим
Организация
 ИНН
 КПП
СписокДоговоров
Организация
 ИНН
 КПП
 Наимен
ОднаДата
Классификаторы
 ЛицСчет
 Мероприятие
 СубКодДохода
 Район
 ВидЗаим
 Валюта
НомерДокМнож
 НомерДок
ВыводОграничений
СостояниеДоговоров
СписокДоговоровПоКредитамИГарантиям
ОснДолг
Проценты
Пени
ПениПоОснДолгу
ПениПоПроцентам
ДопРасходы

[Лимиты]
ПринадлежностьЛС
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
НомерДокПрост
 НомерДок
Классификаторы
 СтруктураБюджета
 КВР
 КЭСР
 КВСР
 КЦСР
 КФСР
 СубКЭСР
 Направление
 ТипПлатДок
 Мероприятие
 ТипСредствБюдж
 ФинИсточник
 ФинТип
 ФинТипы
 ФинИсточники
 Район
 ЛицСчет
 ТипКлассификацииРасх
 ТипДеятельности 
 ВидДеятельности
 КодЦелевыхСредств
 КодСубсидии
ПринятыеЛимиты
ПринятыеРеестры
Пользователь
ВыклУвед
Бюджет
МультиБюджет
ВыводОграничений
ТипОрг
БюджОрганизация
 БюджИНН
 БюджКПП
 БюджНаимен
 БюджРС
 БюджОргСсылка
 БюджРССсылка
 БюджОргЛС
 БюджОргЛС11
 БюджОрганизацияЛС
ЕдиницыИзмерения
 ОкруглениеСумм
ГиперДокумент

[МесОтчОрг]
ОднаДата
 НачалоПериода
Даты
 НачальнаяДата
 КонечнаяДата
 Месяц
 Год
Организация
 ТипОрг
 РС
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
 ОргЛС
 ОрганизацияЛС
Бюджет
МультиБюджет
УчетДанных
 УчетМесОтч
НулевыеКЭСР
Классификаторы
 ТипОрг
 СтруктураБюджета
 ФинТип
 ФинТипы
 КФСР
 КЭСР
 КВСР
 КЦСР
 КВР
 СубКЭСР
 Направление
 ТипСредствБюдж
 ЛицСчет
 ТипДокОснов
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[НагрузкаНаСистему]
ОднаДата

[ОперативныеДанные]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Классификаторы
 СтруктураБюджета
 Район
 КФСР
 КВСР
 ГруппаИнформации
 КВР
 КЦСР
 КЭСР
 СубКЭСР
 Направление
 ФинИсточники
 ФинТипы
 Мероприятие
 ЛицСчет
 ТипСредствБюдж
 КодДохода
 СубКодДохода
 ИстВнутрФин
 ТипДеятельности
 ВидДеятельности
 КодСубсидии
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
Пользователь
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[ОперацииСоСчетами]
Бюджет
МультиБюджет
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
  ДатаПроведенияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Классификаторы
 Район
 РСФО
 ТипДеятельности
 ВидДеятельности
 КодЦелевыхСредств
ВыводОграничений
ГиперДокумент
ЕдиницыИзмерения
 ОкруглениеСумм
УчетФиктивныхРС

[ПеречислениеСредств]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаВводаТип
  ДатаОтправленияТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
НомерДокМнож
 НомерПакета
 НомерДокИсточн
ОбработкаЭлДок
 ОбработанныеАвтоматически
Статус
 Сформированные
 Отправлено
 Ошибка
 Проведено
 Врассмотрении
ИсточникДанных
 ППФО
 ППВозвратДоходов
 ППКазн
 ППРайон
ОргПлательщик
 ПлатИНН
 ПлатКПП
 ПлатНаим
 ПлатРС
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[ПланДоходов]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
Роспись
ВариантРосписи
Уведомления
Классификаторы
 ТипДокОснов
 ТипПлатДок
 КодДохода
 СубКодДохода
 Район
 Валюта
 Слой
 ГосНИ
 ЛицевойСчет
 ТипСредствБюдж
 ТипДеятельности
 ПричинаОтклон
 ВидДеятельности
РСФО
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
НомерДокПрост
 НомерДок
 НомерДокИсточн
ВыводОграничений
ГиперДокумент
ЕдиницыИзмерения
 ОкруглениеСумм
ВидПлана
 
[ПланЗаимствования]
НомерДокПрост
 НомерДок
 НомерДокИсточн
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
МультиБюджет 
Бюджет
 Роспись
 ВариантРосписи
 Уведомления
Классификаторы
 ТипДокОснов
 ТипПлатДок
 СубКодДохода
 Район
 Валюта
 ИстВнутрФин
 ТипДеятельности
 ПричинаОтклон
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
ТипУведомления
Примечание
 ТипПримечания
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[ПланФинансирования]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
Классификаторы
 ТипПлатДок
 СубКД
 ТипДокОснов
ТипУведомления
Примечание
 ТипПримечания
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[ПлатПоручения]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПроведенияТип
  ДатаВводаТип
  ДатаПринятияТип
  ДатаПечатиТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
Классификаторы
 СтруктураБюджета
 ТипПлатДок
 КВР
 КЭСР
 КВСР
 КЦСР
 КФСР
 ЛицСчет
 СубКЭСР
 Направление
 Мероприятие
 Район
 ТипСредствБюдж
 ФинИсточник
 ФинИсточники
 ФинТип
 ФинТипы
 ТипСчета
 Валюта
 ТипДеятельности
 ТипКлассификацииРасх
 ВидДеятельности
Организация
 ТипОрг
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
 ОргЛС
 ОрганизацияЛС
 РС
ОргПлательщик
 ПлатИНН
 ПлатКПП
 ПлатНаим
 ПлатОргСсылка
 ПлатРС
ОргПолуч
 ПолучИНН
 ПолучКПП
 ПолучНаимен
 ПолучРС
 ПолучОргСсылка
 ПолучРССсылка
ОргРасп
 РаспИНН
 РаспКПП
 РаспНаимен
 РаспОргСсылка
 РаспРС
НомерДокМнож
 НомерДокИсточн
 НомерДок
 НомерБО
Статус
 ПроведНеПровед
ППТипОбъединения
 ППВерхнийУровень
 ППНижнийУровень
ОчередностьПлатежа
ВыводОграничений
ЕдиницыИзмерения
 ОкруглениеСумм

[СводныеУведомления]
Бюджет
МультиБюджет
Пользователь
ПринадлежностьЛС
Примечание
 ТипПримечания
Даты
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаВводаТип
  ДатаПринятияТип
  ДатаОтправленияТип
  ДатаУчетаТип
 НачальнаяДата
 КонечнаяДата
НомерДокПрост
 НомерДок
Классификаторы
 ЛицСчет
 СтруктураБюджета
 КФСР
 КВСР
 КЦСР
 КВР
 КЭСР
 РайонТрансферта
 РайонБУ
 Код_Цели
 ИстВнутрФин
  ИстВнутрФинАдм
  ИстВнутрФинВид
  ИстВнутрФинЭК
 ВидДеятельности
 КодБюджАссигнования
 КодРасходногоОбязательства
Организация
 ИНН
 КПП
 Наимен

[СетиИШтаты]
Бюджет
МультиБюджет
ОднаДата
Даты
 НачальнаяДата
 КонечнаяДата
 Год
 Квартал
Классификаторы
 КФСР
 КВСР
 КЦСР
 КВР
 СубКЦСР
 Направление
 Район
 КСШК
 ТипСчета
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 РС
 ОргСсылка
ОргПолуч
 ПолучИНН
 ПолучКПП
 ПолучНаимен
 ПолучОргСсылка
 ПолучРС
ОргРасп
 РаспИНН
 РаспКПП
 РаспНаимен
 РаспОргСсылка
 РаспРС

[Ссуды]
Бюджет
МультиБюджет
ОднаДата
Даты
 НачальнаяДата
 КонечнаяДата
 Год
 Месяц
Классификаторы
 ТипОрг
 ВидСсуды
 Район
 Мероприятие
 ФинИсточник
 ФинИсточники
 ФинТип
 ФинТипы
 ЛицСчет
 БухПроводка
Организация
 ТипОрг
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
СписокДоговоров
НомерДокМнож
 НомерДок
ВыводОграничений
СписокДоговоровПоСсудам

[УведомленияПоРасчетам]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаВводаТип
  ДатаПринятияТип
  ДатаПроведенияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
ТипУведомления
Классификаторы
 ФинТипы
 СтруктураБюджета
 КФСР
 КВСР
 КВР
 КЦСР
 КЭСР
 СубКЭСР
 Направление
 Вбюджет
 Район
 БухОперация
 ТипДеятельности
 ВидДеятельности
Пользователь
РСФО
ТипОрг
ВыводОграничений
ГиперДокумент
ЕдиницыИзмерения
 ОкруглениеСумм

[Финансирование]
Сумма
ДатаОтправления
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПроведенияТип
  ДатаВводаТип
  ДатаПринятияТип
  ДатаПечатиТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Бюджет
МультиБюджет
УчетДанных
 УчетФин
Классификаторы
 ТипОрг
 СтруктураБюджета
 ТипПлатДок
 КВР
 КЭСР
 КВСР
 КЦСР
 КФСР
 ЛицСчет
 СубКЭСР
 Направление
 Мероприятие
 Район
 ТипСредствБюдж
 ФинИсточник
 ФинИсточники
 ФинТип
 ФинТипы
 ТипСчета
 Валюта
 ТипДокОснов
 БухОперация
 ТипКлассификацииРасх
 ТипДеятельности
 ВидДеятельности 
 КодСубсидии
Организация
 ТипОрг
 РС
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
 ОргЛС
 ОрганизацияЛС
ОргПлательщик
 ПлатИНН
 ПлатКПП
 ПлатНаим
 ПлатРС
 ПлатОргСсылка
 ПлатРССсылка
ОргПолуч
 ПолучИНН
 ПолучКПП
 ПолучНаимен
 ПолучОргСсылка
ОргРасп
 РаспИНН
 РаспКПП
 РаспНаимен
 РаспОргСсылка
Организация
 ВидОрганизации
 ИНН
 КПП
 Наимен
 ФИО
  ТипФИО
 Адрес
  ТипАдреса
 ОргСсылка
 ОргЛС
НомерДокМнож
 НомерДокИсточн
 НомерБО
 НомерДок
Пользователь
Статус
 ПроведНеПровед
Примечание
 ТипПримечания
РСФО
ВыводОграничений
ГиперДокумент
ЕдиницыИзмерения
 ОкруглениеСумм
УчетФиктивныхРС
РайонТрансферта
РайонКонтрагента
РайонБУ

[ОбменСБанком]
Бюджет
МультиБюджет
РСФО
ИсточникДанных
 ППФО
 ППКазн
 ППРайон
 ППВозвратДоходов
Статус
 Врассмотрении
 Сформированные
 Отправлено
 ПринятыеКОплате
 Ошибка
 ПомещенныеВОчередь
 ОтзываютсяИзОчереди
 ОтозванныеИзОчереди
 ВозвращеннныеИзОчереди
 Проведено
Примечание
 ТипПримечания
ТекстОшибки
 ТипТекстаОшибки
 ТипДатыУнивер
  ДатаПроведенияТип
  ДатаВводаТип
  ДатаОтправленияТип
ОднаДата
НомерДокМнож
 НомерДок
 НомерДокИсточн
 НомерЭлДок
 НомерРеестраЭПД
 НомерПакета
РСФО
ОбработкаЭлДок
 ОбработанныеАвтоматически
 ОбработанныеВручную
Классификаторы
 ЛицСчет
ОргПлательщик
 ПлатИНН
 ПлатКПП
 ПлатНаим
ОргПолуч2
 ПолучИНН2
 ПолучКПП2
 ПолучНаимен2
 ПолучРС2
Сумма
 ТипСуммы
Организация
 ИНН
 КПП
 Наимен
ВыводОграничений

[УчетДоговоров]
Бюджет
МультиБюджет
СоставБюджета
 Роспись
 ВариантРосписи
 Уведомления
ОднаДата
Классификаторы
 ЛицСчет
 Мероприятие
 Район
 ТипПлатДок
 КФСР
 КВСР
 КВР
 КЦСР
 КЭСР
 ТипДок
 ВидДеятельности
 ВидОргВладельцаЛС
Организация
 ИНН
 КПП
 Наимен
 ОргЛС
 ОргЛС11
Даты
 Год
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаДокументаТип
  ДатаНачалаТип
  ДатаОкончанияТип
  ДатаРассмотренияТип
  ДатаИсполненияТип
  ДатаОплатыТип
  ДатаПечатиТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 ТипДатыДог
ОргПолуч2
 ПолучИНН2
 ПолучНаимен2
 ПолучРС2
ОргПостав
 ПоставИНН
 ПоставНаимен
 ПоставРС
ТипДокДИ 
УчетДоговоров
 РайонДоговора
 МероприятиеДоговора
 ВидУчета
  ВидУчета0
  ВидУчета1
  ВидУчета2
 ПослУточ
 ТипСогл
 ТипДокДИ
НомерДокМнож
 НомерБО
 НомерДок
 НомерЭтапа
 НомерДокИсп
 ДоговораБО
ОрганизацияЗак
 ИННЗак
 КППЗак
 НаименЗак
 ОргЛСЗак
 ОргЛС11Зак
ОрганизацияИсполнитель
 ИННИсполн
 КППИсполн
 НаименИсполн
 ОргЛСИсполн
 ОргЛС11Исполн
НомерДокПрост
 ДогНом
 НомерЭтапа
РеестровыйНомер
РеестровыйНомерКодЗак
РеестровыйНомерГод
РеестровыйНомерНомер
ВыводОграничений

[БО_Запрос]
НомерДокПрост
НомерДокМнож
 НомерДок
 ДогНом
 НомерЭтапа
ВыводОграничений

[ЗаявкиНаЗакупку]
Бюджет
МультиБюджет
Даты
 Год
Классификаторы
 ЛицСчет
 КВР
 КЭСР
ВыводОграничений

[КурсоваяРазница]
Бюджет
МультиБюджет
Даты
 НачальнаяДата
 КонечнаяДата
НомерДокМнож
 НомерДок
Организация
 ИНН 
 КПП
ВыводОграничений

[ОргСправочно]
Бюджет
МультиБюджет
Даты
 Месяц
 Год
 ЛицСчет
КФСР
КВСР
КВР
КЦСР
КЭСР
ФинТип
Справочно
Район
Организация
 ИНН
 КПП
 Наимен
ВыводОграничений

[Векселя]
ТипДатыУнивер
 ДатаПриходаТип
 ДатаУходаТип
Организация
 ИНН
 КПП
 ТипОрг 
ВыводОграничений
ГиперДокумент
НомерВекс
ДогНом
ОргВекдат
ВекдатИНН
ВекдатКПП
ВекдатНаимен
ВидОперации
 ПриходВКачДохода
 Покупка
 Финансирование
 Продажа


[СсудыНачисление]
Бюджет
МультиБюджет
Даты
 НачальнаяДата
 КонечнаяДата
НомерДокМнож
 НомерДок
Организация
 ИНН
 КПП
ВыводОграничений

[СредстваИзДругихБюджетов]
Бюджет
МультиБюджет
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПроведенияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Классификаторы 
 ТипПлатДок
 КодДохода
 СубКодДохода
 ГосНИ
 ЛицСчет
 ТипСредствБюдж
 КФСР
 КЦСР
 КВСР
 КВР
 КЭСР
 СубКЭСР
 Направление
 Мероприятие
 ФинИсточники
 ФинТип
 ФинТипы
 Район
 ТипДеятельности
 ВидДеятельности
ГиперДокумент
ТипОрг
ЕдиницыИзмерения
 ОкруглениеСумм
УчетФиктивныхРС

[СвободныеПроводки]
Бюджет
МультиБюджет
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПроведенияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Классификаторы
 Район
 Валюта
 ТипДеятельности
 ВидДеятельности
РСФО
ГиперДокумент
ЕдиницыИзмерения
 ОкруглениеСумм
УчетФиктивныхРС

[Гарантии]
ОднаДата
 НачалоПериода
Даты
 ТипДатыРасш
 ТипОгрДата
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
 Месяц
 Квартал
 Год
Классификаторы
Валюта
Район
Мероприятие
ЛицСчет
НомерДок
РСФО
СписокДоговоровПоГарантиям
СписокДоговоровПоКредитам
ВидЗаим
ГиперДокумент

[Делопроизводство]
Пользователь
Даты
ТипДатыУнивер
НеОграничиватьТип
ДатаПоступленияНевыясненныхТип
ДатаОтправленияТип
ДатаПриходаТип
ДатаУходаТип
НачальнаяДата
КонечнаяДата
Дело
Содержание
ВхНомер
ИсхНомер
Исполнение
КарточкаУчета
ДатаИсполнения
Корреспондент
Исполнитель
Классификаторы
ТипДокОснов

[ПланированиеБюджета]
Пользователь
ОднаДата
Даты
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаПринятияТип
  ДатаСозданияТип
 НачальнаяДата
 КонечнаяДата
Классификаторы
 ЛицСчет 
 ТипСредствБюдж
 КФСР
 КЦСР
 КВСР
 КВР
 КЭСР
 СубКЭСР
 Направление
 Мероприятие
 ФинИсточники
СлоиЗаг
 СлоиТип
 СлоиСлой
 СлоиВерсия

[Уведомления]
Бюджет
ПринадлежностьЛС
ОднаДата
 НачалоПериода
Даты
 ТипДатыУнивер
  НеОграничиватьТип
  ДатаВводаТип
  ДатаПринятияТип
 НачальнаяДата
 КонечнаяДата
Классификаторы
 ЛицСчет
 КФСР
 КВСР
 КЦСР
 КВР
 КЭСР
 ИстВнутрФин
 ИстВнутрФинАдм
 ИстВнутрФинВид
 ИстВнутрФинЭК
 КодДохода
 КодЦелевыхСредств
 Код_Цели
 КодБюджАссигнования
 КодРасходногоОбязательства
Организация
 ИНН
 КПП
 Наимен
РайонТрансферта
РайонКонтрагента
РайонБУ 
 </value>
    <param value="Ограничения алгоритмов" type="3" name="version">36.042.191</param>
    <param value="Ограничения алгоритмов" type="3" name="crc32">$48AA12F0</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="ПечатьДокумента">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Forms.lib';
включить '\Библиотеки\XLS.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\SysUtils.lib';
переменные
  Grids : IStaticSets;
  л, п, сч : ЦЕЛОЕ;
  ПД, Ключи, Маппинг, Имя : строка;
  XLS : IXLSContainer;
  Vars : IVariables;
  Данные : СтатическиеДанные;
  v: IUniViewer;
  BG: IReportBG;  
  СкрытьСтроки, План, Факт, ВыборСумм: ЦЕЛОЕ;
начало
  BG := ReportBG;
  если (BG = nil) тогда выход;
  v := BG.ViewerByID(SSID);
  если (v = nil) тогда выход;
  Grids := v.Viewer;
  если (Grids = nil) тогда выход;
  если (Grids.GlobalRange(л, п) = нет) тогда выход;
  ПД := v.GetResource('ПечатныйДокумент');
  если (ПД = '') тогда 
    начало
      ПД := v.Template;
      если (ПД = '') тогда выход;
      ПД := ChangeFileExt(ПД, '.XLS');
    конец иначе
    начало
      ПД := СтроковаяКонстанта(13, 19) + ПД; 
    конец;
  Ключи := v.GetResource('Ключи');
  если (Ключи = '') тогда выход;
  если (Grids.Count = 0) тогда выход;
  Vars := Grids.Variables(0);
  Маппинг := v.GetResource('Маппинг');
  XLS := CreateComObject(XLSContainer);
  XLS.OpenFile(ПД);
  если (л &lt; 0) тогда л := 0;
  СкрытьСтроки := Прописные(v.GetResource('СкрытьПустыеСтроки')) = 'ДА';
  ВыборСумм := Прописные(v.GetResource('ВыборСуммДляПечати')) = 'ДА';
  если ВыборСумм тогда
    начало
      Диалог.Очистить;
      Диалог.Заголовок := 'Укажите суммы для вывода';
      Диалог.Добавить('Вид сумм', 'ВидСумм', 0, ТолькоЧтение);
      Диалог.Добавить('Факт', 'Факт', 1, Проверка + ТолькоЧтение);
      Диалог.Добавить('План', 'План', 1, Проверка + ТолькоЧтение);
      Диалог.Флаг('Факт') := да;
      Диалог.Флаг('План') := да;
      если не Диалог.Выполнить тогда выход;
      Факт := Диалог.Флаг('Факт');
      План := Диалог.Флаг('План');

      если Факт и не План тогда
        Маппинг := 'YEARSUMMA=_;REGIONYEARSUMMA=_;PLANSUMMA=_;REGIONPLANSUMMA=_';
      если План и не Факт тогда
        Маппинг := 'FACTSUMMA=_;REGIONFACTSUMMA=_';
    конец;
    
  от сч := л до п делать
    начало
      Имя := 'TableRow';
      если (сч &lt;&gt; 0) тогда Имя := Имя + ЦелоеВСтроку(сч);
      Данные := Grids.GetGlobalSS(сч);
      PutDataToXLSEx(XLS, Данные, Vars, Имя, Ключи, Маппинг, СкрытьСтроки);
    конец;
  XLS.Show(3);   
конец.
</value>
    <param value="ПечатьДокумента" type="3" name="version">36.042.191</param>
    <param value="ПечатьДокумента" type="3" name="crc32">$56E216CD</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаВывода.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\SharedParams.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\output.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\F1Tools.lib';
включить '\Библиотеки\OptionTools.lib';
/$если Бюджет
включить '\Библиотеки\DBTools.lib';
/$конец
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';

константы
  кГлобальныеПараметры = 'ГлобальныеПараметры';
  кПарамНеВыполнятьАлг = 'НеВыполнятьАлгоритм';
  кИмяАлгоритма = 'ИмяАлгоритма';

функция КоллекцияВПротокол(К : IVariables; Заголовок : строка);
переменные
  Протокол : ОкноВывода;
  сч, Кол : целое;
  стр : строка;
начало
  если (К &lt;&gt; nil) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Вывести('======================================================================================');
      Протокол.Показать;
      Протокол.Вывести(Заголовок);
      Кол := к.Count - 1;
      от сч:=0 до Кол делать
        начало
          стр := к.Names(сч) + ' : ' + к.IndexValues(сч);
          Протокол.Вывести(стр);
        конец;
    конец;
конец;

функция Динамический(Класс : Целое; Раскладка : ITableInfoX) : ITableInfoX;
переменные
  BG : IReportPages;
  Прогрес: IProgress;
  Рез, Разшир : целое;
начало
  BG := ReportBG;
  результат := LoadDynamicReport(Класс, BG.DynType, BG.DynTemplate, Раскладка);
  выбрать BG.DynType из
    dcu_Global : Разшир := (Access &lt;= Access_Hairy);
    dcu_User   : Разшир := да;
  иначе
    Разшир := нет;
  конец;
  Прогрес := Progress;
  Прогрес.EndProgress;
  Рез := Translation(BG.DynTemplate, результат, Раскладка, Mapper, Разшир);
  выбрать Рез из
    ttrxCancel : результат := nil;
    ttrxChange : BG.ResetCurrent(результат, раскладка, нет);
    ttrxApply  : BG.ResetCurrent(результат, раскладка, да);
  конец;
  если (результат &lt;&gt; nil) тогда Прогрес.BeginProgress;
конец;

функция ПолучитьРаскладкуДокумента(Класс : Целое; Коллекция : IVariables; Визуализатор: IUniViewer; Шаблон: ITableInfoX): ITableInfoX;
переменные
  Прогрес: IProgress;
начало
  результат := nil;
  Шаблон := Визуализатор.GetTable;
  Если Коллекция.Значение('Динамический') тогда
    начало
      результат := Шаблон.Replicate;
      Прогрес := Progress;
      Прогрес.EndProgress;
      если Translation('Документ', результат, Шаблон, Mapper, нет)
        тогда Прогрес.BeginProgress
        иначе результат := nil;
    конец иначе
    начало
      результат := Шаблон;
    конец;
конец;

// Загружает шаблон, если нужно показывает динамический диалог
функция ОткрытьШаблон(
  Действие, CLSID, ПрефиксВизуализатора : целое;
  Шаблон, ИмяСтраницы, ИмяВизуализатора : СТРОКА;
  ШаблонОтчета, Раскладка : ITableInfoX): IUniViewer;
переменные
  BG : IReportPages;
  Данные: IStaticSet;
  ОбщиеПараметры : ISharedParams;
  ПараметрДеление, ПараметрОкругление: ISPParam;
  Делитель : целое;
  Формула1 : IF1Book;
  МаксЧислоЛистов: целое;
начало
  BG := ReportBG;
  //если страницы еще нет то создаём её
  Если (BG = nil) тогда ВозбудитьОшибку('Не могу получить ReportBG');
  Результат := BG.OpenTemplate(ПрефиксВизуализатора, ИмяСтраницы, ИмяВизуализатора , Шаблон);
  МаксЧислоЛистов := Реестр.Узел(ProjectName + "\Объекты\Отчеты\Настройки").Значение("МаксимальноеЧислоЛистов").КакЦелое;
  Если ((МаксЧислоЛистов &gt; 0) и (ПрефиксВизуализатора = F1ID)) тогда
    начало
      Формула1 := результат.Viewer;
      если (Формула1.NumSheets &gt; МаксЧислоЛистов - 1) тогда
        начало
          BG.Clear;
          Результат := BG.OpenTemplate(ПрефиксВизуализатора, ИмяСтраницы, ИмяВизуализатора , Шаблон);
        конец;
    конец;
  Данные := nil;
  // Получаем информацию о шаблоне
  ШаблонОтчета := результат.GetTable;

  попытка
    ОбщиеПараметры := SharedParams;
    // Единицы измерения
    ПараметрДеление := ОбщиеПараметры.Param("ЕдиницыИзмерения");
    если ((ПараметрДеление.Enabled) и (ШаблонОтчета &lt;&gt; nil)) тогда
    начало
      Делитель := ПараметрДеление.ListIndex;
      выбрать Делитель из
        0 : Делитель := 1;
        1 : Делитель := 1000;
        2 : Делитель := 1000000;
      конец;
      ШаблонОтчета.Params('Divider') := Делитель;
      ШаблонОтчета.Params('Rounder') := 0;
      ПараметрОкругление := ОбщиеПараметры.Param("ОкруглениеСумм");
      если ПараметрОкругление.Enabled и ПараметрОкругление.Value &lt;&gt; "" тогда 
        ШаблонОтчета.Params('Rounder') := ПараметрОкругление.ListIndex;
    конец;
  неудача
    // если параметра вообще нет на Sp - то глушим усключение (Для УРМА)
  конец;
  Раскладка := nil;
  если (ШаблонОтчета &lt;&gt; nil) тогда
    начало
      если (Действие = saxDynamic) тогда
        начало
          // Если это динамический отчет
          Раскладка := Динамический(CLSID, ШаблонОтчета);
          если (Раскладка = nil) тогда выход;
        конец иначе
        начало
          // а может сразу выбрали динамический отчет
          если (BG.DynType &lt;&gt; dcu_Current)
            тогда Раскладка := LoadDynamicReport(CLSID, BG.DynType, BG.DynTemplate, ШаблонОтчета)
            иначе Раскладка := ШаблонОтчета;
        конец;
    конец;
  ResultsDivision2(Раскладка, истина);
конец;

функция ГлобальныеПараметры : IVariables;
начало
  результат := values(кГлобальныеПараметры);
  если (результат = nil) тогда
    начало
      результат := СформироватьГлобальныеПараметры;
      values(кГлобальныеПараметры) := результат;
    конец;
конец;

функция ПолучитьПараметры(Парам : IVariables; Параметры : строка) : IVariables;
переменные
  ОбщиеПараметры : ISharedParams;
  Параметр : ISPParam;
  ВидПарам, СкрПарам: Текст;
  сч, кол : целое;
  Имя : строка;
  СписокВидимыхПараметров, СписокНеВидимыхПарамтров : Строка;
начало
  результат := Парам;
  если (результат = nil) тогда результат := CreateVariables;
  если (Параметры &lt;&gt; '') тогда
    начало
      ОбщиеПараметры := SharedParams;
      GetEnabledParams(SharedParams, результат, Параметры);
      результат.Values("Администратор") := (Access = Access_Adm);
      // Права на отчеты
      попытка
        // ограничения по пользователю
        Параметр := ОбщиеПараметры.Param("Пользователь");
        если Параметр.Enabled
          тогда результат.Values("Пользователь") := ОбщиеПараметры.ParamValue("Пользователь");

        если не Результат.ПараметрСуществует("ОграничВидимостьПоПравамЧек") тогда // возможно, установили извне
        начало
          // ограничения по правам
          Параметр := ОбщиеПараметры.Param("ОграничВидимостьПоПравам");
          если Параметр.Enabled
          тогда начало
            Если (Параметр.Checked)
              тогда результат.Values("ОграничВидимостьПоПравамЧек") := Да
              иначе результат.Values("ОграничВидимостьПоПравамЧек") := Нет
          конец;
        конец
        иначе
        // проверяем константу использования видимости документов на интерфейсах по правам, так как, возможно, параметр был помещен в коллекцию без учета константы. 
          если (СтрокаВЦелое(ПолучитьКонстантуКЭШ('',-1,24,0)) = 0) тогда
            результат.Values("ОграничВидимостьПоПравамЧек") := Нет;
      неудача
        // если параметра вообще нет на Sp - то глушим исключение (Для УРМА)
      конец;
      // формируем аудитную дату
      попытка
        Параметр := ОбщиеПараметры.Param("АудитОтчет");
      неудача
        Параметр := nil;// если параметра вообще нет на Sp - то глушим исключение (Для УРМА)
      конец;
      если (Параметр &lt;&gt; nil) тогда
        если(Параметр.Enabled) и (Параметр.Checked)
          тогда результат.Values("АудитнаяДатаОтчета") := ISPParam(ОбщиеПараметры.Param("АудитОтчет")).Result;

      ВидПарам := СоздатьТекст;
      СкрПарам := СоздатьТекст;
      попытка
        ВернутьСоответствиеНевидимыхПараметров(СписокВидимыхПараметров, СписокНеВидимыхПарамтров);
        ВидПарам.РазделенноеЗначение := СписокВидимыхПараметров;
        СкрПарам.РазделенноеЗначение := СписокНеВидимыхПарамтров;
        кол := ВидПарам.Количество;
        от сч:=0 до кол-1 делать
        начало
           Параметр := ОбщиеПараметры.Param(ВидПарам.Стр(сч));
       // корректнее проверять видимость родителя на SharedParams, а не наличие в коллекции
       // может получиться, что мы родителя в коллекцию добавили ручками, тогда с SP возьмется левое текущее значение
//          если (результат.CheckParam(ВидПарам.Стр(сч)) &lt;&gt; нет) тогда
           если Параметр&lt;&gt;nil тогда
             если (Параметр.Enabled &lt;&gt; нет) тогда
             начало
               Имя := СкрПарам.Стр(сч);
               результат.Values(Имя) := ОбщиеПараметры.ParamValue(Имя);
             конец;
        конец;
      обязательно
        УдалитьОбъект(ВидПарам, СкрПарам);
      конец;
      /* ограничений "ЛицСчет11", "НомерЛС" может не быть в списке параметров 
       отчета, а на панели параметров они могут присутствовать, т.к. их 
       видимость регулируется константами*/
      попытка
        Параметр := ОбщиеПараметры.Param("ЛицСчет11");
      неудача
        Параметр := nil;
      конец;
      если (Параметр &lt;&gt; nil) тогда  
        если (Параметр.Enabled) тогда
          результат.Values("ЛицСчет11") := ОбщиеПараметры.ParamValue("ЛицСчет11");
      попытка
        Параметр := ОбщиеПараметры.Param("НомерЛС");
      неудача
        Параметр := nil;
      конец;
      если (Параметр &lt;&gt; nil) тогда 
        если (Параметр.Enabled) тогда
          результат.Values("НомерЛС") := ОбщиеПараметры.ParamValue("НомерЛС");
    конец;      
    // Накладываем ограничения на параметры по правам
    Если результат.Values('ОграничВидимостьПоПравамЧек')
      тогда НАЛОЖИТЬОГРАНИЧЕНИЯПРАВА(результат, да)
      иначе СКОПИРОВАТЬОГРАНИЧЕНИЯПРАВА(результат);
конец;

функция ПолучитьПараметрыТекст(Значения: IVariables; Параметры : строка) : IVariables;
переменные
  sp: ISharedParams;
  ПараметрыТекст: строка;
начало
  результат := CreateVariables;
  если (Параметры &lt;&gt; '') тогда
    начало
      // выводим в отдельный зарезервированный параметр список ограничений с панели параметров
      sp := SharedParams;
      GetEnabledParamsValues(sp, результат, Параметры);
      ПараметрыТекст := GetTextParamsEx(sp.Inspector, 'ВыводОграничений', 'ФинИсточники,ФинТипы');
      результат.Values('ПараметрыТекст') := ПараметрыТекст;
      если результат.Values('ВыводОграниченийЧек')или не результат.ПараметрСуществует('ВыводОграниченийЧек')  тогда
        результат.Values('Параметры') := ПараметрыТекст;
      // текущая дата выполнения отчета
      результат.Values("ТЕКУЩЕЕ ВРЕМЯ") := ВремяВСтроку(ПолучитьТекущееСистемноеВремя);
    конец;
  // настраиваем параметры(переменные) шаблона. Возвращаем в НаборПараметровТекст
  НастройкаПараметровШаблона(Значения, результат);
конец;

// Загрузить настройки из реестра
функция ЗагрузитьНастройкиОтчета(Коллекция, ТекстПараметров: IVariables);
переменные
  сч, счФорматов: целое;
  КонтрПарам: IVariables;
  ИмяПараметра, ЗначениеПараметра, КодШаблона: строка;
  тНастройки, тФорматы: текст;      
начало
  если Коллекция.Значение("OptionsPath") &lt;&gt; '' тогда
  начало
    ТекстПараметров.Значение('Код') := Коллекция.Значение('Код');
    КонтрПарам := Коллекция.Значение("КонтрольПараметры");
    если КонтрПарам &lt;&gt; nil тогда
      если КонтрПарам.Значение("БюджетныйКонтроль") = "1" тогда
        ТекстПараметров.Значение('Код') := Коллекция.Значение('КодКонтроля');
    КодШаблона := ТекстПараметров.Значение("Код");
    тНастройки := СоздатьТекст;
    тФорматы := СоздатьТекст;
    попытка
      тФорматы.РазделенноеЗначение := Коллекция.Значение("OptionsPath");
      от счФорматов := 0 до тФорматы.Количество - 1 делать
      начало
        тНастройки.РазделенноеЗначение := GetParamsList(5, СтрокаВЦелое(тФорматы.Стр(счФорматов)));
        от сч := 0 до тНастройки.Количество - 1 делать
        начало
          ИмяПараметра := тНастройки.Стр(сч);
          ЗначениеПараметра := GetSubParam(5, СтрокаВЦелое(тФорматы.Стр(счФорматов)), тНастройки.Стр(сч), КодШаблона);
          // Если в коллекции этого параметра еще нет или он не пустой, то записываем его в коллекцию  
          если (ТекстПараметров.Значение(ИмяПараметра) = '')и(ЗначениеПараметра &lt;&gt; "") тогда  
            ТекстПараметров.Значение(ИмяПараметра) := ЗначениеПараметра;
        конец;  
      конец;   
    обязательно
      УдалитьОбъект(тНастройки);
      УдалитьОбъект(тФорматы);
    конец;  
  конец;  
конец;

функция ВывестиДанные(Визуализатор: IUniViewer;
                      Шаблон, Раскладка: ITableInfoX;
                      Параметры, Коллекция: IVariables;
                      Данные, Заголовок: СтатическиеДанные;
                      ЗакрытьДанные: целое):целое;
переменные
  ГлобПараметры, парам, ПараметрыРазменовщика: IVariables;
  сч, Кол, ВыводПарам, ОшибкиОтчета, НетДанных : целое;
  Протокол : ОкноВывода;
  Разыменовщик : ВНЕШНИЙОБЪЕКТ;
  Страницы: ITemplates;
  Страница: ITemplate;
начало
  если ((Заголовок = nil) и (Данные = nil)) тогда ВозбудитьОшибку('Отчет не сформировал данные');
  // выбрасываем на страницу глобальные параметры
  ВыводПарам := ОтладкаФлаг(tciOutParams);
  ГлобПараметры := ГлобальныеПараметры;
  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  если (Параметры &lt;&gt; nil) тогда
    парам.PumpData(Параметры);
  если (ВыводПарам &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Показать;
      КоллекцияВПротокол(Параметры, 'ПАРАМЕТРЫ ВЫВОДА В ОТЧЕТ :');
      КоллекцияВПротокол(ГлобПараметры, 'ГЛОБАЛЬНЫЕ ПАРАМЕТРЫ ВЫВОДА В ОТЧЕТ :');
      если (Заголовок &lt;&gt; nil) тогда
        начало
          Протокол.Вывести('ИМЕНА ЛЕНТОЧНЫХ ПАРАМЕТРОВ :');
          Кол := Заголовок.FieldsCount - 1;
          от сч:=0 до Кол делать
            Протокол.Вывести(Заголовок.Поля(сч).FieldName);
        конец;
    конец;
  ОшибкиОтчета := ОтладкаФлаг(tciRunTimeErrors);
  если (ОшибкиОтчета &lt;&gt; 0) тогда
    начало
      ОшибкиОтчета := 1;
      Протокол := ОкноВывода;
      Протокол.Показать;
    конец иначе
    начало
      ОшибкиОтчета := 0;
      Протокол := nil;
    конец;
  если Парам.ПараметрСуществует("ЗакрыватьДанные") тогда
    Раскладка.Params('CLOSE') := Парам.Значение("ЗакрыватьДанные")
  иначе
    Раскладка.Params('CLOSE') := ЗакрытьДанные;
  // чтобы при отсутствии данных выводился пустой бланк нужно ленточные поля поменять на стандартные
  НетДанных := да;
  если данные&lt;&gt;nil тогда НетДанных :=Данные.ЧислоЗаписей=0;
  если НетДанных и (Заголовок&lt;&gt;nil) тогда НетДанных :=Заголовок.ЧислоЗаписей=0;
  если НетДанных тогда
    от сч := 0 до Раскладка.count-1 делать
      для Раскладка.Columns(сч) делать
      // Если поле ленточное, делаем его стандартным
         Если .IsBelt тогда
           .ColumnType := ctpDisplay;
  Разыменовщик := Mapper;
  Если (Коллекция &lt;&gt; nil) тогда
    Если Коллекция.ПараметрСуществует('Разыменовщик') тогда
      Разыменовщик := Коллекция.Значение('Разыменовщик');

  Если (Разыменовщик &lt;&gt; nil) тогда
    начало
      IDereference(Разыменовщик).Reset;
      ПараметрыРазменовщика := Интерфейс(Разыменовщик).ЗапроситьИнтерфейс( _IVariables);
      Если (ПараметрыРазменовщика &lt;&gt; nil) тогда ПараметрыРазменовщика.SetValues(парам, coxClear);
   конец;
  Если (Парам.Значение("НеВыводитьПустойДокумент") = 1) тогда
    Раскладка.Options := БитИли(Раскладка.Options, ttoNotEmptyData);
  Страницы := Визуализатор.Templates;
  Страница := Страницы.Template;
  // поддержка режима вывода итогов и их агрегатов в строках группировки. Основное преимущество по сравнению с обычными итогами -
  // агрегаты в строке группировки пересчитываются автоматически при изменении данных и можно выводить агрегаты даже по скрытым колонкам.
  // В  результате появляется возможность делать шаблоны распределения с отображением нераспределенных остатков.
  // в текущей версии для упрощения реализации переносим итоги в ленту. Для того, чтобы не менять раскладку в промежуточную структуру визуализатора,
  // которая для итогов добавляет промежуточные строки.
  // ленточные атрибуты при этом обрабатываются как итоги и лента по ним не строится.
  Если (Страница &lt;&gt; nil) тогда 
    Если (Страница.Options.Values("ShowTree") = 3) или 
         (Страница.Options.Values("ShowTree") = 4) тогда
    начало
      от сч := 0 до Раскладка.Count - 1 делать
      для Раскладка.Columns(сч) делать
      начало
        если .ColumnType = ctpCriterion тогда
          .ColumnType := ctpBelt
        иначе если .isBelt тогда // лента в этом режиме не поддерживается
          .ColumnType := ctpDisplay;
      конец;
    конец;
  Если не((Парам.Значение("НеВыводитьПустойДокумент") = 1)и НетДанных) тогда
  начало
    результат := BuildReport(Шаблон, Раскладка, Данные, Заголовок, Разыменовщик, парам, Коллекция, Визуализатор, Протокол, Progress);
    Парам.Значение(АлгВизуализатор) := Визуализатор;
    Парам.Значение(АлгДанные) := Данные;
    EventRecursive(ПослеВыводаДанных, Парам, Визуализатор.Templates, да);
  конец
  иначе 
    результат := нет;
конец;

функция ДобавитьПоля(Раскладка: ITableInfoX; Данные: СтатическиеДанные);
начало
  AddFields(Раскладка, Данные);
  // перед выполнением секций очищаем буфер нажатий, чтобы предотвратить ложное срабатывание
  GetKeyState(27);// Escape
  GetKeyState(32);// Пробел
  GetKeyState(121);//F10
  GetKeyState(122);// F11
  GetKeyState(123);// F12
конец;

/$если Бюджет
// получаем параметры подключения через IDBServ
функция ПолучитьПараметрыПодключения: строка;
переменные
  DbServ: IDBServ;
начало
  ПолучитьИнтерфейс(_IDBServ, DbServ);
  результат := DbServ.LoginParams;
конец;

// Создает сервер приложений, на котором будет выполняться алгоритм
функция СоздатьСерверПриложений: ВнешнийОбъект;
переменные
  АдресСервера: строка;
  ПараметрыПодключения: строка;
  Прогресс: IProgress;
начало
  // получаем адрес сервера приложений
  АдресСервера := СтроковаяКонстанта(-1, 27);
  если АдресСервера = '' тогда
    ВызватьОшибку('Не указан адрес сервера. Для задания воспользуйтесь строковой константой VarCharConst(-1, 27)');
    
  // создаем   
  результат := СоздатьВнешнийОбъект('ScriptWP.WorkPlace', АдресСервера);
  
  // получаем параметры текущего подключения к базе
  ПараметрыПодключения := ПолучитьПараметрыПодключения();
  
  // подключаемся
  результат.ConnectEx(ПараметрыПодключения);
  Прогресс := Progress;
  результат.SetProgress(Прогресс);
конец;

// возвращает нужно ли выполнять отчеты на сервере
функция ВыполнятьОтчетыНаСервере: Целое;
начало
  результат := СтрокаВЦелое(ПолучитьКонстантуКэш("", -1, 8, 0)) = 1;
конец;

/$конец

функция ВыполнитьАлгоритм(ИмяАлгоритма: строка; Параметры: IVariables): Целое;
/$если Бюджет  
переменные
  Сервер: ВнешнийОбъект;
  Коллекция: IVariables;
  Данные: СтатическиеДанные; 
  ВыходныеПараметры: Variant;
  СтрокаОшибки: строка;
  Визуализатор: IUniViewer;
/$конец    
начало
/$если Бюджет  
  результат := нет;
  если ВыполнятьОтчетыНаСервере тогда
  начало
    Сервер := СоздатьСерверПриложений;
    // формируем коллекция ограничений на сервер
    Коллекция := СоздатьКоллекцию;
    Коллекция.Значение(кИмяАлгоритма) := ИмяАлгоритма;
    
    Данные := Параметры.Значение(АлгДанные);
    Коллекция.Значение(АлгДанные) := Данные;
    
    Коллекция.Значение(АлгПараметры) := Параметры.Значение(АлгПараметры);
    Коллекция.Значение(АлгЗаголовки) := Параметры.Значение(АлгЗаголовки);
    Коллекция.Значение(АлгРаскладка) := Параметры.Значение(АлгРаскладка);
    Коллекция.Значение(АлгПараметрыВывода) := Параметры.Значение(АлгПараметрыВывода);
    Коллекция.Значение(АлгПараметрыШаблона) := Параметры.Значение(АлгПараметрыШаблона);
    Коллекция.Значение(АлгГлобальныеПараметры) := Параметры.Значение(АлгГлобальныеПараметры);
    
    // IUniTemplates не хочет передаваться через IVariables, по этому передаем имя файла шаблона
    // и загружаем его на сервере
    Визуализатор := Параметры.Значение(АлгВизуализатор);
    Коллекция.Значение('Шаблон') := Визуализатор.Template;
    
    // выполняем 
    Сервер.Execute2('ВыполнитьАлгоритм', Коллекция.SaveToVariant, нет, 2, ВыходныеПараметры, СтрокаОшибки);
    если СтрокаОшибки &lt;&gt; '' тогда
      ВызватьОшибку("Возникла ошибка при выполнении алгоритма на сервере:" + #13#10 + СтрокаОшибки);
    
    // получаем сформированные данные
    Коллекция.Clear;
    Коллекция.LoadFromVariant(ВыходныеПараметры);
    
    ЗагрузитьОбъект(Данные, Коллекция.Значение('Данные'));
    
    Параметры.Значение(АлгДанные) := Данные;
    результат := да;
  конец
  иначе
/$конец
    результат := ExecAlgorithm(ИмяАлгоритма, Параметры);  
конец;


функция НачатьСборСтатистикиВремениИсполнения(Параметры: IVariables; Уровень: целое = 100);
переменные
  УровеньСтатистики: целое;
  ВремяИсп: целое;
  Протокол: ОкноВывода;
  НачВремяОтчета: дробное;
  Композит: IVariables;
начало
  УровеньСтатистики := Values('_ВремяИспУровеньСтатистики');
  если (УровеньСтатистики = 0) или (УровеньСтатистики &lt;= Уровень) тогда
  начало  
    УровеньСтатистики := Уровень;
    Values('_ВремяИспУровеньСтатистики') := УровеньСтатистики;
    ВремяИсп := ОтладкаФлаг(tciExecTime);
    Композит := Параметры.Values(АлгГлобальныеПараметры);
    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Вывести('======================================================================================');
      НачВремяОтчета := ПолучитьТекущееСистемноеВремя;
      Values('_ВремяИспНачВремяОтчета') := НачВремяОтчета;
      если (Композит &lt;&gt; nil) тогда
        Протокол.Вывести('['+ВремяВСтроку(НачВремяОтчета)+'] Начало формирования данных. '+композит.Values('ExecNote')+' '+композит.Values('Caption'));
      Протокол.Вывести('СТАТИСТИКА РАБОТЫ АЛГОРИТМОВ :');
    конец;
    Values('@timeOfDBExecute') := '0'; // счетчик времени выполнения запросов на сервере БД
  конец;
конец;

функция ЗавершитьСборСтатистикиВремениИсполнения(Параметры: IVariables; Уровень: целое = 100);
переменные
  УровеньСтатистики: целое;
  ВремяИсп: целое;
  Протокол: ОкноВывода;
  НачВремяОтчета: дробное;
  Композит: IVariables;
начало
  УровеньСтатистики := Values('_ВремяИспУровеньСтатистики');
  если (УровеньСтатистики &lt;&gt; 0) и (УровеньСтатистики &lt;= Уровень) тогда
  начало  
    УровеньСтатистики := 0;
    Values('_ВремяИспУровеньСтатистики') := УровеньСтатистики;
    ВремяИсп := ОтладкаФлаг(tciExecTime);
    Композит := Параметры.Values(АлгГлобальныеПараметры);
    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      НачВремяОтчета := Values('_ВремяИспНачВремяОтчета');
      если (Композит &lt;&gt; nil) тогда
        Протокол.Вывести('['+ВремяВСтроку(ПолучитьТекущееСистемноеВремя)+'] Конец формирования данных. '+композит.Values('ExecNote')+' '+композит.Values('Caption'));
      Протокол.Вывести(' Длительность формирования:'+ВремяВСтроку(ПолучитьТекущееСистемноеВремя-НачВремяОтчета)+' из них выполнение запросов на БД:'+ВремяВСтроку(дробное(Values('@timeOfDBExecute'))));
    конец;
  конец;
конец;

функция СброситьСборСтатистикиВремениИсполнения(Параметры: IVariables; Уровень: целое = 100);
переменные
  УровеньСтатистики: целое;
начало
  УровеньСтатистики := Values('_ВремяИспУровеньСтатистики');
  если (УровеньСтатистики &lt;&gt; 0) и (УровеньСтатистики &lt;= Уровень) тогда
  начало  
    УровеньСтатистики := 0;
    Values('_ВремяИспУровеньСтатистики') := УровеньСтатистики;
  конец;
конец;

функция ВыполнитьАлгоритмы(Раскладка: ITableInfoX; Параметры: IVariables);
переменные
  Txt : Текст;
  сч, Кол : целое;
  BG : IReportPages;
  prog : IProgress;
  Имя : строка;
  НачВремя, КонВремя, НачДлит, КонДлит : дробное;
  Протокол : ОкноВывода;
  Композит, ОгрПарам, ОсновПарам, АлгПарам : IVariables;
  ВходПарам, ВремяИсп : целое;
  ИмяБлока : строка;
начало
  ОсновПарам := Параметры.Values(АлгПараметры);
  ВходПарам := ОтладкаФлаг(tciInParams);
  если (ВходПарам &lt;&gt; 0) тогда КоллекцияВПротокол(ОсновПарам, 'ПАРАМЕТРЫ ОРГАНИЧЕНИЯ :');
  ВремяИсп := ОтладкаФлаг(tciExecTime);
  // создали новую коллекцию параметров
  Композит := Параметры.Values(АлгГлобальныеПараметры);
  prog := Progress;
  если (prog &lt;&gt; nil) тогда
    начало
      prog.SetMessage('Алгоритмы');
      prog.SetProgress(0);
    конец;
  BG := ReportBG;
  Txt := СоздатьТекст;
  ОгрПарам := CreateVariables;
  Txt.Значение := Раскладка.GetCategories;
  кол := Txt.Количество;
  Протокол := nil;
  если (ВремяИсп &lt;&gt; 0) тогда
    Протокол := ОкноВывода;
  ВходПарам := ОтладкаФлаг(tciAlgParams);
  попытка
    НачатьСборСтатистикиВремениИсполнения(Параметры, 1);
    от сч:=0 до кол-1 делать
    начало
      Имя := Txt.Стр(сч);
      ОгрПарам.Clear;
      //скопировали базовые параметры
      // ОгрПарам.SetValues(ОсновПарам, 0);
      ОгрПарам.PumpData(ОсновПарам);
      // Устанавливаем  параметры алгоритма
      если ОсновПарам.ПараметрСуществует("@" + Имя) тогда
        начало
          алгпарам := ОсновПарам.Значение("@" + Имя);
          ОгрПарам.SetValues(АлгПарам, coxSpecialClear);
        конец;
      // передадим и имя алгоритма
      ОгрПарам.values('ИмяАлгоритма') := Имя;
      //вызываем скрипт шаблона по установке параметров
      ОгрПарам.values(АлгРаскладка) := Раскладка;
      CalcParams(Раскладка, ОгрПарам, Композит, Mapper);
      // выдадим отладочную информацию
      если (ВходПарам &lt;&gt; 0) тогда
        КоллекцияВПротокол(ОгрПарам, 'ПАРАМЕТРЫ ОРГАНИЧЕНИЯ ДЛЯ АЛГОРИТМА : ' + Имя);
      // выполняем алгоритмы только если это нужно
      Если ОгрПарам.ПараметрСуществует(кПарамНеВыполнятьАлг) и (ОгрПарам.Values(кПарамНеВыполнятьАлг) = да)
      тогда начало
        если (ВремяИсп &lt;&gt; 0) тогда
          Протокол.Вывести(Имя + ' - НЕ выполнился. Установлен флаг :' + кПарамНеВыполнятьАлг);
      конец
      иначе начало
        Параметры.Values(АлгПараметры) := ОгрПарам;
        если (prog &lt;&gt; nil) тогда
          начало
            prog.SetMessage('Алгоритм : ' + Имя);
            prog.SetProgress((100 * сч) цел Кол);
          конец;
        НачВремя := ПолучитьТекущееСистемноеВремя;
        НачДлит := дробное(Values('@timeOfDBExecute'));
        если (ВремяИсп &lt;&gt; 0) тогда
          Протокол.Вывести('['+ВремяВСтроку(НачВремя)+'] '+Имя);
        попытка
          если ОгрПарам&lt;&gt;nil тогда
          начало
            ОгрПарам.Values('ИмяАлгоритма') := Имя;
            ОгрПарам.Delete('ИмяБлока');
          конец;
          если не ВыполнитьАлгоритм(Имя, Параметры) тогда
            Сообщение('Алгоритм не найден ' + Имя, Сообщение_Предупреждение);
        неудача
          ИмяБлока := '';
          если ОгрПарам&lt;&gt;nil тогда
            если ОгрПарам.Значение('ИмяБлока')&lt;&gt;'' тогда
              ИмяБлока := '('+ОгрПарам.Значение('ИмяБлока')+')';
          ВозбудитьОшибку('Ошибка при выполнении алгоритма : ' + Имя +ИмяБлока+ #13#10 + ПоследняяОшибка);
        конец;
        КонВремя := ПолучитьТекущееСистемноеВремя;
        КонДлит := дробное(Values('@timeOfDBExecute'));
        если (ВремяИсп &lt;&gt; 0) тогда
          Протокол.Вывести('['+ВремяВСтроку(КонВремя)+'] '+Имя + ' - ' + ВремяВСтроку(КонВремя - НачВремя)+ ' из них выполнение запросов на БД:'+ФорматироватьВремя("HH:nn:SS:zzz", КонДлит-НачДлит));
      конец;
    конец;
    ЗавершитьСборСтатистикиВремениИсполнения(Параметры, 1);
  обязательно
    СброситьСборСтатистикиВремениИсполнения(Параметры, 1);
  конец;
  Параметры.Values(АлгПараметры) := ОсновПарам;
  УдалитьОбъект(Txt, ОгрПарам);
  если (prog &lt;&gt; nil) тогда prog.SetProgress(100);
конец;

функция ОбъединитьЗаголовки(Раскладка: ITableInfoX; Заголовки: IVariables) : IStaticSet;
начало
  результат := MergeData(Раскладка, Заголовки);
конец;

функция ПолучитьАлгПараметры(Раскладка: ITableInfoX; ИменаПараметров: ITempParamsX;
                             Параметры, ПараметрыВывода, Заголовки: IVariables;
                             Схема: строка);
переменные
  Карта, Парам : IVariables;
  Лента : ITableInfoX;
  ss, Заголовок : СтатическиеДанные;
  сч, кол : ЦЕЛОЕ;
  Имя, ИменаПолей, СтрКлючи, Стр : строка;
начало
  Карта := GenSumMap(ИменаПараметров, Схема);
  если (Карта &lt;&gt; nil) тогда
    начало
      ss := СоздатьСтатическиеДанные;
      // Параметры для событий и алгоритмов
      Парам := CreateVariables;
      Парам.Values(АлгПараметры) := Параметры;
      Парам.Values(АлгДанные) := ss;
      Парам.Values(АлгЗаголовки) := nil;
      Парам.Values(АлгПараметрыВывода) := ПараметрыВывода;
      Парам.Values(АлгРаскладка) := Раскладка;
      Лента := Раскладка.GetBeltColumns;
      если (Лента &lt;&gt; nil) тогда
        начало
          Лента.FixGroup;
          СтрКлючи := Лента.GetGroups;
        конец;
      кол := Карта.Count - 1;
      от сч:=0 до кол делать
        начало
          Имя := Карта.Names(сч);
          ИменаПолей := Карта.IndexValues(сч);
          ss.Close;
          ss.DestroyFields;
          AddSumFields(ss, ИменаПолей);
          если (Лента &lt;&gt; nil) тогда AddFields(Лента, ss);
          ss.Open;
          // Вызов алгоритма
          попытка
            если (ExecAlgorithm(Имя, Парам) = нет) тогда
              Сообщение('Алгоритм не найден ' + Имя, Сообщение_Предупреждение);
          неудача
            ВозбудитьОшибку('Ошибка при выполнении алгоритма : ' + Имя + #13#10 + ПоследняяОшибка);
          конец;
          MoveSumParams(ПараметрыВывода, ss, ИменаПолей, Имя, Схема);
          если (Лента &lt;&gt; nil) тогда
            начало
              Заголовок := СоздатьСтатическиеДанные;
              Заголовок.AssignFields(ss);
              Заголовок.Open;
              Стр := СтрКлючи + GetSumStr(ИменаПолей);
              Заголовок.GroupData(ss, Стр);
              Заголовки.Values('_' + Имя) := Заголовок;
            конец;
        конец;
      УдалитьОбъект(Парам, Карта, ss);      
      если (Лента &lt;&gt; nil) тогда 
        УдалитьОбъект(Лента);
    конец;
конец;

функция ПроверитьПараметры(Параметры: IVariables);
переменные
  ОбПарам: Текст;
  ОбщиеПараметры: ISharedParams;
  сч: целое;
  НаимПараметра: строка;
начало
  если Параметры.Значение("ОбязательныеОграничения") &lt;&gt; "" тогда
  начало
    ОбПарам := СоздатьТекст;
    ОбщиеПараметры := SharedParams;
    ОбПарам.РазделенноеЗначение(",") := Параметры.Значение("ОбязательныеОграничения");
    от сч := 0 до ОбПарам.Количество-1 делать
      если Параметры.Значение(ОбПарам.Стр(сч))="" тогда
      начало
        если (ОбщиеПараметры.Param(ОбПарам.Стр(сч)) = nil) тогда
          НаимПараметра := ''
        иначе
          НаимПараметра := ОбщиеПараметры.Param(ОбПарам.Стр(сч)).Name;
        ВызватьОшибку("Ограничение " + НаимПараметра + " (" + ОбПарам.Стр(сч) + ") должно быть заполнено.");
      конец;
    УдалитьОбъект(ОбПарам);
  конец;
  если Параметры.Значение("ОграниченияСЗапретомМножественногоВыбора") &lt;&gt; "" тогда
  начало
    ОбПарам := СоздатьТекст;
    ОбщиеПараметры := SharedParams;
    ОбПарам.РазделенноеЗначение(",") := Параметры.Значение("ОграниченияСЗапретомМножественногоВыбора");
    от сч := 0 до ОбПарам.Количество-1 делать
      Если (Позиция("-",Параметры.Значение(ОбПарам.Стр(сч))) &lt;&gt; 0) или
        (Позиция(",",Параметры.Значение(ОбПарам.Стр(сч))) &lt;&gt; 0) тогда
      начало
        если (ОбщиеПараметры.Param(ОбПарам.Стр(сч)) = nil) тогда
          НаимПараметра := ''
        иначе
          НаимПараметра := ОбщиеПараметры.Param(ОбПарам.Стр(сч)).Name;
        ВызватьОшибку("Ограничение " + НаимПараметра + " (" + ОбПарам.Стр(сч) + ") не может быть множественным.");
      конец;
    УдалитьОбъект(ОбПарам);
  конец;
конец;

функция СформироватьПараметры(Раскладка: ITableInfoX; ИменаПараметров: ITempParamsX;
                              Параметры, ПараметрыВывода, Заголовки: IVariables);
переменные
  ВремПарам, Charts : IVariables;
  стр : строка;
  Кол, сч, флаг : ЦЕЛОЕ;
начало
  ПроверитьПараметры(Параметры);
  Charts := GetSumChart(ИменаПараметров);
  если (Charts &lt;&gt; nil) тогда
  начало
    флаг := ОтладкаФлаг(tciCalcParams);
    Кол := Charts.Count;
    от сч := 0 до Кол - 1 делать
    начало
      стр := Charts.Names(сч);
      ВремПарам := GenSumParams(стр, '', Параметры, ПараметрыВывода);
      если флаг тогда
        КоллекцияВПротокол(ВремПарам, 'СХЕМА : ' + стр);
      ПолучитьАлгПараметры(Раскладка, ИменаПараметров, ВремПарам, ПараметрыВывода, Заголовки, стр);
      УдалитьОбъект(ВремПарам);
    конец;
    УдалитьОбъект(Charts);
  конец;
конец;

функция Получить(Раскладка: ITableInfoX; Ограничения: IVariables): СтатическиеДанные;
начало
   результат := СоздатьСтатическиеДанные;
   ExecAlgorithms(результат, Раскладка, Ограничения, Reporter, АлгПараметры, АлгДанные, АлгРаскладка, 0);
конец;

функция ПроверитьНаГруппировку(Раскладка: ITableInfoX; ЗначенияПараметров: IVariables);
начало
  // при условии что в алгоритмах при  формировании параметра "ПоляВыборки" применяется функция ВернутьПоляГруппировки
  // включить или отменить группировку можно явно на шаблоне отчета,
  // кроме того если на шаблоне не по чему группировать - то всегда снимаем группировку на сервере
  // отсутствие параметра кПарамГруппироватьНаСервере интерпретируется функцией ВернутьПоляГруппировки как группировка на сервере по умолчанию
  Если не ЗначенияПараметров.ПараметрСуществует(кПарамГруппироватьНаСервере) тогда
    ЗначенияПараметров.Значение(кПарамГруппироватьНаСервере) := '1';
  Если Раскладка.GetGroups = "" тогда //Если группировки на шаблоне нет, то и на сервере не делаем
    ЗначенияПараметров.Значение(кПарамГруппироватьНаСервере) := 0
конец;

функция СформироватьДанныеОгр(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                              Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                              Данные, Заголовок: СтатическиеДанные);
переменные
  Парам, Заголовки : IVariables;
  ИменаПараметров : ITempParamsX;
начало
  ПроверитьНаГруппировку(Раскладка, ЗначенияПараметров);
  Заголовок := nil;
  // Статические данные, в который будет помещен результат
  Данные := СоздатьСтатическиеДанные;
  // Набор статических данных для заголовков
  Заголовки := CreateVariables;
  // Параметры для событий и алгоритмов
  Парам := CreateVariables;
  Парам.Values(АлгПараметры) := ЗначенияПараметров;
  Парам.Values(АлгДанные) := Данные;
  Парам.Values(АлгЗаголовки) := Заголовки;
  Парам.Values(АлгПараметрыВывода) := ТекстПараметров;
  Парам.Values(АлгРаскладка) := Раскладка;
  Парам.Values(АлгГлобальныеПараметры) := Коллекция;
  Парам.Values(АлгВизуализатор) := Визуализатор;
  Парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
  // то, что в шаблоне в &lt;&gt; скобках
  ИменаПараметров := Визуализатор.GetParams;
  Парам.Values(АлгПараметрыШаблона) := ИменаПараметров;

  СформироватьПараметры(Раскладка, ИменаПараметров, ЗначенияПараметров, ТекстПараметров, Заголовки);
  СформироватьПараметрыПроекта(ЗначенияПараметров);

  попытка
    НачатьСборСтатистикиВремениИсполнения(Парам, 10);
    // Обработчик до закачки - ДоЗакачки
    EventRecursive(ДоЗакачки, Парам, Визуализатор.Templates, да);
    ДобавитьПоля(Раскладка, Данные);
    Данные.Открыть;
    если ОтладкаФлаг(tciLoadReportData) тогда
      LoadReportData(Парам)
    иначе
    начало
      // формируем параметры ЗАПРОСОВ!!!
      СформироватьПараметрыЗапросов(Визуализатор.tables, ИменаПараметров,
                                    ЗначенияПараметров, ТекстПараметров, Заголовки, Раскладка, Данные, Reporter);
      ВыполнитьАлгоритмы(Раскладка, Парам);
    конец;
    если ОтладкаФлаг(tciSaveReportData) тогда
      SaveReportData(Парам, Визуализатор.Templates);
    // Обработчик после закачки - ПослеЗакачки
    EventRecursive(ПослеЗакачки, Парам, Визуализатор.Templates, нет);
    Заголовок := ОбъединитьЗаголовки(Раскладка, Заголовки);
    ДополнительнаяОбработкаДанных(Раскладка, ЗначенияПараметров, Данные);
    ДополнительнаяОбработкаРаскладки(Раскладка, ЗначенияПараметров);
    ЗавершитьСборСтатистикиВремениИсполнения(Парам, 10);
  обязательно
    СброситьСборСтатистикиВремениИсполнения(Парам, 10);
  конец;
конец;

функция СформироватьДанныеПоОгр(Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                                Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                                Данные, Заголовок: СтатическиеДанные);
переменные
  _ЗначенияПараметров : IVariables;
начало
  // Вызываем ПолучитьПараметры для возможности программного включения режима формирования ограничения по правам на видимость
  _ЗначенияПараметров := ПолучитьПараметры(Визуализатор.GetVariables, "");
  
  _ЗначенияПараметров.PumpData(ЗначенияПараметров);
  ТекстПараметров := CreateVariables;
  ТекстПараметров.PumpData(_ЗначенияПараметров);
  СформироватьДанныеОгр(Визуализатор, Раскладка, Коллекция, _ЗначенияПараметров,
                        ТекстПараметров, Данные, Заголовок);
конец;

функция СформироватьПараметрыПоЕдИзмер(Раскладка : ITableInfoX; КоллекцияОграничений, КоллекцияПараметров : IVariables);
переменные Делитель : целое;
начало
  Если (Раскладка &lt;&gt; nil)
  тогда начало
    Если Раскладка.Params('Divider')
    тогда начало
      // смотрим параметр
      Делитель := Раскладка.Params('Divider');
      Выбрать Длина(ЦелоеВСтроку(Делитель)) из
        1 : начало
              Если (КоллекцияПараметров &lt;&gt; nil) тогда КоллекцияПараметров.Values('ЕдиницыИзмерения') := 'руб.';
              Если (КоллекцияОграничений &lt;&gt; nil) тогда КоллекцияОграничений.Values('ЕдиницыИзмерения') := 0;
            конец;
        4 : начало
              Если (КоллекцияПараметров &lt;&gt; nil) тогда КоллекцияПараметров.Values('ЕдиницыИзмерения') := 'тыс. руб.';
              Если (КоллекцияОграничений &lt;&gt; nil) тогда КоллекцияОграничений.Values('ЕдиницыИзмерения') := 1;
            конец;
        7 : начало
              Если (КоллекцияПараметров &lt;&gt; nil) тогда КоллекцияПараметров.Values('ЕдиницыИзмерения') := 'млн. руб.';
              Если (КоллекцияОграничений &lt;&gt; nil) тогда КоллекцияОграничений.Values('ЕдиницыИзмерения') := 2;
           конец;
      конец;
    конец;
  конец;
конец;

функция ДополнитьОграниченияВнешнимиПараметрами(Ограничения, ВнешПараметры: IVariables);
переменные
  ПанельПараметров: ISharedParams;
  сч: целое;
  ТабПараметра: строка;
начало
  ПанельПараметров := SharedParams;
  // если параметр не присутствует на панели параметров, то добавляем его в коллекцию ограничений
  от сч := 0 до ВнешПараметры.Count - 1 делать
  начало
    ТабПараметра := ВнешПараметры.Names(сч);
    если ПанельПараметров.ParamExists(ТабПараметра) тогда
    начало 
      если не ПанельПараметров.Param(ТабПараметра).Enabled тогда
        Ограничения.Значение(ТабПараметра) := ВнешПараметры.Значение(ТабПараметра)
    конец
    иначе
      Ограничения.Значение(ТабПараметра) := ВнешПараметры.Значение(ТабПараметра)        
  конец    
конец;

функция СформироватьДанные(Параметры: строка; Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                           Коллекция, ТекстПараметров: IVariables; Данные, Заголовок: СтатическиеДанные);
переменные
  ЗначенияПараметров, Настройка : IVariables;
начало
  Данные := nil;
  ТекстПараметров := nil;
  
  //Ограничение по правам сносим всегда
  если Коллекция.Значение("ОграничВидимостьПоПравамЧек") тогда
  начало
    Визуализатор.GetVariables.Значение("ОграничВидимостьПоПравамЧек") := Коллекция.Значение("ОграничВидимостьПоПравамЧек");
    Визуализатор.GetVariables.Значение("РСФО") := Коллекция.Значение("РСФО");
  конец;  
  если Коллекция.CheckParam("Пользователь") тогда
    Визуализатор.GetVariables.Значение("Пользователь") := Коллекция.Значение("Пользователь");
              
  // Ограничения с панели параметров
  ЗначенияПараметров := ПолучитьПараметры(Визуализатор.GetVariables, Параметры);

  // Параметры, которые выкидываются в шаблон
  ТекстПараметров := ПолучитьПараметрыТекст(ЗначенияПараметров, Параметры);
  
  //Дополним ограничения настройками из реестра
  Настройка := CreateVariables;
  попытка
    ЗагрузитьНастройкиОтчета(Коллекция, Настройка);
    ДополнитьОграниченияВнешнимиПараметрами(ЗначенияПараметров, Настройка);
    ДополнитьОграниченияВнешнимиПараметрами(ТекстПараметров, Настройка);  
  обязательно
    УдалитьОбъект(Настройка);
  конец;
  
  // параметры по единициам измерения
  СформироватьПараметрыПоЕдИзмер(Раскладка, ЗначенияПараметров, ТекстПараметров);
  // Ограничения для печатных документов
  Если (Коллекция.Values('ПечатныйДокумент') = Да) тогда
    ЗначенияПараметров.PumpData(Коллекция);
  СформироватьДанныеОгр(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров,
                        ТекстПараметров, Данные, Заголовок);
конец;

функция СформироватьГиперДанные(Параметры: строка; Визуализатор: IUniViewer; Раскладка: ITableInfoX;
                                Коллекция: IVariables; Данные, Заголовок: СтатическиеДанные; ПараметрыВывода : IVariables) : IVariables;
переменные
  BG : IReportBG;
  ЗначенияПараметров, Заголовки : IVariables;
  ИменаПараметров : ITempParamsX;
начало
  Данные := nil;
  Заголовок := nil;
  // Получаем подложку
  BG := ReportBG;
  // Ограничения с панели параметров
  ЗначенияПараметров := CreateVariables;
  // Статические данные, в который будет помещен результат
  Данные := СоздатьСтатическиеДанные;
  // Набор статических данных для заголовков
  Заголовки := CreateVariables;
  //Группировать на сервере не надо
  ЗначенияПараметров.Значение(кПарамГруппироватьНаСервере) := 0;
  // параметры по единициам измерения
  СформироватьПараметрыПоЕдИзмер(Раскладка, ЗначенияПараметров, nil);
  // Ограничения для гипер документов
  ЗначенияПараметров.PumpData(Коллекция);
  // Параметры для событий и алгоритмов
  Результат := CreateVariables;
  Результат.Values(АлгПараметры) := ЗначенияПараметров;
  Результат.Values(АлгДанные) := Данные;
  Результат.Values(АлгЗаголовки) := Заголовки;
  Результат.Values(АлгРаскладка) := Раскладка;
  Результат.Values(АлгПараметрыВывода) := ПараметрыВывода;
  Результат.Values(АлгГлобальныеПараметры) := Коллекция;
  Результат.Values(АлгВизуализатор) := Визуализатор;
  Результат.Values(АлгСписокРаскладок) := Визуализатор.Templates;

  // то, что в шаблоне в &lt;&gt; скобках
  ИменаПараметров := Визуализатор.GetParams;
  Результат.Values(АлгПараметрыШаблона) := ИменаПараметров;

  попытка
    НачатьСборСтатистикиВремениИсполнения(Результат, 10);
    // Обработчик до закачки - ДоЗакачки
    EventRecursive(ДоЗакачки, результат, Визуализатор.Templates, да);
    ДобавитьПоля(Раскладка, Данные);
    Данные.Открыть;
    // формируем параметры ЗАПРОСОВ!!!
    СформироватьПараметрыЗапросов(Визуализатор.tables, ИменаПараметров,
                                  ЗначенияПараметров, nil, Заголовки, Раскладка, Данные, Reporter);
    ВыполнитьАлгоритмы(Раскладка, Результат);
    // Обработчик после закачки - ПослеЗакачки
    EventRecursive(ПослеЗакачки, результат, Визуализатор.Templates, нет);
    Заголовок := ОбъединитьЗаголовки(Раскладка, Заголовки);
    ДополнительнаяОбработкаДанных(Раскладка, ЗначенияПараметров, Данные);
    ДополнительнаяОбработкаРаскладки(Раскладка, ЗначенияПараметров);
    ЗавершитьСборСтатистикиВремениИсполнения(Результат, 10);
  обязательно
    СброситьСборСтатистикиВремениИсполнения(Результат, 10);
  конец;
конец;

функция СнятьЛенту(Раскладка: ITableInfoX; Переносить: целое);
переменные
  сч, Нач : целое;
  ci : IColumnInfoX;
начало
  Нач := 0;
  от сч:=0 до Раскладка.count-1 делать
    начало
      ci := Раскладка.Columns(сч);
      если (ci.ColumnType = ctpBelt) тогда
        начало
          ci.ColumnType := ctpDisplay;
          ci.Required := БитИли(ci.Required, trxDaily + trxRequired);
          если Переносить тогда
            начало
              если (ci.Sort = SortNone) тогда ci.Sort := sortAsc;
              если (Нач &lt; сч) тогда Раскладка.Move(сч, Нач);
              Нач := Нач + 1;
            конец;
        конец;
    конец;
конец;

функция ДобавитьГиперКолонку(Колонка: IColumnInfoX);
переменные
  Раскладка: ITableInfoX;
  ГиперКолонка, СоставнаяКолонка: IColumnInfoX;
  Зависимости: Текст;
  ТекстСкрипта: строка;
  сч, НомерКолонки: целое;
начало
  Раскладка := Колонка.Parent;
  ГиперКолонка := Раскладка.Add;
  Колонка.CopyTo(ГиперКолонка);
  ГиперКолонка.Caption := 'Гипер текст';
  ГиперКолонка.Name := 'ГиперТекст' + Колонка.Name;
  ГиперКолонка.FieldName := ГиперКолонка.Name;
  ГиперКолонка.Group := GrpSum;
  ГиперКолонка.Total := 0;  
  ГиперКолонка.CalcField := cfxPriorGroup;  
  //ГиперКолонка.ColumnType := ctpResult;
  ГиперКолонка.ValueType := vtxData;
  ГиперКолонка.Width := 75;
  //ГиперКолонка.Required := trxDaily + trxRequired + trxHidden;
  ГиперКолонка.Level := -1;
  ТекстСкрипта := "начало ";
  если Колонка.Params('_References') &lt;&gt; '' тогда
  начало
    Зависимости := СоздатьТекст;
    попытка
      Зависимости.РазделенноеЗначение := Колонка.Params('_References');
      от сч := 0 до Зависимости.Количество - 1 делать
      начало
        НомерКолонки := Раскладка.FindColumn(Зависимости.Стр(сч));
        если НомерКолонки &lt;&gt; -1 тогда
        начало
          СоставнаяКолонка := Раскладка.Columns(НомерКолонки);
          если (СоставнаяКолонка.ColumnType = ctpResult)и(СоставнаяКолонка.ValueType = vtxDouble) тогда
            ТекстСкрипта := ТекстСкрипта + 
              " если " + Раскладка.Columns(НомерКолонки).FieldName + 
              ".КакДробное &lt;&gt; 0 тогда Значение.КакСтрока := Значение.КакСтрока + " + ПолеХранениеГиперТекст + ".КакСтрока; ";
        конец;  
      конец;
    обязательно
      УдалитьОбъект(Зависимости);
    конец;
  конец
  иначе
    ТекстСкрипта := ТекстСкрипта + 
      " если " + Колонка.FieldName + 
      ".КакДробное &lt;&gt; 0 тогда Значение.КакСтрока := Значение.КакСтрока + " + ПолеХранениеГиперТекст + ".КакСтрока; ";
  ТекстСкрипта := ТекстСкрипта + " конец;";
  ГиперКолонка.Script := ТекстСкрипта;    
конец;

функция ДобавитьГиперКолонки(Раскладка: ITableInfoX);
переменные
  Колонка : IColumnInfoX;
  сч: целое;
начало
  // количество документов сформировавших запись
  Колонка := Раскладка.Add;
  Колонка.Caption := 'Количество документов';
  Колонка.Name := '_КоличествоДокументов';
  Колонка.FieldName := 'КоличествоДокументов';
  Колонка.Group := grpSum;
  Колонка.ColumnType := ctpResult;
  Колонка.ValueType := vtxDouble;
  Колонка.CalcField := cfxPriorGroup;
  Колонка.Script := 'начало Значение.какЦелое := 1; конец.';
  Колонка.Width := 75;
  Колонка.Required := trxDaily + trxRequired;
  Колонка.Identifier := 'Тысячи';
  Колонка.Level := 0;
  Колонка.Options := toxReadOnly;
  // обработка для гипертекста
  Колонка := Раскладка.Add;
  Колонка.Caption := 'Гипер текст';
  Колонка.Name := 'ГиперТекст';
  Колонка.FieldName := ПолеХранениеГиперТекст;
  Колонка.Group := GrpSum;
  Колонка.ColumnType := ctpResult;
  Колонка.ValueType := vtxData;
  Колонка.Width := 75;
  Колонка.Required := trxDaily + trxRequired + trxHidden;
  Колонка.Level := -1;
  
  Раскладка.CalcReferences;
  от сч := 0 до Раскладка.Count - 1 делать
  начало
    Колонка := Раскладка.Columns(сч);
    если (Колонка.ColumnType = ctpResult)и(Колонка.ValueType = vtxDouble) тогда
      ДобавитьГиперКолонку(Колонка);
  конец;

  Раскладка.Options := БитИ(БитИли(Раскладка.Options, ttoResultHidden), БитНе(ttoResultDrop));
конец;

функция ПроверитьЭтоГиперДокумент(ИмяСтраницы, ИмяВизуализатора: строка; ИндексВизуализатора: целое): целое;
переменные
  ГиперПарам : IVariables;
начало
  результат := нет;
  ГиперПарам := CreateVariables;
  ГиперПарам.Values('Страница') := ИмяСтраницы;
  ГиперПарам.Values('Визуализатор') := ИмяВизуализатора;
  ГиперПарам.Values('Индекс') := ИндексВизуализатора;
  ГиперПарам.Values('ГиперДокумент') := нет;
  попытка
    // обработка для гипер текста
    Event('ПредГиперДокумент', ГиперПарам);
    результат := (ГиперПарам.Values('ГиперДокумент') &lt;&gt; нет);
  неудача
    результат := нет;
  конец;
  если результат тогда
    начало
      ИмяСтраницы := ГиперПарам.Values('Страница');
      ИмяВизуализатора := ГиперПарам.Values('Визуализатор');
      ИндексВизуализатора := ГиперПарам.Values('Индекс');
    конец;
  УдалитьОбъект(ГиперПарам);
конец;

функция НастроитьГиперДокумент(Визуализатор : IUniViewer; Раскладка: ITableInfoX; Параметры: строка; ПараметрыВывода : IVariables);
переменные
  ГиперПарам : IVariables;
начало
  // обработка для гипер текста
  ГиперПарам := CreateVariables;
  ГиперПарам.Values(АлгВизуализатор) := Визуализатор;
  ГиперПарам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
  ГиперПарам.Values(АлгРаскладка) := Раскладка;
  ГиперПарам.Values(АлгПараметры) := Параметры;
  ГиперПарам.Values(АлгПараметрыВывода) := ПараметрыВывода;
  Event('ПостГиперДокумент', ГиперПарам);
  УдалитьОбъект(ГиперПарам);
конец;

функция ВывестиДанныеЛенты(Визуализатор: IUniViewer;
                           Раскладка: ITableInfoX;
                           Коллекция, ЗначенияПараметров, ТекстПараметров: IVariables;
                           Данные, Заголовок: СтатическиеДанные);
переменные
  НетДанных : целое;
  ГлобПараметры, парам : IVariables;
  Индекс, кол, сч, рез, сЗаголовком : целое;
  Данные_ : СтатическиеДанные;
  Страница : IUniSheet;
  Лента : ITableInfoX;
  Стр, ИмяОбработчика : строка;
  Field : Поле;
  Fields, Range : Variant;
  Deref : IDereference;
  Обработчики, ИменаПараметров : IVariables;
  _ЗначенияПараметров : IVariables;
начало
  _ЗначенияПараметров := Визуализатор.GetVariables;
  если (_ЗначенияПараметров = nil) тогда _ЗначенияПараметров := CreateVariables;
  _ЗначенияПараметров.PumpData(ЗначенияПараметров);
  ТекстПараметров := CreateVariables;
  ТекстПараметров.PumpData(_ЗначенияПараметров);
  НетДанных := да;
   // получаем ленточные поля
  Лента := Раскладка.GetBeltColumns;
  если данные&lt;&gt;nil тогда НетДанных :=Данные.ЧислоЗаписей=0;
  если НетДанных и (Заголовок&lt;&gt;nil) тогда НетДанных :=Заголовок.ЧислоЗаписей=0;
  если НетДанных или (Лента = nil) тогда
    начало
      ВывестиДанные(Визуализатор, Раскладка, Раскладка, ТекстПараметров, Коллекция,
                    Данные, Заголовок, да);
      выход;
    конец;
  ГлобПараметры := ГлобальныеПараметры;
  парам := CreateVariables;
  если (ГлобПараметры &lt;&gt; nil) тогда
    парам.PumpData(ГлобПараметры);
  парам.PumpData(ТекстПараметров);

  Deref := Mapper;
  Обработчики := Визуализатор.GetProjVars;
  // Обработчик до закачки - ДоЗакачки
  ИмяОбработчика := Обработчики.Values('Лента');
  // Создаем промежуточную структуру для построения отчета
  Страница := CreateSheet;
  // если параметры существуют переносим на страницу
  Страница.SetParams(парам);
  Визуализатор.Translation(nil);
  кол := Лента.Count;
  если (Заголовок &lt;&gt; nil) тогда
    // Если есть заголовок
    начало
      индекс := 0;
      // проверяем наличие всех полоей в заголовке
      пока (индекс &lt; кол) делать
        начало
          Field := nil;
          если (Заголовок.FindField(Лента.Columns(индекс).FieldName, Field) = нет) тогда
            // Если поле отсутствует уничтожаем заголовок
            начало
              Заголовок := nil;
              индекс := кол;
            конец;
          индекс := индекс + 1;
        конец;
    конец;

  сЗаголовком := нет;
  если (Заголовок = nil)
    // если нет заголовка создаем его
    тогда Заголовок := СоздатьСтатическиеДанные
    иначе сЗаголовком := да;

  // создаем массивы полей и масив для установки диапазона
  Fields := СоздатьПеременную;
  Range := СоздатьПеременную;
  Fields.VarArrayCreate(varUnknown, 0, кол);
  Range.VarArrayCreate(varVariant, 0, кол);

   // получаем все ленточные поля
  от Индекс:=0 до кол - 1 делать
    начало
      Стр := Лента.Columns(Индекс).FieldName;
      Field := Данные.FieldByName(Стр);
      рез := Field.FieldType;
      сч := Field.Size;
      если сЗаголовком
        тогда Field := Заголовок.FieldByName(Стр)
        иначе
          начало
            Field := Заголовок.CreateField(Стр, рез);
            если (рез = 1) тогда Field.Size := сч;
          конец;
       Fields.AsInterface(Индекс) := Field;
     конец;
   если не сЗаголовком тогда Заголовок.Open;
   // группируем все данные в заголовок
   Лента.FixGroup;
   Стр := Лента.GetGroups;
   если ((Стр &lt;&gt; '') и (Данные &lt;&gt; nil)) тогда
     Заголовок.Группировать(Данные, Стр);
   // теперь в заголовке есть все записи для ленты
   // сортируем заголовок
   Заголовок.Индекс := Лента.SortStr;

   CalcDataSet(Данные, Раскладка, Deref, Страница, парам, ecfPriorGroup);
   Данные_ := СоздатьСтатическиеДанные;
   Данные_.AssignFields(Данные);
   Данные_.GroupData(Данные, Раскладка.GetGroups);
   CalcDataSet(Данные_, Раскладка, Deref, Страница, парам, ecfPriorSort);
   Данные_.Индекс := Лента.SortStr;

   // Параметры для событий
   парам.Values(АлгДанные) := Данные_;
   парам.Values(АлгРаскладка) := Раскладка;
   парам.Values(АлгГлобальныеПараметры) := Коллекция;
   парам.Values(АлгВизуализатор) := Визуализатор;
   Парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
   парам.Values(АлгПараметрыВывода) := ТекстПараметров;

   // то, что в шаблоне в &lt;&gt; скобках
   ИменаПараметров := Визуализатор.GetParams;
   парам.Values(АлгПараметрыШаблона) := ИменаПараметров;

   // начинаем ленту
   Визуализатор.BeginBelt;
   попытка
     Заголовок.First;
     Пока не Заголовок.eof делать
       начало
         // Заполняем параметры
         от сч := 0 до Заголовок.ЧислоПолей-1 делать
           начало
             Field := Заголовок.Поля(сч);
             Страница.Params(Field.Имя) := Field.КакСтрока;
           конец;
         парам.SetFields(Заголовок);

         от Индекс :=0 до кол - 1 делать
           начало
             Field := Fields.AsInterface(Индекс);
             выбрать Field.FieldType из
               1 : Range.AsWideString(Индекс) := Field.AsString;
               2 : Range.AsInteger(Индекс) := Field.AsInteger;
               3 : Range.AsInteger(Индекс) := Field.AsInteger;
               4 : Range.AsFloat(Индекс) := Field.AsFloat;
               5 : Range.AsFloat(Индекс) := Field.AsFloat;
               6 : Range.AsFloat(Индекс) := Field.AsFloat;
               7 : Range.AsFloat(Индекс) := Field.AsFloat;
               8 : Range.AsInteger(Индекс) := Field.AsInteger;
             иначе
               Range.AsWideString(Индекс) := Field.AsString;
             конец;
           конец;
         // Устанавливаем диапазон
         Данные_.SetScope(Range.Value);
         если (ИмяОбработчика &lt;&gt; '') тогда
           EventRecursive(ИмяОбработчика, Парам, Визуализатор.Templates, да);
         Страница.SetParams(парам);
         //Построение отчета

         Building(tbxStd, Страница, Раскладка, Данные_, nil, Deref, парам, Визуализатор.GetParams);
         // удаление данных отчета
         Страница.ClearData;
         // Выводим часть ленты
         Визуализатор.ViewToBelt(Страница);
         Заголовок.Next;
         страница.ClearData;
       конец;
   обязательно
     // заканчиваем ленту и выводим глобальные параметры
     Визуализатор.EndBelt(Страница);
   конец;
конец;

функция ЗаполнитьЗаголовокОтчета(Код: целое; Параметры, ПараметрыСкрипта: IVariables);
переменные
  BG: IReportBG;
  Имя: строка;
начало
  Имя := '';
  BG := ReportBG;
  если (BG &lt;&gt; nil) тогда
    начало
      Имя := BG.NameByCLS(Код);
      Параметры.Values('ИмяОтчета') := Имя;
      если (BG.DynType &lt;&gt; dcu_Current)
        тогда Имя := BG.DynTemplate
        иначе Имя := ПараметрыСкрипта.Values('Caption');
    конец;
  Параметры.Values('ЗаголовокОтчета') := Имя;
конец;
</value>
    <param value="ПоддержкаВывода.abl" type="3" name="Export">HRUSTALEV\shishkov\21.01.2013 16:43:40</param>
    <param value="ПоддержкаВывода.abl" type="3" name="version">36.042.191</param>
    <param value="ПоддержкаВывода.abl" type="3" name="crc32">$8E90743C</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаВыводаПечатныхДокументов.abl">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\F1Tools.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Отчеты\ПоддержкаЭлАрхива.abl';

константы
  nl = #13#10;

функция ПолучитьТекущуюЗапись(ДанныеРезультат : СтатическиеДанные; СеткаВвода : СеткаДанных; Данные : СтатическиеДанные);
начало  
  ДанныеРезультат := СоздатьСтатическиеДанные; 
  ДанныеРезультат.AssignFields(Данные);
  ДанныеРезультат.Открыть;
  если не (Данные.Eof и Данные.Bof) тогда ДанныеРезультат.СкопироватьЗапись(0, Данные);
конец; 

 // берем либо выделенные, либо текущую запись
функция ПолучитьВыделенныеИлиТекущую(ДанныеРезультат : СтатическиеДанные; СеткаВвода : СеткаДанных; Данные : СтатическиеДанные);
начало
  если (СеткаВвода &lt;&gt; nil) тогда  
    если СеткаВвода.ЕстьВыделенныеСтроки// в объекте Выделенные теперь находятся записи, выделенные в сетке данных заголовков 
      тогда ДанныеРезультат := СеткаВвода.ПолучитьВыделенныеСтроки
       // ничего не выделено, тогда занесем в выделенные текущую запись мастера
      иначе ПолучитьТекущуюЗапись(ДанныеРезультат, СеткаВвода, Данные); 
конец;

функция ПолучитьВыделенныеЗаписи(ДанныеРезультат: СтатическиеДанные; СеткаВвода : СеткаДанных);
начало
  если (СеткаВвода &lt;&gt; nil) тогда  
    ДанныеРезультат := СеткаВвода.ПолучитьВыделенныеСтроки;
конец;

// Функция формирует ограничения на выборку данных в печатный 
// документ только для Заголовков 
функция СформироватьОграниченияЗаголовок(Коллекция : IVariables; ТолькоТекущаяЗапись : целое);
переменные
  Ф : ФормаВвода;              
  Мастер, Данные : СтатическиеДанные;
  Сам : целое;
начало
    // не обращаемся к форме ввода за списком id если он уже сформирован
  Если не (Коллекция.Значение("НеФормироватьОгрПоКодуДокумента") и
           Коллекция.ПараметрСуществует('КодДокумента')) тогда
    начало       

      // Инициализация             
      Ф := ПолучитьФормуВвода;  
      // получаем статик сет заголовка      
      Мастер := Ф.Заголовки.Таблица;          
      // Проверка готовности формы ввода
      если (не Мастер.Active) 
        тогда ВызватьОшибку("Форма ввода не активна, нажмите кнопку [Выполнить]");
      если (Мастер.ВНачале и Мастер.ВКонце) 
        тогда ВызватьОшибку("Форма ввода не содержит данных");
      // Сохранение изменений для заголовков обязательно
      если Ф.ЕстьИзменения или (Мастер.State &lt;&gt; dsBrowse) 
        тогда ВызватьОшибку("Сохраните изменения на форме ввода");
      попытка
        Сам := ф.ПараметрПользователя('Сам');
      неудача
        Сам := нет;
      конец;  
      если (Сам &lt;&gt; 0) тогда
      попытка
        Данные := ф.ПараметрПользователя('Выделенные');
      неудача
        Сам := нет;
      конец;
      если (Сам &lt;&gt; 0) тогда
      начало
        если (Данные = nil) тогда ВызватьОшибку('Нет документов');
        если (Данные.RecordCount = 0) тогда ВызватьОшибку('Выберите документы');
      конец иначе
      начало
        // берем список заголовков и печатаем их
        Если ТолькоТекущаяЗапись или (ф.АктивнаяДетализация &gt;= 0) тогда 
          ПолучитьТекущуюЗапись(Данные, Ф.Заголовки.Сетка, Мастер)
        иначе 
          ПолучитьВыделенныеЗаписи(Данные, Ф.Заголовки.Сетка);
      конец;    
      // формируем ограничение по записям
      если  (Данные &lt;&gt; nil) тогда
      Коллекция.Values('КодДокумента') := GetLimitStr(Данные, 'ID');
    конец;  
  Коллекция.Values('ПечатныйДокумент') := Да;
конец;

функция ФормированиеПечатногоДокумента(Действие : целое; CLSID : Целое; Визуализатор : IUniViewer; 
                                       Коллекция : IVariables; СразуПоказыватьОтчет : Целое;
                                       ЭтоКопозит: целое = нет);
переменные
  Раскладка, ШаблонДокумента : ITableInfoX;
  ТекстПараметров, ЗначенияПараметров : IVariables;
  Данные, Заголовок : СтатическиеДанные;
  сч, числоКопий : Целое;
  Прогресс : IProgress;
начало
  Прогресс := Progress;
  если (Прогресс &lt;&gt; nil) тогда Прогресс.SetMessage('Обработка Данных');
  СформироватьОграниченияЗаголовок(Коллекция, нет);
  от сч := 0 до Визуализатор.TemplateCount - 1 делать
    начало
      Визуализатор.TemplateIndex := сч;
      Выбрать Действие из 
        saxDynamic  : начало  
                        Раскладка := ПолучитьРаскладкуДокумента(CLSID, Коллекция, Визуализатор, ШаблонДокумента);
                          Если (Раскладка = nil) тогда выход;
                        конец;  
        saxPrimary, 
        saxBelt     : начало
                        Раскладка := Визуализатор.GetTable;
                        ШаблонДокумента := Раскладка;
                      конец;
      конец;              
      Если (не Раскладка.Params("PageSkipped")) тогда
        начало
          ЗначенияПараметров := Визуализатор.GetVariables;  
          если (ЗначенияПараметров = nil) тогда ЗначенияПараметров := CreateVariables;
          ЗначенияПараметров.PumpData(Коллекция);
          ЗначенияПараметров.Values("ТЕКУЩЕЕ ВРЕМЯ") := ВремяВСтроку(ПолучитьТекущееСистемноеВремя);
/$если Бюджет          
          если ЕстьПраво(11, 28000000, CLSID) тогда
            ЗначенияПараметров.Values("ОграничВидимостьПоПравамЧек") := 1;
/$конец            
          ЗагрузитьНастройкиОтчета(Коллекция, ЗначенияПараметров);          
          СформироватьДанныеПоОгр(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров, Данные, Заголовок); 
          Если не((ЗначенияПараметров.Значение("НеВыводитьПустойДокумент") = 1)и(Данные.RecordCount = 0)) тогда
          начало             
            Если (Действие = saxBelt)
             тогда ВывестиДанныеЛенты(Визуализатор, Раскладка, Коллекция, ЗначенияПараметров, ТекстПараметров,
                                      Данные, Заголовок)
             иначе ВывестиДанные(Визуализатор, ШаблонДокумента, Раскладка,
                                 ТекстПараметров, Коллекция,
                                 Данные, Заголовок, да);
          конец;                       
        конец;                
    конец;
  ModalWafer.Caption := Коллекция.Values('Имя');  
  Прогресс := Progress;
  если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
  если не Коллекция.Значение('НеОтображатьОтчет') тогда 
    СохранитьКоллекциюДокументаДляАрхива(Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book), 
                                         ТекстПараметров, Коллекция, ЭтоКопозит);  
  // если документ нужно принудительно печатать
  Если Коллекция.Значение('АвтоПечать') 
    тогда
      начало         
         Если СразуПоказыватьОтчет тогда
           начало
             если (Access = Access_ADM)
               тогда ModalWafer.ShowData(sdoClose + sdoTemplate)
               иначе ModalWafer.ShowData(sdoClose);
           конец;    
        // т.к. число копий в визуализаторе не задать то оно передается через коллекцию
        числоКопий := Коллекция.Значение('КоличествоКопийДокументов');
        Если (числоКопий &lt;= 0) тогда числоКопий := 1;
        от сч := 1 до числоКопий делать Визуализатор.Print(нет);    
      конец
    иначе  
      // визуализируем отчет, если надо
      Если СразуПоказыватьОтчет тогда 
        начало
          Если (ЗначенияПараметров &lt;&gt; nil) и ЗначенияПараметров.Значение('ТолькоПросмотр') 
          тогда Визуализатор.Preview
          иначе
          если (Access = Access_ADM)
            тогда ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose + sdoTemplate)
            иначе ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose);                
          ModalWafer.Clear;
        конец;   
конец;

функция ПолучитьПечатныеДокументы: СтатическиеДанные;
переменные
  Поток: ВнешнийОбъект;
начало
  результат := СоздатьСтатическиеДанные;
  Поток := ReadEnum(ENUM_DOCS);
  попытка
    результат.ДобавитьЦелоеПоле('CLS');
    результат.ДобавитьСтроковоеПоле('TEMPLATE', 255);
    результат.Открыть;
    результат.PumpData(Поток, 'CLS=CLS,TEMPLATE=TEMPLATE');
    результат.IndexFieldNames := 'CLS';
  обязательно
    УдалитьОбъект(Поток);  
  конец;  
конец;

функция ДобавитьКодыДочернихДокументов(Конфигурация: СтатическиеДанные; Шаблон: строка; результат: Текст);
переменные
  Ы: Целое;
  т: Текст;
  Код: строка;
начало
  т := СоздатьТекст;
  попытка
    т.РазделенноеЗначение := Шаблон;
    от Ы := 0 до т.Количество - 1 делать
    начало
      Код := т.Стр(Ы);
      если Конфигурация.FindKey(ArrayOf(Код)) тогда
      начало
        если Позиция('.', Конфигурация.Поле('Template').КакСтрока) &gt; 0 тогда
          результат.Добавить(Код)
        иначе  
          ДобавитьКодыДочернихДокументов(Конфигурация, Конфигурация.Поле('Template').КакСтрока, результат)
      конец;  
    конец;
  обязательно
    УдалитьОбъект(т);
  конец;
конец;

функция ПолучитьКодыДочернихДокументов(Конфигурация: СтатическиеДанные; Шаблон: строка): Текст;
начало
  результат := СоздатьТекст;
  ДобавитьКодыДочернихДокументов(Конфигурация, Шаблон, результат);
конец; 

// формирования композиции документов F1 и Cells шаблонов, 
// так как отличие лишь в визуализаторе
функция ФормированиеКомпозицииДокументов(CLSID: целое;  Шаблон: строка; Коллекция: IVariables; Визуализатор: IUniViewer);
переменные
  Ткст: Текст;
  Ы: целое;
  Код: строка;
  Каталог: Строка;
  ПечатныеДокументы: СтатическиеДанные;
  пШаблон: Поле;
начало
  ПечатныеДокументы := ПолучитьПечатныеДокументы;
  попытка
    // получаем печатные документы по номерам
    Каталог := TemplatePath + '\Документы\';
    Шаблон := Подстрока(Шаблон, Длина(Каталог) + 1, Длина(Шаблон) - Длина(Каталог));
    
    Ткст := ПолучитьКодыДочернихДокументов(ПечатныеДокументы, Шаблон);
    попытка
      пШаблон := ПечатныеДокументы.Поле('TEMPLATE');  
      от Ы := 0 до Ткст.Количество - 1 делать
      начало
        Код := Ткст.Стр(Ы);
        // надо получить имя шаблона для печатного документа
        если ПечатныеДокументы.FindKey(ArrayOf(Код)) тогда 
          начало
            Визуализатор.Template := Каталог + пШаблон.КакСтрока;
            Коллекция.Values('НомерДетализации') := Ы;
            ФормированиеПечатногоДокумента(saxPrimary, CLSID, Визуализатор, Коллекция, Нет, Да);
          конец;
      конец;
      // это нужно для того, чтобы по кнопке "Шаблон" открывались все шаблоны, входящие в композит
      Визуализатор.Templates.Clear;
      от Ы := 0 до Ткст.Количество - 1 делать
      начало
        Код := Ткст.Стр(Ы);
        если ПечатныеДокументы.FindKey(ArrayOf(Код))
         тогда Визуализатор.Templates.Add.Source:=Каталог + пШаблон.КакСтрока;
      конец;
      Визуализатор.Event(2); // taxSetTemplate
    обязательно
      УдалитьОбъект(Ткст);
    конец;    
    // визуализируем самостоятельно  
    если (Access = Access_ADM)
      тогда ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose + sdoTemplate)
      иначе ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose);                
    ModalWafer.Clear;
  обязательно
    УдалитьОбъект(ПечатныеДокументы);
  конец;       
конец;
</value>
    <param value="ПоддержкаВыводаПечатныхДокументов.abl" type="3" name="version">36.042.191</param>
    <param value="ПоддержкаВыводаПечатныхДокументов.abl" type="3" name="crc32">$29573E48</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаОтчетов.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\SharedParams.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\output.lib';
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';
                                                             
константы 
  nl = #13#10;
                                                                
  // Типы данных в полях датасета
  ftUnknown  = 0; 
  ftString   = 1; 
  ftSmallint = 2; 
  ftInteger  = 3; 
  ftWord     = 4;
  ftBoolean  = 5; 
  ftFloat    = 6; 
  ftCurrency = 7;  
  ftDate     = 9; 
  ftTime     = 10; 
  ftDateTime = 11; 
  ftAutoInc  = 14;
    
функция ОтладкаФлаг(Индекс: целое): целое;
переменные
  BG : IReportBG;
начало
  результат := нет;
  BG := ReportBG;
  если (BG &lt;&gt; nil) тогда результат := (BG.Checks(Индекс) &lt;&gt; 0);
конец;

// возвращает индекс первого вхождения строки в список РазделенноеЗначение (разделитель запятая)
// -1 значение не найдено
функция ВернутьИндексВРазделеннойСтроке(РазделенноеЗначение, СтрокаПоиска : Строка) : Целое;
переменные
  т : текст;
начало
  результат := -1;
  т := СоздатьТекст;
  попытка
    т.РазделенноеЗначение := РазделенноеЗначение;
    результат := т.Поиск(СтрокаПоиска);
  обязательно
    УдалитьОбъект(т); 
  конец;   
конец;

//По табу классификатора возвращает его маску с точками
функция ВернутьМаскуКлассификатораИерар(ИмяКлассификатора : строка) : строка;
переменные
  МаскиКлассификаторов : текст;
начало
  МаскиКлассификаторов := СоздатьТекст;
  попытка
    МаскиКлассификаторов.РазделенноеЗначение := ВернутьМаскиВсехКлассификаторов;
    Результат := МаскиКлассификаторов.ЗначениеПараметра(ИмяКлассификатора);
  обязательно
    УдалитьОбъект(МаскиКлассификаторов);
  конец;
конец;

//По табу классификатора возвращает его маску без точек
функция ВернутьМаскуКлассификатора(ИмяКлассификатора : строка) : строка;
начало
  Результат := ЗаменитьСтроку(ВернутьМаскуКлассификатораИерар(ИмяКлассификатора), ".", "");
конец;

функция РазыменоватьКэш(ИмяРазыменовки, Значение : строка; Коллекция : IVariables) : строка;
начало
  Если не Коллекция.ПараметрСуществует(Значение) тогда
    Коллекция.Значение(Значение) := Разыменовать(ИмяРазыменовки, Значение);
  Результат := Коллекция.Значение(Значение);      
конец;
  
// Загружает шаблон, если нужно показывает динамический диалог 
функция ЗагрузитьШаблон(
  Действие, CLSID: целое;
  Шаблон, ИмяСтраницы, ИмяВизуализатора : СТРОКА;
  Коллекция : IVariables; ШаблонОтчета : ITableInfoX): IUniViewer;
переменные
  ID : целое;
  Настройки : ITableInfoX;
  BG : IReportPages; 
начало
  Коллекция.Values('Данные') := nil;
  Коллекция.Values('Заголовок') := nil;
  // Сохраняем для динамической раскладки
  ID := CLSID;
  // Получаем старший разряд класса отчета
  ID := ((ID цел 1000000) * 1000000);
  //если страницы еще нет то создаём её
  BG := ReportBG;
  Если (BG &lt;&gt; nil) тогда
    начало
      если (BG.IndexOf(ID) = -1) тогда
        начало
          // Создаем визуализатор
          результат := CreateComObject(ИмяВизуализатора); 
          BG.Add(ИмяСтраницы, ID, результат);
        конец иначе
        начало
          результат := BG.ViewerByID(ID);
        конец;
    конец;
  // загружаем шаблон отчета в визуализатор
  LoadTemplateToViewer(Шаблон, результат);
  // Получаем информацию о шаблоне      
  ШаблонОтчета := результат.GetTable;
  если (ШаблонОтчета &lt;&gt; nil) тогда
    начало
      если (Действие = saxDynamic) тогда
        начало
          // Если это динамический отчет 
          ШаблонОтчета := nil;
          если (ШаблонОтчета = nil) тогда ВызватьОшибку('Действие отменено.');
          Коллекция.Values("Настройки") := ШаблонОтчета;
        конец иначе
        начало
          Настройки := Коллекция.Values("Настройки");
          если (Настройки &lt;&gt; nil) тогда
            ШаблонОтчета := Коллекция.Values("Настройки");
        конец;
    конец;
  Коллекция.Values("Настройки") := ШаблонОтчета;
  Коллекция.values('ID') := ID;
конец; 

//Функции работы с датой
функция ПолучитьДатуНачалаГода(дата: строка): строка;
переменные
  Год, месяц, день: целое;
начало
  ПолучитьДату(СтрокаВДату(дата), Год, Месяц, День);
  результат := строка(Год * 10000);
конец;

//Функции работы с датой
функция ПолучитьДатуНачалаМесяца(Дата: строка): строка;
переменные
  Год, месяц, день: целое;
начало
  ПолучитьДату(СтрокаВДату(дата), Год, Месяц, День);
  результат := строка(Год * 10000 + Месяц * 100 + 00);
конец;

//определяет - сервисный счет или нет
// считаем, что счет служебный только тогда, когда он сам служебный и внутри счета, если он обобщающий, отсутствуют неслужебные счета 
функция СчетСервисный(ЛицСчет:Строка): целое;
начало
  Результат := СчетСервисныйИзБазы(ЛицСчет);
конец;

// возвращает часть строки с начала до знака "="
функция ПолучитьИмяСтр(стр: строка): строка;
переменные
  поз: целое;
начало
  результат := ''; 
  поз := Позиция('=',стр);
  если поз &gt; 0 тогда результат := Подстрока(стр, 1, поз - 1);
конец;

// возвращает часть строки со знака "=" до конца
функция ПолучитьЗначениеСтр(стр: строка):строка;
переменные
  поз: целое;
начало
  результат := ''; 
  поз := Позиция('=', стр);
  если (поз &gt; 0) тогда результат := Подстрока(стр, поз + 1, Длина(стр) - поз);
конец;

// настраиваем параметры СтатическихДанных по коллекции
функция НастроитьПараметры(Данные: СтатическиеДанные; НаборПараметров: IVariables);
переменные
  Кол, индекс : ЦЕЛОЕ;
  Имя : СТРОКА; 
НАЧАЛО
  // настраиваем параметры статических данных по вытолкнутым на страницу параметрам
  Кол := НаборПараметров.Count - 1;
  от индекс:=0 до Кол делать
    начало
      Имя := НаборПараметров.Names(индекс);
      // устанавливаем значение параметра
      данные.параметр(Имя) := НаборПараметров.IndexValues(индекс);
    конец;
КОНЕЦ;

// проверяет надо или нет выполнять секцию. Поля перечисляются через "," если хоть одно из них 
// находиться на шаблоне, то секцию выполняем, иначе нет
функция ВыполнятьСекцию(Данные: СтатическиеДанные; СписокПолей: строка): целое;
переменные
  Лист : текст;
  Кол, индекс : целое;  
  ВремПоле: поле;
начало
  результат := нет;
  Лист := СоздатьТекст;
  попытка
    Лист.РазделенноеЗначение := СписокПолей;
    Кол := Лист.Количество;
    индекс := 0;
    пока ((индекс &lt; Кол) и (не результат)) делать
      начало
        времПоле := nil;
        // проверяем наличие в отчете колонок, соответствующих полям
        результат := данные.FindField(Лист.Стр(индекс), времПоле);
        индекс := индекс + 1;
      конец;
  обязательно
    УдалитьОбъект(Лист);
  конец; 
конец;

// из строки формата "XXX1=YYY1,...,XXXn=YYYn" получает строку "YYY1,YYY2,...YYYn"
// Разделитель - символ, исползуемый для разделения. По умолчанию ','
функция ВернутьПоляВыборки(Маппинг,Разделитель:строка):строка;
переменные
  Ткст:Текст;
  Сч:целое;
начало
  Результат := "";
  Если Разделитель = "" тогда
    Разделитель := ",";
  попытка
    Ткст := СоздатьТекст;
    Ткст.РазделенноеЗначение := Маппинг;
    от сч:=0 до ткст.Количество-1 делать
    если убратьПробелы(ПолучитьЗначениеСтр(ткст.Стр(сч)))&lt;&gt;'' тогда
    начало // проверим, не пропустили ли запятую в маппинге
      если Позиция("=",ПолучитьЗначениеСтр(ткст.Стр(сч)))&gt;0 тогда
         ВызватьОшибку("Неверный маппинг: "+ПолучитьЗначениеСтр(ткст.Стр(сч))); 
      Результат := Результат + ПолучитьЗначениеСтр(ткст.Стр(сч));
      если сч&lt;ткст.Количество-1 тогда Результат := Результат +Разделитель;
    конец;
    если Результат&lt;&gt;"" тогда если результат[Длина(результат)]=Разделитель тогда результат := подстрока(результат,1,длина(результат)-1);
  Обязательно
    УдалитьОбъект(Ткст);
  конец;
конец;

// из строки формата "XXX1=YYY1,...,XXXn=YYYn" получает строку "XXX1,XXX2,...XXXn"
функция ВернутьСписокИмен(Маппинг:строка):строка;
переменные
  Ткст,Рез:Текст;
  Сч:целое;
начало
  Результат := "";
  попытка
    Ткст := СоздатьТекст;
    Рез := СоздатьТекст;
    Ткст.РазделенноеЗначение := Маппинг;
    от сч:=0 до ткст.Количество-1 делать
       Рез.Добавить(ткст.ИмяПараметра(сч));
    Результат := рез.РазделенноеЗначение;   
  Обязательно
    УдалитьОбъект(Ткст);
    УдалитьОбъект(рез);
  конец;
конец;

//процедура производит формирование строки ограничений по классиификации
// на входе получает маппинг соответствия Tab`ов параметрам полям в запросе
функция Ограничение(стр:строка;параметры:IVariables):строка;
переменные
  Рез:строка;
  Маппинг : Текст;
  сч : целое;
  провСтр : строка;
начало  
// проверим правильность маппинга не забыли ли где запятую
// считаем, что если есть лишний знак =, то запятую забыли. Нужно учесть, что маппинг может быть сложным 
// и "=" может встретиться Напр. Поле=(1=1)and Field%d. Будем считать, что такой маппинг всегда должен содержать скобку (
// в этом случае "=" допустимо 
  Маппинг := СоздатьТекст ();
  Маппинг.РазделенноеЗначение := стр;
  от сч := 0 до Маппинг.Количество-1 делать
  начало
    провСтр := Маппинг.ЗначениеПараметра(Маппинг.ИмяПараметра(сч));
    если Позиция('=',ПровСтр)&gt;0 и Позиция('(',ПровСтр)=0 тогда
      ВызватьОшибку("Неверный маппинг ограничений запросов. Возможно пропущена запятая: "+Маппинг.ЗначениеПараметра(Маппинг.ИмяПараметра(сч)));
  конец;  
  // параметры которые относятся к НомерДокПрост или НомерДокМнож обрабатываем сами и возвращяем в качестве результата
  // при этом обработанные параметры из маппинга исключаем
  Результат := ОбработкаСложныхОграничений(стр, параметры);
  Рез := FormLimitByParams(стр, ВернутьМаскиИерархическихКлассификаторов, параметры);
  Если (Рез&lt;&gt;"")и(Результат&lt;&gt;"") тогда Результат := Результат+' and '+Рез
  иначе Результат := Результат+Рез;
  Если Результат&lt;&gt;"" Тогда результат :=' and ' +  результат;     
конец;

//процедура производит формирование строки ограничений по классиификации
// на входе получает маппинг соответствия Tab`ов параметрам полям в запросе
функция ОграничениеФильтр(стр: строка; параметры: IVariables): строка;
начало  
  Результат := FormLimitByParamsEx(стр, ВернутьМаскиИерархическихКлассификаторов, параметры, нет);
  если (результат &lt;&gt; '') тогда результат := 'and ' + результат;
конец;

//процедура производит формирование строки ограничений по классиификации
// на входе получает маппинг соответствия Tab`ов параметрам полям в запросе
функция ОграничениеВКоллекцию(стр: строка; параметры, РезультирующаяКоллекцияОграничений: IVariables): строка;
переменные 
  Счетчик, СчетчикВнутри : Целое;
  ВнутреняяКоллекция : IVariables;
начало  
  Результат := FormLimitByParamsEx2(стр, ВернутьМаскиИерархическихКлассификаторов, параметры, ДА, РезультирующаяКоллекцияОграничений);
  если (результат &lt;&gt; '') тогда результат := 'and ' + результат;
  // бежим по списку и добавляем везде AND
  от Счетчик := 0 до РезультирующаяКоллекцияОграничений.Count - 1
  делать начало
    ВнутреняяКоллекция := IVariables(РезультирующаяКоллекцияОграничений.IndexValues(Счетчик));
    от СчетчикВнутри := 0 до ВнутреняяКоллекция.Count - 1
      делать ВнутреняяКоллекция.IndexValues(СчетчикВнутри) := 'AND(' + ВнутреняяКоллекция.IndexValues(СчетчикВнутри) + ')';
  конец;   
конец;

// процедура производит формирование строки ограничений (как по полям классиификации, так и по другим полям)
// на входе получает маппинг соответствия Tab`ов параметрам полям в запросе,маски для классификаторов и коллекцию 
// параметров со значениями ограничений 
// как связывается ограничение с остальным запросом, передается в параметре связка (OR или AND)  
функция СформироватьОграничениеПоПараметрам(стр:строка;Маски:строка;параметры:IVariables;Связка:строка):строка;
начало  
  результат := FormLimitByParams(стр,Маски,параметры);
  Если Связка="" тогда Связка:="and ";
  если (результат &lt;&gt; '') тогда результат := Связка + результат;   
конец;

// функция получает ограничения по датам.
// На входе коллекция параметров-ограничений. 
// На выходе - объект, возвращающий различные варианты дат (начальная, конечная, начало месяца и т.д.)
функция ПолучитьОграниченияПоДатам(параметры:IVariables):IDataLimit;
переменные
  Даты: IDataLimit;
  Значение,Значение2,Значение3:строка;  
  ВариантНачалаПериода:целое;
  Задано : целое;
начало  
  Даты := CreatedataLimit;
  Задано := 0;
  Результат:= Даты;
  Значение:="99.99.9999";
  если GetCollectionParamValue(параметры,'ОднаДата',Значение,0)
  тогда начало
    ВариантНачалаПериода:=1;// по умолчанию начало периода - начало месяца
    // начало периода - дата
    Если Параметры.values("ВариантНачалаПериода")="0" тогда ВариантНачалаПериода:=0
      // начало периода - начало квартала
      иначе Если Параметры.values("ВариантНачалаПериода")="2" тогда ВариантНачалаПериода:=2
        // начало периода - начало года
        иначе Если Параметры.values("ВариантНачалаПериода")="3" тогда ВариантНачалаПериода:=3
          // начало периода - начало Января (00.01) 
          иначе Если Параметры.values("ВариантНачалаПериода")="4" тогда ВариантНачалаПериода:=4
            // начало периода - 1 января (01.01)
            иначе Если Параметры.values("ВариантНачалаПериода")="5" тогда ВариантНачалаПериода:=5;        
    // Проверка на значение параметра - с точками или без
    Если (Позиция(".", Значение) &lt;&gt; 0) 
      тогда  Значение := DateExString(Значение);
    Задано := 1;       
    Даты.SetDate(СтрокаВЦелое(Значение), ВариантНачалаПериода);     
  конец;  
  Значение:="00.00.0000";
  Значение2:="99.99.9999";
  если GetCollectionParamValue(параметры,'НачальнаяДата',Значение,0) или
  GetCollectionParamValue(параметры,'КонечнаяДата',Значение2,0) 
  тогда 
    начало
      Если Позиция(".",Значение)&lt;&gt;0 тогда
        Значение := DateExString(Значение);
      Если Позиция(".",Значение2)&lt;&gt;0 тогда
        Значение2 := DateExString(Значение2);
      Задано := 1;          
      Даты.SetPeriod(СтрокаВЦелое(Значение),СтрокаВЦелое(Значение2));
    конец;
  Значение := "";
  Значение2:=""; 
  Значение3:="";
  если GetCollectionParamValue(параметры,'Месяц',Значение,0) или 
       GetCollectionParamValue(параметры,'Год',Значение2,0)или
       GetCollectionParamValue(параметры,'Квартал',Значение3,0) 
  тогда
    Даты.SetYearMonthQuarter(СтрокаВЦелое(Значение2), СтрокаВЦелое(Значение), СтрокаВЦелое(Значение3))  
  иначе
    Если не Задано тогда
      Даты.SetPeriod(1,99999998);    
конец;

// функция, которая проверяет наличие константы в глобальной коллекции,
// если она там есть, по возвращает значение, иначе производит выборку из БД
// и помещает значение в коллекцию
// Имя - имя константы, под которым она будет сохранена в глобальной коллекции
// Индекс,Констана - ключ, по которому определяется константа
// Тип - Тип константы, 0 - целое,1-дробное,2-строковое
функция ПолучитьКонстантуКэш(Имя:строка; Индекс, Константа, Тип: целое):строка;
начало
  если Имя="" тогда  // если имя не указано, то генерируем его сами
  начало
    выбрать Тип из
    0: Имя:="Цел";
    1: Имя:="Дробн";
    2: Имя:="Строк";
    конец;
    Имя:=Имя+"Константа_"+ЦелоеВСтроку(Индекс)+"_"+ЦелоеВСтроку(Константа);  
  конец;
  если не CheckParam(имя) тогда
    values(имя) := ПолучитьКонстантуИзБазы(Индекс, Константа, Тип);
  результат := values(имя);
конец;

функция НастройкаПараметровШаблона(НаборПараметровЗнач,НаборПараметровТекст:IVariables);
переменные
  КЛСИмя: строка;
  сч: целое;
  КЛСЗнач, СинтетСчет: строка;
  ОгрПоДатам:IDataLimit;
  ВремКоллекция: IVariables;
  ПозСимв,КонСимв:целое;
начало
  ОгрПоДатам := ПолучитьОграниченияПоДатам(НаборПараметровЗнач);
  попытка
    НаборПараметровЗнач.Values("НачалоГода") := ОгрПоДатам.НачалоГода;
  неудача  конец;
  попытка
    НаборПараметровЗнач.Values("НачалоЯнваря") := ОгрПоДатам.НачалоГода+100;
  неудача  конец;
  попытка
    НаборПараметровЗнач.Values("НачалоМесяца") := ОгрПоДатам.НачалоМесяца;
  неудача  конец;
  попытка
    НаборПараметровЗнач.Values("ДатаОтчета") := ОгрПоДатам.ТекущаяДата;
  неудача  конец;
  попытка
    НаборПараметровЗнач.Values("ДатаНачалаПериода") := ОгрПоДатам.ДатаНачалаПериода;
  неудача  конец;
  попытка
    НаборПараметровЗнач.Values("ДатаКонцаПериода") := ОгрПоДатам.ДатаКонцаПериода;
  неудача  конец;
  попытка
    НаборПараметровЗнач.Values("МесяцКонцаПериода") := (НаборПараметровЗнач.Values("ДатаКонцаПериода") цел 100)ост 100;
  неудача  конец;
  попытка  
    НаборПараметровЗнач.Values("ДатаПослеКонцаПериода") := ОгрПоДатам.ДатаПослеКонцаПериода;
    НаборПараметровЗнач.Values("ДатаПослеКонцаПериодаПлюс1День") := ОгрПоДатам.ДатаПослеКонцаПериода+1;    
  неудача  конец;
  попытка  
    НаборПараметровЗнач.Values("ДатаДоНачалаПериода") := ОгрПоДатам.ДатаДоНачалаПериода;
  неудача  конец;
  попытка  
    НаборПараметровЗнач.Values("ДатаДоТекущей") := ОгрПоДатам.ДатаДоТекущей;
  неудача  конец;
  попытка  
    НаборПараметровЗнач.Values("ДатаПослеТекущей") := ОгрПоДатам.ДатаПослеТекущей;
  неудача  конец;
  попытка
    НаборПараметровЗнач.Values("КварталОтчета") := ОгрПоДатам.НомерТекКвартала;
  неудача  конец;
  попытка
    НаборПараметровЗнач.Values("МесяцОтчета") := ОгрПоДатам.НомерТекМесяца;
    выбрать ОгрПоДатам.НомерТекМесяца из
     1: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "январь";
     2: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "февраль"; 
     3: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "март";
     4: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "апрель";
     5: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "май";
     6: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "июнь";
     7: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "июль";
     8: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "август";
     9: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "сентябрь"; 
     10: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "октябрь";
     11: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "ноябрь";
     12: НаборПараметровЗнач.Values("ИмяМесяцаОтчета") := "декабрь";                                      
    конец;
    выбрать ОгрПоДатам.НомерТекМесяца из
     1: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "января";
     2: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "февраля"; 
     3: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "марта";
     4: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "апреля";
     5: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "мая";
     6: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "июня";
     7: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "июля";
     8: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "августа";
     9: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "сентября"; 
     10: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "октября";
     11: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "ноября";
     12: НаборПараметровЗнач.Values("НаИмяМесяцаОтчета") := "декабря";                                      
конец;
  неудача  конец;
  
  попытка
    НаборПараметровЗнач.Values("ГодОтчета") := ОгрПоДатам.НомерГода;
  неудача  конец;
  
  Если НаборПараметровЗнач.CheckParam("ЛицСчет") тогда
  начало 
    Если Позиция(".",НаборПараметровЗнач.Values("ЛицСчет")) &gt; 0 тогда
      НаборПараметровЗнач.Values("ЛицевойСчет") := КлассификаторВЧисло(НаборПараметровЗнач.Values("ЛицСчет"),м_ЛицСчет)
    иначе 
      если убратьПробелы(НаборПараметровЗнач.Values("ЛицСчет"))&lt;&gt;"" тогда
        НаборПараметровЗнач.Values("ЛицевойСчет") := НаборПараметровЗнач.Values("ЛицСчет")
      иначе
        НаборПараметровЗнач.Values("ЛицевойСчет") := 0; 
    НаборПараметровЗнач.Values("ЛицевойСчетГРК") := строка((целое(НаборПараметровЗнач.Values("ЛицевойСчет"))цел 1000000)*1000000);    
  конец;
  // получаем значения классификаторов в "безмасковом" виде
  ВремКоллекция := CreateVariables;
  ВремКоллекция.AddItems(ВернутьМаскиВсехКлассификаторов);
  от сч := 0 до ВремКоллекция.Count-1 делать
    начало
      КЛСИмя := ВремКоллекция.Names(сч); 
      если НаборПараметровЗнач.Values(КЛСИмя)&lt;&gt;"" тогда
      попытка
        КЛСЗнач := НаборПараметровЗнач.Values(КЛСИмя);
        если (позиция("=",КЛСЗнач) = 1)или(позиция("#",КЛСЗнач) = 1) тогда
          КЛСЗнач := Подстрока(КЛСЗнач,2,Длина(КЛСЗнач)-1);
        КонСимв :=Длина(КЛСЗнач);
        ПозСимв :=позиция(",",КЛСЗнач);
        Если ПозСимв&gt;0 тогда КонСимв := ПозСимв-1;
        ПозСимв :=позиция("-",КЛСЗнач);
        Если (ПозСимв&gt;0)и((ПозСимв-1)&lt;КонСимв) тогда КонСимв := ПозСимв-1;   
        КЛСЗнач := Подстрока(КЛСЗнач,1,КонСимв);
        НаборПараметровЗнач.Values(КЛСИмя+"Знач") := КлассификаторВЧисло(КЛСЗнач,ВремКоллекция.IndexValues(сч));
      неудача
      конец    
    конец;
    
  Если НаборПараметровЗнач.Значение("БухСинтетСчет") &lt;&gt; '' тогда
  начало
    Если (Позиция(",", НаборПараметровЗнач.Значение("БухСинтетСчет")) &lt;&gt; 0)или(Позиция("-", НаборПараметровЗнач.Значение("БухСинтетСчет")) &lt;&gt; 0) тогда
      //Множественный выбор, возвращаем тоже что в ограничениях
      НаборПараметровЗнач.Значение("БухНомерСчетаБезБК") := НаборПараметровЗнач.Значение("БухСинтетСчет")
    иначе
    начало
      СинтетСчет := НаборПараметровЗнач.Значение("БухСинтетСчет");
      // избавимся от точек
      СинтетСчет := Подстрока(СинтетСчет, 1, 3) + Подстрока(СинтетСчет, 5, 2)+ 
        Подстрока(СинтетСчет, 8, 2) + Подстрока(СинтетСчет, 11, 3);
      Если НаборПараметровЗнач.Значение("РасширБухСчет70нЧек") = 0 тогда
        СинтетСчет := Подстрока(СинтетСчет, 1, 5) + Подстрока(СинтетСчет, 8, 3);
      Если НаборПараметровЗнач.Значение("ВидДеятельности") &lt;&gt; '' тогда
        НаборПараметровЗнач.Значение("БухНомерСчетаБезБК") := НаборПараметровЗнач.Значение("ВидДеятельности") + СинтетСчет
      иначе  
        НаборПараметровЗнач.Значение("БухНомерСчетаБезБК") := "0" + СинтетСчет;
    конец;            
  конец;  
    
// Дополняем набор параметров панели ограничений пользовательскими параметрами.
  если НаборПараметровЗнач&lt;&gt;nil тогда
  начало 
    от сч := 0 до НаборПараметровЗнач.Count-1 делать
    если НаборПараметровТекст.ПараметрСуществует(НаборПараметровЗнач.Names(сч)) тогда
    начало
      если строка(НаборПараметровЗнач.IndexValues(сч)) &lt;&gt; строка(НаборПараметровТекст.Values(НаборПараметровЗнач.Names(сч))) тогда
        НаборПараметровТекст.Values('Знач_'+НаборПараметровЗнач.Names(сч)) := НаборПараметровЗнач.IndexValues(сч)
    конец  
    иначе НаборПараметровТекст.Values(НаборПараметровЗнач.Names(сч)) := НаборПараметровЗнач.IndexValues(сч);
  конец;   
конец;

// Параметр "ТипДатуУнивер" возвращает результат как "XX,YY", данная процедура разбивает
// его на два отдельных числа. Причем первое из них возвращает еще через свое имя
функция ПолучитьТипДатыУнивер(ТипДаты,ТипОгр:целое; Коллекция:IVariables): целое;
начало
  ТипОгр:=0;
  ТипДаты := СтрокаВЦелое(Коллекция.Values("ТипДатыУнивер"));
  если Коллекция.ПараметрСуществует('ТипОгрДата') 
    тогда ТипОгр := СтрокаВЦелое(Коллекция.Values("ТипОгрДата")); 
  результат := ТипДаты;
конец;

функция ПолучитьТабТипаДаты(ТипДаты : целое) : строка;
начало
  выбрать ТипДаты из 
    0 : Результат := "НеОграничиватьТип";
    1 : Результат := "ДатаПроведенияТип";
    2 : Результат := "ДатаРеестраТип";
    3 : Результат := "ДатаВводаТип";
    4 : Результат := "ДатаПринятияТип";
    5 : Результат := "ДатаПечатиТип";
    6 : Результат := "ДатаОтправленияТип";
    7 : Результат := "ДатаПриходаТип";
    8 : Результат := "ДатаУходаТип";
    9 : Результат := "ДатаОткрытияТип";
   10 : Результат := "ДатаЗакрытияТип";
   11 : Результат := "ДатаСправкиТип";
   12 : Результат := "ДатаПротоколаТип";
   13 : Результат := "ДатаИспЛистаТип";
   14 : Результат := "ДатаИнкассовогоТип";
   15 : Результат := "ДатаОтнесенияТип";
   16 : Результат := "ДатаИнкассовогоИОтнесенияТип";
   17 : Результат := "ДатаПогашенияПланТип";
   18 : Результат := "ДатаПролонгированияТип";
   19 : Результат := "ДатаПогашенияФактТип";
   22 : Результат := "ДатаСдачиТип";
   23 : Результат := "ДатаДокументаТип";   
   24 : Результат := "ДатаПоступленияНевыясненныхТип";
   27 : Результат := "ДатаСписанияНевыясненныхТип";
   28 : Результат := "ДатаПоступленияИСписанияНевыясненныхТип";
   30 : Результат := "ДатаЗаявкиТип";   
   31 : Результат := "ДатаУчетаТип";
   32 : Результат := "ДатаФедеральногоРеестраТип";
   33 : Результат := 'ДатаСозданияТип'; // это ограничитель по дате создания CreateDate (OLDDATE) !!!
   34 : Результат := 'ДатаОтчетаТип';
   71 : Результат := 'ДатаНачалаТип';
   72 : Результат := 'ДатаОкончанияТип';
   73 : Результат := 'ДатаИсполненияТип';
   74 : Результат := 'ДатаОплатыТип';
   75 : Результат := 'ДатаРассмотренияТип';
   76 : Результат := 'ДатаВыдачиТип';
   77 : Результат := 'ДатаУведомленияТип';
   78 : Результат := 'ДатаОтзываТип'; 
   79 : Результат := 'ДатаБлокировкиТип';
   80 : Результат := 'ДатаРазБлокировкиТип';
   81 : Результат := 'ДатаИзмененияТип';
   // ограничения по датам реестра
   82: Результат := 'ДатаВключенияВРеестрТип';
   83: Результат := 'ДатаИсключенияИзРеестраТип';
   84: Результат := 'ДатаИзмененияВРеестреТип';
  иначе
    ВызватьОшибку("Неизвестный тип даты"); 
  конец;
конец;

// Накладывает огрпничение на поле или на несколько полей по датам 
Функция ФорматноеОграничениеПоДатам(ПоляОграничений, НачальнаяДата, КонечнаяДата : Строка) : Строка;
переменные
  Индекс : целое;
начало
   Если (Позиция("%", ПоляОграничений) = 0) 
     тогда Результат :=  ПоляОграничений + " between " + НачальнаяДата + " and " + КонечнаяДата
     иначе начало
       Результат := '';
       Индекс := 1;
       Пока Индекс &lt;= Длина(ПоляОграничений) 
       делать начало
         Если (ПоляОграничений[Индекс] = "%") 
         тогда начало
             Выбрать ПоляОграничений[Индекс+1] из
               "b" : Результат := Результат + НачальнаяДата;
               "e" : Результат := Результат + КонечнаяДата;
               "d" : если НачальнаяДата=КонечнаяДата тогда Результат:=Результат+"="+ НачальнаяДата
                     иначе Результат := Результат + " between " + НачальнаяДата + " and " + КонечнаяДата;
               иначе ВызватьОшибку("Неверный формат ограничения по дате");
             конец;
             Индекс := Индекс + 1;
         конец  
         иначе Результат := Результат + ПоляОграничений[Индекс];
         Индекс := Индекс + 1;  
       конец;
     конец;
    // формируем итоговый результат
   Результат :=  "( "+ Результат + ")"; 
конец;

функция ВернутьОграниченияПоДатам(Коллекция : IVariables; НачальнаяДата, КонечнаяДата : Строка; НужноПреобразоватьКСтаройДате : Целое);
переменные
  ТекДата : Дробное;
  НачДата, КонДата, РеальнаяДата: Целое;
  КонстТекФинГод: Целое;
начало
  если (Коллекция.Values('НачальнаяДата') = '') или ( Коллекция.Values('КонечнаяДата') = '') тогда
    ВызватьОшибку('Невозможно наложить ограничение по пустой дате');
  // смотрим ограничение по целой дате или по OLDDate
  если НужноПреобразоватьКСтаройДате тогда
  начало
    // данное преобразование в том числе стало использоваться для наложения ограничения на дату закрытия бух. операций,
    // в этом случае нужно учесть, что период дат может быть 0 - 99999999, который даст ошибку при преобразовании в OLDDATE,
    // поэтому, если встретилась такая ситуация задаем реальные ограничения согласно константе текущего финансового года:
    //  31.12.предыдущего года или 01.01.следующего года
    НачДата := СтрокаВЦелое(Коллекция.Values('НачальнаяДата'));
    КонДата := СтрокаВЦелое(Коллекция.Values('КонечнаяДата'));
    КонстТекФинГод := ЦелаяКонстанта(-1, 73);
    если КонстТекФинГод = 0 тогда КонстТекФинГод := ТекущийГод;
    // преобразуем начальную дату
    если НачДата &lt;= 19000000 тогда
      НачДата := (КонстТекФинГод - 1) * 10000 + 1231
    иначе
      если НачДата &gt;= 99990000 тогда
        НачДата := (КонстТекФинГод + 1) * 10000 + 101;
    РеальнаяДата := Разыменовать('Дата.КалендарнаяДата', НачДата);
    ТекДата := РасширДатаВОбычную(РеальнаяДата);
    НачальнаяДата := "'" + ДатаВСтроку(ТекДата) + ' 00:00:00' + "'";
    // преобразуем конечную дату
    если КонДата &lt;= 19000000 тогда
      КонДата := (КонстТекФинГод - 1) * 10000 + 1231
    иначе
      если КонДата &gt;= 99990000 тогда
        КонДата := (КонстТекФинГод + 1) * 10000 + 101;
    РеальнаяДата := Разыменовать('Дата.КалендарнаяДата', КонДата);
    //если дата увеличилась, то время надо брать 00:00:00, а то лишний день возьмем
    ТекДата := РасширДатаВОбычную(РеальнаяДата);
    если (РеальнаяДата &gt; КонДата) тогда
      КонечнаяДата := ДатаВСтроку(ТекДата) + ' 00:00:00'
    иначе
      КонечнаяДата := ДатаВСтроку(ТекДата) + ' 23:59:59';
    КонечнаяДата := "'" + КонечнаяДата + "'";
  конец
  иначе
    // ограничения по целой дате
    начало
      НачальнаяДата := Коллекция.Values('НачальнаяДата');
      КонечнаяДата  := Коллекция.Values('КонечнаяДата');
    конец; 
конец;

// В маппинце передаем через запятую какие поля чему соответствуют(Каким табам)
// ДатаПринятияТип=c.acceptDate,ДатаПечатиТип=c.printDate
// Ну в Параметры передаем коллекцию ограничений
// Начальная и конечная дата берутся из Параметров
// СтандартноеОграничение - Поле по которому ограничивать, если нету ТипаДатыУнивер в ограничителях
// c.acceptDate
Функция ПолучитьОграничениеПоТипуДаты(Маппинг : Строка; Параметры : IVariables; СтандартноеОграничение : Строка) : Строка;
переменные
  ТекстМаппинга : Текст;
  ИмяПоля, ИмяТаба,ТекущийОграничитель : Строка;
  ТипДаты,ТипОгр : Целое;
  НачальнаяДатаСтр, КонечнаяДатаСтр : Строка; // начальная и конечные даты ограничений
начало
   результат := '';
   Если Параметры.ПараметрСуществует('ТипДатыУнивер') 
   тогда начало
     ПолучитьТипДатыУнивер(ТипДаты, ТипОгр, Параметры);
     Если (ТипДаты = 0) //Если выбрали Не ограничивать то все
     тогда результат := ''
     иначе начало 
       ТекстМаппинга := СоздатьТекст;
       Попытка
         ТекстМаппинга.РазделенноеЗначение := Маппинг;
         ИмяТаба := ПолучитьТабТипаДаты(ТипДаты);
         ИмяПоля := ТекстМаппинга.ЗначениеПараметра(ИмяТаба);  
         // если данный таб не поддерживается , тогда накладываем ограничение по стандартному полю или полям
         если (ИмяПоля = '') 
         тогда начало
           Если (СтандартноеОграничение = '')
             тогда ВызватьОшибку('Не поддерживается ограничение по заданному типу даты')
             иначе ИмяПоля := СтандартноеОграничение;
         конец; 
        
         ТекущийОграничитель := '';
         //смотрим что за тип ограничений
         Если (ТипОгр = 2)
         тогда начало
           // ограничения по Нулу
           Если (Позиция("%",ИмяПоля) = 0) 
             тогда ТекущийОграничитель :=  "and ("+ИмяПоля+"  is null) "
             иначе ВызватьОшибку('Невозможно наложить ограничение "Только пустые" по форматированной строке');
         конец
         иначе начало
           // ограничения НЕ по Нулу
           ВернутьОграниченияПоДатам(Параметры, НачальнаяДатаСтр, КонечнаяДатаСтр, ((ТипДаты = 33) или (ТипДаты = 81)));
           //
           ТекущийОграничитель := ФорматноеОграничениеПоДатам(ИмяПоля, НачальнаяДатаСтр, КонечнаяДатаСтр);
           Выбрать ТипОгр из
             0 : ТекущийОграничитель :=  "and " + ТекущийОграничитель;
             1 : ТекущийОграничитель :=  "and ( " + ТекущийОграничитель + " or (" + ИмяПоля + " is null) )";
           конец;
         конец;
     
         результат := ТекущийОграничитель;
           
       Обязательно
         УдалитьОбъект(ТекстМаппинга);
       конец;
     конец;
   конец
   иначе начало
     Если (УбратьПробелы(СтандартноеОграничение) &lt;&gt; '')
     тогда начало
       ВернутьОграниченияПоДатам(Параметры, НачальнаяДатаСтр, КонечнаяДатаСтр, НЕТ);
         
       ТекущийОграничитель := ФорматноеОграничениеПоДатам(СтандартноеОграничение, НачальнаяДатаСтр, КонечнаяДатаСтр);
       Результат := "and " + ТекущийОграничитель;        
     конец;  
   конец;
конец;

// получает список бух. операций для проводок соотвествующих кассовым и некассовым расходам.
// параметр Тип является признаком - расход(1) или возврат расхода(0)
// параметр СПередвижками является признаком того, какой счет будет анализироваться:
// 202.хх.хх (=0, без передвижек) или 402.хх.хх (=1, с передвижками)
функция ПолучитьБухОперацииКассовыхРасходов(Тип:целое; СПередвижками: целое = 0):строка;
начало
  если не СПередвижками тогда
  начало
    если тип = 0 
      тогда результат := values("ВозврКасРасхода")
      иначе результат := values("КасРасход");
  конец
  иначе
   начало
      если тип = 0 
        тогда результат := values("ВозврКасРасходаСПередвижками")
        иначе результат := values("КасРасходСПередвижками");
   конец;

  если (результат = "") тогда
  начало
    Результат := БухОперацииКассовыхРасходовИзБазы(Тип,СПередвижками);
    если не СПередвижками тогда
    начало
      если тип = 0 
        тогда values("ВозврКасРасхода") := результат
        иначе values("КасРасход") := результат;
    конец
    иначе
     начало
        если тип = 0 
          тогда values("ВозврКасРасходаСПередвижками") := результат
          иначе values("КасРасходСПередвижками") := результат;
     конец;
  конец;    
конец;

// в древовидной структуре информации по колонкам ищем колонки.
функция ВыполнятьСекцииНов(Данные:СтатическиеДанные; Коллекция:IVariables; СписокПолей: строка):целое;
переменные
  ПоляТкст: Текст;
  индекс,кол: целое;
  ВрПоле: Поле;
  Поля: IVariables;
начало
  // секция выполняется, если в СтатическихДанных есть поле родитель или хотя бы один из его потомков
  Поля := Коллекция.Values("ИерархияПолей");
  результат := нет;
  начало
    ПоляТкст := СоздатьТекст;
    ПоляТкст.РазделенноеЗначение := СписокПолей;
    индекс := 0; кол := ПоляТкст.Количество; 
    пока (не результат) и (индекс&lt;Кол) делать начало
      ВрПоле := nil;
      // если в СС есть поле-родитель
      результат := Данные.FindField(ПоляТкст.стр(индекс), ВрПоле);
      если не результат и (Поля&lt;&gt;nil) тогда
              результат := Поля.CheckParam(ПоляТкст.стр(индекс));  
      индекс := индекс+1;
    конец;
  конец; 
конец;

функция ПроверитьНаПрерыв(коллекция: IVariables;Данные:статическиеДанные);
переменные
  ИмяДанных : Строка;
начало
  // если была нажата клавиша F11 тогда выводим отладочную информацию. Доступно только для администратора
  если  (Access = Access_Adm) и GetKeyState(122) 
  тогда 
  если коллекция &lt;&gt; nil тогда
  начало
    ИмяДанных := ' Данные ';  // покажем заодно и данные 
    коллекция.Values(ИмяДанных) := Данные;
    попытка
      Показать(Коллекция);
    обязательно
      коллекция.Delete(ИмяДанных);
    конец;
  конец;
конец;

функция ДополнительнаяОбработкаДанных(Раскладка: ITableInfoX; Ограничения: IVariables; Данные: СтатическиеДанные);
начало
  если (Ограничения &lt;&gt; nil) тогда
  если Ограничения.ПараметрСуществует("РасширСинтетСчетЧек") тогда
  если (не Ограничения.Values("РасширСинтетСчетЧек")) тогда
    начало // поддержка вывода стандартного и расширенного плана счетов       
      IntDivision(Раскладка, Данные, 100, "СчетБухгалтерский");     
    конец;
конец;

функция ДополнительнаяОбработкаРаскладки(Раскладка: ITableInfoX; Ограничения: IVariables);
начало
  если (Ограничения &lt;&gt; nil) тогда
  если Ограничения.ПараметрСуществует("РасширСинтетСчетЧек") тогда
  если (не Ограничения.Values("РасширСинтетСчетЧек")) тогда
    начало // поддержка вывода стандартного и расширенного плана счетов       
      ChangeFormatStyle(Раскладка, '0000', "СчетБухгалтерский"); 
    конец;
конец;

//Функция возвращает ключевые поля без изменений либо дописывает ко всем полям агрегирующую функцию SUM  в зависимости от флага ГруппироватьНаСервере
функция ДополнитьПоляВыборки(НаборПолей : строка; ГруппироватьНаСервере : Целое) : Строка;
переменные
  Результаты : Текст;
  сч : целое;
начало
  Результат := '';
  Результаты := СоздатьТекст;
  Результаты.РазделенноеЗначение := НаборПолей;
  попытка
    от сч := 0 до Результаты.Количество - 1 
    делать начало
      Если (УбратьПробелы(Результаты.Стр(сч)) &lt;&gt; '')
      тогда начало
        Если (ГруппироватьНаСервере = 1) 
          тогда Результат := Результат + ",SUM(" + Результаты.Стр(сч) + ')'
          иначе Результат := Результат + ',' + Результаты.Стр(сч);
      конец;  
    конец;
    если (Результат &lt;&gt; '')
      тогда Результат := Подстрока(Результат, 2, Длина(Результат) - 1); 
  обязательно
    УдалитьОбъект(Результаты);
  конец;    
конец;

Функция ПолучитьДанные(Данные: СтатическиеДанные; Коллекция: IVariables);
переменные
  ДатаОтчета: дробное;
  Протокол: ОкноВывода;
  НачВр, КонВр: дробное; 
  СтрПодключения: Текст;
начало
  СтрПодключения := СоздатьТекст;
  // Получаем данные
  Протокол := nil;
  Данные.Закрыть;
  СтрПодключения.Значение := "";
  /$если Бюджет  
  если Коллекция &lt;&gt; nil тогда
    если Коллекция.ПараметрСуществует('СтрокаПодключения') тогда
      СтрПодключения.Значение := Коллекция.Значение('СтрокаПодключения');
  Данные.СоединитьБД(СтрПодключения.Значение);
  /$иначе
  Данные.СоединитьБД;
  /$конец
  если Коллекция&lt;&gt; nil тогда
    если Коллекция.ПараметрСуществует('АудитнаяДатаОтчета') тогда
    начало 
      ДатаОтчета := СтрокаВДробное(Коллекция.Значение('АудитнаяДатаОтчета'));
      Данные.Запрос := ПолучитьЗапросНаДату(Данные.Запрос, ДатаОтчета);          
    конец;
  // может надо информацию в отладочное окно кинуть - кидаем
  если (ОтладкаФлаг(tciSqlScripts)) тогда
      Протокол := ОкноВывода;
  // попытка закачать данные  
  попытка  
    если (ОтладкаФлаг(tciSqlScripts)или ОтладкаФлаг(tciExecTime)) тогда
    начало
      если протокол&lt;&gt;nil тогда 
      начало
        /$если Бюджет
        если СтрПодключения.ЗначениеПараметра("SERVER NAME") &lt;&gt; "" тогда
          Протокол.Вывести("Имя сервера = " + СтрПодключения.ЗначениеПараметра("SERVER NAME") + #13#10);
        если СтрПодключения.ЗначениеПараметра("SCHEMA") &lt;&gt; "" тогда
          Протокол.Вывести("Схема = " + СтрПодключения.ЗначениеПараметра("SCHEMA") + #13#10);
        /$конец
        Протокол.Вывести(Данные.Запрос);
      конец;
      НачВр := ТекущаяДата;
    конец;
    Данные.открыть;
    если (ОтладкаФлаг(tciSqlScripts)или ОтладкаФлаг(tciExecTime)) тогда
    начало
      КонВр := ТекущаяДата;
      если протокол&lt;&gt;nil тогда Протокол.Вывести("Начат: "+ФорматироватьВремя("HH:nn:SS", НачВр)+
        "  Закончен: "+ФорматироватьВремя("HH:nn:SS", КонВр)+#13#10+
        "Длительность: "+ФорматироватьВремя("HH:nn:SS:zzz", КонВр-НачВр)+
        "  Записей:"+строка(Данные.ЧислоЗаписей)+#13#10+" "); 
      Values('@timeOfDBExecute') := строка(дробное(Values('@timeOfDBExecute'))+(КонВр-НачВр)); 
    конец;
  неудача
    // в случае неудачи кидаем исключение и в лог работы
    если (ОтладкаФлаг(tciSqlScripts)) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Вывести(ПоследняяОшибка);
    конец;
    ВызватьОшибку(ПоследняяОшибка);
  конец;
  ПроверитьНаПрерыв(Коллекция,Данные);
конец;

// закачка данных запроса и помещения их в Данные
функция ЗакачатьДанныеЗапроса(Данные : СтатическиеДанные; Запрос : Строка; Коллекция : IVariables);
начало
    // очищаем СтатическиеДанные от полей
    Данные.Закрыть;
    // очищаем набор полей СтатическихДанных
    Данные.DestroyFields;
    // формируем SQL-запрос
    // если в запросе не указана секция закачки данных, то сами укажем ее
    Если Позиция('[PUMPDATA]', Прописные(Запрос)) = 0
      тогда Данные.Запрос := "[PumpData]" + nl + Запрос
      иначе Данные.Запрос := Запрос;
    // Получаем данные
    ПолучитьДанные(Данные, Коллекция);
конец;

Функция ПерекачатьГиперДанные(Откуда, Куда :статическиеДанные; МаппингПерекачки, МаппингГиперТекст : Строка; 
                                       ИспользоватьГипертекст, ЕстьБлобовыеПоля, ЗаполнятьКонстантамиПоля : Целое);
переменные
  ИтоговыйМаппингГиперТекст : Строка;
  ВремКоллекция : IVariables;
начало
  ВремКоллекция := CreateVariables;
  Если Не ЗаполнятьКонстантамиПоля
    тогда ВремКоллекция.Значение("@НеИспользоватьКонстанты") := 1;
  если (ИспользоватьГипертекст)
  тогда начало
    // маппинг должен заполнять поле Гипертекст, аесли оно не заполнено высчитывать его на базе других полей
    Если (МаппингПерекачки &lt;&gt; '')
      тогда ИтоговыйМаппингГиперТекст := МаппингПерекачки + ',' + ПолеХранениеГиперТекст + '=' + ПолеХранениеГиперТекст 
      иначе ИтоговыйМаппингГиперТекст := ПолеХранениеГиперТекст + '=' + ПолеХранениеГиперТекст; 
    // как считать поле гипер документа
    ИтоговыйМаппингГиперТекст := ИтоговыйМаппингГиперТекст + ',$'+МаппингГиперТекст;    
    FillDataSet(Откуда, Куда, ИтоговыйМаппингГиперТекст, ВремКоллекция)  
  конец
  иначе начало
    Если ЕстьБлобовыеПоля
      тогда FillDataSet(Откуда, Куда, МаппингПерекачки, ВремКоллекция)
      иначе Куда.PumpData(Откуда, МаппингПерекачки);
  конец;
конец;   

//перекачивает поля из источника в приемник (без использования констант в маппинге)
функция ПерекачатьДанныеГиперТекст(Откуда, Куда :статическиеДанные; МаппингПерекачки, МаппингГиперТекст : Строка; 
                                   ИспользоватьГипертекст, ЕстьБлобовыеПоля : Целое);
начало
  ПерекачатьГиперДанные(Откуда, Куда, МаппингПерекачки, МаппингГиперТекст, 
                                       ИспользоватьГипертекст, ЕстьБлобовыеПоля, НЕТ);
конец;    

//перекачивает поля из источника в приемник (С Использованием констант в маппинге)
функция ПерекачатьДанныеГиперТекстБухгалтерия(Откуда, Куда :статическиеДанные; МаппингПерекачки, МаппингГиперТекст : Строка; 
                                   ИспользоватьГипертекст, ЕстьБлобовыеПоля : Целое);
начало
  ПерекачатьГиперДанные(Откуда, Куда, МаппингПерекачки, МаппингГиперТекст, 
                                       ИспользоватьГипертекст, ЕстьБлобовыеПоля, ДА);
конец;  

// внутри одного датасета выполняются операции согласно маппингу полей
Функция ЗаполнитьГиперДанные(Данные : статическиеДанные; МаппингЗаполнения, МаппингГиперТекст : Строка; 
                                       ИспользоватьГипертекст, ЗаполнятьКонстантамиПоля : Целое);
переменные
  ИтоговыйМаппингГиперТекст : Строка;
  ВремКоллекция : IVariables;
начало
  ВремКоллекция := CreateVariables;
  Если Не ЗаполнятьКонстантамиПоля
    тогда ВремКоллекция.Значение("@НеИспользоватьКонстанты") := 1;
  если (ИспользоватьГипертекст)
  тогда начало
    Если (МаппингЗаполнения &lt;&gt; '')
      тогда ИтоговыйМаппингГиперТекст := МаппингЗаполнения + ',$'+МаппингГиперТекст
      иначе ИтоговыйМаппингГиперТекст := '$'+МаппингГиперТекст;   
    CalcFieldsDataSet(Данные, ИтоговыйМаппингГиперТекст, ВремКоллекция)  
  конец;
конец;                               

//дописывает поля выборки необходимые при гипертексте, если флажок ИспользоватьГипертекст - То возвращает только поля без гипертекста
функция ДополнитьМаппингВыборкиГиперТекст(ПоляВыборки, ПоляГипертекст : Строка; ИспользоватьГипертекст:Целое) : Строка;
переменные
  Результаты, СписокПолейГиперТекст : Текст;
  счРез, счГиперТекст : целое;
  ПолеЕстьВВыборке : целое;
начало
  Результат := ПоляВыборки;
  Если ИспользоватьГипертекст 
  тогда начало
    Результаты := СоздатьТекст;
    Результаты.РазделенноеЗначение := ПоляВыборки;
    СписокПолейГиперТекст := СоздатьТекст;
    СписокПолейГиперТекст.РазделенноеЗначение := ПоляГипертекст;
    попытка
      от счГиперТекст := 0 до СписокПолейГиперТекст.Количество - 1 
      делать начало
        ПолеЕстьВВыборке := Нет;
        от счРез := 0 до Результаты.Количество - 1 
        делать начало
          Если Строчные(УбратьПробелы(Результаты.Стр(счРез))) = Строчные(УбратьПробелы(СписокПолейГиперТекст.Стр(счГиперТекст)))
            тогда ПолеЕстьВВыборке := Да;  
        конец;
        Если (ПолеЕстьВВыборке = Нет)
          тогда Результаты.добавить(УбратьПробелы(СписокПолейГиперТекст.Стр(счГиперТекст)));  
      конец;
      Результат := Результаты.РазделенноеЗначение;
    обязательно
      УдалитьОбъект(Результаты, СписокПолейГиперТекст);
    конец; 
  конец;   
конец;

// отображает прогресс бар с нужным комментарием и возвращает итоговое значение комментария
// если в коллекции КоментарийСекции - пустое, то вернется и отобразится коментарий по умолчанию
функция ПоказатьКомментарийСекции(Коллекция : IVariables; КомментарийУмолчание : Строка): Строка;
переменные
  Прогрес: IProgress; 
начало
  Результат := Коллекция.Values("КоментарийСекции");
  если УбратьПробелы(Результат) = "" 
    тогда Результат :=  КомментарийУмолчание;
  // отображаем комментарий на Progress`e
  Прогрес := Progress;
  Прогрес.SetMessage(Результат);
конец;

// Оптимизируем SQL запрос
функция ОптимизироватьЗапрос(Коллекция : IVariables; Комментарий, SQLЗапрос : Строка): Строка;
переменные
  Запрос, ПоляВыборки : Строка; 
начало
  ПоляВыборки := УбратьПробелы(Коллекция.Values("ПоляВыборки"));  
  если (ПоляВыборки &lt;&gt; "") 
    тогда Запрос := SQLOptim(SQLЗапрос, ПоляВыборки, '@')
  иначе Запрос := SQLЗапрос;   
  результат := "{/*" + комментарий + "*/" + nl + запрос + "}";
конец;

// формируем SQL запрос для StaticSet
функция СформиоватьSQLЗапросДляСтатическихДанных(Запрос, КомментарийСекции : Строка;  параметры: IVariables; НадоОптимизировать : Целое) : Строка;
Начало
  Если НадоОптимизировать
    тогда Результат := ОптимизироватьЗапрос(параметры, КомментарийСекции, Запрос)
    иначе Результат := "{/*" + КомментарийСекции + "*/" + nl + запрос + "}";
конец;

// создаем сложный запрос (возможно запросов будет несколько в секции PumpData)
//Внимание в маппинге стр не должно быть %d, %s или %f. Только один чистый маппинг ограничений и полей
функция СоздатьСложныйЗапрос(стр, ТекущийЗапрос, КомментарийСекции: строка; параметры: IVariables; НадоОптимизировать : Целое) : Строка;
переменные
  КоллекцияОграничений, КоллекцияЗапросов : IVariables; // коллекция со сложными ограничениями и со сформированными запросами
  Счетчик : Целое;
начало
  // создаем коллекцию ограничений
  КоллекцияОграничений := CreateVariables;
  // получаем список ограничений
  ОграничениеВКоллекцию(стр, параметры, КоллекцияОграничений);
  // есть ли ограничения в коллекции
  Если (КоллекцияОграничений.Count = 0)
  тогда начало
    // дополнительных ограничений нет - при необходимости оптимизируем
    Результат := СформиоватьSQLЗапросДляСтатическихДанных(ТекущийЗапрос, КомментарийСекции, параметры, НадоОптимизировать);
  конец
  иначе начало
    Результат := '';
    // получаем коллекцию запросов, которые надо выполнить над БД
    КоллекцияЗапросов := MakeSqlQuery(ТекущийЗапрос, КоллекцияОграничений); 
    // побежали по коллекции - формируем все возможные запросы 
    от Счетчик := 0 до КоллекцияЗапросов.Count - 1
    делать начало
      // добавляем к итоговому запросу
      Результат := Результат + nl + 
        СформиоватьSQLЗапросДляСтатическихДанных(КоллекцияЗапросов.values(ЦелоеВСтроку(Счетчик)), КомментарийСекции, параметры, НадоОптимизировать);    
    конец; 
  конец;
конец;

// дополнительно в параметр КодЗаписи пихаем то что нужно из кодов записи для данного алгоритма
// если конечно для алгоритма указаны коды ограничений
функция НадоВыполнятьАлгоритм(ИндексАлгоритма : Целое; Коллекция : IVariables) : Целое;
переменные 
  ИндексВСписке : Целое;
  СписокНужныхИндексов : Строка;
начало
  СписокНужныхИндексов := Коллекция.Values('ИндексАлгоритма'); 
  Если (СписокНужныхИндексов &lt;&gt; '') 
  тогда начало
    ИндексВСписке := ВернутьИндексВРазделеннойСтроке(СписокНужныхИндексов, ЦелоеВСтроку(ИндексАлгоритма));
    Результат := (ИндексВСписке &lt;&gt; -1);
    Если Результат и (Коллекция.Values('Алгоритм' + ЦелоеВСтроку(ИндексАлгоритма) + 'КодЗаписи') &lt;&gt; '')
      тогда Коллекция.Values('КодЗаписи') := Коллекция.Values('Алгоритм' + ЦелоеВСтроку(ИндексАлгоритма) + 'КодЗаписи');
  конец
  иначе Результат := да; 
конец;

// дополнительно в параметр КодЗаписи пихаем то что нужно из кодов записи для данного алгоритма и индекса секции
функция НадоВыполнятьГиперСекцию(ИндексАлгоритма, ИндексСекции : Целое; Коллекция : IVariables) : Целое;
переменные 
  ИндексВСписке : Целое;
  СписокНужныхИндексов : Строка;
начало
  СписокНужныхИндексов := Коллекция.Values('Алгоритм' + ЦелоеВСтроку(ИндексАлгоритма) + 'СписокСекций'); 
  Если (СписокНужныхИндексов &lt;&gt; '') 
  тогда начало
    ИндексВСписке := ВернутьИндексВРазделеннойСтроке(СписокНужныхИндексов, ЦелоеВСтроку(ИндексСекции));
    Результат := (ИндексВСписке &lt;&gt; -1);
    Если Результат и (Коллекция.Values('Алгоритм' + ЦелоеВСтроку(ИндексАлгоритма) + 'ИндексСекции' + ЦелоеВСтроку(ИндексСекции) + 'КодЗаписи') &lt;&gt; '')
      тогда Коллекция.Values('КодЗаписи') := Коллекция.Values('Алгоритм' + ЦелоеВСтроку(ИндексАлгоритма) + 'ИндексСекции' + ЦелоеВСтроку(ИндексСекции) + 'КодЗаписи');
  конец
  иначе Результат := да; 
конец;   

// дополнительно в параметр КодЗаписи пихаем то что нужно из кодов записи для данного алгоритма и индекса секции
функция НадоВыполнятьГиперМетаАлгоритм(ИндексМетаАлгоритма, ИндексАлгоритма : Целое; Коллекция : IVariables) : Целое;
переменные 
  ИндексВСписке : Целое;
  СписокНужныхИндексов : Строка;
начало
  СписокНужныхИндексов := Коллекция.Values('Алгоритм' + ЦелоеВСтроку(ИндексМетаАлгоритма) + 'СписокАлгоритмов'); 
  Если (СписокНужныхИндексов &lt;&gt; '') 
  тогда начало
    ИндексВСписке := ВернутьИндексВРазделеннойСтроке(СписокНужныхИндексов, ЦелоеВСтроку(ИндексАлгоритма));
    Результат := (ИндексВСписке &lt;&gt; -1);
    Если Результат и (Коллекция.Values('Алгоритм' + ЦелоеВСтроку(ИндексМетаАлгоритма) + 'Алгоритм' + ЦелоеВСтроку(ИндексАлгоритма) + 'КодЗаписи') &lt;&gt; '')
      тогда Коллекция.Values('КодЗаписи') := Коллекция.Values('Алгоритм' + ЦелоеВСтроку(ИндексМетаАлгоритма) + 'Алгоритм' + ЦелоеВСтроку(ИндексАлгоритма) + 'КодЗаписи');
  конец
  иначе Результат := да; 
конец;            

//функция для гипер документов (формирует уникальный маппинг закачки для каждой секции)
функция СформироватьМаппингГиперТекстДляСекции(ПоляВставкиГиперТекст : Строка; ИндексСекции, ФормироватьГиперДокумент : Целое) : Строка;
переменные
  ПозицияТочкисЗапятой : Целое;
  НачалоМаппинга, КонстантаДляВставки, Конецмаппинга : Строка;
начало
   Если (ИндексСекции &lt;&gt; 0) и ФормироватьГиперДокумент
   тогда начало
     // до точки с запятой необходимо константу впихать (точка с запятой есть всегда!!!)
     ПозицияТочкисЗапятой := Позиция(';', ПоляВставкиГиперТекст);
     НачалоМаппинга := Подстрока(ПоляВставкиГиперТекст, 1, ПозицияТочкисЗапятой - 1);
     Конецмаппинга := Подстрока(ПоляВставкиГиперТекст, ПозицияТочкисЗапятой + 1, Длина(ПоляВставкиГиперТекст) - ПозицияТочкисЗапятой);
     // то что вставляем в середину 2 в 16 степени умножить на ИндексСекции
     КонстантаДляВставки := '+'+ЦелоеВСтроку(ИндексСекции * 65536)+ ';'; 
     Результат := ПолеХранениеГиперТекст + '=' + НачалоМаппинга + КонстантаДляВставки + Конецмаппинга;
   конец  
   иначе Результат := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;
конец;

//функция для гипер документов (формирует уникальный маппинг закачки для каждой алгоритмов первичных данных)
функция МетаАлгоритмМаппингГиперТекст(ПоляВставкиГиперТекст : Строка; ИндексМетаАлгоритма, ФормироватьГиперДокумент : Целое) : Строка;
переменные
  ПозицияТочкисЗапятой : Целое;
  НачалоМаппинга, КонстантаДляВставки, Конецмаппинга : Строка;
начало
   Если (ИндексМетаАлгоритма &lt;&gt; 0) и ФормироватьГиперДокумент
   тогда начало
     // до точки с запятой необходимо константу впихать (точка с запятой есть всегда!!!)
     ПозицияТочкисЗапятой := Позиция(';', ПоляВставкиГиперТекст);
     НачалоМаппинга := Подстрока(ПоляВставкиГиперТекст, 1, ПозицияТочкисЗапятой - 1);
     Конецмаппинга := Подстрока(ПоляВставкиГиперТекст, ПозицияТочкисЗапятой + 1, Длина(ПоляВставкиГиперТекст) - ПозицияТочкисЗапятой);
     // то что вставляем в середину 2 в 24 + 2 в 16 степени умножить на ИндексМетаАлгоритма
     КонстантаДляВставки := '+' + ЦелоеВСтроку(16777216 + ИндексМетаАлгоритма * 65536)+ ';'; 
     Результат := ПолеХранениеГиперТекст + '=' + НачалоМаппинга + КонстантаДляВставки + Конецмаппинга;
   конец  
   иначе Результат := ПолеХранениеГиперТекст + '=' + ПоляВставкиГиперТекст;
конец;

// в списке ищем по значению элемент
// формат элементов A=B
функция НайтиПоЗначениюЭлемент(Маппинг : текст; Значение : Строка):Целое;
переменные
  темп : Целое;
  ТекущееЗначение : Строка;
начало
  Результат := -1;
  темп := 0;
  пока (Результат = -1) и (темп &lt;= Маппинг.Количество - 1)
  делать начало
    ТекущееЗначение := Маппинг.ЗначениеПараметра(Маппинг.ИмяПараметра(темп));
    Если Прописные(ТекущееЗначение) = Прописные(Значение)
      тогда Результат := темп;
    темп := темп + 1;  
  конец; 
конец;

// определяем дублирование маппинга
// что в описании типа A=B левые части не дублируются
функция ПолучитьДублированиеМаппинга(Маппинг : текст): Строка;
переменные
  ПромежуточныеДанные : текст;
  ТекущееЗначение : Строка;
  темп : Целое;
начало
  Результат := '';
  ПромежуточныеДанные := Создатьтекст;
  Попытка
    от темп := 0 до Маппинг.Количество - 1
    делать начало
      ТекущееЗначение := Прописные(Маппинг.ИмяПараметра(темп));
      Если (ПромежуточныеДанные.Поиск(ТекущееЗначение) &gt; -1)
        тогда начало
          Если (Результат = '')
            тогда Результат := ТекущееЗначение
            иначе Результат := Результат + nl + ТекущееЗначение;
        конец  
        иначе ПромежуточныеДанные.Добавить(ТекущееЗначение);
    конец;   
  обязательно
    УдалитьОбъект(ПромежуточныеДанные);  
  конец;
конец;

// проверяем все ли поля правильно замаплены
функция ПроверитьПравильностьМаппинга(ЗапросКБД : Строка; МаппингПолей : Строка);
переменные
  Данные : СтатическиеДанные; // поля созданные по скрипту
  Маппинг : текст; // маппинг перекачки данных
  тек : Целое;  // счетчик полей
  ТекущееИмяПоля : Строка;// текущее имя поля
  Протокол : ОкноВывода; // выводим все результаты
начало
  Данные := СоздатьСтатическиеДанные;
  Маппинг := СоздатьТекст;
  Протокол := ОкноВывода;
  попытка
    Протокол.Вывести('Сравнение маппинга и данных документа');
    Маппинг.РазделенноеЗначение := МаппингПолей;
    // закачиваем данные и создаем поля
    Данные.Запрос := '[Pumpdata]'#13#10 +
                     '{' + ЗапросКБД + ' and (1=2) }' ;
    Данные.СоединитьБД;
    Данные.Открыть;
    // начинаем сравнивать
    // ищем дублирование маппинга (когда одно поле приемник несколько раз указывается)
    Протокол.Вывести('Дублирование маппинга');
    Протокол.Вывести(ПолучитьДублированиеМаппинга(Маппинг));
    // 1 ищем то что есть в маппинге но нет в полях датасета
    Протокол.Вывести('Есть в маппинге, но нет в запросе');
    от тек := 0 до Маппинг.Количество - 1 
    делать начало
      ТекущееИмяПоля := Маппинг.ЗначениеПараметра(Маппинг.ИмяПараметра(тек));
      попытка
        Данные.ПолеПоИмени(ТекущееИмяПоля);
      неудача
        Протокол.Вывести(ТекущееИмяПоля);
      конец;
    конец; 
    // 2 ищем те поля, что есть в данных, но в маппинге нет
    Протокол.Вывести('Есть запросе, но нет в маппинге');
    от тек := 0 до данные.FieldsCount - 1 
    делать начало
      ТекущееИмяПоля := данные.поля(Тек).Fieldname;
      Если (НайтиПоЗначениюЭлемент(Маппинг, ТекущееИмяПоля) = -1)
        тогда Протокол.Вывести(ТекущееИмяПоля);
    конец;    
    Протокол.Вывести('_____________________________________________________________');                
  обязательно
    УдалитьОбъект(Данные, Маппинг);  
  конец;
конец;

// формирует ограничение по первому маппингу, если результат пустой, то по второму
функция СформироватьОгрПоНаборуМаппингов(Коллекция : IVariables; Маппинг1, Маппинг2 : Строка) : Строка;
начало
  Результат := Ограничение(Маппинг1, Коллекция);
  // если органичение пустое - по втрому набору ограничиваем
  Если (Результат = '')
    тогда  Результат := Ограничение(Маппинг2, Коллекция);
конец;

// формируем ограничение по денежным средствам
функция СформироватьОграниченияПоДенСредствам(Коллекция :IVariables; Поле : Строка) : Строка;
начало
   Результат := "";  
   Если (УбратьПробелы(Коллекция.Values("ДенежныеСредства")) &lt;&gt; "") 
   тогда начало
     если Коллекция.Values("ДенежныеСредства") 
       тогда Результат := "and ("+Поле+" between 1000 and 1999) and"+"("+Поле+" &lt;&gt; "+ПолучитьКонстантуКЭШ('ТипДокЦелевогоФин', 30,6,0)+")"
       иначе Результат := "and (not("+Поле+" between 1000 and 1999) or"+"("+Поле+" = "+ПолучитьКонстантуКЭШ('ТипДокЦелевогоФин', 30,6,0)+"))"
   конец;                                 
конец;

// в ограничение по OR добавляем 
функция ДополнитьОграничение(БазовоеОграничение, Дополнение : Строка) : Строка;
переменные
  ПозицияИ : Целое;
  ИтоговоеОграничение : Строка;
начало
  Результат := БазовоеОграничение;
  Если (Дополнение &lt;&gt; '')
  тогда начало
    Если (Результат = '') 
      тогда Результат := 'and (1=1)';
    // ищем AND  
    ПозицияИ := Позиция(Прописные('AND'), Прописные(Результат));
    // как то странно, а AND то и нет
    Если (ПозицияИ &gt; 0)
    тогда начало
      // берем все кроме AND
      ИтоговоеОграничение := Подстрока(Результат, ПозицияИ + 3, Длина(Результат) - ПозицияИ - 2);
      // формируем ограничение
      Результат := 'AND(' + ИтоговоеОграничение + Дополнение + ')';
    конец;
  конец;  
конец;

функция ТекущаяДатаССервера : Дробное;
переменные 
  Данные : СтатическиеДанные;
начало
   Данные := СоздатьСтатическиеДанные;
   попытка
     Данные.СоединитьБД;
     Данные.Запрос := '[PumpData]'#13#10 +
                      '{select cast("NOW" as date) CurDate from SINGLE}';
     Данные.Открыть;
     Результат := Данные.ПолеПоимени('CurDate').asFloat;                  
   обязательно
     УдалитьОбъект(Данные);
   конец;
конец;
// функция применяется в ВычислитьПоля70Н для получения ссылки на поле с именем ИмяПоля. 
функция ПолучитьПоле(Данные:статическиеДанные;ИмяПоля:строка; ПолеРез:поле; ЧислоНайденных:целое;ПоследнееНеНайденноеПоле:строка);
начало
  ПолеРез:=nil;
  // если ИмяПоля='' значит не нашли левую часть.
  если ИмяПоля&lt;&gt;'' тогда 
  начало
    //если поле не найдено - ничего страшного, возможно оно и не нужно
    Данные.НайтиПоле(ИмяПоля,ПолеРез); 
    ЧислоНайденных := ЧислоНайденных+1;
    Если (ПолеРез=nil)и(ИмяПоля&lt;&gt;'_')и(ПоследнееНеНайденноеПоле&lt;&gt;'_') тогда ПоследнееНеНайденноеПоле :=ПоследнееНеНайденноеПоле+' '+ИмяПоля; 
  конец;  
конец;

функция ВычислитьВарианты(СписокВариантов:строка;ВариантПоУмолчанию:целое;данные:СтатическиеДанные;пИндексВариант,пЗначВариант:поле);
переменные
  СписокВар:текст;
  сч: целое;
  инд: строка;
начало
  СписокВар :=  СоздатьТекст;
  попытка
    ВариантПоУмолчанию := 0;
    СписокВар.РазделенноеЗначение := СписокВариантов;
    от сч := 0 до СписокВар.Количество-1 делать
    начало
      если Позиция('=',СписокВар.Стр(сч))&gt;0 тогда
      начало
        инд := СписокВар.ИмяПараметра(сч);
        если Данные.Искать(инд)=0 тогда Данные.Вставить
        иначе Данные.Редактировать;
        пИндексВариант.КакЦелое := СтрокаВЦелое(СписокВар.ИмяПараметра(сч));
        пЗначВариант.КакЦелое := СтрокаВЦелое(СписокВар.ЗначениеПараметра(СписокВар.ИмяПараметра(сч)));
        Данные.Post;
      конец  
      иначе  
        ВариантПоУмолчанию := СтрокаВЦелое(СписокВар.Стр(сч));
    конец;
  обязательно
    УдалитьОбъект(СписокВар);
  конец;  
конец;

функция ПолучитьДопИнформацию(ВариантФормирования, ВидКлс: целое; пИндексыДанных, пБухОперация,
  пВидОрг, пКорВидОрг, пВидДеят: Поле): строка;
переменные
  стрВариант, стрВид, стрИндексы, стрБухОперация,
  стрВидОрг, стрКорВидОрг, стрВидДеят: строка;
  разыменовщик: IDereference;
начало
  стрВариант := '';
  стрВид := '';
  стрИндексы := '';
  стрБухОперация := '';
  стрВидОрг := '';
  стрКорВидОрг := '';
  стрВидДеят := '';
  разыменовщик := mapper;           
  выбрать ВариантФормирования из
    1: стрВариант := 'Вариант формирования: отсутствует';
    2: стрВариант := 'Вариант формирования: прямая классификация';
    3: стрВариант := 'Вариант формирования: корреспондирующая классификация';
    4: стрВариант := 'Вариант формирования: остатки средств';
    5: стрВариант := 'Вариант формирования: прямая классификация без ЭК';
    6: стрВариант := 'Вариант формирования: прямая классификация, только КВСР';
  конец;
  выбрать ВидКлс из
    0: стрВид := ', вид классификации: расходная';
    1: стрВид := ', вид классификации: источниковая';
    2: стрВид := ', вид классификации: доходная';
  конец;
  попытка 
    если ПИндексыДанных&lt;&gt;nil тогда
    начало
      разыменовщик.Code := 'Служебные.БлокДанных';
      стрИндексы := ', интерфейс: '+разыменовщик.dereference(ПИндексыДанных.КакСтрока);
    конец;
    если пБухОперация&lt;&gt;nil тогда
      стрБухОперация := ', номер бух.операции: '+пБухОперация.КакСтрока;
    если пВидОрг &lt;&gt; nil тогда
      если пВидОрг.КакСтрока &lt;&gt; "" тогда стрВидОрг := ", вид организации: " + пВидОрг.КакСтрока;
    если пКорВидОрг &lt;&gt; nil тогда
      если пКорВидОрг.КакСтрока &lt;&gt; "" тогда стрКорВидОрг := ", корреспондирующий вид организации: " + пКорВидОрг.КакСтрока;
    если пВидДеят &lt;&gt; nil тогда
      если пВидДеят.КакСтрока &lt;&gt; "" тогда стрВидДеят := ", вид деятельности: " + пВидДеят.КакСтрока;
  неудача
  конец;
  Результат := стрВариант + стрВид + стрИндексы + стрБухОперация + стрВидОрг + стрКорВидОрг + стрВидДеят;
конец;

// часть полей, добавленных для 70Н требуют сложных вычислений. Вся логика вычислений реализована в этой функции
// в маппинге полей задаются имена полей в Данные, необходимых для вычислений.
// СписокВариантовДебет,СписокВариантовКредит задают вариант формирования классификации для проводки
// эти варианты будут подставляться, если в справочнике у счетов проводки указан 0-вой вариант
// прописываются в формате &lt;Прогиндекс&gt;=&lt;Вариант&gt;[,&lt;Прогиндекс&gt;=&lt;Вариант&gt;] 
// либо &lt;Вариант&gt;[,&lt;Прогиндекс&gt;=&lt;Вариант&gt;] в этом случае Вариант распространяется на все прогиндексы, не прописанные явно 
// заготовка для прописывания маппинга:
/*
'БКСчетДебет=,ЭКСчетДебет=,БКСчетКредит=,ЭКСчетКредит=,'+             
'КодСчетаДебет=,КодСчетаКредит=,НомерСчетаДебет=,НомерСчетаКредит=,'+
'БухСчетДебет=,БухСчетКредит=,'+
'ВидКлс=,КорВидКлс=,ВидДеятельности=,'+
'КВСР=,КЦСР=,КФСР=,КВР=,КЭСР=,'+ 
'КорКВСР=,КорКЦСР=,КорКФСР=,КорКВР=,КорКЭСР=,'+
'ИВФ=,КорИВФ=,КД=,КорКД=,ИВФКлюч=,КорИВФКлюч=,'+   
'ВариантКлсСчетДебет=,ВариантКлсСчетКредит=,ИндексыДанных=,'+
'ЭКБухСчетДебет=,ОстатковыйИВФДебет=,ОстатковыйИВФДебетКлюч=,ЭКБухСчетКредит=,ОстатковыйИВФКредит=,ОстатковыйИВФКредитКлюч=,'+
'БухСчетБезЭКДебет=,БухСчетБезЭККредит=,СуммаВозвратнойОперации=,Сумма=,'+
'ИсправляющаяОперация=,БухОперация='
*/ 
Функция ВычислитьПоля70НАБЛ(МаппингПолей: строка; Данные: статическиеДанные;
  СписокВариантовДебет, СписокВариантовКредит: строка; Коллекция: IVariables);
переменные
  списокПолей: текст;
  Варианты, ДанныеПоискОшибок: СтатическиеДанные;
  // поля
  пВидКлс, пКорВидКлс,
  пВидДеятельности, пКорВидДеятельности, пВидДеятельностиПроводки, пИсточникВидДеятельности: поле;
  пКВСР,пКЦСР,пКФСР,пКВР,пКЭСР,пИВФ: поле;
  пИВФКлюч, пКорИВФКлюч, пОстатковыйИВФДебетКлюч, пОстатковыйИВФКредитКлюч: поле;
  пКорКВСР,пКорКЦСР,пКорКФСР,пКорКВР,пКорКЭСР,пКорИВФ, пКД,пКорКД: поле;   
  пВариантКлсСчетДебет,пВариантКлсСчетКредит,пИндексыДанных: поле; 
  пЭКБухСчетДебет, пОстатковыйИВФДебет, пЭКБухСчетКредит, пОстатковыйИВФКредит: поле;
  пБКСчетДебет, пЭКСчетДебет, пБКСчетКредит, пЭКСчетКредит: поле;
  пКодСчетаДебет,пКодСчетаКредит,пНомерСчетаДебет,пНомерСчетаКредит,пБухСчетДебет,пБухСчетКредит: поле;
  пБухСчетБезЭКДебет, пБухСчетБезЭККредит, пСуммаВозвратнойОперации, пСумма: Поле;
  пИсправляющаяОперация, пБухОперация: Поле; 
  пИндексВариант, пЗначВариантДебет, пЗначВариантКредит: Поле;
  пБухСчетФОДебет, пБухСчетФОКредит, пВидОргЛС, пКорВидОргЛС: Поле;
  пИдОшибки, пСтрОшибки: Поле;
  //
  ВариантКлсСчетДебет, ВариантКлсСчетКредит, ВариантКлсСчетДебетПоУмолчанию, ВариантКлсСчетКредитПоУмолчанию, ЧислоНайденных: целое;
  //для хранения промежуточных результатов
  БК,ЭК, КорБК, КорЭК: строка;
  БКСчетДебет, ЭКСчетДебет, БКСчетКредит, ЭКСчетКредит,КодСчетаДебет,КодСчетаКредит: строка;
  МаскаКВСР, МаскаКФСР, МаскаКЦСР, МаскаКВР, МаскаЭК, Источник: строка;
  ВидКлсПоУмолчанию, ВидКлс, КорВидКлс, ЗначВидДеят, ЗначСчет, ЗначЭКСчет, ТипКлс, РазрядБухСчетФО, ЗначВидОргЛС: целое;
  фРасширенныйПланСчетов,фТребуетсяВычислениеБКЭК, ВыводНомераСчета: целое;
  КэшИсточников, КэшВидаДеятельности: IVariables;
  ПоследнееНеНайденноеПоле: строка;
  НомОш: целое;
начало
  СписокПолей := СоздатьТекст;
  Варианты := создатьСтатическиеДанные;
  КэшИсточников := CreateVariables;
  КэшВидаДеятельности := CreateVariables;
  ДанныеПоискОшибок := СоздатьСтатическиеДанные;
  попытка  
    СписокПолей.РазделенноеЗначение := МаппингПолей;
    Если (не Коллекция.ПараметрСуществует("ВыводНомераСчета")) или (Коллекция.Значение("ВыводНомераСчета") = 0) тогда      
      ВыводНомераСчета := 0
    иначе
      ВыводНомераСчета := Коллекция.Значение("ВыводНомераСчета");    
    ЧислоНайденных:=0; 
    // ПоискОшибокВыборкиПолей70Н=1 - включен режим поиска ошибок формирования бух. полей (в отчете 12.28.01);
    // Внимание!: роля бух счетов при этом режиме через динамические настройки не скрывать,
    // иначе в результате оптимизации возможна ошибка, когда ее реально нет
    если Коллекция.Значение("ПоискОшибокВыборкиПолей70Н") = '1' тогда
    начало
      ПоследнееНеНайденноеПоле := '';
      ДанныеПоискОшибок.ДобавитьСтроковоеПоле("IdErr", 20);
      пИдОшибки := ДанныеПоискОшибок.ПолеПоИмени("IdErr");
      ДанныеПоискОшибок.ДобавитьСтроковоеПоле("StrErr", 1024);
      пСтрОшибки := ДанныеПоискОшибок.ПолеПоИмени("StrErr");
      ДанныеПоискОшибок.Открыть;
      НомОш := 1;
    конец
    иначе
      ПоследнееНеНайденноеПоле := '_';     
    //результирующие поля
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БКСчетДебет'),пБКСчетДебет,ЧислоНайденных,ПоследнееНеНайденноеПоле);       
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ЭКСчетДебет'),пЭКСчетДебет,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БКСчетКредит'),пБКСчетКредит,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ЭКСчетКредит'),пЭКСчетКредит,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БухСчетДебет'),пБухСчетДебет,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БухСчетКредит'),пБухСчетКредит,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('НомерСчетаДебет'),пНомерСчетаДебет,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('НомерСчетаКредит'),пНомерСчетаКредит,ЧислоНайденных,ПоследнееНеНайденноеПоле);       
    фТребуетсяВычислениеБКЭК := (ЧислоНайденных&lt;&gt;0);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КодСчетаДебет'),пКодСчетаДебет,ЧислоНайденных,'_');
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КодСчетаКредит'),пКодСчетаКредит,ЧислоНайденных,'_');
    // если полей для заполнения в датасете не найдено, то ничего не делаем      
    если ЧислоНайденных=0 тогда выход;
    // общие поля
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ВидДеятельности'),пВидДеятельности,ЧислоНайденных,ПоследнееНеНайденноеПоле);    
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорВидДеятельности'),пКорВидДеятельности,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ВидДеятельностиПроводки'),пВидДеятельностиПроводки,ЧислоНайденных,ПоследнееНеНайденноеПоле);    
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ИсправляющаяОперация'),пИсправляющаяОперация,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ИсточникВидДеятельности'),пИсточникВидДеятельности,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БухСчетФОДебет'), пБухСчетФОДебет, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БухСчетФОКредит'), пБухСчетФОКредит, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ВидОрганизацииЛС'), пВидОргЛС, ЧислоНайденных, ПоследнееНеНайденноеПоле);    
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорВидОрганизацииЛС'), пКорВидОргЛС, ЧислоНайденных, ПоследнееНеНайденноеПоле);    
    // прямая классификация
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ВидКлс'),пВидКлс,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КВСР'),пКВСР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КЦСР'),пКЦСР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КФСР'),пКФСР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КВР'),пКВР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КЭСР'),пКЭСР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ИВФ'),пИВФ,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ИВФКлюч'),пИВФКлюч,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КД'),пКД,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    // корреспондирующая классификация
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорВидКлс'),пКорВидКлс,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорКВСР'),пКорКВСР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорКЦСР'),пКорКЦСР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорКФСР'),пКорКФСР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорКВР'),пКорКВР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорКЭСР'),пКорКЭСР,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорИВФ'),пКорИВФ,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорИВФКлюч'),пКорИВФКлюч,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('КорКД'),пКорКД,ЧислоНайденных,ПоследнееНеНайденноеПоле);    
    // остатковая классификация
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ЭКБухСчетДебет'),пЭКБухСчетДебет,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ОстатковыйИВФДебет'),пОстатковыйИВФДебет,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ОстатковыйИВФДебетКлюч'),пОстатковыйИВФДебетКлюч,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ЭКБухСчетКредит'),пЭКБухСчетКредит,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ОстатковыйИВФКредит'),пОстатковыйИВФКредит,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ОстатковыйИВФКредитКлюч'),пОстатковыйИВФКредитКлюч,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    //поля-критерии        
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ВариантКлсСчетДебет'),пВариантКлсСчетДебет,ЧислоНайденных,ПоследнееНеНайденноеПоле);       
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ВариантКлсСчетКредит'),пВариантКлсСчетКредит,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('ИндексыДанных'),пИндексыДанных,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    // информация из плана счетов
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БухСчетБезЭКДебет'),пБухСчетБезЭКДебет,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БухСчетБезЭККредит'),пБухСчетБезЭККредит,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    //Суммы
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('Сумма'),пСумма,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('СуммаВозвратнойОперации'),пСуммаВозвратнойОперации,ЧислоНайденных,ПоследнееНеНайденноеПоле);
    // поля для получения информации об ошибке
    ПолучитьПоле(Данные,СписокПолей.ЗначениеПараметра('БухОперация'),пБухОперация,ЧислоНайденных,'_');
    
    Если ЧислоНайденных&lt;СписокПолей.Количество тогда
      ВызватьОшибку('Неверный маппинг. Не правильно указана одна или несколько левых частей маппинга(функция ВычислитьПоля70Н)');
    Если (ПоследнееНеНайденноеПоле&lt;&gt;'')и(ПоследнееНеНайденноеПоле&lt;&gt;'_') тогда
        Сообщение(' Неверный маппинг либо отсутствует поле: '+ПоследнееНеНайденноеПоле+' (функция ВычислитьПоля70Н)');
        
    фРасширенныйПланСчетов := коллекция.Значение("РасширБухСчет70нЧек");
    // вычисляем соответствие прогиндекс-вариант  
    если фТребуетсяВычислениеБКЭК тогда 
    начало
      Варианты.Закрыть;
      пИндексВариант := Варианты.ДобавитьЦелоеПоле("Прогиндекс");
      пЗначВариантДебет := Варианты.ДобавитьЦелоеПоле("ЗначениеВариантДебет");
      пЗначВариантКредит := Варианты.ДобавитьЦелоеПоле("ЗначениеВариантКредит");
      Варианты.Открыть;
      Варианты.Индекс := 'Прогиндекс';
      ВычислитьВарианты(СписокВариантовДебет,ВариантКлсСчетДебетПоУмолчанию,Варианты,пИндексВариант,пЗначВариантДебет);
      ВычислитьВарианты(СписокВариантовКредит,ВариантКлсСчетКредитПоУмолчанию,Варианты,пИндексВариант,пЗначВариантКредит);
      МаскаКВСР := ВернутьМаскуКлассификатора("КВСР");
      МаскаКФСР := ВернутьМаскуКлассификатора("КФСР");
      МаскаКЦСР := ВернутьМаскуКлассификатора("КЦСР");
      МаскаКВР := ВернутьМаскуКлассификатора("КВР");
      МаскаЭК := ВернутьмаскуКлассификатора("КЭСР");
      ВидКлсПоУмолчанию:=-1;
      Если (пКЭСР&lt;&gt;nil) тогда ВидКлсПоУмолчанию:=0
        иначе Если (пИВФ&lt;&gt;nil)или(пИВФКлюч&lt;&gt;nil) тогда ВидКлсПоУмолчанию:=1 
          иначе  Если (пКД&lt;&gt;nil) тогда ВидКлсПоУмолчанию:=2;
      если (пВидКлс=nil)и(((пКФСР&lt;&gt;nil)и((пИВФ&lt;&gt;nil)или(пИВФКлюч&lt;&gt;nil)))или(((пИВФ&lt;&gt;nil)или(пИВФКлюч&lt;&gt;nil))и(пКД&lt;&gt;nil))или((пКД&lt;&gt;nil)и(пКФСР&lt;&gt;nil))) тогда
        ВызватьОшибку('Не определено поле вида классификации при наличии более одного вида классификации в наборе данных (функция ВычислитьПоля70Н)');
      ВидКлс:= ВидКлсПоУмолчанию;    
    конец;    
      
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      попытка
        если фТребуетсяВычислениеБКЭК тогда
        начало
          // сначала вычислим бюджетную классификацию
          БК := '';ЭК :=''; КорБК :=''; КорЭК :='';
          // вычислим варианты формирования классификации для текущей записи
          если пВариантКлсСчетДебет&lt;&gt;nil тогда ВариантКлсСчетДебет:= пВариантКлсСчетДебет.КакЦелое
            иначе ВариантКлсСчетДебет:=0;
          если пВариантКлсСчетКредит&lt;&gt;nil тогда ВариантКлсСчетКредит:= пВариантКлсСчетКредит.КакЦелое
            иначе ВариантКлсСчетКредит:=0;   
          если (ВариантКлсСчетДебет=0)или(ВариантКлсСчетКредит=0) тогда 
          начало
            если пИндексыДанных&lt;&gt;nil тогда
              если Варианты.Искать(пИндексыДанных.какЦелое)&gt;0 тогда
              начало
                если ВариантКлсСчетДебет=0 тогда
                начало
                  Если пСумма = nil тогда
                    ВариантКлсСчетДебет := пЗначВариантДебет.КакЦелое
                  иначе
                    Если Мод(пСумма.КакДробное) &gt; 0.005 тогда
                      ВариантКлсСчетДебет := пЗначВариантДебет.КакЦелое
                    иначе  
                      ВариантКлсСчетДебет := пЗначВариантКредит.КакЦелое;
                конец;  
                если ВариантКлсСчетКредит=0 тогда
                начало
                  Если пСуммаВозвратнойОперации =nil тогда
                    ВариантКлсСчетКредит := пЗначВариантКредит.КакЦелое
                  иначе  
                    Если Мод(пСумма.КакДробное) &gt; 0.005 тогда
                      ВариантКлсСчетКредит := пЗначВариантКредит.КакЦелое
                    иначе
                      ВариантКлсСчетКредит := пЗначВариантДебет.КакЦелое;                    
                конец;
              конец;  
          конец;
          если ВариантКлсСчетДебет=0 тогда
          начало
            Если пСумма = nil тогда
              ВариантКлсСчетДебет:= ВариантКлсСчетДебетПоУмолчанию
            иначе
              Если Мод(пСумма.КакДробное) &gt; 0.005 тогда
                ВариантКлсСчетДебет:= ВариантКлсСчетДебетПоУмолчанию
              иначе  
                ВариантКлсСчетДебет:= ВариантКлсСчетКредитПоУмолчанию;
          конец;  
          если ВариантКлсСчетКредит=0 тогда
          начало
            Если пСумма = nil тогда
              ВариантКлсСчетКредит:= ВариантКлсСчетКредитПоУмолчанию
            иначе
              Если Мод(пСумма.КакДробное) &gt; 0.005 тогда
                ВариантКлсСчетКредит:= ВариантКлсСчетКредитПоУмолчанию
              иначе  
                ВариантКлсСчетКредит:= ВариантКлсСчетДебетПоУмолчанию;
          конец;  
          // вычислим виды классификаторов для текущей записи
          если пВидКлс&lt;&gt;nil тогда ВидКлс:=пВидКлс.КакЦелое;
          если пКорВидКлс=nil тогда КорВидКлс:= ВидКлс
              иначе КорВидКлс:=пКорВидКлс.КакЦелое;
              
          если (ВариантКлсСчетДебет=2) или (ВариантКлсСчетКредит=2) или
            (ВариантКлсСчетДебет=5) или (ВариантКлсСчетКредит=5) или
            (ВариантКлсСчетДебет = 6) или (ВариантКлсСчетКредит = 6) или
            (ВариантКлсСчетДебет = 7) или (ВариантКлсСчетКредит = 7) тогда
            // требуется основная классификация 
            выбрать  ВидКлс из
            0: начало  // расходы
                 если не ((пКВСР = nil) или (пКФСР = nil) или (пКЦСР = nil) или (пКВР = nil)) тогда
                   БК := ФорматироватьКлассификатор(пКВСР.КакЦелое, МаскаКВСР) + ФорматироватьКлассификатор(пКФСР.КакЦелое, МаскаКФСР) +
                       ФорматироватьКлассификатор(пКЦСР.КакСтрока, МаскаКЦСР) + ФорматироватьКлассификатор(пКВР.КакСтрока, МаскаКВР);
                 если пКЭСР &lt;&gt; nil тогда      
                   ЭК := ФорматироватьКлассификатор(пКЭСР.КакЦелое, МаскаЭК);
               конец;
            1: если (пИВФКлюч&lt;&gt;nil) тогда // источники
               начало
                 Источник := РазыменоватьКэш("ИсточникВнутр_ФинансированияКлюч.Код", пИВФКлюч.КакСтрока, КэшИсточников);                      
                 БК := Подстрока(Источник, 1, 17);
                 ЭК := Подстрока(Источник, 18, 3); 
               конец
               иначе
                 Если пИВФ &lt;&gt; nil тогда
                 начало
                   БК := Подстрока(пИВФ.КакСтрока, 1, 17);
                   ЭК := Подстрока(пИВФ.КакСтрока, 18, 3); 
                 конец;
            2: если (пКД&lt;&gt;nil) тогда // доходы
               начало 
                 БК := Подстрока(пКД.КакСтрока, 1, 17);
                 ЭК := Подстрока(пКД.КакСтрока, 18, 3); 
               конец;
             иначе 
               ВызватьОшибку('Несуществующее значение вида классификации.' +
                 ПолучитьДопИнформацию(2, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil) +               
                 ' Возможно заданы не все поля маппинга (функция ВычислитьПоля70Н)');
            конец;
          если (ВариантКлсСчетДебет=3) или (ВариантКлсСчетКредит=3) тогда // требуется корреспондирующая классификация
          выбрать  КорВидКлс из
            0: начало       // расходы
               если не ((пКорКВСР = nil) или (пКорКФСР = nil) или (пКорКЦСР=nil) или (пКорКВР = nil)) тогда
                 КорБК := ФорматироватьКлассификатор(пКорКВСР.КакЦелое, МаскаКВСР) + ФорматироватьКлассификатор(пКорКФСР.КакЦелое, МаскаКФСР) +
                       ФорматироватьКлассификатор(пКорКЦСР.КакСтрока, МаскаКЦСР) + ФорматироватьКлассификатор(пКорКВР.КакСтрока, МаскаКВР);
               если пКорКЭСР &lt;&gt; nil тогда
                 КорЭК := ФорматироватьКлассификатор(пКорКЭСР.КакЦелое, МаскаЭК);
              конец;
            1:если (пКорИВФКлюч&lt;&gt;nil) тогда // источники
              начало
                Источник := РазыменоватьКэш("ИсточникВнутр_ФинансированияКлюч.Код", пКорИВФКлюч.КакСтрока, КэшИсточников);     
                КорБК := Подстрока(Источник, 1, 17);
                КорЭК := Подстрока(Источник, 18,3); 
              конец
              иначе
                если (пКорИВФ&lt;&gt;nil) тогда 
                начало
                  КорБК := Подстрока(пКорИВФ.КакСтрока, 1, 17);
                  КорЭК := Подстрока(пКорИВФ.КакСтрока, 18,3); 
                конец;
            2:если (пКорКД&lt;&gt;nil) тогда // доходы
              начало 
                КорБК := Подстрока(пКорКД.КакСтрока, 1, 17);
                КорЭК := Подстрока(пКорКД.КакСтрока, 18, 3); 
              конец;
            иначе 
              ВызватьОшибку('Несуществующее значение вида корреспондирующей классификации.' +
                 ПолучитьДопИнформацию(3, КорВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil) +               
                 ' Возможно заданы не все поля маппинга (функция ВычислитьПоля70Н)');            
          конец;
          БКСчетДебет :='';ЭКСчетДебет :='';  
          // Анализируем значение варианта формирования классификации дебетового счета проводки
          выбрать ВариантКлсСчетДебет из
            1:начало //отсутствует-счету не сопоставлена бюджетная классификация
                БКСчетДебет := "00000000000000000";
                если пЭКБухСчетДебет&lt;&gt;nil тогда ЭКСчетДебет := ФорматироватьКлассификатор(пЭКБухСчетДебет.КакЦелое, МаскаЭК); 
              конец;
            2:начало //прямая  - счету сопоставлена основная бюджетная классификация интерфейса
                БКСчетДебет := БК;
                ЭКСчетДебет := ЭК;
              конец;
            3:начало  //корреспондирующая - счету сопоставлена корреспондирующая классификация
                БКСчетДебет := КорБК;
                ЭКСчетДебет := КорЭК;
              конец;
            4:начало  //остатки средств - счету сопоставлены коды классификации остатков средств бюджета
                если (пОстатковыйИВФДебетКлюч&lt;&gt;nil)тогда
                начало
                  Источник := РазыменоватьКэш("ИсточникВнутр_ФинансированияКлюч.Код", пОстатковыйИВФДебетКлюч.КакСтрока, КэшИсточников);                 
                  БКСчетДебет:= Подстрока(Источник, 1, 17);
                конец
                иначе
                  если (пОстатковыйИВФДебет&lt;&gt;nil)тогда                
                    БКСчетДебет:= Подстрока(пОстатковыйИВФДебет.КакСтрока, 1, 17);                  
                если (пЭКБухСчетДебет&lt;&gt;nil)тогда ЭКСчетДебет := ФорматироватьКлассификатор(пЭКБухСчетДебет.КакЦелое, МаскаЭК); 
              конец;
            5:начало //прямая без ЭК - счету сопоставлена бюджетная классификация интерфейса, кроме ЭК; ЭК берется из синт. счета
                БКСчетДебет := БК;
                если пЭКБухСчетДебет&lt;&gt;nil тогда 
                  ЭКСчетДебет := ФорматироватьКлассификатор(пЭКБухСчетДебет.КакЦелое, МаскаЭК); 
              конец;              
            6:начало //прямая, только КВСР - КВСР берется из классификации интерфейса, ЭК - из синт. счета, остальные нули
                БКСчетДебет := Подстрока(БК,1,3) + "00000000000000";
                если пЭКБухСчетДебет&lt;&gt;nil тогда 
                  ЭКСчетДебет := ФорматироватьКлассификатор(пЭКБухСчетДебет.КакЦелое, МаскаЭК); 
              конец;              
            7:начало //прямая, только ЭК - берется только ЭК из интерфейса
                БКСчетДебет := "00000000000000000";
                ЭКСчетДебет := ЭК;
              конец;
              иначе 
                ВызватьОшибку('Несуществующее значение варианта формирования классификации счета дебета либо не указан вариант по умолчанию ' +
                  ПолучитьДопИнформацию(ВариантКлсСчетДебет, -1, пИндексыДанных, пБухОперация, nil, nil, nil) +                               
                  ' (функция ВычислитьПоля70Н)');
          конец;
          //  Анализируем значение варианта формирования классификации кредитового счета проводки
          БКСчетКредит :='';ЭКСчетКредит := '';
          выбрать ВариантКлсСчетКредит из
            1:начало //отсутствует-счету не сопоставлена бюджетная классификация
                БКСчетКредит:= "00000000000000000";
                если пЭКБухСчетКредит&lt;&gt;nil тогда ЭКСчетКредит:= ФорматироватьКлассификатор(пЭКБухСчетКредит.КакЦелое, МаскаЭК); 
              конец;
            2:начало //прямая  - счету сопоставлена основная бюджетная классификация интерфейса
                БКСчетКредит:=БК;
                ЭКСчетКредит:=ЭК;
              конец;
            3:начало //корреспондирующая - счету сопоставлена корреспондирующая классификация
                БКСчетКредит := КорБК;
                ЭКСчетКредит := КорЭК;          
              конец;
            4:начало //остатки средств - счету сопоставлены коды классификации остатков средств бюджета
                если (пОстатковыйИВФКредитКлюч&lt;&gt;nil)тогда
                начало
                  Источник := РазыменоватьКэш("ИсточникВнутр_ФинансированияКлюч.Код", пОстатковыйИВФКредитКлюч.КакСтрока, КэшИсточников);
                  БКСчетКредит := Подстрока(Источник, 1, 17);
                конец
                иначе
                  если (пОстатковыйИВФКредит&lt;&gt;nil)тогда
                    БКСчетКредит := Подстрока(пОстатковыйИВФКредит.КакСтрока, 1, 17);                
                если (пЭКБухСчетКредит&lt;&gt;nil)тогда ЭКСчетКредит := ФорматироватьКлассификатор(пЭКБухСчетКредит.КакЦелое, МаскаЭК); 
              конец;
            5:начало //прямая без ЭК - счету сопоставлена бюджетная классификация интерфейса, кроме ЭК; ЭК берется из синт. счета
                БКСчетКредит:=БК;
                если пЭКБухСчетКредит&lt;&gt;nil тогда 
                  ЭКСчетКредит:= ФорматироватьКлассификатор(пЭКБухСчетКредит.КакЦелое, МаскаЭК); 
              конец;              
            6:начало //прямая, только КВСР - КВСР берется из классификации интерфейса, ЭК - из синт. счета, остальные нули
                БКСчетКредит := Подстрока(БК,1,3) + "00000000000000";;
                если пЭКБухСчетКредит&lt;&gt;nil тогда 
                  ЭКСчетКредит:= ФорматироватьКлассификатор(пЭКБухСчетКредит.КакЦелое, МаскаЭК); 
              конец;              
            7:начало //прямая, только ЭК - берется только ЭК из интерфейса
                БКСчетКредит := "00000000000000000";
                ЭКСчетКредит := ЭК;
              конец;
            иначе 
              ВызватьОшибку('Несуществующее значение варианта формирования классификации счета кредита либо не указан вариант по умолчанию ' +
                ПолучитьДопИнформацию(ВариантКлсСчетКредит, -1, пИндексыДанных, пБухОперация, nil, nil, nil) +                                           
                ' (функция ВычислитьПоля70Н)');  
          конец;
        конец;
        // заполняем поля для формирования синтетического счета по 70Н
        // определяем, какой вид деятельности брать для счетов
        если (((пКодСчетаКредит &lt;&gt; nil) или (пНомерСчетаКредит &lt;&gt; nil)) и (пБухСчетБезЭККредит &lt;&gt; nil)) или
          (((пКодСчетаДебет &lt;&gt; nil) или (пНомерСчетаДебет &lt;&gt; nil)) и (пБухСчетБезЭКДебет &lt;&gt; nil))или
          (пВидДеятельности &lt;&gt; nil) тогда
        начало  
          если пИсточникВидДеятельности = nil тогда
            если пВидДеятельности &lt;&gt; nil тогда
              ЗначВидДеят := пВидДеятельности.КакЦелое
            иначе
              ВызватьОшибку('Не найдена информация, необходимая для вычисления вида деятельности (функция ВычислитьПоля70Н)')
          иначе
            начало
              выбрать пИсточникВидДеятельности.КакЦелое из
                // вид деятельности берется из первичных данных
                0: если пВидДеятельности &lt;&gt; nil тогда
                     ЗначВидДеят := пВидДеятельности.КакЦелое
                   иначе
                     ВызватьОшибку('Не найдена информация, необходимая для вычисления вида деятельности (функция ВычислитьПоля70Н)');
                // вид деятельности берется из корреспондирующих данных
                1: если пКорВидДеятельности &lt;&gt; nil тогда
                     ЗначВидДеят := пКорВидДеятельности.КакЦелое
                   иначе
                     ВызватьОшибку('Не найдена информация, необходимая для вычисления корреспондирующего вида деятельности (функция ВычислитьПоля70Н)');
                // вид деятельности берется из таблицы корреспонденции счетов
                2: если пВидДеятельностиПроводки &lt;&gt; nil тогда
                     ЗначВидДеят := пВидДеятельностиПроводки.КакЦелое
                   иначе
                     ВызватьОшибку('Не найдена информация, необходимая для вычисления явно заданного в проводке вида деятельности (функция ВычислитьПоля70Н)');
                иначе  
                  ВызватьОшибку('Несуществующее значение источника вида деятельности (функция ВычислитьПоля70Н)');
              конец;
              // для фильтрации по виду деятельности в алгоритме Бухгалтерия надо сохранить в отдельном поле значение того вида деятельности,
              // по которому форимровались бух. поля; оно может отличаться от ВидДеятельности из первички, но будем писать в него
              если пВидДеятельности &lt;&gt; nil тогда пВидДеятельности.КакЦелое := ЗначВидДеят;              
            конец;
        конец;
        //вычисляем результаты по дебету
        если пБКСчетДебет&lt;&gt;nil тогда 
           если БКСчетДебет&lt;&gt;'' тогда 
             пБКСчетДебет.КакСтрока := БКСчетДебет
           иначе
             ВызватьОшибку('Не найдена информация, необходимая для вычисления БК дебетового счета. '+
               ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
               ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
        если пЭКСчетДебет&lt;&gt;nil тогда 
           если ЭКСчетДебет&lt;&gt;'' тогда 
             пЭКСчетДебет.КакСтрока := ЭКСчетДебет
           иначе
             ВызватьОшибку('Не найдена информация, необходимая для вычисления ЭК дебетового счета. '+
               ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
               ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
        // - если первые 3 разряда счета дебета равны 402 и 4,5 разряды - нули, то 4-ый разряд счета дебета заменяется по правилу:
        //   если КОСГУ счета попадает в диапазоны 200-299, 300-399, 500-599, 800-899, то 4-ый разряд = 2, иначе 4-ый разряд = 1
        //   для нулевой ЭК анализируется тип классификации;
        // - если первые 4 разряда счета равны 2020, то 22-й разряд заменяется на тот, который указан в счетах бюджета (Код счета для ФО)
        // - если счета равны 203.10.хх, 203.30.хх, 307.10.хх, то 23-й разряд заменяется по правилу:
        //   если вид организации лс 01.08.хх, то заменяем на 3,  
        //   если вид организации лс 01.09.хх, то заменяем на 4, иначе заменяем на 2  
        если пБухСчетБезЭКДебет &lt;&gt; nil тогда
        начало
          ЗначСчет := пБухСчетБезЭКДебет.КакЦелое цел 100;
          // обработка 402-ых счетов
          если (ЗначСчет = 40200) и (ЭКСчетДебет &lt;&gt; '') тогда
          начало
            ЗначЭКСчет := СтрокаВЦелое(ЭКСчетДебет);
            если ЗначЭКСчет = 0 тогда
            начало
              ТипКлс := -1;
              если ВариантКлсСчетДебет = 3 тогда // корреспондирующая
                ТипКлс := КорВидКлс
              иначе
                // прямая; прямая без ЭК; прямая, только КВСР; прямая, только ЭК
                если (ВариантКлсСчетДебет = 2) или (ВариантКлсСчетДебет = 5)
                  или (ВариантКлсСчетДебет = 6) или (ВариантКлсСчетДебет = 7) тогда
                  ТипКлс := ВидКлс;
              // для расходной классификации при нулевой ЭК 22-й разряд должен быть равен 2, поэтому берем любое расходное значение ЭК
              если ТипКлс = 0 тогда
                ЗначЭКСчет := 200
              иначе
                // для доходной классификации при нулевой ЭК 22-й разряд должен быть равен 1, поэтому берем любое доходное значение ЭК
                если ТипКлс = 2 тогда
                  ЗначЭКСчет := 100
                иначе
                  // для источниковой классификации при нулевой ЭК определяем значение ЭК по проводке
                  если ТипКлс = 1 тогда
                    если пЭКБухСчетДебет &lt;&gt; nil тогда ЗначЭКСчет := пЭКБухСчетДебет.КакЦелое;
            конец;
            если ЗначЭКСчет &gt; 0 тогда
              если ((ЗначЭКСчет &gt; 199) и (ЗначЭКСчет &lt; 400)) или
                ((ЗначЭКСчет &gt; 499) и (ЗначЭКСчет &lt; 600)) или
                ((ЗначЭКСчет &gt; 799) и (ЗначЭКСчет &lt; 900)) тогда
                пБухСчетБезЭКДебет.КакЦелое := (пБухСчетБезЭКДебет.КакЦелое цел 10000) * 10000 + 2000 + пБухСчетБезЭКДебет.КакЦелое ост 1000
              иначе
                пБухСчетБезЭКДебет.КакЦелое := (пБухСчетБезЭКДебет.КакЦелое цел 10000) * 10000 + 1000 + пБухСчетБезЭКДебет.КакЦелое ост 1000;
          конец;
          // обработка 202-ых счетов
          если ((пБухСчетБезЭКДебет.КакЦелое цел 1000) = 2020) и (пБухСчетФОДебет &lt;&gt; nil) тогда
          начало
            // определим значение 4-го разряда синт. счета для ФО из счетов бюджета
            РазрядБухСчетФО := пБухСчетФОДебет.КакЦелое цел 1000 ост 10;
            если РазрядБухСчетФО &gt; 0 тогда
              пБухСчетБезЭКДебет.КакЦелое := (пБухСчетБезЭКДебет.КакЦелое цел 10000) * 10000 + РазрядБухСчетФО * 1000 + пБухСчетБезЭКДебет.КакЦелое ост 1000;                                            
          конец;
          // обработка 203.10, 203.30 и 307.10 счетов: заменяем 23-й разряд
          если (ЗначСчет = 20310) или (ЗначСчет = 20330) или (ЗначСчет = 30710) тогда
          начало
            ЗначВидОргЛС := 0;
            // если вариант = прямая; прямая без ЭК; прямая, только КВСР; прямая, только ЭК, то вид организации брать прямой
            // если вариант = корреспондирующая, то вид организации брать корреспондирующий
            // если вариант = остатки средств; отсутствует, то, если для кредита вариант = корреспондирующая, 
            // вид организации брать корреспондирующий, иначе брать прямой
            если (ВариантКлсСчетДебет = 3) 
              или (((ВариантКлсСчетДебет = 1) или (ВариантКлсСчетДебет = 4)) и (ВариантКлсСчетКредит = 3)) тогда
            начало
              если пКорВидОргЛС &lt;&gt; nil тогда ЗначВидОргЛС := пКорВидОргЛС.КакЦелое;
            конец
            иначе
              если пВидОргЛС &lt;&gt; nil тогда ЗначВидОргЛС := пВидОргЛС.КакЦелое;
            // если это бюджетное учреждение и не средства по переданным полномочиям, тогда будет 3
            если (((ЗначВидОргЛС цел 100) = 108) или ((ЗначВидОргЛС цел 100) = 101)) и (ЗначВидДеят &lt;&gt; 1) тогда
              пБухСчетБезЭКДебет.КакЦелое := (пБухСчетБезЭКДебет.КакЦелое цел 1000) * 1000 + 300 + пБухСчетБезЭКДебет.КакЦелое ост 100
            иначе
              // если это автономное учреждение и не средства по переданным полномочиям, тогда будет 4
              если ((ЗначВидОргЛС цел 100) = 109) и (ЗначВидДеят &lt;&gt; 1) тогда
                пБухСчетБезЭКДебет.КакЦелое := (пБухСчетБезЭКДебет.КакЦелое цел 1000) * 1000 + 400 + пБухСчетБезЭКДебет.КакЦелое ост 100
              иначе
                // счет 203.30 может указываться и для КУ и для БУ, АУ, поэтому для бюджетных средств в 23-й разряд подставляется 2 
                если ЗначСчет = 20330 тогда
                  // если это казенное учреждение и бюджетные средства, то проставляем 2
                  если (ЗначВидОргЛС &gt; 10099) и (ЗначВидОргЛС &lt; 10800) и (ЗначВидДеят = 1) тогда
                    пБухСчетБезЭКДебет.КакЦелое := (пБухСчетБезЭКДебет.КакЦелое цел 1000) * 1000 + 200 + пБухСчетБезЭКДебет.КакЦелое ост 100
                  иначе
                    ВызватьОшибку("Проводка по счету 203.30 не может быть вычислена из-за несоответствия вида организации и вида деятельности. " +
                      ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, пВидОргЛС, пКорВидОргЛС, пВидДеятельности))
                иначе
                  // во всех остальных случаях выдаем ошибку
                  ВызватьОшибку("Бух. операции с проводками по счетам 203.10, 307.10 могут применяться только для новых бюджетных, автономных учреждений. " +
                    ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, пВидОргЛС, пКорВидОргЛС, пВидДеятельности));
          конец;
        конец;
        //
        если пБухСчетДебет&lt;&gt;nil тогда
          если (пБухСчетБезЭКДебет&lt;&gt;nil) и (ЭКСчетДебет&lt;&gt;'') тогда 
            пБухСчетДебет.КакДробное := пБухСчетБезЭКДебет.КакДробное*1000 + СтрокаВДробное(ЭКСчетДебет)
          иначе        
             ВызватьОшибку('Не найдена информация, необходимая для вычисления дебетового бухсчета. '+
               ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
               ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
        если (пКодСчетаДебет &lt;&gt; nil) или (пНомерСчетаДебет &lt;&gt; nil) тогда
          если пБухСчетБезЭКДебет &lt;&gt; nil тогда
          начало 
            если фРасширенныйПланСчетов тогда //код счета имеет разрядность 8 знаков
              КодСчетаДебет := ФорматироватьКлассификатор((пБухСчетБезЭКДебет.КакЦелое + ЗначВидДеят * 10000000), '00000000')
            иначе //код счета имеет разрядность 6 знаков
              КодСчетаДебет := ФорматироватьКлассификатор((пБухСчетБезЭКДебет.КакЦелое цел 100 + ЗначВидДеят * 100000), '000000');
          конец  
          иначе        
             ВызватьОшибку('Не найдена информация, необходимая для вычисления дебетового кода счета. '+
               ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
               ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
        если пКодСчетаДебет&lt;&gt;nil тогда
              пКодСчетаДебет.КакСтрока := КодСчетаДебет;
              
        если пНомерСчетаДебет&lt;&gt;nil тогда
          выбрать ВыводНомераСчета из
            0 :
              если (БКСчетДебет&lt;&gt;'') и (ЭКСчетДебет&lt;&gt;'') тогда
                пНомерСчетаДебет.КакСтрока := БКСчетДебет+КодСчетаДебет+ЭКСчетДебет
              иначе  
                ВызватьОшибку('Не найдена информация, необходимая для вычисления дебетового номера счета. '+
                  ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
                  ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
            1 :
              если (ЭКСчетДебет&lt;&gt;'') тогда
                пНомерСчетаДебет.КакСтрока := КодСчетаДебет+ЭКСчетДебет
              иначе  
                ВызватьОшибку('Не найдена информация, необходимая для вычисления дебетового номера счета. '+
                  ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+                
                  ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
            2 : пНомерСчетаДебет.КакСтрока := КодСчетаДебет;
          конец;
        //вычисляем результаты по кредиту
        если пБКСчетКредит&lt;&gt;nil тогда 
           если БКСчетКредит&lt;&gt;'' тогда 
             пБКСчетКредит.КакСтрока := БКСчетКредит
           иначе
             ВызватьОшибку('Не найдена информация, необходимая для вычисления БК кредитового счета. '+
               ПолучитьДопИнформацию(ВариантКлсСчетДебет, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
               ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
        если пЭКСчетКредит&lt;&gt;nil тогда 
           если ЭКСчетКредит&lt;&gt;'' тогда 
             пЭКСчетКредит.КакСтрока := ЭКСчетКредит
           иначе
             ВызватьОшибку('Не найдена информация, необходимая для вычисления ЭК кредитового счета. '+
               ПолучитьДопИнформацию(ВариантКлсСчетКредит, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
               ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
        // - если первые 3 разряда счета кредита равны 402 и 4,5 разряды - нули, то 4-ый разряд счета кредита заменяется по правилу:
        //   если КОСГУ счета попадает в диапазоны 200-299, 300-399, 500-599, 800-899, то 4-ый разряд = 2, иначе 4-ый разряд = 1
        //   для нулевой ЭК анализируется тип классификации;
        // - если первые 4 разряда счета равны 2020, то 22-й разряд заменяется на тот, который указан в счетах бюджета (Код счета для ФО)
        // - если счета равны 203.10.хх, 203.30.хх, 307.10.хх, то 23-й разряд заменяется по правилу:
        //   если вид организации лс 01.08.хх, то заменяем на 3,  
        //   если вид организации лс 01.09.хх, то заменяем на 4, иначе заменяем на 2  
        если пБухСчетБезЭККредит &lt;&gt; nil тогда
        начало
          ЗначСчет := пБухСчетБезЭККредит.КакЦелое цел 100;
          // обработка 402-ых счетов
          если (ЗначСчет = 40200) и (ЭКСчетКредит &lt;&gt; '') тогда
          начало
            ЗначЭКСчет := СтрокаВЦелое(ЭКСчетКредит);
            если ЗначЭКСчет = 0 тогда
            начало
              ТипКлс := -1;
              если ВариантКлсСчетКредит = 3 тогда // корреспондирующая
                ТипКлс := КорВидКлс
              иначе
                // прямая; прямая без ЭК; прямая, только КВСР; прямая, только ЭК
                если (ВариантКлсСчетКредит = 2) или (ВариантКлсСчетКредит = 5)
                  или (ВариантКлсСчетКредит = 6) или (ВариантКлсСчетКредит = 7) тогда
                  ТипКлс := ВидКлс;
              // для расходной классификации при нулевой ЭК 22-й разряд должен быть равен 2, поэтому берем любое расходное значение ЭК
              если ТипКлс = 0 тогда
                ЗначЭКСчет := 200
              иначе
                // для доходной классификации при нулевой ЭК 22-й разряд должен быть равен 1, поэтому берем любое доходное значение ЭК
                если ТипКлс = 2 тогда
                  ЗначЭКСчет := 100
                иначе
                  // для источниковой классификации при нулевой ЭК определяем значение ЭК по проводке
                  если ТипКлс = 1 тогда
                    если пЭКБухСчетКредит &lt;&gt; nil тогда ЗначЭКСчет := пЭКБухСчетКредит.КакЦелое;
            конец;
            если ЗначЭКСчет &gt; 0 тогда
              если ((ЗначЭКСчет &gt; 199) и (ЗначЭКСчет &lt; 400)) или
                ((ЗначЭКСчет &gt; 499) и (ЗначЭКСчет &lt; 600)) или
                ((ЗначЭКСчет &gt; 799) и (ЗначЭКСчет &lt; 900)) тогда
                пБухСчетБезЭККредит.КакЦелое := (пБухСчетБезЭККредит.КакЦелое цел 10000) * 10000 + 2000 + пБухСчетБезЭККредит.КакЦелое ост 1000
              иначе
                пБухСчетБезЭККредит.КакЦелое := (пБухСчетБезЭККредит.КакЦелое цел 10000) * 10000 + 1000 + пБухСчетБезЭККредит.КакЦелое ост 1000;                                            
          конец;
          // обработка 202-ых счетов
          если ((пБухСчетБезЭККредит.КакЦелое цел 1000) = 2020) и (пБухСчетФОКредит &lt;&gt; nil) тогда
          начало
            // определим значение 4-го разряда синт. счета для ФО из счетов бюджета
            РазрядБухСчетФО := пБухСчетФОКредит.КакЦелое цел 1000 ост 10;
            если РазрядБухСчетФО &gt; 0 тогда
              пБухСчетБезЭККредит.КакЦелое := (пБухСчетБезЭККредит.КакЦелое цел 10000) * 10000 + РазрядБухСчетФО * 1000 + пБухСчетБезЭККредит.КакЦелое ост 1000;                                            
          конец;
          // обработка 203.10, 203.30 и 307.10 счетов: заменяем 23-й разряд
          если (ЗначСчет = 20310) или (ЗначСчет = 20330) или (ЗначСчет = 30710) тогда
          начало
            ЗначВидОргЛС := 0;
            // если вариант = прямая; прямая без ЭК; прямая, только КВСР; прямая, только ЭК, то вид организации брать прямой
            // если вариант = корреспондирующая, то вид организации брать корреспондирующий
            // если вариант = остатки средств; отсутствует, то, если для дебета вариант = корреспондирующая, 
            // вид организации брать корреспондирующий, иначе брать прямой
            если (ВариантКлсСчетКредит = 3) 
              или (((ВариантКлсСчетКредит = 1) или (ВариантКлсСчетКредит = 4)) и (ВариантКлсСчетДебет = 3)) тогда
            начало
              если пКорВидОргЛС &lt;&gt; nil тогда ЗначВидОргЛС := пКорВидОргЛС.КакЦелое;
            конец
            иначе
              если пВидОргЛС &lt;&gt; nil тогда ЗначВидОргЛС := пВидОргЛС.КакЦелое;
            // если это бюджетное учреждение и не средства по переданным полномочиям, тогда будет 3
            если (((ЗначВидОргЛС цел 100) = 108) или ((ЗначВидОргЛС цел 100) = 101)) и (ЗначВидДеят &lt;&gt; 1) тогда
              пБухСчетБезЭККредит.КакЦелое := (пБухСчетБезЭККредит.КакЦелое цел 1000) * 1000 + 300 + пБухСчетБезЭККредит.КакЦелое ост 100
            иначе
              // если это автономное учреждение и не средства по переданным полномочиям, тогда будет 4
              если ((ЗначВидОргЛС цел 100) = 109) и (ЗначВидДеят &lt;&gt; 1) тогда
                пБухСчетБезЭККредит.КакЦелое := (пБухСчетБезЭККредит.КакЦелое цел 1000) * 1000 + 400 + пБухСчетБезЭККредит.КакЦелое ост 100
              иначе
                // счет 203.30 может указываться и для КУ и для БУ, АУ, поэтому для бюджетных средств в 23-й разряд подставляется 2 
                если ЗначСчет = 20330 тогда
                  // если это казенное учреждение и бюджетные средства, то проставляем 2
                  если (ЗначВидОргЛС &gt; 10099) и (ЗначВидОргЛС &lt; 10800) и (ЗначВидДеят = 1) тогда
                    пБухСчетБезЭККредит.КакЦелое := (пБухСчетБезЭККредит.КакЦелое цел 1000) * 1000 + 200 + пБухСчетБезЭККредит.КакЦелое ост 100
                  иначе
                    ВызватьОшибку("Проводка по счету 203.30 не может быть вычислена из-за несоответствия вида организации и вида деятельности. " +
                      ПолучитьДопИнформацию(ВариантКлсСчетКредит, ВидКлс, пИндексыДанных, пБухОперация, пВидОргЛС, пКорВидОргЛС, пВидДеятельности))
                иначе
                  // во всех остальных случаях выдаем ошибку
                  ВызватьОшибку("Бух. операции с проводками по счетам 203.10, 307.10 могут применяться только для новых бюджетных, автономных учреждений. " +
                    ПолучитьДопИнформацию(ВариантКлсСчетКредит, ВидКлс, пИндексыДанных, пБухОперация, пВидОргЛС, пКорВидОргЛС, пВидДеятельности));
          конец;
        конец;
        //
        если пБухСчетКредит&lt;&gt;nil тогда
          если (пБухСчетБезЭККредит&lt;&gt;nil) и (ЭКСчетКредит&lt;&gt;'') тогда 
            пБухСчетКредит.КакДробное := пБухСчетБезЭККредит.КакДробное*1000 + СтрокаВДробное(ЭКСчетКредит)
          иначе        
             ВызватьОшибку('Не найдена информация, необходимая для вычисления кредитового бухсчета. '+
               ПолучитьДопИнформацию(ВариантКлсСчетКредит, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
               ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
               
        если (пКодСчетаКредит &lt;&gt; nil) или (пНомерСчетаКредит &lt;&gt; nil) тогда
          если пБухСчетБезЭККредит &lt;&gt; nil тогда
          начало 
            если фРасширенныйПланСчетов тогда //код счета имеет разрядность 8 знаков
              КодСчетаКредит:= ПравоеВыравнивание(строка(пБухСчетБезЭККредит.КакЦелое + ЗначВидДеят * 10000000), 8, '0')
            иначе //код счета имеет разрядность 6 знаков
              КодСчетаКредит := ПравоеВыравнивание(строка(пБухСчетБезЭККредит.КакЦелое цел 100 + ЗначВидДеят * 100000), 6, '0');
          конец  
          иначе        
             ВызватьОшибку('Не найдена информация, необходимая для вычисления кредитового кода счета. '+
               ПолучитьДопИнформацию(ВариантКлсСчетКредит, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
               ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');
        если пКодСчетаКредит&lt;&gt;nil тогда
              пКодСчетаКредит.КакСтрока := КодСчетаКредит;
              
        если пНомерСчетаКредит&lt;&gt;nil тогда
          выбрать ВыводНомераСчета из
            0 :
              Если Коллекция.Значение("ВыводНомераСчета") &lt;&gt; 1 тогда
                если (БКСчетКредит&lt;&gt;'') и (ЭКСчетКредит&lt;&gt;'') тогда
                  пНомерСчетаКредит.КакСтрока := БКСчетКредит+КодСчетаКредит+ЭКСчетКредит
                иначе
                  ВызватьОшибку('Не найдена информация, необходимая для вычисления кредитового номера счета. '+
                    ПолучитьДопИнформацию(ВариантКлсСчетКредит, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
                    ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');            
            1 :
              если (ЭКСчетКредит&lt;&gt;'') тогда
                пНомерСчетаКредит.КакСтрока := КодСчетаКредит+ЭКСчетКредит
              иначе
                ВызватьОшибку('Не найдена информация, необходимая для вычисления кредитового номера счета. '+
                  ПолучитьДопИнформацию(ВариантКлсСчетКредит, ВидКлс, пИндексыДанных, пБухОперация, nil, nil, nil)+
                  ' Заданы не все поля маппинга либо не поддерживается вариант формирования классификации бухоперации (функция ВычислитьПоля70Н)');                          
            2 : пНомерСчетаКредит.КакСтрока := КодСчетаКредит;
          конец;
          если пИсправляющаяОперация &lt;&gt; nil тогда
            если пИсправляющаяОперация.КакЦелое = 1 тогда
            начало
              если пСумма &lt;&gt; nil тогда пСумма.КакДробное := -пСумма.КакДробное;
              если пСуммаВозвратнойОперации &lt;&gt; nil тогда пСуммаВозвратнойОперации.КакДробное := -пСуммаВозвратнойОперации.КакДробное;
            конец;                         
      неудача
        // если нужно выводить информацию об ошибках, то в поле НомерСчетаДебет (или, если оно посчиталось, то в НомерСчетаКредит)
        // записываем код ошибки (NErrНомерСекции);
        // такой же код и строку ошибки записываем в доп. статиксет  
        если (Коллекция.Значение("ПоискОшибокВыборкиПолей70Н") = '1')
          и ((пНомерСчетаДебет &lt;&gt; nil) или (пНомерСчетаКредит &lt;&gt; nil)) тогда
        начало
          если пНомерСчетаДебет &lt;&gt; nil тогда
            если (пНомерСчетаДебет.КакСтрока &lt;&gt; "") и (пНомерСчетаДебет.КакСтрока &lt;&gt; "0")
              и (пНомерСчетаКредит &lt;&gt; nil) тогда
              пНомерСчетаКредит.КакСтрока := ЦелоеВСтроку(НомОш) + "Err" + Коллекция.Значение("НомерСекции")
            иначе
              пНомерСчетаДебет.КакСтрока := ЦелоеВСтроку(НомОш) + "Err" + Коллекция.Значение("НомерСекции")
          иначе
            пНомерСчетаКредит.КакСтрока := ЦелоеВСтроку(НомОш) + "Err" + Коллекция.Значение("НомерСекции");
          ДанныеПоискОшибок.Добавить;
          пИдОшибки.КакСтрока := ЦелоеВСтроку(НомОш) + "Err" + Коллекция.Значение("НомерСекции");
          пСтрОшибки.КакСтрока := ПоследняяОшибка;
          ДанныеПоискОшибок.Сохранить;
          НомОш := НомОш + 1;
        конец
        иначе
          ВызватьОшибку(ПоследняяОшибка);  
      конец;
      Данные.Следующий;
    конец;
    // доп. статиксет с информацией об ошибках текущей секции бухгалтерии записываем в коллекцию
    если (Коллекция.Значение("ПоискОшибокВыборкиПолей70Н") = '1') и (ДанныеПоискОшибок.ЧислоЗаписей &gt; 0) тогда
      Коллекция.Значение("ДанныеОшибок") := ДанныеПоискОшибок;
  обязательно
    УдалитьОбъект(СписокПолей, Варианты, КэшИсточников, КэшВидаДеятельности, ДанныеПоискОшибок);
  конец;
конец;

Функция ВычислитьПоля70Н(МаппингПолей:строка;Данные:статическиеДанные;
  СписокВариантовДебет,СписокВариантовКредит:строка;коллекция:IVariables);
переменные
  списокПолей:текст;
начало
  СписокПолей := СоздатьТекст;
  попытка
    СписокПолей.РазделенноеЗначение := МаппингПолей;
    
    Если (1 = 1) тогда
      CalcBuhFields70n(МаппингПолей, Данные, СписокВариантовДебет, СписокВариантовКредит, Коллекция, Mapper, ОтладкаФлаг(tciSqlScripts))
    иначе
      ВычислитьПоля70НАБЛ(МаппингПолей, Данные, СписокВариантовДебет, СписокВариантовКредит, Коллекция);
    
    Если (Коллекция.Значение("БухСчетДебет") &lt;&gt; "") или (Коллекция.Значение("БухСчетКредит") &lt;&gt; "") 
    или (Коллекция.Значение("БухСинтетСчет") &lt;&gt; "")или(Коллекция.Значение("БухСинтетКорСчет") &lt;&gt; "") тогда
    начало
      Данные.Фильтр := "not((1=1)" + ОграничениеФильтр("БухСчетДебет=" + СписокПолей.ЗначениеПараметра('БухСчетДебет') + 
        "%e,БухСчетКредит=" + СписокПолей.ЗначениеПараметра('БухСчетКредит') + 
        "%e,БухСинтетСчет=(" + СписокПолей.ЗначениеПараметра('БухСчетКредит') + "%e)or(" +
        СписокПолей.ЗначениеПараметра('БухСчетДебет') + 
        "%e),БухСинтетКорСчет=(" + СписокПолей.ЗначениеПараметра('БухСчетКредит') + "%e)or(" +
        СписокПолей.ЗначениеПараметра('БухСчетДебет') + "%e)", Коллекция) + ")";
      Данные.Filtered := да;
      Данные.Clear;
      Данные.Filtered := нет;
      Данные.Фильтр := "";
    конец;  
  обязательно
    УдалитьОбъект(СписокПолей);
  конец;  
конец;

функция ВычислитьПолеБК(МаппингПолей:строка;Данные:статическиеДанные;Коллекция:IVariables);
переменные
  СписокПолей : текст;
  пКВСР, пКЦСР, пКФСР, пКВР, пКЭСР, пИВФ, пИВФКлюч, пКД, пВидКлс, пБК :поле;
  
  ЧислоНайденных : целое;
  ПоследнееНеНайденноеПоле: строка;

  //для хранения промежуточных результатов
  БК : строка;
  МаскаКВСР, МаскаКФСР, МаскаКЦСР, МаскаКВР, МаскаЭК : строка;
  фТребуетсяВычислениеБКЭК, ВидКлс : целое;
      
  КэшИсточников : IVariables;
начало
  СписокПолей := СоздатьТекст;
  КэшИсточников := CreateVariables;

  попытка  
    СписокПолей.РазделенноеЗначение := МаппингПолей;
    ЧислоНайденных := 0; 
    ПоследнееНеНайденноеПоле := '_';
    // прямая классификация
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('БюджКлс'), пБК, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('ВидКлс'), пВидКлс, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('КВСР'), пКВСР, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('КЦСР'), пКЦСР, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('КФСР'), пКФСР, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('КВР'), пКВР, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('КЭСР'), пКЭСР, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('ИВФ'), пИВФ, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('ИВФКлюч'), пИВФКлюч, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    ПолучитьПоле(Данные, СписокПолей.ЗначениеПараметра('КД'), пКД, ЧислоНайденных, ПоследнееНеНайденноеПоле);
    
    фТребуетсяВычислениеБКЭК := (ЧислоНайденных &lt;&gt; 0);
    
    // если полей для заполнения в датасете не найдено, то ничего не делаем      
    если ЧислоНайденных = 0 тогда
      выход;
    
    если пБК &lt;&gt; nil тогда
    начало
      Если ЧислоНайденных &lt; СписокПолей.Количество тогда
        ВызватьОшибку('Неверный маппинг (функция ВычислитьПолеБК)');
      Если (ПоследнееНеНайденноеПоле &lt;&gt; '') и (ПоследнееНеНайденноеПоле &lt;&gt; '_') тогда
          Сообщение('Неверный маппинг либо отсутствует поле: ' + ПоследнееНеНайденноеПоле + ' (функция ВычислитьПоля70Н)');
      // вычисляем соответствие прогиндекс-вариант  
      если фТребуетсяВычислениеБКЭК тогда 
      начало
        МаскаКВСР := ВернутьМаскуКлассификатора("КВСР");
        МаскаКФСР := ВернутьМаскуКлассификатора("КФСР");
        МаскаКЦСР := ВернутьМаскуКлассификатора("КЦСР");
        МаскаКВР := ВернутьМаскуКлассификатора("КВР");
        МаскаЭК := ВернутьмаскуКлассификатора("КЭСР");
        ВидКлс := -1;
        если пКЭСР &lt;&gt; nil тогда
          ВидКлс := 0
        иначе
          если (пИВФ &lt;&gt; nil) или (пИВФКлюч &lt;&gt; nil) тогда
            ВидКлс := 1 
          иначе
            если пКД &lt;&gt; nil тогда
              ВидКлс := 2;
        если (пВидКлс = nil) и
          (((пКФСР &lt;&gt; nil) и ((пИВФ &lt;&gt; nil) или (пИВФКлюч &lt;&gt; nil))) или 
           (((пИВФ &lt;&gt; nil) или (пИВФКлюч &lt;&gt; nil)) и (пКД &lt;&gt; nil)) или
           ((пКД &lt;&gt; nil) и (пКФСР &lt;&gt; nil))) тогда
          ВызватьОшибку('Не определено поле вида классификации при наличии более одного вида классификации в наборе данных (функция ВычислитьПолеБК)');
      конец;    
      Данные.ВНачало;
      пока не Данные.ВКонце делать
      начало
        попытка
          если фТребуетсяВычислениеБКЭК тогда
          начало
            // сначала вычислим бюджетную классификацию
            БК := '';
            // вычислим виды классификаторов для текущей записи
            если пВидКлс &lt;&gt; nil тогда
              ВидКлс := пВидКлс.КакЦелое;
            выбрать ВидКлс из
              0: начало  // расходы
                   если не ((пКВСР = nil) или (пКФСР = nil) или (пКЦСР = nil) или (пКВР = nil) или (пКЭСР = nil)) тогда
                     БК := ФорматироватьКлассификатор(пКВСР.КакЦелое, МаскаКВСР) + ФорматироватьКлассификатор(пКФСР.КакЦелое, МаскаКФСР) +
                       ФорматироватьКлассификатор(пКЦСР.КакСтрока, МаскаКЦСР) + ФорматироватьКлассификатор(пКВР.КакСтрока, МаскаКВР) +
                       ФорматироватьКлассификатор(пКЭСР.КакЦелое, МаскаЭК);
                 конец;
              1: если пИВФКлюч &lt;&gt; nil тогда // источники
                   БК := РазыменоватьКэш("ИсточникВнутр_ФинансированияКлюч.Код", пИВФКлюч.КакСтрока, КэшИсточников)                      
                 иначе
                   если пИВФ &lt;&gt; nil тогда 
                     БК := пИВФ.КакСтрока;
              2: если пКД&lt;&gt;nil тогда // доходы
                   БК := пКД.КакСтрока;
               иначе 
                 ВызватьОшибку('Несуществующее значение вида классификации. Возможно заданы не все поля маппинга (функция ВычислитьПолеБК)');
            конец;
          конец;
        неудача
          ВызватьОшибку(ПоследняяОшибка);  
        конец;
        пБК.КакСтрока := БК;               
        Данные.Следующий;
      конец;
    конец;
  обязательно
    УдалитьОбъект(СписокПолей);
    УдалитьОбъект(КэшИсточников);
  конец;
конец;

// функция формирует ограничение по коду цели в зависимости от значения константы "Получение кода цели"
функция ОграничениеПоКодуЦели(Коллекция: IVariables; МаппингЧерезТипСредств, МаппингЧерезКЦС: строка): строка;
начало
  если ЦелаяКонстанта(32, 41) = 0 тогда
    Результат := Ограничение(МаппингЧерезТипСредств, Коллекция)
  иначе
    Результат := Ограничение(МаппингЧерезКЦС, Коллекция);
конец;

// Для счетов 501.0Х.ХХ, 502.0Х.ХХ, 503.0Х.ХХ, 504.0Х.ХХ ограничение расширяется с учетом того, что четвертый разряд
// может быть заполнен не только нулем, но и значением года: 1,2,3,4.
// Поэтому ограничение по счетам санкционирования для каждого года клонируются, и четвертый разряд заполняется значением года.
// Входящее ограничение может быть в виде:
// 1) ХХХ.ХХ.ХХ.ХХХ
// 2) =ХХХХХХХХХХ
// 3) XXXXXXXXXX-YYYYYYYYYY
// 4) ХХХХХХХХХХ
// или сочетания этих ограничений через запятую
функция РасширитьОграничениеПоСанкционированию(ОгрПоСинтСчету: строка) : строка;
переменные
  ТкстОгр, ТкстИнтерв: Текст;
  сч, сч2: целое;
  ТекОгрСтр, стр, СчетРезСтр: строка;
начало
  если ОгрПоСинтСчету &lt;&gt; "" тогда
  начало
    ТкстОгр := СоздатьТекст;
    ТкстИнтерв := СоздатьТекст;
    СчетРезСтр := "";
    попытка
      ТкстОгр.РазделенноеЗначение := ОгрПоСинтСчету;
      от сч := 0 до (ТкстОгр.Количество-1) делать
      начало
        ТекОгрСтр := ТкстОгр.Стр(сч);
        если ТекОгрСтр &lt;&gt; "" тогда
        начало
          //если задано ограничение с маской
          если (Позиция("501.0",ТекОгрСтр) &gt; 0) или (Позиция("502.0",ТекОгрСтр) &gt; 0) или
            (Позиция("503.0",ТекОгрСтр) &gt; 0) или (Позиция("504.0",ТекОгрСтр) &gt; 0) тогда
          начало
            стр := "";
            от сч2 := 1 до 4 делать
              стр := стр + Подстрока(ТекОгрСтр,1,4) + ЦелоеВСтроку(сч2) + Подстрока(ТекОгрСтр,6,длина(ТекОгрСтр)-5) + "," ;
            СчетРезСтр := СчетРезСтр + ТекОгрСтр + "," + стр;
          конец
          иначе 
            //если задано ограничениче по одному конкретному значению
            начало
              если (Позиция("=5010",ТекОгрСтр) &gt; 0) или (Позиция("=5020",ТекОгрСтр) &gt; 0) или
                (Позиция("=5030",ТекОгрСтр) &gt; 0) или (Позиция("=5040",ТекОгрСтр) &gt; 0) тогда
              начало
                стр := "";
                от сч2 := 1 до 4 делать
                  стр := стр + Подстрока(ТекОгрСтр,1,4) + ЦелоеВСтроку(сч2) + Подстрока(ТекОгрСтр,6,длина(ТекОгрСтр)-5) + "," ;
                СчетРезСтр := СчетРезСтр + ТекОгрСтр + "," + стр;
              конец
              иначе
                //если задан диапазон значений или значение числом
                начало
                  //для удобства поиска и чтобы не попалось значение 50Х0 в середине значения
                  //приписываем дефис перед диапазоном
                  ТекОгрСтр := "-" + ТекОгрСтр;
                  если (Позиция("-5010",ТекОгрСтр) &gt; 0) или (Позиция("-5020",ТекОгрСтр) &gt; 0) или
                    (Позиция("-5030",ТекОгрСтр) &gt; 0) или (Позиция("-5040",ТекОгрСтр) &gt; 0) тогда
                  начало
                    ТкстИнтерв.РазделенноеЗначение := ТекОгрСтр + "," + ТекОгрСтр + "," + ТекОгрСтр + "," + ТекОгрСтр;
                    от сч2 := 0 до (ТкстИнтерв.Количество-1) делать
                    начало
                      ТкстИнтерв.Стр(сч2) := ЗаменитьСтроку(ТкстИнтерв.Стр(сч2),"-5010",("-501"+ЦелоеВСтроку(сч2+1)));
                      ТкстИнтерв.Стр(сч2) := ЗаменитьСтроку(ТкстИнтерв.Стр(сч2),"-5020",("-502"+ЦелоеВСтроку(сч2+1)));
                      ТкстИнтерв.Стр(сч2) := ЗаменитьСтроку(ТкстИнтерв.Стр(сч2),"-5030",("-503"+ЦелоеВСтроку(сч2+1)));
                      ТкстИнтерв.Стр(сч2) := ЗаменитьСтроку(ТкстИнтерв.Стр(сч2),"-5040",("-504"+ЦелоеВСтроку(сч2+1)));
                      ТкстИнтерв.Стр(сч2) := Подстрока(ТкстИнтерв.Стр(сч2),2,длина(ТкстИнтерв.Стр(сч2))-1);
                    конец;
                    стр := Подстрока(ТекОгрСтр,2,длина(ТекОгрСтр)-1) + "," + ТкстИнтерв.РазделенноеЗначение;
                    СчетРезСтр := СчетРезСтр + стр + ","; 
                  конец
                  иначе
                    //если в диапазоне значений или в значении не встретилось счетов 501.0Х.ХХ, 502.0Х.ХХ, 503.0Х.ХХ,
                    //504.0Х.ХХ записываем ограничение, как есть (без дефиса впереди)
                    СчетРезСтр := СчетРезСтр + Подстрока(ТекОгрСтр,2,длина(ТекОгрСтр)-1) + ",";
                конец;
            конец;
        конец;
      конец;
    обязательно
      УдалитьОбъект(ТкстОгр,ТкстИнтерв);
    конец;  
    //результирующая строка ограничения для счета
    если СчетРезСтр &lt;&gt; "" тогда
      ОгрПоСинтСчету := Подстрока(СчетРезСтр,1,Длина(СчетРезСтр)-1);
  конец;
  результат := ОгрПоСинтСчету; 
конец;

// Для счетов 501.0Х.ХХ, 502.0Х.ХХ, 503.0Х.ХХ, 504.0Х.ХХ ограничение расширяется с учетом того, что четвертый разряд
// может быть заполнен не только нулем, но и значением года: 1,2,3,4
функция РасширитьОграничениеПоСинтСчетам(КоллекцияПараметров: IVariables);
начало
  КоллекцияПараметров.Значение("БухСчетДебет") := РасширитьОграничениеПоСанкционированию(КоллекцияПараметров.Значение("БухСчетДебет"));
  КоллекцияПараметров.Значение("БухСчетКредит") := РасширитьОграничениеПоСанкционированию(КоллекцияПараметров.Значение("БухСчетКредит"));
  КоллекцияПараметров.Значение("БухСинтетСчет") := РасширитьОграничениеПоСанкционированию(КоллекцияПараметров.Значение("БухСинтетСчет"));
  КоллекцияПараметров.Значение("БухСинтетКорСчет") := РасширитьОграничениеПоСанкционированию(КоллекцияПараметров.Значение("БухСинтетКорСчет"));
конец;

// С переходом на 162н нужно расширять ограничения по счетам 402.хх.хх и 202.хх.хх
функция РасширитьОграничениеПо402И202Счетам(ОгрБухСинтетСчетБезЭК: строка): строка;
переменные
  Ткст: Текст;
  сч, Счет, ПозЗнака: целое;
  СтрТкст: строка;
начало
  если ОгрБухСинтетСчетБезЭК = "" тогда
    результат := ""
  иначе
    попытка
      Ткст := СоздатьТекст;
      попытка
        // если задано ограничение с маской, то убираем точки
        если Позиция(".", ОгрБухСинтетСчетБезЭК) &gt; 0 тогда
          ОгрБухСинтетСчетБезЭК := ЗаменитьСтроку(ОгрБухСинтетСчетБезЭК, ".", "");
        Ткст.РазделенноеЗначение := ОгрБухСинтетСчетБезЭК;
        от сч := 0 до (Ткст.Количество - 1) делать
        начало
          СтрТкст := УбратьПробелы(Ткст.Стр(сч));
          // если задано ограничениче по одному конкретному значению на равно
          если Подстрока(СтрТкст, 1, 1) = "=" тогда
          начало
            Счет := СтрокаВЦелое(Подстрока(СтрТкст, 2, Длина(СтрТкст) - 1)) цел 10000;
            если (Счет = 402) или (Счет = 202) 
              или (Счет = 203) или (Счет = 307) тогда
              Ткст.Стр(сч) := ЦелоеВСтроку(Счет * 10000);
          конец 
          иначе
            // если задан диапазон, то при замене начальный интервал будет 4020000/2020000, а конечный 4029999/2029999
            если Позиция("-", СтрТкст) &gt; 0 тогда
            начало
              ПозЗнака := Позиция("-", СтрТкст);
              Счет := СтрокаВЦелое(Подстрока(СтрТкст, 1, ПозЗнака - 1)) цел 10000;
              если (Счет = 402) или (Счет = 202)
                или (Счет = 203) или (Счет = 307) тогда
                Ткст.Стр(сч) := ЦелоеВСтроку(Счет * 10000) + Подстрока(СтрТкст, ПозЗнака, Длина(СтрТкст) - ПозЗнака + 1);
              Счет := СтрокаВЦелое(Подстрока(СтрТкст, ПозЗнака + 1, Длина(СтрТкст) - ПозЗнака)) цел 10000;
              если (Счет = 402) или (Счет = 202)
                или (Счет = 203) или (Счет = 307) тогда
                Ткст.Стр(сч) := Подстрока(Ткст.Стр(сч), 1, ПозЗнака) + ЦелоеВСтроку(Счет * 10000 + 9999);
            конец
            иначе
              // если обычное значение
              начало
                Счет := СтрокаВЦелое(СтрТкст) цел 10000;
                если (Счет = 402) или (Счет = 202)
                  или (Счет = 203) или (Счет = 307) тогда
                  Ткст.Стр(сч) := ЦелоеВСтроку(Счет * 10000);
              конец; 
        конец;
        результат := Ткст.РазделенноеЗначение;
      обязательно
        УдалитьОбъект(Ткст);
      конец;
    неудача
      результат := ОгрБухСинтетСчетБезЭК;
    конец;
конец;

// Получить ограничение по связям
функция ОграничениеПоСвязям(Параметры: IVariables; АлиасТаблицы, ИмяПараметра, ОграничениеВыборки: строка): строка;
переменные
  СписокСвязей, ОтклоненныеСвязи: строка;
  Неравенство: целое;
  Коллекция: IVariables;
начало
  Неравенство := нет;
  СписокСвязей := Параметры.Значение(ИмяПараметра);
  если СписокСвязей = "" тогда
    Результат := ""
  иначе
  начало   
    если Позиция("#", СписокСвязей) = 1 тогда
    начало
      Неравенство := да; 
      СписокСвязей := Подстрока(СписокСвязей, 2, Длина(СписокСвязей) - 1);
    конец;
    Коллекция := CreateVariables;
    попытка
      Коллекция.Значение("ОгрСвязи") := СписокСвязей;
      выбрать Параметры.Значение("ОтклоненныеСвязи") из
        "1": ОтклоненныеСвязи := "and(" + АлиасТаблицы + ".IsRejected = 1)";
        "2": ОтклоненныеСвязи := "";
      иначе
        ОтклоненныеСвязи := "and(" + АлиасТаблицы + ".IsRejected = 0)";
      конец;  
      Результат := Ограничение("ОгрСвязи=(" + АлиасТаблицы + ".LinkTypeRef%d)" + ОтклоненныеСвязи, Коллекция);
      если Неравенство тогда
        ОграничениеВыборки := ОграничениеВыборки + 'and(' + АлиасТаблицы + ".id is null)"
      иначе
        если Параметры.Значение("ВыбиратьНеСвязанныеДокументы") &lt;&gt; '1' тогда
          ОграничениеВыборки := ОграничениеВыборки + 'and(' + АлиасТаблицы + ".id is not null)";        
    обязательно
      УдалитьОбъект(Коллекция);
    конец;  
  конец;     
конец;

// фунция разделяет список прогиндексов на прогиндексы приходных и расходных интерфейсов;
// если передается пустая строка, то берутся все расходные или приходные индексы;
// для бухгалтерии 66, 67, 76 нужно учитывать только в расходной части, для казначейства - в приходе и расходе
функция ОтфильтроватьИндексыДанныхКазн(СписокИндДан: строка; Приход: целое; ДляБухгалтерии: целое): строка;
переменные
  ТкстСписокИндДан, ТкстИндДанРезультат, ТкстВсеИндексыПоТипу: Текст;
  Стр, ВсеИндексы: строка;
  ЕстьОтриц, Поз, НачДиап, КонДиап: целое;
  сч, счДиап: целое;
начало
  если Приход тогда
    если ДляБухгалтерии тогда
      ВсеИндексы := "60,61,62,65,69,71,75"
    иначе
      ВсеИндексы := "60,61,62,65,66,67,69,71,75,76"
  иначе
    ВсеИндексы := "63,64,66,67,68,70,73,76";
  если СписокИндДан = "" тогда
    результат := ВсеИндексы
  иначе
  начало
    ТкстСписокИндДан := СоздатьТекст;
    ТкстИндДанРезультат := СоздатьТекст;
    ТкстВсеИндексыПоТипу := СоздатьТекст;
    попытка
      ТкстВсеИндексыПоТипу.РазделенноеЗначение := ВсеИндексы;  
      ТкстВсеИндексыПоТипу.Сортированый := 1;              
      ЕстьОтриц := (Подстрока(УбратьПробелы(СписокИндДан), 1, 1) = "#");
      если ЕстьОтриц тогда
        СписокИндДан := Подстрока(СписокИндДан, 2, Длина(СписокИндДан) - 1);
      ТкстСписокИндДан.РазделенноеЗначение := СписокИндДан;
      ТкстИндДанРезультат.Сортированый := 1;
      ТкстИндДанРезультат.Дубликаты := 0;
      
      от сч := 0 до (ТкстСписокИндДан.Количество - 1) делать
      начало
        Стр := ТкстСписокИндДан.Стр(сч);
        Поз := Позиция("-", Стр); 
        если Поз &gt; 1 тогда
        начало
          НачДиап := СтрокаВЦелое(Подстрока(Стр, 1, Поз - 1));
          КонДиап := СтрокаВЦелое(Подстрока(Стр, Поз + 1, Длина(Стр) - Поз));
          от счДиап := НачДиап до КонДиап делать
            если ТкстВсеИндексыПоТипу.Поиск(счДиап) &gt; -1 тогда 
              ТкстИндДанРезультат.Добавить(счДиап); 
        конец
        иначе
          если ТкстВсеИндексыПоТипу.Поиск(Стр) &gt; -1 тогда 
            ТкстИндДанРезультат.Добавить(Стр); 
      конец;
      результат := ТкстИндДанРезультат.РазделенноеЗначение;
      если результат = '' тогда
      начало
        // Если исключили все индексы, при отрицании выбираем все,
        // если отрицания нет, то ничего
        если ЕстьОтриц тогда
          результат := ВсеИндексы
        иначе
          Результат := "-1";
      конец  
      иначе
        // Если есть отрицание, то исключаем из доступного множества переданные после #
        если ЕстьОтриц тогда
        начало          
          ТкстСписокИндДан.РазделенноеЗначение := Результат;
          от сч := 0 до ТкстСписокИндДан.Количество - 1 делать
            ТкстВсеИндексыПоТипу.Удалить(ТкстВсеИндексыПоТипу.Поиск(ТкстСписокИндДан.Стр(сч)));
          Результат := ТкстВсеИндексыПоТипу.РазделенноеЗначение;  
        конец;    
    обязательно
      УдалитьОбъект(ТкстСписокИндДан, ТкстИндДанРезультат, ТкстВсеИндексыПоТипу);
    конец;            
  конец;
конец;

// функция получения единого рсфо разного вида использования:
// для данных по бу, ау вид использования определяется через л/с, для остальных  - через тип средств 
функция ПолучитьЕдиныйСчет(КодБюджета, ТипСредств, ЛицСчет: целое): целое;
переменные
  ВидИспользования, ИмяРазыменовки: строка;
  ТипИспользования, ВидОрганизацииЛС: целое;
начало
  если (Разыменовать("Лицевой_Счет.ЭтоЛСБУ_АУ", ЛицСчет) = да) 
    или (Разыменовать("Лицевой_Счет.ЭтоОтдельныйЛСБУ_АУ", ЛицСчет) = да)
    или (Разыменовать("Лицевой_Счет.ЭтоЛСДляОМС", ЛицСчет) = да) тогда
  начало
    ТипИспользования := Разыменовать("Лицевой_Счет.Тип_Средств.ТипДеятельности", ЛицСчет);
    если ТипИспользования = 3 тогда
    начало
      ИмяРазыменовки := "Бюджет.ЕдиныйСчетДляСВРБУ_АУ";
      ВидИспользования := "СВР для БУ, АУ.";
    конец
    иначе
      начало
        ИмяРазыменовки := "Бюджет.ЕдиныйСчетДляБУ_АУ";
        ВидИспользования := "БУ/АУ.";      
        если (ПолучитьКонстантуКэш("", 30, 44, 0) &lt;&gt; "0") тогда
        начало
          ВидИспользования := "БУ.";
          ВидОрганизацииЛС := Разыменовать("Лицевой_Счет.ОрганизацияВладелец.ВидОрганизации", ЛицСчет);
          если (ВидОрганизацииЛС &gt;= 10900) и (ВидОрганизацииЛС &lt;= 10999) тогда
          начало
            ИмяРазыменовки := "Бюджет.ЕдиныйСчетДляАУ";
            ВидИспользования := "АУ.";
          конец
        конец
      конец;
  конец
  иначе
    начало
      ТипИспользования := Разыменовать("Тип_Средств.ТипДеятельности", ТипСредств);
      выбрать ТипИспользования из
        2: начало
             ИмяРазыменовки := "Бюджет.ЕдиныйПредпринимательскийСчет";
             ВидИспользования := "предпринимательского вида использования.";
           конец; 
        3: начало
             ИмяРазыменовки := "Бюджет.ЕдиныйСчетСВР";
             ВидИспользования := "СВР.";
           конец;
      иначе
        начало
          ИмяРазыменовки := "Бюджет.ЕдиныйСчет";
          ВидИспользования := "бюджетного вида использования.";
        конец;
      конец;
    конец;
  Результат := Разыменовать(ИмяРазыменовки, КодБюджета);
  если Результат = 0 тогда
    ВызватьОшибку("Не задан единый счет бюджета для " + ВидИспользования + nl +
/$если Бюджет    
      "Единый счет задается на и/ф 'Счета бюджета', после чего необходимо перезапустить Бюджет");
/$иначе        
      "Обратитесь к администатору ФО.");
/$конец       
конец;

</value>
    <param value="ПоддержкаОтчетов.abl" type="3" name="Export">ZIMIN-NEW\zimin\14.03.2013 16:41:55</param>
    <param value="ПоддержкаОтчетов.abl" type="3" name="version">36.042.191</param>
    <param value="ПоддержкаОтчетов.abl" type="3" name="crc32">$1572273E</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаПроекта.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\ReportTools.lib';

константы
  ПрефикрОграничПрава = 'Бюджет_';

переменные
  СписокИменСложныхОграничений : текст;

// получение масок линейных классификаторов
функция ВернутьМаскиЛинейныхКлассификаторов : Строка;
начало
  Результат := 
       "КВСР="        + МаскаКлассификатора(тк_КВСР)
    + ",ФинИсточник=" + МаскаКлассификатора(тк_ИсточникФинансирования)
    + ",БухПроводка=" + МаскаКлассификатора(тк_БухПроводка)
    + ",Слой="        + МаскаКлассификатора(26)
    + ",Валюта="      + МаскаКлассификатора(тк_Валюта)
    + ",Направление=" + МаскаКлассификатора(тк_Направление);
конец;

// получение масок иерархических классификаторов
функция ВернутьМаскиИерархическихКлассификаторов : Строка;
начало
  Результат :=
       "КФСР="                           + МаскаКлассификатора(тк_КФСР)
    + ",КЭСР="                           + МаскаКлассификатора(тк_КЭСР)
    + ",ФинТип="                         + МаскаКлассификатора(тк_ТипФинансирования)
    + ",Мероприятие="                    + МаскаКлассификатора(тк_Мероприятие)
    + ",ТипДокОснов="                    + МаскаКлассификатора(тк_ДокументОснование)
    + ",Район="                          + МаскаКлассификатора(тк_Район)
    + ",СРайона="                        + МаскаКлассификатора(тк_Район)
    + ",НаРайон="                        + МаскаКлассификатора(тк_Район)
    + ",ЛицСчет="                        + МаскаКлассификатора(тк_ЛицСчет)
    + ",СЛицСчета="                      + МаскаКлассификатора(тк_ЛицСчет)
    + ",НаЛицСчет="                      + МаскаКлассификатора(тк_ЛицСчет)
    + ",ОргЛС="                          + МаскаКлассификатора(тк_ЛицСчет)
    + ",ТипСчета="                       + МаскаКлассификатора(тк_Счет)
    + ",Вбюджет="                        + МаскаКлассификатора(тк_Район)
    + ",КассСимвол="                     + МаскаКлассификатора(тк_КассовыйСимвол)
    + ",ПричинаОтклон="                  + МаскаКлассификатора(тк_ПричинаОтклонения)
    + ",ТипСредствБюдж="                 + МаскаКлассификатора(тк_СредстваБюджета)
    + ",ГруппаИнформации="               + МаскаКлассификатора(тк_ГруппаИнформации)
    + ",ДебетСчет="                      + МаскаКлассификатора(тк_БухСчет)
    + ",КредитСчет="                     + МаскаКлассификатора(тк_БухСчет)
    + ",ТипПлатДок="                     + МаскаКлассификатора(тк_ТипДокумента)
    + ",ГосНИ="                          + МаскаКлассификатора(тк_Госни)
    + ",СинтетСчет="                     + МаскаКлассификатора(тк_БухСчет)
    + ",КЦСР="                           + МаскаКлассификатора(тк_КЦСР)
    + ",СубКЭСР="                        + МаскаКлассификатора(тк_СубКЭСР)
    + ",ТипОрг="                         + МаскаКлассификатора(тк_ТипОрганизацииСтарый)
    + ",ВидСсуды="                       + МаскаКлассификатора(тк_ВидСсуды)
    + ",ВидЗаим="                        + МаскаКлассификатора(тк_ВидЗаимствования)
    + ",Отдел="                          + МаскаКлассификатора(тк_Отдел)
    + ",ВидПлана="                       + МаскаКлассификатора(тк_ВидПлановогоДокумента)
    + ",КСШК="                           + МаскаКлассификатора(тк_КСШК)
    + ",СубКодДохода="                   + МаскаКлассификатора(тк_СубКД)
    + ",ССубКодаДохода="                 + МаскаКлассификатора(тк_СубКД)
    + ",НаСубКодаДохода="                + МаскаКлассификатора(тк_СубКД)
    + ",КодФормы="                       + МаскаКлассификатора(тк_ФормыВвода)
    + ",ТипОбеспечения="                 + МаскаКлассификатора(тк_ТипОбеспечения)
    + ",БухСчетДебетБезЭК="              + "9.99.99.99"
    + ",БухСчетКредитБезЭК="             + "9.99.99.99"
    + ",БухСинтетСчетБезЭК="             + "9.99.99.99"
    + ",БухСинтетКорСчетБезЭК="          + "9.99.99.99"
    + ",БухСчетДебет="                   + "9.99.99.99.9.9.9" //+ МаскаКлассификатора(тк_ПланСчетов)
    + ",БухСчетКредит="                  + "9.99.99.99.9.9.9" //+ МаскаКлассификатора(тк_ПланСчетов)
    + ",БухСинтетСчет="                  + "9.99.99.99.9.9.9" //+ МаскаКлассификатора(тк_ПланСчетов)
    + ",БухСинтетКорСчет="               + "9.99.99.99.9.9.9" //+ МаскаКлассификатора(тк_ПланСчетов)
    + ",КодСубсидии="                    + МаскаКлассификатора(тк_КодСубсидии)
    + ",Баланс="                         + МаскаКлассификатора(тк_Баланс)
    + ",БухОперация="                    + МаскаКлассификатора(тк_Операция)
    + ",ОКАТО="                          + МаскаКлассификатора(тк_ОКАТО)
    + ",ТипРеестра="                     + МаскаКлассификатора(тк_ТипРеестра)
    + ",ВидИзменений="                   + МаскаКлассификатора(тк_ВидИзменений)
    + ",ВидАссигнований="                + МаскаКлассификатора(тк_ВидАссигнований)
    + ",ВидОрганизаций="                 + МаскаКлассификатора(тк_ВидОрганизации)
    + ",КодЦелевыхСредств="              + МаскаКлассификатора(тк_ВидыТрансфертов)
    + ",ИсточникОбразованияСредств="     + МаскаКлассификатора(тк_ИсточникОбразованияСредств)
    + ",РайонБУ="                        + МаскаКлассификатора(тк_Район)
    + ",РайонТрансферта="                + МаскаКлассификатора(тк_Район)
    + ",РайонКонтрагента="               + МаскаКлассификатора(тк_Район)
    + ",ВидОргВладельцаЛС="              + МаскаКлассификатора(тк_ВидОрганизации)
    + ",КВР="                            + МаскаКлассификатора(тк_КВР)
    + ",КодБюджАссигнования="            + МаскаКлассификатора(тк_КодБюджАссигнования)
    + ",КодРасходногоОбязательства="     + МаскаКлассификатора(тк_КодРасходногоОбязательства);
конец;

// получение масок всех классификаторов и линейных и нет
функция ВернутьМаскиВсехКлассификаторов : Строка;
начало
  Результат := ВернутьМаскиИерархическихКлассификаторов + ',' + ВернутьМаскиЛинейныхКлассификаторов;
конец;

// возвращает соответствие видимых и невидимых параметров ограничений с панели параметров
функция ВернутьСоответствиеНевидимыхПараметров(СписокВидимыхПараметров, СписокНеВидимыхПарамтров : Строка);
начало
  СписокВидимыхПараметров :='Организация,ОргПлательщик,ОргПолуч,ОргРасп,БюджОрганизация,' +
                            'РС,ПлатРС,ПолучРС,РаспРС,' + 
                            'ОргПостав,ОрганизацияИсполнитель,ОрганизацияЗак,ПоставРС,ОргВекДат,'+
                            'ИерархическийОКДП,ПродОКДП,ПродКод,БухСчетДебет,БухСчетКредит,'+
                            'БухСинтетСчет,БухСинтетКорСчет'; 
                            
  СписокНеВидимыхПарамтров :='ОргСсылка,ПлатОргСсылка,ПолучОргСсылка,РаспОргСсылка,БюджОргСсылка,' +
                             'РССсылка,ПлатРССсылка,ПолучРСссылка,РаспРССсылка,' + 
                             'ПоставОргСсылка,ОргСсылкаИсполн,ОргСсылкаЗак,ПоставРССсылка,ВекдатОргСсылка,'+
                             'ИерархическийОКДП9,ПродОКДП9,ПродИД,БухСчетДебетБезЭК,БухСчетКредитБезЭК,'+
                             'БухСинтетСчетБезЭК,БухСинтетКорСчетБезЭК';  
конец;

// возвращает за один запрос по имени пользователя его отдел, телефон, должность,ФИО, код
//ФИО получается, как Инициалы + Фамилия
// инициалы берутся или из полей LastName и MidleName, или из конца
// FirstName переносятся в начало.
функция ПолучитьИнформациюОПользователеИзБазы(ИмяПользователя: строка;Информация:IVariables): целое;
переменные
  данные: СтатическиеДанные;
  Фамилия,Инициалы,стр: строка;
начало
  Данные := СоздатьСтатическиеДанные;
  Информация := СоздатьКоллекцию;
  результат := нет;
  попытка
    попытка
      Данные.СоединитьБД;
      Данные.Запрос := "[PumpData]{"+
            "select ID, DepartmentCLS, Phone, Note, FirstName, MiddleName, LastName "+
            "from DBUsers "+
            "where (UserName='"+ИмяПользователя+"')"+
            " and (RemoteId=-1)"+    
            "}";
      Данные.Открыть;
      если Данные.ЧислоЗаписей&gt;0 тогда
      начало 
        Информация.Значение('Отдел') := Данные.ПолеПоИмени("DepartmentCLS").КакСтрока;
        Информация.Значение('Телефон') := Данные.ПолеПоИмени("Phone").КакСтрока;
        Информация.Значение('Должность') := Данные.ПолеПоИмени("Note").КакСтрока;
        Информация.Значение('ИдПользователя') := Данные.ПолеПоИмени("ID").КакСтрока;
        
        Фамилия := Данные.Поле("FirstName").КакСтрока;
        если Позиция(".",Фамилия)&lt;1 тогда 
        начало
          Стр := Данные.Поле("LastName").КакСтрока;
          Если стр&lt;&gt;"" тогда 
          начало
            Инициалы := Подстрока(стр,1,1)+".";
            стр := Данные.Поле("MiddleName").КакСтрока;
            если стр&lt;&gt;"" тогда
              Инициалы := Инициалы + Подстрока(стр,1,1)+"."
          конец;
        конец;
        Информация.Значение('ФИО') := Инициалы + Фамилия;
         
        Результат := да;
      конец;  
    обязательно
      УдалитьОбъект(данные);
    конец;
  неудача
  конец;  
конец;

// получить ФИО пользователя. Получается, как Инициалы + Фамилия.
// инициалы берутся или из полей LastName и MidleName, или из конца
// FirstName переносятся в начало. 
функция ПолучитьИмяПользователяИзБазы(имя : строка) : строка;
переменные
  Информация:IVariables;
начало
  ПолучитьИнформациюОПользователеИзБазы(имя,Информация);
  Результат := Информация.Значение('ФИО');
конец;

функция ПолучитьДолжностьПользователяИзБазы(имя: строка): строка;
переменные
  Информация:IVariables;
начало
  ПолучитьИнформациюОПользователеИзБазы(имя,Информация);
  Результат := Информация.Значение('Должность');  
конец;

функция ПолучитьОтделПользователяИзБазы(имя: строка): строка;
переменные
  Информация:IVariables;
начало
  ПолучитьИнформациюОПользователеИзБазы(имя,Информация);
  Результат := Информация.Значение('Отдел');  
конец;

функция ПолучитьИдентификаторПользователяИзБазы(имя: строка): Целое;
переменные
  Информация:IVariables;
начало
  ПолучитьИнформациюОПользователеИзБазы(имя,Информация);
  Результат := Информация.Значение('ИдПользователя');  
конец;

функция ПолучитьНачальникаОтделаИзБазы(имя: строка): Строка;
переменные
  данные: СтатическиеДанные;
начало
  Данные := СоздатьСтатическиеДанные;
  результат := "";
  попытка
    Данные.СоединитьБД;
    Данные.Запрос := "[PumpData]{"+
          "select dbu1.UserName "+
          "from DBUsers dbu "+
          " left join DepartmentCLS dp on (dbu.DepartmentCLS = dp.id) " +
          " left join DBUsers dbu1 on (dp.USER_REF = dbu1.id) " +
          "where (dbu.UserName='"+имя+"')"+
          " and (dbu.RemoteId=-1)"+    
          "}";
    Данные.Открыть;
    если Данные.ЧислоЗаписей&gt;0 тогда
      результат := Данные.ПолеПоИмени("UserName").КакСтрока;
  неудача
  конец
конец;

// Индекс,Констана - ключ, по которому определяется константа
// Тип - Тип константы, 0 - целое,1-дробное,2-строковое
функция ПолучитьКонстантуИзБазы(Индекс, Константа, Тип: целое):строка;
начало
  выбрать Тип из
    0: результат := ЦелаяКонстанта(Индекс, Константа);
    1: результат := ДробнаяКонстанта(Индекс, Константа);
    2: результат := СтроковаяКонстанта(Индекс, Константа);
  конец;
конец;

функция СформироватьГлобальныеПараметры : IVariables;
переменные
  Информация:IVariables;
начало
  результат := CreateVariables;
  результат.Values("ТЕКУЩАЯ ДАТА") := ДатаВСтроку(ТекущаяДата);
  результат.Values("ТЕКУЩАЯ_ДАТА") := ОбычнаяДатаВРасшир(ТекущаяДата);
  если ПолучитьИнформациюОПользователеИзБазы(ТекущийПользователь,Информация)
  тогда
  начало //информация о пользователе
    результат.Values("ТЕКУЩИЙ ПОЛЬЗОВАТЕЛЬ") := Информация.Значение('ФИО');
    результат.Values("ОТДЕЛ_ПОЛЬЗОВАТЕЛЯ") := Информация.Значение('Отдел');
    результат.Values("ИДЕНТИФИКАТОР_ПОЛЬЗОВАТЕЛЯ") := Информация.Значение('ИдПользователя');
    результат.Values("Должность_Исполнителя") := Информация.Значение('Должность');
    результат.Values("ТЕЛЕФОН_ПОЛЬЗОВАТЕЛЯ") := Информация.Значение('Телефон');    
  конец;

  если ПолучитьИнформациюОПользователеИзБазы(ПолучитьНачальникаОтделаИзБазы(ТекущийПользователь),Информация)
  тогда
  начало //информация о пользователе
    результат.Values("НАЧАЛЬНИК_ОТДЕЛА") := Информация.Значение('ФИО');
    результат.Values("НАЧАЛЬНИК_ОТДЕЛА_ДОЛЖНОСТЬ") := Информация.Значение('Должность');
    результат.Values("НАЧАЛЬНИК_ОТДЕЛА_ТЕЛЕФОН") := Информация.Значение('Телефон');    
  конец;
    
  результат.Values("Наименование_Бюджета") := СтроковаяКонстанта(-1, 21);
  
  результат.Values("ТЕКУЩИЙ_МЕСЯЦ") := ТекущийМесяц;
  результат.Values("ТЕКУЩИЙ_ГОД") := ТекущийГод;
  результат.Values("ТЕКУЩИЙ_КВАРТАЛ") := ((ТекущийМесяц-1) цел 3) + 1;
  результат.Values("ФинансовыйГод") := ЦелаяКонстанта(-1, 73);
      
  результат.Values("РУК_ФИН_ОРГАН") := СтроковаяКонстанта(-1, 1);
  результат.Values("ГЛВ_БУХ") := СтроковаяКонстанта(-1, 2);
  результат.Values("ДОЛЖ_ГЛВ_БУХ") := СтроковаяКонстанта(-1, 20);
  если результат.Values("ДОЛЖ_ГЛВ_БУХ")="" тогда
    результат.Values("ДОЛЖ_ГЛВ_БУХ") := "Главный бухгалтер";  
  результат.Values("УПРАВ_КАЗНАЧ") := СтроковаяКонстанта(-1, 3);
  результат.Values("ФИН_ОРГАН") := СтроковаяКонстанта(-1, 4);
  результат.Values("ГОРОД_ПО_УМОЛЧ") := СтроковаяКонстанта(-1, 7);
  результат.Values("ИСПОЛНИТЕЛЬ") := СтроковаяКонстанта(-1, 6);
  результат.Values("ДОЛЖ_РУК_ФИН_ОРГАН") := СтроковаяКонстанта(-1, 8);
  результат.Values("ДОЛЖ_НАЧ_ОТД_ОПЕРАЦ_КАСС_ОБСЛ") := СтроковаяКонстанта(-1, 9);
  результат.Values("НАЧ_ОТД_ОПЕРАЦ_КАСС_ОБСЛ") := СтроковаяКонстанта(-1, 10);
  результат.Values("Администратор") := (Access = Access_Adm);
  результат.Values("Вариант_Ввода_Ассигнований") := ЦелаяКонстанта(32,2);
  результат.Values("Уровень_ФинОргана") := ЦелаяКонстанта(-1,5);
  результат.Values("Региональный_Код") := ЦелаяКонстанта(34, 1);
  результат.Values("Oracle") := IsOracle;
  результат.Values("ОРГАН_ФК") := СтроковаяКонстанта(-1, 22);
  результат.Values("РУК_ПЛАН_ФИН_СЛ") := СтроковаяКонстанта(-1, 23);
  результат.Values("ДОЛЖ_РУК_ПЛАН_ФИН_СЛ") := СтроковаяКонстанта(-1, 24);
конец;

// функция формирует огранчиение по харектеру л/c анализируя дочерние параметры
функция СформироватьОгрХарактерЛСПоДочерним(Параметры: IVariables);
переменные
  ОгрРезультат, СписокТабов: Текст;
  сч: целое;
начало
  // если в коллекции нет родительского параметра, или он пустой
  если (не Параметры.ПараметрСуществует("Характер_ЛС")) или (УбратьПробелы(Параметры.Значение("ХарактерЛС")) = "") тогда
  начало
    ОгрРезультат := СоздатьТекст;
    СписокТабов := СоздатьТекст;
    попытка
      // список табов дочерних ограничений
      СписокТабов.РазделенноеЗначение := "лс_ГРБС,лс_ПБС,лс_БУ_АУ,лс_ОтдельныйБУ_АУ,лс_ПоПереданнымПолномочиям,лс_Фиктивные,лс_БУ_АУ_ОтдельныйБУ_АУ,лс_ОМС"; 
      от сч := 0 до СписокТабов.Количество - 1 делать // ищем дочериние параметры
        если Параметры.ПараметрСуществует(СписокТабов.Стр(сч)) и УбратьПробелы(Параметры.Значение(СписокТабов.Стр(сч))) = "1" тогда
          ОгрРезультат.Добавить(СписокТабов.Стр(сч) + "=1");
      если ОгрРезультат.Количество &lt;&gt; 0 тогда // если нашли хотябы один подходящий
        Параметры.Значение("Характер_ЛС") := ОгрРезультат.РазделенноеЗначение;
    обязательно
      УдалитьОбъект(ОгрРезультат, СписокТабов);
    конец;    
  конец;
конец;

//Заполняет уникальные параметры проекта 
функция СформироватьПараметрыПроекта(Параметры : IVariables);
начало
  Если не Параметры.ПараметрСуществует("РасширСинтетСчетЧек") тогда
    Параметры.Значение("РасширСинтетСчетЧек") := ЦелаяКонстанта(32, 9);
  
  Если не Параметры.ПараметрСуществует("РасширБухСчет70нЧек") тогда
    Параметры.Значение("РасширБухСчет70нЧек") := ЦелаяКонстанта(60, 6);

  Параметры.Значение("Oracle") := IsOracle;
  
  Если Параметры.Значение("МультиБюджет") &lt;&gt; '' тогда
    Параметры.Значение("Бюджет") := Параметры.Значение("МультиБюджет");
  
  СформироватьОгрХарактерЛСПоДочерним(Параметры);    
конец;

//определяет - сервисный счет или нет
// считаем, что счет служебный только тогда, когда он сам служебный и внутри счета, если он обобщающий, отсутствуют неслужебные счета 
функция СчетСервисныйИзБазы(ЛицСчет : Строка): целое;
переменные
  Запрос: СтатическиеДанные;
  Параметры: IVariables;
начало
  Запрос := nil;
  если (УбратьПробелы(лицСчет) = "")или(позиция(",",лицСчет)&gt;0)
    тогда результат := нет
    иначе
      попытка
        // Выбираем служебные счета только в том случае, если все счета из диапазона
        // сервисные
        Запрос := СоздатьСтатическиеДанные;
        СоединитьБД(Запрос);
        Параметры := CreateVariables;
        Параметры.Values("ЛицСчет") := ЛицСчет;
        Запрос.Запрос := "[PumpData]{Select count(id) facCount from FacialAcc_CLS where (ServiceAccount=1)and" +
                           FormLimitByParams("ЛицСчет=id", "ЛицСчет=999.99.999.9", параметры)+ "}";
        запрос.Открыть;
        результат := (Запрос.ПолеПоИмени("facCount").КакЦелое = 0);
      обязательно
         если (Запрос &lt;&gt; nil) тогда УдалитьОбъект(Запрос);
      конец;
конец;
// теперь функция возвращает не id старых бухпроводок, а id новых бухопераций 70Н 
функция БухОперацииКассовыхРасходовИзБазы(Тип : целое; СПередвижками: целое):строка;
переменные
  Данные: СтатическиеДанные;
  КоллекцияПараметров: IVariables;
  ПолеСвязки, ПолеКорСвязки, ЗначСчета: строка;
  ОгрПоБухСчетам, ОгрПоКорБухСчетам: строка;
  Поле: Поле;
начало
  результат := ""; 
  если не СПередвижками тогда
  начало
    если Тип = 0 тогда
    начало
      ПолеСвязки := "DebitAccRef";
      ПолеКорСвязки := "CreditAccRef";
    конец
    иначе
      начало
        ПолеСвязки := "CreditAccRef";
        ПолеКорСвязки := "DebitAccRef";
      конец;
    ЗначСчета := "2020000,2030000";
  конец
  иначе
    начало
      если Тип = 0 тогда
      начало
        ПолеСвязки := "CreditAccRef";
        ПолеКорСвязки := "DebitAccRef";
      конец
      иначе
        начало
          ПолеСвязки := "DebitAccRef";
          ПолеКорСвязки := "CreditAccRef";
        конец;
      ЗначСчета := "4020000,3070000";
    конец;  

  КоллекцияПараметров := CreateVariables;
  Данные := СоздатьСтатическиеДанные;
  попытка
    КоллекцияПараметров.AddItems("БухСинтетСчетБезЭК");
    КоллекцияПараметров.Значение("БухСинтетСчетБезЭК") := ЗначСчета;
    ОгрПоБухСчетам := FormLimitByParams('БухСинтетСчетБезЭК=bap.buhacc%d', ВернутьМаскиИерархическихКлассификаторов, КоллекцияПараметров);
    ОгрПоКорБухСчетам := FormLimitByParams('БухСинтетСчетБезЭК=bapcor.buhacc%d', ВернутьМаскиИерархическихКлассификаторов, КоллекцияПараметров);
    если ОгрПоБухСчетам &lt;&gt; "" тогда
    начало
      Данные.СоединитьБД;
      Данные.Запрос := "[PumpData]{" +
        " Select distinct bo.id" +
        " from buhoperationcls bo" +
        "   inner join BuhAccCorr bc on (bo.id = bc.Buhoperationcls)" +
        "   inner join BuhAccPlan bap on (bap.id = bc." + ПолеСвязки + ")" +
        "   inner join BuhAccPlan bapcor on (bapcor.id = bc." + ПолеКорСвязки + ")" +
        " where (" + ОгрПоБухСчетам + " and (bc.CorrectionFlag = 0)) or (" + ОгрПоКорБухСчетам + " and (bc.CorrectionFlag = 1))}";
      Данные.Открыть;
      Данные.First;  
      Поле := Данные.ПолеПоИмени("ID");
      пока не Данные.EOF делать
      начало
        результат := результат + "," + Поле.КакСтрока;
        Данные.Next;
      конец;
      если результат &lt;&gt; "" тогда
        результат := Подстрока(результат, 2, Длина(результат) - 1);
    конец;
  обязательно
    УдалитьОбъект(КоллекцияПараметров, Данные);
  конец;
конец;

функция ДополнитьОграничение(ТекущееОграничение, НовоеОграничение : Строка);
начало
  если (ТекущееОграничение = "") 
    тогда ТекущееОграничение := "("+НовоеОграничение+")"
    иначе ТекущееОграничение := ТекущееОграничение + " and ("+ НовоеОграничение+ ")";
конец;

функция ДополнитьСтрокуМаппинга(ТекущийМаппинг, НоваяСтрока : Строка);
начало
  если (ТекущийМаппинг = "") 
    тогда ТекущийМаппинг := НоваяСтрока
    иначе ТекущийМаппинг := ТекущийМаппинг + ","+ НоваяСтрока;
конец;

// добавление условия к существующему по AND
функция ПрисоединитьПоAND(Условие, ДобавляемоеУсловие: строка): строка;
начало
  если УбратьПробелы(ДобавляемоеУсловие) = '' тогда
    результат := Условие
  иначе 
    если УбратьПробелы(условие) &lt;&gt; '' тогда
      результат := формат('%s and (%s)', условие, ДобавляемоеУсловие)
    иначе
      результат := формат('(%s)', ДобавляемоеУсловие);  
конец;

// добавление условия к существующему по OR
функция ПрисоединитьПоOR(Условие, ДобавляемоеУсловие:строка): строка;
начало
  если УбратьПробелы(ДобавляемоеУсловие) = '' тогда
    результат := Условие
  иначе 
    если УбратьПробелы(условие) &lt;&gt; '' тогда
      результат := формат('%s or (%s)', условие, ДобавляемоеУсловие)
    иначе
      результат := формат('(%s)', ДобавляемоеУсловие);  
конец;

// параметры которые относятся к НомерДокПрост или НомерДокМнож обрабатываем сами и возвращяем в качестве результата
// при этом обработанные параметры из маппинга исключаем
функция ОбработкаСложныхОграничений (стр: строка; параметры: IVariables): строка;
переменные
  Маппинг, ЗначФлаговХарЛС : Текст;
  Имя, Поле, Огр, ТипОгр, ФорматноеПоле, МинСумма, МаксСумма : строка;
  ЗначениеСуммы : дробное;
  сч, внсч : целое;
  Значен : строка;
начало
  результат := "";
  Маппинг := СоздатьТекст;
  попытка  
    // Маппинг используется для перебора всех типов параметров
    стр := ЗаменитьСтроку(стр, ",", #13, ЗаменятьВсе);
    Маппинг.Значение := стр;
    // строчку сделаем пустой
    Стр := "";
    если СписокИменСложныхОграничений=nil тогда
    начало
      СписокИменСложныхОграничений := СоздатьТекст;
      СписокИменСложныхОграничений.РазделенноеЗначение := "НОМЕРДОК,НОМЕРДОКИСТОЧН,НОМЕРРЕЕСТРА,НОМЕРВЕКС,НОМЕРСПРАВКИ,НОМЕРПАКЕТА,НОМЕРРЕЕСТРАЭПД"+
        ",НОМЕРБО,НОМЕРЭЛДОК,ДОГОВОРАБО,ДОГОВОРВНУТРНОМЕР,ДОГНОМ,НОМЕРЭТАПА,ПРИМЕЧАНИЕ,ПРИЧИНАОТКЛОН,ПРИЧИНАОТКЛОНЧЕК,СУММА,КРЕДИТ,ДЕБЕТ,ПРИЧИНАБЛОКИРОВКИ,ПРИЧИНАРАЗБЛОКИРОВКИ"+
        ",НОМЕРРАЗРЕШЕНИЯ,НОМЕРГЕНРАЗРЕШЕНИЯ,НОМЕРДОПРАЗРЕШЕНИЕ,НОМЕРДОПГЕНРАЗРЕШЕНИЕ,ХАРАКТЕР_ЛС";
      СписокИменСложныхОграничений.Сортировка;
    конец;
    От сч := 0 до Маппинг.Количество-1 делать
    если  Маппинг.Стр(сч)&lt;&gt;'' тогда  
    начало
      //берем таб параметра
      Имя := Прописные(Маппинг.ИмяПараметра(сч));
      // 1 - ограничение по номеру документа и по примечанию
      если СписокИменСложныхОграничений.Поиск(Имя)&lt;&gt;-1 тогда//нашли
      начало
        //берем имя поля, по которому надо наложить ограничение
        ФорматноеПоле := Маппинг.ЗначениеПараметра(Имя);
        // если в маппинге присутствуют символы форматирования, то обрезаем их
        Поле := ФорматноеПоле;
        если Позиция('%',Поле)&gt;0 Тогда Поле := Подстрока(Поле, 1, Позиция('%', Поле) - 1);
        // если этот таб "НАШ" то обрабатываем его отдельно
        выбрать Имя из
          "ПРИЧИНАОТКЛОН" : // ограничение по причине отклонения
              начало// если там что то введено - передаем выше
                если (УбратьПробелы(параметры.Values("ПричинаОтклон")) &lt;&gt; "") тогда 
                  ДополнитьСтрокуМаппинга(Стр, Маппинг.Стр(сч))
                иначе
                  если (параметры.Values("ПричинаОтклонЧек") = 1) или (УбратьПробелы(параметры.Values("ПричинаОтклонЧек"))="")
                  тогда начало
                    Огр := Поле + " is NULL";//ограничим на Null
                    ДополнитьОграничение(Результат, Огр);
                  конец;
              конец;
           "ПРИЧИНАОТКЛОНЧЕК" : // ограничение по причине отклонения
              начало// если там что то введено - передаем выше
                  если (параметры.Values("ПричинаОтклонЧек") = 1) или (УбратьПробелы(параметры.Values("ПричинаОтклонЧек"))="")
                  тогда начало
                    Огр := Поле + " is NULL";//ограничим на Null
                    ДополнитьОграничение(Результат, Огр);
                  конец;
              конец;
           "ХАРАКТЕР_ЛС" :  // ограничение по характреру л\с
              если УбратьПробелы(параметры.Значение("Характер_ЛС")) &lt;&gt; "" тогда
              начало
                ЗначФлаговХарЛС := СоздатьТекст;
                попытка
                  Огр := "";
                  ЗначФлаговХарЛС.РазделенноеЗначение := параметры.Значение("Характер_ЛС");
                  от внсч := 0 до ЗначФлаговХарЛС.Количество - 1 делать
                    если ЗначФлаговХарЛС.ЗначениеПараметра(ЗначФлаговХарЛС.ИмяПараметра(внсч)) = "1" тогда // если флаг взведен
                    начало
                      // Поле - это значение алиаса таблицы л/с (передается в маппинге)  
                      выбрать Прописные(ЗначФлаговХарЛС.ИмяПараметра(внсч)) из
                        "ЛС_ГРБС": Огр := ПрисоединитьПоOR(Огр, Формат('%s.IsRBS = 1', Поле)); 
                        "ЛС_ПБС": Огр := ПрисоединитьПоOR(Огр, Формат('%s.IsPBS = 1', Поле)); 
                        "ЛС_БУ_АУ": Огр := ПрисоединитьПоOR(Огр, Формат('%s.IsBU = 1', Поле));
                        "ЛС_ОТДЕЛЬНЫЙБУ_АУ": Огр := ПрисоединитьПоOR(Огр, Формат('%s.IsSeparateBU = 1', Поле)); 
                        "ЛС_ПОПЕРЕДАННЫМПОЛНОМОЧИЯМ": Огр := ПрисоединитьПоOR(Огр, Формат('%s.IsProxy = 1', Поле));
                        "ЛС_ФИКТИВНЫЕ": Огр := ПрисоединитьПоOR(Огр, 
                                               Формат('(%s.IsRBS = 0) and (%s.IsPBS = 0) and (%s.IsBU = 0) and (%s.IsSeparateBU = 0) and (%s.IsProxy = 0) and (%s.IsOMS = 0)',
                                                      Поле, Поле, Поле, Поле, Поле, Поле));
                        "ЛС_БУ_АУ_ОТДЕЛЬНЫЙБУ_АУ": Огр := ПрисоединитьПоOR(Огр, Формат('(%s.IsBU = 1) or (%s.IsSeparateBU = 1) or (%s.IsOMS = 1)', 
                                                                                        Поле, Поле, Поле));
                        "ЛС_ОМС": Огр := ПрисоединитьПоOR(Огр, Формат('%s.IsOMS = 1', Поле));
                      конец;
                    конец;
                    если Огр &lt;&gt; "" тогда // если мы сформировали не пустое ограничение
                      ДополнитьОграничение(Результат, Огр);  
                обязательно
                  УдалитьОбъект(ЗначФлаговХарЛС);
                конец;
              конец;     
          иначе // ограничения по примечаниям и номерам документов и причинам блокировок и разблокировок 
              начало
                Значен := Параметры.Values(Имя);
                // удвоение внутренних кавычек
                Значен := ЗаменитьСтроку(Значен, "'", "''", ЗаменятьВсе);
                Если (Значен &lt;&gt; '') тогда
                начало
                  выбрать Имя из
                    "ДЕБЕТ": ТипОгр := Параметры.Значение("ТипДебета");
                    "КРЕДИТ": ТипОгр := Параметры.Значение("ТипКредита");
                    "ПРИМЕЧАНИЕ": ТипОгр := Параметры.Значение("ТипПримечания");
                    "ПРИЧИНАБЛОКИРОВКИ": ТипОгр := Параметры.Значение("ТипПричиныБлокировки");
                    "ПРИЧИНАРАЗБЛОКИРОВКИ": ТипОгр := Параметры.Значение("ТипПричиныРазблокировки");
                    "СУММА": ТипОгр := Параметры.Значение("ТипСуммы");                                        
                    иначе ТипОгр := Параметры.Значение("НомерДокПрост");
                  конец;
                  если ТипОгр = '' тогда ТипОгр := '=';   
                  // перепутаны названия табов в SP. Когда поменяем, надо разремить строчки    
                  //  если (Параметры.ПараметрСуществует("НомерДокМнож")) тогда
                  //    ТипОгр := Параметры.Значение("НомерДокМнож");
                  // есть %s!!!
                  если (ФорматноеПоле &lt;&gt; Поле) тогда 
                    выбрать ФорматноеПоле[Позиция('%',ФорматноеПоле)+1] из
                      "s": Огр := ЗаменитьСтроку(ФорматноеПоле, '%s', ' ' + ТипОгр + "'" + Значен + "'", ЗаменятьВсе);
                      "d": Огр := ЗаменитьСтроку(ФорматноеПоле, '%d', ' ' + ТипОгр + " " + Значен + " ", ЗаменятьВсе);
                      "f": если ТипОгр="=" тогда
                           начало
                             ЗначениеСуммы := Дробное(ЗаменитьСтроку(Значен,'.',',', ЗаменятьВсе));
                             МинСумма := ЗаменитьСтроку(строка(ЗначениеСуммы-0.005),',','.', ЗаменятьВсе);
                             МаксСумма := ЗаменитьСтроку(строка(ЗначениеСуммы+0.005),',','.', ЗаменятьВсе);
                             Огр := ЗаменитьСтроку(ФорматноеПоле, '%f', ' between ' + МинСумма + " and "+ МаксСумма, ЗаменятьВсе)
                           конец    
                           иначе Огр := ЗаменитьСтроку(ФорматноеПоле, '%f', ' ' + ТипОгр + " " + Значен + " ", ЗаменятьВсе);
                    конец
                  иначе 
                    Огр := Поле + " " + ТипОгр + "'" + Значен + "'";
                  ДополнитьОграничение(Результат, Огр);
                конец;
              конец;                      
          конец; // выбрать
      конец    
      иначе// так ни по чему и не ограничили - передадим ограничение выше...
        ДополнитьСтрокуМаппинга(Стр, Маппинг.Стр(сч));
    конец;  
  обязательно
    УдалитьОбъект(Маппинг);
  конец;  
конец;

Функция ПолучитьЗапросНаДату(Запрос : Строка; Дата : Дробное) : Строка;
начало
  Результат := ЗапросНаДату(Запрос, Дата);  
конец;

функция ВернутьПутьКНастройкамПечатныхДокументов : Строка;
начало
  Результат := 'Бюджет\Объекты\Документы\Настройки\';
конец;

функция ВернутьПутьКРесурснымШаблонам : Строка;
начало
  Результат := 'Бюджет\Объекты\Документы\Ресурсы\';
конец;

функция СистемныеПоля(ЭтоДетализация: Целое): IVariables;
начало
  результат := CreateVariables;
  если ЭтоДетализация 
    тогда
      начало
        Результат.Values("ID") := "КодЗаписи";
        Результат.Values("SenderID") := "КодОтправителяЗаписи";
        Результат.Values("SenderRecordID") := "КодУРМЗаписи";
      конец
    иначе
      начало
        Результат.Values("ID") := "КодДокумента";
        Результат.Values("SenderID") := "КодОтправителяДокумента";
        Результат.Values("SenderRecordID") := "КодУРМДокумента";
        Результат.Values("DocStateRef") := "СостояниеДокумента";
      конец;  
конец;

// ---------------------------------------------------------------------------------------------------
// ---------------------------------Поддержка ограничений по правам ----------------------------------
// ---------------------------------------------------------------------------------------------------

// права на ЛС
функция ПолучитьПраваЛС : Строка;
начало 
  Результат := DivRange(GetFacialIDRigth, '', 1);
конец;

// права на РСФО
функция ПолучитьПраваРСФО : Строка;
начало 
  Результат := DivRange(GetDFAccIdRigth, '', 1);
конец;

// права на Организации
функция ПолучитьПраваОрг : Строка;
начало 
  Результат := DivRange(GetOrgsIdRigth, '', 1);
конец;

// права на Классификатор
функция ПолучитьПраваКЛС(ИмяПоляКЛС : Строка) : Строка;
начало 
  Результат := DivRange(GetBudTreeRigthCls(ИмяПоляКЛС), '', 1);
конец;

функция НаложитьОграниченияПоПравам(Ограничение, Право, Маска : Строка) : Строка;
начало
  Если (Ограничение = '')
  тогда начало
    // если и парва то нет - то собаку возвращаем
    Если (Право = '')
      тогда Результат := '@'
      иначе Результат := Право;   
  конец
  иначе начало
    // наложение ограничений по правам
    Результат := AndLimits(Ограничение, Право, Маска);
  конец
конец;

функция ОграниченияСовпадают(Ограничение1, Ограничение2, Маска : Строка) : Целое;
начало
  // совпадают ли ограничения или нет
  Результат := CompareLimits(Ограничение1, Ограничение2, Маска); 
конец;

// орем в том случае, если нет прав на выбранные параметры (то есть диапазон ограничений уменьшился)
функция АнализПравОграничений(СтароеОграничение, НовоеОграничение, Маска, СообщПольз : Строка);
начало
// анализируем а можно ли продолжить работу дальше
  Если (НовоеОграничение = '@')
    тогда ВызватьОшибку('У вас нет прав для получения информации с выбранными параметрами ограничений: ' + СообщПольз);
  // а не сократисля ли диапазон ограничений  
  Если (СтароеОграничение &lt;&gt; '') и (НЕ ОграниченияСовпадают(СтароеОграничение, НовоеОграничение, Маска))
    тогда ВызватьОшибку('У вас недостаточно прав для получения информации с выбранными параметрами ограничений: ' + СообщПольз);  
конец;

// формируем ограничения по правам с проверкой или без нее
функция СформироватьОгрПраваПроверка(СтароеОграничение, СписокПрав, Маска, СообщПользователю : Строка; НадоПроверять : Целое) : Строка;
начало
  Результат := НаложитьОграниченияПоПравам(СтароеОграничение, СписокПрав, Маска);

   // при необходимости проверяем правильность ограничений по правам
   Если НадоПроверять
     тогда АнализПравОграничений(СтароеОграничение, Результат, Маска, СообщПользователю);
конец;

// По значению иерархического класссификатора с панели параметров 
// определяем диапазон значений с учетом чекбокса
функция ОпределитьОграничение(КоллекцияОгр: IVariables; НаимПарам: строка) : строка;
переменные
  чек: целое;
начало
  результат := КоллекцияОгр.Значение(НаимПарам);
  если (результат &lt;&gt; "") и (Позиция(",",результат) = 0) и (Позиция("-",результат) = 0) тогда
  начало
    чек := (КоллекцияОгр.Значение(НаимПарам+"Чек") = 1);
    если чек тогда
      результат := "="+КоллекцияОгр.Значение(НаимПарам);
  конец;
конец;

функция СоздатьОграниченияПоПравамКЛС(Коллекция : IVariables; Имяпараметра, СписокПрав, Маска, СообщПользователю : Строка; ЕстьИерархия: целое);
переменные
  ДиапазонОграничения: строка;
  НовоеОграничение : Строка;
начало
  // ограничение накладывается только при наличии параметра в коллекции
  Если Коллекция.CheckParam(Имяпараметра)
  тогда начало
    если ЕстьИерархия тогда
      ДиапазонОграничения := ОпределитьОграничение(Коллекция,Имяпараметра)
    иначе
      ДиапазонОграничения := Коллекция.Значение(Имяпараметра); 
    // кидаем ограничение в тот же параметр что и у нас есть
    НовоеОграничение := СформироватьОгрПраваПроверка(ДиапазонОграничения, СписокПрав, Маска, СообщПользователю, ДА);
    // устанавливаем новое ограничение
    Коллекция.Values(Имяпараметра) := НовоеОграничение; 
  конец;
конец;

// накладываем ограничения без крика - все молча
функция СоздатьОграниченияПоПравамОрг(Коллекция : IVariables; ПрефиксПараметра, Имяпараметра, СообщПользователю : Строка);
начало
  Если Коллекция.CheckParam(Имяпараметра)
  тогда начало
    // кидаем ограничение в параметр
    Если (ПрефиксПараметра = '')
      тогда СоздатьОграниченияПоПравамКЛС(Коллекция, Имяпараметра, ПолучитьПраваОрг, '', СообщПользователю,0)
      иначе Коллекция.Values(ПрефиксПараметра + Имяпараметра) := СформироватьОгрПраваПроверка(Коллекция.Values(Имяпараметра), ПолучитьПраваОрг, '', '', НЕТ);
  конец;  
конец;

// накладываем ограничения без крика - все молча
функция СоздатьОграниченияПоПравамРС(Коллекция : IVariables; ПрефиксПараметра, Имяпараметра, СообщПользователю : Строка);
переменные
  НовоеОграничение : Строка;
начало
  Если Коллекция.CheckParam(Имяпараметра)
  тогда начало
    // получаем ограничение
    НовоеОграничение := AddRigthOrgsACC(Коллекция.Values(Имяпараметра), ПолучитьПраваОрг, Mapper);
    // возможно придется еще и проверочку вызвать
    Если (ПрефиксПараметра = '')
      тогда АнализПравОграничений(Коллекция.Values(Имяпараметра), НовоеОграничение, '', СообщПользователю);
    // новое значение параметра
    Коллекция.Values(ПрефиксПараметра + Имяпараметра) := НовоеОграничение;
  конец;  
конец;

// основная функция наложения ограничений по правам
функция НАЛОЖИТЬОГРАНИЧЕНИЯПРАВА(Коллекция : IVariables; ТолькоПоЛС : Целое);
переменные
  СуществуетОргРСФО : Целое; // Есть ли органичение по РСФО
  СуществуетОргЛС : Целое; // Есть ли органичение по ЛС
  СуществуетОгрОрганизация,СуществуетОгрОрганизацияРасп : Целое; // Есть ли органичение по организации
  ОграничиватьПоРаспорядителю : целое;
  Имя:Строка;
  //СуществуетОгрНаправление : Целое; // Есть ли органичение по Направлению
начало
  // ОРГРАНИЧЕНИЕ ПО РСФО
  Если не ТолькоПоЛС
  тогда начало
    СуществуетОргРСФО := Коллекция.CheckParam('РСФО') или Коллекция.CheckParam('РСКАЗН') или Коллекция.CheckParam('КАЗНРС');
    // если нет ни одного ограничения - накладываем права на РСФО
    Если НЕ СуществуетОргРСФО
    тогда начало
      Коллекция.Values('РСФО') := '';
      СоздатьОграниченияПоПравамКЛС(Коллекция, 'РСФО', ПолучитьПраваРСФО, '', 'Расчетный счет ФО',0); 
    конец
    иначе начало
      // накладываем ограничения только на то что есть в коллекции
      СоздатьОграниченияПоПравамКЛС(Коллекция, 'РСФО', ПолучитьПраваРСФО, '', 'Расчетный счет ФО',0); 
      СоздатьОграниченияПоПравамКЛС(Коллекция, 'РСКАЗН', ПолучитьПраваРСФО, '', 'Казначейский расчетный счет',0); 
      СоздатьОграниченияПоПравамКЛС(Коллекция, 'КАЗНРС', ПолучитьПраваРСФО, '', 'Казначейский расчетный счет',0); 
    конец; 
  конец;
  
  // ОРГРАНИЧЕНИЕ ПО ЛС
  СуществуетОргЛС := Коллекция.CheckParam('ЛИЦСЧЕТ') или Коллекция.CheckParam('СЛИЦСЧЕТА') 
                     или Коллекция.CheckParam('НАЛИЦСЧЕТ') или Коллекция.CheckParam('ОРГЛС');
  // если нет ни одного ограничения - накладываем права на ЛИЦСЧЕТ
  Если НЕ СуществуетОргЛС
  тогда начало
    Коллекция.Values('ЛИЦСЧЕТ') := '';
    СоздатьОграниченияПоПравамКЛС(Коллекция, 'ЛИЦСЧЕТ', ПолучитьПраваЛС, '999.99.999.9', 'Лицевой счет',1); 
  конец
  иначе начало
    // накладываем ограничения только на то что есть в коллекции
    СоздатьОграниченияПоПравамКЛС(Коллекция, 'ЛИЦСЧЕТ', ПолучитьПраваЛС, '999.99.999.9', 'Лицевой счет',1); 
    СоздатьОграниченияПоПравамКЛС(Коллекция, 'СЛИЦСЧЕТА', ПолучитьПраваЛС, '999.99.999.9', 'Лицевой счет',1); 
    СоздатьОграниченияПоПравамКЛС(Коллекция, 'НАЛИЦСЧЕТ', ПолучитьПраваЛС, '999.99.999.9', 'Лицевой счет',1); 
    СоздатьОграниченияПоПравамКЛС(Коллекция, 'ОРГЛС', ПолучитьПраваЛС, '999.99.999.9', 'Лицевой счет',1); 
  конец;
  
  
  Если не ТолькоПоЛС
  тогда начало
    // ОГРАНИЧЕНИЕ ПО ОРГАНИЗАЦИИ
    СуществуетОгрОрганизация := Коллекция.CheckParam('БЮДЖРСССЫЛКА') или Коллекция.CheckParam('БЮДЖОРГССЫЛКА');
    СуществуетОгрОрганизацияРасп := Коллекция.CheckParam('РАСПОРГССЫЛКА') или Коллекция.CheckParam('РАСПРСССЫЛКА') или
      Коллекция.CheckParam('Бюджет_РаспОргСсылка');
                                
    // организуем кэширование константы в глобальной коллекции  
    Имя:="ЦелКонстанта_-1_30";  
    если не CheckParam(Имя) тогда
      values(имя) := ПолучитьКонстантуИзБазы(-1, 30, 0); //=1 права на видимость организаций по распорядителю,=0 - по подведомственным
    ОграничиватьПоРаспорядителю := values(имя);

    // если права даны по подведомственным
    если ОграничиватьПоРаспорядителю = 0 тогда
    начало
      Если НЕ СуществуетОгрОрганизация тогда // ограничим по подведомственной организации
        Коллекция.Values('БЮДЖОРГССЫЛКА') := '';
      СоздатьОграниченияПоПравамОрг(Коллекция, '', 'БЮДЖОРГССЫЛКА', 'Организация'); 
      СоздатьОграниченияПоПравамРС(Коллекция, '', 'БЮДЖРСССЫЛКА', 'Расчетный счет');
    конец;
    // если права даны по распорядителям
    если (ОграничиватьПоРаспорядителю = 1) тогда
    начало
      Если НЕ СуществуетОгрОрганизацияРасп тогда // ограничим по распорядителю
      начало
        Коллекция.Values(ПрефикрОграничПрава+'РАСПОРГССЫЛКА') := '';
        СоздатьОграниченияПоПравамОрг(Коллекция, '', ПрефикрОграничПрава+'РАСПОРГССЫЛКА', 'Организация');
      конец
      иначе
      начало  
        СоздатьОграниченияПоПравамОрг(Коллекция, ПрефикрОграничПрава, 'РАСПОРГССЫЛКА', ''); 
        СоздатьОграниченияПоПравамОрг(Коллекция, '', ПрефикрОграничПрава+'РАСПОРГССЫЛКА', 'Организация - главный распорядитель'); 
        СоздатьОграниченияПоПравамРС(Коллекция, ПрефикрОграничПрава, 'РАСПРСССЫЛКА', '');
      конец; 
    конец;
    
    // [01.02.2008 Финогенов] ограничения по правам на классификацию теперь накладываются с помощью функции ВернутьОграниченияКлсПоПравам
    // функция должна быть поддержана всеми алгоритмами, данные которых ограничиваются по правам 
  конец;
конец;                                                     

// копируем ограничение из одного параметра в другой
функция СкопироватьПростоеОграничений(Коллекция : IVariables; ИмяТаба : Строка);
начало
  // копируем значение атрибута в другое
  Если Коллекция.CheckParam(ИмяТаба)
    тогда Коллекция.Values(ПрефикрОграничПрава + ИмяТаба) := Коллекция.Values(ИмяТаба);
конец;

// функция копирования ограничений в нужные элементы
функция СКОПИРОВАТЬОГРАНИЧЕНИЯПРАВА(Коллекция : IVariables);
начало
  СкопироватьПростоеОграничений(Коллекция, 'РАСПОРГССЫЛКА'); 
  СкопироватьПростоеОграничений(Коллекция, 'РАСПРСССЫЛКА'); 
конец;

// Получаем права на классификацию
// Права даются на наборы классификации. Право на каждый набор хранится в отдельной строке  
функция ВернутьДанныеОграниченийПоПравам: СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные;
  результат.Запрос := "[Pumpdata]{ Select * from BudstructRights BSTR " +      
                      "where (1=1) " + GetLimitsClsRight("BSTR", "") + "}";
  результат.СоединитьБД;
  результат.Открыть;
конец;

// функция определяет, состоит строка из одник нулей или нет
функция ВсеНулиВСтроке(ВхСтрока: строка): целое;
переменные
  сч: целое;
начало
  если ВхСтрока = "" тогда
    результат := 0
  иначе
    начало
      результат := 1;
      сч := 1;
      пока результат и (сч &lt;= Длина(ВхСтрока)) делать
      начало
        результат := результат и (ВхСтрока[сч] = "0");
        сч := сч + 1;
      конец;
    конец;
конец;

// функуция возвращает SQL - ограничение по правам на классификацию
// параметром передаются маппинг классификаторов полей по которым нужно ограничить документ
функция ВернутьОграниченияКлсПоПравам(Маппинг: строка; коллекция: IVariables; форматРезультата: строка): строка;
переменные 
  Права: СтатическиеДанные;
  СписокАлиасов, СписокКлс, СписокМаксЗначений: Текст;
  сч, ЕстьПрава: целое;
  ВерхнееЗначение, НижнееЗначение: строка;
  ОгрПоСтрокеПрава, ИмяКлс, огрПоКлс: строка;
  ШаблонОграничения: строка;
  СписокБуквенныхКлс: Текст;
начало
  результат := "";
  если коллекция.Значение("ОграничВидимостьПоПравамЧек") тогда  // если вкючен режим ограничения по правам
  начало
    // получаем права на классификацию  для текущего пользователя
    Права := ВернутьДанныеОграниченийПоПравам;
    СписокКлс := СоздатьТекст;
    // список классификаторов для ограничений по правам
    СписокКлс.РазделенноеЗначение := СтроковаяКонстанта(60, 1);
    СписокАлиасов := СоздатьТекст;
    СписокАлиасов.РазделенноеЗначение := Маппинг;
    СписокМаксЗначений := СоздатьТекст;
    СписокМаксЗначений.РазделенноеЗначение := 'KFSR=9999,KVSR=999,KCSR=ЯЯЯЯЯЯЯ,KVR=ЯЯЯ,KESR=999,SUBKESR=9999999,FACT=999999,FINTYPE=99,MEANSTYPE=999999,DIRECTIONCLS=999';
    СписокБуквенныхКлс := СоздатьТекст;
    СписокБуквенныхКлс.РазделенноеЗначение := "KVR,KCSR";
    
    результат := ''; 
    ЕстьПрава := (Права.ЧислоЗаписей &gt; 0);  
    Права.ВНачало;
    пока не Права.ВКонце делать
    начало
      ОгрПоСтрокеПрава := '';
      от сч := 0 до (СписокАлиасов.Количество - 1) делать
      начало
        ИмяКлс := СписокАлиасов.ИмяПараметра(сч);
        если СписокКлс.Поиск(ИмяКлс) &lt;&gt; -1 тогда // если на классификатор назначаются права
          // ограничение на каждую строку права состоит из ограничений на каждый классификатор права, объединенных по AND
          // ограничение на каждый классификатор права состоит из диапазона от нижней до верхней границы разрешенных значений
          // если нижняя и верхняя границы равны, то ограничиваем на равенство, а не на between
          // в дальнейшем сделать оптимизацию построения ограничения на строку права на основе AndLimits, учитывающую значения классификаторов с панели ограничений 
          // если хотя бы одно из значений противоречит строке права, то ограничение по строке не добавлять
        начало 
          НижнееЗначение := Права.Поле(ИмяКлс).КакСтрока;
          ВерхнееЗначение := Права.Поле(ИмяКлс + "UP").КакСтрока;
          // если нужно ограничивать по всему диапазону значений, то ограничения не делаем
          если не ((ВсеНулиВСтроке(НижнееЗначение)) и (ВерхнееЗначение = СписокМаксЗначений.ЗначениеПараметра(ИмяКлс))) тогда
          начало
            если СписокБуквенныхКлс.Поиск(ИмяКлс) &lt;&gt; -1 тогда
            начало
              НижнееЗначение := "'" + НижнееЗначение + "'";
              ВерхнееЗначение := "'" + ВерхнееЗначение + "'";
            конец;
            если НижнееЗначение = ВерхнееЗначение тогда
              огрПоКлс := формат(" = %s", НижнееЗначение)
            иначе
              огрПоКлс := формат(" between %s and %s", НижнееЗначение, ВерхнееЗначение);
            ШаблонОграничения := СписокАлиасов.ЗначениеПараметра(ИмяКлс);  
            Если Позиция('%d', ШаблонОграничения) &gt; 0 тогда
              огрПоКлс := ЗаменитьСтроку(ШаблонОграничения, '%d', огрПоКлс , ЗаменятьВсе + ИгнорироватьРегистр)
            иначе
              огрПоКлс := ШаблонОграничения + огрПоКлс;
            ОгрПоСтрокеПрава := ПрисоединитьПоAND(ОгрПоСтрокеПрава, огрПоКлс) + #13#10;
          конец;
        конец;                         
      конец;
      // добавление ограничения к общему - объединение по "ИЛИ" 
      результат := ПрисоединитьПоOR(результат, ОгрПоСтрокеПрава);
      Права.Следующая;
    конец;
    если ФорматРезультата = '' тогда ФорматРезультата := ' and(%s)';
    если результат &lt;&gt; '' тогда
      результат := формат(ФорматРезультата, результат)
    иначе
      если не ЕстьПрава тогда // нет прав ни на одну классификацию
      начало
        ВызватьОшибку("Для текущего пользователя не заданы права на расходную классификацию. Если вы считаете ситуацию неверной, обратитесь к администратору.");
        результат := формат(ФорматРезультата,'1&lt;&gt;1');
      конец;
      // иначе есть права на всю классификацию
  конец;  
конец;
</value>
    <param value="ПоддержкаПроекта.abl" type="3" name="Export">MITROFANOVNEW\mitrofanov\06.12.2012 12:14:32</param>
    <param value="ПоддержкаПроекта.abl" type="3" name="version">36.042.191</param>
    <param value="ПоддержкаПроекта.abl" type="3" name="crc32">$714E82DA</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаРасширений.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\MSXML.lib';
включить '\Библиотеки\Variables.lib';
включить '\Макросы\Вспомогательные.abl';
          
//константы для параметра функции ОбработатьРасширенияДляОтчета
функция мвДоФормированияДанных   : Целое; начало результат := 0; конец;           
функция мвПослеФормированияДанных: Целое; начало результат := 1; конец;
функция мвПослеВыводаДанных: Целое; начало результат := 2; конец;
функция мвВыборОтчета: Целое; начало результат := 3; конец;

//константа для хранения кэша описаний отчетов в глобалных IVariables           
функция пОписаниеОтчетов: Строка; начало результат := "пОписаниеОтчетов"; конец;
//константа для хранения кэша описаний документов в глобалных IVariables           
функция пОписаниеДокументов: Строка; начало результат := "пОписаниеДокументов"; конец;

константы
  xmlCaption = '&lt;?xml version="1.0" encoding="windows-1251"?&gt;';
  BeginNode  = '&lt;ext&gt;';
  EndNode    = '&lt;/ext&gt;';
  xml_GUID   = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';
  nl         = #13#10;
функция СоздатьXML: IXMLDOMDocument;
начало
  результат := CreateComObject(xml_GUID);
  если результат = nil тогда
    ВызватьОшибку("Не могу создать XML документ");
конец;

//получение параметров расширений для отчета с кодом КодОтчета; 
функция ПолучитьПараметрыРасширений(Код: Целое; ИмяУзла, пОписание : строка): Строка;
переменные
  ссДанные : СтатическиеДанные;
начало
  //если в глобальном кэше есть то возвращаем из него...
  если Values(пОписание) &lt;&gt; nil тогда ссДанные := Values(пОписание)
  иначе
  начало
    если не Реестр.Узел(ИмяПроекта + '\Конфигурация').Значение(ИмяУзла).Существует тогда 
      ВызватьОшибку(Формат('ПоддержкаРасширений.abl: Не могу получить конфигуркцию для "%s"', ИмяУзла)); 
    //...иначе вычитываем описание отчетов из реестра и запихиваем его в глобавльный кэш
    ссДанные := СоздатьДанныеИзРеестра(ИмяПроекта + "\Конфигурация", ИмяУзла);
    ссДанные.IndexFieldNames := "CLS";
    Values(пОписание) := ссДанные; 
  конец;
  //если описание отсутсвуют то вызваем ошибку
  если ссДанные = nil тогда 
    ВызватьОшибку("Не могу получить конфигурацию из реестра");
    
  //если отчет с таким кодом есть...  
  если ссДанные.Findkey(ArrayOf(Код)) тогда
  начало
    //... то возвращем описание расширений, хранащееся в поле "Note";
    результат := ссДанные.Поле("Note").какСтрока;
    // Переделываем старые параметры на новые после переделки снести данную функцию
  конец 
  иначе
    результат := "";    
конец;

//получение параметров расширений для отчета с кодом КодОтчета; 
функция ПолучитьПараметрыРасширенийДляОтчета(КодОтчета: Целое): Строка;
начало
  результат := ПолучитьПараметрыРасширений(КодОтчета, "Отчеты", пОписаниеОтчетов);     
конец;

//получение параметров расширений для отчета с кодом КодОтчета; 
функция ПолучитьПараметрыРасширенийДляДокумента(КодДокумента: Целое): Строка;
начало
  результат := ПолучитьПараметрыРасширений(КодДокумента, "Документы", пОписаниеДокументов);     
конец;
 
// ОписаниеРасширений  - описание расширений в виде xml-текста
// МоментВызова        - момент вызова дополнения 
//     0 - до формирования, 
//     1 - после формирования 
// Параметры           - как в событии отчета с АлгДанные, АлгПараметрами, АлгРаскладкой и т.п.
функция ОбработатьРасширенияПоОписанию(ОписаниеРасширения: строка; МоментВызова: Целое; Параметры: IVariables);
переменные
  тПараметрыРасширений : Текст;  
  Инд                  : Целое;
  ИмяРасширения        : Строка;
  XMLDOMDocument: IXMLDOMDocument;
  XMLDOMNode: IXMLDOMNode; 
  XMLDOMElement: IXMLDOMElement;
  XMLDOMNodeList: IXMLDOMNodeList;
начало
  тПараметрыРасширений := СоздатьТекст;
  попытка 
    если ОписаниеРасширения &lt;&gt; '' тогда 
    начало
      тПараметрыРасширений.Значение := xmlCaption + nl + BeginNode + nl + ОписаниеРасширения + nl + EndNode;     
      XMLDOMDocument := СоздатьXML;
      если не XMLDOMDocument.loadXML(тПараметрыРасширений.Значение) тогда
        ВызватьОшибку('Неверное описание расширения.');        
      XMLDOMNode := XMLDOMDocument.selectSingleNode('ext');                 
      если XMLDOMNode.hasChildNodes тогда
      начало
        XMLDOMNodeList := XMLDOMNode.childNodes;
        от инд := 0 до XMLDOMNodeList.length - 1 делать
       начало
          XMLDOMElement := XMLDOMNodeList.item(инд);
          //определили имя расширения
          ИмяРасширения := XMLDOMElement.nodeName;
          //выщваем скритп для обработки расширения
          Если (ИмяРасширения &lt;&gt; "#text") тогда  
            ExecScript(ИмяПроекта + "\Ресурсы\Макросы\Отчеты\Расширения\Расширение_" + ИмяРасширения, МоментВызова, XMLDOMElement, Параметры);          
        конец;                
      конец;
    конец;
  обязательно
    УдалитьОбъект(тПараметрыРасширений);
  конец; 
конец;
 
// КодОтчета           - код отчета для которого вызывают расширения
// МоментВызова        - момент вызова дополнения 
//     0 - до формирования, 
//     1 - после формирования 
// Параметры           - как в событии отчета с АлгДанные, АлгПараметрами, АлгРаскладкой и т.п.
функция ОбработатьРасширенияДляОтчета(КодШаблона: Целое; МоментВызова: Целое; Параметры: IVariables);
переменные
  ОписаниеРасширения: Строка;
начало
  если Параметры.CheckParam('ПечатныйДокумент')
    тогда ОписаниеРасширения := ПолучитьПараметрыРасширенийДляДокумента(КодШаблона)
    иначе ОписаниеРасширения := ПолучитьПараметрыРасширенийДляОтчета(КодШаблона);       
  если ОписаниеРасширения &lt;&gt; '' тогда 
    ОбработатьРасширенияПоОписанию(ОписаниеРасширения, МоментВызова, Параметры); 
конец;

функция ПолучитьЗначениеПараметраРасширения(ИмяПараметра: Строка; xmlElement: IXMLDOMElement; ЗначениеПоУмолчанию: Строка): Строка;
переменные
xmlAttribute: IXMLDOMAttribute;
начало
  xmlAttribute := xmlElement.getAttributeNode(ИмяПараметра);
  если xmlAttribute &lt;&gt; nil тогда
   результат := IXMLDOMNODE(xmlAttribute).Text
 иначе
   результат := ЗначениеПоУмолчанию;  
конец;
</value>
    <param value="ПоддержкаРасширений.abl" type="3" name="version">36.042.191</param>
    <param value="ПоддержкаРасширений.abl" type="3" name="crc32">$86608A6A</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаЭлАрхива.abl">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\SharedParams.lib';
включить '\Библиотеки\F1Tools.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl';

константы
  at_SPPARAM = "@Sp";
  at_VALUE = "vl";
  at_RESULT = "rs";
  at_CHECKSTATE = "cs";
  at_READONLY = "ro";
  at_EDITMASK = "em";
  at_PICKLIST = "pl";
  at_TAG = "tg";
  cnLimitParams = "ПараметрыОграничений";
  cnOutputParams = "ПараметрыВывода";
  cnGlobalParams = "ГлобальныеПараметры";
  cnDocParams = "ПараметрыДокумента";

функция ПолучитьСтрокуОписанияПараметра(Параметр: ISPParam): строка;
переменные
  СписокАтрибутов, ВыпадающийСписок: Текст;
начало
  Результат := "";
  СписокАтрибутов := СоздатьТекст;
  ВыпадающийСписок := СоздатьТекст;
  попытка
    СписокАтрибутов.ЗначениеПараметра(at_SPPARAM) := "1";
    СписокАтрибутов.ЗначениеПараметра(at_VALUE) := Параметр.Value;
    СписокАтрибутов.ЗначениеПараметра(at_RESULT) := Параметр.Result;
    если (Параметр.EditStyle &amp; 1) &lt;&gt; 0 тогда
      СписокАтрибутов.ЗначениеПараметра(at_CHECKSTATE) := Параметр.CheckState;
    СписокАтрибутов.ЗначениеПараметра(at_READONLY) := Параметр.ReadOnly;
    СписокАтрибутов.ЗначениеПараметра(at_EDITMASK) := Параметр.EditMask;
    ВыпадающийСписок.Adapter := Параметр.PickList;
    СписокАтрибутов.ЗначениеПараметра(at_PICKLIST) := ВыпадающийСписок.РазделенноеЗначение(",");
    СписокАтрибутов.ЗначениеПараметра(at_TAG) := Параметр.Tag;
    Результат := СписокАтрибутов.РазделенноеЗначение(',');
  обязательно
    УдалитьОбъект(СписокАтрибутов, ВыпадающийСписок)
  конец;
конец;

функция СоздатьКоллекциюПараметровОграниченийДляАрхива(ПанельПараметров: ISharedParams; ТабыПараметров: строка): IVariables;
переменные
  Параметр: ISPParam;
  СписокТабов: Текст;
  сч: целое;  
начало
  Результат := CreateVariables;
  СписокТабов := СоздатьТекст;
  попытка
    СписокТабов.РазделенноеЗначение(',') := ТабыПараметров;      
    от сч := 0 до СписокТабов.Количество - 1 делать
    начало
      Параметр := ПанельПараметров.FindParam(СписокТабов.Стр(сч));
      если Параметр &lt;&gt; nil тогда
        Результат.Значение(Параметр.Tab) := ПолучитьСтрокуОписанияПараметра(Параметр); 
    конец;
  обязательно
    УдалитьОбъект(СписокТабов)
  конец;
конец;

функция СоздатьКоллекциюПараметровДляАрхива(ГлобальныеПараметры, ПараметрыВывода, ПараметрыОграничений :IVariables;
                                            ПараметрыДокумента: IVariables = nil): IVariables;
начало
  Результат := CreateVariables;
  если ГлобальныеПараметры = nil тогда
    Результат.Значение(cnGlobalParams) := CreateVariables
  иначе
    Результат.Значение(cnGlobalParams) := ГлобальныеПараметры; 
  если ПараметрыВывода = nil тогда
    Результат.Значение(cnOutputParams) := CreateVariables
  иначе
    Результат.Значение(cnOutputParams) := ПараметрыВывода; 
  если ПараметрыОграничений = nil тогда
    Результат.Значение(cnLimitParams) := CreateVariables
  иначе
    Результат.Значение(cnLimitParams) := ПараметрыОграничений;
  если ПараметрыДокумента &lt;&gt; nil тогда
    Результат.Значение(cnDocParams) := ПараметрыДокумента;
конец;

функция СформироватьПараметрыВывода(ПараметрыВывода: IVariables): IVariables;
начало
  Результат := CreateVariables;
  если ГлобальныеПараметры &lt;&gt; nil тогда
    Результат.PumpData(ГлобальныеПараметры);
  если ПараметрыВывода &lt;&gt; nil тогда
    Результат.PumpData(ПараметрыВывода);
конец;

функция СохранитьКоллекцииОтчетаДляАрхива(F1: IF1Book; ТабыПараметров: строка; ПараметрыВывода, 
                                          ПараметрыОтчета: IVariables; ЭтоЛистКомпозита: целое);
переменные
  КоллекцияОтчета, КопияПараметрыОтчета, ПараметрыВыводаОбщ, ПараметрыОграничений: IVariables;
  BG : IReportPages;
начало 
  BG := ReportBG; 
  если Разыменовать("ЕстьЛицензия.ЭлектронныйАрхив", 0) и (F1 &lt;&gt; nil) и (BG &lt;&gt; nil) 
       и не(ГлобальныеПараметры.Значение("ПечатныйДокумент")) тогда
  начало
    КопияПараметрыОтчета := CreateVariables;
    КопияПараметрыОтчета.PumpData(ПараметрыОтчета);
    ПараметрыВыводаОбщ := СформироватьПараметрыВывода(ПараметрыВывода);       
    ПараметрыОграничений  := СоздатьКоллекциюПараметровОграниченийДляАрхива(SharedParams, ТабыПараметров);
    КоллекцияОтчета := СоздатьКоллекциюПараметровДляАрхива(КопияПараметрыОтчета, ПараметрыВыводаОбщ, ПараметрыОграничений);     
    BG.AddSheetCollection(F1.Sheet, КоллекцияОтчета, ЭтоЛистКомпозита или ПараметрыОтчета.Значение("ЭтоКомпозит"));
  конец;   
конец;

функция СформироватьПараметрыПечДокумента(ГлобПараметрыДокумента: IVariables): IVariables;
переменные
  КодДокумента, ИмяВКоллекции: строка;
  ДанныеЗаголовка: СтатическиеДанные;
  сч: целое;
  пКод: поле;
начало
  Результат := nil;
  если ГлобПараметрыДокумента.ПараметрСуществует("КодДокумента") тогда
  начало
    КодДокумента := ГлобПараметрыДокумента.Значение("КодДокумента");
    если Позиция(',', КодДокумента) = 0 тогда
    начало
      Результат := CreateVariables;
      ДанныеЗаголовка := ПолучитьФормуВвода.Заголовки.Таблица;
      если ДанныеЗаголовка.НайтиПоле('ID', пКод) тогда
      если (пКод.FieldKind = 0) тогда //fkxData
      если ДанныеЗаголовка.Локализовать('ID', КодДокумента, 0) тогда
        от сч := 0 до ДанныеЗаголовка.ЧислоПолей - 1 делать
        начало
          ИмяВКоллекции := ПолучитьЛогИмяПоИмениНаИнтерфейсе(ДанныеЗаголовка.поля(сч).FieldName, 
                                                             ПолучитьФормуВвода.КодИнтерфейса, 0, 1);
          если УбратьПробелы(ИмяВКоллекции) &lt;&gt; '' тогда       
            // в случае Null значения явно добавляем элемент в коллекцию, 
            // так как присваивание Null значения приводит к удалению элемента из коллекции
            если ДанныеЗаголовка.поля(сч).IsNull тогда
              Результат.AddItems(ИмяВКоллекции)  
            иначе
              Результат.Значение(ИмяВКоллекции) := ДанныеЗаголовка.поля(сч).AsVariant;
        конец;
    конец;
  конец;
конец;

функция СохранитьКоллекциюДокументаДляАрхива(F1: IF1Book; ПараметрыВывода, ГлобПараметрыДокумента: IVariables; 
                                             ЭтоЛистКомпозита: целое);
переменные
  ModalReportBG: IModalReportBG;                                
  КоллекцияДокумента, КопияГлобПараметрыДокумента, ПараметрыВыводаОбщ, ПараметрыДокумента: IVariables;          
начало
  ModalReportBG := ModalWafer;
  если Разыменовать("ЕстьЛицензия.ЭлектронныйАрхив", 0) и (F1 &lt;&gt; nil) и (ModalReportBG &lt;&gt; nil) тогда
  начало
    КопияГлобПараметрыДокумента := CreateVariables;
    КопияГлобПараметрыДокумента.PumpData(ГлобПараметрыДокумента);
    ПараметрыВыводаОбщ := СформироватьПараметрыВывода(ПараметрыВывода);
    ПараметрыДокумента := СформироватьПараметрыПечДокумента(КопияГлобПараметрыДокумента);
    КоллекцияДокумента := СоздатьКоллекциюПараметровДляАрхива(КопияГлобПараметрыДокумента, ПараметрыВыводаОбщ, nil, ПараметрыДокумента);
    ModalReportBG.AddSheetCollection(F1.Sheet, КоллекцияДокумента, ЭтоЛистКомпозита);
  конец;
конец;


</value>
    <param value="ПоддержкаЭлАрхива.abl" type="3" name="version">36.042.191</param>
    <param value="ПоддержкаЭлАрхива.abl" type="3" name="crc32">$AAE4D3FE</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ФункцииДляF1.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\F1Tools.lib';
включить '\Библиотеки\XLS.lib';
включить '\Библиотеки\SysUtils.lib';

функция СкопироватьНастройкиF1(Source, Dest : IF1Book);
начало
  попытка
    Dest.SetPageSetup(Source.GetPageSetup);
  неудача
  конец;
  Dest.ShowGridLines := Source.ShowGridLines;
  Dest.ShowZeroValues := Source.ShowZeroValues;
  Dest.AutoRecalc := Source.AutoRecalc;
  Dest.ColWidthUnits := Source.ColWidthUnits;
  Dest.DefaultFontSize := -Source.DefaultFontSize;
  Dest.DefaultFontName := Source.DefaultFontName;
  Dest.PrecisionAsDisplayed := Source.PrecisionAsDisplayed;
конец;

Функция ОбъединитьЛистыF1(Source, Dest : IF1Book);
переменные
    lst : IVariables;
    ns, col, width, row, lastRow : целое;
    f1frm : IF1CellFormat;
    sc1, sc2, col1, col2, sr1, sr2 : целое;
начало
  lst := СоздатьКоллекцию;
  lst.Values(Формат('%.6d', 0)) := '';
  от ns := 1 до Source.NumSheets делать
    начало
      Source.Sheet := ns;
      width := 0;
      от col := 1 до Source.LastCol делать
       Если ((Source.ColWidth(col) &gt; 0) и не (Source.ColHidden(col))) тогда
          начало
            width := width + Source.ColWidth(col);
            Если не (lst.CheckParam(width)) тогда lst.Values(Формат('%.6d', width)) := '';
          конец;
    конец;

  от col := 0 до lst.Count - 1 делать
    lst.IndexValues(col) := col;

  Dest.ColWidthUnits := Source.ColWidthUnits;   //Нужно, чтобы в источнике и приемнике были одинаковые единицы измерения ширины колонок
  Dest.DefaultFontSize := -Source.DefaultFontSize;
  Dest.DefaultFontName := Source.DefaultFontName;
  от col := 1 до lst.Count - 1 делать
    Dest.ColWidth(col) := (СтрокаВЦелое(lst.Names(col))-СтрокаВЦелое(lst.Names(col - 1)));

  lastRow := 0;
  от ns := 1 до Source.NumSheets делать
    начало
      Source.Sheet := ns;
      от row := Source.TopRow до Source.LastRow делать
        начало
          lastRow := lastRow + 1;
          Dest.RowHeight(lastRow) := Source.RowHeight(row);
          Dest.RowHidden(lastRow) := Source.RowHidden(row);
          width := 0;
          col := 1;
          пока (col &lt;= Source.LastCol) делать
            начало
                 Если ((Source.ColWidth(col) &gt; 0) и не(Source.ColHidden(col))) тогда
                 начало
                   Source.SetSelection(row, col, row, col);

                   col1 := lst.Values(Формат('%.6d', width)) + 1;
                   width := width + Source.ColWidth(col);
                   col2 := lst.Values(Формат('%.6d', width));
                   попытка
                     Source.GetSelection(0, sr1, sc1, sr2, sc2);

                     Если (sc2 &gt; sc1) тогда
                       пока col &lt; sc2 делать
                         начало
                           col := col + 1;
                           Если ((Source.ColWidth(col) &gt; 0) и
                                не (Source.ColHidden(col))) тогда
                             начало
                               width := width + Source.ColWidth(col);
                               col2 := lst.Values(Формат('%.6d', width));
                             конец;
                         конец;

                     Dest.CopyRange(lastRow + sr1 - row, col1,
                                    lastRow + sr2 - row, col2,
                                    Source.SS,
                                    sr1, sc1, sr2, sc2);
                   неудача конец;
                   Dest.SetSelection(lastRow + sr1 - row, col1,
                                     lastRow + sr2 - row, col2);
                   f1frm := Dest.GetCellFormat;
                   Если (col1 &lt;&gt; col2) тогда f1frm.MergeCells := да;
                   Dest.SetCellFormat(f1frm);
                 конец;
              col := col + 1;
            конец;
          Если Source.NextRowPageBreak(row) = row тогда
            Dest.AddRowPageBreak(lastRow);
        конец;
    конец;
конец;

функция ОбъединитьЛистыF1ПоПростому(Source, Dest : IF1Book);
переменные
    ns, lastRow : целое;
    maxCol: целое;
    col, row: целое;
начало
  // Посчитаем число колонок
  maxCol := 1;
  от ns := 1 до Source.NumSheets делать
  начало
    Source.Sheet := ns;
    если maxCol &lt; Source.LastCol тогда
      maxCol := Source.LastCol;
  конец;
  //По первой таблице устанавливаем ширину колонок
  Source.Sheet := 1;
  Dest.ColWidthUnits := Source.ColWidthUnits;   //Нужно, чтобы в источнике и приемнике были одинаковые единицы измерения ширины колонок
  Dest.DefaultFontSize := -Source.DefaultFontSize;
  Dest.DefaultFontName := Source.DefaultFontName;
  от col := 1 до maxCol делать
  начало
    если col &gt; Source.LastCol тогда
      Dest.ColWidth(col) := 0
    иначе если Source.ColHidden(col) тогда
      Dest.ColWidth(col) := 0
    иначе
      Dest.ColWidth(col) := Source.ColWidth(col);     
  конец;
  // Копируем данные
  lastRow := 1;
  от ns := 1 до Source.NumSheets делать
  начало
    Source.Sheet := ns;
    Dest.CopyRange(lastRow, 1, lastRow + Source.LastRow - Source.TopRow, Source.LastCol,
                   Source.SS,
                   Source.TopRow, 1, Source.LastRow, Source.LastCol);                           
    от row := Source.TopRow до Source.LastRow делать
      начало
        Dest.RowHeight(lastRow) := Source.RowHeight(row);
        Dest.RowHidden(lastRow) := Source.RowHidden(row);
        Если Source.NextRowPageBreak(row) = row тогда
          Dest.AddRowPageBreak(lastRow);
        lastRow := lastRow + 1;
      конец;
  конец;
конец;

функция ОбъединитьПоследнийЛистСПредыдущим(F1: IF1Book);
переменные
  Буфер: IF1Book;
  row, lastRow, sheet: целое;
начало
  sheet := F1.NumSheets;
  F1.Sheet := sheet;
  если F1.LastRow &gt; 1 тогда
  начало
    Буфер := CreateF1Book;
    Буфер.CopyRange(1, 1, 1 + F1.LastRow - F1.TopRow, F1.LastCol,
                    F1.SS,
                    F1.TopRow, 1, F1.LastRow, F1.LastCol);
    lastRow := 1;
    от row := F1.TopRow до F1.LastRow делать
      начало
        Буфер.RowHeight(lastRow) := F1.RowHeight(row);
        Буфер.RowHidden(lastRow) := F1.RowHidden(row);
        Если F1.NextRowPageBreak(row) = row тогда
          Буфер.AddRowPageBreak(lastRow);
        lastRow := lastRow + 1;
      конец;
    F1.DeleteSheets(sheet, 1);
    F1.Sheet := sheet - 1;
    lastRow := F1.LastRow + 1;
    F1.CopyRange(lastRow, 1, lastRow + Буфер.LastRow - Буфер.TopRow, Буфер.LastCol,
                 Буфер.SS,
                 Буфер.TopRow, 1, Буфер.LastRow, Буфер.LastCol);
    от row := Буфер.TopRow до Буфер.LastRow делать
      начало
        F1.RowHeight(lastRow) := Буфер.RowHeight(row);
        F1.RowHidden(lastRow) := Буфер.RowHidden(row);
        Если Буфер.NextRowPageBreak(row) = row тогда
          F1.AddRowPageBreak(lastRow);
        lastRow := lastRow + 1;
      конец;
    F1.MaxRow := lastRow;
  конец иначе
    F1.DeleteSheets(sheet, 1);
конец;

функция ИндексСтрокиИКолонкиВДиапазон(row, col: целое): строка;
переменные
  стр, рез: строка;
начало
  стр := "ABCDEFGHIGKLMNOPQRSTUVWXYZ";
  рез := "";
  пока col цел 27 &gt; 0 делать
  начало
    рез := рез + "Z";
    col := col - 27;
  конец;
  Результат := рез + стр[col] + ЦелоеВСтроку(row);
конец;

// сохраняет формулу в файл в "безопасном" режиме, обходя все известные глюки формулы
// поддерживается только один лист!
функция СохранитьФормулуВФайлИОткрытьВExcel(F1: IF1Book; Flexcel: IXLSContainer; Excel: ВнешнийОбъект; Файл: строка);
переменные
  col, row, инд: Целое;
  т: Текст;
  стр: строка;
  v: IVariables;
  wb, sheet: ВнешнийОбъект;
начало
  v := СоздатьКоллекцию;
  // не смотря на заявленные 64Кб текста в ячейке, формула не умеет нормально сохранять текст &gt;4Кб
  // поэтому запомним и очистим все значения с текстом &gt;4Кб
  от row := F1.TopRow до F1.LastRow делать
  начало
    от col := F1.LeftCol до F1.LastCol делать
    начало
      стр := F1.TextRC(row, col);
      если Длина(стр) &gt; 4000 тогда
      начало
        v.Значение(ЦелоеВСтроку(row) + "," + ЦелоеВСтроку(col)) := стр;
        F1.TextRC(row, col) := "";
      конец;
    конец;
  конец;
  // теперь сохраняем в "безопасном режиме"
  SaveF1Book(F1, Файл, -1, нет);
  // открываем в XLSTransporter'е для дополнительной обработки
  Flexcel.OpenFile(Файл);
  Flexcel.DeleteFormulas;
  Flexcel.DeleteEnvSpecPrintRecord;
  Flexcel.SaveFile(Файл);
  // теперь можно и в Excel открыть
  Excel.Workbooks.Open(Файл);
  // восстанавливаем текст в ячейках с размером &gt;4Кб
  если v.Count &gt; 0 тогда
  начало
    т := СоздатьТекст;
    попытка
      wb := Excel.WorkBooks._Default(1);
      sheet := wb.Sheets(1);
      от инд := 0 до v.Count - 1 делать
      начало
        т.РазделенноеЗначение := v.Names(инд);
        row := СтрокаВЦелое(т.Стр(0));
        col := СтрокаВЦелое(т.Стр(1));
        стр := ИндексСтрокиИКолонкиВДиапазон(row, col);
        sheet.Range(стр).Value := v.IndexValues(инд);
      конец;
    обязательно
      УдалитьОбъект(т);
    конец;
  конец;
конец;

функция ЭкспортироватьПоследнийЛистФормулыВЭксель(Визуализатор: IUniViewer);
переменные
  F1: IF1Book;
  Flexcel: IXLSContainer;
  ИмяФайла: строка;
  вн: ВнешнийОбъект;
  Параметры, в: IVariables;
начало
  вн := Визуализатор.Viewer;
  f1 := Интерфейс(вн).ЗапроситьИнтерфейс('{B0475001-7740-11D1-BDC3-0020AF9F8E6E}');
  если f1 = nil тогда Возврат;
  ИмяФайла := GetTempFileName('f1');
  Параметры := СоздатьКоллекцию;
  в := СоздатьКоллекцию;
  в.Значение("AutoScalePages") := 1;
  Параметры.Значение(F1.Sheet) := в;
  SaveF1BookEx(F1, ИмяФайла, F1.Sheet, Нет, Параметры);
  Flexcel := CreateComObject(XLSContainer);
  Flexcel.OpenFile(ИмяФайла);
  Flexcel.ShowOffice(xsxShow, nil);
  если F1.NumSheets = 1 тогда
  начало
    Визуализатор.Clear;
    ReportBG.Clear;
  конец
  иначе
    F1.DeleteSheets(F1.Sheet, 1);
  DeleteFile(ИмяФайла);
конец;

</value>
    <param value="ФункцииДляF1.abl" type="3" name="version">36.042.191</param>
    <param value="ФункцииДляF1.abl" type="3" name="crc32">$BDA20592</param>
  </node>
  <version_info>
    <file>СобытияДляОтчетов.xml</file>
    <version>36.042.05</version>
    <info>&lt;p&gt;Макросы для обработки событий в отчетах&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:06</buildtime>
  </version_info>
  <description>Макросы обработки событий для отчетов</description>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="АктивацияОтчетов">включить '\Библиотеки\SharedParams.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\SysUtils.lib';
НаАктивацию(Параметры: IVariables);
начало  
конец.

</value>
    <param value="АктивацияОтчетов" type="3" name="Export">ARTEMY\kudryavov\15.06.2006 15:44:10</param>
    <param value="АктивацияОтчетов" type="3" name="version">36.042.05</param>
    <param value="АктивацияОтчетов" type="3" name="crc32">$213EC45A</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="ВыборОтчета">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\SysUtils.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\output.lib';

НаВыборОтчета(Параметры: IVariables);
переменные
  Шаблон:ITemplates;
  Путь : строка;
  Делегаты : УзелРеестра;
  Обработчики,ПлохиеОбработчики : Текст;
  Протокол : ОкноВывода;
  сч : целое;
  
начало
  Шаблон := nil;
  Путь := TemplatePath + '\' + Параметры.Values('Template'); 
  Если FileExists(Путь) тогда
    попытка
       Шаблон := СоздатьШаблон;
       Шаблон.Reading := -1;
       если (ExtractFileExt(Путь) = '.CLD') тогда выход; 
       Шаблон.Load(Путь);
       EventRecursive(ВыборОтчета, Параметры, Шаблон, да); 
    неудача
    конец;
  Параметры.Values('ШаблонОтчета') := Шаблон;
  Делегаты := Реестр.Узел(РабочийУзел + '\ВыборОтчета');
  Если Делегаты.Существует тогда
    начало
      Обработчики := СоздатьТекст;
      ПлохиеОбработчики := СоздатьТекст;      
      Обработчики.Значение := Делегаты.СписокЗначений;
      ПлохиеОбработчики.Значение := Values("НевыполняющиесяОбработчикиНаВыборОтчетов");
      от сч := 0 до Обработчики.Количество - 1 делать
      начало
        если ПлохиеОбработчики.Поиск(Обработчики.Стр(сч))=-1 тогда
        попытка
            ExecScript(РабочийУзел + '\ВыборОтчета\' + Обработчики.Стр(сч), Параметры);
        неудача
          Протокол  := ОкноВывода;
          Протокол.Вывести("Ошибка при обработке события НаВыборОтчета при попытке выполнить макрос: "+РабочийУзел + '\ВыборОтчета\' + Обработчики.Стр(сч)+". Макрос пропущен.");
          ПлохиеОбработчики.Добавить(Обработчики.Стр(сч));
          Values("НевыполняющиесяОбработчикиНаВыборОтчетов") := ПлохиеОбработчики.Значение;
        конец;
      конец;  
    конец;  
конец.
</value>
    <param value="ВыборОтчета" type="3" name="version">36.042.05</param>
    <param value="ВыборОтчета" type="3" name="crc32">$EF7EF81F</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События">
    <value type="7" name="ДеактивацияОтчетов">включить '\Библиотеки\SharedParams.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\SysUtils.lib';
НаДеактивацию(Параметры: IVariables);
начало  
конец.


</value>
    <param value="ДеактивацияОтчетов" type="3" name="Export">ARTEMY\kudryavov\15.06.2006 15:44:14</param>
    <param value="ДеактивацияОтчетов" type="3" name="version">36.042.05</param>
    <param value="ДеактивацияОтчетов" type="3" name="crc32">$05133838</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События\ВыборОтчета">
    <value type="7" name="ДобавитьКнопкиВОтчеты">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\SysUtils.lib';
включить '\Библиотеки\Variables.lib';
включить '\Макросы\Отчеты\ПоддержкаРасширений.abl';
ДобавитьКнопкиВОтчеты(Параметры: IVariables);
переменные
  BG : IReportPages;
начало
  BG := ReportBG;
  Если (BG &lt;&gt; nil) тогда BG.AddABLButtons('');
конец.
</value>
    <param value="ДобавитьКнопкиВОтчеты" type="3" name="version">36.042.05</param>
    <param value="ДобавитьКнопкиВОтчеты" type="3" name="crc32">$AC589FC0</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\События\ВыборОтчета">
    <value type="7" name="ОбработатьРасширенияИзКонфигурации">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\SysUtils.lib';
включить '\Библиотеки\Variables.lib';
включить '\Макросы\Отчеты\ПоддержкаРасширений.abl';
ДобавитьПараметрыНаПанельОграничений(Параметры: IVariables);
переменные
  КодОтчета: целое;
  ПараметрыРасширения: IVariables;
начало
  КодОтчета := Параметры.Values('Code');
  ПараметрыРасширения := CreateVariables;
  ПараметрыРасширения.Values(АлгГлобальныеПараметры) := Параметры;
  ОбработатьРасширенияДляОтчета(КодОтчета, мвВыборОтчета, ПараметрыРасширения); 
конец.
</value>
    <param value="ОбработатьРасширенияИзКонфигурации" type="3" name="version">36.042.05</param>
    <param value="ОбработатьРасширенияИзКонфигурации" type="3" name="crc32">$6681D150</param>
  </node>
  <version_info>
    <file>Сборка.СтандартныеДляОтчетов.xml</file>
    <version>36.042.25</version>
    <info>Содержат управляющие макросы. Эти макросы задают схему работы отчетов, т.е. управляют работой алгоритмов, а также задают объекты, на которые выводить отчет. </info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:07</buildtime>
  </version_info>
  <description>Стандартные макросы для отчетов</description>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="Алгоритмы">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\F1Tools.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаЭлАрхива.abl';

Формирование(
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);
переменные
  ШаблонОтчета, Раскладка : ITableInfoX;
  Визуализатор: IUniViewer; 
  ТекстПараметров : IVariables;
  Данные, Заголовок : СтатическиеДанные;
  BG : IReportPages;
  ИмяСтраницы, ИмяВизуализатора: строка;
  ЭтоГипертекст, ИндексВизуализатора : целое;
начало
  ЭтоГипертекст := нет;
  если (Коллекция = nil) тогда ВозбудитьОшибку('Активация не была проведена');
  BG := ReportBG;
  если (bg = nil) тогда ВозбудитьОшибку('Не могу получить подложку под отчеты');
  ИмяСтраницы := F1Caption;
  ИмяВизуализатора := F1Viewer;
  ИндексВизуализатора := F1ID;
  ЭтоГипертекст := ПроверитьЭтоГиперДокумент(ИмяСтраницы, ИмяВизуализатора, ИндексВизуализатора);
  Визуализатор := ОткрытьШаблон(Действие, CLSID, ИндексВизуализатора, 
                                Шаблон, ИмяСтраницы, ИмяВизуализатора,
                                ШаблонОтчета, Раскладка);
  если (Раскладка &lt;&gt; nil) тогда // если раскладка пустая, то ничего делать не надо 
    начало
      если ЭтоГипертекст тогда
        начало
          если (ШаблонОтчета = Раскладка) тогда ШаблонОтчета := nil;
          ДобавитьГиперКолонки(Раскладка);
          СнятьЛенту(Раскладка, да);
        конец;  
      СформироватьДанные(Параметры, Визуализатор, Раскладка,
                         Коллекция, ТекстПараметров,
                         Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLSID, ТекстПараметров, Коллекция);                  
      ВывестиДанные(Визуализатор, ШаблонОтчета, Раскладка,
                    ТекстПараметров, Коллекция, Данные, Заголовок, да);
      СохранитьКоллекцииОтчетаДляАрхива(Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book), 
                                        Параметры, ТекстПараметров, Коллекция, нет);                 
      если ЭтоГипертекст тогда НастроитьГиперДокумент(Визуализатор, Раскладка, Параметры, ТекстПараметров);
    конец;                
конец.
</value>
    <param value="Алгоритмы" type="3" name="version">36.042.25</param>
    <param value="Алгоритмы" type="3" name="crc32">$F59D7F74</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="АлгоритмыCells">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\Cells.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\ReportTools.lib';

Формирование(
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);
переменные
  ШаблонОтчета, Раскладка : ITableInfoX;
  Визуализатор: IUniViewer; 
  ТекстПараметров : IVariables;
  Данные, Заголовок : СтатическиеДанные;
  BG : IReportPages;
  ИмяСтраницы, ИмяВизуализатора: строка;
  ЭтоГипертекст, ИндексВизуализатора : целое;
начало
  если (Коллекция = nil) тогда ВозбудитьОшибку('Активация не была проведена');
  BG := ReportBG;
  если (bg = nil) тогда ВозбудитьОшибку('Не могу получить подложку под отчеты');
  ИмяСтраницы := CellCaption;
  ИмяВизуализатора := CellViewer;
  ИндексВизуализатора := CellID;
  Визуализатор := ОткрытьШаблон(Действие, CLSID, ИндексВизуализатора, 
                                Шаблон, ИмяСтраницы, ИмяВизуализатора,
                                ШаблонОтчета, Раскладка);
  если (Раскладка &lt;&gt; nil) тогда // если раскладка пустая, то ничего делать не надо 
    начало
      СформироватьДанные(Параметры, Визуализатор, Раскладка,
                         Коллекция, ТекстПараметров,
                         Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLSID, ТекстПараметров, Коллекция);                  
      ВывестиДанные(Визуализатор, ШаблонОтчета, Раскладка,
                    ТекстПараметров, Коллекция, Данные, Заголовок, да);
    конец;                
конец.
</value>
    <param value="АлгоритмыCells" type="3" name="Export">ARTEMY\kudryavov\13.12.2005 17:48:47</param>
    <param value="АлгоритмыCells" type="3" name="version">36.042.25</param>
    <param value="АлгоритмыCells" type="3" name="crc32">$CE563B9E</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="АлгоритмыДляCalc">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\ReportTools.lib';

Формирование(
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);
переменные
  ШаблонОтчета, Раскладка : ITableInfoX;
  Визуализатор: IUniViewer; 
  ТекстПараметров : IVariables;
  Данные, Заголовок : СтатическиеДанные;
  BG : IReportPages;
  ИмяСтраницы, ИмяВизуализатора: строка;
  ЭтоГипертекст, ИндексВизуализатора : целое;
начало
  ЭтоГипертекст := нет;
  если (Коллекция = nil) тогда ВозбудитьОшибку('Активация не была проведена');
  BG := ReportBG;
  если (bg = nil) тогда ВозбудитьОшибку('Не могу получить подложку под отчеты');
  ИмяСтраницы := CalcCaption;
  ИмяВизуализатора := OOCalcViewer;
  ИндексВизуализатора := CalcID;
  ЭтоГипертекст := ПроверитьЭтоГиперДокумент(ИмяСтраницы, ИмяВизуализатора, ИндексВизуализатора);
  Визуализатор := ОткрытьШаблон(Действие, CLSID, ИндексВизуализатора, 
                                Шаблон, ИмяСтраницы, ИмяВизуализатора,
                                ШаблонОтчета, Раскладка);
  если (Раскладка &lt;&gt; nil) тогда // если раскладка пустая, то ничего делать не надо 
    начало
      если ЭтоГипертекст тогда
        начало
          если (ШаблонОтчета = Раскладка) тогда ШаблонОтчета := nil;
          ДобавитьГиперКолонки(Раскладка);
          СнятьЛенту(Раскладка, да);
        конец;  
      СформироватьДанные(Параметры, Визуализатор, Раскладка,
                         Коллекция, ТекстПараметров,
                         Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLSID, ТекстПараметров, Коллекция);                  
      ВывестиДанные(Визуализатор, ШаблонОтчета, Раскладка,
                    ТекстПараметров, Коллекция, Данные, Заголовок, да);
      если ЭтоГипертекст тогда НастроитьГиперДокумент(Визуализатор, Раскладка, Параметры, ТекстПараметров);
    конец;
                    
конец.
</value>
    <param value="АлгоритмыДляCalc" type="3" name="Export">ARTEMY\kudryavov\30.05.2008 16:08:10</param>
    <param value="АлгоритмыДляCalc" type="3" name="version">36.042.25</param>
    <param value="АлгоритмыДляCalc" type="3" name="crc32">$151A1F04</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="АлгоритмыДляExcel">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\ReportTools.lib';

Формирование(
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);
переменные
  ШаблонОтчета, Раскладка : ITableInfoX;
  Визуализатор: IUniViewer; 
  ТекстПараметров : IVariables;
  Данные, Заголовок : СтатическиеДанные;
  BG : IReportPages;
  ИмяСтраницы, ИмяВизуализатора: строка;
  ЭтоГипертекст, ИндексВизуализатора : целое;
начало
  ЭтоГипертекст := нет;
  если (Коллекция = nil) тогда ВозбудитьОшибку('Активация не была проведена');
  BG := ReportBG;
  если (bg = nil) тогда ВозбудитьОшибку('Не могу получить подложку под отчеты');
  ИмяСтраницы := XMLCaption;
  ИмяВизуализатора := XMLViewer;
  ИндексВизуализатора := XMLID;
  ЭтоГипертекст := ПроверитьЭтоГиперДокумент(ИмяСтраницы, ИмяВизуализатора, ИндексВизуализатора);
  Визуализатор := ОткрытьШаблон(Действие, CLSID, ИндексВизуализатора, 
                                Шаблон, ИмяСтраницы, ИмяВизуализатора,
                                ШаблонОтчета, Раскладка);
  если (Раскладка &lt;&gt; nil) тогда // если раскладка пустая, то ничего делать не надо 
    начало
      если ЭтоГипертекст тогда
        начало
          если (ШаблонОтчета = Раскладка) тогда ШаблонОтчета := nil;
          ДобавитьГиперКолонки(Раскладка);
          СнятьЛенту(Раскладка, да);
        конец;  
      СформироватьДанные(Параметры, Визуализатор, Раскладка,
                         Коллекция, ТекстПараметров,
                         Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLSID, ТекстПараметров, Коллекция);                  
      ВывестиДанные(Визуализатор, ШаблонОтчета, Раскладка,
                    ТекстПараметров, Коллекция, Данные, Заголовок, да);
      если ЭтоГипертекст тогда НастроитьГиперДокумент(Визуализатор, Раскладка, Параметры, ТекстПараметров);
    конец;
                    
конец.
</value>
    <param value="АлгоритмыДляExcel" type="3" name="Export">ARTEMY\kudryavov\16.04.2008 16:38:28</param>
    <param value="АлгоритмыДляExcel" type="3" name="version">36.042.25</param>
    <param value="АлгоритмыДляExcel" type="3" name="crc32">$C155697E</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="АлгоритмыДляДанных">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\ReportTools.lib';

Формирование(
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);
переменные
  ШаблонОтчета, _ШаблонОтчета, Раскладка, _Раскладка : ITableInfoX;
  Визуализатор: IUniViewer; 
  ТекстПараметров : IVariables;
  Данные, Заголовок : СтатическиеДанные;
  сч : целое;
  BG : IReportPages;
  ИмяСтраницы, ИмяВизуализатора, Событие: строка;
  ЭтоГипертекст, ИндексВизуализатора : целое;
начало
  если (Коллекция = nil) тогда ВозбудитьОшибку('Активация не была проведена');
  BG := ReportBG;
  если (bg = nil) тогда ВозбудитьОшибку('Не могу получить подложку под отчеты');
  ИмяСтраницы := SSCaption;
  ИмяВизуализатора := SSViewer;
  ИндексВизуализатора := SSID;
  Визуализатор := ОткрытьШаблон(Действие, CLSID, ИндексВизуализатора,
                                Шаблон, ИмяСтраницы, ИмяВизуализатора,
                                ШаблонОтчета, Раскладка);
  если (Раскладка &lt;&gt; nil) тогда // если раскладка пустая, то ничего делать не надо 
    начало
      если Визуализатор.GetVariables.ПараметрСуществует("ГиперДокументЧек") тогда
        ЭтоГипертекст := Визуализатор.GetVariables.Значение("ГиперДокументЧек")
      иначе
        ЭтоГипертекст := ПроверитьЭтоГиперДокумент(ИмяСтраницы, ИмяВизуализатора, ИндексВизуализатора);  
      от сч := 0 до Визуализатор.TemplateCount - 1 делать
        начало
          Визуализатор.TemplateIndex := сч;
          если (сч = 0) 
            тогда _Раскладка := Раскладка
            иначе _Раскладка := Визуализатор.GetTable;
          Если (не _Раскладка.Params("PageSkipped")) тогда
            начало
              если (сч = 0) 
                тогда _ШаблонОтчета := ШаблонОтчета
                иначе _ШаблонОтчета := _Раскладка;
                
              если ЭтоГипертекст тогда
                начало
                  если (_ШаблонОтчета = _Раскладка) тогда _ШаблонОтчета := nil;
                  ДобавитьГиперКолонки(_Раскладка);
                  СнятьЛенту(_Раскладка, да);
                  // сохраним еще и индекс шаблона, для многостраничных гипер документов это необходимо
                  _Раскладка.Params("ИндексСтраницыШаблона") := Сч;
                конец;
                  
              СформироватьДанные(Параметры, Визуализатор, _Раскладка,
                                 Коллекция, ТекстПараметров, Данные, Заголовок);

              ВывестиДанные(Визуализатор, _ШаблонОтчета, _Раскладка,
                            ТекстПараметров, Коллекция, Данные, Заголовок, да);
              если ЭтоГипертекст тогда НастроитьГиперДокумент(Визуализатор, _Раскладка, Параметры, ТекстПараметров);
            конец;              
        конец;
      Событие := Визуализатор.Templates.Functions.Values('Активация');
      если (Событие &lt;&gt; '') тогда
        начало
          Event(Событие, nil);
        конец;                
    конец;  
конец.
</value>
    <param value="АлгоритмыДляДанных" type="3" name="Export">MALINOVKIN\malinovkin\06.04.2011 16:00:38</param>
    <param value="АлгоритмыДляДанных" type="3" name="version">36.042.25</param>
    <param value="АлгоритмыДляДанных" type="3" name="crc32">$7CB861D9</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="АлгоритмыН">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\ReportTools.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\F1Tools.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Отчеты\ПоддержкаПроекта.abl';
включить '\Макросы\Отчеты\ПоддержкаЭлАрхива.abl';

Формирование(
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Страницы, Страница, Ограничения, ЗначенияПараметров, ТекстПараметров,
  Заголовки, Парам, Обработчики : IVariables;
  Раскладка, ТекРаскладка : ITableInfoX;
  ИменаПараметров : ITempParamsX;
  Ткст : Текст;
  Визуализатор, ТекВизуализатор: IUniViewer; 
  BG : IReportPages;
  кол, сч, класс, Индекс : целое;
  F1 : ОБЪЕКТ;
  Данные : СтатическиеДанные;
  ИмяОбработчика : строка;
начало
  bg := ReportBG;
  если (bg = nil) тогда ВозбудитьОшибку('Не могу получить подложку под отчеты');
  Если (BG.IsExternalCall = нет) тогда bg.Clear;
  Ткст := СоздатьТекст;
  Ткст.РазделенноеЗначение(',') := Шаблон;
  кол := Ткст.Количество - 1;
  если (кол &lt; 0) тогда выход;
  Страницы := CreateVariables;
  Страницы.SetCapacity(кол + 1);
  Визуализатор := CreateComObject(F1Viewer);
  Индекс := BG.Add('Композиция', F1ID, Визуализатор);
  BG.CheckControl(Индекс);
  F1 := Визуализатор.Viewer;
  Ограничения := CreateVariables;
  Ограничения.SetCapacity((кол + 1) * 4); 
  от сч:=0 до кол делать
    начало
      класс := СтрокаВЦелое(Ткст.Стр(сч));
      Страница := CreateVariables;
      Страница.SetCapacity(4);
      Страницы.Values(Класс) := Страница;
      ТекВизуализатор := CreateComObject(F1Viewer);
      ТекВизуализатор.Viewer := F1;
      Шаблон := bg.TemplateByCLS(класс); 
      LoadTemplateToViewer(Шаблон, ТекВизуализатор);
      Страница.Values('Визуализатор') := ТекВизуализатор;
      Страница.Values('Таблица') := ТекВизуализатор.GetTable;
      Страница.Values('События') := ТекВизуализатор.GetProjVars;
      Страница.Values('Параметры') := ТекВизуализатор.GetParams;
      Ограничения.PumpData(ТекВизуализатор.GetVariables);
    конец;
    
  ЗначенияПараметров := ПолучитьПараметры(Ограничения, Параметры);
  ТекстПараметров := ПолучитьПараметрыТекст(ЗначенияПараметров, Параметры);
  
  Заголовки := CreateVariables;
  
  кол := Страницы.Count - 1;
  Раскладка := CreateTableInfo;
  от сч:=0 до кол делать
    начало
      Страница := Страницы.IndexValues(сч);
      ИменаПараметров := Страница.Values('Параметры');
      СформироватьПараметры(Раскладка, ИменаПараметров, ЗначенияПараметров, ТекстПараметров, Заголовки);
      СформироватьПараметрыПроекта(ЗначенияПараметров);
    конец;  
  
  от сч:=0 до кол делать
    начало
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Таблица');
      Раскладка.Join(ТекРаскладка); 
    конец;
    
  Данные := СоздатьСтатическиеДанные;
  ДобавитьПоля(Раскладка, Данные);
  Данные.Открыть;   
  
  Парам := CreateVariables;
  Парам.Values(АлгПараметры) := ЗначенияПараметров;
  Парам.Values(АлгДанные) := Данные;
  Парам.Values(АлгЗаголовки) := Заголовки;
  Парам.Values(АлгПараметрыВывода) := ТекстПараметров;
  
  от сч:=0 до кол делать
    начало
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Таблица');
      ИменаПараметров := Страница.Values('Параметры');
      Парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
      Парам.Values(АлгРаскладка) := ТекРаскладка;
      Обработчики := Страница.Values('События');
      // Обработчик до закачки - ДоЗакачки 
      ИмяОбработчика := Обработчики.Values('ДоЗакачки');
      если (ИмяОбработчика &lt;&gt; '') тогда Event(ИмяОбработчика, Парам);
    конец;
  Парам.Values(АлгРаскладка) := Раскладка;
  Парам.Values(АлгГлобальныеПараметры) := Коллекция;

  ВыполнитьАлгоритмы(Раскладка, Парам);
  
  от сч:=0 до кол делать
    начало
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Таблица');
      ИменаПараметров := Страница.Values('Параметры');
      Парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
      Парам.Values(АлгРаскладка) := ТекРаскладка;
      Обработчики := Страница.Values('События');
      // Обработчик до закачки - ПослеЗакачки 
      ИмяОбработчика := Обработчики.Values('ПослеЗакачки');
      если (ИмяОбработчика &lt;&gt; '') тогда Event(ИмяОбработчика, Парам);
      ДополнительнаяОбработкаРаскладки(ТекРаскладка, ЗначенияПараметров);
      ДополнительнаяОбработкаДанных(Раскладка, ЗначенияПараметров, Данные);
      Страница := Страницы.IndexValues(сч);
      Визуализатор := Страница.Values('Визуализатор');
      ВывестиДанные(Визуализатор, ТекРаскладка, ТекРаскладка, ТекстПараметров, Коллекция, Данные, nil, нет);
      СохранитьКоллекцииОтчетаДляАрхива(Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book), 
                                        Параметры, ТекстПараметров, Коллекция, да);   
      Визуализатор.Viewer := nil;              
    конец;
конец.
</value>
    <param value="АлгоритмыН" type="3" name="version">36.042.25</param>
    <param value="АлгоритмыН" type="3" name="crc32">$DD648D65</param>
  </node>
  <node path="%root%\Объекты\Контроль\Скрипты\События">
    <value type="7" name="ВыборН">включить '\Библиотеки\BG.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Statics.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\StateMAnage.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаОтчетов.abl';
включить '\Макросы\Отчеты\ПоддержкаПроекта.abl';
включить '\Макросы\Контроль\ВыборДляПредставлений.abl';
включить 'project';
ВыборН(BG : IBG);
переменные
  v : IUniViewer;
  Раскладка, ТекРаскладка : ITableInfoX;
  РаскладкиЗапросов : ITableListX;
  Огр, Заголовки, Парам, Страницы, Страница, //Обработчики,
  НаборДанных,
  ПарамКонтроля   : IVariables;
  ИменаПараметров : ITempParamsX;
  Гриды: IStaticSets;
  ТипДанныхКонтроля,
  сч, кол, Права : целое;
  Данные : СтатическиеДанные;
  БК, Код : строка; 
  БКы : Текст;
  Ограничения, ВнешниеОграничения: IVariables;
  Узел : УзелРеестра;
  пВремя : дробное;
  Колонка : IColumnInfoX;
  Контроль : СтатическиеДанные;
  fID, fCR, fRI : Поле;
  Прогресс: IProgress; 

функция ПолучитьВнешниеПараметрыОграничения(ПараметрОбъекта: строка): IVariables;
переменные
  ссОбъекты: СтатическиеДанные;
  тПараметры: Текст;
  i: целое;
  ИмяПараметра: строка;
начало
  результат := СоздатьКоллекцию;
/$если Бюджет  
  если ПараметрОбъекта &lt;&gt; "" тогда
  начало
    ссОбъекты := СоздатьСтатическиеДанные;
    тПараметры := СоздатьТекст;
    попытка
      ссОбъекты.СоединитьБД;
      ссОбъекты.СекцияЗапроса(swPumpData, 0) := Формат("select paramcollection from interfaces where (guid = '{D546596C-CBDC-4B6B-A2D4-FC836F1C980F}') and (param = '%s')", 
        ПараметрОбъекта);
      ссОбъекты.Открыть;
      если (ссОбъекты.ЧислоЗаписей &gt; 0) тогда
      начало
        тПараметры.РазделенноеЗначение := ссОбъекты.ПолеПоИмени("paramcollection").КакСтрока;
        от i := 0 до тПараметры.Количество - 1 делать
        начало
          ИмяПараметра := тПараметры.ИмяПараметра(i);
          результат.Значение(ИмяПараметра) := тПараметры.ЗначениеПараметра(ИмяПараметра);
        конец;
      конец;
    обязательно
      УдалитьОбъект(ссОбъекты, тПараметры);
    конец;
  конец;
/$конец  
конец;

начало
  Прогресс := Progress;
  Если (Прогресс &lt;&gt; nil) тогда Прогресс.BeginProgress;
  попытка
  v := BG.Viewer;
  Ограничения := CreateVariables;
  ВнешниеОграничения := ПолучитьВнешниеПараметрыОграничения(Модуль(BG).ВыполнитьДействие(105, null));
  Ограничения.Values('АДМИН') := BG.IsAdmin;
  v.Template := BG.Template;
  Огр := CreateVariables;
  Узел := Реестр.Узел(BG.Node);
  
  пВремя := ТекущаяДатаССервера;
  
  Огр.Values('ТекстЗаголовка') := Узел.Значение('Текст').КакСтрока + #13#10 + 
                                  'Время получения данных : ' + ВремяВСтроку(пВремя) + ' - ' +  ДатаВСтроку(пВремя);
  Огр.Values('ВысотаЗаголовка') := Узел.Значение('Высота').КакЦелое;
  Права := Узел.Значение('Права').КакЦелое;
  если BG.UseParams тогда
    начало
      если (не BG.IsAdmin) и (Права &lt;&gt; 0) тогда
        Огр.Values('ОграничВидимостьПоПравамЧек') := да;
      ПолучитьПараметры(Огр, BG.Params);
    конец иначе
    начало
      если (не BG.IsAdmin) и (Права &lt;&gt; 0) тогда
        НАЛОЖИТЬОГРАНИЧЕНИЯПРАВА(Огр, (Права = 2));
    конец;  
  Раскладка := CreateTableInfo;
  Страницы := CreateVariables;
  кол := v.TemplateCount-1;
  от сч:=0 до кол делать
    начало
      Страница := CreateVariables;
      v.TemplateIndex := сч;
      Огр.PumpData(v.GetVariables);
      ТекРаскладка := v.GetTable;      
      РаскладкиЗапросов := v.Tables;
      ИменаПараметров := v.GetParams;
      Раскладка.Join(ТекРаскладка);
      Страница.Values('Таблица') := ТекРаскладка;
//      Страница.Values('События') := Обработчики;
      Страница.Values('Параметры') := ИменаПараметров;
      Страница.Values('Таблицы') := РаскладкиЗапросов;
      Страницы.Values(сч) := Страница;
    конец;
  Огр.PumpData(Ограничения);
  Огр.PumpData(ВнешниеОграничения);
  если не Огр.ПараметрСуществует('ПечатныйДокумент')
    тогда Огр.Values('ПечатныйДокумент') := нет;
  если не Огр.ПараметрСуществует('ТипДатыУнивер')
    тогда Огр.Values('ТипДатыУнивер') := 0;
  если не Огр.ПараметрСуществует('ТипОгрДата')  
    тогда Огр.Values('ТипОгрДата') := 0;
  если (Узел.Значение('OptionsPath').КакСтрока &lt;&gt; "") и (Узел.Значение("Код").КакСтрока &lt;&gt; "") тогда
  начало
    Ограничения.Значение("Код") := Узел.Значение("Код").КакЦелое;
    Ограничения.Значение("OptionsPath") := Узел.Значение('OptionsPath').КакЦелое;
    ЗагрузитьНастройкиОтчета(Ограничения, Огр)
  конец; 
 
  Данные := СоздатьСтатическиеДанные;
  ДобавитьПоля(Раскладка, Данные);
  Данные.Открыть;   

  Заголовки := CreateVariables;
  
  Парам := CreateVariables;
  Парам.Values(АлгПараметры) := Огр;
  Парам.Values(АлгДанные) := Данные;
  Парам.Values(АлгЗаголовки) := Заголовки;
  Парам.Values(АлгПараметрыВывода) := Огр;
  Парам.Values(АлгВизуализатор) := v;
  от сч:=0 до кол делать
    начало
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Таблица');
      РаскладкиЗапросов := Страница.Values('Таблицы');      
      ИменаПараметров := Страница.Values('Параметры');
      Парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
      Парам.Values(АлгРаскладка) := ТекРаскладка;
      v.TemplateIndex := сч;
      // Обработчик до закачки - ДоЗакачки
      EventRecursive(ДоЗакачки, Парам, v.Templates, нет); 
      // формируем параметры ЗАПРОСОВ!!!
      СформироватьПараметрыЗапросов(РаскладкиЗапросов, nil,
                                    Огр, nil, nil, ТекРаскладка, Данные, Reporter);   
    конец;
    
  Парам.Values(АлгРаскладка) := Раскладка;
  Парам.Values(АлгГлобальныеПараметры) := Ограничения;

  ВыполнитьАлгоритмы(Раскладка, Парам);

  от сч:=0 до кол делать
    начало
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Таблица');
      ИменаПараметров := Страница.Values('Параметры');
      Парам.Values(АлгПараметрыШаблона) := ИменаПараметров;
      Парам.Values(АлгРаскладка) := ТекРаскладка;
      v.TemplateIndex := сч;
      // Обработчик до закачки - ПослеЗакачки
      EventRecursive(ПослеЗакачки, Парам, v.Templates, нет); 
      ДополнительнаяОбработкаРаскладки(ТекРаскладка, Огр);
    конец;
    
  ДополнительнаяОбработкаДанных(Раскладка, Огр, Данные);

  Гриды := v.Viewer;
    
  Колонка := nil;
  сч := Раскладка.FindColumn('RowImage');
  если (0 &lt;= сч) тогда Колонка := Раскладка.Columns(сч);
  БК := Узел.Значение('БК').КакСтрока;
  если (Данные.RecordCount &lt;&gt; 0) тогда
  если (Колонка &lt;&gt; nil) тогда
  если (Колонка.IsRequired &lt;&gt; нет) тогда
  если Колонка.IsField тогда
  если (БК &lt;&gt; '') тогда
    начало //вызов бюджетного контроля заданного в параметрах
      Код := Узел.Значение('КодИмя').КакСтрока;
      ТипДанныхКонтроля := Узел.Значение('ТипДанныхКонтроля').КакЦелое;
      если ТипДанныхКонтроля = 0
        тогда ТипДанныхКонтроля := ctCaption;
      если (Код = '') тогда Код := 'КодДокумента';
      ВызватьПереченьКонтролейПоИД(Данные, ТипДанныхКонтроля, БК, Колонка.FieldName, Код);
/*      Контроль := СоздатьСтатическиеДанные();
      fID := Контроль.ДобавитьЦелоеПоле('ID'); 
      fCR := Контроль.ДобавитьЦелоеПоле(ControlResult);
      Контроль.Открыть();
      Контроль.GroupData(Данные, 'Keys=ID;ID=' + Код + ';'+ControlResult+'=-1;Default=false');
      БКы := СоздатьТекст();
      ПарамКонтроля := CreateVariables();
      НаборДанных := CreateVariables();      
      попытка
        БКы.РазделенноеЗначение := БК;
        //определяем передаваемый в контроль набор данных
        ПарамКонтроля.Values(кВидНабораДанных) := ТипДанныхКонтроля;
        ПарамКонтроля.Values(stVarControlData) := НаборДанных; 
        НаборДанных.Values('0') := Контроль;
        от сч:=0 до БКы.Количество-1 делать
          начало
            ПарамКонтроля.Values(cPrevCall) := (сч &lt;&gt; (БКы.Количество-1));
            ExecuteControl(БКы.Стр(сч), ctxView, ПарамКонтроля);
          конец;
      обязательно
        Интерфейс(НаборДанных).Освободить;
        Интерфейс(ПарамКонтроля).Освободить;
        УдалитьОбъект(БКы);
      конец;
      //возврат результатов бюджетного контроля в основные данные  
      Данные.Индекс := Код;
      fRI := Данные.Поле(Колонка.FieldName);
      Контроль.First;
      пока (не Контроль.Eof) делать
        начало
          Данные.SetScope(ArrayOf(fID.AsInteger));
          Данные.First;
          пока (не Данные.Eof) делать
            начало
              если (0 &lt;= fCR.AsInteger)
                тогда fRI.AsInteger := tcr_OffsetView + fCR.AsInteger
                иначе fRI.AsInteger := -1;
              Данные.Next;
            конец;
          Контроль.Next;
        конец;
      Данные.CancelRange;*/  
    конец;

  от сч:=0 до кол делать
    начало
      v.TemplateIndex := сч;
      Страница := Страницы.IndexValues(сч);
      ТекРаскладка := Страница.Values('Таблица');
      ВывестиДанные(v, ТекРаскладка, ТекРаскладка, Огр, Ограничения, Данные, nil, нет);
    конец;
  
  Гриды.PageIndex := 0;
  
  выбрать Узел.Значение('Кнопки').КакЦелое из
    1 : Гриды.btnsVisible := нет;
    2 : от сч:=tbxFirst до tbxLast делать Гриды.btnVisible(сч) := нет; 
  конец;
  обязательно
  Если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
  конец;  
конец;
</value>
    <param value="ВыборН" type="3" name="version">36.042.25</param>
    <param value="ВыборН" type="3" name="crc32">$6BE8F081</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="КомпозицияОтчетов">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
Формирование(
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);
переменные
  BG: IReportPages;
  Txt : Текст;
  i, с, CLS : целое;
начало
  если (Коллекция = nil) тогда ВозбудитьОшибку('Активация не была проведена');
  BG := ReportBG;
  Коллекция.Значение("ЭтоКомпозит") := да;
  если (bg = nil) тогда ВозбудитьОшибку('Не могу получить подложку под отчеты');
  Если (BG.IsExternalCall = нет) тогда BG.Clear;
  Txt := СоздатьТекст;
  Txt.РазделенноеЗначение := Шаблон;
  с := Txt.Количество - 1;
  от i:=0 до с делать
    начало
      CLS := СтрокаВЦелое(Txt.Стр(i));
      BG.RunByCLS(CLS);
    конец;
конец;
</value>
    <param value="КомпозицияОтчетов" type="3" name="version">36.042.25</param>
    <param value="КомпозицияОтчетов" type="3" name="crc32">$2C91722D</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="КомпозицияОтчетовCells">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\Cells.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
Формирование(                              
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);
переменные
  BG: IReportPages;
  ТекстПараметров, Парам : IVariables;
  Данные, Заголовок : СтатическиеДанные;
  Раскладка : ITableInfoX;
  Txt : Текст;  
  ы, CLS, сч : целое;
  Визуализатор, TempViewer : IUniViewer;
  Doc, Report : ICellDocument;  
начало
  BG := ReportBG;
  BG.Clear;
  // визуализатор для итогового отчета
  Визуализатор := CreateComObject(CellViewer);
  Визуализатор.Viewer := Визуализатор.CreateViewObject;
  Визуализатор.SetProject(Pather);
  BG.Add(CellCaption, CellID, Визуализатор);  
  // визуализатор для отчетов входящих в композитный
  TempViewer := CreateComObject(CellViewer);
  TempViewer.Viewer := TempViewer.CreateViewObject;
  TempViewer.SetProject(Pather);
  Doc := Интерфейс(TempViewer.Viewer).ЗапроситьИнтерфейс(_ICellDocument);

  Report := Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_ICellDocument);

  Txt := СоздатьТекст;  
  Txt.РазделенноеЗначение := Шаблон;
  сч := 0;
  // Делим корневую ячейку
  Report.Root.Orientation := 1;
  Report.Root.CellCount := 2;
  от ы := 0 до Txt.Количество - 1 делать
    начало
      CLS := Txt.Стр(ы);
      TempViewer.Template := TemplatePath + '\' + BG.TemplateByCLS(CLS);
      если (ы = 0) тогда 
        начало
          Визуализатор.Template := TempViewer.Template;
          Report.Root.DeleteCell(да);
        конец;     
      Раскладка := TempViewer.GetTable;      
      Парам := СоздатьКоллекцию;
      Парам.PumpData(Коллекция);
      ТекстПараметров := nil;
      Заголовок := nil;
      Данные := nil;      
      СформироватьДанные(Параметры, TempViewer, Раскладка,
                         Парам, ТекстПараметров,
                         Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLS, ТекстПараметров, Парам);                  
      ВывестиДанные(TempViewer, Раскладка, Раскладка,
                    ТекстПараметров, Парам, Данные, Заголовок, да);      
      Report.Root.Cells(сч).Clone(Doc.Root);
      Report.Root.Cells(сч + 1).Replicate;           
      сч := сч + 1;                      
      TempViewer.Clear;
    конец;
  от ы := Report.Root.CellCount - 1 назад сч делать
    если Report.Root.CellCount &gt; 0 тогда
      Report.Root.Cells(ы).DeleteCell(да);
конец;
</value>
    <param value="КомпозицияОтчетовCells" type="3" name="Export">ARTEMY\kudryavov\12.10.2006 16:25:50</param>
    <param value="КомпозицияОтчетовCells" type="3" name="version">36.042.25</param>
    <param value="КомпозицияОтчетовCells" type="3" name="crc32">$7670DD6C</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="ЛентаОтчетов">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\F1Tools.lib';
включить '\Макросы\Отчеты\ПоддержкаЭлАрхива.abl';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ФункцииДляF1.abl';

Формирование(
  Действие: целое;
  CLSID : целое;
  Шаблон : строка;
  Параметры : строка;
  Коллекция : IVariables;
);

переменные
  Визуализатор: IUniViewer;
  ТекстПараметров, Парам : IVariables;
  Страницы, Страница, Обработчики : IVariables;
  Данные, Заголовок, Заголовок_, Заголовок__, Данные_ : СтатическиеДанные;
  ШаблонОтчета, Раскладка, Лента : ITableInfoX;
  Ткст : Текст;  
  МасштабСтраницы: целое;  

функция ПолучитьМассивОграничения(СтрокаСортировки: строка; Заголовок: СтатическиеДанные): Variant;
переменные
  т: Текст;
  инд: целое;
  Field: IField;
  стр: Строка;
начало
  т := СоздатьТекст;
  т.РазделенноеЗначение(";") := СтрокаСортировки;
  Результат.VarArrayCreate(varVariant, 0, т.Количество - 1);
  от инд := 0 до т.Количество - 1 делать
  начало
    стр := т.Стр(инд);
    если (стр[1] = "+") или (стр[1] = "-") тогда
      стр := Подстрока(стр, 2, Длина(стр));
    Field := Заголовок.ПолеПоИмени(стр);
    выбрать Field.FieldType из
      1 : Результат.AsWideString(инд) := Field.AsString;
      2 : Результат.AsInteger(инд) := Field.AsInteger;
      3 : Результат.AsInteger(инд) := Field.AsInteger;
      4 : Результат.AsFloat(инд) := Field.AsFloat;
      5 : Результат.AsFloat(инд) := Field.AsFloat;
      6 : Результат.AsFloat(инд) := Field.AsFloat;
      7 : Результат.AsFloat(инд) := Field.AsFloat;
      8 : Результат.AsInteger(инд) := Field.AsInteger;
    иначе
      Результат.AsWideString(инд) := Field.AsString;
    конец;
  конец;
конец;

функция ОбъединитьЛистыПослеВыводаДанных(ДокументНеПустой, сч, ПервыйДокумент, ПоследнийДокумент: целое);
переменные
  ОпцииШаблона: IVariables;
  f1: IF1Book;
  Row, CopyTopRow, CopyBottomRow, НуженРазрыв: целое;
  HeaderRows, FooterRows, НеВыводитьПустойДокумент, ResultRow, SaveLastRow: целое;
начало
  f1 := Визуализатор.Viewer;
  ОпцииШаблона := Страница.Значение("ОпцииШаблона");

  // подбираем минимальный масштаб
  если ПервыйДокумент тогда
    МасштабСтраницы := f1.PrintScale;
  если (МасштабСтраницы &gt; f1.PrintScale) тогда
    МасштабСтраницы := f1.PrintScale;
  если ПоследнийДокумент тогда
    f1.PrintScale := МасштабСтраницы;

  // удалим верхнюю часть копируемой области, кроме первого листа
  если не ПервыйДокумент тогда
    HeaderRows := Страница.Значение("КоличествоСтрокВШапке")
  иначе
    HeaderRows := 0;
  если (HeaderRows &gt; 0) тогда
    f1.DeleteRange(1, 1, HeaderRows, f1.LastCol, F1ShiftRows);

  // удалим нижнюю часть копируемой области, кроме последнего листа
  если не ПоследнийДокумент тогда
    FooterRows := Страница.Значение("КоличествоСтрокВПодписи")
  иначе
    FooterRows := 0;
  если (FooterRows &gt; 0) тогда
  начало
    НуженРазрыв := (f1.NextRowPageBreak(f1.LastRow - FooterRows + 1) &lt;&gt; 0);
    f1.DeleteRange(f1.LastRow - FooterRows + 1, 1, f1.LastRow, f1.LastCol, F1ShiftRows);
    если НуженРазрыв тогда
      f1.AddRowPageBreak(f1.LastRow);
  конец;

  НеВыводитьПустойДокумент := 0;
  если ТекстПараметров.ПараметрСуществует("НеВыводитьПустойДокумент") тогда
    НеВыводитьПустойДокумент := ТекстПараметров.Значение("НеВыводитьПустойДокумент");
  если (ДокументНеПустой или (НеВыводитьПустойДокумент = 0)) тогда
    сч := сч + 1
  иначе
  начало
    // если документ пустой и задан параметр "НеВыводитьПустойДокумент", то удалим табличную область
    Row := ОпцииШаблона.Значение("Row") - HeaderRows;
    CopyTopRow := Row - ОпцииШаблона.Значение("CopyTopRow");
    если ТекстПараметров.ПараметрСуществует("УдалитьВПустомДокументеСтрокНадТаблицей") тогда
     CopyTopRow := CopyTopRow - ТекстПараметров.Значение("УдалитьВПустомДокументеСтрокНадТаблицей");
    CopyBottomRow := Row - 1 + ОпцииШаблона.Значение("CopyBottomRow"); // -1 т.к. строки данных таблицы уже удалены
    если (CopyTopRow &lt;= CopyBottomRow) тогда
      f1.DeleteRange(CopyTopRow, 1, CopyBottomRow, f1.LastCol, F1ShiftRows);
  конец;

  если F1.NumSheets = 1 тогда
    F1.Sheet := 1
  иначе
    F1.Sheet := F1.NumSheets - 1;
  SaveLastRow := F1.LastRow;
  если не ПервыйДокумент тогда
    ОбъединитьПоследнийЛистСПредыдущим(f1);
    
  если ТекстПараметров.ПараметрСуществует("ДобавитьРазрывСтраницыПередИтогами") и (ТекстПараметров.Значение("ДобавитьРазрывСтраницыПередИтогами") = 1) тогда
  начало
    попытка
      ResultRow := Визуализатор.GetTable.Params("@RowCount");
      если ResultRow &gt; 0 тогда
      начало
        если ResultRow &lt;= 2 тогда
          ResultRow := SaveLastRow + ResultRow + Визуализатор.GetTable.Params("@Top") - ОпцииШаблона.Значение("CopyTopRow")
        иначе
          ResultRow := SaveLastRow + ResultRow + Визуализатор.GetTable.Params("@Top") - 2;
        AddResultPageBreak(F1, ResultRow);
      конец;
    неудача
    конец;
  конец;
    
  // добавляем разрыв страницы, если это не последний лист и задан параметр "ДобавитьРазрывВКонцеСтраницы"
  НуженРазрыв := 0;
  если ТекстПараметров.ПараметрСуществует("ДобавитьРазрывВКонцеСтраницы") тогда
    НуженРазрыв := ТекстПараметров.Значение("ДобавитьРазрывВКонцеСтраницы");
  если (не ПоследнийДокумент) и НуженРазрыв тогда
    f1.AddRowPageBreak(f1.LastRow);
конец;

функция ПроверитьКопируемуюОбласть(Страница: IVariables);
переменные
  Визуализатор: IUniViewer;
  Раскладка: ITableInfoX;
  ОпцииШаблона: IVariables;
  f1: IF1Book;
  Sheet: IUniSheet;
  КоличествоСтрокВШапке, КоличествоСтрокВПодписи: целое;
начало
  Визуализатор := CreateComObject(F1Viewer);
  Визуализатор.Viewer := Визуализатор.CreateViewObject;
  Визуализатор.SetProject(Pather);
  Визуализатор.Template := Страница.Values('Шаблон');              
  Раскладка := Страница.Значение("Раскладка");
  ОпцииШаблона := Страница.Значение("ОпцииШаблона");
  f1 := Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book);
  // Создаем промежуточную структуру для построения отчета
  Sheet := CreateSheet;
  Визуализатор.BeginBelt;
  Визуализатор.ViewToBelt(Sheet);
  Визуализатор.EndBelt(Sheet);
  КоличествоСтрокВШапке := ОпцииШаблона.Значение("TopRow") - 1;
  если (КоличествоСтрокВШапке &lt; 0) тогда
    КоличествоСтрокВШапке := 0;
  КоличествоСтрокВПодписи := f1.LastRow + Раскладка.RowCount - ОпцииШаблона.Значение("BottomRow");
  если (КоличествоСтрокВПодписи &lt; 0) тогда
    КоличествоСтрокВПодписи := 0;
  Страница.Значение("КоличествоСтрокВШапке") := КоличествоСтрокВШапке; 
  Страница.Значение("КоличествоСтрокВПодписи") := КоличествоСтрокВПодписи; 
конец;

функция ЕстьЛистСИменем(F1: IF1Book; Имя: строка): целое;
переменные
  лист: целое;
начало
  Результат := нет;
  от лист := 1 до F1.NumSheets - 1 делать
    если F1.SheetName(лист) = Имя тогда
    начало
      Результат := да;
      прервать;
    конец;
конец;


функция ПрисвоитьИмяЛисту(F1: IF1Book; Имя: строка);
переменные
  инд: целое;
  НовоеИмя: строка;
начало
  если ЕстьЛистСИменем(F1, Имя) тогда
    от инд := 1 до 100 делать
    начало
      НовоеИмя := Имя + "_" + ЦелоеВСтроку(инд);
      если не ЕстьЛистСИменем(F1, НовоеИмя) тогда
        прервать;  
    конец
  иначе
    НовоеИмя := Имя;
  F1.SheetName(F1.NumSheets) := НовоеИмя; 
конец;

переменные
  BG: IReportPages;
  CLS, ы, сч, КолДокументов : целое;
  стр, ИмяОбработчика : строка;
  ДокументНеПустой : целое;
  ПараметрыВывода: IVariables;
начало
  BG := ReportBG;
  Ткст := СоздатьТекст;
  Лента := СоздатьРаскладку;
  Страницы := СоздатьКоллекцию;
  ПараметрыВывода := СоздатьКоллекцию;
  Ткст.РазделенноеЗначение := Шаблон;
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := СтрокаВЦелое(Ткст.Стр(ы));
      Визуализатор := ОткрытьШаблон(Действие, CLSID, F1ID, 
                                    BG.TemplateByCLS(CLS), F1Caption, F1Viewer,
                                    ШаблонОтчета, Раскладка);
      Парам := СоздатьКоллекцию;
      Парам.PumpData(Коллекция);
      Раскладка := Визуализатор.GetTable;
      Лента.Join(Раскладка);
      ТекстПараметров := nil;
      Заголовок := nil;
      Данные := nil;
      СформироватьДанные(Параметры, Визуализатор, Раскладка,
                         Парам, ТекстПараметров,
                         Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLS, ТекстПараметров, Парам);
      ПараметрыВывода.PumpData(ТекстПараметров);      
      Страница := СоздатьКоллекцию;
      Страницы.Значение(CLS) := Страница;
      Страница.Значение("Шаблон") := Визуализатор.Template;
      Страница.Значение("Данные") := Данные;
      Страница.Значение("Заголовок") := Заголовок;
      Страница.Значение("Парам") := Парам;
      Страница.Значение("Раскладка") := Раскладка;
      Страница.Значение("ТекстПараметров") := ТекстПараметров;
      Страница.Значение("Обработчики") := Визуализатор.GetProjVars;
      Страница.Значение("ОпцииШаблона") := Визуализатор.Templates.Template.Options;
      ПроверитьКопируемуюОбласть(Страница);
    конец;
  Лента := Лента.GetBeltColumns;
  если Лента &lt;&gt; nil тогда
  начало
    Заголовок := СоздатьСтатическиеДанные;
    // получаем все ленточные поля
    Лента.AddFields(Заголовок);
    Заголовок.Open;
    Лента.FixGroup;
    Стр := Лента.GetGroups;
    // группируем все данные в заголовок
    от ы := 0 до Ткст.Количество - 1 делать
      начало
        CLS := СтрокаВЦелое(Ткст.Стр(ы));
        Страница := Страницы.Значение(CLS);
        Данные := Страница.Значение("Данные");
        Заголовок.Группировать(Данные, Стр);
      конец;

    от ы := 0 до Ткст.Количество - 1 делать
      начало
        CLS := СтрокаВЦелое(Ткст.Стр(ы));
        Страница := Страницы.Значение(CLS);
        Визуализатор.Template := Страница.Значение("Шаблон");
        Парам := СоздатьКоллекцию;
        Парам.Значение("Страницы") := Шаблон;
        Парам.Значение("КоллецияСтраницы") := Страницы;
        Парам.Значение("Заголовок") := Заголовок;
        EventRecursive("ПослеЗакачкиКомпозиции", Парам, Визуализатор.Templates, нет);
        //Визуализатор.DeleteCurrentPage;
      конец;

    Заголовок.Индекс := Лента.SortStr;
    сч := 0;
    КолДокументов := 0;
    Заголовок.First;
    пока не Заголовок.eof делать
      начало
         от ы := 0 до Ткст.Количество - 1 делать
           начало
             CLS := СтрокаВЦелое(Ткст.Стр(ы));
             Страница := Страницы.Значение(CLS);
             Шаблон := Страница.Values('Шаблон');
             Визуализатор.Template := Шаблон;
             Данные := Страница.Значение("Данные");
             Заголовок__ := Страница.Значение("Заголовок");
             Парам := Страница.Значение("Парам");
             Раскладка := Страница.Значение("Раскладка");
             ТекстПараметров := Страница.Значение("ТекстПараметров");
             Обработчики := Страница.Значение("Обработчики");
             Раскладка.Options := БитИли(Раскладка.Options, ttoCustomCaption);
             если (ТекстПараметров.Значение("НеВыводитьПустойДокумент") &lt;&gt; 1) тогда
                Раскладка.Options := БитИли(Раскладка.Options, ttoEmptyChunk);
             Заголовок_ := СоздатьСтатическиеДанные;
             если Заголовок__ &lt;&gt; nil тогда
             начало
               Заголовок_.AssignFields(Заголовок__);
               Заголовок__.IndexFieldNames := Лента.SortStr;
               Заголовок__.SetScope(ПолучитьМассивОграничения(Лента.SortStr, Заголовок));
               если Заголовок__.ЧислоЗаписей = 0 тогда
                 Заголовок_.СкопироватьЗапись(нет, Заголовок)
               иначе
                 Заголовок_.Закачать(Заголовок__, "");
             конец иначе
             начало
               Заголовок_.AssignFields(Заголовок);
               Заголовок_.СкопироватьЗапись(нет, Заголовок);
             конец;
             Данные_ := СоздатьСтатическиеДанные;
             Данные.IndexFieldNames := Лента.SortStr;
             Данные.SetScope(ПолучитьМассивОграничения(Лента.SortStr, Заголовок));
             Данные_.AssignFields(Данные);
             Данные_.Закачать(Данные, "");
             ИмяОбработчика := Обработчики.Values('Лента');
             если ИмяОбработчика &lt;&gt; "" тогда
             начало
               парам.Values(АлгЗаголовки) := Заголовок_;
               парам.Values(АлгДанные) := Данные_;                           
               парам.Values(АлгРаскладка) := Раскладка;
               парам.Values(АлгГлобальныеПараметры) := Коллекция;
               парам.Values(АлгВизуализатор) := Визуализатор;
               парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
               парам.Values(АлгПараметрыВывода) := ТекстПараметров;
               Event(ИмяОбработчика, парам);
               ТекстПараметров := парам.Values(АлгПараметрыВывода);
             конец; 
             ДокументНеПустой := ВывестиДанные(Визуализатор, Раскладка, Раскладка,
                           ТекстПараметров, Парам, Данные_, Заголовок_, да);
             КолДокументов := КолДокументов + 1;
             ОбъединитьЛистыПослеВыводаДанных(ДокументНеПустой, сч, 
               КолДокументов = 1, КолДокументов = Ткст.Количество * Заголовок.ЧислоЗаписей);
           конец;
         Заголовок.Next;
      конец;
  конец иначе
  начало
     от ы := 0 до Ткст.Количество - 1 делать
       начало
         CLS := СтрокаВЦелое(Ткст.Стр(ы));
         Страница := Страницы.Значение(CLS);
         Шаблон := Страница.Values('Шаблон');
         Визуализатор.Template := Шаблон;
         Данные := Страница.Значение("Данные");
         Заголовок := Страница.Значение("Заголовок");
         Парам := Страница.Значение("Парам");
         Раскладка := Страница.Значение("Раскладка");
         ТекстПараметров := Страница.Значение("ТекстПараметров");
         Раскладка.Options := БитИли(Раскладка.Options, ttoCustomCaption);
         если (ТекстПараметров.Значение("НеВыводитьПустойДокумент") &lt;&gt; 1) тогда
            Раскладка.Options := БитИли(Раскладка.Options, ttoEmptyChunk);
         ДокументНеПустой := ВывестиДанные(Визуализатор, Раскладка, Раскладка,
                       ТекстПараметров, Парам, Данные, Заголовок, да);
         КолДокументов := КолДокументов + 1;
         ОбъединитьЛистыПослеВыводаДанных(ДокументНеПустой, сч, 
           КолДокументов = 1, КолДокументов = Ткст.Количество - 1);
       конец;
  конец;
  если сч = 0 тогда
    ВызватьОшибку("Нет данных для вывода.");
  ПрисвоитьИмяЛисту(Визуализатор.Viewer, BG.NameByCLS(CLSID));
  СохранитьКоллекцииОтчетаДляАрхива(Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book), 
                                    Параметры, ПараметрыВывода, Коллекция, нет);  
конец;
</value>
    <param value="ЛентаОтчетов" type="3" name="version">36.042.25</param>
    <param value="ЛентаОтчетов" type="3" name="crc32">$CE221440</param>
  </node>
  <node path="%root%\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="ЛентаОтчетовCells">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\Cells.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
Формирование(
  Действие: целое;
  CLSID : целое;
  Шаблон : строка;
  Параметры : строка;
  Коллекция : IVariables;
);
переменные
  BG: IReportPages;
  ТекстПараметров, Парам : IVariables;
  Страницы, Страница : IVariables;
  Данные, Заголовок, Заголовок_, Данные_ : СтатическиеДанные;
  Раскладка, Лента : ITableInfoX;
  Ткст : Текст;
  CLS, ы, сч : целое;
  Визуализатор, TempViewer : IUniViewer;
  Doc, Report : ICellDocument;
  стр : строка;
  TmpCell: ICellObject;
начало
  BG := ReportBG;
  BG.Clear;
  // визуализатор для итогового отчета
  Визуализатор := CreateComObject(CellViewer);
  Визуализатор.Viewer := Визуализатор.CreateViewObject;
  Визуализатор.SetProject(Pather);
  BG.Add(CellCaption, CellID, Визуализатор);
  // визуализатор для отчетов входящих в композитный
  TempViewer := CreateComObject(CellViewer);
  TempViewer.Viewer := TempViewer.CreateViewObject;
  TempViewer.SetProject(Pather);

  Report := Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_ICellDocument);
  Doc := Интерфейс(TempViewer.Viewer).ЗапроситьИнтерфейс(_ICellDocument);

  Ткст := СоздатьТекст;
  Лента := СоздатьРаскладку;
  Страницы := СоздатьКоллекцию;
  Ткст.РазделенноеЗначение := Шаблон;
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := Ткст.Стр(ы);
      TempViewer.Template := TemplatePath + '\' + BG.TemplateByCLS(CLS);
      если (ы = 0) тогда
        начало
          Визуализатор.Template := TempViewer.Template;
          пока (Report.Root.CellCount &gt; 0) делать
            Report.Root.Cells(Report.Root.CellCount-1).DeleteCell(да);
          Report.Root.DeleteCell(да);
        конец;
      Парам := СоздатьКоллекцию;
      Парам.PumpData(Коллекция);
      Раскладка := TempViewer.GetTable;
      Лента.Join(Раскладка);
      ТекстПараметров := nil;
      Заголовок := nil;
      Данные := nil;
      СформироватьДанные(Параметры, TempViewer, Раскладка,
                         Парам, ТекстПараметров,
                         Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLS, ТекстПараметров, Парам);
      Страница := СоздатьКоллекцию;
      Страницы.Значение(CLS) := Страница;
      Страница.Значение("Шаблон") := TempViewer.Template;
      Страница.Значение("Данные") := Данные;
      Страница.Значение("Парам") := Парам;
      Страница.Значение("Раскладка") := Раскладка;
      Страница.Значение("ТекстПараметров") := ТекстПараметров;
      TempViewer.Clear;
    конец;
  Лента := Лента.GetBeltColumns;
  Заголовок := СоздатьСтатическиеДанные;
  // получаем все ленточные поля
  Лента.AddFields(Заголовок);
  Заголовок.Open;
  Лента.FixGroup;
  Стр := Лента.GetGroups;
  // группируем все данные в заголовок
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := Ткст.Стр(ы);
      Страница := Страницы.Значение(CLS);
      Данные := Страница.Значение("Данные");
      Заголовок.Группировать(Данные, Стр);
    конец;

  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := Ткст.Стр(ы);
      Страница := Страницы.Значение(CLS);
      TempViewer.Template := Страница.Значение("Шаблон");
      Парам := СоздатьКоллекцию;
      Парам.Значение("Страницы") := Шаблон;
      Парам.Значение("КоллецияСтраницы") := Страницы;
      Парам.Значение("Заголовок") := Заголовок;
      EventRecursive("ПослеЗакачкиКомпозиции", Парам, TempViewer.Templates, нет);
      TempViewer.Clear;
    конец;

  Заголовок.Индекс := Лента.SortStr;
  сч := 0;
  // Делим корневую ячейку
  Report.Root.Orientation := 1;
  Report.Root.CellCount := 2;
  Заголовок.First;
  пока не Заголовок.eof делать
    начало
       от ы := 0 до Ткст.Количество - 1 делать
         начало
           CLS := Ткст.Стр(ы);
           Страница := Страницы.Значение(CLS);
           Шаблон := Страница.Values('Шаблон');
           TempViewer.Template := Шаблон;
           Данные := Страница.Значение("Данные");
           Парам := Страница.Значение("Парам");
           Раскладка := Страница.Значение("Раскладка");
           ТекстПараметров := Страница.Значение("ТекстПараметров");
           Раскладка.Options := БитИли(Раскладка.Options, ttoCustomCaption);
           если (ТекстПараметров.Значение("НеВыводитьПустойДокумент") &lt;&gt; 1) тогда
              Раскладка.Options := БитИли(Раскладка.Options, ttoEmptyChunk);
           Заголовок_ := СоздатьСтатическиеДанные;
           Заголовок_.AssignFields(Заголовок);
           Заголовок_.СкопироватьЗапись(нет, Заголовок, нет, "");
           Данные_ := СоздатьСтатическиеДанные;
           Данные_.AssignFields(Данные);
           Данные_.Закачать(Данные, "");
           ВывестиДанные(TempViewer, Раскладка, Раскладка,
                         ТекстПараметров, Парам, Данные_, Заголовок_, да);
           Report.Root.Cells(сч).Clone(Doc.Root);
           сч := сч + 1;
           Report.Root.Cells(сч).Replicate;
           TempViewer.Clear;
         конец;
       Заголовок.Next;
    конец;
  от ы := Report.Root.CellCount - 1 назад сч делать
    если Report.Root.CellCount &gt; 0 тогда
      Report.Root.Cells(ы).DeleteCell(да);
  //Удаляем "Разрыв страницы" в самой первой листовой ячейке (у которой CellCount = 0), который обычно бывает у композитных отчетов
  TmpCell := Report.Root;
  пока (TmpCell.CellCount &gt; 0) делать
    TmpCell := TmpCell.Cells(0);
  если (TmpCell.Text = "")
  тогда
    TmpCell.ExcludeOutLines(512); //Выкидываем "Разрыв страницы"
конец;
</value>
    <param value="ЛентаОтчетовCells" type="3" name="Export">BUGMASTER\mitrofanov\10.12.2007 19:01:43</param>
    <param value="ЛентаОтчетовCells" type="3" name="version">36.042.25</param>
    <param value="ЛентаОтчетовCells" type="3" name="crc32">$1F2ED01A</param>
  </node>
  <node path="Бюджет\Объекты\Отчеты\Скрипты\Формирование">
    <value type="7" name="ТестированиеОтчетов">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Библиотеки\ReportTools.lib';

Формирование(
  Действие: целое;
  CLSID : Целое;
  Шаблон : СТРОКА;
  Параметры : СТРОКА;
  Коллекция : IVariables;
);

переменные
  Сч: целое;
  Раскладка: ITableInfoX;
  BG: IReportBG;
  Визуализатор, ссВизуализатор: IUniViewer; 
  ТекстПараметров: IVariables;
  Данные, Заголовок: СтатическиеДанные;
  ci: IColumnInfoX;
начало
  если (Коллекция = nil) тогда 
    ВозбудитьОшибку('Активация не была проведена');
  Визуализатор := CreateComObject(F1Viewer);
  LoadTemplateToViewer(Шаблон, Визуализатор);
  Раскладка := Визуализатор.GetTable;
  От Сч:=0 до Раскладка.Count-1 делать начало
    ci := Раскладка.Columns(Сч);
    ci.Options := БитИли(ci.Options, toxReadOnly);
    если (ci.ColumnType = ctpNone) 
      тогда ci.Hidden := да
      иначе
        если ci.IsRequired тогда
          ci.Hidden := нет;
  конец;
  BringToLinear(Раскладка);
  Раскладка.Options := БитИли(Раскладка.Options, ttoResultHidden);
  СформироватьДанные(Параметры, 
                     Визуализатор, Раскладка, Коллекция,ТекстПараметров,
                     Данные, Заголовок);
  BG := ReportBG;
  BG.Clear;
  ссВизуализатор := CreateComObject(SSViewer);
  BG.CheckControl(BG.Add(ssCaption, ssID, ссВизуализатор));
  ссВизуализатор.Translation(Раскладка);
  ссВизуализатор.Clear;  
  ВывестиДанные(  ссВизуализатор,
                  nil,
                  Раскладка,
                  ТекстПараметров,
                  Коллекция,
                  Данные,
                  Заголовок,
                  да);
конец.
</value>
    <param value="ТестированиеОтчетов" type="3" name="version">36.042.25</param>
    <param value="ТестированиеОтчетов" type="3" name="crc32">$4E24A145</param>
  </node>
  <version_info>
    <file>Сборка(01)Своды.xml</file>
    <version>36.042.03</version>
    <info>&lt;p&gt;Сводные печатные документы&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:08</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1010100</V>
            <V N="Name">Сводное распоряжение на финансирование</V>
            <V N="Template">(01.01.01) форма №5. сводное распоряжение на финансирование.xlp</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.03</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1010200</V>
            <V N="Name">Сводное распоряжение на финансирование(цельное)</V>
            <V N="Template">(01.01.02) Форма №5. Сводное распоряжение на финансирование(цельное).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.03</param>
  </node>
  <version_info>
    <file>Сборка(01).Ресурсы.Своды.xml</file>
    <version>36.042.03</version>
    <info>&lt;p&gt;Сводные печатные документы&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:08</buildtime>
  </version_info>
  <description>Ресурсы для печатных документов</description>
  <node path="Бюджет\Объекты\Документы\Ресурсы\101">
    <value type="9" name="РаскладкаДокумента">&lt;Template&gt;
&lt;V X="200"/&gt;
&lt;TemplateList&gt;
&lt;Template_0&gt;
&lt;ProjVars&gt;
&lt;ПослеЗакачки X="включить &amp;quot;\библиотеки\Reports.lib&amp;quot;;
включить &amp;quot;\библиотеки\Documents.lib&amp;quot;;
включить &amp;quot;\библиотеки\LibRU.lib&amp;quot;;
включить &amp;quot;\Макросы\Отчеты\ПоддержкаПечатныхДокументов&amp;quot;;
включить '\макросы\отчеты\поддержкаОтчетов.abl';
включить &amp;quot;Бюджет\Ресурсы\Макросы\Запросы\ЗапросыФинансирование.abl&amp;quot;;                   

ЗаполнениеПримечания(Параметры: IVariables);
константы
  nl = #13#10;                                
переменные
  Данные, ДанныеРесурса : СтатическиеДанные;
  Маппинг, ОгрСтандартные, ОгрДоп : строка;
  Коллекция : IVariables;  
начало
  Данные := Параметры.Значение(АлгДанные);
  Коллекция := Параметры.Значение(АлгПараметры);
  ОгрСтандартные := Ограничение(&amp;quot;КодДокумента=c.id&amp;quot;, Коллекция);
  ОгрДоп := Коллекция.Значение(&amp;quot;ДопПараметры&amp;quot;);
  ДанныеРесурса := СоздатьСтатическиеДанные;
  попытка
    ДанныеРесурса.Запрос := 
              &amp;quot;[PumpData] {/*Получение заголовков финансирования*/&amp;quot; +nl+
              &amp;quot;SELECT c.id CptID, Cast(7 as integer) AlgIndex,&amp;quot;+nl+
              &amp;quot; c.MakeDate, c.UserNote NoteCap,c.Number,c.ACCEPTDATE,c.DFACCOUNT,c.PROGINDEX, c.ELPACKETNAME&amp;quot;+nl+
              &amp;quot;FROM &amp;quot;+nl+                  
              &amp;quot; FinDocCaption c&amp;quot;+nl+
              &amp;quot;WHERE &amp;quot;+nl+
              &amp;quot; (1=1)&amp;quot;+nl+
              ОгрСтандартные + ОгрДоп + &amp;quot;}&amp;quot;;
    ПолучитьДанные(ДанныеРесурса, Коллекция);
    Маппинг := ФинансированиеВернутьМаппингПереносаПолей + &amp;quot;,НаименованиеЭлПакета=ELPACKETNAME&amp;quot;;
    Данные.PumpData(ДанныеРесурса, Маппинг);
  обязательно
    УдалитьОбъект(ДанныеРесурса);
  конец;
конец;
"/&gt;
&lt;/ProjVars&gt;
&lt;Vars/&gt;
&lt;Options&gt;
&lt;CopyTemplate X="-1"/&gt;
&lt;PageHidden X="0"/&gt;
&lt;PageName X="ЗаголовокФинансирования"/&gt;
&lt;ReadOnly X="0"/&gt;
&lt;Rules X=""/&gt;
&lt;RulesL X=""/&gt;
&lt;RulesR X=""/&gt;
&lt;RulesT X="0"/&gt;
&lt;ShowTree X="0"/&gt;
&lt;TitleHeight X="0"/&gt;
&lt;X X="0"/&gt;
&lt;/Options&gt;
&lt;Info&gt;
&lt;FileName X="(07.xx.xx) Финансирование.CLM"/&gt;
&lt;Info X=""/&gt;
&lt;Project X="Бюджет"/&gt;
&lt;/Info&gt;
&lt;TableInfo&gt;
&lt;Options X="32768"/&gt;
&lt;Params&gt;
&lt;_DSPageNames X=""/&gt;
&lt;LW X="0"/&gt;
&lt;LWW X="0"/&gt;
&lt;MinWidth X="0"/&gt;
&lt;PageID X="-1"/&gt;
&lt;PageSkipped X="0"/&gt;
&lt;/Params&gt;
&lt;Columns&gt;
&lt;Column0&gt;
&lt;FieldName X="КодДокумента"/&gt;
&lt;Name X="КодДокумента"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Required X="65"/&gt;
&lt;EnumColumnType X="62"/&gt;
&lt;EnumGroup X="11"/&gt;
&lt;Caption X="Код документа"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Note X="Код заголовка (документа)"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column0&gt;
&lt;Column1&gt;
&lt;FieldName X="НомерЗаголовка"/&gt;
&lt;Name X="НомерЗаголовка"/&gt;
&lt;TotalName X="Итого по &amp;lt;*&amp;gt;"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Required X="65"/&gt;
&lt;Sort X="1"/&gt;
&lt;PrevName X="&amp;lt;*&amp;gt;"/&gt;
&lt;divider X="1"/&gt;
&lt;EnumColumnType X="30"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;Caption X="Номер"/&gt;
&lt;ValueType X="1"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;ValueSize X="20"/&gt;
&lt;Note X="Номер"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column1&gt;
&lt;Column2&gt;
&lt;FieldName X="СчетПлат"/&gt;
&lt;Name X="СчетПлат"/&gt;
&lt;TotalName X="Итого по &amp;lt;*&amp;gt;"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Required X="65"/&gt;
&lt;Sort X="1"/&gt;
&lt;PrevName X="&amp;lt;*&amp;gt;"/&gt;
&lt;Code X="Р/с.Имя"/&gt;
&lt;EnumColumnType X="62"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;Codes X="Р/с"/&gt;
&lt;Caption X="Счет плательщика"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;ChangeField X="1"/&gt;
&lt;Note X="Расчетный счет плательщика (ссылка)"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column2&gt;
&lt;Column3&gt;
&lt;FieldName X="РСФО"/&gt;
&lt;Name X="РСФО"/&gt;
&lt;TotalName X="Итого по &amp;lt;*&amp;gt;"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Required X="65"/&gt;
&lt;Sort X="1"/&gt;
&lt;PrevName X="&amp;lt;*&amp;gt;"/&gt;
&lt;Code X="Р/с.Имя"/&gt;
&lt;EnumColumnType X="62"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;Codes X="Р/с"/&gt;
&lt;Caption X="р\с финоргана"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;ChangeField X="1"/&gt;
&lt;Note X="Рассчетный счет финансового органа"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column3&gt;
&lt;Column4&gt;
&lt;FieldName X="ДатаПринятия"/&gt;
&lt;Name X="ДатаПринятия"/&gt;
&lt;TotalName X="Итого за &amp;lt;*&amp;gt;"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Required X="65"/&gt;
&lt;Sort X="1"/&gt;
&lt;PrevName X="&amp;lt;*&amp;gt;"/&gt;
&lt;Code X="Дата.Дата"/&gt;
&lt;EnumColumnType X="30"/&gt;
&lt;EnumGroup X="59"/&gt;
&lt;Codes X="Бухгалтерия,Дата"/&gt;
&lt;Caption X="Дата принятия"/&gt;
&lt;ValueType X="2"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Note X="Дата принятия"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column4&gt;
&lt;Column5&gt;
&lt;FieldName X="ПримечаниеЗаголовка"/&gt;
&lt;Name X="ПримечаниеЗаголовка"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Required X="65"/&gt;
&lt;divider X="1"/&gt;
&lt;EnumColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;Caption X="Примечание из заголовка"/&gt;
&lt;ValueType X="1"/&gt;
&lt;AutoSize X="2"/&gt;
&lt;ValueSize X="255"/&gt;
&lt;Note X="Примечание из заголовка"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column5&gt;
&lt;Column6&gt;
&lt;FieldName X="ДатаРеестра"/&gt;
&lt;Name X="ДатаРеестра"/&gt;
&lt;TotalName X="Итого за &amp;lt;*&amp;gt;"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Required X="65"/&gt;
&lt;Sort X="1"/&gt;
&lt;PrevName X="&amp;lt;*&amp;gt;"/&gt;
&lt;Code X="Дата.Дата"/&gt;
&lt;EnumColumnType X="30"/&gt;
&lt;EnumGroup X="59"/&gt;
&lt;Codes X="Дата"/&gt;
&lt;Caption X="Дата реестра"/&gt;
&lt;ValueType X="2"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Note X="Дата реестра"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column6&gt;
&lt;Column7&gt;
&lt;FieldName X="ИндексАлгоритма"/&gt;
&lt;Name X="ИндексАлгоритма"/&gt;
&lt;TotalName X="&amp;lt;*&amp;gt;"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Required X="65"/&gt;
&lt;Sort X="1"/&gt;
&lt;PrevName X="&amp;lt;*&amp;gt;"/&gt;
&lt;Code X="Служебные.ИмяАлгоритма"/&gt;
&lt;EnumColumnType X="62"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;Codes X="Служебные"/&gt;
&lt;Caption X="Индекс алгоритма"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Note X="Индекс алгоритма"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column7&gt;
&lt;Column8&gt;
&lt;FieldName X="НаименованиеЭлПакета"/&gt;
&lt;Name X="НаименованиеЭлПакета"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;Total X="1"/&gt;
&lt;Required X="18"/&gt;
&lt;divider X="1"/&gt;
&lt;EnumGroup X="-1"/&gt;
&lt;Caption X="НаименованиеЭлПакета"/&gt;
&lt;EnumOffset X="-1"/&gt;
&lt;HighDigit X="10"/&gt;
&lt;ValueType X="1"/&gt;
&lt;ValueSize X="20"/&gt;
&lt;CalcField X="1"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_References X=""/&gt;
&lt;/Params&gt;
&lt;/Column8&gt;
&lt;/Columns&gt;
&lt;/TableInfo&gt;
&lt;Matrix&gt;
&lt;Strms&gt;
&lt;S0&gt;
&lt;Name X="StubStratum"/&gt;
&lt;RowCount X="1"/&gt;
&lt;ColCount X="9"/&gt;
&lt;HiddenStyle X="-1"/&gt;
&lt;/S0&gt;
&lt;/Strms&gt;
&lt;/Matrix&gt;
&lt;/Template_0&gt;
&lt;/TemplateList&gt;
&lt;ProjVars/&gt;
&lt;Vars/&gt;
&lt;Options&gt;
&lt;Buttons ObjType="2"&gt;&lt;/Buttons&gt;
&lt;FormCLS X="0"/&gt;
&lt;FormPeriod X="0"/&gt;
&lt;Rules X=""/&gt;
&lt;/Options&gt;
&lt;Info&gt;
&lt;AuditInformation X="&amp;quot;Zimin;ZIMIN2;17.12.2004 13:53:07&amp;quot;,&amp;quot;Zimin;ZIMIN2;17.12.2004 14:15:48&amp;quot;,&amp;quot;Zimin;ZIMIN2;17.12.2004 15:40:14&amp;quot;,&amp;quot;Zimin;ZIMIN2;14.04.2005 20:02:26&amp;quot;,&amp;quot;Zimin;ZIMIN2;15.04.2005 12:01:01&amp;quot;,&amp;quot;Zimin;ZIMIN2;15.04.2005 12:09:24&amp;quot;,&amp;quot;Zimin;ZIMIN2;15.04.2005 12:15:26&amp;quot;,&amp;quot;Zimin;ZIMIN2;15.04.2005 12:16:01&amp;quot;"/&gt;
&lt;CurrentVersion X=""/&gt;
&lt;CurrentVersionDate X=""/&gt;
&lt;UpdateDate X="15.04.2005 12:16:01"/&gt;
&lt;UpdateVersion X=""/&gt;
&lt;UpdateVersionDate X=""/&gt;
&lt;/Info&gt;
&lt;/Template&gt;</value>
    <param value="РаскладкаДокумента" type="3" name="version">36.042.03</param>
    <param value="РаскладкаДокумента" type="3" name="crc32">$F1C2FFBB</param>
  </node>
  <version_info>
    <file>Сборка(01).ЭЦП.Своды.xml</file>
    <version>36.042.03</version>
    <info>&lt;p&gt;Сводные печатные документы&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:08</buildtime>
  </version_info>
  <description>Ресурсы для ЭЦП</description>
  <node path="Бюджет\Объекты\Документы\Ресурсы\4401">
    <value type="9" name="РаскладкаДляЭЦП.EDS">&lt;Template&gt;
&lt;V X="200"/&gt;
&lt;TemplateList&gt;
&lt;Template_0 ID="0"&gt;
&lt;ProjVars/&gt;
&lt;Vars/&gt;
&lt;Options&gt;
&lt;CopyTemplate X="-1"/&gt;
&lt;PageHidden X="0"/&gt;
&lt;PageName X=""/&gt;
&lt;ReadOnly X="0"/&gt;
&lt;RowLevel X="0"/&gt;
&lt;RulesT X="0"/&gt;
&lt;ShowTree X="0"/&gt;
&lt;TitleHeight X="63"/&gt;
&lt;X X="0"/&gt;
&lt;/Options&gt;
&lt;Info&gt;
&lt;FileName X="(44.xx.xx) Сводные уведомления.CLM
"/&gt;
&lt;Info X=""/&gt;
&lt;Project X="Бюджет"/&gt;
&lt;/Info&gt;
&lt;TableInfo&gt;
&lt;Params&gt;
&lt;_DocType X="0"/&gt;
&lt;_DocumentCLS X="0"/&gt;
&lt;_DSPageNames X="Заголовок,Деталь"/&gt;
&lt;_Joins X=""/&gt;
&lt;_PrimaryKey X=""/&gt;
&lt;_TableName X=""/&gt;
&lt;CanEditRows X="0"/&gt;
&lt;LW X="0"/&gt;
&lt;LWW X="0"/&gt;
&lt;MinWidth X="0"/&gt;
&lt;PageID X="-1"/&gt;
&lt;PageSkipped X="0"/&gt;
&lt;/Params&gt;
&lt;Columns&gt;
&lt;Column0&gt;
&lt;Alias X="AcceptDateFK"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Дата принятия ФК"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="ДатаПринятияФК"/&gt;
&lt;Name X="ДатаПринятияФК"/&gt;
&lt;Note X="Дата принятия ФК"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="AcceptDateFK"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column0&gt;
&lt;Column1&gt;
&lt;Alias X="KFD"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код по КФД"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодПоКФД"/&gt;
&lt;Name X="КодПоКФД"/&gt;
&lt;Note X="Код приложения по КФД"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;ValueSize X="20"/&gt;
&lt;ValueType X="1"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="KFD"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column1&gt;
&lt;Column2&gt;
&lt;Alias X="NotifyNumber"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Номер документа"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="59"/&gt;
&lt;FieldName X="НомерДокументаРаспорядителя"/&gt;
&lt;Name X="НомерДокументаРаспорядителя"/&gt;
&lt;Note X="Порядковый номер документа по распорядителю"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="NotifyNumber"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column2&gt;
&lt;Column3&gt;
&lt;Alias X="Note"/&gt;
&lt;AutoSize X="2"/&gt;
&lt;Caption X="Приложение"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="Приложение"/&gt;
&lt;Name X="Приложение"/&gt;
&lt;Note X="Приложение"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;ValueSize X="255"/&gt;
&lt;ValueType X="1"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="Note"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column3&gt;
&lt;Column4&gt;
&lt;Alias X="SpecialNote"/&gt;
&lt;AutoSize X="2"/&gt;
&lt;Caption X="Специальные указания"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="СпециальныеУказания"/&gt;
&lt;Name X="СпециальныеУказания"/&gt;
&lt;Note X="Специальные указания"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;ValueSize X="512"/&gt;
&lt;ValueType X="1"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="SpecialNote"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column4&gt;
&lt;Column5&gt;
&lt;Alias X="SUMMAASSIGNMENT"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Бюджетные ассигнования"/&gt;
&lt;Category X="СводныеУведомления"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="61"/&gt;
&lt;FieldName X="СуммаАссигнований"/&gt;
&lt;Name X="СуммаАссигнований"/&gt;
&lt;Note X="Бюджетные ассигнований"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="SUMMAASSIGNMENT"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column5&gt;
&lt;Column6&gt;
&lt;Alias X="SUMMAASSIGNMENTYEAR"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Бюджетные ассигнования на год"/&gt;
&lt;Category X="СводныеУведомления"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="61"/&gt;
&lt;FieldName X="СуммаАссигнованийНаГод"/&gt;
&lt;Name X="СуммаАссигнованийНаГод"/&gt;
&lt;Note X="Бюджетные ассигнования на год"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="SUMMAASSIGNMENTYEAR"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column6&gt;
&lt;Column7&gt;
&lt;Alias X="SUMMALIMIT"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Лимиты бюджетных обязательств"/&gt;
&lt;Category X="СводныеУведомления"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="61"/&gt;
&lt;FieldName X="СуммаЛБО"/&gt;
&lt;Name X="СуммаЛБО"/&gt;
&lt;Note X="Сумма лимитов бюджетных обязательств"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="SUMMALIMIT"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column7&gt;
&lt;Column8&gt;
&lt;Alias X="SUMMALIMITYEAR"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Лимиты бюджетных обязательств на год"/&gt;
&lt;Category X="СводныеУведомления"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="61"/&gt;
&lt;FieldName X="СуммаЛБОНаГод"/&gt;
&lt;Name X="СуммаЛБОНаГод"/&gt;
&lt;Note X="Лимиты бюджетных обязательств на год"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="SUMMALIMITYEAR"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column8&gt;
&lt;Column9&gt;
&lt;Alias X="SUMMAFIN"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Объемы финансирования"/&gt;
&lt;Category X="СводныеУведомления"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="61"/&gt;
&lt;FieldName X="СуммаОбъемовФинансирования"/&gt;
&lt;Name X="СуммаОбъемовФинансирования"/&gt;
&lt;Note X="Объемы финансирования"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="SUMMAFIN"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;ИмяПоляУРМ X="SUMMAFIN"/&gt;
&lt;/Params&gt;
&lt;/Column9&gt;
&lt;Column10&gt;
&lt;Alias X="SUMMAFINYEAR"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Объемы финансирования с начала года"/&gt;
&lt;Category X="СводныеУведомления"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="61"/&gt;
&lt;FieldName X="СуммаОбъемовФинансированияСНачГода"/&gt;
&lt;Name X="СуммаОбъемовФинансированияСНачГода"/&gt;
&lt;Note X="Объемы финансирования с начала года"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="SUMMAFINYEAR"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column10&gt;
&lt;Column11&gt;
&lt;Alias X="NotifyType"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Тип уведомления"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="ТипСводногоУведомления"/&gt;
&lt;Name X="ТипСводногоУведомления"/&gt;
&lt;Note X="Тип уведомления"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="NotifyType"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column11&gt;
&lt;Column12&gt;
&lt;Alias X="DocumentFormat"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Формат документа"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="ФорматДокумента"/&gt;
&lt;Name X="ФорматДокумента"/&gt;
&lt;Note X="Формат документа"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="DocumentFormat"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column12&gt;
&lt;Column13&gt;
&lt;Alias X="InputDate"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Дата ввода"/&gt;
&lt;Code X="Дата.Дата"/&gt;
&lt;Codes X="Дата"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="ДатаВвода"/&gt;
&lt;Name X="ДатаВвода"/&gt;
&lt;Named X="-1"/&gt;
&lt;Note X="Дата ввода"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="InputDate"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column13&gt;
&lt;Column14&gt;
&lt;Alias X="AcceptDate"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Дата принятия"/&gt;
&lt;Code X="Дата.Дата"/&gt;
&lt;Codes X="Бухгалтерия,Дата"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="59"/&gt;
&lt;FieldName X="ДатаПринятия"/&gt;
&lt;Name X="ДатаПринятия"/&gt;
&lt;Named X="-1"/&gt;
&lt;Note X="Дата принятия"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;ValueType X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="AcceptDate"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column14&gt;
&lt;Column15&gt;
&lt;Alias X="ProgIndex"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Индексы данных"/&gt;
&lt;Code X="Служебные.БлокДанных"/&gt;
&lt;Codes X="Служебные"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="ИндексыДанных"/&gt;
&lt;Name X="ИндексыДанных"/&gt;
&lt;Named X="-1"/&gt;
&lt;Note X="Уникальный индекс, определяющий из какого блока взяты данные"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="ProgIndex"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column15&gt;
&lt;Column16&gt;
&lt;Alias X="BudgetRef"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="КодБюджета"/&gt;
&lt;Code X="Бюджет.Имя"/&gt;
&lt;Codes X="Бюджет"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="59"/&gt;
&lt;FieldName X="КодБюджета"/&gt;
&lt;Name X="КодБюджета"/&gt;
&lt;Named X="-1"/&gt;
&lt;Note X="Ссылка на бюджет, к которому относится документ"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="BudgetRef"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column16&gt;
&lt;Column17&gt;
&lt;Alias X="ID"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код документа"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="11"/&gt;
&lt;FieldName X="КодДокумента"/&gt;
&lt;Name X="КодДокумента"/&gt;
&lt;Note X="Код заголовка (документа)"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="98"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="-1"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="ID"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column17&gt;
&lt;Column18&gt;
&lt;Alias X="ID"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код записи"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодЗаписи"/&gt;
&lt;Name X="КодЗаписи"/&gt;
&lt;Note X="Код записи детали документа"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="98"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="-1"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="ID"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column18&gt;
&lt;Column19&gt;
&lt;Alias X="CryptoStatus"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Статус ЭЦП"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КриптоСтатус"/&gt;
&lt;Name X="КриптоСтатус"/&gt;
&lt;Note X="Статус электронной цифровой подписи"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="2"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="CryptoStatus"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column19&gt;
&lt;Column20&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Начальное состояние документа"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="131"/&gt;
&lt;FieldName X="НачальноеСостояниеДокумента"/&gt;
&lt;Name X="НачальноеСостояниеДокумента"/&gt;
&lt;Note X="Начальное состояние документа"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="98"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="BeginDocStateRef"/&gt;
&lt;_TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column20&gt;
&lt;Column21&gt;
&lt;Alias X="DocNumber"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="№ документа"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="НомерДокумента"/&gt;
&lt;Name X="НомерДокумента"/&gt;
&lt;Note X="Номер документа"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;ValueSize X="50"/&gt;
&lt;ValueType X="1"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="DocNumber"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column21&gt;
&lt;Column22&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="ИННОрганизации"/&gt;
&lt;ChangeField X="1"/&gt;
&lt;Code X="Организация.ИНН"/&gt;
&lt;Codes X="Организация"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="Организация"/&gt;
&lt;Name X="ИННОрганизации"/&gt;
&lt;Named X="-1"/&gt;
&lt;Note X="Организация"/&gt;
&lt;Offset X="0"/&gt;
&lt;Options X="1024"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="INN"/&gt;
&lt;_TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column22&gt;
&lt;Column23&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="КППОрганизации"/&gt;
&lt;ChangeField X="1"/&gt;
&lt;Code X="Организация.КПП"/&gt;
&lt;Codes X="Организация"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="Организация"/&gt;
&lt;Name X="КППОрганизации"/&gt;
&lt;Named X="-1"/&gt;
&lt;Note X="Организация"/&gt;
&lt;Offset X="0"/&gt;
&lt;Options X="1024"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="KPP"/&gt;
&lt;_TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column23&gt;
&lt;Column24&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Организация"/&gt;
&lt;ChangeField X="1"/&gt;
&lt;Code X="Организация.Имя"/&gt;
&lt;Codes X="Организация"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="Организация"/&gt;
&lt;Name X="Организация"/&gt;
&lt;Named X="-1"/&gt;
&lt;Note X="Организация"/&gt;
&lt;Offset X="0"/&gt;
&lt;Options X="1024"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="Организация"/&gt;
&lt;_TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column24&gt;
&lt;Column25&gt;
&lt;Alias X="Note"/&gt;
&lt;AutoSize X="2"/&gt;
&lt;Caption X="Примечание"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="Примечание"/&gt;
&lt;Name X="Примечание"/&gt;
&lt;Note X="Примечание"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;ValueSize X="255"/&gt;
&lt;ValueType X="1"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="Note"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column25&gt;
&lt;Column26&gt;
&lt;Alias X="DFAccount"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="р\с финоргана"/&gt;
&lt;ChangeField X="1"/&gt;
&lt;Code X="Р/с.Имя"/&gt;
&lt;Codes X="Р/с"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="РСФО"/&gt;
&lt;Name X="РСФО"/&gt;
&lt;Note X="Рассчетный счет финансового органа"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="98"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="0"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X=""/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column26&gt;
&lt;Column27&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="р\с финоргана"/&gt;
&lt;ChangeField X="1"/&gt;
&lt;Code X="Р/с.Имя"/&gt;
&lt;Codes X="Р/с"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="РСФО"/&gt;
&lt;Name X="СчетФО"/&gt;
&lt;Named X="-1"/&gt;
&lt;Note X="Рассчетный счет финансового органа"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="DFAccount"/&gt;
&lt;_TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column27&gt;
&lt;Column28&gt;
&lt;Alias X="DocStateRef"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="СостояниеДокумента"/&gt;
&lt;Code X="СостоянияДокументов.ИмяСостояния"/&gt;
&lt;Codes X="СостоянияДокументов"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="131"/&gt;
&lt;EnumOffset X="21"/&gt;
&lt;FieldName X="СостояниеДокумента"/&gt;
&lt;HighDigit X="6"/&gt;
&lt;Name X="СостояниеДокумента"/&gt;
&lt;Note X="Состояние документа"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="DocStateRef"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column28&gt;
&lt;Column29&gt;
&lt;Alias X="ACTIVITYKIND"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Вид деятельности"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="ВидДеятельности"/&gt;
&lt;HighDigit X="1"/&gt;
&lt;Name X="ВидДеятельности"/&gt;
&lt;Note X="Вид деятельности"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="ACTIVITYKIND"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column29&gt;
&lt;Column30&gt;
&lt;Alias X="KVR"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="КВР"/&gt;
&lt;Code X="КВР.Имя"/&gt;
&lt;Codes X="КВР"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="99"/&gt;
&lt;EnumOffset X="9"/&gt;
&lt;FieldName X="КВР"/&gt;
&lt;HighDigit X="3"/&gt;
&lt;Name X="КВР"/&gt;
&lt;Note X="Вид расхода"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="KVR"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column30&gt;
&lt;Column31&gt;
&lt;Alias X="KVSR"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="КВСР"/&gt;
&lt;Code X="КВСР.Имя"/&gt;
&lt;Codes X="КВСР"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="99"/&gt;
&lt;EnumOffset X="9"/&gt;
&lt;FieldName X="КВСР"/&gt;
&lt;HighDigit X="3"/&gt;
&lt;Name X="КВСР"/&gt;
&lt;Note X="Ведомственная статья (ППП)"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="KVSR"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column31&gt;
&lt;Column32&gt;
&lt;Alias X="TargetCLS"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код цели"/&gt;
&lt;Code X="Код_Цели.Код"/&gt;
&lt;Codes X="Код_Цели"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодЦели"/&gt;
&lt;Name X="КодЦели"/&gt;
&lt;Note X="Код цели"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="TargetCLS"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column32&gt;
&lt;Column33&gt;
&lt;Alias X="KFSR"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="КФСР"/&gt;
&lt;Code X="КФСР.Имя"/&gt;
&lt;Codes X="КФСР"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="99"/&gt;
&lt;EnumOffset X="5"/&gt;
&lt;FieldName X="КФСР"/&gt;
&lt;HighDigit X="4"/&gt;
&lt;Name X="КФСР"/&gt;
&lt;Note X="Функциональная статья"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="KFSR"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column33&gt;
&lt;Column34&gt;
&lt;Alias X="KCSR"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="КЦСР"/&gt;
&lt;Code X="КЦСР.Имя"/&gt;
&lt;Codes X="КЦСР"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="99"/&gt;
&lt;EnumOffset X="21"/&gt;
&lt;FieldName X="КЦСР"/&gt;
&lt;HighDigit X="7"/&gt;
&lt;Name X="КЦСР"/&gt;
&lt;Note X="Целевая статья"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="KCSR"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column34&gt;
&lt;Column35&gt;
&lt;Alias X="KESR"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="КЭСР"/&gt;
&lt;Code X="КЭСР.Имя"/&gt;
&lt;Codes X="КЭСР"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="99"/&gt;
&lt;EnumOffset X="7"/&gt;
&lt;FieldName X="КЭСР"/&gt;
&lt;HighDigit X="3"/&gt;
&lt;Name X="КЭСР"/&gt;
&lt;Note X="Экономическая статья"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="KESR"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column35&gt;
&lt;Column36&gt;
&lt;Alias X="FacialAccCLS"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Лицевой счет"/&gt;
&lt;Code X="Лицевой_Счет.Имя"/&gt;
&lt;Codes X="Лицевой_Счет"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="99"/&gt;
&lt;EnumOffset X="595"/&gt;
&lt;FieldName X="ЛицевойСчет"/&gt;
&lt;HighDigit X="9"/&gt;
&lt;Name X="ЛицевойСчет"/&gt;
&lt;Note X="Лицевой счет"/&gt;
&lt;Required X="66"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="FacialAccCLS"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column36&gt;
&lt;Column37&gt;
&lt;Alias X="SenderID"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код отправителя документа"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодОтправителяДокумента"/&gt;
&lt;Name X="КодОтправителяДокумента"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="34"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="SenderID"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column37&gt;
&lt;Column38&gt;
&lt;Alias X="SenderID"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код отправителя записи"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодОтправителяЗаписи"/&gt;
&lt;Name X="КодОтправителяЗаписи"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="34"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="SenderID"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column38&gt;
&lt;Column39&gt;
&lt;Alias X="SenderRecordID"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код УРМ документа"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодУРМДокумента"/&gt;
&lt;Name X="КодУРМДокумента"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="34"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="SenderRecordID"/&gt;
&lt;_TableName X="UnionNotifyCaption"/&gt;
&lt;/Params&gt;
&lt;/Column39&gt;
&lt;Column40&gt;
&lt;Alias X="SenderRecordID"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код УРМ записи"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодУРМЗаписи"/&gt;
&lt;Name X="КодУРМЗаписи"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="34"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="0"/&gt;
&lt;_FieldAlias X="SenderRecordID"/&gt;
&lt;_TableName X="UnionNotifyDetail"/&gt;
&lt;/Params&gt;
&lt;/Column40&gt;
&lt;Column41&gt;
&lt;Alias X="ID"/&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код ФО документа"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодФОДокумента"/&gt;
&lt;Name X="КодФОДокумента"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="34"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="FUID"/&gt;
&lt;_TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column41&gt;
&lt;Column42&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Код ФО записи"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;EnumGroup X="3"/&gt;
&lt;FieldName X="КодФОЗаписи"/&gt;
&lt;Name X="КодФОЗаписи"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="34"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="FUID"/&gt;
&lt;_TableName X=""/&gt;
&lt;ИмяПоляУРМ X="FUID"/&gt;
&lt;/Params&gt;
&lt;/Column42&gt;
&lt;Column43&gt;
&lt;AutoSize X="1"/&gt;
&lt;Caption X="Ссылка на заголовок"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;FieldName X="КодДокумента"/&gt;
&lt;Name X="СсылкаНаЗаголовок"/&gt;
&lt;Note X="Код заголовка (документа)"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="98"/&gt;
&lt;Width X="100"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="1"/&gt;
&lt;_DSForeign X="-1"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="-1"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X="RecordIndex"/&gt;
&lt;_TableName X=""/&gt;
&lt;TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column43&gt;
&lt;Column44&gt;
&lt;CalcField X="1"/&gt;
&lt;Caption X="Результат контроля"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;FieldName X="ControlResult"/&gt;
&lt;Name X="ControlResult"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="34"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="0"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X=""/&gt;
&lt;_TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column44&gt;
&lt;Column45&gt;
&lt;CalcField X="1"/&gt;
&lt;Caption X="Результат бюджетного контроля"/&gt;
&lt;ColumnType X="2"/&gt;
&lt;FieldName X="ControlMessage"/&gt;
&lt;Name X="ControlMessage"/&gt;
&lt;Offset X="0"/&gt;
&lt;Required X="34"/&gt;
&lt;ValueSize X="255"/&gt;
&lt;ValueType X="1"/&gt;
&lt;Width X="64"/&gt;
&lt;Params&gt;
&lt;_DSDataSet X="0"/&gt;
&lt;_DSForeign X="0"/&gt;
&lt;_DSIgnore X="0"/&gt;
&lt;_DSKey X="0"/&gt;
&lt;_DSSave X="0"/&gt;
&lt;_DSService X="-1"/&gt;
&lt;_FieldAlias X=""/&gt;
&lt;_TableName X=""/&gt;
&lt;/Params&gt;
&lt;/Column45&gt;
&lt;/Columns&gt;
&lt;/TableInfo&gt;
&lt;Matrix&gt;
&lt;Strms&gt;
&lt;S0&gt;
&lt;Name X="StubStratum"/&gt;
&lt;RowCount X="1"/&gt;
&lt;ColCount X="46"/&gt;
&lt;HiddenStyle X="-1"/&gt;
&lt;/S0&gt;
&lt;/Strms&gt;
&lt;/Matrix&gt;
&lt;/Template_0&gt;
&lt;/TemplateList&gt;
&lt;ProjVars/&gt;
&lt;Vars/&gt;
&lt;Options&gt;
&lt;Buttons ObjType="2"&gt;&lt;/Buttons&gt;
&lt;FormCLS X="0"/&gt;
&lt;FormPeriod X="0"/&gt;
&lt;/Options&gt;
&lt;Info&gt;
&lt;AuditInformation X="&amp;quot;kudryavov;ARTEMY;20.10.2004 17:39:16&amp;quot;,&amp;quot;kudryavov;ARTEMY;14.01.2005 14:54:13&amp;quot;,&amp;quot;kudryavov;ARTEMY;14.01.2005 16:39:07&amp;quot;,&amp;quot;kudryavov;ARTEMY;03.03.2005 19:39:21&amp;quot;,&amp;quot;kudryavov;ARTEMY;25.04.2005 17:24:00&amp;quot;,&amp;quot;kudryavov;ARTEMY;27.04.2005 18:42:04&amp;quot;,&amp;quot;kudryavov;ARTEMY;27.04.2005 21:19:31&amp;quot;,&amp;quot;kudryavov;ARTEMY;04.05.2005 17:14:47&amp;quot;,&amp;quot;zimin;ZIMIN;21.06.2006 16:29:47&amp;quot;,&amp;quot;zimin;ZIMIN;21.06.2006 19:30:20&amp;quot;,&amp;quot;zimin;ZIMIN;23.06.2006 16:57:29&amp;quot;,&amp;quot;zimin;ZIMIN;23.06.2006 17:34:42&amp;quot;,&amp;quot;zimin;ZIMIN;26.06.2006 16:49:49&amp;quot;,&amp;quot;zimin;ZIMIN;26.06.2006 17:44:37&amp;quot;,&amp;quot;zimin;ZIMIN;26.06.2006 17:52:07&amp;quot;"/&gt;
&lt;CurrentVersion X=""/&gt;
&lt;CurrentVersionDate X=""/&gt;
&lt;UpdateDate X="26.06.2006 17:52:07"/&gt;
&lt;UpdateVersion X=""/&gt;
&lt;UpdateVersionDate X=""/&gt;
&lt;/Info&gt;
&lt;/Template&gt;</value>
    <param value="РаскладкаДляЭЦП.EDS" type="3" name="version">36.042.03</param>
    <param value="РаскладкаДляЭЦП.EDS" type="3" name="crc32">$D12FA6A7</param>
  </node>
  <version_info>
    <file>Сборка(02)План расходов.xml</file>
    <version>36.042.39</version>
    <info>&lt;p&gt;Печатные документы по расходной части бюджета&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:10</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010100</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований</V>
            <V N="Template">(02.01.01)Уведомление об изменении бюджетных ассигнований.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010200</V>
            <V N="Name">Справка уведомление об изменении бюджетных ассигнований</V>
            <V N="Template">(02.01.02)Справка уведомление об изменении бюджетных ассигнований.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010300</V>
            <V N="Name">Уведомление об изменении показателей кассового плана по ПБС в части расходов бюджета</V>
            <V N="Template">(02.01.03) Уведомление об изменении показателей кас. плана по ПБС (расходы).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010400</V>
            <V N="Name">Уведомление по взаимным расчетам</V>
            <V N="Template">(02.01.04) Уведомление по взаимным расчетам 70н.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010500</V>
            <V N="Name">Уведомление о лимитах (по кварталам)</V>
            <V N="Template">(02.01.05) Уведомление о лимитах бюджетных обязательств (поквартальное распределение).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010600</V>
            <V N="Name">Уведомление о лимитах (по месяцам)</V>
            <V N="Template">(02.01.06) Уведомление о лимитах бюджетных обязательств (распределение по месяцам).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010700</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по расходам (с нач. года)</V>
            <V N="Template">(02.01.07) Уведомление о бюджетных ассигнованиях по 3-лет. плану (расходы).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010800</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по расходам</V>
            <V N="Template">(02.01.08) Уведомление об изменении бюджетных ассигнований по 3-лет. плану (расходы).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010900</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по РБС, ПБС по расходам (с нач. года)</V>
            <V N="Template">(02.01.09) Уведомление о бюджетных ассигнованиях по 3-лет. плану (БР).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2011000</V>
            <V N="Name">Уведомление по расчетам между бюджетами</V>
            <V N="Template">(02.01.10) Уведомление по расчетам между бюджетами.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2011100</V>
            <V N="Name">Уведомление о ЛБО</V>
            <V N="Template">(02.01.11) Уведомление о ЛБО.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020100</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по расходам (с нач. года)</V>
            <V N="Template">(02.01.07) Уведомление о бюджетных ассигнованиях по 3-лет. плану (расходы).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020200</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по расходам</V>
            <V N="Template">(02.01.08) Уведомление об изменении бюджетных ассигнований по 3-лет. плану (расходы).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020300</V>
            <V N="Name">Уведомление об изменении показателей кассового плана по ГРБС в части расходов бюджета</V>
            <V N="Template">(02.02.03) Уведомление об изменении показателей кас. плана по ГРБС (расходы).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030100</V>
            <V N="Name">Уведомление об изменении показателей кассового плана по ГРБС в части расходов бюджета</V>
            <V N="Template">(02.02.03) Уведомление об изменении показателей кас. плана по ГРБС (расходы).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040100</V>
            <V N="Name">Уведомление об изменении показателей сметы по предпринимательской деятельности в части расходов бюджета</V>
            <V N="Template">(02.04.01) Уведомление об изменении показателей сметы ПД.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040200</V>
            <V N="Name">Уведомление об изменении сведений о субсидиях</V>
            <V N="Template">(02.04.02) Уведомление об изменении сведений о субсидиях.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060100</V>
            <V N="Name">Уведомление об изменении показателей кассового плана по ПБС в части расходов бюджета</V>
            <V N="Template">(02.01.03) Уведомление об изменении показателей кас. плана по ПБС (расходы).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070100</V>
            <V N="Name">Уведомление о показателях КП</V>
            <V N="Template">(02.07.01) Уведомление о показателях КП.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080100</V>
            <V N="Name">Уведомление о показателях ПОФ</V>
            <V N="Template">(02.08.01) Уведомление о показателях ПОФ.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080200</V>
            <V N="Name">Уведомление о показателях ПОФ на месяц</V>
            <V N="Template">(02.08.02) Уведомление о показателях ПОФ на месяц.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.39</param>
  </node>
  <version_info>
    <file>Сборка(03)Казначейство.xml</file>
    <version>36.042.146</version>
    <info>&lt;p&gt;печатные документы казначейства&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:13</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010100</V>
            <V N="Name">Мемордер(переброска)</V>
            <V N="Template">(03.01.01)Мемордер на переброску.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020200</V>
            <V N="Name">Платежное поручение</V>
            <V N="Template">(03.02.02) Расходное платежное поручение.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020300</V>
            <V N="Name">Расшифровка к расчетному документу</V>
            <V N="Template">(03.02.03) Расшифровка к расчетному документу.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020400</V>
            <V N="Name">заявка на кассовый расход(приложение 1)</V>
            <V N="Template">(03.02.04) Заявка на кассовый расход(приложение 1).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020500</V>
            <V N="Name">заявка на кассовый расход(приложение 2)</V>
            <V N="Template">(03.02.05) Заявка на кассовый расход(приложение 2).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020600</V>
            <V N="Name">заявка на кассовый расход(приложение 3)</V>
            <V N="Template">(03.02.06) Заявка на кассовый расход(приложение 3).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020700</V>
            <V N="Name">Заявка на кассовый расход</V>
            <V N="Template">03020400,03020500,03020600</V>
            <V N="Generation">КомпозицияДокументовF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020900</V>
            <V N="Name">Заявка на кассовый расход (сокращенная)</V>
            <V N="Template">(03.02.09) Заявка на кассовый расход (сокращенная).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030100</V>
            <V N="Name">Мемордер(разасигновка)</V>
            <V N="Template">(03.03.01)Мемордер на разассигновку.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040100</V>
            <V N="Name">Доверенность на получение чека</V>
            <V N="Template">(03.04.01)доверенность на получение чека.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040200</V>
            <V N="Name">Заявка и расшифровка на получение наличных денег</V>
            <V N="Template">03.04.03.00,03.04.04.00</V>
            <V N="Generation">ПечатныеДокументыЛентаМноготабличнаяF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040300</V>
            <V N="Name">Заявка на получение наличных денег</V>
            <V N="Template">(03.04.03) Заявка на получение наличных денег.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040400</V>
            <V N="Name">Расшифровка заявки на получение наличных денег</V>
            <V N="Template">(03.04.04) Расшифровка заявки на получение наличных денег.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050100</V>
            <V N="Name">Приходное платежное поручение</V>
            <V N="Template">(03.05.01)приходное платежное поручение.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060100</V>
            <V N="Name">Ордер(приход по объявлениям)</V>
            <V N="Template">(03.06.01)Ордер(приход по объявлениям).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3070100</V>
            <V N="Name">Распоряжение на финансирование(казначейство)</V>
            <V N="Template">(03.07.00)Распоряжение на финансирование.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080200</V>
            <V N="Name">Мемордер(переброска)</V>
            <V N="Template">(03.08.02)Мемордер на переброску.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110200</V>
            <V N="Name">Перечисление на счета для наличности</V>
            <V N="Template">(03.11.02) Перечисление на счета для наличности.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110300</V>
            <V N="Name">Расшифровка к расчетному документу</V>
            <V N="Template">(03.02.03) Расшифровка к расчетному документу.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120100</V>
            <V N="Name">Платежное поручение (подтверждение перечисления)</V>
            <V N="Template">(03.12.01)Платежное поручение (подтверждение перевода).CLX</V>
            <V N="Generation">ПечатныеДокументыCells</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140200</V>
            <V N="Name">Возврат со счетов для наличности</V>
            <V N="Template">(03.14.02) Возврат со счетов для наличности.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150100</V>
            <V N="Name">Подтверждение возврата со счетов для наличности</V>
            <V N="Template">(03.15.01) Подтверждение возврата со счетов для наличности.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140400</V>
            <V N="Name">Расшифровка к расчетному документу</V>
            <V N="Template">(03.02.03) Расшифровка к расчетному документу.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170100</V>
            <V N="Name">Мемордер (разасигновка)</V>
            <V N="Template">(03.17.01)Мемордер на разассигновку.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180100</V>
            <V N="Name">Мемордер (переброска)</V>
            <V N="Template">(03.18.01)Мемордер на переброску.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220100</V>
            <V N="Name">Платежное поручение </V>
            <V N="Template">(03.22.01)Платежное поручение.CLX</V>
            <V N="Generation">ПечатныеДокументыCells</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220200</V>
            <V N="Name">Расшифровка к расчетному документу</V>
            <V N="Template">(03.02.03) Расшифровка к расчетному документу.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
            <EM />
            <AG>taRightJustify</AG>
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
            <EM />
            <AG />
            <RQ>0</RQ>
            <FK />
            <RO>0</RO>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230100</V>
            <V N="Name">Реестр на финансирование </V>
            <V N="Template">(03.23.01) Реестр на финансирование.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240100</V>
            <V N="Name">Реестр на финансирование </V>
            <V N="Template">(03.23.01) Реестр на финансирование.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040500</V>
            <V N="Name">Заявка на получение наличных денег (85н)</V>
            <V N="Template">(03.04.05) Заявка на получение наличных денег (85н).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.146</param>
  </node>
  <version_info>
    <file>Сборка(03).НастройкиОбластей.Казначейство.xml</file>
    <version>36.042.146</version>
    <info>&lt;p&gt;печатные документы казначейства&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:13</buildtime>
  </version_info>
  <description>Настройки областей печатных документов</description>
  <node path="%root%\Объекты\Документы\Настройки\301">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НазначениеПлатежаПолучателя">НазначениеПлатежаПолучателя</value>
    <node path="НазначениеПлатежа">
      <value type="3" name="ВариантПоУмолчанию">Базовый</value>
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <node path="НазначениеПлатежаПолучателя">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НазначениеПлатежаПолучателя" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежаПолучателя" type="3" name="crc32">$F30858E3</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\301">
    <value type="3" name="Группы">НазначениеПлатежа
НазначениеПлатежаПолучателя
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="НазначениеПлатежаПолучателя">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
ПримечаниеДеталь
НДС
ИнформацияОНалоге
КВРПлат
КВРПолуч
КВСРПлат
КВСРПолуч
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСРПлат
КФСРПолуч
КЦСРПлат
КЦСРПолуч
КЭСРПлат
КЭСРПолуч
СубКЭСРПлат
СубКЭСРПолуч
МероприятиеПлат
МероприятиеПолуч
ТипСредствПлат
ТипСредствПолуч
ТипФинансированияПлат
ТипФинансированияПолуч
БюджОбязПлат
БюджОбязПолуч
ИсточникФинансированияПлат
ИсточникФинансированияПолуч
Сумма</value>
    <value type="3" name="Признаки">Получатель=
Плательщик=
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="Group">НазначениеПлатежа</V>
                <V N="ID">5235260</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="Group">НазначениеПлатежаПолучателя</V>
                <V N="ID">5235261</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="Group">Плательщик</V>
                <V N="ID">79086729</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">79086730</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ParamName">СчетПолучателя</V>
                <V N="RecordIndex">79086730</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">ИНН {&lt;ЛицСчетПолучателя=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;} {&lt;ЛицСчетПолучателя=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;} - {&lt;ЛицСчетПолучателя=Лицевой_Счет.Имя&gt;} ({&lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;})</V>
                <V N="RecordIndex">79086730</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="RecordIndex">79086730</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="RecordIndex">79086730</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">СчетПлательщика</V>
                <V N="RecordIndex">79086729</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">ИНН {&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;} {&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;} - {&lt;ЛицСчетПлательщика=Лицевой_Счет.Имя&gt;} ({&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;})</V>
                <V N="RecordIndex">79086729</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщика</V>
                <V N="RecordIndex">79086729</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">ИННПлательщика</V>
                <V N="RecordIndex">79086729</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">
Зачислено на лицевой счет {&lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;}</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235261</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСРПолуч=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСРПолуч=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСРПолуч=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВРПолуч=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСРПолуч=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСРПолуч=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;МероприятиеПолуч=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбязПолуч&gt;}{&lt;ИсточникВнутрФинансированияПолуч=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДоходаПолуч=КД.Код&gt;}</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235261</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">Снято с лицевого счета {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;}</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ =&lt;ПолеСуммы&gt;}</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235260</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСРПлат=КФСР.Код,@%d(0000)&gt;}{КВСР:&lt;КВСРПлат=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСРПлат=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВРПлат=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСРПлат=КЭСР.Код,@%d(000)&gt;}{СубКЭСР:&lt;СубКЭСРПлат=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;МероприятиеПлат=Мероприятие.Код,@%d(000000)&gt;}{&lt;ИсточникВнутрФинансированияПлат=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДоходаПлат=КД.Код&gt;}{БО:&lt;БюджОбязПлат&gt;}</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235260</V>
                <V N="Type">4</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$306DFEC6</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="НазначениеПлатежаПолучателя" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежаПолучателя" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$65162EC6</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$C7C8BDC9</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\302">
    <value type="3" name="ИННПлательщика">Плательщик</value>
    <value type="3" name="ИННПолучателя">Получатель</value>
    <value type="3" name="КПППлательщика">Плательщик</value>
    <value type="3" name="КПППолучателя">Получатель</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Плательщик</value>
    <value type="3" name="НаименованиеПолучателя">Получатель</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <value type="3" name="СтандартныйВариант1">"Классификация={&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз=БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}"
"ФорматПримечания={&lt;Примечание&gt; }({ИНН &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt; }{КПП &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt; }{&lt;ЛицСчетПлательщика= Лицевой_Счет.ОрганизацияВладелец.Имя&gt; } {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;}){
&lt;НДС&gt;}"</value>
        <value type="3" name="СтандартныйВариант2">"ФорматПримечания={&lt;Примечание&gt; }({&lt;ЛицСчетПлательщика= Лицевой_Счет.Имя&gt; } {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;}){
&lt;НДС&gt;}"</value>
        <value type="3" name="СтандартныйВариант3">"Классификация={&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз=БюджОбяз&gt;}{СубКЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{Меропр:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}"
"ФорматПримечания={&lt;Примечание&gt;}{&lt;Классификация&gt;}{
&lt;НДС&gt;}"</value>
        <value type="3" name="СтандартныйВариант4">"Классификация={КФСР:&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз=БюджОбяз&gt;}{СубКЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{Меропр:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}"
"ФорматПримечания={&lt;Примечание&gt;}{&lt;Классификация&gt;}{
&lt;НДС&gt;}"</value>
        <value type="3" name="СтандартныйВариант7">"Классификация={&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СчетПлат=Р/с.ИмяЛСФК&gt;}"
"ФорматПримечания={&lt;Классификация&gt;}{&lt;Примечание&gt;}{
&lt;НДС&gt;}"</value>
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
        <param value="СтандартныйВариант1" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант1" type="3" name="crc32">$8CF32A4E</param>
        <param value="СтандартныйВариант2" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант2" type="3" name="crc32">$31B29CF3</param>
        <param value="СтандартныйВариант3" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант3" type="3" name="crc32">$96A02AC5</param>
        <param value="СтандартныйВариант4" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант4" type="3" name="crc32">$FA00627C</param>
        <param value="СтандартныйВариант7" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант7" type="3" name="crc32">$75B59045</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <value type="3" name="СтандартныйВариант2">"ИННПлательщика.НеНалогНеУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}"
"ИННПлательщика.НеНалогУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}"
"КПППлательщика.НеНалогНеУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}"
"КПППлательщика.НеНалогУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}"
"НаименованиеПлательщика.НалогНеУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}"
"НаименованиеПлательщика.НалогУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}"
"НаименованиеПлательщика.НеНалогНеУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"
"НаименованиеПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <value type="3" name="СтандартныйВариант4">"ИННПлательщика.НеНалогНеУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}"
"ИННПлательщика.НеНалогУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}"
"КПППлательщика.НеНалогУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}"
"КПППлательщика.НеНалогНеУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}"
"НаименованиеПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"
"НаименованиеПлательщика.НеНалогНеУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <value type="3" name="СтандартныйВариант5">"ИННПлательщика.НеНалогНеУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}"
"ИННПлательщика.НеНалогУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}"
"КПППлательщика.НеНалогУФК="
"КПППлательщика.НеНалогНеУФК="
"НаименованиеПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"
"НаименованиеПлательщика.НеНалогНеУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <value type="3" name="СтандартныйВариант6">"ИННПлательщика.НеНалогНеУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}"
"ИННПлательщика.НеНалогУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}"
"КПППлательщика.НеНалогНеУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}"
"КПППлательщика.НеНалогУФК={&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}"
"НаименованиеПлательщика.НалогНеУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}"
"НаименованиеПлательщика.НалогУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}"
"НаименованиеПлательщика.НеНалогНеУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}"
"НаименованиеПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация.Имя&gt;}"</value>
        <value type="3" name="СтандартныйВариант7">"НаименованиеПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
        <param value="СтандартныйВариант2" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант2" type="3" name="crc32">$19D5D69D</param>
        <param value="СтандартныйВариант4" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант4" type="3" name="crc32">$E8B495B1</param>
        <param value="СтандартныйВариант5" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант5" type="3" name="crc32">$11248A12</param>
        <param value="СтандартныйВариант6" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант6" type="3" name="crc32">$6B789D6B</param>
        <param value="СтандартныйВариант7" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант7" type="3" name="crc32">$26809461</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <value type="3" name="СтандартныйВариант4">"ИННПолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}"
"ИННПолучателя.НеНалогНеУФК={&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}"
"КПППолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация.КПП&gt;}"
"КПППолучателя.НеНалогНеУФК={&lt;СчетПолуч=Р/с.Организация.КПП&gt;}"
"НаименованиеПолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{(&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}"
"НаименованиеПолучателя.НеНалогНеУФК={&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <value type="3" name="СтандартныйВариант5">"ИННПолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}"
"ИННПолучателя.НеНалогНеУФК={&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}"
"КПППолучателя.НеНалогУФК="
"КПППолучателя.НеНалогНеУФК="
"НаименованиеПолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{(&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}"
"НаименованиеПолучателя.НеНалогНеУФК={&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
        <param value="СтандартныйВариант4" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант4" type="3" name="crc32">$259B34AA</param>
        <param value="СтандартныйВариант5" type="3" name="version">36.042.146</param>
        <param value="СтандартныйВариант5" type="3" name="crc32">$E3DB5A20</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.146</param>
    <param value="ИННПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.146</param>
    <param value="ИННПолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="КПППлательщика" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="КПППолучателя" type="3" name="version">36.042.146</param>
    <param value="КПППолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$5AE8A02F</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\302">
    <value type="3" name="Группы">НазначениеПлатежа
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0
КодПлательщикаВУФК=0
ПолнНаимБюджетополуч=0
НаименованиеБанкаПлательщика=0
ЛицСчетПлатВУФК=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0
НаименованиеБанкаПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ДатаДокумента
ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
ИсточникВнутрФинансированияКлюч
ИсточникОбразованияСредств
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
НомерДокумента
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма
Распорядитель
КДКлюч
ЛицСчетПлатДет
Направление
ДоговораБОПлатНомерДоговора
ДоговораБОПлатДатаДоговора
ДокИсполненияПлатНомер
ДокИсполненияПлатДата</value>
    <value type="3" name="Признаки">Получатель=Налог,ПолучательУФК
Плательщик=Налог,ПлательщикУФК
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5028640</V>
                <V N="Constraints">НеСчетПолучателяВФО,ПлательщикУФК</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">5028644</V>
                <V N="Constraints">НеСчетПолучателяВФО,ПолучательУФК</V>
              </R>
              <R>
                <V N="Group">Плательщик</V>
                <V N="ID">5235188</V>
                <V N="Constraints">ПлательщикУФК</V>
              </R>
              <R>
                <V N="Group">Плательщик</V>
                <V N="ID">5235189</V>
                <V N="Constraints">НеПлательщикУФК</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">5235193</V>
                <V N="Constraints">НеПолучательУФК</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">5235194</V>
                <V N="Constraints">ПолучательУФК,СчетПолучателяВФО</V>
              </R>
              <R>
                <V N="Group">НазначениеПлатежа</V>
                <V N="ID">5235195</V>
                <V N="Constraints" />
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ParamName">НаименованиеБанкаПолучателя</V>
                <V N="ParamValue" />
                <V N="RecordIndex">5028644</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">СчетПолучателя</V>
                <V N="RecordIndex">5028644</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КраткоеИмя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.КраткоеИмя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5028644</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5028644</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5028644</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.СчетОбслуживающейОрганизации.Организация_ФК.КраткоеИмя&gt;}{ (&lt;СчетПолуч=Р/с.Организация_ФК.КраткоеИмя&gt;}{, л/с &lt;СчетПолуч=Р/с.СчетОбслуживающейОрганизации.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.КраткоеИмя&gt;}{, л/с &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;))}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5235194</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5235193</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5235189</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5235188</V>
              </R>
              <R>
                <V N="ParamName">КодПлательщикаВУФК</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КодВУФК&gt;}</V>
                <V N="RecordIndex">5235188</V>
              </R>
              <R>
                <V N="ParamName">ПолнНаимБюджетополуч</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}</V>
                <V N="RecordIndex">5235188</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеБанкаПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Банк.БИК&gt;}{&lt;СчетПлат=Р/с.Банк.Город&gt;}</V>
                <V N="RecordIndex">5235188</V>
              </R>
              <R>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> в т.ч. </V>
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">; </V>
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235195</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДохода=КД.Код&gt;}{ Дата договора:&lt;ДоговораБОПлатДатаДоговора=Дата.Дата&gt;}{Дата ДИ:&lt;ДокИсполненияПлатДата=Дата.Дата&gt;}{БО:&lt;БюджОбяз&gt;}{ № ДИ:&lt;ДокИсполненияПлатНомер&gt;}{ № договора:&lt;ДоговораБОПлатНомерДоговора&gt;}</V>
                <V N="RecordIndex">5235195</V>
              </R>
              <R>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235195</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5235194</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5235193</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
                <V N="RecordIndex">5235189</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
                <V N="RecordIndex">5235189</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
                <V N="RecordIndex">5235188</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеБанкаПолучателя</V>
                <V N="RecordIndex">5235194</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">СчетПолучателя</V>
                <V N="RecordIndex">5235194</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5235194</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5235193</V>
              </R>
              <R>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
                <V N="RecordIndex">5235189</V>
              </R>
              <R>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
                <V N="RecordIndex">5235188</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$6DDA1B24</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$16B6739C</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3FAB0746</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$F03F91E0</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$BB194C9D</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\303">
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\303">
    <value type="3" name="Группы">НазначениеПлатежа</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма</value>
    <value type="3" name="Признаки">Получатель=
Плательщик=
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235259</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСР=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235259</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$BA620726</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$421125EA</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$C7C8BDC9</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\304">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.146</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\304">
    <value type="3" name="Группы">НазначениеПлатежа
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0
КодПлательщикаВУФК=0
ПолнНаимБюджетополуч=0
НаименованиеБанкаПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0
НаименованиеБанкаПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ДатаДокумента
ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
ИсточникВнутрФинансированияКлюч
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
НомерДокумента
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
ИсточникОбразованияСредств
Сумма
Распорядитель
КДКлюч
ЛицСчетПлатДет
Направление</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">2579212</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">2579211</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">2579210</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">2579209</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">2579208</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">2579207</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">2579206</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">2579205</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">2579204</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">2579211</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579210</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579209</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579208</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579207</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579205</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579204</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДохода=КД.Код&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579211</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579211</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579210</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579210</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579209</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579209</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579208</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579208</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579207</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579207</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579205</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579205</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579204</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579204</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579211</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579210</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579209</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579208</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579207</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579205</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579204</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$6DDA1B24</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$43D3F8F9</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3FAB0746</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$2F1DE3B6</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\305">
    <value type="3" name="ИННПлательщика">Плательщик</value>
    <value type="3" name="ИННПолучателя">Получатель</value>
    <value type="3" name="КПППлательщика">Плательщик</value>
    <value type="3" name="КПППолучателя">Получатель</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Плательщик</value>
    <value type="3" name="НаименованиеПолучателя">Получатель</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.146</param>
    <param value="ИННПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.146</param>
    <param value="ИННПолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="КПППлательщика" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="КПППолучателя" type="3" name="version">36.042.146</param>
    <param value="КПППолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$5AE8A02F</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\305">
    <value type="3" name="Группы">НазначениеПлатежа
Получатель
Плательщик</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма</value>
    <value type="3" name="Признаки">Получатель=ПолучательУФК
Плательщик=ПлательщикУФК
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235266</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235265</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235264</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235263</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235262</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235265</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;}{ ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235264</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235263</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя &gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235262</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;Примечание&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ =&lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСР=КФСР.Код,@%d(00.00)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=кэср.код,@%d(0.0.0)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДохода=КД.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235266</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235265</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235265</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235264</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235264</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235263</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235263</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235262</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235262</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235265</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235264</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235263</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235262</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$705C33E5</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$421125EA</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$08DABEAC</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\306">
    <value type="3" name="ИННПлательщика">Плательщик</value>
    <value type="3" name="ИННПолучателя">Получатель</value>
    <value type="3" name="КПППлательщика">Плательщик</value>
    <value type="3" name="КПППолучателя">Получатель</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Плательщик</value>
    <value type="3" name="НаименованиеПолучателя">Получатель</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.146</param>
    <param value="ИННПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.146</param>
    <param value="ИННПолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="КПППлательщика" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="КПППолучателя" type="3" name="version">36.042.146</param>
    <param value="КПППолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$5AE8A02F</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\306">
    <value type="3" name="Группы">НазначениеПлатежа
Получатель
Плательщик</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма</value>
    <value type="3" name="Признаки">Получатель=
Плательщик=
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235271</V>
                <V N="Group">Получатель</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235269</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235267</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235271</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">ОН ЖЕ</V>
              </R>
              <R>
                <V N="RecordIndex">5235270</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">ОН ЖЕ</V>
              </R>
              <R>
                <V N="RecordIndex">5235269</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;} {&lt;СчетПолуч=Р/с.Организация.Имя&gt;} {(ИНН &lt;ЛицевойСчет=Лицевой_счет.ОрганизацияВладелец.ИНН&gt;} {&lt;ЛицевойСчет=Лицевой_счет.ОрганизацияВладелец.Имя&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235268</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;} {&lt;СчетПолуч=Р/с.Организация.Имя&gt;} {(ИНН &lt;ЛицевойСчет=Лицевой_счет.ОрганизацияВладелец.ИНН&gt;} {&lt;ЛицевойСчет=Лицевой_счет.ОрганизацияВладелец.Имя&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ =&lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСР=КФСР.Код,@%d(00.00)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=кэср.код,@%d(0.0.0)&gt;}{СубКЭСР:&lt;СубКЭСР=Субкэср.код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДохода=КД.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235267</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$705C33E5</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$421125EA</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$C7C8BDC9</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\308">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НазначениеПлатежаПолучателя">НазначениеПлатежаПолучателя</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="НазначениеПлатежаПолучателя">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НазначениеПлатежаПолучателя" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежаПолучателя" type="3" name="crc32">$F30858E3</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\308">
    <value type="3" name="Группы">НазначениеПлатежа
НазначениеПлатежаПолучателя
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВРПлат
КВРПолуч
КВСРПлат
КВСРПолуч
КФСРПлат
КФСРПолуч
КЦСРПлат
КЦСРПолуч
КЭСРПлат
КЭСРПолуч
СубКЭСРПлат
СубКЭСРПолуч
МероприятиеПлат
МероприятиеПолуч
ТипСредствПлат
ТипСредствПолуч
ТипФинансированияПлат
ТипФинансированияПолуч
БюджОбязПлат
БюджОбязПолуч
ИсточникФинансированияПлат
ИсточникФинансированияПолуч
КодСубсидииПлат
КодСубсидииПолуч
Сумма</value>
    <value type="3" name="Признаки">Получатель=
Плательщик=
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
                <S>0</S>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="Group">НазначениеПлатежа</V>
                <V N="ID">5235260</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="Group">НазначениеПлатежаПолучателя</V>
                <V N="ID">5235261</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="Group">Плательщик</V>
                <V N="ID">16804521</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">16804525</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
                <S>0</S>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
                <S>0</S>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ParamName">СчетПолучателя</V>
                <V N="RecordIndex">16804525</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;ЛицСчетПолучателя=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;} - {&lt;ЛицСчетПолучателя=Лицевой_Счет.Имя&gt;} ({&lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;})</V>
                <V N="RecordIndex">16804525</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="RecordIndex">16804525</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="RecordIndex">16804525</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">СчетПлательщика</V>
                <V N="RecordIndex">16804521</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;} - {&lt;ЛицСчетПлательщика=Лицевой_Счет.Имя&gt;} ({&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;})</V>
                <V N="RecordIndex">16804521</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщика</V>
                <V N="RecordIndex">16804521</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">ИННПлательщика</V>
                <V N="RecordIndex">16804521</V>
                <V N="Type">0</V>
              </R>
              <R>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">
Зачислено на лицевой счет {&lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;} {&lt;НДС&gt;}</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235261</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСРПолуч=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСРПолуч=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСРПолуч=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВРПолуч=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСРПолуч=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСРПолуч=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;МероприятиеПолуч=Мероприятие.Код,@%d(000000)&gt;}{Код субсидии:&lt;КодСубсидииПолуч&gt;}{БО:&lt;БюджОбязПолуч&gt;}{&lt;ИсточникВнутрФинансированияПолуч=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДоходаПолуч=КД.Код&gt;}</V>
                <V N="RecordIndex">5235261</V>
              </R>
              <R>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235261</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt;}
Снято с лицевого счета {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;} {&lt;НДС&gt;}</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ =&lt;ПолеСуммы&gt;}</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235260</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСРПлат=КФСР.Код,@%d(0000)&gt;}{КВСР:&lt;КВСРПлат=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСРПлат=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВРПлат=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСРПлат=КЭСР.Код,@%d(000)&gt;}{СубКЭСР:&lt;СубКЭСРПлат=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;МероприятиеПлат=Мероприятие.Код,@%d(000000)&gt;}{Код субсидии:&lt;КодСубсидииПлат&gt;}{&lt;ИсточникВнутрФинансированияПлат=ИсточникВнутрФинансирования.Код&gt;}{БО:&lt;БюджОбязПлат&gt;}</V>
                <V N="RecordIndex">5235260</V>
              </R>
              <R>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235260</V>
                <V N="Type">4</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$306DFEC6</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$912D08DB</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$C7C8BDC9</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\311">
    <value type="3" name="ИННПлательщика">Плательщик</value>
    <value type="3" name="ИННПолучателя">Получатель</value>
    <value type="3" name="КПППлательщика">Плательщик</value>
    <value type="3" name="КПППолучателя">Получатель</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Плательщик</value>
    <value type="3" name="НаименованиеПолучателя">Получатель</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.146</param>
    <param value="ИННПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.146</param>
    <param value="ИННПолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="КПППлательщика" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="КПППолучателя" type="3" name="version">36.042.146</param>
    <param value="КПППолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$5AE8A02F</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\311">
    <value type="3" name="Группы">НазначениеПлатежа
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0
КодПлательщикаВУФК=0
ПолнНаимБюджетополуч=0
НаименованиеБанкаПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0
НаименованиеБанкаПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ДатаДокумента
ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
ИсточникВнутрФинансированияКлюч
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
НомерДокумента
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
ИсточникОбразованияСредств
Сумма
Распорядитель
КДКлюч
ЛицСчетПлатДет
Направление</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">2579212</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">2579211</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">2579210</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">2579209</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">2579208</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">2579207</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">2579206</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">2579205</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">2579204</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">2579211</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579210</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579209</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579208</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579207</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579205</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579204</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДохода=КД.Код&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579212</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579211</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579211</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579210</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579210</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579209</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579209</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579208</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579208</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579207</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579207</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579205</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579205</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579204</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">2579204</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579211</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579210</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579209</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579208</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579207</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579206</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579205</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">2579204</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$6DDA1B24</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$43D3F8F9</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3FAB0746</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$2F1DE3B6</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\312">
    <value type="3" name="ИННПлательщика">Плательщик</value>
    <value type="3" name="ИННПолучателя">Получатель</value>
    <value type="3" name="КПППлательщика">Плательщик</value>
    <value type="3" name="КПППолучателя">Получатель</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Плательщик</value>
    <value type="3" name="НаименованиеПолучателя">Получатель</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.146</param>
    <param value="ИННПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.146</param>
    <param value="ИННПолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="КПППлательщика" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="КПППолучателя" type="3" name="version">36.042.146</param>
    <param value="КПППолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$5AE8A02F</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\312">
    <value type="3" name="Группы">НазначениеПлатежа
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма</value>
    <value type="3" name="Признаки">Получатель=Налог,ПолучательУФК
Плательщик=Налог,ПлательщикУФК
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235294</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235293</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235292</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235291</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235290</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235289</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235288</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235287</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235286</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235293</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235292</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235291</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235290</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235289</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235288</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235287</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235286</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> в т.ч. </V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">; </V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДохода=КД.Код&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235294</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235293</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235293</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235292</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235292</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235291</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235291</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235290</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235290</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235289</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235289</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235288</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235288</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235288</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235287</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235287</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235286</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235286</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235293</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235292</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235291</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235290</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235289</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235288</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235287</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235286</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$6DDA1B24</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$421125EA</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$BB194C9D</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\314">
    <value type="3" name="ИННПлательщика">Плательщик</value>
    <value type="3" name="ИННПолучателя">Получатель</value>
    <value type="3" name="КПППлательщика">Плательщик</value>
    <value type="3" name="КПППолучателя">Получатель</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Плательщик</value>
    <value type="3" name="НаименованиеПолучателя">Получатель</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.146</param>
    <param value="ИННПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.146</param>
    <param value="ИННПолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="КПППлательщика" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="КПППолучателя" type="3" name="version">36.042.146</param>
    <param value="КПППолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$5AE8A02F</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\314">
    <value type="3" name="Группы">НазначениеПлатежа
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0
КодПлательщикаВУФК=0
ПолнНаимБюджетополуч=0
НаименованиеБанкаПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0
НаименованиеБанкаПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ДатаДокумента
ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
ИсточникВнутрФинансированияКлюч
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
НомерДокумента
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма
Распорядитель
КодДохода
КДКлюч
ЛицСчетПлатДет
Направление</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235303</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235302</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235301</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235300</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235299</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235298</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235297</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235296</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235295</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235302</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235301</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235300</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235299</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235298</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235297</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235296</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ ( ИНН &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}{ КПП &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235295</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ ( ИНН &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}{ КПП &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> в т.ч. </V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">; </V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДохода=КД.Код&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235303</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235302</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235302</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235301</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235301</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235300</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235300</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235299</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235299</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235298</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235298</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235297</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235297</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235297</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235296</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235296</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235295</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235295</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235302</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235301</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235300</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235299</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235298</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235297</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235296</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235295</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$6DDA1B24</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$43D3F8F9</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3FAB0746</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$E1C5C488</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\315">
    <value type="3" name="ИННПлательщика">Получатель</value>
    <value type="3" name="ИННПолучателя">Плательщик</value>
    <value type="4" name="ИспользоватьОбластиФорматирования" flags="1">1</value>
    <value type="3" name="КПППлательщика">Получатель</value>
    <value type="3" name="КПППолучателя">Плательщик</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Получатель</value>
    <value type="3" name="НаименованиеПолучателя">Плательщик</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.146</param>
    <param value="ИННПлательщика" type="3" name="crc32">$5AE8A02F</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.146</param>
    <param value="ИННПолучателя" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="crc32">$5AE8A02F</param>
    <param value="КПППолучателя" type="3" name="version">36.042.146</param>
    <param value="КПППолучателя" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$5AE8A02F</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$F8B6ABB6</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\315">
    <value type="3" name="Группы">НазначениеПлатежа
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0
КодПлательщикаВУФК=0
ПолнНаимБюджетополуч=0
НаименованиеБанкаПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0
НаименованиеБанкаПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
ИсточникВнутрФинансированияКлюч
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма
Распорядитель
КодДохода
КДКлюч
ЛицСчетПлатДет
Направление</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="Group">Плательщик</V>
                <V N="ID">5235295</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="Group">Плательщик</V>
                <V N="ID">5235296</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="Group">Плательщик</V>
                <V N="ID">5235297</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="Group">Плательщик</V>
                <V N="ID">5235298</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">5235299</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">5235300</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">5235301</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="Group">Получатель</V>
                <V N="ID">5235302</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="Group">НазначениеПлатежа</V>
                <V N="ID">5235303</V>
                <V N="Constraints" />
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{ (&lt;ЛицСчетПолучателя=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}</V>
                <V N="RecordIndex">5235302</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{ (&lt;ЛицСчетПолучателя=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}</V>
                <V N="RecordIndex">5235301</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{ (&lt;ЛицСчетПолучателя=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}</V>
                <V N="RecordIndex">5235300</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{ (&lt;ЛицСчетПолучателя=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}</V>
                <V N="RecordIndex">5235299</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5235298</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5235297</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ ( ИНН &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}{ КПП &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5235296</V>
              </R>
              <R>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ ( ИНН &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}{ КПП &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
                <V N="RecordIndex">5235295</V>
              </R>
              <R>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> в т.ч. </V>
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">; </V>
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235303</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{БО:&lt;БюджОбяз&gt;}</V>
                <V N="RecordIndex">5235303</V>
              </R>
              <R>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="RecordIndex">5235303</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235302</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5235302</V>
              </R>
              <R>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235301</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5235301</V>
              </R>
              <R>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235300</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5235300</V>
              </R>
              <R>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235299</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5235299</V>
              </R>
              <R>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235298</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
                <V N="RecordIndex">5235298</V>
              </R>
              <R>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235297</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
                <V N="RecordIndex">5235297</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
                <V N="RecordIndex">5235297</V>
              </R>
              <R>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235296</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5235296</V>
              </R>
              <R>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="RecordIndex">5235295</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
                <V N="RecordIndex">5235295</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5235302</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5235301</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5235300</V>
              </R>
              <R>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5235299</V>
              </R>
              <R>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
                <V N="RecordIndex">5235298</V>
              </R>
              <R>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
                <V N="RecordIndex">5235297</V>
              </R>
              <R>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5235296</V>
              </R>
              <R>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
                <V N="RecordIndex">5235295</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$6DDA1B24</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$43D3F8F9</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3FAB0746</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$0E8906C6</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\317">
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\317">
    <value type="3" name="Группы">НазначениеПлатежа</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма</value>
    <value type="3" name="Признаки">Получатель=
Плательщик=
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235304</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСР=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$BA620726</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$421125EA</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$C7C8BDC9</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\318">
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НазначениеПлатежаПолучателя">НазначениеПлатежаПолучателя</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="НазначениеПлатежаПолучателя">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НазначениеПлатежаПолучателя" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежаПолучателя" type="3" name="crc32">$F30858E3</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\318">
    <value type="3" name="Группы">НазначениеПлатежа
НазначениеПлатежаПолучателя</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВРПлат
КВРПолуч
КВСРПлат
КВСРПолуч
КФСРПлат
КФСРПолуч
КЦСРПлат
КЦСРПолуч
КЭСРПлат
КЭСРПолуч
СубКЭСРПлат
СубКЭСРПолуч
МероприятиеПлат
МероприятиеПолуч
ТипСредствПлат
ТипСредствПолуч
ТипФинансированияПлат
ТипФинансированияПолуч
БюджОбязПлат
БюджОбязПолуч
ИсточникФинансированияПлат
ИсточникФинансированияПолуч
Сумма</value>
    <value type="3" name="Признаки">Получатель=
Плательщик=
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235306</V>
                <V N="Group">НазначениеПлатежаПолучателя</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235305</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">
Зачислено на лицевой счет {&lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСРПолуч=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСРПолуч=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСРПолуч=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВРПолуч=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСРПолуч=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСРПолуч=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;МероприятиеПолуч=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбязПолуч&gt;}{&lt;ИсточникВнутрФинансированияПолуч=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДоходаПолуч=КД.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235306</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">Снято с лицевого счета {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ =&lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСРПлат=КФСР.Код,@%d(0000)&gt;}{КВСР:&lt;КВСРПлат=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСРПлат=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВРПлат=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСРПлат=КЭСР.Код,@%d(000)&gt;}{СубКЭСР:&lt;СубКЭСРПлат=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;МероприятиеПлат=Мероприятие.Код,@%d(000000)&gt;}{&lt;ИсточникВнутрФинансированияПлат=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДоходаПлат=КД.Код&gt;}{БО:&lt;БюджОбязПлат&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235305</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$D08285C7</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$283D8F63</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$C7C8BDC9</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\322">
    <value type="3" name="ИННПлательщика">Плательщик</value>
    <value type="3" name="ИННПолучателя">Получатель</value>
    <value type="4" name="ИспользоватьОбластиФорматирования" flags="1">1</value>
    <value type="3" name="КПППлательщика">Плательщик</value>
    <value type="3" name="КПППолучателя">Получатель</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Плательщик</value>
    <value type="3" name="НаименованиеПолучателя">Получатель</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.146</param>
    <param value="ИННПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.146</param>
    <param value="ИННПолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="version">36.042.146</param>
    <param value="КПППлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="КПППолучателя" type="3" name="version">36.042.146</param>
    <param value="КПППолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.146</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$5AE8A02F</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\322">
    <value type="3" name="Группы">НазначениеПлатежа
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма</value>
    <value type="3" name="Признаки">Получатель=Налог,ПолучательУФК
Плательщик=Налог,ПлательщикУФК
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235195</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235194</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235193</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235192</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235191</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235190</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235189</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235188</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235187</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235194</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235193</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235192</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235191</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235190</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235189</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235188</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235187</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235195</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235194</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235194</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235193</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235193</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235192</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235192</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235191</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235191</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235190</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235190</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235189</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235189</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235189</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235188</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235188</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235187</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235187</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235194</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235193</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235192</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235191</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235190</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235189</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235188</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235187</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <node path="СтандартныйВариант1">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235204</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235203</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235202</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235201</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235200</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235199</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235198</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235197</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235196</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235203</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235202</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235201</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235200</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235199</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235198</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235197</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235196</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt; }({ИНН &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt; }{КПП &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt; }{&lt;ЛицСчетПлательщика= Лицевой_Счет.ОрганизацияВладелец.Имя&gt; } {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;}){
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз=БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235204</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235203</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235203</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235202</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235202</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235201</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235201</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235200</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235200</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235199</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235199</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235198</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235198</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235198</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235197</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235197</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235196</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235196</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235203</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235202</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235201</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235200</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235199</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235198</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235197</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235196</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
      </node>
      <node path="СтандартныйВариант2">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235213</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235212</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235211</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235210</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235209</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235208</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235207</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235206</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235205</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235212</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235211</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235210</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235209</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235208</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235207</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235206</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235205</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt; }({&lt;ЛицСчетПлательщика= Лицевой_Счет.Имя&gt; } {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;}){
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235213</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235212</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235212</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235211</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235211</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235210</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235210</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235209</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235209</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235208</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235208</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235207</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235207</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235207</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235206</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235206</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235205</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235205</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235212</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235211</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235210</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235209</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235208</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235207</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235206</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235205</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
      </node>
      <node path="СтандартныйВариант3">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235222</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235221</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235220</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235219</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235218</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235217</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235216</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235215</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235214</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235221</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235220</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235219</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235218</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235217</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235216</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235215</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235214</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt;}{&lt;Классификация&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз=БюджОбяз&gt;}{СубКЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{Меропр:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235222</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235221</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235221</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235220</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235220</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235219</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235219</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235218</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235218</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235217</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235217</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235216</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235216</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235216</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235215</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235215</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235214</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235214</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235221</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235220</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235219</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235218</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235217</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235216</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235215</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235214</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
      </node>
      <node path="СтандартныйВариант4">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235231</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235230</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235229</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235228</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235227</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235226</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235225</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235224</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235223</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235230</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235229</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235228</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{(&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235227</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235226</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235225</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235224</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235223</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt;}{&lt;Классификация&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз=БюджОбяз&gt;}{СубКЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{Меропр:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235231</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235230</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235230</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235229</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235229</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235228</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235228</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235227</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235227</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235226</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235226</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235225</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235225</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235225</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235224</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235224</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235223</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235223</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235230</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235229</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235228</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235227</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235226</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235225</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235224</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235223</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
      </node>
      <node path="СтандартныйВариант7">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235240</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235239</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235238</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235237</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235236</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235235</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235234</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235233</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235232</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235239</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235238</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235237</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235236</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235235</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235234</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235233</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235232</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{&lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{&lt;СчетПлат=Р/с.ИмяЛСФК&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235240</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235239</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235239</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235238</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235238</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235237</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235237</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235236</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235236</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235235</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235235</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235234</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235234</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235234</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235233</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235233</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235232</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235232</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235239</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235238</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235237</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235236</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235235</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235234</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235233</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235232</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
      </node>
      <node path="СтандартныйВариант5">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235249</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235248</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235247</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235246</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235245</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235244</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235243</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235242</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235241</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235248</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235247</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235246</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235245</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235244</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235243</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235242</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235241</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235249</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235248</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235248</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235247</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235247</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235246</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235246</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235245</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235245</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235244</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235244</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235243</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235243</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235243</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235242</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235242</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235241</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235241</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235248</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235247</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235246</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235245</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235244</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235243</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235242</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235241</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
      </node>
      <node path="СтандартныйВариант6">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235258</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235257</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235256</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235255</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235254</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235253</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235252</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235251</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235250</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235257</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235256</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235255</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235254</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235253</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235252</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235251</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235250</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue">в т.ч.</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">;</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235258</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235257</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235257</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235256</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235256</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235255</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235255</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235254</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235254</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235253</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235253</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235252</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235252</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235252</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235251</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235251</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235250</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235250</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235257</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235256</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235255</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235254</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235253</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235252</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235251</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235250</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$6DDA1B24</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$421125EA</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$BB194C9D</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\324">
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <param value="Базовый" type="3" name="version">36.042.146</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
      </node>
    </node>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\324">
    <value type="3" name="Группы">НазначениеПлатежа</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
КВР
КВСР
КодСубсидииКлюч
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма</value>
    <value type="3" name="Признаки">Получатель=
Плательщик=
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235304</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> В том числе:
</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">, </V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{КФСР:&lt;КФСР=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{Мероприятие:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235304</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.146</param>
        <param value="Параметры" type="3" name="version">36.042.146</param>
        <param value="Системная" type="3" name="version">36.042.146</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.146</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.146</param>
    <param value="Группы" type="3" name="crc32">$BA620726</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.146</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.146</param>
    <param value="Плательщик" type="3" name="crc32">$3D5188EF</param>
    <param value="Получатель" type="3" name="version">36.042.146</param>
    <param value="Получатель" type="3" name="crc32">$3A7F5487</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.146</param>
    <param value="ПоляДокумента" type="3" name="crc32">$421125EA</param>
    <param value="Признаки" type="3" name="version">36.042.146</param>
    <param value="Признаки" type="3" name="crc32">$C7C8BDC9</param>
  </node>
  <version_info>
    <file>Сборка(04)Кредиты.xml</file>
    <version>36.042.04</version>
    <info>&lt;p&gt;печатные документы для кредитов&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:14</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4010100</V>
            <V N="Name">Распоряжение на финансирование(кредиты)</V>
            <V N="Template">(04.01.01) кредиты.распоряжение на финансирование.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.04</param>
  </node>
  <version_info>
    <file>Сборка(05)Ссуды.xml</file>
    <version>36.042.03</version>
    <info>печатные документы для ссуд</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:15</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5010100</V>
            <V N="Name">Распоряжение на финансирование(ссуды)</V>
            <V N="Template">(05.01.01) ссуды.распоряжение на финансирование.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.03</param>
  </node>
  <version_info>
    <file>Сборка(07)Финансирование.xml</file>
    <version>36.042.14</version>
    <info>Печатные документы по финансированию и платежным поручениям</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:16</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7010100</V>
            <V N="Name">Форма №5. Распоряжение на финансирование</V>
            <V N="Template">(07.01.01) форма №5. распоряжение на финансирование.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7010200</V>
            <V N="Name">Форма №5. Распоряжение на финансирование (с группировкой по КЭСР)</V>
            <V N="Template">(07.01.02) форма №5. распоряжение на финансирование с группировкой по кэср.cld</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7010300</V>
            <V N="Name">Форма №5. Распоряжение на финансирование (полная)</V>
            <V N="Template">(07.01.03)распоряжение на финансирование(полное).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7010400</V>
            <V N="Name">Реестр на финансирование </V>
            <V N="Template">(07.01.04) Реестр на финансирование.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7020100</V>
            <V N="Name">Платежное поручение</V>
            <V N="Template">(07.02.01)платежное поручение.clx</V>
            <V N="Generation">ПечатныеДокументыCells</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7020200</V>
            <V N="Name">Инкассовое поручение</V>
            <V N="Template">(07.02.02)Инкассовое поручение.CLX</V>
            <V N="Generation">ПечатныеДокументыCells</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7020300</V>
            <V N="Name">Платежное требование</V>
            <V N="Template">(07.02.03)Платежное требование.CLX</V>
            <V N="Generation">ПечатныеДокументыCells</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">7020400</V>
            <V N="Name">Расшифровка к расчетному документу  </V>
            <V N="Template">(07.02.04) Расшифровка к платежному поручению.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <version_info>
    <file>Сборка(07).НастройкиОбластей.Финансирование.xml</file>
    <version>36.042.14</version>
    <info>Печатные документы по финансированию и платежным поручениям</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:16</buildtime>
  </version_info>
  <description>Настройки областей печатных документов</description>
  <node path="Бюджет\Объекты\Документы\Настройки\702">
    <value type="3" name="ИННПлательщика">Плательщик</value>
    <value type="3" name="ИННПолучателя">Получатель</value>
    <value type="3" name="КПППлательщика">Плательщик</value>
    <value type="3" name="КПППолучателя">Получатель</value>
    <value type="3" name="НазначениеПлатежа">НазначениеПлатежа</value>
    <value type="3" name="НаименованиеПлательщика">Плательщик</value>
    <value type="3" name="НаименованиеПолучателя">Получатель</value>
    <node path="НазначениеПлатежа">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <value type="3" name="СтандартныйВариант1">"Классификация={л/с &lt;СчетПлат=Р/с.ИмяЛСФК&gt;}"
"ФорматПримечания={&lt;Классификация&gt;} {&lt;Примечание&gt;}{
&lt;НДС&gt;}"</value>
        <param value="Базовый" type="3" name="version">36.042.14</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
        <param value="СтандартныйВариант1" type="3" name="version">36.042.14</param>
        <param value="СтандартныйВариант1" type="3" name="crc32">$BEA2D9D6</param>
      </node>
    </node>
    <node path="Плательщик">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <value type="3" name="СтандартныйВариант1">"ИННПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация.ИНН&gt;}"
"КПППлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация.КПП&gt;}"
"НаименованиеПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <value type="3" name="СтандартныйВариант2">"ИННПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация.ИНН&gt;}"
"КПППлательщика.НеНалогНеУФК= "
"КПППлательщика.НеНалогУФК= "
"НаименованиеПлательщика.НеНалогУФК={&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <param value="Базовый" type="3" name="version">36.042.14</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
        <param value="СтандартныйВариант1" type="3" name="version">36.042.14</param>
        <param value="СтандартныйВариант1" type="3" name="crc32">$4FD17A4D</param>
        <param value="СтандартныйВариант2" type="3" name="version">36.042.14</param>
        <param value="СтандартныйВариант2" type="3" name="crc32">$D16448DC</param>
      </node>
    </node>
    <node path="Получатель">
      <node path="Варианты">
        <value type="3" name="Базовый" />
        <value type="3" name="СтандартныйВариант1">"ИННПолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}"
"КПППолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация.КПП&gt;}"
"НаименованиеПолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({&lt;СчетПолуч=Р/с.Организация.Имя&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <value type="3" name="СтандартныйВариант2">"ИННПолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}"
"КПППолучателя.НеНалогНеУФК= "
"КПППолучателя.НеНалогУФК= "
"НаименованиеПолучателя.НеНалогУФК={&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({&lt;СчетПолуч=Р/с.Организация.Имя&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}"</value>
        <param value="Базовый" type="3" name="version">36.042.14</param>
        <param value="Базовый" type="3" name="crc32">$00000000</param>
        <param value="СтандартныйВариант1" type="3" name="version">36.042.14</param>
        <param value="СтандартныйВариант1" type="3" name="crc32">$9402B3BA</param>
        <param value="СтандартныйВариант2" type="3" name="version">36.042.14</param>
        <param value="СтандартныйВариант2" type="3" name="crc32">$C76F7AE5</param>
      </node>
    </node>
    <param value="ИННПлательщика" type="3" name="version">36.042.14</param>
    <param value="ИННПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="ИННПолучателя" type="3" name="version">36.042.14</param>
    <param value="ИННПолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="КПППлательщика" type="3" name="version">36.042.14</param>
    <param value="КПППлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="КПППолучателя" type="3" name="version">36.042.14</param>
    <param value="КПППолучателя" type="3" name="crc32">$5AE8A02F</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.14</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$BA620726</param>
    <param value="НаименованиеПлательщика" type="3" name="version">36.042.14</param>
    <param value="НаименованиеПлательщика" type="3" name="crc32">$F8B6ABB6</param>
    <param value="НаименованиеПолучателя" type="3" name="version">36.042.14</param>
    <param value="НаименованиеПолучателя" type="3" name="crc32">$5AE8A02F</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\702">
    <value type="3" name="Группы">НазначениеПлатежа
Плательщик
Получатель</value>
    <value type="3" name="НазначениеПлатежа">ФорматПримечания=0
ФорматВыводаПостояннойЧасти=1
ФорматВыводаПеременнойЧасти=1
РазделительПостояннойКлассификации=1
РазделительКлассификации=1
РазделительГруппПеременнойКлассификации=1
РазделительВнутриГруппыПеременнойКлассификации=1
Классификация=1
НеВыводитьПустуюКлассификацию=4
БанковскийФорматСумм=4
СпособВыделенияПостояннойЧасти=1
РазделительСуммы=1</value>
    <value type="3" name="Плательщик">ИННПлательщика=0
КПППлательщика=0
НаименованиеПлательщика=0
СчетПлательщика=0
КодПлательщикаВУФК=0
ПолнНаимБюджетополуч=0
НаименованиеБанкаПлательщика=0</value>
    <value type="3" name="Получатель">ИННПолучателя=0
КПППолучателя=0
НаименованиеПолучателя=0
СчетПолучателя=0
НаименованиеБанкаПолучателя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетПлательщика
ЛицСчетПолучателя
СчетПлат
СчетПолуч
Примечание
НДС
ИнформацияОНалоге
ИсточникВнутрФинансированияКлюч
КВР
КВСР
КодЦелевыхСредствКлюч
КФСР
КЦСР
КЭСР
СубКЭСР
Мероприятие
ТипСредств
ТипФинансирования
БюджОбяз
ИсточникФинансирования
Сумма
Распорядитель
КодДохода
КДКлюч
Направление</value>
    <value type="3" name="Признаки">Получатель=Налог,ПолучательУФК
Плательщик=Налог,ПлательщикУФК
НазначениеПлатежа=</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <N>ID</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <N>Group</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>Constraints</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235168</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235167</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235166</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235165</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235164</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235163</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235162</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235161</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235160</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <N>RecordIndex</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <N>ParamName</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>ParamValue</N>
                <CN>TLongStringField</CN>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>Type</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235167</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235166</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235165</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ лс &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235164</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235163</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235162</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235161</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (ИНН &lt;СчетПлат=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПлат=Р/с.Организация.КПП&gt;}{ &lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235160</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> в т.ч. </V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">; </V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000000)&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}{&lt;КодДохода=КДКлюч.Код&gt;}{БО:&lt;БюджОбяз&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235168</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235167</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235167</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235166</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235166</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235165</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235165</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235164</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235164</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235163</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235163</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235162</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235162</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235162</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235161</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235161</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235160</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235160</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235167</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235166</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235165</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235164</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235163</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235162</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235161</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235160</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.042.14</param>
        <param value="Параметры" type="3" name="version">36.042.14</param>
        <param value="Системная" type="3" name="version">36.042.14</param>
      </node>
      <node path="СтандартныйВариант1">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <N>ID</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <N>Group</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>Constraints</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235177</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235176</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235175</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235174</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235173</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235172</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235171</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235170</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235169</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <N>RecordIndex</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <N>ParamName</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>ParamValue</N>
                <CN>TLongStringField</CN>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>Type</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235176</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235175</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235174</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({&lt;СчетПолуч=Р/с.Организация.Имя&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235173</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235172</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235171</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235170</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235169</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Классификация&gt;} {&lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> в т.ч. </V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">; </V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{л/с &lt;СчетПлат=Р/с.ИмяЛСФК&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235177</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235176</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235176</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235175</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235175</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235174</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235174</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235173</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235173</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235172</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235172</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235171</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235171</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235171</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235170</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235170</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235169</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235169</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235176</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235175</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235174</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235173</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235172</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235171</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235170</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235169</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.14</param>
        <param value="Параметры" type="3" name="version">36.042.14</param>
      </node>
      <node path="СтандартныйВариант2">
        <value type="6" name="Варианты">
          <table>
            <FDL>
              <FD>
                <N>ID</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <N>Group</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>Constraints</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ID">5235186</V>
                <V N="Group">НазначениеПлатежа</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="ID">5235185</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235184</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">Налог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235183</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,ПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235182</V>
                <V N="Group">Получатель</V>
                <V N="Constraints">НеНалог,НеПолучательУФК</V>
              </R>
              <R>
                <V N="ID">5235181</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235180</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">Налог,НеПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235179</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,ПлательщикУФК</V>
              </R>
              <R>
                <V N="ID">5235178</V>
                <V N="Group">Плательщик</V>
                <V N="Constraints">НеНалог,НеПлательщикУФК</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table>
            <FDL>
              <FD>
                <N>RecordIndex</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <N>ParamName</N>
                <CN>TLongStringField</CN>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>ParamValue</N>
                <CN>TLongStringField</CN>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <N>Type</N>
                <CN>TIntegerField</CN>
                <S>0</S>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="RecordIndex">5235185</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235184</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235183</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ лс &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235182</V>
                <V N="ParamName">НаименованиеПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{
&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235181</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235180</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235179</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235178</V>
                <V N="ParamName">НаименованиеПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{
&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">ФорматПримечания</V>
                <V N="ParamValue">{&lt;Примечание&gt;}{
&lt;НДС&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">ФорматВыводаПостояннойЧасти</V>
                <V N="ParamValue">{(&lt;Классификация&gt;)}</V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">ФорматВыводаПеременнойЧасти</V>
                <V N="ParamValue">{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">СпособВыделенияПостояннойЧасти</V>
                <V N="ParamValue">0</V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">РазделительПостояннойКлассификации</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">РазделительКлассификации</V>
                <V N="ParamValue"> в т.ч. </V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">РазделительГруппПеременнойКлассификации</V>
                <V N="ParamValue">; </V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">РазделительВнутриГруппыПеременнойКлассификации</V>
                <V N="ParamValue">,</V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">НеВыводитьПустуюКлассификацию</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">Классификация</V>
                <V N="ParamValue">{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235186</V>
                <V N="ParamName">БанковскийФорматСумм</V>
                <V N="ParamValue">1</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235185</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235185</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235184</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235184</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235183</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235183</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235182</V>
                <V N="ParamName">ВыводитьПустойКПППолуч</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235182</V>
                <V N="ParamName">КПППолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235181</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235181</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235180</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235180</V>
                <V N="ParamName">КПППлательщикаДляНалога</V>
                <V N="ParamValue">{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235180</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.КПП&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235179</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235179</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235178</V>
                <V N="ParamName">ВыводитьПустойКПППлат</V>
                <V N="ParamValue">0</V>
                <V N="Type">4</V>
              </R>
              <R>
                <V N="RecordIndex">5235178</V>
                <V N="ParamName">КПППлательщика</V>
                <V N="ParamValue" />
              </R>
              <R>
                <V N="RecordIndex">5235185</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235184</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235183</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235182</V>
                <V N="ParamName">ИННПолучателя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235181</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235180</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235179</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
              <R>
                <V N="RecordIndex">5235178</V>
                <V N="ParamName">ИННПлательщика</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}</V>
              </R>
            </RL>
          </table>
        </value>
        <param value="Варианты" type="3" name="version">36.042.14</param>
        <param value="Параметры" type="3" name="version">36.042.14</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.042.14</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.042.14</param>
    <param value="Группы" type="3" name="crc32">$6DDA1B24</param>
    <param value="НазначениеПлатежа" type="3" name="version">36.042.14</param>
    <param value="НазначениеПлатежа" type="3" name="crc32">$613D076D</param>
    <param value="Плательщик" type="3" name="version">36.042.14</param>
    <param value="Плательщик" type="3" name="crc32">$43D3F8F9</param>
    <param value="Получатель" type="3" name="version">36.042.14</param>
    <param value="Получатель" type="3" name="crc32">$3FAB0746</param>
    <param value="ПоляДокумента" type="3" name="version">36.042.14</param>
    <param value="ПоляДокумента" type="3" name="crc32">$5E4CCE9D</param>
    <param value="Признаки" type="3" name="version">36.042.14</param>
    <param value="Признаки" type="3" name="crc32">$BB194C9D</param>
  </node>
  <version_info>
    <file>Сборка(09)Доходы.xml</file>
    <version>36.042.33</version>
    <info>&lt;p&gt;Печатные документы по доходам&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:18</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9010100</V>
            <V N="Name">распоряжение на возврат доходов</V>
            <V N="Template">(09.01.01)распоряжение на возврат доходов.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.33</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9010200</V>
            <V N="Name">Заявка на возврат</V>
            <V N="Template">(09.01.02) Заявка на возврат.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.33</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9020100</V>
            <V N="Name">мемордер на переброску внутренних средств</V>
            <V N="Template">(09.02.01) мемордер на переброску внутренних средств.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.33</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9030100</V>
            <V N="Name">ордер (выписка из банка)</V>
            <V N="Template">(09.03.01) ордер (выписка из банка).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.33</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9030200</V>
            <V N="Name">Входящее пп</V>
            <V N="Template">(09.03.02) Входящее пп.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.33</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9060100</V>
            <V N="Name">Справка о невыясненных поступлениях</V>
            <V N="Template">(09.06.01) Справка о невыясненных поступлениях.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.33</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9060200</V>
            <V N="Name">Заявка на возврат</V>
            <V N="Template">(09.01.02) Заявка на возврат.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.33</param>
  </node>
  <version_info>
    <file>Сборка(19)План заимствований.xml</file>
    <version>36.042.16</version>
    <info>Печатные документы по плану заимствований</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:20</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010100</V>
            <V N="Name">Уведомление об источниках финансирования</V>
            <V N="Template">(19.01.01)Уведомление об источниках финансирования.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010200</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по источникам (с нач. года)</V>
            <V N="Template">(19.01.02) Уведомление о бюджетных ассигнованиях по 3-лет. плану (источники).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010300</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по источникам финансирования дефицита бюджета</V>
            <V N="Template">(19.01.03) Уведомление об изменении бюджетных ассигнований по 3-лет. плану (источн).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010400</V>
            <V N="Name">Уведомление об изменении показателей кассового плана в части выбытия источников финансирования дефицита бюджета</V>
            <V N="Template">(19.01.04) Уведомление об изменении показателей КП (источн.,выбытие).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010500</V>
            <V N="Name">Уведомление об изменении показателей кассового плана в части поступления источников финансирования бюджета</V>
            <V N="Template">(19.01.05) Уведомление об изменении показателей КП (источн.,поступл.).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020100</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по источникам (с нач. года)</V>
            <V N="Template">(19.01.02) Уведомление о бюджетных ассигнованиях по 3-лет. плану (источники).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020200</V>
            <V N="Name">Уведомление об изменении бюджетных ассигнований по источникам финансирования дефицита бюджета</V>
            <V N="Template">(19.01.03) Уведомление об изменении бюджетных ассигнований по 3-лет. плану (источн).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030100</V>
            <V N="Name">Уведомление об изменении показателей кассового плана в части выбытия источников финансирования дефицита бюджета</V>
            <V N="Template">(19.01.04) Уведомление об изменении показателей КП (источн.,выбытие).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030200</V>
            <V N="Name">Уведомление об изменении показателей кассового плана в части поступления источников финансирования бюджета</V>
            <V N="Template">(19.01.05) Уведомление об изменении показателей КП (источн.,поступл.).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.16</param>
  </node>
  <version_info>
    <file>Сборка(22)План доходов.xml</file>
    <version>36.042.14</version>
    <info>Печатные документы по плану доходов</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:21</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010100</V>
            <V N="Name">Уведомление об изменении плана доходов</V>
            <V N="Template">(22.01.01)Уведомление об изменении плана доходов.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010200</V>
            <V N="Name">Уведомление об изменении показателей кассового плана в части доходов бюджета</V>
            <V N="Template">(22.01.02) Уведомление об изменении показателей КП в части доходов.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.14</param>
  </node>
  <version_info>
    <file>Сборка(26)Свободные проводки.xml</file>
    <version>36.000.17</version>
    <info>&lt;p&gt;печатные документы по старым уведомлениям&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:22</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">26010100</V>
            <V N="Name">Уведомление об уточнении вида платежа(поступление)</V>
            <V N="Template">(26.01.01) Уведомление об уточнении вида платежа(поступление).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.17</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">26020100</V>
            <V N="Name">Уведомление об уточнении вида платежа(выбытие)</V>
            <V N="Template">(26.02.01) Уведомление об уточнении вида платежа(выбытие).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.17</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">26020200</V>
            <V N="Name">Реестр уведомлений(УФК)</V>
            <V N="Template">(26.02.02) Реестр уведомлений(УФК).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.17</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">26020300</V>
            <V N="Name">Реестр уведомлений(все)</V>
            <V N="Template">(26.02.03) Реестр уведомлений(все).cld</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.17</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">26020400</V>
            <V N="Name">Реестр платежей</V>
            <V N="Template">(26.02.04) Реестр платежей.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.17</param>
  </node>
  <version_info>
    <file>Сборка(28)Операции со счетами.xml</file>
    <version>34.042.RP</version>
    <info>Печатные документы по операциям со счетами</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:23</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">28010100</V>
            <V N="Name">распоряжение на финансирование</V>
            <V N="Template">(28.01.01)Операции со счетами через распоряжение на финансирование.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">34.042.RP</param>
  </node>
  <version_info>
    <file>Сборка(31)Гарантии.xml</file>
    <version>36.042.02</version>
    <info>Печатные документы по гарантиям</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:24</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">31010100</V>
            <V N="Name">Заявка на гашение кредита</V>
            <V N="Template">(31.01.01) заявка на гашение кредита.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.02</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">31010200</V>
            <V N="Name">Форма №5. Распоряжение на финасирование с распорядителем и получателм</V>
            <V N="Template">(31.02.01) форма №5. распоряжение с распорядителем и получателем.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.02</param>
  </node>
  <version_info>
    <file>Сборка(39)Делопроизводство.xml</file>
    <version>34.042.RP</version>
    <info>Печатные документы по делопроизводству</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:25</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">39010100</V>
            <V N="Name">Регистрационная карточка</V>
            <V N="Template">(39.01.01) регистрационная карточка.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">34.042.RP</param>
  </node>
  <version_info>
    <file>Сборка(44)Сводные уведомления.xml</file>
    <version>36.042.28</version>
    <info>&lt;p&gt;Печатные документы по сводным уведомлениям&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:26</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010100</V>
            <V N="Name">Расходное расписание</V>
            <V N="Template">44010200,44010300,44010400</V>
            <V N="Generation">ПечатныеДокументыЛентаМноготабличнаяF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010200</V>
            <V N="Name">Расходное расписание (БА)</V>
            <V N="Template">(44.01.02) Расходное расписание (БА).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010300</V>
            <V N="Name">Расходное расписание (ЛБО)</V>
            <V N="Template">(44.01.03) Расходное расписание (ЛБО).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010400</V>
            <V N="Name">Расходное расписание (ПОФ)</V>
            <V N="Template">(44.01.04) Расходное расписание (ПОФ).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010500</V>
            <V N="Name">Реестр расходных расписаний</V>
            <V N="Template">44010600,44010700,44010800</V>
            <V N="Generation">ПечатныеДокументыЛентаМноготабличнаяF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010600</V>
            <V N="Name">Реестр расходных расписаний (БА)</V>
            <V N="Template">(44.01.06) Реестр расходных расписаний (БА).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010700</V>
            <V N="Name">Реестр расходных расписаний (ЛБО)</V>
            <V N="Template">(44.01.07) Реестр расходных расписаний (ЛБО).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010800</V>
            <V N="Name">Реестр расходных расписаний (ПОФ)</V>
            <V N="Template">(44.01.08) Реестр расходных расписаний (ПОФ).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010900</V>
            <V N="Name">Расходное расписание (БА)</V>
            <V N="Template">(44.01.09) Расходное расписание (БА) (без колонтитула).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030100</V>
            <V N="Name">Казначейское уведомление</V>
            <V N="Template">44030200,44030300,44030400</V>
            <V N="Generation">ПечатныеДокументыЛентаМноготабличнаяF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030200</V>
            <V N="Name">Казначейское уведомление (БА)</V>
            <V N="Template">(44.03.02) Казначейское уведомление (БА).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030300</V>
            <V N="Name">Казначейское уведомление (ЛБО)</V>
            <V N="Template">(44.03.03) Казначейское уведомление (ЛБО).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030400</V>
            <V N="Name">Казначейское уведомление (ПОФ)</V>
            <V N="Template">(44.03.04) Казначейское уведомление (ПОФ).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030500</V>
            <V N="Name">Реестр казначейских уведомлений</V>
            <V N="Template">44030600,44030700,44030800</V>
            <V N="Generation">ПечатныеДокументыЛентаМноготабличнаяF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030600</V>
            <V N="Name">Реестр казначейских уведомлений (БА)</V>
            <V N="Template">(44.03.06) Реестр казначейских уведомлений (БА).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030700</V>
            <V N="Name">Реестр казначейских уведомлений (ЛБО)</V>
            <V N="Template">(44.03.07) Реестр казначейских уведомлений (ЛБО).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030800</V>
            <V N="Name">Реестр казначейских уведомлений (ПОФ)</V>
            <V N="Template">(44.03.08) Реестр казначейских уведомлений (ПОФ).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030900</V>
            <V N="Name">Расходное расписание</V>
            <V N="Template">44031000,44031100,44031200</V>
            <V N="Generation">ПечатныеДокументыЛентаМноготабличнаяF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44031000</V>
            <V N="Name">Расходное расписание (БА)</V>
            <V N="Template">(44.03.10) Расходное расписание (БА).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44031100</V>
            <V N="Name">Расходное расписание (ЛБО)</V>
            <V N="Template">(44.03.11) Расходное расписание (ЛБО).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44031200</V>
            <V N="Name">Расходное расписание (ПОФ)</V>
            <V N="Template">(44.03.12) Расходное расписание (ПОФ).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.28</param>
  </node>
  <version_info>
    <file>Сборка(55)Уведомления.xml</file>
    <version>36.000.107</version>
    <info>печатные документы уведомлений</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:28</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010200</V>
            <V N="Name">Уведомление об уточнении вида платежа</V>
            <V N="Template">55010300,55010500</V>
            <V N="Generation">ПечатныеДокументыЛентаМноготабличнаяF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010300</V>
            <V N="Name">Уведомление об уточнении вида платежа(поступление) 2009 стр 1</V>
            <V N="Template">(55.01.03) Уведомление об уточнении вида платежа(поступление) 2009 стр 1.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010400</V>
            <V N="Name">Реестр платежей</V>
            <V N="Template">(55.02.04)Реестр платежей.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010500</V>
            <V N="Name">Уведомление об уточнении вида платежа(поступление) 2009 стр 2</V>
            <V N="Template">(55.01.05) Уведомление об уточнении вида платежа(поступление) 2009 стр2.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010600</V>
            <V N="Name">Запрос на выяснение принадлежности платежа</V>
            <V N="Template">(55.01.06) Запрос на выяснение принадлежности платежа.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010700</V>
            <V N="Name">Мемориальный ордер (одностраничный)</V>
            <V N="Template">(55.01.07)Мемориальный ордер (одностраничный).XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020200</V>
            <V N="Name">Реестр уведомлений(УФК)</V>
            <V N="Template">(55.02.02) Реестр уведомлений(УФК).xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020300</V>
            <V N="Name">Реестр уведомлений(все)</V>
            <V N="Template">(55.02.03) Реестр уведомлений(все).cld</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020400</V>
            <V N="Name">Реестр платежей</V>
            <V N="Template">(55.02.04)Реестр платежей.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020500</V>
            <V N="Name">Уведомление об уточнении вида платежa</V>
            <V N="Template">55010300,55010500</V>
            <V N="Generation">ПечатныеДокументыЛентаМноготабличнаяF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Динамика</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>Тип контроля</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020700</V>
            <V N="Name">Мемориальный ордер (одностраничный)</V>
            <V N="Template">(55.01.07)Мемориальный ордер (одностраничный).XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.000.107</param>
  </node>
  <version_info>
    <file>Сборка(55.01).НастройкиОбластей.Уведомления.xml</file>
    <version>36.000.107</version>
    <info>печатные документы уведомлений</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:28</buildtime>
  </version_info>
  <description>Настройки областей форматирования</description>
  <delnode path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\5501\Конфигурации\Базовый" />
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\5501">
    <value type="3" name="Группы">НоваяОрганизация
Примечание</value>
    <value type="3" name="НоваяОрганизация">НоваяОрганизацияИНН=0
НоваяОрганизацияКПП=0
НоваяОрганизацияСчет=0
НоваяОрганизацияИмя=0</value>
    <value type="3" name="ПоляДокумента">ЛицевойСчетСтарый
ЛицевойСчетНовый
СчетПолуч
СчетПлат
ОргПолучСчет
ОргПолучИмя
ОргПолучИНН
ОргПолучКПП
ОргПлатСчет
ОргПлатИмя
ОргПлатИНН
ОргПлатКПП</value>
    <value type="3" name="Признаки" />
    <value type="3" name="Примечание">Примечание=0</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table key="ID;Group" userfields="Constraints">
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="Group">НоваяОрганизация</V>
                <V N="ID">222222</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="Group">Примечание</V>
                <V N="ID">333333</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table key="ParamName;RecordIndex" userfields="ParamValue">
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ParamName">НоваяОрганизацияИНН</V>
                <V N="ParamValue">{&lt;ОргПолучИНН&gt;}</V>
                <V N="RecordIndex">222222</V>
              </R>
              <R>
                <V N="ParamName">НоваяОрганизацияКПП</V>
                <V N="ParamValue">{&lt;ОргПолучКПП&gt;}</V>
                <V N="RecordIndex">222222</V>
              </R>
              <R>
                <V N="ParamName">НоваяОрганизацияИмя</V>
                <V N="ParamValue">{&lt;СчетПолуч=Р/с.Организация_ФК.КраткоеИмя&gt;}{(&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{, р/с: &lt;ОргПолучСчет&gt;}</V>
                <V N="RecordIndex">222222</V>
              </R>
              <R>
                <V N="ParamName">НоваяОрганизацияСчет</V>
                <V N="ParamValue">{&lt;ОргПолучСчет&gt;}</V>
                <V N="RecordIndex">222222</V>
              </R>
              <R>
                <V N="ParamName">Примечание</V>
                <V N="ParamValue">{&lt;Примечание&gt;}</V>
                <V N="RecordIndex">333333</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.000.107</param>
        <param value="Параметры" type="3" name="version">36.000.107</param>
        <param value="Системная" type="3" name="version">36.000.107</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.000.107</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.000.107</param>
    <param value="Группы" type="3" name="crc32">$CC48D41A</param>
    <param value="НоваяОрганизация" type="3" name="version">36.000.107</param>
    <param value="НоваяОрганизация" type="3" name="crc32">$FCE57512</param>
    <param value="ПоляДокумента" type="3" name="version">36.000.107</param>
    <param value="ПоляДокумента" type="3" name="crc32">$52A87401</param>
    <param value="Признаки" type="3" name="version">36.000.107</param>
    <param value="Признаки" type="3" name="crc32">$00000000</param>
    <param value="Примечание" type="3" name="version">36.000.107</param>
    <param value="Примечание" type="3" name="crc32">$0FFE2B47</param>
  </node>
  <delnode path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\5502\Конфигурации\Базовый" />
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\5502">
    <value type="3" name="Группы">НоваяОрганизация
Примечание</value>
    <value type="3" name="НоваяОрганизация">НоваяОрганизацияИНН=0
НоваяОрганизацияКПП=0
НоваяОрганизацияСчет=0
НоваяОрганизацияИмя=0</value>
    <value type="3" name="ПоляДокумента">ЛицСчетСтарый
ЛицСчетНовый
СчетПолуч
СчетПлат
ОргПолучСчет
ОргПолучИмя
ОргПолучИНН
ОргПолучКПП
ОргПлатСчет
ОргПлатИмя
ОргПлатИНН
ОргПлатКПП</value>
    <value type="3" name="Признаки" />
    <value type="3" name="Примечание">Примечание=0</value>
    <node path="Конфигурации">
      <value type="3" name="ВариантПоУмолчанию" flags="1">Базовый</value>
      <node path="Базовый">
        <value type="6" name="Варианты">
          <table key="ID;Group" userfields="Constraints">
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>Group</N>
                <S>255</S>
                <DL>Group</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>ID</N>
                <DL>ID</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>Constraints</N>
                <S>255</S>
                <DL>Constraints</DL>
                <FDT>1</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="Group">НоваяОрганизация</V>
                <V N="ID">222222</V>
                <V N="Constraints" />
              </R>
              <R>
                <V N="Group">Примечание</V>
                <V N="ID">333333</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="6" name="Параметры">
          <table key="ParamName;RecordIndex" userfields="ParamValue">
            <FDL>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamName</N>
                <S>255</S>
                <DL>ParamName</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TLongStringField</CN>
                <N>ParamValue</N>
                <S>1000</S>
                <DL>ParamValue</DL>
                <FDT>1</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>RecordIndex</N>
                <DL>RecordIndex</DL>
                <FDT>3</FDT>
              </FD>
              <FD>
                <CN>TIntegerField</CN>
                <N>Type</N>
                <DL>Type</DL>
                <FDT>3</FDT>
              </FD>
            </FDL>
            <RL>
              <R>
                <V N="ParamName">НоваяОрганизацияИНН</V>
                <V N="ParamValue">{&lt;ОргПлатИНН&gt;}</V>
                <V N="RecordIndex">222222</V>
              </R>
              <R>
                <V N="ParamName">НоваяОрганизацияКПП</V>
                <V N="ParamValue">{&lt;ОргПлатКПП&gt;}</V>
                <V N="RecordIndex">222222</V>
              </R>
              <R>
                <V N="ParamName">НоваяОрганизацияИмя</V>
                <V N="ParamValue">{&lt;СчетПлат=Р/с.Организация_ФК.КраткоеИмя&gt;}{(&lt;СчетПлат=Р/с.Организация.Имя&gt;)}{, р/с: &lt;ОргПлатСчет&gt;}</V>
                <V N="RecordIndex">222222</V>
              </R>
              <R>
                <V N="ParamName">НоваяОрганизацияСчет</V>
                <V N="ParamValue">{&lt;СчетПлат=р/с.имя&gt;}</V>
                <V N="RecordIndex">222222</V>
              </R>
              <R>
                <V N="ParamName">Примечание</V>
                <V N="ParamValue">{&lt;Примечание&gt;}</V>
                <V N="RecordIndex">333333</V>
              </R>
            </RL>
          </table>
        </value>
        <value type="4" name="Системная">1</value>
        <param value="Варианты" type="3" name="version">36.000.107</param>
        <param value="Параметры" type="3" name="version">36.000.107</param>
        <param value="Системная" type="3" name="version">36.000.107</param>
      </node>
      <param value="ВариантПоУмолчанию" type="3" name="version">36.000.107</param>
      <param value="ВариантПоУмолчанию" type="3" name="crc32">$5482C41D</param>
    </node>
    <param value="Группы" type="3" name="version">36.000.107</param>
    <param value="Группы" type="3" name="crc32">$CC48D41A</param>
    <param value="НоваяОрганизация" type="3" name="version">36.000.107</param>
    <param value="НоваяОрганизация" type="3" name="crc32">$FCE57512</param>
    <param value="ПоляДокумента" type="3" name="version">36.000.107</param>
    <param value="ПоляДокумента" type="3" name="crc32">$56DCBCB2</param>
    <param value="Признаки" type="3" name="version">36.000.107</param>
    <param value="Признаки" type="3" name="crc32">$00000000</param>
    <param value="Примечание" type="3" name="version">36.000.107</param>
    <param value="Примечание" type="3" name="crc32">$0FFE2B47</param>
  </node>
  <version_info>
    <file>Сборка(99)Системные.xml</file>
    <version>36.042.22</version>
    <info>&lt;p&gt;Печатные документы для администратора&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:30</buildtime>
  </version_info>
  <description>Конфигурация печатных документов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99010100</V>
            <V N="Name">Список зарегистрированных новых отчетов</V>
            <V N="Template">(99.01.01) список зарегистрированных новых отчетов.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.22</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TLongStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Name</DL>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Params</DL>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <FDT>1</FDT>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TLongStringField</CN>
            <FDT>1</FDT>
            <S>100</S>
            <DL>Generation</DL>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <FDT>3</FDT>
            <S>0</S>
            <DL>Options</DL>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <FDT>16</FDT>
            <S>0</S>
            <DL>Note</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99030100</V>
            <V N="Name">Неиспользуемые расчетные счета</V>
            <V N="Template">(99.03.01) Неиспользуемые расчетные счета.sts</V>
            <V N="Generation">ОбработкаДанных</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.22</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99070100</V>
            <V N="Name">Переходы и действия для фильтров</V>
            <V N="Template">(99.07.01) Список переходов и действий для фильтра.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.22</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99100100</V>
            <V N="Name">Элементы сценария</V>
            <V N="Template">(99.10.01)Элементы сценария.xlc</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.22</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Документы">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
          </FD>
          <FD>
            <N>Name</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
          </FD>
          <FD>
            <N>Params</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
          </FD>
          <FD>
            <N>Generation</N>
            <FDT>1</FDT>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
          </FD>
          <FD>
            <N>Options</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
          </FD>
          <FD>
            <N>Note</N>
            <FDT>16</FDT>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99130100</V>
            <V N="Name">Отчет об интерфейсах</V>
            <V N="Template">(99.13.01) Список зарегистрированных интерфейсов.XLC</V>
            <V N="Generation">ПечатныеДокументыF1</V>
            <V N="Options">65536</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Документы" type="3" name="version">36.042.22</param>
  </node>
  <version_info>
    <file>Сборка.СистемныеДляДокументов.xml</file>
    <version>36.042.94</version>
    <info>&lt;p&gt;Печатные документы (макросы).&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:31</buildtime>
  </version_info>
  <description>Макросы для печатных документов</description>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ЗакачкаДанных">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Макросы\Отчеты\ФункцииДляРесурсов.abl';

ЗакачатьДанныеРесурса(Коллекция : IVariables);
переменные
  Данные : СтатическиеДанные;
  Параметры: IVariables;
начало
  Данные := Коллекция.Значение("Данные");
  Данные.Запрос := Коллекция.Значение("Запрос");; 
  Данные.Закрыть;
  Данные.СоединитьБД;
  Данные.Открыть;
конец;

</value>
    <param value="ЗакачкаДанных" type="3" name="Export">ARTEMY\kudryavov\23.09.2005 17:33:27</param>
    <param value="ЗакачкаДанных" type="3" name="version">36.042.94</param>
    <param value="ЗакачкаДанных" type="3" name="crc32">$28BE32FA</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ИмпортДанных">включить "Project";
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\pather.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';

//формирование для печатных документов
Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Ф : ФормаВвода;              
  Мастер : СтатическиеДанные;
  Обработчики, Параметры, Парам : IVariables;
  Прогресс : IProgress;
  Раскладка : ITableInfoX;
  Визуализатор: IUniViewer; 
  Данные : СтатическиеДанные;
  сч : Целое;
  ИмяОбработчика : строка;
начало

  Прогресс := Progress;
  если (Прогресс &lt;&gt; nil) тогда Прогресс.SetMessage('Импорт данных');
  
  Ф := ПолучитьФормуВвода;
  Мастер := Ф.Заголовки.Таблица;          
  // Проверка готовности формы ввода
  если (не Мастер.Active) тогда ВызватьОшибку("Форма ввода не активна, нажмите кнопку [Выполнить]");
  // Сохранение изменений для заголовков обязательно
  если Ф.ЕстьИзменения тогда ВызватьОшибку("Сохраните изменения перед импортом данных");
  
  Визуализатор := ModalWafer.CheckSSViewer;
          
  Визуализатор.SetProject(Pather);

  Визуализатор.Template := Шаблон;
  
  от сч := 0 до Визуализатор.TemplateCount - 1 делать
    начало
      Визуализатор.TemplateIndex := сч;
      // Получаем раскладку
      Раскладка := Визуализатор.GetTable;
      
      Если (не Раскладка.Params("PageSkipped")) тогда
        начало
          // Получаем список обработчиков
          Обработчики := Визуализатор.GetProjVars;
          // Константы и т.д. 
          Параметры := ПолучитьПараметры(Визуализатор.GetVariables, '');
          // Статические данные, в который будет помещен результат
          Данные := СоздатьСтатическиеДанные;

          // Параметры для событий и алгоритмов
          Парам := CreateVariables;
          Парам.Values(АлгПараметры) := Параметры;
          Парам.Values(АлгДанные) := Данные;
          Парам.Values(АлгЗаголовки) := nil;
          Парам.Values(АлгПараметрыВывода) := Параметры;
          Парам.Values(АлгРаскладка) := Раскладка;
          Парам.Values(АлгГлобальныеПараметры) := Коллекция;
          Парам.Values(АлгПараметрыШаблона) := Визуализатор.GetParams;

          // Обработчик до закачки - ДоЗакачки 
          ИмяОбработчика := Обработчики.Values('ДоЗакачки');
          если (ИмяОбработчика &lt;&gt; '') тогда Event(ИмяОбработчика, Парам);
          ДобавитьПоля(Раскладка, Данные);
          Данные.Открыть;
          // Вычисляем параметры 
          CalcParams(Раскладка, Параметры, Коллекция, Mapper);
          // Обработчик после закачки - ПослеЗакачки          
          ИмяОбработчика := Обработчики.Values('ПослеЗакачки');
          если (ИмяОбработчика &lt;&gt; '') тогда Event(ИмяОбработчика, Парам);

          ВывестиДанные(Визуализатор, Раскладка, Раскладка,
                        Параметры, Коллекция, Данные, nil, да);
                        
          Интерфейс(Данные).Освободить;     
          Данные := nil;
        конец;            
    конец;
      
  ModalWafer.Caption := Коллекция.Values('Имя');
  
  Прогресс := Progress;
  если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
  если (Access = Access_ADM)
    тогда ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose + sdoTemplate)
    иначе ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose);
                
  ModalWafer.Clear;
    
конец.
</value>
    <param value="ИмпортДанных" type="3" name="version">36.042.94</param>
    <param value="ИмпортДанных" type="3" name="crc32">$F5D4F8D9</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="КомпозицияДокументовF1">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Variables.lib';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';

Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
начало
  ModalWafer.Clear;
  ФормированиеКомпозицииДокументов(CLSID, Шаблон, Коллекция, ModalWafer.CheckF1Viewer);
конец;
</value>
    <param value="КомпозицияДокументовF1" type="3" name="Export">MOFF\mox\28.12.2007 20:30:02</param>
    <param value="КомпозицияДокументовF1" type="3" name="version">36.042.94</param>
    <param value="КомпозицияДокументовF1" type="3" name="crc32">$F3D8D977</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования">
    <value type="3" name="Названия">[702] Платежные поручения=702
[301] Казначейство. Внутренняя переброска средств(один многим)=301
[302] Казначейство. Уход средств по платежным поручениям=302
[303] Казначейство. Внутренняя переброска(Разассигновка)=303
[304] Казначейство. Уход средств по чекам=304
[305] Казначейство. Приход от прочих и восстановление расходов=305
[306] Казначейство. Приход средств по объявлениям=306
[308] Казначейство. Внутренние платежи за платные услуги=308
[311] Перечисление на счета для наличности=311
[312] Подтверждение перечисления на счета для наличности=312
[314] Возврат со счетов для наличности=314
[315] Подтверждение возврата со счетов для наличности=315
[322] Учет кассовых выплат=322
[5501] Уведомление об уточнении поступлений=5501
[5502] Уведомление об уточнении выплат=5502</value>
    <param value="Названия" type="3" name="version">36.042.94</param>
    <param value="Названия" type="3" name="crc32">$171ED31E</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\События">
    <value type="7" name="НаПолучениеНастройкиДокумента">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\pather.lib';

включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';
включить "\Макросы\Отчеты\ПоддержкаПечатныхДокументов";
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ФункцииДляРесурсов.abl';

ПросмотрЗначенияНастройки(Коллекция : IVariables);
переменные
  Данные : СтатическиеДанные;
  сч : целое;
  Параметры, ОбластиФорматирования, Область, Обработчики, ЗначенияПараметров : IVariables;
  РесурсныйШаблон : ITemplates;
  Раскладка : ITableInfoX;
  Области : Текст;
  Узел : УзелРеестра;  
Начало
  если ИспользоватьФайловыеШаблоны 
    тогда РесурсныйШаблон := LoadResourceTemplate(Коллекция.Значение("КодИнтерфейса"), rtxDoc)
    иначе 
      начало
        РесурсныйШаблон := CreateTemplates;  
        Узел := Реестр.Узел("Бюджет\Объекты\Документы\Ресурсы\" + ЦелоеВСтроку(Коллекция.Значение("КодИнтерфейса")));
        попытка
          РесурсныйШаблон.Text := Узел.Значение("РаскладкаДокумента").КакСтрока;
        неудача
          ВызватьОшибку('Ошибка загрузки шаблона из реестра');
        конец;
      конец;  
  Если (РесурсныйШаблон.Count = 0) тогда выход;
  //формируем ограничения для выборки данных  
  СформироватьОграниченияЗаголовок(Коллекция, да);
  Данные := СформироватьДанныеРесурса(РесурсныйШаблон, Коллекция);
  ЗначенияПараметров := РесурсныйШаблон.Template.Variables;
  Параметры := CreateVariables;
  ОбластиФорматирования := CreateVariables;
  Области := СоздатьТекст;
  Коллекция.Значение("Области") := ОбластиФорматирования;
  Области.РазделенноеЗначение := ПолучитьСписокОбластейФорматирования(Коллекция.Значение("КодИнтерфейса"));
  от сч := 0 до Области.Количество - 1 делать
    Если ПолучитьИмяНастройки(Коллекция.Значение("КодИнтерфейса"), Области.Стр(сч)) = Коллекция.Значение("ИмяНастройки") тогда
      начало
        Параметры := ПолучитьНастройкуДокумента(Коллекция.Значение("КодИнтерфейса"), 
                                                Области.Стр(сч), Коллекция.Значение("ИмяВарианта"));
        Область := ВыделитьПараметрыОбласти(Параметры,Области.Стр(сч));
        Область.Значение("ПолеСуммы"):= ЗначенияПараметров.Значение("ПолеСуммы");
        ОбластиФорматирования.Значение(Области.Стр(сч)) := ПолучитьЗначениеЛенты(Области.Стр(сч), Данные, Область);
      конец;
конец;
</value>
    <param value="НаПолучениеНастройкиДокумента" type="3" name="Export">ARTEMY\kudryavov\18.01.2006 13:16:44</param>
    <param value="НаПолучениеНастройкиДокумента" type="3" name="version">36.042.94</param>
    <param value="НаПолучениеНастройкиДокумента" type="3" name="crc32">$238C00CF</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ОбработкаДанных">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';

//формирование для обработки данных
Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Визуализатор: IUniViewer; 
начало
  Визуализатор := ModalWafer.CheckSSViewer;
  Визуализатор.SetProject(Pather);
  Визуализатор.Template := Шаблон;
  ФормированиеПечатногоДокумента(saxPrimary, CLSID, Визуализатор, Коллекция, Да);
конец.
</value>
    <param value="ОбработкаДанных" type="3" name="version">36.042.94</param>
    <param value="ОбработкаДанных" type="3" name="crc32">$82C9EC07</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПечатныеДокументыCalc">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';

//формирование для печатного документа Calc
Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Визуализатор: IUniViewer;
  СразуПоказыватьОтчет : целое;
начало
  Если Коллекция.Значение('НеОтображатьОтчет') 
    тогда 
      начало
         // если отчет не нужно показавать то строим его без подложки
         Визуализатор := CreateComObject(OOCalcViewer);
         Визуализатор.Viewer := Визуализатор.CreateViewObject;
         Визуализатор.SetProject(Pather);
         СразуПоказыватьОтчет := нет;
      конец
    иначе 
      начало
        // строим отчет на модальной подложке
        СразуПоказыватьОтчет := да;
        // очищаем содержимое
        ModalWafer.Clear;
        // получаем визуализатор
        Визуализатор := ModalWafer.CheckOOCalcViewer;
      конец;
  Визуализатор.Template := Шаблон;
  ФормированиеПечатногоДокумента(saxDynamic, CLSID, Визуализатор, Коллекция, СразуПоказыватьОтчет);
конец.
</value>
    <param value="ПечатныеДокументыCalc" type="3" name="version">36.042.94</param>
    <param value="ПечатныеДокументыCalc" type="3" name="crc32">$265C4AC8</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПечатныеДокументыCells">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';

//формирование для печатного документа Cells
Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Визуализатор: IUniViewer;
  СразуПоказыватьОтчет : целое;
начало
  Если Коллекция.Значение('НеОтображатьОтчет') 
    тогда 
      начало
         // если отчет не нужно показавать то строим его без подложки
         Визуализатор := CreateComObject(CellViewer);
         Визуализатор.Viewer := Визуализатор.CreateViewObject;
         Визуализатор.SetProject(Pather);
         СразуПоказыватьОтчет := нет;
      конец
    иначе 
      начало
        // строим отчет на модальной подложке
        СразуПоказыватьОтчет := да;
        // очищаем содержимое
        ModalWafer.Clear;
        // получаем визуализатор
        Визуализатор := ModalWafer.CheckCellViewer;  
      конец;
  Визуализатор.Template := Шаблон;
  ФормированиеПечатногоДокумента(saxDynamic, CLSID, Визуализатор, Коллекция, СразуПоказыватьОтчет);
конец.

</value>
    <param value="ПечатныеДокументыCells" type="3" name="version">36.042.94</param>
    <param value="ПечатныеДокументыCells" type="3" name="crc32">$2C7CBEE8</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПечатныеДокументыExcel">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';

//формирование для печатного документа Excel
Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Визуализатор: IUniViewer;
  СразуПоказыватьОтчет : целое;
начало
  Если Коллекция.Значение('НеОтображатьОтчет') 
    тогда 
      начало
         // если отчет не нужно показавать то строим его без подложки
         Визуализатор := CreateComObject(XMLViewer);
         Визуализатор.Viewer := Визуализатор.CreateViewObject;
         Визуализатор.SetProject(Pather);
         СразуПоказыватьОтчет := нет;
      конец
    иначе 
      начало
        // строим отчет на модальной подложке
        СразуПоказыватьОтчет := да;
        // очищаем содержимое
        ModalWafer.Clear;
        // получаем визуализатор
        Визуализатор := ModalWafer.CheckMSOXMLViewer;
      конец;
  Визуализатор.Template := Шаблон;
  ФормированиеПечатногоДокумента(saxDynamic, CLSID, Визуализатор, Коллекция, СразуПоказыватьОтчет);
конец.
</value>
    <param value="ПечатныеДокументыExcel" type="3" name="version">36.042.94</param>
    <param value="ПечатныеДокументыExcel" type="3" name="crc32">$37B9EF68</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПечатныеДокументыF1">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';

//формирование для печатного документа Formula One
Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Визуализатор: IUniViewer;
  СразуПоказыватьОтчет : целое;
начало
  Если Коллекция.Значение('НеОтображатьОтчет') 
    тогда 
      начало
         // если отчет не нужно показавать то строим его без подложки
         Визуализатор := CreateComObject(F1Viewer);
         Визуализатор.Viewer := Визуализатор.CreateViewObject;
         Визуализатор.SetProject(Pather);
         СразуПоказыватьОтчет := нет;
      конец
    иначе 
      начало
        // строим отчет на модальной подложке
        СразуПоказыватьОтчет := да;
        // очищаем содержимое
        ModalWafer.Clear;
        // получаем визуализатор
        Визуализатор := ModalWafer.CheckF1Viewer;
      конец;
  Визуализатор.Template := Шаблон;
  ФормированиеПечатногоДокумента(saxDynamic, CLSID, Визуализатор, Коллекция, СразуПоказыватьОтчет);
конец.
</value>
    <param value="ПечатныеДокументыF1" type="3" name="version">36.042.94</param>
    <param value="ПечатныеДокументыF1" type="3" name="crc32">$AEA06CD4</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПечатныеДокументыSS">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';

//формирование для печатного документа StaticSet
Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Визуализатор: IUniViewer;
  СразуПоказыватьОтчет : целое;
начало
  Если Коллекция.Значение('НеОтображатьОтчет') 
    тогда 
      начало
         // если отчет не нужно показавать то строим его без подложки
         Визуализатор := CreateComObject(SSViewer);
         Визуализатор.Viewer := Визуализатор.CreateViewObject;
         Визуализатор.SetProject(Pather);
         СразуПоказыватьОтчет := нет;
      конец
    иначе 
      начало
        // строим отчет на модальной подложке
        СразуПоказыватьОтчет := да;
        // очищаем содержимое
        ModalWafer.Clear;
        // получаем визуализатор
        Визуализатор := ModalWafer.CheckSSViewer;
      конец;
  Визуализатор.Template := Шаблон;
  ФормированиеПечатногоДокумента(saxDynamic, CLSID, Визуализатор, Коллекция, СразуПоказыватьОтчет);
конец.
</value>
    <param value="ПечатныеДокументыSS" type="3" name="Export">NEO\mitrofanov\21.10.2005 20:16:26</param>
    <param value="ПечатныеДокументыSS" type="3" name="version">36.042.94</param>
    <param value="ПечатныеДокументыSS" type="3" name="crc32">$96845D24</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПечатныеДокументыЛентаCells">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\Cells.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';
Формирование(                              
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);

функция ПолучитьМассивОграничения(СтрокаСортировки: строка; Заголовок: СтатическиеДанные): Variant;
переменные
  т: Текст;
  инд: целое;
  Field: IField;
  стр: Строка;
начало
  т := СоздатьТекст;
  т.РазделенноеЗначение(";") := СтрокаСортировки;
  Результат.VarArrayCreate(varVariant, 0, т.Количество - 1);
  от инд := 0 до т.Количество - 1 делать
  начало
    стр := т.Стр(инд);
    если (стр[1] = "+") или (стр[1] = "-") тогда
      стр := Подстрока(стр, 2, Длина(стр));
    Field := Заголовок.ПолеПоИмени(стр);
    выбрать Field.FieldType из
      1 : Результат.AsWideString(инд) := Field.AsString;
      2 : Результат.AsInteger(инд) := Field.AsInteger;
      3 : Результат.AsInteger(инд) := Field.AsInteger;
      4 : Результат.AsFloat(инд) := Field.AsFloat;
      5 : Результат.AsFloat(инд) := Field.AsFloat;
      6 : Результат.AsFloat(инд) := Field.AsFloat;
      7 : Результат.AsFloat(инд) := Field.AsFloat;
      8 : Результат.AsInteger(инд) := Field.AsInteger;
    иначе
      Результат.AsWideString(инд) := Field.AsString;
    конец;
  конец;
конец;

переменные
  ТекстПараметров, Парам, ЗначенияПараметров : IVariables;
  Страницы, Страница : IVariables;
  Данные, Заголовок, Заголовок_, Данные_ : СтатическиеДанные;
  Раскладка, Лента : ITableInfoX;
  Ткст : Текст;  
  CLS, ы, сч : целое;
  Визуализатор, TempViewer : IUniViewer;
  Doc, Report : ICellDocument;
  стр, Каталог : строка;
  ПечатныеДокументы: СтатическиеДанные;
  пШаблон : Поле;
  Прогресс : IProgress;
  ДокументНеПустой : целое;
начало
  Прогресс := Progress;
  если (Прогресс &lt;&gt; nil) тогда Прогресс.SetMessage('Построение ленты документов');
  ПечатныеДокументы := ПолучитьПечатныеДокументы;
  пШаблон := ПечатныеДокументы.Поле('TEMPLATE');
  СформироватьОграниченияЗаголовок(Коллекция, нет);  
  // очищаем содержимое
  ModalWafer.Clear;
  // визуализатор для итогового отчета
  Визуализатор := ModalWafer.CheckCellViewer;  
  // визуализатор для отчетов входящих в композитный
  TempViewer := CreateComObject(CellViewer);
  TempViewer.Viewer := TempViewer.CreateViewObject;
  TempViewer.SetProject(Pather);
  Doc := Интерфейс(TempViewer.Viewer).ЗапроситьИнтерфейс(_ICellDocument);
  Report := Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_ICellDocument);
  Ткст := СоздатьТекст;  
  Каталог :=  TemplatePathEx(tpxDocument);
  Шаблон := Подстрока(Шаблон, Длина(Каталог) + 1, Длина(Шаблон) - Длина(Каталог));
  Ткст.РазделенноеЗначение := Шаблон;
  Страницы := СоздатьКоллекцию;
  Лента := СоздатьРаскладку;  
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := Ткст.Стр(ы);
      если не ПечатныеДокументы.FindKey(ArrayOf(CLS)) тогда ВызватьОшибку(Формат("Документ с кодом %s не найден", ФорматироватьКлассификатор(CLS, '99.99.99.99'))); 
      TempViewer.Template := TemplatePathEx(tpxDocument) + пШаблон.КакСтрока;
      если (ы = 0) тогда 
        начало
          Визуализатор.Template := TempViewer.Template;
          Report.Root.DeleteCell(да);
        конец;
      Раскладка := TempViewer.GetTable;      
      Лента.Join(Раскладка);
      Парам := СоздатьКоллекцию;
      Парам.PumpData(Коллекция);
      ТекстПараметров := nil;
      Заголовок := nil;
      Данные := nil;      
      ЗначенияПараметров := TempViewer.GetVariables;  
      если (ЗначенияПараметров = nil) тогда ЗначенияПараметров := CreateVariables;
      ЗначенияПараметров.PumpData(Коллекция);
      СформироватьДанныеПоОгр(TempViewer, Раскладка, Парам, ЗначенияПараметров, ТекстПараметров,
                              Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLS, ТекстПараметров, Парам);
      Страница := СоздатьКоллекцию;
      Страницы.Значение(CLS) := Страница;
      Страница.Значение("Раскладка") := Раскладка;
      Страница.Значение("Данные") := Данные;
      Страница.Значение("Шаблон") := TempViewer.Template;
      Страница.Значение("Парам") := Парам;                 
      Страница.Значение("ТекстПараметров") := ТекстПараметров;                 
      TempViewer.Clear;                   
    конец;
  Лента := Лента.GetBeltColumns;  
  Заголовок := СоздатьСтатическиеДанные;
  // получаем все ленточные поля
  Лента.AddFields(Заголовок);
  Заголовок.Open;
  Лента.FixGroup;
  Стр := Лента.GetGroups;
  // группируем все данные в заголовок
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := Ткст.Стр(ы);
      Страница := Страницы.Значение(CLS);   
      Данные := Страница.Значение("Данные");
      парам := Страница.Значение("парам");
      Раскладка := Страница.Значение("Раскладка");
      Заголовок.Группировать(Данные, Стр);
    конец;
  Заголовок.Индекс := Лента.SortStr;
  Заголовок.First;
  сч := 0;
  // Делим корневую ячейку
  Report.Root.Orientation := 1;
  Report.Root.CellCount := 2;
  
  Заголовок.First; 
  пока не Заголовок.eof делать
    начало
       от ы := 0 до Ткст.Количество - 1 делать
         начало
           CLS := Ткст.Стр(ы);
           Страница := Страницы.Значение(CLS);
           Шаблон := Страница.Values('Шаблон');      
           TempViewer.Clear; 
           TempViewer.Template := Шаблон;              
           Данные := Страница.Значение("Данные");
           парам := Страница.Значение("парам");
           Раскладка := Страница.Значение("Раскладка");
           ТекстПараметров := Страница.Значение("ТекстПараметров");                
           Заголовок_ := СоздатьСтатическиеДанные;
           Заголовок_.AssignFields(Заголовок);
           Заголовок_.СкопироватьЗапись(нет, Заголовок, нет, "");
           Данные_ := СоздатьСтатическиеДанные;
           Данные.IndexFieldNames := Лента.SortStr;
           Данные.SetScope(ПолучитьМассивОграничения(Лента.SortStr, Заголовок));
           Данные_.AssignFields(Данные);
           Данные_.Закачать(Данные, "");
           ДокументНеПустой := ВывестиДанные(TempViewer, Раскладка, Раскладка,
                                             ТекстПараметров, Парам, Данные_, Заголовок_, да);
           Если ДокументНеПустой или (ТекстПараметров.Значение("НеВыводитьПустойДокумент") &lt;&gt; 1) тогда
             начало                    
               Report.Root.Cells(сч).Clone(Doc.Root);
               Report.Root.Cells(сч + 1).Replicate;           
               сч := сч + 1;
             конец;                      
         конец;
       Заголовок.Next;
    конец;
  если сч = 0 тогда
    ВызватьОшибку("Нет данных для вывода.");
  от ы := Report.Root.CellCount - 1 назад сч делать 
    Report.Root.Cells(ы).DeleteCell(да);
  если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
  если (Access = Access_ADM)
    тогда ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose + sdoTemplate)
    иначе ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose);                
 конец;
</value>
    <param value="ПечатныеДокументыЛентаCells" type="3" name="version">36.042.94</param>
    <param value="ПечатныеДокументыЛентаCells" type="3" name="crc32">$024670C5</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПечатныеДокументыЛентаF1">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';

//формирование для печатного документа без вывода основных данных
Формирование(
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);
переменные
  Визуализатор: IUniViewer; 
начало
   // очищаем содержимое
  ModalWafer.Clear;
  // получаем визуализатор
  Визуализатор := ModalWafer.CheckF1Viewer;  
  Визуализатор.Template := Шаблон;
  ФормированиеПечатногоДокумента(saxBelt, CLSID, Визуализатор, Коллекция, Да);
конец.
</value>
    <param value="ПечатныеДокументыЛентаF1" type="3" name="version">36.042.94</param>
    <param value="ПечатныеДокументыЛентаF1" type="3" name="crc32">$8F695AF7</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПечатныеДокументыЛентаМноготабличнаяF1">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\Cells.lib';
включить '\Библиотеки\Control.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаВыводаПечатныхДокументов.abl';
включить '\Библиотеки\F1Tools.lib';
включить '\Макросы\Отчеты\ФункцииДляF1.abl';
включить '\Макросы\Отчеты\ПоддержкаЭлАрхива.abl';

Формирование(                              
  CLSID : Целое;
  Шаблон : СТРОКА;
  Коллекция : IVariables;
);

переменные
  Визуализатор: IUniViewer;
  ТекстПараметров, Парам, ЗначенияПараметров: IVariables;
  Страницы, Страница, Обработчики : IVariables;
  Данные, Заголовок, Заголовок_, Данные_ : СтатическиеДанные;
  Раскладка, Лента : ITableInfoX;
  Ткст : Текст;
  МасштабСтраницы: целое;  

функция ПолучитьМассивОграничения(СтрокаСортировки: строка; Заголовок: СтатическиеДанные): Variant;
переменные
  т: Текст;
  инд: целое;
  Field: IField;
  стр: Строка;
начало
  т := СоздатьТекст;
  т.РазделенноеЗначение(";") := СтрокаСортировки;
  Результат.VarArrayCreate(varVariant, 0, т.Количество - 1);
  от инд := 0 до т.Количество - 1 делать
  начало
    стр := т.Стр(инд);
    если (стр[1] = "+") или (стр[1] = "-") тогда
      стр := Подстрока(стр, 2, Длина(стр));
    Field := Заголовок.ПолеПоИмени(стр);
    выбрать Field.FieldType из
      1 : Результат.AsWideString(инд) := Field.AsString;
      2 : Результат.AsInteger(инд) := Field.AsInteger;
      3 : Результат.AsInteger(инд) := Field.AsInteger;
      4 : Результат.AsFloat(инд) := Field.AsFloat;
      5 : Результат.AsFloat(инд) := Field.AsFloat;
      6 : Результат.AsFloat(инд) := Field.AsFloat;
      7 : Результат.AsFloat(инд) := Field.AsFloat;
      8 : Результат.AsInteger(инд) := Field.AsInteger;
    иначе
      Результат.AsWideString(инд) := Field.AsString;
    конец;
  конец;
конец;

функция ОбъединитьЛистыПослеВыводаДанных(ДокументНеПустой, сч, ПервыйДокумент, ПоследнийДокумент: целое);
переменные
  ОпцииШаблона: IVariables;
  f1: IF1Book;
  Row, CopyTopRow, CopyBottomRow, НуженРазрыв: целое;
  HeaderRows, FooterRows, НеВыводитьПустойДокумент, ResultRow, SaveLastRow: целое;
начало
  f1 := Визуализатор.Viewer;
  ОпцииШаблона := Страница.Значение("ОпцииШаблона");

  // подбираем минимальный масштаб
  если ПервыйДокумент тогда
    МасштабСтраницы := f1.PrintScale;
  если (МасштабСтраницы &gt; f1.PrintScale) тогда
    МасштабСтраницы := f1.PrintScale;
  если ПоследнийДокумент тогда
    f1.PrintScale := МасштабСтраницы;

  // удалим верхнюю часть копируемой области, кроме первого листа
  если не ПервыйДокумент тогда
    HeaderRows := Страница.Значение("КоличествоСтрокВШапке")
  иначе
    HeaderRows := 0;
  если (HeaderRows &gt; 0) тогда
    f1.DeleteRange(1, 1, HeaderRows, f1.LastCol, F1ShiftRows);

  // удалим нижнюю часть копируемой области, кроме последнего листа
  если не ПоследнийДокумент тогда
    FooterRows := Страница.Значение("КоличествоСтрокВПодписи")
  иначе
    FooterRows := 0;
  если (FooterRows &gt; 0) тогда
  начало
    НуженРазрыв := (f1.NextRowPageBreak(f1.LastRow - FooterRows + 1) &lt;&gt; 0);
    f1.DeleteRange(f1.LastRow - FooterRows + 1, 1, f1.LastRow, f1.LastCol, F1ShiftRows);
    если НуженРазрыв тогда
      f1.AddRowPageBreak(f1.LastRow);
  конец;

  НеВыводитьПустойДокумент := 0;
  если ТекстПараметров.ПараметрСуществует("НеВыводитьПустойДокумент") тогда
    НеВыводитьПустойДокумент := ТекстПараметров.Значение("НеВыводитьПустойДокумент");
  если (ДокументНеПустой или (НеВыводитьПустойДокумент = 0)) тогда
    сч := сч + 1
  иначе
  начало
    // если документ пустой и задан параметр "НеВыводитьПустойДокумент", то удалим табличную область
    Row := ОпцииШаблона.Значение("Row") - HeaderRows;
    CopyTopRow := Row - ОпцииШаблона.Значение("CopyTopRow");
    если ТекстПараметров.ПараметрСуществует("УдалитьВПустомДокументеСтрокНадТаблицей") тогда
     CopyTopRow := CopyTopRow - ТекстПараметров.Значение("УдалитьВПустомДокументеСтрокНадТаблицей");
    CopyBottomRow := Row - 1 + ОпцииШаблона.Значение("CopyBottomRow"); // -1 т.к. строки данных таблицы уже удалены
    если (CopyTopRow &lt;= CopyBottomRow) тогда
      f1.DeleteRange(CopyTopRow, 1, CopyBottomRow, f1.LastCol, F1ShiftRows);
  конец;

  F1.Sheet := 1;
  SaveLastRow := F1.LastRow;
  если не ПервыйДокумент тогда
    ОбъединитьПоследнийЛистСПредыдущим(f1);

  если ТекстПараметров.ПараметрСуществует("ДобавитьРазрывСтраницыПередИтогами") и (ТекстПараметров.Значение("ДобавитьРазрывСтраницыПередИтогами") = 1) тогда
  начало
    попытка
      ResultRow := Визуализатор.GetTable.Params("@RowCount");
      если ResultRow &gt; 0 тогда
      начало
        если ResultRow &lt;= 2 тогда
          ResultRow := SaveLastRow + ResultRow + Визуализатор.GetTable.Params("@Top") - ОпцииШаблона.Значение("CopyTopRow")
        иначе
          ResultRow := SaveLastRow + ResultRow + Визуализатор.GetTable.Params("@Top") - 2;
        AddResultPageBreak(F1, ResultRow);
      конец;
    неудача
    конец;
  конец;
    
  // добавляем разрыв страницы, если это не последний лист и задан параметр "ДобавитьРазрывВКонцеСтраницы"
  НуженРазрыв := 0;
  если ТекстПараметров.ПараметрСуществует("ДобавитьРазрывВКонцеСтраницы") тогда
    НуженРазрыв := ТекстПараметров.Значение("ДобавитьРазрывВКонцеСтраницы");
  если (не ПоследнийДокумент) и НуженРазрыв тогда
    f1.AddRowPageBreak(f1.LastRow);
конец;

функция ПроверитьКопируемуюОбласть(Страница: IVariables);
переменные
  Визуализатор: IUniViewer;
  Раскладка: ITableInfoX;
  ОпцииШаблона: IVariables;
  f1: IF1Book;
  Sheet: IUniSheet;
  КоличествоСтрокВШапке, КоличествоСтрокВПодписи: целое;
начало
  Визуализатор := CreateComObject(F1Viewer);
  Визуализатор.Viewer := Визуализатор.CreateViewObject;
  Визуализатор.SetProject(Pather);
  Визуализатор.Template := Страница.Values('Шаблон');              
  Раскладка := Страница.Значение("Раскладка");
  ОпцииШаблона := Страница.Значение("ОпцииШаблона");
  f1 := Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book);
  // Создаем промежуточную структуру для построения отчета
  Sheet := CreateSheet;
  Визуализатор.BeginBelt;
  Визуализатор.ViewToBelt(Sheet);
  Визуализатор.EndBelt(Sheet);
  КоличествоСтрокВШапке := ОпцииШаблона.Значение("TopRow") - 1;
  если (КоличествоСтрокВШапке &lt; 0) тогда
    КоличествоСтрокВШапке := 0;
  КоличествоСтрокВПодписи := f1.LastRow + Раскладка.RowCount - ОпцииШаблона.Значение("BottomRow");
  если (КоличествоСтрокВПодписи &lt; 0) тогда
    КоличествоСтрокВПодписи := 0;
  Страница.Значение("КоличествоСтрокВШапке") := КоличествоСтрокВШапке; 
  Страница.Значение("КоличествоСтрокВПодписи") := КоличествоСтрокВПодписи; 
конец;

переменные
  CLS, ы, сч, КолДокументов : целое;
  стр, Каталог, ИмяОбработчика : строка;
  ПечатныеДокументы: СтатическиеДанные;
  пШаблон : Поле;
  Прогресс : IProgress;
  ДокументНеПустой: целое;
начало
  Прогресс := Progress;
  если (Прогресс &lt;&gt; nil) тогда Прогресс.SetMessage('Построение ленты документов');
  ПечатныеДокументы := ПолучитьПечатныеДокументы;
  пШаблон := ПечатныеДокументы.Поле('TEMPLATE');
  СформироватьОграниченияЗаголовок(Коллекция, нет);  
  // очищаем содержимое
  ModalWafer.Clear;
  // визуализатор для итогового отчета
  Визуализатор := ModalWafer.CheckF1Viewer;  

  Ткст := СоздатьТекст;  
  Каталог :=  TemplatePathEx(tpxDocument);
  Шаблон := Подстрока(Шаблон, Длина(Каталог) + 1, Длина(Шаблон) - Длина(Каталог));
  Ткст.РазделенноеЗначение := Шаблон;
  Страницы := СоздатьКоллекцию;
  Лента := СоздатьРаскладку;  
  от ы := 0 до Ткст.Количество - 1 делать
    начало
      CLS := СтрокаВЦелое(Ткст.Стр(ы));
      если не ПечатныеДокументы.FindKey(ArrayOf(CLS)) тогда ВызватьОшибку(Формат("Документ с кодом %s не найден", ФорматироватьКлассификатор(CLS, '99.99.99.99'))); 
      Визуализатор.Template := TemplatePathEx(tpxDocument) + пШаблон.КакСтрока;
      Раскладка := Визуализатор.GetTable;      
      Лента.Join(Раскладка);
      Парам := СоздатьКоллекцию;
      Парам.PumpData(Коллекция);
      ТекстПараметров := nil;
      Заголовок := nil;
      Данные := nil;      
      ЗначенияПараметров := Визуализатор.GetVariables;  
      если (ЗначенияПараметров = nil) тогда ЗначенияПараметров := CreateVariables;
      ЗначенияПараметров.PumpData(Коллекция);
      СформироватьДанныеПоОгр(Визуализатор, Раскладка, Парам, ЗначенияПараметров, ТекстПараметров,
                              Данные, Заголовок);
      ЗаполнитьЗаголовокОтчета(CLS, ТекстПараметров, Парам);
      Страница := СоздатьКоллекцию;
      Страницы.Значение(CLS) := Страница;
      Страница.Значение("Раскладка") := Раскладка;
      Страница.Значение("Данные") := Данные;
      Страница.Значение("Заголовок") := Заголовок;
      Страница.Значение("Шаблон") := Визуализатор.Template;
      Страница.Значение("Парам") := Парам;                 
      Страница.Значение("ТекстПараметров") := ТекстПараметров;
      Страница.Значение("Обработчики") := Визуализатор.GetProjVars;
      Страница.Значение("ОпцииШаблона") := Визуализатор.Templates.Template.Options;
      ПроверитьКопируемуюОбласть(Страница);
      Визуализатор.Clear;                   
    конец;
  Лента := Лента.GetBeltColumns;  
  если Лента &lt;&gt; nil тогда
  начало
    Заголовок := СоздатьСтатическиеДанные;
    // получаем все ленточные поля
    Лента.AddFields(Заголовок);
    Заголовок.Open;
    Лента.FixGroup;
    Стр := Лента.GetGroups;
    // группируем все данные в заголовок
    от ы := 0 до Ткст.Количество - 1 делать
      начало
        CLS := СтрокаВЦелое(Ткст.Стр(ы));
        Страница := Страницы.Значение(CLS);   
        Данные := Страница.Значение("Данные");
        парам := Страница.Значение("парам");
        Раскладка := Страница.Значение("Раскладка");
        Заголовок.Группировать(Данные, Стр);
      конец;
    Заголовок.Индекс := Лента.SortStr;
    сч := 0;
    КолДокументов := 0;
    Заголовок.First;
    пока не Заголовок.eof делать
      начало
         от ы := 0 до Ткст.Количество - 1 делать
           начало
             CLS := СтрокаВЦелое(Ткст.Стр(ы));
             Страница := Страницы.Значение(CLS);
             Шаблон := Страница.Values('Шаблон');      
             Визуализатор.Template := Шаблон;              
             Данные := Страница.Значение("Данные");
             парам := Страница.Значение("парам");
             Раскладка := Страница.Значение("Раскладка");
             ТекстПараметров := Страница.Значение("ТекстПараметров");                
             Обработчики := Страница.Значение("Обработчики");
             Заголовок_ := СоздатьСтатическиеДанные;
             Заголовок_.AssignFields(Заголовок);
             Заголовок_.СкопироватьЗапись(нет, Заголовок, нет, "");           
             Данные_ := СоздатьСтатическиеДанные;
             Данные.IndexFieldNames := Лента.SortStr;
             Данные.SetScope(ПолучитьМассивОграничения(Лента.SortStr, Заголовок));
             Данные_.AssignFields(Данные);
             Данные_.Закачать(Данные, "");
             ИмяОбработчика := Обработчики.Values('Лента');
             если ИмяОбработчика &lt;&gt; "" тогда
             начало
               парам.Values(АлгЗаголовки) := Заголовок_;
               парам.Values(АлгДанные) := Данные_;                           
               парам.Values(АлгРаскладка) := Раскладка;
               парам.Values(АлгГлобальныеПараметры) := Коллекция;
               парам.Values(АлгВизуализатор) := Визуализатор;
               парам.Values(АлгСписокРаскладок) := Визуализатор.Templates;
               парам.Values(АлгПараметрыВывода) := ТекстПараметров;
               Event(ИмяОбработчика, парам);
               ТекстПараметров := парам.Values(АлгПараметрыВывода);
             конец; 
             ДокументНеПустой := ВывестиДанные(Визуализатор, Раскладка, Раскладка,
                                               ТекстПараметров, Парам, Данные_, Заголовок_, да);
             КолДокументов := КолДокументов + 1;
             ОбъединитьЛистыПослеВыводаДанных(ДокументНеПустой, сч, 
               КолДокументов = 1, КолДокументов = Ткст.Количество * Заголовок.ЧислоЗаписей);
           конец;
         Заголовок.Next;
      конец;
  конец иначе
  начало
     от ы := 0 до Ткст.Количество - 1 делать
       начало
         CLS := СтрокаВЦелое(Ткст.Стр(ы));
         Страница := Страницы.Значение(CLS);
         Шаблон := Страница.Values('Шаблон');      
         Визуализатор.Template := Шаблон;              
         Данные := Страница.Значение("Данные");
         Заголовок := Страница.Значение("Заголовок");
         парам := Страница.Значение("парам");
         Раскладка := Страница.Значение("Раскладка");
         ТекстПараметров := Страница.Значение("ТекстПараметров");                
         ДокументНеПустой := ВывестиДанные(Визуализатор, Раскладка, Раскладка,
                                           ТекстПараметров, Парам, Данные, Заголовок, да);
         КолДокументов := КолДокументов + 1;
         ОбъединитьЛистыПослеВыводаДанных(ДокументНеПустой, сч, 
           КолДокументов = 1, КолДокументов = Ткст.Количество * Заголовок.ЧислоЗаписей);
       конец;
  конец;
  если сч = 0 тогда
    ВызватьОшибку("Нет данных для вывода.");

  Визуализатор.Viewer.SheetName(1) := Коллекция.Values('Имя');
  ModalWafer.Caption := Коллекция.Values('Имя');
  если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
  СохранитьКоллекциюДокументаДляАрхива(Интерфейс(Визуализатор.Viewer).ЗапроситьИнтерфейс(_IF1Book), ТекстПараметров, Коллекция, нет);
  если (Access = Access_ADM)
    тогда ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose + sdoTemplate)
    иначе ModalWafer.ShowData(sdoPrint + sdoPreview + sdoClose);    
 конец;
</value>
    <param value="ПечатныеДокументыЛентаМноготабличнаяF1" type="3" name="version">36.042.94</param>
    <param value="ПечатныеДокументыЛентаМноготабличнаяF1" type="3" name="crc32">$C7186B0B</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ПоддержкаПечатныхДокументов">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить "\библиотеки\ReportTools.lib";
включить "\библиотеки\Pather.lib";
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
/$если Бюджет
включить "\Библиотеки\DataTools.lib";
/$конец 
включить "\Макросы\отчеты\ФормированиеОбластей.abl";

ПолучениеНастройкиДокумента(Действие, КодДокумента :целое; Коллекция : IVariables);
константы
  // константы документов
  ПлатежныеПоручения       = 0702;
  КазнРасходноеПП          = 0302;
  КазнМемордерРазасигновка = 0303;
  КазнМемордерПереброска   = 0301;
  КазнПриходноеПП          = 0305;
  КазнПриходПоОбъявлениям  = 0306;
  КазнВнутренниеПлатежи    = 0308;
  КазнСводныеПП            = 0309;
  КазнПереводВРайоны = 0311;
  КазнПодтверждениеПереводаВРайоны = 0312;
  КазнВозвратСРСРайонов    = 0314;
  КазнМемордерРазасигновка1к1 = 0317;  
  КазнМемордерПереброска1к1 = 0318;
  КазнУчетКассовыхВыплат   =  0322;

  //списки областей форматирования документов
  СписокОбластейДляКазнРасходногоПП    = "НазначениеПлатежа,НаименованиеПлательщика,ИННПлательщика,КПППлательщика,НаименованиеПолучателя,ИННПолучателя,КПППолучателя";
  СписокОбластейДляКазнМОРазассигновка = "НазначениеПлатежа";  
  СписокОбластейДляКазнМОПереброска    = "НазначениеПлатежа,НазначениеПлатежаПолучателя";
  СписокОбластейДляКазнПриходногоПП    = "НазначениеПлатежа,НаименованиеПолучателя,ИННПолучателя,КПППолучателя";
  СписокОбластейДляВнутренниеПлатежи   = "НазначениеПлатежа,НаименованиеПлательщика";
  // поддерживаемые имена параметров
  КСпособВыделенияПостояннойЧасти = "СпособВыделенияПостояннойЧасти";     
  КФорматПримечания = "ФорматПримечания";
  КНеВыводитьПустуюКлассификацию = "НеВыводитьПустуюКлассификацию";
  КФорматВыводаПостояннойЧасти = "ФорматВыводаПостояннойЧасти";
  КФорматВыводаПеременнойЧасти = "ФорматВыводаПеременнойЧасти";
  КРаздКлассиф = "РазделительКлассификации";
  КРаздПостКлассиф = "РазделительПостояннойКлассификации";
  КРаздВнутриГруппыПеремКлассиф = "РазделительВнутриГруппыПеременнойКлассификации";
  КРаздГруппПеремКлассиф = "РазделительГруппПеременнойКлассификации";
  КПолеСуммы = "ПолеСуммы";
  КПримечаниеДеталь = "ПримечаниеДеталь";
  КВозвращаемоеПоле = "ВозвращаемоеПоле";
  ККлассификация = "Классификация";  
  КВыводитьПустойКПП = "ВыводитьПустойКПП";
  КБанковскийФормат = "БанковскийФорматСумм";
              
  nl = #13#10;
  УзелВариантов = "Варианты";
  БазовыйВариант = "Базовый";
  ВариантПоУмолчанию = "ВариантПоУмолчанию";
  констПутьКПризнакам = "%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки";
 
переменные     
  ИспользоватьНастройкиИзРеестра : целое = да; 
  Вариант : IVariables;

функция ЗаменитьСимволыВСтроке(ИсходнаяСтрока: Строка; Автозамена : IVariables; ОбратныйПорядок: целое): строка;
переменные
  сч: целое;
начало
  результат := ИсходнаяСтрока;
  от сч := 0 до Автозамена.Count - 1 делать
    если ОбратныйПорядок
      тогда результат := ЗаменитьСтроку(результат, Автозамена.IndexValues(сч), Автозамена.Names(сч))
      иначе результат := ЗаменитьСтроку(результат, Автозамена.Names(сч), Автозамена.IndexValues(сч));
конец;

функция ЗаменитьСимволыВЗначенииПоля(ссДокумент: СтатическиеДанные; ИмяПоля: Строка; Автозамена : IVariables; ОбратныйПорядок: целое);
переменные
  ПолеПримечания: Поле;
  сч: целое;
начало
  ПолеПримечания := ссДокумент.ПолеПоИмени(ИмяПоля); 
  ссДокумент.ВНачало;
  пока не ссДокумент.ВКонце делать
    начало        
      от сч := 0 до Автозамена.Count - 1 делать
        если ОбратныйПорядок
         тогда ПолеПримечания.КакСтрока := ЗаменитьСтроку(ПолеПримечания.КакСтрока, Автозамена.IndexValues(сч), Автозамена.Names(сч))
         иначе ПолеПримечания.КакСтрока := ЗаменитьСтроку(ПолеПримечания.КакСтрока, Автозамена.Names(сч), Автозамена.IndexValues(сч));
      ссДокумент.Следующая;          
    конец;
конец;

функция ЕстьЧислоВСписке(Число: Целое; СписокСтр: строка): Целое;
переменные
  тСписок: Текст;
  инд: Целое;
начало
  Результат := Нет;
  если Список&lt;&gt;"" тогда начало
    тСписок := СоздатьТекст;
    Попытка
      тСписок.РазделенноеЗначение := СписокСтр;
      От Инд := 0 до тСписок.Количество-1 делать
        если СтрокаВЦелое(тСписок.Стр(Инд)) = Число тогда
          Результат := Да;
    обязательно
      УдалитьОбъект(тСписок);
    конец;
  конец;
конец;

функция ЭтоНалоговыйПлатеж(НалоговаяИнф: Строка): целое;
переменные
  стр: Строка;
начало
  стр := Разыменовать("Налог.ПоказательОснованияПлатежа",НалоговаяИнф);
  Результат := (стр&lt;&gt;"")и(стр&lt;&gt;"0");
  если не результат тогда начало
    стр := Разыменовать("Налог.ПоказательНалоговогоПериода",НалоговаяИнф);
    Результат := (стр&lt;&gt;"")и(стр&lt;&gt;"0");
  конец;
  если не результат тогда начало
    стр := Разыменовать("Налог.ПоказательТипаПлатежа",НалоговаяИнф);
    Результат := (стр&lt;&gt;"")и(стр&lt;&gt;"0");
  конец;
конец;

функция ИспользоватьOptionEditor(КодДокумента: строка): целое;
/*переменные 
  Узел : УзелРеестра;
  с : строка;
  КодДокументаЗнач : строка;*/
начало
  // Пора отказываться от старого редактора. Пока закомментируем
  Результат := Да;
/*  с := ВернутьПутьКНастройкамПечатныхДокументов;  
  с  := Подстрока(с, 1, длина(с) -1); 
  Узел := Реестр.Узел(с);  
  результат := Узел.Значение("ИспользоватьОбластиФорматирования").КакФлаг;
  //Удаление лидирующих нулей
  КодДокументаЗнач := ЦелоеВСтроку(СтрокаВЦелое(КодДокумента));
  с := с + '\' + КодДокументаЗнач;
  Узел := Реестр.Узел(с);
  результат := результат и Узел.Значение("ИспользоватьОбластиФорматирования").КакФлаг;*/  
конец;

функция ИспользоватьФайловыеШаблоны: целое;
переменные Узел : УзелРеестра;
           с : строка;
начало
  с := ВернутьПутьКНастройкамПечатныхДокументов;  
  с  := Подстрока(с, 1, длина(с) -1); 
  Узел := Реестр.Узел(с);  
  результат := Узел.Значение("ИспользоватьШаблоны").КакФлаг;  
конец;


функция СформироватьНастройкуДокумента(КодДокумента,ИмяОбласти:строка;
  ЛокПараметры:IVariables);
начало
  выбрать ИмяОбласти из
    "НазначениеПлатежа","НазначениеПлатежаПолучателя" : 
      начало
        ЛокПараметры.Values(КФорматПримечания):='{&lt;Классификация&gt;}';       
        ЛокПараметры.Values(кНеВыводитьПустуюКлассификацию):='1';    
        ЛокПараметры.Values(кФорматВыводаПостояннойЧасти):='{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ =&lt;ПолеСуммы&gt;}';
        ЛокПараметры.Values(кФорматВыводаПеременнойЧасти):='{&lt;Классификация&gt;}{ - &lt;ПолеСуммы&gt;}{ &lt;ПримечаниеДеталь&gt;}';
        ЛокПараметры.Values(кКлассификация) :=  "{КФСР:&lt;КФСР=КФСР.Код,@%d(00.00)&gt;}"+
             "{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}"+
             "{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;кэср=кэср.код,@%d(0.0.0)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}";
        ЛокПараметры.Values(кРаздКлассиф):= ' В том числе:'#10;
        ЛокПараметры.Values(кРаздПостКлассиф):=', ';
        ЛокПараметры.Values(кРаздВнутриГруппыПеремКлассиф):=', ';                        
        ЛокПараметры.Values(кРаздГруппПеремКлассиф):=#10;
        ЛокПараметры.Values(КБанковскийФормат):="1";
        ЛокПараметры.Values(КСпособВыделенияПостояннойЧасти) := "0";            
      конец;
    "КПППлательщика","КПППолучателя": ЛокПараметры.Values(КВыводитьПустойКПП):= '0';
  конец;
    
  
  выбрать КодДокумента из
    КазнПриходноеПП: начало
      выбрать ИмяОбласти из
        "НазначениеПлатежа" : 
          начало
            ЛокПараметры.Values(кФорматПримечания) := "{&lt;Примечание&gt;}";
          конец;
        "НаименованиеПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';          
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;}{ ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;)}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
          конец;
        "ИННПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}';          
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}';
          конец;
        "КПППолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}';            
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}';
          конец;
        "НаименованиеПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.Имя&gt;}';          
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация_ФК.Имя &gt;}';
          конец;
        "ИННПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}';          
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация_ФК.ИНН&gt;}';
          конец;
        "КПППлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.КПП&gt;}';            
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация_ФК.КПП&gt;}';
          конец;          
      конец;    
    конец;
    КазнВозвратСРСРайонов : начало
      выбрать ИмяОбласти из
        "НазначениеПлатежа" : 
          начало
            ЛокПараметры.Values(кФорматВыводаПостояннойЧасти):='{(&lt;Классификация&gt;)}';
            ЛокПараметры.Values(кФорматВыводаПеременнойЧасти):='{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}';
            ЛокПараметры.Values(кРаздКлассиф):=' в т.ч. ';
            ЛокПараметры.Values(кРаздПостКлассиф):=' ';
            ЛокПараметры.Values(кРаздВнутриГруппыПеремКлассиф):=',';                        
            ЛокПараметры.Values(кРаздГруппПеремКлассиф):='; ';
            
            ЛокПараметры.Values(кФорматПримечания) := "{&lt;Примечание&gt;}{"#13#10"&lt;НДС&gt;}";
            //вариант0
            ЛокПараметры.Values(ККлассификация):= "{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}";
          конец;
        "НаименованиеПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= '{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК");                                    
          конец;
        "ИННПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");                                    
          конец;
        "КПППолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");                                    
          конец;
        "НаименованиеПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ ( ИНН &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}{ КПП &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
          конец;
        "ИННПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
          конец;
        "КПППлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
            ЛокПараметры.Values(ИмяОбласти+".НалогФилиалы"):= "{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}";                                    
          конец;
      конец;
    конец;          
    КазнПереводВРайоны,КазнПодтверждениеПереводаВРайоны : начало
      выбрать ИмяОбласти из
        "НазначениеПлатежа" : 
          начало
            ЛокПараметры.Values(кФорматВыводаПостояннойЧасти):='{(&lt;Классификация&gt;)}';
            ЛокПараметры.Values(кФорматВыводаПеременнойЧасти):='{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}';
            ЛокПараметры.Values(кРаздКлассиф):=' в т.ч. ';
            ЛокПараметры.Values(кРаздПостКлассиф):=' ';
            ЛокПараметры.Values(кРаздВнутриГруппыПеремКлассиф):=',';                        
            ЛокПараметры.Values(кРаздГруппПеремКлассиф):='; ';
            
            ЛокПараметры.Values(кФорматПримечания) := "{&lt;Примечание&gt;}{"#13#10"&lt;НДС&gt;}";
            //вариант0
            ЛокПараметры.Values(ККлассификация):= "{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}";
          конец;
        "НаименованиеПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= '{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК");                                    
          конец;
        "ИННПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");                                    
          конец;
        "КПППолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");                                    
          конец;
        "НаименованиеПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
          конец;
        "ИННПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
          конец;
        "КПППлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
            ЛокПараметры.Values(ИмяОбласти+".НалогФилиалы"):= "{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}";                                    
          конец;
      конец;
    конец;      
    КазнРасходноеПП, КазнСводныеПП, КазнУчетКассовыхВыплат: начало
      выбрать ИмяОбласти из
        "НазначениеПлатежа" : 
          начало
            ЛокПараметры.Values(кФорматВыводаПостояннойЧасти):='{(&lt;Классификация&gt;)}';
            ЛокПараметры.Values(кФорматВыводаПеременнойЧасти):='{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}';
            ЛокПараметры.Values(кРаздКлассиф):=' в т.ч. ';
            ЛокПараметры.Values(кРаздПостКлассиф):=' ';
            ЛокПараметры.Values(кРаздВнутриГруппыПеремКлассиф):=',';                        
            ЛокПараметры.Values(кРаздГруппПеремКлассиф):='; ';
            
            ЛокПараметры.Values(кФорматПримечания) := "{&lt;Примечание&gt;}{"#13#10"&lt;НДС&gt;}";
            //вариант0
            ЛокПараметры.Values(ККлассификация):= "{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}";
          конец;
        "НаименованиеПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= '{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК");                                    
          конец;
        "ИННПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");                                    
          конец;
        "КПППолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");                                    
          конец;
        "НаименованиеПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{ (&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{ &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.Имя&gt;}{, &lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;)}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
          конец;
        "ИННПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
          конец;
        "КПППлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;ЛицСчетПлательщика=Лицевой_Счет.ОрганизацияВладелец.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК");                                    
            ЛокПараметры.Values(ИмяОбласти+".НалогФилиалы"):= "{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}";                                    
          конец;
      конец;
    конец;  
    ПлатежныеПоручения: начало
      выбрать ИмяОбласти из
        "НазначениеПлатежа" : 
          начало
            ЛокПараметры.Values(кФорматВыводаПостояннойЧасти):='{(&lt;Классификация&gt;)}';
            ЛокПараметры.Values(кФорматВыводаПеременнойЧасти):='{&lt;Классификация&gt;}{ &lt;ПолеСуммы&gt;}';
            ЛокПараметры.Values(кРаздКлассиф):=' в т.ч. ';
            ЛокПараметры.Values(кРаздПостКлассиф):=' ';
            ЛокПараметры.Values(кРаздВнутриГруппыПеремКлассиф):=',';                        
            ЛокПараметры.Values(кРаздГруппПеремКлассиф):='; ';
            
            ЛокПараметры.Values(кФорматПримечания) := "{&lt;Примечание&gt;}{"#13#10"&lt;НДС&gt;}";
            //вариант0
            ЛокПараметры.Values(ККлассификация):= "{&lt;КФСР=КФСР.Код,@%d(0000)&gt;}{&lt;КВСР=КВСР.Код,@%d(000)&gt;}{&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{&lt;КВР=КВР.Код,@%d(000)&gt;}{&lt;КЭСР=КЭСР.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}";
          конец;
        "НаименованиеПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПолуч=Р/с.Организация.Имя&gt;)}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';  
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.Имя &gt;} ({ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПолуч=Р/с.Организация.КПП&gt;}{ &lt;СчетПолуч=Р/с.Организация.Имя&gt;}{ лс &lt;СчетПолуч=Р/с.ИмяЛСФК&gt;}){'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= '{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПолуч=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПолуч=Р/с.Номер_Отделения_СБ&gt;}';                                    
          конец;
        "ИННПолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");                                    
          конец;
        "КПППолучателя":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПолуч=Р/с.Организация_ФК.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= ЛокПараметры.Values(ИмяОбласти+".НалогУФК");                                    
          конец;
        "НаименованиеПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (&lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация_ФК.Имя&gt;}{ (ИНН &lt;СчетПлат=Р/с.Организация.ИНН&gt;}{ КПП &lt;СчетПлат=Р/с.Организация.КПП&gt;}{ &lt;СчетПлат=Р/с.Организация.Имя&gt;} {лс &lt;СчетПлат=Р/с.ИмяЛСФК&gt;)}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.Имя&gt;}{'#13#10'&lt;СчетПлат=Р/с.Номер_Отделения_СБ&gt;}';                                    
          конец;
        "ИННПлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация_ФК.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.ИНН&gt;}';                                    
          конец;
        "КПППлательщика":
          начало
            ЛокПараметры.Values(ИмяОбласти+".НалогУФК"):= '{&lt;СчетПлат=Р/с.Организация.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{&lt;СчетПлат=Р/с.Организация_ФК.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.КПП&gt;}';
            ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{&lt;СчетПлат=Р/с.Организация.КПП&gt;}';                                    
            ЛокПараметры.Values(ИмяОбласти+".НалогФилиалы"):= "{&lt;ИнформацияОНалоге=Налог.КППФилиалаПлательщика&gt;}";                                    
          конец;
      конец;      
    конец;
    КазнПриходПоОбъявлениям: 
    выбрать ИмяОбласти из    
      "НазначениеПлатежа" : 
        начало
          ЛокПараметры.Values(кРаздВнутриГруппыПеремКлассиф):=' ';
          ЛокПараметры.Values(кКлассификация) :=      
             "{КФСР:&lt;КФСР=КФСР.Код,@%d(00.00)&gt;}"+
             "{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}"+
             "{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;кэср=кэср.код,@%d(0.0.0)&gt;}"+
             "{СубКЭСР:&lt;Субкэср=Субкэср.код,@%d(0000000)&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}";
        конец;                                          
      "НаименованиеПолучателя":
        начало
          ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= "ОН ЖЕ";          
          ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= "ОН ЖЕ";
        конец;
      "НаименованиеПлательщика":
        начало
          ЛокПараметры.Values(ИмяОбласти+".НеНалогНеУФК"):= '{ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;} {&lt;СчетПолуч=Р/с.Организация.Имя&gt;} {(ИНН &lt;ЛицевойСчет=Лицевой_счет.ОрганизацияВладелец.ИНН&gt;} {&lt;ЛицевойСчет=Лицевой_счет.ОрганизацияВладелец.Имя&gt;)}';          
          ЛокПараметры.Values(ИмяОбласти+".НеНалогУФК"):= '{ИНН &lt;СчетПолуч=Р/с.Организация.ИНН&gt;} {&lt;СчетПолуч=Р/с.Организация.Имя&gt;} {(ИНН &lt;ЛицевойСчет=Лицевой_счет.ОрганизацияВладелец.ИНН&gt;} {&lt;ЛицевойСчет=Лицевой_счет.ОрганизацияВладелец.Имя&gt;)}';
        конец;
    конец;
    КазнВнутренниеПлатежи: 
      выбрать ИмяОбласти из
        "НазначениеПлатежаПолучателя":начало
           ЛокПараметры.Values(кФорматВыводаПостояннойЧасти):='{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}';        
           ЛокПараметры.Values(КФорматПримечания):=#10'Зачислено на лицевой счет {&lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;}';
           ЛокПараметры.Values(ККлассификация):="{КФСР:&lt;КФСР=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}"+
        "{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}"+
        "{Мероприятие:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}" +
        "{&lt;КодДохода=КодДохода.Код&gt;}";                           
        конец;
        "НазначениеПлатежа":начало
           ЛокПараметры.Values(КФорматПримечания):='Снято с лицевого счета {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;}';
           ЛокПараметры.Values(ККлассификация):="{КФСР:&lt;КФСРПлательщика=КФСР.Код,@%d(0000)&gt;}{КВСР:&lt;КВСРПлательщика=КВСР.Код,@%d(000)&gt;}"+
             "{КЦСР:&lt;КЦСРПлательщика=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВРПлательщика=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСРПлательщика=КЭСР.Код,@%d(000)&gt;}{СубКЭСР:&lt;СубКЭСРПлательщика=СубКЭСР.Код,@%d(0000000)&gt;}"+
             "{Мероприятие:&lt;МероприятиеПлательщика=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}"+
             "{&lt;КодДоходаПлательщика=КодДохода.Код&gt;}";
        конец;
      конец;  
    КазнМемордерПереброска, КазнМемордерПереброска1к1: начало
      выбрать ИмяОбласти из
        "НазначениеПлатежаПолучателя":начало
           ЛокПараметры.Values(кФорматВыводаПостояннойЧасти):='{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}';        
           ЛокПараметры.Values(КФорматПримечания):=#10'Зачислено на лицевой счет {&lt;ЛицСчетПолучателя=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;}';
           ЛокПараметры.Values(ККлассификация):="{КФСР:&lt;КФСР=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}"+
        "{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}"+
        "{Мероприятие:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}";                           
        конец;
        "НазначениеПлатежа":начало
           ЛокПараметры.Values(КФорматПримечания):='Снято с лицевого счета {&lt;ЛицСчетПлательщика=Лицевой_Счет.Код,@%d(000.00.000.0)&gt;} {&lt;Классификация&gt;}';
           ЛокПараметры.Values(ККлассификация):="{КФСР:&lt;КФСРПлательщика=КФСР.Код,@%d(0000)&gt;}{КВСР:&lt;КВСРПлательщика=КВСР.Код,@%d(000)&gt;}"+
             "{КЦСР:&lt;КЦСРПлательщика=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВРПлательщика=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСРПлательщика=КЭСР.Код,@%d(000)&gt;}{СубКЭСР:&lt;СубКЭСРПлательщика=СубКЭСР.Код,@%d(0000000)&gt;}"+
             "{Мероприятие:&lt;МероприятиеПлательщика=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}{&lt;ИсточникВнутрФинансирования=ИсточникВнутрФинансирования.Код&gt;}";
        конец;
      конец;  
    конец;
    КазнМемордерРазасигновка, КазнМемордерРазасигновка1к1: начало
      ЛокПараметры.Values(кФорматВыводаПостояннойЧасти):='{(&lt;Классификация&gt;)}{ &lt;ПримечаниеДеталь&gt;}{ -&lt;ПолеСуммы&gt;}';    
      ЛокПараметры.Values(кКлассификация) := "{КФСР:&lt;КФСР=КФСР.Код,@%d(9999)&gt;}{КВСР:&lt;КВСР=КВСР.Код,@%d(000)&gt;}"+
        "{КЦСР:&lt;КЦСР=КЦСР.Код,@%d(0000000)&gt;}{КВР:&lt;КВР=КВР.Код,@%d(000)&gt;}{КЭСР:&lt;КЭСР=КЭСР.Код,@%d(000)&gt;}{Суб КЭСР:&lt;СубКЭСР=СубКЭСР.Код,@%d(0000000)&gt;}"+
        "{Мероприятие:&lt;Мероприятие=Мероприятие.Код,@%d(000000)&gt;}{БО:&lt;БюджОбяз&gt;}";
    конец;      
  конец;
конец;
/*******************************************************************************************************************************/
//Тулсовые функции для получения\сохранения настроек областей
//настройки сохраняются в удаленном реестре и вся работа с ними должна вестись только через эти функции доступа
// документ может иметь несколько областей, формат вывода которых требуется настроить
// одна настройка может относиться к нескольким областям
// каждая настройка может иметь несколько вариантов, один из которых является текущим
//1. По имени области определяется имя настройки
функция ПолучитьИмяНастройки(КодДокумента : Целое; ИмяОбласти : строка) : строка;
переменные
  Узел : УзелРеестра;
начало
  Узел := Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента));
  //Из таблицы соответствия областей форматирования настройкам, извлекаем нужное имя настройки
  //Если там его нет, то считается что имя области и настройки для нее совпадает.
  Результат := Узел.Значение(ИмяОбласти).КакСтрока; 
  если Результат = "" тогда
    Результат := ИмяОбласти;  
конец;
// 2. Получение списка всех областей 
функция ПолучитьСписокОбластейФорматирования(КодДокумента : Целое) : Строка;
начало
  если ИспользоватьНастройкиИзРеестра тогда
    Результат := Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента)).СписокЗначений
  иначе Результат := "";  
  Если Результат = "" тогда
    выбрать КодДокумента из
      КазнРасходноеПП, КазнУчетКассовыхВыплат: Результат := СписокОбластейДляКазнРасходногоПП;
      КазнМемордерРазасигновка, КазнМемордерРазасигновка1к1 :      Результат := СписокОбластейДляКазнМОРазассигновка;
      КазнМемордерПереброска, КазнМемордерПереброска1к1:        Результат := СписокОбластейДляКазнМОПереброска;
      КазнПриходПоОбъявлениям:       Результат := СписокОбластейДляКазнПриходногоПП;
      КазнПриходноеПП:               Результат := СписокОбластейДляКазнПриходногоПП;
      КазнВнутренниеПлатежи:         Результат := СписокОбластейДляВнутренниеПлатежи;
    конец;  
конец;

// 3.Список вариантов настройки для указанной области. Если область не указана, возвращается список настроек 
функция ПолучитьСписокВариантов(КодДокумента:целое;ИмяОбласти:строка):строка;
переменные списокЗначений: Текст;
начало  
  Результат := "";
  списокЗначений := СоздатьТекст;
  попытка
    если ИспользоватьНастройкиИзРеестра тогда
      Если ИмяОбласти = "" тогда
        списокЗначений.Значение := Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов+ЦелоеВСтроку(КодДокумента)).СписокУзлов
      иначе
        списокЗначений.Значение := Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов+ ЦелоеВСтроку(КодДокумента) + "\" + ПолучитьИмяНастройки(КодДокумента, ИмяОбласти) + "\" + УзелВариантов).СписокЗначений;
    Результат := списокЗначений.РазделенноеЗначение;
  обязательно
    УдалитьОбъект(списокЗначений);
  конец;   
конец;

// 4. Имя варианта по умолчанию для указанной области
функция ПолучитьИмяВариантаПоУмолчанию(КодДокумента : целое; ИмяОбласти : Строка) : Строка;
начало
  Результат := "";
  если ИспользоватьНастройкиИзРеестра тогда
    Результат := Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента) + "\" + ПолучитьИмяНастройки(КодДокумента, ИмяОбласти)).Значение(ВариантПоУмолчанию).КакСтрока;
  если Результат = "" тогда
    Результат := БазовыйВариант;  
конец;

// 5. Возвращает коллекцию требуемого варианта, сперва берем базовые настройки и на них накладываем нужный вариант
//Если имя варианта не указанно, то возвращается вариант по умолчанию
функция ПолучитьНастройкуДокумента(КодДокумента:целое;ИмяОбласти:строка; ИмяВарианта:строка):IVariables;
переменные
  Настройка : Текст;
  сч : целое;
  Вариант : строка;
начало
  Если ИмяВарианта = "" тогда
  начало
    Вариант := ПолучитьИмяВариантаПоУмолчанию(КодДокумента, ИмяОбласти);
    Если Вариант &lt;&gt; "" тогда
      Результат := ПолучитьНастройкуДокумента(КодДокумента, ИмяОбласти, Вариант)
    иначе
      Результат := ПолучитьНастройкуДокумента(КодДокумента, ИмяОбласти, БазовыйВариант);   
  конец  
  иначе
  начало
    //Получаем базовый вариант и накладываем на него требуемый
    Если ИмяВарианта &lt;&gt; БазовыйВариант тогда
    начало
      Результат := ПолучитьНастройкуДокумента(КодДокумента, ИмяОбласти, БазовыйВариант);
      если ИспользоватьНастройкиИзРеестра тогда
      начало    
        Настройка := СоздатьТекст;
        попытка
          Настройка.РазделенноеЗначение := Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента) + "\" + ПолучитьИмяНастройки(КодДокумента, ИмяОбласти) + "\" + УзелВариантов).Значение(ИмяВарианта).КакСтрока;
          от сч := 0 до Настройка.Количество - 1 делать
            Результат.Значение(Настройка.ИмяПараметра(сч)) := Настройка.ЗначениеПараметра(Настройка.ИмяПараметра(сч));
        обязательно
          УдалитьОбъект(Настройка);
        конец;
      конец;  
    конец  
    иначе 
    начало  // получаем настройки по умолчанию.
      Результат := CreateVariables;
      СформироватьНастройкуДокумента(КодДокумента,ИмяОбласти,Результат);
    конец;    
  конец;  
конец;
// 6. Сохранение варианта настройки для указанной области. Если Текущий=1, то этот вариант сохранится как вариант по умолчанию
// Если Значение=nil, то вариант будет удален
функция СохранитьНастройкуДокумента(КодДокумента:целое;ИмяОбласти:строка; ИмяВарианта:строка;Текущий:целое; Значение:IVariables);
переменные
  Узел : УзелРеестра;
  Настройка, ИмяНастройки : Строка;
  сч : целое;
начало
  ИмяНастройки := ПолучитьИмяНастройки(КодДокумента, ИмяОбласти); 
  Узел := Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента) + "\" + ИмяНастройки + "\" + УзелВариантов);
  Если Значение = nil тогда
  начало
    Узел.Значение(ИмяВарианта).Удалить;
    // если вариант является вариантом по умолчанию, то удаляем его.
    если Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента) + "\" + ИмяНастройки).Значение(ВариантПоУмолчанию).КакСтрока = ИмяВарианта тогда
      Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента) + "\" + ИмяНастройки).Значение(ВариантПоУмолчанию).КакСтрока :=""; 
  конец  
  иначе
  начало
    попытка
      от сч := 0 до Значение.Count - 1 делать
      начало
          Если Настройка &lt;&gt; "" тогда
            Настройка := Настройка + nl;
          Настройка := Настройка + '"' + Значение.Names(сч) + '=' + Значение.Значение(Значение.Names(сч)) + '"';
      Конец;    
      Узел.Значение(ИмяВарианта).КакСтрока := Настройка;
      если Текущий тогда // помечаем вариант текущим
      начало
        Если ИмяВарианта = БазовыйВариант тогда
          Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента) + "\" + ПолучитьИмяНастройки(КодДокумента, ИмяОбласти)).Значение(ВариантПоУмолчанию).Удалить
        иначе
          Реестр.Узел(ВернутьПутьКНастройкамПечатныхДокументов + ЦелоеВСтроку(КодДокумента) + "\" + ПолучитьИмяНастройки(КодДокумента, ИмяОбласти)).Значение(ВариантПоУмолчанию).КакСтрока := ИмяВарианта;
      конец;   
    обязательно
      УдалитьОбъект(Настройка);
    конец;
  конец;
  
конец;
/*****************************************************************************************************************************/

//переданный формат совпадает с форматом ф-ии CLSAnalys, но здесь каждый параметр
//просто разыменовывается
функция РазыменовкаГруппыПараметров(Данные:СтатическиеДанные;ЛокПараметры:IVariables;
  формат:строка):строка;
переменные
  ИмяПоля, Разыменовка, ЗначениеПараметра,ЗначениеЭлемента, Элемент,Параметр, НовФормат,Стр :строка;
  НачалоЭлемента, КонецЭлемента, НачалоПараметра, КонецПараметра, Середина : целое;
  ПолеРазыменовки:Поле;
начало
  НовФормат := Формат;
  Стр := Формат;
  НачалоЭлемента := Позиция("{",Стр);
  КонецЭлемента := Позиция("}",Стр);
  пока (Стр &lt;&gt; "")и(НачалоЭлемента &gt; 0)и(НачалоЭлемента&lt;КонецЭлемента) делать
  начало
    Элемент := Подстрока(Стр, НачалоЭлемента+1, КонецЭлемента-НачалоЭлемента-1);
    стр := ЗаменитьСтроку(стр,'{'+Элемент+'}','',0);
    ЗначениеПараметра := "";
    Разыменовка := "";
    НачалоПараметра := Позиция("&lt;",Элемент);
    КонецПараметра := Позиция("&gt;",Элемент);
    Если (Элемент &lt;&gt; "")и(НачалоПараметра&gt;0)и(НачалоПараметра&lt;КонецПараметра)  тогда
    начало
      Параметр := Подстрока(Элемент, НачалоПараметра+1, КонецПараметра-НачалоПараметра-1);
      Середина := Позиция("=",Параметр);
      ИмяПоля := Параметр;
      если Середина&lt;&gt;0 тогда
      начало
        ИмяПоля := Подстрока(Параметр, 1, середина-1);
        Разыменовка := Подстрока(Параметр, середина+1, Длина(параметр)-середина);
      конец;
      ПолеРазыменовки := nil;
      если Данные.FindField(ИмяПоля,ПолеРазыменовки) тогда
      начало
        ЗначениеПараметра := ПолеРазыменовки.КакСтрока;
        если Разыменовка&lt;&gt;"" тогда
          ЗначениеПараметра := Разыменовать(Разыменовка,ЗначениеПараметра);
      конец
      иначе ВызватьОшибку("Поле "+ИмяПоля+"не найдено");  
    Конец;
    НачалоЭлемента := Позиция("{",Стр);
    КонецЭлемента := Позиция("}",Стр);
    если ЗначениеПараметра&lt;&gt;"" тогда 
      ЗначениеЭлемента := ЗаменитьСтроку(Элемент,'&lt;'+Параметр+'&gt;',ЗначениеПараметра,0)
    иначе ЗначениеЭлемента := "";  
    НовФормат := ЗаменитьСтроку(НовФормат,'{'+Элемент+'}',ЗначениеЭлемента,0);
  конец;
  результат := НовФормат; 
конец;


//разбор одного параметра
//параметр - переданный параметр вида Префикс&lt;ИмяПараметра&gt;Постфикс
//возвращает Префикс&lt;Значение&gt;Постфикс, если Значение не пусто 
функция РазборОдногоПараметра(Темп:СтатическиеДанные; ЛокПараметры : IVariables;
        Параметр : строка) : строка;
переменные
  НачПар, КонПар : Целое;
  Разыменовщик : IDereference;  
  ИмяПараметра : строка;
  стр : строка;  
  ПримечаниеДеталь, ПолеСуммы : строка;
  т : текст;                    //для разбора параметров примечания
начало
  т := СоздатьТекст;
  т.РазделенноеЗначение := ЛокПараметры.Values("ПараметрыПримечания");
  ПолеСуммы := т.ЗначениеПараметра('ПолеСуммы');
  ПримечаниеДеталь := т.ЗначениеПараметра('ПримечаниеДеталь');   

  Разыменовщик := Mapper;
  
  НачПар := Позиция("&lt;",Параметр);
  КонПар := Позиция("&gt;",Параметр);
  ИмяПараметра := Подстрока(Параметр, начПар+1, конПар-начПар-1);
  
  если (ЛокПараметры.Values(ИмяПараметра)&lt;&gt;"")          
  тогда начало
    CLSAnalys(Темп,ЛокПараметры.Values(ИмяПараметра),ПолеСуммы,ПримечаниеДеталь,
       ЛокПараметры.Values("ПараметрыПримечания"),Разыменовщик, стр);
       
    если стр&lt;&gt;""
    тогда   
      результат := ЗаменитьСтроку(Параметр,"&lt;"+ИмяПараметра+"&gt;",Стр,0)
    иначе 
      результат := "";  
  конец                
  иначе начало
    //Заменяем параметр на значение соответствующего поля в СтатикСете.
    //Полезная штука для подставления лицевых счетов в мемордерах, например:
    //зачислено на счет 000.00.000.0 (ПостКлассиф) В том числе ПеремКлассиф
    если Темп.НайтиПоле(ИмяПараметра)
    тогда
      начало      // проверка на содержание в данных запрещенных символов
/*        Если (Позиция("{",Темп.Поле(ИмяПараметра).КакСтрока)&gt;0) или (Позиция("}",Темп.Поле(ИмяПараметра).КакСтрока)&gt;0) 
        тогда
          ВызватьОшибку("В строке: "+#13#10+Темп.Поле(ИмяПараметра).КакСтрока+#13#10+"содержится запрещенный символ { или }")
        иначе*/   
        результат := ЗаменитьСтроку(Параметр, "&lt;"+ИмяПараметра+"&gt;", Темп.Поле(ИмяПараметра).КакСтрока, 0);
      конец
    иначе 
      результат := РазыменовкаГруппыПараметров(Темп,ЛокПараметры,'{'+Параметр+'}');
  конец;
  УдалитьОбъект(т);
конец;

//формирование строки ПараметрыПримечания для CLSAnalys
функция СозданиеПараметровПримечания(ЛокПараметры:IVariables): строка;
переменные
  т : текст;
  сч : целое;
начало
  т := СоздатьТекст;      
  от сч  :=  0 до ЛокПараметры.Count-1 делать
    т.Значение := т.Значение + ',"'+ЛокПараметры.Names(сч)+'='
        + ЛокПараметры.Values(ЛокПараметры.Names(сч))+'"'; 
  т.Значение := ЗаменитьСтроку(т.Значение,",","",0);
  результат := т.Значение;      
  УдалитьОбъект(т);
конец;

функция РазборПараметровПримечания(ФорматДанных: строка; ПараметрыПримечания: IVariables; Данные: СтатическиеДанные): строка;
переменные
  нач, кон      : целое;
  Параметр,
  СтрокаДоПараметра,
  РазобранноеЗнач,  
  НеобработанныйФорматДанных    : строка;
начало
  результат := ФорматДанных;
  нач := Позиция("{", форматДанных); 
  если нач &lt;&gt; 0
  тогда начало
    кон := Позиция("}", форматДанных);
    //вырезаем из Формата отдельный параметр и разбираем его
    СтрокаДоПараметра := Подстрока(форматДанных, 0, нач-1);
    Параметр := Подстрока(форматДанных, нач+1, кон-нач-1);
    НеобработанныйФорматДанных := Подстрока(форматДанных, кон+1, Длина(форматДанных) - кон);
               
    РазобранноеЗнач := РазборОдногоПараметра(Данные, ПараметрыПримечания, Параметр);
    //вызываем рекурсивно функцию с обрезанной строкой формирования
    результат := СтрокаДоПараметра + РазобранноеЗнач + РазборПараметровПримечания(НеобработанныйФорматДанных, ПараметрыПримечания, Данные);        
  конец;       
конец;
//получает значение примечание для StaticSet-a
Функция ПолучитьЗначениеПримечания(Данные:СтатическиеДанные; ЛокПараметры : IVariables) : строка;
переменные
  форматДанных : строка;
начало
  форматДанных := ЛокПараметры.Значение("ФорматПримечания");
  // что бы не было рекурсии в описании параметров
  ЛокПараметры.Delete("ПараметрыПримечания");
  
  ЛокПараметры.Values("ПараметрыПримечания") := 
    СозданиеПараметровПримечания(ЛокПараметры);
            
  результат := РазборПараметровПримечания(форматДанных, ЛокПараметры, Данные);      
конец;


//здесь все настраивается для всего, кроме НазначенияПлатежа
функция ПолучитьЗначениеЛенты(ИмяОбласти:строка;Данные:СтатическиеДанные;ЛокПараметры:IVariables):строка;
переменные
  НалоговыйПлатеж, ЧерезУФК : целое;
  ФорматВывода : Строка;
начало
  если ИмяОбласти='' тогда
    ВызватьОшибку("Не задано имя области");
  выбрать ИмяОбласти из
    "НазначениеПлатежа","НазначениеПлатежаПолучателя":
     начало
       результат := ПолучитьЗначениеПримечания(Данные,ЛокПараметры);    
     конец;
    "НаименованиеПлательщика","ИННПлательщика","КПППлательщика","НаименованиеПолучателя",
    "ИННПолучателя","КПППолучателя":
     начало
       //НалоговыйПлатеж
       НалоговыйПлатеж := нет;
       ЧерезУФК := нет;
       если (Данные.FindField("ИнформацияОНалоге",nil)) тогда
         НалоговыйПлатеж := ЭтоНалоговыйПлатеж(Данные.ПолеПоИмени("ИнформацияОНалоге").КакСтрока);
       //через УФК
       выбрать ИмяОбласти из
         "НаименованиеПлательщика","ИННПлательщика","КПППлательщика":
           если (Данные.FindField("СчетПлат",nil)) тогда  
             ЧерезУФК := Разыменовать("Р/с.Организация_ФК",Данные.ПолеПоИмени("СчетПлат").КакСтрока) &lt;&gt; 0;
         иначе    
           если (Данные.FindField("СчетПолуч",nil)) тогда  
             ЧерезУФК := Разыменовать("Р/с.Организация_ФК",Данные.ПолеПоИмени("СчетПолуч").КакСтрока) &lt;&gt; 0;
       конец;  
       //выбор нужного формата вывода
       Если НалоговыйПлатеж и ЧерезУФК тогда
         ФорматВывода := ЛокПараметры.Values('НалогУФК');
       Если НалоговыйПлатеж и не ЧерезУФК тогда
       начало
         Если ИмяОбласти = "КПППлательщика" тогда
         // Для КПП сначала пытаемся получить КПП филиала из налоговой информации
           ФорматВывода := ЛокПараметры.Values('НалогФилиалы')
         иначе  
           ФорматВывода := ЛокПараметры.Values('НалогНеУФК');
       конец;  
       Если Не НалоговыйПлатеж и ЧерезУФК тогда
         ФорматВывода := ЛокПараметры.Values('НеНалогУФК');
       Если Не НалоговыйПлатеж и Не ЧерезУФК тогда
         ФорматВывода := ЛокПараметры.Values('НеНалогНеУФК');

       результат := РазыменовкаГруппыПараметров(Данные,ЛокПараметры,ФорматВывода);
       Если (НалоговыйПлатеж) и (не ЧерезУФК) и (ИмяОбласти = "КПППлательщика") и (Результат = "") тогда
         //При налоговомплатеже не через УФК если КПП филиала плательщика не задано,
         //то выводим по старому
       начало
         ФорматВывода := ЛокПараметры.Values('НалогНеУФК');
         результат := РазыменовкаГруппыПараметров(Данные,ЛокПараметры,ФорматВывода);
       конец;   
       // обработка дополнительных настроек для КПП  
       если (ИмяОбласти="КПППолучателя")или(ИмяОбласти="КПППлательщика") тогда 
       начало
         если (ЛокПараметры.Values(КВыводитьПустойКПП)=1)и(результат="") тогда
           результат := "000000000";
         если результат&lt;&gt;"" и длина(результат)&lt;9 тогда ПравоеВыравнивание(результат,9,"0");
       конец;  
       если (ИмяОбласти="ИННПолучателя")или(ИмяОбласти="ИННПлательщика") тогда
         если длина(результат)&lt;11 тогда ПравоеВыравнивание(результат,10,"0")//юридическое лицо
         иначе ПравоеВыравнивание(результат,12,"0");//физическое лицо
     конец;
     иначе  если ЛокПараметры.ПараметрСуществует('ФорматВывода') тогда // у других областей должен быть параметр с предопределенным именем
       результат := РазыменовкаГруппыПараметров(Данные,ЛокПараметры,ЛокПараметры.Values('ФорматВывода'));
  конец;  
конец;

функция ВыделитьПараметрыОбласти(Параметры:IVariables;ИмяОбласти:Строка):IVariables;
переменные 
  сч : целое;
начало
   Результат := CreateVariables;
   от сч := 0 до Параметры.Count-1 делать
      если Позиция('.',Параметры.Names(сч))&lt;1 тогда
        Результат.Values(Параметры.Names(сч)) := Параметры.IndexValues(сч)
      иначе
        если Позиция(ИмяОбласти+'.',Параметры.Names(сч))=1 тогда
          Результат.Values(Подстрока(Параметры.Names(сч),длина(ИмяОбласти)+2,500)) := Параметры.IndexValues(сч);
конец;

// возвращает параметры области
// порядок формирования параметров следующий:
// Сначала берем параметры из коллекции настроек для данной области. 
// В коллекции содаржатся общие параметры для всех областей и параметры для конкретных областей
// Поэтому берем только общие параметры и параметры для данной области
// Поверх накладываем дополнительную коллекцию параметров (напр. с шаблона) для данной области.
функция ПолучитьПараметрыОбластиДокумента(КодДокумента:целое;ИмяОбласти:Строка;ДопНастройки:IVariables):IVariables;
начало
    Результат := ВыделитьПараметрыОбласти(ПолучитьНастройкуДокумента(КодДокумента,ИмяОбласти,''),ИмяОбласти);
    если ДопНастройки&lt;&gt;nil тогда 
      Результат.PumpData(ВыделитьПараметрыОбласти(ДопНастройки,ИмяОбласти));
конец;

//возвращает параметры для всех областей указанного документа в коллекции коллекций
функция СформироватьПараметрыОбластей(КодДокумента:целое;НастройкиОбластейСШаблона:IVariables) : IVariables;
переменные 
  сч : целое;
  СписокОбластей : текст;
  ТекОбласть:строка;
начало
  Результат := CreateVariables;
  СписокОбластей := СоздатьТекст;
  СписокОбластей.РазделенноеЗначение :=  ПолучитьСписокОбластейФорматирования(КодДокумента);
  от сч := 0 до СписокОбластей.Количество-1 делать
  начало
    ТекОбласть :=СписокОбластей.Стр(сч);
    Результат.Значение(ТекОбласть) := ПолучитьПараметрыОбластиДокумента(КодДокумента,ТекОбласть,НастройкиОбластейСШаблона);    
  конец;
конец;

Функция ЗагрузитьПризнакиИзРеестра(ПутьВРеестре: Строка; ВнешПараметры: IVariables): Строка;
переменные
  спПризнаки: Текст;
  инд: Целое;
  ИмяПризнака: Строка;
начало
  Результат := "";
  спПризнаки := СоздатьТекст(Реестр.Узел(ПутьВРеестре).СписокЗначений);
  попытка
    от инд := 0 до спПризнаки.Количество-1 делать
    начало
      ИмяПризнака := спПризнаки.Стр(инд);
      // Признаки, начинающиеся с "_" не используются
      если ИмяПризнака[1]&lt;&gt;"_" тогда начало
        ВнешПараметры.Delete("Результат");
        попытка
          ExecScript(ПутьВРеестре+"\"+спПризнаки.Стр(инд),ВнешПараметры);
        неудача
          ВызватьОшибку('Ошибка при определении признака "'+спПризнаки.Стр(инд)+'": '+ПоследняяОшибка);
        конец;
        // если результата нет, то признак не определен, пропускаем его
        если ВнешПараметры.ПараметрСуществует("Результат") тогда  
          если ВнешПараметры.Значение("Результат") тогда
            Результат := Результат+","+ИмяПризнака
          иначе
            Результат := Результат+",Не"+ИмяПризнака;
      конец;    
    конец; 
  обязательно
    УдалитьОбъект(спПризнаки);
  конец;  
конец;

// Признаки, общие для всех будут задаваться напрямую здесь. Специфичные для клиентов задаются каждый в отдельном макросе в ветке: "".
// Общие признаки можно перекрывать специфичными 
Функция ОпределитьПризнакиПП(ВнешПараметры: IVariables);
переменные
  Признаки: Строка;
начало
  Признаки := "КодДокумента="+ЦелоеВСтроку(ВнешПараметры.Значение("КодДокумента"));
  //Загружаем признаки из реестра
  Признаки := Признаки+ЗагрузитьПризнакиИзРеестра(констПутьКПризнакам,ВнешПараметры);
  ВнешПараметры.Значение("Признаки") := Признаки;  
конец;

/$если Бюджет
Функция ПолучитьЗначенияЛенты(КодДокумента: Строка; Данные: СтатическиеДанные; ДопПараметры: IVariables; Значения: Текст);
Переменные
  СтрокаОграничений, СтрокаРезПолей: Строка;
//  НалоговыйПлатеж, ПлательщикУФК, ПолучательУФК, Внебюджет : Целое;
  ИмяПоляСуммы: Строка;
  ВспомДанные: СтатическиеДанные;
  Автозамена : IVariables;
  ПерПараметры : IVariables;
Начало
/*  //через УФК
  если (Данные.FindField("СчетПлат",nil)) тогда  
    ПлательщикУФК := Разыменовать("Р/с.Организация_ФК",Данные.ПолеПоИмени("СчетПлат").КакСтрока) &lt;&gt; 0;
  если (Данные.FindField("СчетПолуч",nil)) тогда  
    ПолучательУФК := Разыменовать("Р/с.Организация_ФК",Данные.ПолеПоИмени("СчетПолуч").КакСтрока) &lt;&gt; 0;
       
  если (Данные.FindField("ИнформацияОНалоге",nil)) тогда  
    НалоговыйПлатеж := Данные.ПолеПоИмени("ИнформацияОНалоге").КакСтрока&lt;&gt;"";


  если (Данные.FindField("ИнформацияОНалоге",nil)) тогда  
    НалоговыйПлатеж := ЭтоНалоговыйПлатеж(Данные.ПолеПоИмени("ИнформацияОНалоге").КакСтрока);
  
  
    
  // Формируем список признаков  
  СтрокаОграничений := 'КодДокумента='+КодДокумента;
  если НалоговыйПлатеж 
    тогда СтрокаОграничений := СтрокаОграничений + ',Налог'
    иначе СтрокаОграничений := СтрокаОграничений + ',НеНалог';
  если ПлательщикУФК 
    тогда СтрокаОграничений := СтрокаОграничений + ',ПлательщикУФК'
    иначе СтрокаОграничений := СтрокаОграничений + ',НеПлательщикУФК';

  если ПолучательУФК 
    тогда СтрокаОграничений := СтрокаОграничений + ',ПолучательУФК'
    иначе СтрокаОграничений := СтрокаОграничений + ',НеПолучательУФК';

  если (Данные.FindField("ТипСредств",nil)) тогда
    начало
      ВнеБюджет := Разыменовать("Тип_Средств.ВидДеятельности",Данные.Поле("ТипСредств").КакЦелое) = 2; 
      если ВнеБюджет 
        тогда строкаОграничений := СтрокаОграничений + ",Внебюджет"
        иначе строкаОграничений := СтрокаОграничений + ",НеВнебюджет";
    конец;    
  
  если (Данные.FindField("СчетПолуч",nil)) тогда начало
    если ЕстьЧислоВСписке(Разыменовать("Р/с.Тип_Счета",Данные.Поле("СчетПолуч").КакЦелое),УбратьПробелы(Реестр.Узел("Бюджет\Объекты\Настройки\Справочники").Значение("ТипСчетаДляНаличности").КакСтрока)) тогда
      строкаОграничений := СтрокаОграничений + ",Наличность"
    иначе
      строкаОграничений := СтрокаОграничений + ",НеНаличность";
  конец;     
*/         
  СтрокаРезПолей := '';
  если ДопПараметры.ПараметрСуществует("ПолеСуммы") тогда
    ИмяПоляСуммы := ДопПараметры.Значение("ПолеСуммы")
  иначе 
    /* если поле суммы не подтянулось из ограничений ресурсного шаблона или 
       ресурс вообще не используется, то ищем его по имени параметра в шаблоне */
    ИмяПоляСуммы := ДопПараметры.Значение("НазначениеПлатежа.ПолеСуммы");    
  ВспомДанные := СоздатьСтатическиеДанные;
  Попытка
    ВспомДанные.ПрисвоитьПоля(Данные);
    если не ВспомДанные.FindField("Сумма",nil) тогда
      ВспомДанные.ДобавитьДробноеПоле("Сумма");
    ВспомДанные.Открыть;  
    Если (ИмяПоляСуммы &lt;&gt; "") тогда ИмяПоляСуммы := "Сумма="+ИмяПоляСуммы;  
    ВспомДанные.Закачать(Данные, ИмяПоляСуммы);
    
      ПерПараметры := CreateVariables;
    ПерПараметры.Clear;  
    ПерПараметры.Значение("КодДокумента") := СтрокаВЦелое(КодДокумента);
    ПерПараметры.Значение("ссПлатежки") := Данные;
    ПерПараметры.Значение("ссДетализация") := Данные;
    ПерПараметры.Значение("ссПлатежкиФорм") := Данные;
    ПерПараметры.Значение("ссДетальКлассификацийФорм") := Данные;
    ОпределитьПризнакиПП(ПерПараметры);
    
    
    // заменяем запрещенные для редактора областей форматирования символы
    Автозамена := CreateVariables;
    Автозамена.Values("{") := "&amp;фл";
    Автозамена.Values("}") := "&amp;фп";
    ЗаменитьСимволыВЗначенииПоля(ВспомДанные,"Примечание", Автозамена, нет);
    СтрокаОграничений := ПерПараметры.Значение("Признаки");
    FillPayDoc(ВспомДанные,ВспомДанные,СтрокаОграничений,СтрокаРезПолей);
//    СтрокаРезПолей := ЗаменитьСтроку(СтрокаРезПолей,"ФорматПримечания","НазначениеПлатежа",ИгнорироватьРегистр);
    СтрокаРезПолей := ЗаменитьСтроку(СтрокаРезПолей,".ФорматПримечания=","=",ЗаменятьВсе+ИгнорироватьРегистр);
    // восстанавливаем запрещенные для редактора областей форматирования символы
    Автозамена.Values("НазначениеПлатежа") := "ФорматПримечания";
    СтрокаРезПолей := ЗаменитьСимволыВСтроке(СтрокаРезПолей, Автозамена, да);

    Значения.РазделенноеЗначение := СтрокаРезПолей;
    // НалогФилиалы
/*    если НалоговыйПлатеж и не ПлательщикУФК и (Значения.ЗначениеПараметра("КПППлательщикаДляНалога")&lt;&gt;"") тогда
      Значения.ЗначениеПараметра("КПППлательщика") := Значения.ЗначениеПараметра("КПППлательщикаДляНалога");
*/      
    // КПП  
    если (Значения.ЗначениеПараметра("КПППлательщика") &lt;&gt; "")или
         ((Значения.ЗначениеПараметра("ВыводитьПустойКПППлат") &lt;&gt; "0")и(Значения.ЗначениеПараметра("ВыводитьПустойКПППлат") &lt;&gt; ""))
      тогда
        Значения.ЗначениеПараметра("КПППлательщика") := ПравоеВыравнивание(Значения.ЗначениеПараметра("КПППлательщика"),9,"0");
    если (Значения.ЗначениеПараметра("КПППолучателя") &lt;&gt; "")или
         ((Значения.ЗначениеПараметра("ВыводитьПустойКПППолуч") &lt;&gt; "0")и(Значения.ЗначениеПараметра("ВыводитьПустойКПППолуч") &lt;&gt; ""))
      тогда
        Значения.ЗначениеПараметра("КПППолучателя") := ПравоеВыравнивание(Значения.ЗначениеПараметра("КПППолучателя"),9,"0");
    // ИНН      
    если длина(Значения.ЗначениеПараметра("ИННПлательщика"))&lt;11
      тогда Значения.ЗначениеПараметра("ИННПлательщика") := ПравоеВыравнивание(Значения.ЗначениеПараметра("ИННПлательщика"),10,"0")//юридическое лицо
      иначе Значения.ЗначениеПараметра("ИННПлательщика") := ПравоеВыравнивание(Значения.ЗначениеПараметра("ИННПлательщика"),12,"0");//физическое лицо
    если длина(Значения.ЗначениеПараметра("ИННПолучателя"))&lt;11
       тогда Значения.ЗначениеПараметра("ИННПолучателя") := ПравоеВыравнивание(Значения.ЗначениеПараметра("ИННПолучателя"),10,"0")//юридическое лицо
       иначе Значения.ЗначениеПараметра("ИННПолучателя") := ПравоеВыравнивание(Значения.ЗначениеПараметра("ИННПолучателя"),12,"0");//физическое лицо     
  Обязательно
    УдалитьОбъект(ВспомДанные);
  конец;     
Конец;
/$конец 

Функция СформироватьОбласти(КодДокумента: целое; ссДанные: СтатическиеДанные; ДопПараметры: IVariables;ссРезультат: СтатическиеДанные;текстРезультат: Текст);//(КодДокумента: Целое;ссПлатежки: СтатическиеДанные; МаппингЗаголовка: Строка; ссДетализация: СтатическиеДанные; МаппингДетализации: Строка; СтрокаОграничений,МапингРезПолей:Строка);
переменные
  МапингРезПолей: Строка;
  КодИнтерфейса: Строка;
  ВспомДанные: СтатическиеДанные;
  ИмяПоляСуммы: Строка;
  Параметры: IVariables;
Начало
  ИмяПоляСуммы := ДопПараметры.Значение("ПолеСуммы");
  // для ленточных документов параметр ПолеСуммы находится в Группа.ПолеСуммы. В частности для 301 (внутренняя переброска).
  если ИмяПоляСуммы = "" тогда
    ИмяПоляСуммы := ДопПараметры.Значение("НазначениеПлатежа.ПолеСуммы");
  ВспомДанные := СоздатьСтатическиеДанные;
  Попытка
    ВспомДанные.ПрисвоитьПоля(ссДанные);
    если не ВспомДанные.FindField("Сумма",nil) тогда
      ВспомДанные.ДобавитьДробноеПоле("Сумма");
    ВспомДанные.Открыть;  
    Если (ИмяПоляСуммы &lt;&gt; "") тогда
      ИмяПоляСуммы := "Сумма="+ИмяПоляСуммы;
    ВспомДанные.Закачать(ссДанные, ИмяПоляСуммы);
    // Определяем имя интерфейса
    КодИнтерфейса := ПравоеВыравнивание(ЦелоеВСтроку(КодДокумента),4,"0");//НаимИнт.ЗначениеПараметра(КодДокумента);
    
    //Маппинг областей и имен полей в шаблоне tmf для данного типа документа
    
    // Старые названия областей форматирования использовавшиеся на Бюджете
    МапингРезПолей := 'Плательщик\ИННПлательщика=ИННПлательщика,Плательщик\КПППлательщика=КПППлательщика,Плательщик\НаименованиеПлательщика=НаименованиеПлательщика'+
                     ',Плательщик\СчетПлательщика=СчетПлательщика'+
                     ',Получатель\ИННПолучателя=ИННПолучателя,Получатель\КПППолучателя=КПППолучателя,Получатель\НаименованиеПолучателя=НаименованиеПолучателя'+
                     ',Получатель\СчетПолучателя=СчетПолучателя,';
    
    // Новые названия для единого задания настроек на Бюджете и УРМ.                 
    МапингРезПолей := МапингРезПолей + // Для совместимости с предыдущими названиями областей форматирования (Бюджет)
                     'НазначениеПлатежа\НазначениеПлатежа=НазначениеПлатежа'+
                     ',НазначениеПлатежаПолучателя\НазначениеПлатежаПолучателя=НазначениеПлатежаПолучателя'+
                     ',Плательщик\ИНН=ИННПлательщика,Плательщик\КПП=КПППлательщика,Плательщик\Наименование=НаименованиеПлательщика'+
                     ',Плательщик\Счет=СчетПлательщика,Плательщик\КодПлательщикаВУФК=КодПлательщикаВУФК'+
                     ',Плательщик\ПолнНаимБюджетополуч=ПолнНаимБюджетополуч'+
                     ',Получатель\ИНН=ИННПолучателя,Получатель\КПП=КПППолучателя,Получатель\Наименование=НаименованиеПолучателя'+
                     ',Получатель\Счет=СчетПолучателя';
    Параметры := CreateVariables;
    Параметры.Значение("КодИнтерфейса") := КодИнтерфейса;
    Параметры.Значение("МапингРезПолей") := МапингРезПолей;     
    Параметры.Значение("ссЗаголовок") := ВспомДанные; 
    Параметры.Значение("ссДеталь") := ВспомДанные; 
    Параметры.Значение("ссРезультат") := ссРезультат;
    Параметры.Значение("НаимМаппинга") := ДопПараметры.Значение("НаимМаппинга");
    если ДопПараметры.ПараметрСуществует("Критерии") тогда
      если IVariables(ДопПараметры.Значение("Критерии")).Count &gt; 0 тогда
      начало
        Параметры.Значение("Критерии") := СоздатьКоллекцию;
        IVariables(Параметры.Значение("Критерии")).PumpData(ДопПараметры.Значение("Критерии"));
      конец;  
    ЗаполнитьОбласти(Параметры);
    если текстРезультат=nil тогда
      текстРезультат := СоздатьТекст;
    //возвращаем маппинг ИмяПоляВРесурсномШаблоне=ВычисленноеЗначениеОбласти   
    текстРезультат.РазделенноеЗначение := Параметры.Значение("текстРезультат");
  обязательно
    УдалитьОбъект(ВспомДанные);
  конец;                 
конец;

/$если Бюджет
//разбиваем переданный СтатикСет на отдельные ленты, и для каждой из них
//выполняем ПолучитьЗначениеЛенты для каждой области
Функция ОбработкаЛенточногоДокумента(КодДокумента : строка; Параметры : IVariables;_ИспользоватьНастройкиИзРеестра:Целое) : целое;
переменные
  ПоляГруппировки : строка;
  ПараметрыОбластейСШаблона, КоллекцияПараметровОбластей, Заголовки : IVariables;
  Данные : СтатическиеДанные; 
  ЛокПараметры, ПараметрыВывода : IVariables;
  Раскладка:ITableInfoX;
  РасклЛента : ITableInfoX;
  Field : Поле;
  сч, ЧислоЛенточныхПолей : целое;
  Заголовок: СтатическиеДанные;
  СписокОбластей : текст;
  ТекОбласть: Строка; 
  Range : Variant;   
  Значения: Текст;
  ПолеЗаг: Поле;
  OptionEditor: целое;
начало
  // инициализтруем коллекции
  OptionEditor := ИспользоватьOptionEditor(КодДокумента);
  Значения := СоздатьТекст;
  ЛокПараметры := Параметры.Значение(АлгПараметры);
  ПараметрыВывода := Параметры.Значение(АлгПараметрыВывода);
  Раскладка := Параметры.Значение(АлгРаскладка);
  Данные := Параметры.Значение(АлгДанные);
  Заголовки := Параметры.Values(АлгЗаголовки);
  попытка  
  СписокОбластей := СоздатьТекст;
  СписокОбластей.РазделенноеЗначение := ПолучитьСписокОбластейФорматирования(КодДокумента);
  Заголовок := СоздатьСтатическиеДанные();
  Заголовки.Values("ОбластиДокумента") := Заголовок; 
  //получаем все ленточные поля
  ПоляГруппировки := "";
  если Раскладка &lt;&gt; nil тогда
    РасклЛента := Раскладка.GetBeltColumns;
  если РасклЛента &lt;&gt; nil тогда    
  начало
    ЧислоЛенточныхПолей := РасклЛента.Count;
    Range := СоздатьПеременную;
    Range.VarArrayCreate(varVariant, 0, ЧислоЛенточныхПолей-1);
    от сч := 0 до РасклЛента.Count-1 делать
      ПоляГруппировки :=  ПоляГруппировки +","+ РасклЛента.Columns(сч).FieldName;
    РасклЛента.addFields(Заголовок);
    ПоляГруппировки := Подстрока(ПоляГруппировки,2,Длина(ПоляГруппировки));
  конец;
  от сч := 0 до СписокОбластей.Количество-1 делать
  начало
    Field := Заголовок.CreateField(СписокОбластей.стр(сч),1);// строка
    Field.Size := 1024*7;
  конец;
  Заголовок.Открыть;
    
  //пошла настройка параметров отчета
  ПараметрыОбластейСШаблона := CreateVariables;
  // из параметров шаблона оставляем только параметры для конкретных областей
  от сч := 0 до ЛокПараметры.Count-1 делать
    если Позиция('.',ЛокПараметры.Names(сч))&gt;0 тогда 
      ПараметрыОбластейСШаблона.Значение(ЛокПараметры.Names(сч)):=ЛокПараметры.IndexValues(сч); 
  Если не OptionEditor тогда
    начало
      // формируем параметры сразу для всех областей. 
      // Элементом КоллекцияПараметровОбластей является коллекция параметров для конкретной области 
      КоллекцияПараметровОбластей := СформироватьПараметрыОбластей(КодДокумента,ПараметрыОбластейСШаблона);
    конец;
  
  если ПоляГруппировки&lt;&gt;"" тогда// если ленточный отчет
  начало
    Заголовок.GroupData(Данные, "keys=" + ПоляГруппировки);
    // сортируем заголовок    
    Заголовок.Индекс := РасклЛента.SortStr;
    Данные.Индекс := РасклЛента.SortStr;
    Заголовок.ВНачало;
    Пока не (Заголовок.ВКонце)  делать
    начало
      // подготовка фильтра на диапазон
      от сч := 0 до ЧислоЛенточныхПолей-1 делать
      начало
        Field := Заголовок.GetField(сч);
        выбрать Field.FieldType из
          2,3,8 : Range.AsInteger(сч) := Field.AsInteger;
          4,5,6,7 : Range.AsFloat(сч) := Field.AsFloat;
        иначе
          Range.AsWideString(сч) := Field.AsString;
        конец;  
      конец;
      // Устанавливаем диапазон  
      Данные.SetScope(Range.Value);   
      Если OptionEditor 
        тогда 
          начало
            если Реестр.Узел("%root%\Объекты\Документы\Настройки\ФорматыОбластей").Значение("Использовать").КакФлаг = нет тогда начало
              ПолучитьЗначенияЛенты(КодДокумента,Данные,ПараметрыОбластейСШаблона,Значения);
              от сч := 0 до Значения.Количество-1 делать
                если Заголовок.НайтиПоле(Значения.ИмяПараметра(сч),ПолеЗаг) тогда
                  ПолеЗаг.КакСтрока := Значения.ЗначениеПараметра(Значения.ИмяПараметра(сч));
            конец иначе
              СформироватьОбласти(КодДокумента,Данные,ПараметрыОбластейСШаблона,Заголовок,nil);
          конец
        иначе
          начало 
            от сч := 0 до СписокОбластей.Количество-1 делать
            начало
              ТекОбласть := СписокОбластей.Стр(сч);
              Заголовок.Поле(ТекОбласть).КакСтрока := ПолучитьЗначениеЛенты(ТекОбласть,Данные,КоллекцияПараметровОбластей.Значение(ТекОбласть));                    
            конец;
          конец;    
      Заголовок.Следующая;
    конец;
    Данные.CancelRange;
  конец
  иначе// если не ленточный отчет
  начало
    Заголовок.Вставить;
    Если OptionEditor 
      тогда 
        начало
          если Реестр.Узел("%root%\Объекты\Документы\Настройки\ФорматыОбластей").Значение("Использовать").КакФлаг = нет тогда начало
            ПолучитьЗначенияЛенты(КодДокумента,Данные,ПараметрыОбластейСШаблона,Значения);
            от сч := 0 до Значения.Количество-1 делать
              если Заголовок.НайтиПоле(Значения.ИмяПараметра(сч),ПолеЗаг) тогда
                ПолеЗаг.КакСтрока := Значения.ЗначениеПараметра(Значения.ИмяПараметра(сч));
          конец иначе
            СформироватьОбласти(КодДокумента,Данные,ПараметрыОбластейСШаблона,Заголовок,nil);                    
        конец
      иначе
        начало 
          от сч := 0 до СписокОбластей.Количество-1 делать
          начало
            ТекОбласть := СписокОбластей.Стр(сч);
            Заголовок.Поле(ТекОбласть).КакСтрока := ПолучитьЗначениеЛенты(ТекОбласть,Данные,КоллекцияПараметровОбластей.Значение(ТекОбласть));                    
          конец;
        конец;  
    Заголовок.Post;
    ПараметрыВывода.SetFields(Заголовок);
  конец;
  обязательно
    УдалитьОбъект(ПараметрыОбластейСШаблона);
    УдалитьОбъект(КоллекцияПараметровОбластей);
    УдалитьОбъект(Значения);
  конец;    
конец;
/$конец

//функция применяется для отчетов, в которых нужно заполнить согласно настройкам назначение платежа (или другие области)
//в маппинге областей передаем ИМЯОБЛАСТИ=Строковое_Вычислимое_ПОЛЕ_В_КОТОРОЕ_ВОЗВРАТИТЬ_ЗНАЧЕНИЕ
// через ДопПараметры передаем имена полей сумм и т.д.    
функция ПолучитьЗначенияОбластейДокумента(КодДокумента : строка;Данные:СтатическиеДанные; МаппингОбластей: строка; ПоляГруппировки:строка; ДопПараметры : IVariables):целое;
переменные
  ПараметрыОбласти:IVariables;
  Заголовок : СтатическиеДанные;
  ПоляСортировки:строка; 
  СписокОбластей, списокПолейГруппировки, Значения : текст;
  ПолеГруппировки,Field : поле;
  Range : Variant;
  СтарыеПоляСортировки:строка;
  сч:целое;
  OptionEditor : Целое;
начало
  Результат := нет;
  OptionEditor := ИспользоватьOptionEditor(КодДокумента);
  если ПоляГруппировки='' или МаппингОбластей='' тогда 
    ВызватьОшибку("Не заданы поля группировки или маппинг областей");
  СписокОбластей := СоздатьТекст;
  СписокПолейГруппировки := СоздатьТекст;
  Значения := СоздатьТекст;
  СписокОбластей.РазделенноеЗначение := МаппингОбластей;
  СписокПолейГруппировки.РазделенноеЗначение := ПоляГруппировки;
  Заголовок := СоздатьСтатическиеДанные;
  Range := СоздатьПеременную;
  Range.VarArrayCreate(varVariant, 0, СписокПолейГруппировки.Количество-1);

  попытка
  //добавление полей заголовка(поля группировки)
  от сч := 0 до СписокПолейГруппировки.Количество-1 делать
    если Данные.FindField(СписокПолейГруппировки.Стр(сч),nil) тогда
    начало
      ПолеГруппировки := Данные.ПолеПоИмени(СписокПолейГруппировки.Стр(сч));
      выбрать ПолеГруппировки.Тип из
        2,3,8: Заголовок.ДобавитьЦелоеПоле(ПолеГруппировки.FieldName);
        4,5,6,7: Заголовок.ДобавитьДробноеПоле(ПолеГруппировки.FieldName);
      иначе  Заголовок.ДобавитьСтроковоеПоле(ПолеГруппировки.FieldName,ПолеГруппировки.Размер).Размер := ПолеГруппировки.Размер;
      конец
    конец   
    иначе ВызватьОшибку("Не найдено поле группировки: "+СписокПолейГруппировки.Стр(сч));
  Заголовок.Открыть;
    
  Заголовок.GroupData(Данные, "keys=" + ПоляГруппировки);
  // сортируем заголовок
  ПоляСортировки:=ПоляГруппировки;
  ПоляСортировки := ЗаменитьСтроку(ПоляСортировки,',',';',ИгнорироватьРегистр+ЗаменятьВсе);  
  Заголовок.IndexFieldnames := ПоляСортировки;
  
  СтарыеПоляСортировки := Данные.IndexFieldnames;
  Если СтарыеПоляСортировки &lt;&gt; '' тогда
    Данные.IndexFieldnames := ПоляСортировки + ";" + СтарыеПоляСортировки
  иначе  
    Данные.IndexFieldnames := ПоляСортировки;
  попытка
    Заголовок.ВНачало;
    Пока не (Заголовок.ВКонце)  делать
    начало
      // подготовка фильтра на диапазон
      от сч := 0 до СписокПолейГруппировки.Количество-1 делать
      начало
        Field := Заголовок.GetField(сч);
        выбрать Field.FieldType из
          2,3,8 : Range.AsInteger(сч) := Field.AsInteger;
          4,5,6,7 : Range.AsFloat(сч) := Field.AsFloat;
        иначе
          Range.AsWideString(сч) := Field.AsString;
        конец;  
      конец;
      // Устанавливаем диапазон  
      Данные.SetScope(Range.Value);
/$если Бюджет      
      Если OptionEditor 
        тогда начало
          если Реестр.Узел("%root%\Объекты\Документы\Настройки\ФорматыОбластей").Значение("Использовать").КакФлаг = нет тогда
            ПолучитьЗначенияЛенты(КодДокумента,Данные,ДопПараметры,Значения)
          иначе
            СформироватьОбласти(КодДокумента,Данные,ДопПараметры,nil,Значения);
        конец иначе
          начало
            от сч := 0 до СписокОбластей.Количество-1 делать
            начало
              ПараметрыОбласти := ПолучитьПараметрыОбластиДокумента(КодДокумента,СписокОбластей.ИмяПараметра(сч),ДопПараметры);
              Значения.ЗначениеПараметра(СписокОбластей.ИмяПараметра(сч)) :=ПолучитьЗначениеЛенты(СписокОбластей.ИмяПараметра(сч),Данные,ПараметрыОбласти);
              УдалитьОбъект(ПараметрыОбласти); 
            конец;
          конец;  
/$иначе
      СформироватьОбласти(КодДокумента,Данные,ДопПараметры,nil,Значения);
/$конец             
      Данные.Вначало;
      пока не Данные.ВКонце Делать
      начало
        от сч := 0 до СписокОбластей.Количество-1 делать
        начало
          если Значения.ЗначениеПараметра(СписокОбластей.ИмяПараметра(сч))&lt;&gt;"" тогда
          Данные.Поле(СписокОбластей.ЗначениеПараметра(СписокОбластей.ИмяПараметра(сч))).КакСтрока :=
            Значения.ЗначениеПараметра(СписокОбластей.ИмяПараметра(сч));
        конец;
        Данные.Следующая;
      конец;
      Заголовок.Следующая;
    конец;
  обязательно
    Данные.CancelRange;
    Данные.IndexFieldnames := СтарыеПоляСортировки;
  конец;
  обязательно
    Заголовок.Free;
    СписокОбластей := nil;
    СписокПолейГруппировки := nil;
    Значения := nil;
  конец;
  Результат := да;  
конец;

// параметр коллекции "ФильтрДанныхПередВычОбластей" позволяет отфильтровывать данные для которых 
// будут вычисляться области форматирования
функция ПолучитьДанныеДокументаИзРесурса(КодДокумента: Целое; МаппингОбластей : строка; Коллекция : IVariables) : СтатическиеДанные;
переменные
  Данные : СтатическиеДанные;
  Параметры, Обработчики, ЗначенияПараметров : IVariables;
  РесурсныйШаблон : ITemplates;
  РаскладкаРесурса : ITableInfoX;
  Раскладка, РасклЛента : ITableInfoX;
  ПоляГруппировки : строка;
  сч : целое;
  Узел : УзелРеестра;
начало  
  если ИспользоватьФайловыеШаблоны 
    тогда РесурсныйШаблон := LoadResourceTemplate(КодДокумента, rtxDoc)
    иначе 
      начало
        РесурсныйШаблон := CreateTemplates;  
        Узел := Реестр.Узел("%root%\Объекты\Документы\Ресурсы\" + ЦелоеВСтроку(КодДокумента));
        попытка
          РесурсныйШаблон.Text := Узел.Значение("РаскладкаДокумента").КакСтрока;
        неудача
          ВызватьОшибку('Ошибка загрузки шаблона из реестра');
        конец;
      конец;
  Если (РесурсныйШаблон.Count = 0) тогда выход;
  ЗначенияПараметров := РесурсныйШаблон.Template.Variables;
  Параметры := CreateVariables;
  Параметры.PumpData(ЗначенияПараметров);
  Параметры.PumpData(Коллекция.Значение(АлгПараметры));
  Обработчики := РесурсныйШаблон.Template.Functions;
  РаскладкаРесурса := РесурсныйШаблон.Template.TableInfo;
  Данные := СоздатьСтатическиеДанные;   
  ExecReport(Данные, РесурсныйШаблон, Коллекция, Параметры, Reporter, 0, АлгГлобальныеПараметры,  АлгПараметры, АлгДанные, АлгРаскладка, ДоЗакачки, ПослеЗакачки);
  Если МаппингОбластей &lt;&gt; '' тогда
  начало 
    Данные.IndexFieldNames := РаскладкаРесурса.SortStr;
    
    ПоляГруппировки := "";
    если Коллекция.ПараметрСуществует("ПоляГруппировки") тогда       
      ПоляГруппировки :=Коллекция.Значение("ПоляГруппировки")
    иначе
    начало
      Раскладка := Коллекция.Значение(АлгРаскладка);
      если Раскладка &lt;&gt; nil тогда
        РасклЛента := Раскладка.GetBeltColumns;
      если РасклЛента &lt;&gt; nil тогда    
      начало
        от сч := 0 до РасклЛента.Count-1 делать
          если Данные.НайтиПоле(РасклЛента.Columns(сч).FieldName) тогда
            ПоляГруппировки := ПоляГруппировки +","+ РасклЛента.Columns(сч).FieldName;
        ПоляГруппировки := Подстрока(ПоляГруппировки,2,Длина(ПоляГруппировки));
      конец;      
    конец;  
    если Коллекция.ПараметрСуществует("ФильтрДанныхПередВычОбластей") тогда
    начало
      Данные.Фильтр := Коллекция.Значение("ФильтрДанныхПередВычОбластей"); 
      Данные.Filtered := да
    конец;
    ПолучитьЗначенияОбластейДокумента(КодДокумента, Данные, МаппингОбластей, ПоляГруппировки, Параметры);
    Данные.Фильтр := "";
  конец;
  Результат := Данные;
конец;

Начало
  Если ИспользоватьOptionEditor(КодДокумента) тогда вызватьОшибку('Для изменения настроек используйте "Редактор формирования областей документа"');
  Выбрать Действие из
    // Получение списка настроек
    1 : Коллекция.Значение("СписокНастроек") := ПолучитьСписокВариантов(КодДокумента, "");
    // Получение списка вариантов указанной настройки
    2 : Коллекция.Значение("СписокВариантов") := ПолучитьСписокВариантов(КодДокумента, Коллекция.Значение("ИмяНастройки"));
    // получение настройки
    3 : Коллекция.Значение("Настройка") := ПолучитьНастройкуДокумента(КодДокумента, Коллекция.Значение("ИмяНастройки"), Коллекция.Значение("ИмяВарианта"));
    // Сохранение настройки
    4 : СохранитьНастройкуДокумента(КодДокумента, Коллекция.Значение("ИмяНастройки"), Коллекция.Значение("ИмяВарианта"), нет, Коллекция.Значение("Настройка"));
    // получение варианта по умолчанию
    5 : Коллекция.Значение('ВариантПоУмолчанию') := ПолучитьИмяВариантаПоУмолчанию(КодДокумента, Коллекция.Значение("ИмяНастройки"));
    // Указание варианта по умолчанию
    6 : начало
          Вариант := ПолучитьНастройкуДокумента(КодДокумента, Коллекция.Значение("ИмяНастройки"), Коллекция.Значение("ИмяВарианта"));
          попытка
            СохранитьНастройкуДокумента(КодДокумента, Коллекция.Значение("ИмяНастройки"), Коллекция.Значение("ИмяВарианта"), да, Вариант);
          обязательно
            УдалитьОбъект(Вариант);
          конец;
        конец;  
    7 : // переименование варианта
        начало// сначала удалим вариант, затем добавим заново
          СохранитьНастройкуДокумента(КодДокумента, Коллекция.Значение("ИмяНастройки"), Коллекция.Значение("ИмяВарианта"), Коллекция.Значение("Текущий"), nil);
          СохранитьНастройкуДокумента(КодДокумента, Коллекция.Значение("ИмяНастройки"), Коллекция.Значение("НовоеИмя"), Коллекция.Значение("Текущий"), Коллекция.Значение("Настройка"));
        конец;
    //получение списка областей документа    
    8 : Коллекция.Значение("СписокОбластей") := ПолучитьСписокОбластейФорматирования(КодДокумента);
    //получение имени настройки по имени области
    9 : Коллекция.Значение("ИмяНастройки") := ПолучитьИмяНастройки(КодДокумента, Коллекция.Значение("ИмяОбласти"));
  иначе
    ВозбудитьОшибку("Неверные входные параметры");  
  конец;
конец;
</value>
    <param value="ПоддержкаПечатныхДокументов" type="3" name="version">36.042.94</param>
    <param value="ПоддержкаПечатныхДокументов" type="3" name="crc32">$ACCE7E45</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ПолучитьДанныеРесурса">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить "\Макросы\Отчеты\ПоддержкаПечатныхДокументов";
включить '\Макросы\Отчеты\ФункцииДляРесурсов.abl';
включить '\Макросы\Отчеты\ПоддержкаПроекта.abl';

ПолучитьДанныеРесурса(Коллекция : IVariables);
переменные
  Данные : СтатическиеДанные;
  Параметры: IVariables;
  РесурсныйШаблон : ITemplates;
  Раскладка : ITableInfoX;
  Узел : УзелРеестра;
начало
  если ИспользоватьФайловыеШаблоны 
    тогда РесурсныйШаблон := LoadResourceTemplate(Коллекция.Значение('КодШаблона'), Коллекция.Значение('ТипШаблона'))
    иначе РесурсныйШаблон := ЗагрузитьРесурсИзРеестра(Коллекция.Значение("ПутьКРесурсу"), Коллекция.Значение("ИмяРесурса"));
  Параметры := CreateVariables;
  Параметры.PumpData(Коллекция);
  Данные := СформироватьДанныеРесурса(РесурсныйШаблон, Параметры);
  // кидаем данные
  Коллекция.Values('Данные') := Данные;
  // раскладка
  Раскладка := РесурсныйШаблон.Template.TableInfo;
  Коллекция.Значение('Раскладка') := Раскладка;
конец;
</value>
    <param value="ПолучитьДанныеРесурса" type="3" name="Export">ARTEMY\kudryavov\18.01.2006 13:16:09</param>
    <param value="ПолучитьДанныеРесурса" type="3" name="version">36.042.94</param>
    <param value="ПолучитьДанныеРесурса" type="3" name="crc32">$F4156A63</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ВидОбслуживанияПолучателяФО">
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ВидОбслуживанияПолучателяФО (ВнешПараметры: IVariables);
переменные
  Параметры, НаборыДанных: IVariables;
начало
  Параметры := СоздатьКоллекцию;
  НаборыДанных := СоздатьКоллекцию;
  НаборыДанных.Значение("Заголовок") := ВнешПараметры.Значение("ссПлатежкиФорм");
  ВнешПараметры.Значение("Результат") := КритерийВидОбслуживанияПолучателяФО(Параметры, НаборыДанных);
конец;
</value>
    <param value="ВидОбслуживанияПолучателяФО" type="3" name="version">36.042.94</param>
    <param value="ВидОбслуживанияПолучателяФО" type="3" name="crc32">$A6F5F9F2</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="Внебюджет">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

Внебюджет (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
  ИмяПоляТипСредств: строка;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  ИмяПоляТипСредств := "ТипСредств";
  если ВнешПараметры.ПараметрСуществует("КодДокумента") тогда
    выбрать ВнешПараметры.Значение("КодДокумента") из
      301: ИмяПоляТипСредств := "ТипСредствПлат"; 
    конец;
  // если Вид деятельности &lt;&gt; 1, тогда это внебюджетные средства
  если ссДетальКлассификацийФорм.НайтиПоле(ИмяПоляТипСредств) тогда начало 
    если Разыменовать("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле(ИмяПоляТипСредств).КакЦелое) &lt;&gt; 1 тогда
      ВнешПараметры.Значение("Результат") := Да
    иначе
      ВнешПараметры.Значение("Результат") := Нет;
  конец;    
конец;
</value>
    <param value="Внебюджет" type="3" name="Export">MALINOVKIN\malinovkin\27.05.2011 12:02:48</param>
    <param value="Внебюджет" type="3" name="version">36.042.94</param>
    <param value="Внебюджет" type="3" name="crc32">$4DE4D9D5</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="Доход">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";

Доход (ВнешПараметры: IVariables);
константы
  тк_Доходная = 2;
  тк_Расходная = 0;
переменные
  ссДетальКлассификацийФорм: СтатическиеДанные;
  ПолеТипКлассификации: Поле;
начало
  ВнешПараметры.Значение("Результат") := Нет; 
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  если не ссДетальКлассификацийФорм.НайтиПоле("ClsType", ПолеТипКлассификации) тогда
    ссДетальКлассификацийФорм.НайтиПоле("ТипКлассификации", ПолеТипКлассификации);
  если ПолеТипКлассификации&lt;&gt;null тогда
    ВнешПараметры.Значение("Результат") := ПолеТипКлассификации.КакЦелое = тк_Доходная;
конец;
</value>
    <param value="Доход" type="3" name="Export">LEXA\pautov\13.09.2010 12:01:23</param>
    <param value="Доход" type="3" name="version">36.042.94</param>
    <param value="Доход" type="3" name="crc32">$0BC97EEB</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ЛСПлательщика_ОМС">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ЛСПлательщика_ОМС (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм"); 
  ВнешПараметры.Значение("Результат") := СтрокаВЦелое(Разыменовать("Р/с.ЛицевойСчет.ЭтоЛСДляОМС", ссПлатежкиФорм.Поле("СчетПлат").КакЦелое));
  // для приходных документов поля ЛС плательщика может не быть
  если ссПлатежкиФорм.НайтиПоле("ЛицСчетПлательщика") тогда
    ВнешПараметры.Значение("Результат") := ВнешПараметры.Значение("Результат") или Разыменовать("Лицевой_счет.ЭтоЛСДляОМС", ссПлатежкиФорм.Поле("ЛицСчетПлательщика").КакЦелое);
конец;
</value>
    <param value="ЛСПлательщика_ОМС" type="3" name="Export">EVOLKOVA\pautov\08.12.2011 15:42:20</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="version">36.042.94</param>
    <param value="ЛСПлательщика_ОМС" type="3" name="crc32">$56C9E36B</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ЛСПлательщика_ОтдельныйБУАУ">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\reports.lib";
включить "\библиотеки\documents.lib";

ЛСПлательщика_ОтдельныйБУАУ (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм"); 
  ВнешПараметры.Значение("Результат") := СтрокаВЦелое(Разыменовать("Р/с.ЛицевойСчет.ЭтоОтдельныйЛСБУ_АУ", ссПлатежкиФорм.Поле("СчетПлат").КакЦелое));
  если ссПлатежкиФорм.НайтиПоле("ЛицСчетПлательщика") тогда
    ВнешПараметры.Значение("Результат") := ВнешПараметры.Значение("Результат") или Разыменовать("Лицевой_Счет.ЭтоОтдельныйЛСБУ_АУ", ссПлатежкиФорм.Поле("ЛицСчетПлательщика").КакЦелое)
конец;
</value>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="Export">EVOLKOVA\pautov\08.12.2011 15:43:18</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="version">36.042.94</param>
    <param value="ЛСПлательщика_ОтдельныйБУАУ" type="3" name="crc32">$32510E37</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ЛСПлательщикаБУАУ">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\reports.lib";
включить "\библиотеки\documents.lib";

ЛСПлательщикаБУАУ (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм"); 
  ВнешПараметры.Значение("Результат") := СтрокаВЦелое(Разыменовать("Р/с.ЛицевойСчет.ЭтоЛСБУ_АУ", ссПлатежкиФорм.Поле("СчетПлат").КакЦелое));
  если ссПлатежкиФорм.НайтиПоле("ЛицСчетПлательщика") тогда
    ВнешПараметры.Значение("Результат") := ВнешПараметры.Значение("Результат") или Разыменовать("Лицевой_Счет.ЭтоЛСБУ_АУ", ссПлатежкиФорм.Поле("ЛицСчетПлательщика").КакЦелое);
конец;
</value>
    <param value="ЛСПлательщикаБУАУ" type="3" name="Export">EVOLKOVA\pautov\08.12.2011 15:44:29</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="version">36.042.94</param>
    <param value="ЛСПлательщикаБУАУ" type="3" name="crc32">$085011ED</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ЛСПолучателя_ОМС">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ЛСПолучателя_ОМС (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм"); 
  ВнешПараметры.Значение("Результат") := СтрокаВЦелое(Разыменовать("Р/с.ЛицевойСчет.ЭтоЛСДляОМС", ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое));
  если ссПлатежкиФорм.НайтиПоле("ЛицСчетПолучателя") тогда
    ВнешПараметры.Значение("Результат") := ВнешПараметры.Значение("Результат") или Разыменовать("Лицевой_счет.ЭтоЛСДляОМС", ссПлатежкиФорм.Поле("ЛицСчетПолучателя").КакЦелое);
конец;
</value>
    <param value="ЛСПолучателя_ОМС" type="3" name="Export">EVOLKOVA\pautov\08.12.2011 15:45:34</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="version">36.042.94</param>
    <param value="ЛСПолучателя_ОМС" type="3" name="crc32">$FDB358C1</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ЛСПолучателя_ОтдельныйБУАУ">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\reports.lib";
включить "\библиотеки\documents.lib";

ЛСПолучателя_ОтдельныйБУАУ (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм"); 
  ВнешПараметры.Значение("Результат") := СтрокаВЦелое(Разыменовать("Р/с.ЛицевойСчет.ЭтоОтдельныйЛСБУ_АУ", ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое));
  если ссПлатежкиФорм.НайтиПоле("ЛицСчетПолучателя") тогда
    ВнешПараметры.Значение("Результат") := ВнешПараметры.Значение("Результат") или Разыменовать("Лицевой_Счет.ЭтоОтдельныйЛСБУ_АУ", ссПлатежкиФорм.Поле("ЛицСчетПолучателя").КакЦелое);
конец;
</value>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="Export">EVOLKOVA\pautov\08.12.2011 15:46:14</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="version">36.042.94</param>
    <param value="ЛСПолучателя_ОтдельныйБУАУ" type="3" name="crc32">$91DE9F88</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ЛСПолучателяБУАУ">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\reports.lib";
включить "\библиотеки\documents.lib";

ЛСПолучателяБУАУ (ВнешПараметры: IVariables);

переменные
  ссПлатежкиФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм"); 
  ВнешПараметры.Значение("Результат") := СтрокаВЦелое(Разыменовать("Р/с.ЛицевойСчет.ЭтоЛСБУ_АУ", ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое));
  если ссПлатежкиФорм.НайтиПоле("ЛицСчетПолучателя") тогда
    ВнешПараметры.Значение("Результат") := ВнешПараметры.Значение("Результат") или Разыменовать("Лицевой_Счет.ЭтоЛСБУ_АУ", ссПлатежкиФорм.Поле("ЛицСчетПолучателя").КакЦелое);
конец;
</value>
    <param value="ЛСПолучателяБУАУ" type="3" name="Export">EVOLKOVA\pautov\08.12.2011 15:47:16</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="version">36.042.94</param>
    <param value="ЛСПолучателяБУАУ" type="3" name="crc32">$8B996DAD</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ЛСПоПереданнымПолномочиям">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\reports.lib";
включить "\библиотеки\documents.lib";

ЛСПоПереданнымПолномочиям (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ВнешПараметры.Значение("Результат") := Нет;
  если ссПлатежкиФорм.НайтиПоле("ЛицСчетПолучателя") тогда
    ВнешПараметры.Значение("Результат") := ВнешПараметры.Значение("Результат") или Разыменовать("Лицевой_Счет.ЭтоЛСпоПереданнымПолномочиям", ссПлатежкиФорм.Поле("ЛицСчетПолучателя").КакЦелое);
  если ссПлатежкиФорм.НайтиПоле("ЛицСчетПлательщика") тогда
    ВнешПараметры.Значение("Результат") := ВнешПараметры.Значение("Результат") или Разыменовать("Лицевой_Счет.ЭтоЛСпоПереданнымПолномочиям", ссПлатежкиФорм.Поле("ЛицСчетПлательщика").КакЦелое);
конец;   
</value>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="Export">EVOLKOVA\pautov\08.12.2011 15:49:48</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="version">36.042.94</param>
    <param value="ЛСПоПереданнымПолномочиям" type="3" name="crc32">$D40FCF22</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="Наличность">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\DataTools.lib";
включить "\Библиотеки\Documents.lib";

Наличность (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;

функция ЕстьЧислоВСписке(Число: Целое; СписокСтр: строка): Целое;
переменные
  тСписок: Текст;
  инд: Целое;
начало
  результат := Нет;
  если СписокСтр &lt;&gt; "" тогда 
  начало
    тСписок := СоздатьТекст;
    попытка
      тСписок.РазделенноеЗначение := СписокСтр;
      от Инд := 0 до тСписок.Количество-1 делать
        если СтрокаВЦелое(тСписок.Стр(Инд)) = Число тогда
          результат := Да;
    обязательно
      УдалитьОбъект(тСписок);
    конец;
  конец;
конец;
  
начало
  ВнешПараметры.Значение("Результат") := Нет;
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  попытка
  если ЕстьЧислоВСписке(Разыменовать("Р/с.Тип_Счета",ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое),УбратьПробелы(Параметр(dbElExch,кфОбщий,"ТипСчетаДляНаличности"))) тогда
    ВнешПараметры.Значение("Результат") := Да
  иначе
    ВнешПараметры.Значение("Результат") := Нет;
  неудача
    // глушим ошибку для тех клиентов, у кого не установлен обмен с банком. 
    // У них на строчку Параметр(dbElExch,кфОбщий,"ТипСчетаДляНаличности") будет ошибка. 
  конец;  
конец;
</value>
    <param value="Наличность" type="3" name="Export">EVGENY\evgeny\27.04.2009 13:52:40</param>
    <param value="Наличность" type="3" name="version">36.042.94</param>
    <param value="Наличность" type="3" name="crc32">$C51F5EC3</param>
  </node>
  <node path="Бюджет\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="Налог">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Макросы\Отчеты\ПоддержкаПечатныхДокументов";

Налог (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  если ссПлатежкиФорм.НайтиПоле("ИнформацияОНалоге") тогда начало 
    если ЭтоНалоговыйПлатеж(ссПлатежкиФорм.Поле("ИнформацияОНалоге").КакСтрока)
    тогда
      ВнешПараметры.Значение("Результат") := Да
    иначе
      ВнешПараметры.Значение("Результат") := Нет;
  конец;
конец;
</value>
    <param value="Налог" type="3" name="Export">LEXA\pautov\14.08.2006 12:25:09</param>
    <param value="Налог" type="3" name="version">36.042.94</param>
    <param value="Налог" type="3" name="crc32">$8A207545</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ПД">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ПД (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
  ИмяПоляТипСредств: строка;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  ИмяПоляТипСредств := "ТипСредств";
  если ВнешПараметры.ПараметрСуществует("КодДокумента") тогда
    выбрать ВнешПараметры.Значение("КодДокумента") из
      301: ИмяПоляТипСредств := "ТипСредствПлат"; 
    конец;
  // если Вид деятельности = 2, тогда это ПД
  если ссДетальКлассификацийФорм.НайтиПоле(ИмяПоляТипСредств) тогда начало 
    если Разыменовать("Тип_Средств.ВидДеятельности",ссДетальКлассификацийФорм.Поле(ИмяПоляТипСредств).КакЦелое) = 2 тогда
      ВнешПараметры.Значение("Результат") := Да
    иначе
      ВнешПараметры.Значение("Результат") := Нет;
  конец;    
конец;
</value>
    <param value="ПД" type="3" name="Export">MALINOVKIN\malinovkin\27.05.2011 11:52:53</param>
    <param value="ПД" type="3" name="version">36.042.94</param>
    <param value="ПД" type="3" name="crc32">$040DD756</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ПлательщикУФК">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";

ПлательщикУФК (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
  сд: СтатическиеДанные;
  БезОшибок: целое;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  БезОшибок := ВнешПараметры.Значение("БезОшибок");
  если не БезОшибок тогда
  начало
    если не ссПлатежкиФорм.НайтиПоле("СчетПлат") тогда
      ВызватьОшибку('Не найдено поле "СчетПлат"');
    если (ссПлатежкиФорм.Поле("СчетПлат").Пустое) тогда
      ВнешПараметры.Значение("Результат") := Нет
    иначе      
    начало
      сд := ДанныеОрганизации.ОрганизацияПоСчету(ссПлатежкиФорм.Поле("СчетПлат").КакЦелое);
      если (сд=nil) тогда 
      начало
        ДанныеОрганизации.БыстроеОбновление;
        сд := ДанныеОрганизации.ОрганизацияПоСчету(ссПлатежкиФорм.Поле("СчетПлат").КакЦелое);
        если (сд=nil) тогда 
          ВызватьОшибку("Невозможно получить данные по р/с плательщика");   
      конец;
      если (сд.Поле("Service_Org_Ref").Пустое) или (сд.Поле("FacialCode").Пустое)
      тогда
        ВнешПараметры.Значение("Результат") := Нет
      иначе
        ВнешПараметры.Значение("Результат") := Да;
    конец;
  конец
  иначе
    ВнешПараметры.Значение("Результат") := Нет;       
конец;
</value>
    <param value="ПлательщикУФК" type="3" name="Export">DJON2\egorbunov\05.01.2010 15:02:57</param>
    <param value="ПлательщикУФК" type="3" name="version">36.042.94</param>
    <param value="ПлательщикУФК" type="3" name="crc32">$FECEFDA0</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ПолучательБезОткрытияЛС">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\reports.lib";
// подключаем макрос с функциями из критериев новых областей форматирования 
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

ПолучательБезОткрытияЛС(ВнешПараметры: IVariables);
переменные
  Параметры, НаборыДанных : IVariables;
начало
  Параметры := СоздатьКоллекцию;
  НаборыДанных := СоздатьКоллекцию;
  НаборыДанных.Значение("Деталь") := ВнешПараметры.Значение("ссПлатежкиФорм");
  НаборыДанных.Значение("Заголовок") := ВнешПараметры.Значение("ссПлатежкиФорм");
  ВнешПараметры.Значение("Результат") := Критерий_ПолучательБезОткрытияЛС(Параметры, НаборыДанных);
конец;
</value>
    <param value="ПолучательБезОткрытияЛС" type="3" name="Export">EVOLKOVA\pautov\19.09.2012 16:41:42</param>
    <param value="ПолучательБезОткрытияЛС" type="3" name="version">36.042.94</param>
    <param value="ПолучательБезОткрытияЛС" type="3" name="crc32">$BC4D7A7E</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="ПолучательУФК">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";

ПолучательУФК (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
  сд: СтатическиеДанные;
  БезОшибок: целое;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  БезОшибок := ВнешПараметры.Значение("БезОшибок"); 
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  попытка
  если не БезОшибок тогда
  начало 
    если не ссПлатежкиФорм.НайтиПоле("СчетПолуч") тогда
      ВызватьОшибку('Не найдено поле "СчетПолуч"');
    если (ссПлатежкиФорм.Поле("СчетПолуч").Пустое) или (ссПлатежкиФорм.Поле("СчетПолуч").КакСтрока="0") тогда
      ВызватьОшибку('Значение поля "СчетПолуч" не определено'); 
    сд := ДанныеОрганизации.ОрганизацияПоСчету(ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое);
    если (сд=nil) тогда
    начало
      ДанныеОрганизации.БыстроеОбновление;
      сд := ДанныеОрганизации.ОрганизацияПоСчету(ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое);
      если (сд=nil) тогда 
        ВызватьОшибку("Невозможно получить данные по р/с получателя");   
    конец;
    если (сд.Поле("Service_acc_Ref").Пустое)
    тогда
      ВнешПараметры.Значение("Результат") := Нет
    иначе
      ВнешПараметры.Значение("Результат") := Да;
  конец
  иначе
    ВнешПараметры.Значение("Результат") := Нет;  
  неудача
    ВнешПараметры.Значение("Результат") := Нет;  
  конец;
конец;
</value>
    <param value="ПолучательУФК" type="3" name="Export">ALINA\gudimenko\14.04.2011 16:28:11</param>
    <param value="ПолучательУФК" type="3" name="version">36.042.94</param>
    <param value="ПолучательУФК" type="3" name="crc32">$F5A43B18</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="Поселение">
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";
включить "Бюджет\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

Поселение (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм: СтатическиеДанные;
  Счет: Целое;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
    
  если ЭтоИнтерфейсПоступлений(ВнешПараметры.Значение("КодДокумента")) 
  тогда
    Счет:=ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое
  иначе
    Счет:=ссПлатежкиФорм.Поле("СчетПлат").КакЦелое;        

  ВнешПараметры.Значение("Результат") := Разыменовать("Р/с.Бюджет",Счет) &lt;&gt; ЦелаяКонстанта(-1, 3)
конец;
</value>
    <param value="Поселение" type="3" name="Export">LEXA\akiryanov\25.06.2012 16:45:21</param>
    <param value="Поселение" type="3" name="version">36.042.94</param>
    <param value="Поселение" type="3" name="crc32">$70CB23D5</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="Расход">включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\reports.lib";

Расход (ВнешПараметры: IVariables);
константы
  тк_Доходная = 2;
  тк_Расходная = 0;
переменные
  ссДетальКлассификацийФорм: СтатическиеДанные;
  ПолеТипКлассификации: Поле;
начало
  ВнешПараметры.Значение("Результат") := Нет; 
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  если не ссДетальКлассификацийФорм.НайтиПоле("ClsType", ПолеТипКлассификации) тогда
    ссДетальКлассификацийФорм.НайтиПоле("ТипКлассификации", ПолеТипКлассификации);
  если ПолеТипКлассификации&lt;&gt;null тогда
    ВнешПараметры.Значение("Результат") := ПолеТипКлассификации.КакЦелое = тк_Расходная;
конец;
</value>
    <param value="Расход" type="3" name="Export">LEXA\pautov\03.02.2010 13:35:35</param>
    <param value="Расход" type="3" name="version">36.042.94</param>
    <param value="Расход" type="3" name="crc32">$FB228365</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="СВР">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

ВременныеСредства (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
  ИмяПоляТипСредств: строка;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  ИмяПоляТипСредств := "ТипСредств";
  если ВнешПараметры.ПараметрСуществует("КодДокумента") тогда
    выбрать ВнешПараметры.Значение("КодДокумента") из
      301: ИмяПоляТипСредств := "ТипСредствПлат"; 
    конец;
  // если Вид деятельности = 3, тогда это средства во временнном распоряжении
  если ссДетальКлассификацийФорм.НайтиПоле(ИмяПоляТипСредств) тогда начало 
    если Разыменовать("Тип_Средств.ВидДеятельности", ссДетальКлассификацийФорм.Поле(ИмяПоляТипСредств).КакЦелое) = 3 тогда
      ВнешПараметры.Значение("Результат") := Да
    иначе
      ВнешПараметры.Значение("Результат") := Нет;
  конец;    
конец;
</value>
    <param value="СВР" type="3" name="Export">MALINOVKIN\malinovkin\27.05.2011 11:32:35</param>
    <param value="СВР" type="3" name="version">36.042.94</param>
    <param value="СВР" type="3" name="crc32">$15517A77</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="СубсидииБУАУ">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\reports.lib";
// подключаем макрос с функциями из критериев новых областей форматирования 
включить "%root%\Объекты\Документы\Настройки\ФорматыОбластей\ФункцииДляКритериев.abl";

СубсидииБУАУ (ВнешПараметры: IVariables);
переменные
  Параметры, НаборыДанных : IVariables;
начало
  Параметры := СоздатьКоллекцию;
  НаборыДанных := СоздатьКоллекцию;
  НаборыДанных.Значение("Деталь") := ВнешПараметры.Значение("ссПлатежкиФорм");
  НаборыДанных.Значение("Заголовок") := ВнешПараметры.Значение("ссПлатежкиФорм");
  ВнешПараметры.Значение("Результат") := Критерий_СубсидииБУАУ(Параметры, НаборыДанных);
конец;
</value>
    <param value="СубсидииБУАУ" type="3" name="Export">EVOLKOVA\pautov\13.12.2011 11:52:58</param>
    <param value="СубсидииБУАУ" type="3" name="version">36.042.94</param>
    <param value="СубсидииБУАУ" type="3" name="crc32">$C5C3EF91</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="СчетПолучателяВФО">включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "Бюджет\Ресурсы\библиотеки\documents.lib";

СчетПолучателяВФО (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
  сд: СтатическиеДанные;
  обсл_счет : целое ;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  попытка
  если не ссПлатежкиФорм.НайтиПоле("СчетПолуч") тогда
    ВызватьОшибку('Не найдено поле "СчетПолуч"');
  если (ссПлатежкиФорм.Поле("СчетПолуч").Пустое) тогда
    ВызватьОшибку('Значение поля "СчетПолуч" не определено'); 
  сд := ДанныеОрганизации.ОрганизацияПоСчету(ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое);
  если (сд=nil) тогда начало
    ДанныеОрганизации.БыстроеОбновление;
    сд := ДанныеОрганизации.ОрганизацияПоСчету(ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое);
    если (сд=nil) тогда 
      ВызватьОшибку("Невозможно получить данные по р/с получателя");   
  конец;
  если (сд.Поле("Service_Org_Ref").Пустое) или (сд.Поле("FacialCode").Пустое)
  тогда
    ВнешПараметры.Значение("Результат") := Нет
  иначе начало
    обсл_счет := разыменовать("Р/с.СчетОбслуживающейОрганизации",ссПлатежкиФорм.Поле("СчетПолуч").КакЦелое)  ;
    сд := ДанныеОрганизации.ОрганизацияПоСчету(обсл_счет);
    если (сд=nil) тогда начало
      ДанныеОрганизации.БыстроеОбновление;
      сд := ДанныеОрганизации.ОрганизацияПоСчету(обсл_счет);
      если (сд=nil) тогда 
        ВызватьОшибку("Невозможно получить данные по р/с обслуживающей организации получателя");   
    конец;
    если (сд.Поле("Service_Org_Ref").Пустое) или (сд.Поле("FacialCode").Пустое)
    тогда
      ВнешПараметры.Значение("Результат") := Нет
    иначе
      ВнешПараметры.Значение("Результат") := Да;
  конец ;   
  неудача
    ВнешПараметры.Значение("Результат") := нет;
  конец;
конец;
</value>
    <param value="ЛСПБСНаЛСБюджета" type="3" name="Export">NEHAICHIK-A\nehaichik\26.06.2009 15:07:46</param>
    <param value="СчетПолучателяВФО" type="3" name="version">36.042.94</param>
    <param value="СчетПолучателяВФО" type="3" name="crc32">$04816657</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="Федеральные">// Определяет, что платеж с 03-го счета
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

Внебюджет (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм, ссУведомления: СтатическиеДанные;
  СчетПлательщика, СчетПолучателя: строка;
  прогиндекс: целое;
  БезОшибок: целое;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссУведомления := ВнешПараметры.Значение("ссУведомления");
  БезОшибок := ВнешПараметры.Значение("БезОшибок");
  прогиндекс := 0;
  если не БезОшибок тогда
  начало 
    если ссУведомления &lt;&gt; nil тогда 
      прогиндекс := ссУведомления.Поле('progindex').КакЦелое; 
    если прогиндекс &lt;&gt; 312 тогда 
    начало
      СчетПлательщика := Разыменовать("Р/с.ИмяЛСФК",ссПлатежкиФорм.Поле("СчетПлат").КакЦелое);
      ВнешПараметры.Значение("Результат")  := Подстрока(СчетПлательщика,1,2) = "03";
    конец
    иначе  
    начало  // это уведомления по поступлениям
      СчетПолучателя := Разыменовать("Лицевой_Счет.МнемоКод",ссПлатежкиФорм.Поле("лицевойсчетновый").КакЦелое);
      ВнешПараметры.Значение("Результат")  := Подстрока(СчетПолучателя,1,2) = "03";
    конец;
  конец
  иначе
    ВнешПараметры.Значение("Результат")  := ложь;
конец;
</value>
    <param value="Федеральные" type="3" name="Export">DJON2\egorbunov\19.07.2011 17:14:39</param>
    <param value="Федеральные" type="3" name="version">36.042.94</param>
    <param value="Федеральные" type="3" name="crc32">$37E9BD08</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки">
    <value type="7" name="Филиал">// Филиал - когда в налоговом поле заполнен параметр КППФилиалаПлательщика
включить "Бюджет\Ресурсы\библиотеки\reports.lib";
включить "Бюджет\Ресурсы\библиотеки\LibRu.lib";
включить "\Библиотеки\Documents.lib";

Налог (ВнешПараметры: IVariables);
переменные
  ссПлатежкиФорм,ссДетальКлассификацийФорм: СтатическиеДанные;
  НалоговаяИнф,КПП: Строка;
  полеИнформацияОНалоге: поле;
начало
  ссПлатежкиФорм := ВнешПараметры.Значение("ссПлатежкиФорм");
  ссДетальКлассификацийФорм := ВнешПараметры.Значение("ссДетальКлассификацийФорм");
  ВнешПараметры.Значение("Результат") := Нет;
  если ссПлатежкиФорм.НайтиПоле("ИнформацияОНалоге",полеИнформацияОНалоге) тогда начало
    НалоговаяИнф := полеИнформацияОНалоге.КакСтрока;
    КПП := Разыменовать("Налог.КППФилиалаПлательщика",НалоговаяИнф);
    если (КПП&lt;&gt;НалоговаяИнф) и (КПП&lt;&gt;"") и (КПП&lt;&gt;"0") и (СтрокаВДробное(КПП)&lt;&gt;0)
    тогда
      ВнешПараметры.Значение("Результат") := Да
  конец;   
конец;
</value>
    <param value="Филиал" type="3" name="Export">LEXA\pautov\02.09.2008 13:10:03</param>
    <param value="Филиал" type="3" name="version">36.042.94</param>
    <param value="Филиал" type="3" name="crc32">$D7003FDF</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\301">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\302">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\303">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\305">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\306">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\309">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\311">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\312">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\314">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\317">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\318">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\702">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\324">
    <value type="4" name="ИспользоватьОбластиФорматирования">1</value>
    <param value="ИспользоватьОбластиФорматирования" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки">
    <value type="4" name="ИспользоватьШаблоны">1</value>
    <param value="ИспользоватьШаблоны" type="3" name="version">36.042.94</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ФормированиеОбластей.abl">///////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////Функции для обмена с банком/////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\reports.lib";
включить "\Библиотеки\Documents.lib";

включить "\Библиотеки\FormRegImpl.lib";

константы
  Ентер = #13#10;
  ст_казнОтклоненБанком = 010700; // Reject_CLS для отклоненных пп
  кПлательщик = 1;
  кПолучатель = 2;
  констПутьКПризнакам = "Бюджет\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки";
переменные
  СписокКонстант : Текст;
  ссВыписка: СтатическиеДанные;
  ABLExecutor: ВнешнийОбъект;
  RegistryKey: ВнешнийОбъект;
  Форматер: IFormRegions; 
константы
  ист_Бюджет = Нет;

/$если Бюджет
Функция СоздатьФорматер;                                
начало
  если Форматер=nil тогда начало
//    {9D418002-84F9-4A47-8D97-80BEA506F3FD} IFormRegions
    Форматер := СоздатьВнешнийОбъект(FormRegImpl);
    если (ABLExecutor = nil) тогда 
      ABLExecutor := Интерфейс(Project).QueryInterface('{065D89A2-A99D-11D4-8D21-000021DDD8D5}'); //  IABLScriptExecutor - очень старый ГВИД
    если (ABLExecutor = nil) тогда
      ABLExecutor := Интерфейс(Project).QueryInterface('{0CCADFDC-A7E6-4A00-90E9-4D5D17A8EA79}'); //  IABLScriptExecutor - старый ГВИД
    если (ABLExecutor = nil) тогда
      ABLExecutor := Интерфейс(Project).QueryInterface('{19B0DA6C-6D48-4B5B-B1AB-3EF773D3FF28}'); //  IABLScriptExecutor - новый ГВИД            
    если ABLExecutor = nil тогда
      ВызватьОшибку("Невозможно получить интерфейс: IABLScriptExecutor");
    
    если (RegistryKey = nil) тогда
      RegistryKey := Интерфейс(Project).QueryInterface("{8CC63040-2AFA-11D4-A496-0000E8D9CBDB}"); //  IRegistryKey
      
    если RegistryKey = nil тогда
      ВызватьОшибку("Невозможно получить интерфейс: IRegistryKey");  
    // Инициализация Формирователя областей
      Форматер.Init(ABLExecutor,Mapper,RegistryKey,ист_Бюджет);
  конец;  
конец;
/$конец 

// На основе передаваемых статиксетов заголовка (ссЗаголовок) и детализации (ссДеталь) вычисляет области форматирования
// и помещает вычисленные значения в текущую запись результирующего статиксета (ссРезльтат).
// Параметры:
//      КодИнтерфейса - код интерфейса, на котором сформировано пп
//      МапингРезПолей - соответствие полей в результирующем статиксете областям форматирования (в редакторе)
//              Пример:  "Плательщик\ИННПлательщика=SourceINN,....." - здесь Плательщик\ИННПлательщика - область форматирования, SourceINN - имя поля в рез. статиксете.
//      ссЗаголовок, ссДеталь - статиксеты заголовка и детализации документа
//      ссРезультат - статик сет, куда будут помещены результаты вычисления областей форматирования.
//      текстРезультат - результаты в виде разделенного текста (т.к. обычный текст передавать в коллекцию нельзя)
Функция ЗаполнитьОбласти(Параметры: IVariables);
переменные
  КодИнтерфейса,МапингРезПолей: Строка;
  ссЗаголовок,ссДеталь,ссРезультат: СтатическиеДанные;
  текстРезультат,мапРез: Текст;
  инд: Целое;
  ИмяОбласти, ИмяПоля: Строка;
  парСтатикСеты: IVariables;
  ссПлатежкаТекущая: СтатическиеДанные;
  ЗначениеОбласти: Строка;
  НаимМаппинга: Строка;
  ош: строка;
  ОтсутствуетФорматОбласти: Целое;
начало
  КодИнтерфейса := Параметры.Значение("КодИнтерфейса");
  МапингРезПолей := Параметры.Значение("МапингРезПолей"); 
  ссЗаголовок := Параметры.Значение("ссЗаголовок"); 
  ссДеталь := Параметры.Значение("ссДеталь"); 
  ссРезультат := Параметры.Значение("ссРезультат");
  НаимМаппинга := Параметры.Значение("НаимМаппинга");
  текстРезультат := СоздатьТекст; 
  ссПлатежкаТекущая := СоздатьСтатическиеДанные;
  мапРез := СоздатьТекст;
  /$если Бюджет
  СоздатьФорматер;  // будет создаваться только в первый раз для первой платежки, потом используется уже созданный, т.к. описан глобально и не уничтожается.
  /$иначе
  если форматер=nil тогда
    Форматер := СоздатьФорматер;
  /$конец
  попытка
    // копируем статик сет и текущую запись в нем
    ссПлатежкаТекущая.ПрисвоитьПоля(ссЗаголовок);
    ссПлатежкаТекущая.Открыть;
    ссПлатежкаТекущая.СкопироватьЗапись(нет,ссЗаголовок,"","");
    // создаем параметры для форматера
    парСтатикСеты := CreateVariables;
    парСтатикСеты.Значение("Заголовок") := ссПлатежкаТекущая;
    парСтатикСеты.Значение("Деталь") := ссДеталь;
    // подготавливаем форматер
    Форматер.Prepare(парСтатикСеты, КодИнтерфейса, НаимМаппинга);
    
    //обрабатываем возможность передачи извне критериев
    если Параметры.ПараметрСуществует("Критерии") тогда
    начало
      если IVariables(Параметры.Значение("Критерии")).Count &gt; 0 тогда
        парСтатикСеты.PumpData(IVariables(Параметры.Значение("Критерии")));
    конец;
    
    мапРез.РазделенноеЗначение := МапингРезПолей;
    От инд := 0 до мапРез.Количество - 1 делать начало
      ИмяОбласти := мапРез.ИмяПараметра(инд);
      ИмяПоля := мапРез.ЗначениеПараметра(ИмяОбласти);
      // вычисляем область форматирования
      попытка
        ОтсутствуетФорматОбласти := Нет;
        парСтатикСеты.Значение("КодДокумента") := КодИнтерфейса;
        ЗначениеОбласти := Форматер.ExecutePrepared(КодИнтерфейса,ИмяОбласти,парСтатикСеты);
      неудача
        ош := ПоследняяОшибка;
        // если область форматирования не определена, нужно просто ее пропустить (либо заполнить значением по умолчанию, если оно имеется)
        // т.к. в новом исполнителе нельзя проверить определена ли область форматирования (и тем более нельзя получить список опеределенных областей) в настройках редактора временное решение
        // вызывать формирование области и проверять текст ошибки на содержание нижеуказанной строки
        если (Позиция("FormRegions :: Отсутсвует строка формата для области",ош)&gt;0) или
             (Позиция("Список вариантов пуст.",ош)&gt;0) тогда начало
          //Возможно потребуется
          //ЗначениеОбласти := ЗаполнитьОбластьПоУмолчанию();
          ОтсутствуетФорматОбласти := Да;
        конец иначе
          ВызватьОшибку(ош);
      конец;
      // блок вынесен вниз (из попытки), т.к. в неудаче возможно еще будут задаваться форматы по умолчанию
      если не ОтсутствуетФорматОбласти тогда начало  
        текстРезультат.ЗначениеПараметра(ИмяПоля) := ЗначениеОбласти;
        если ссРезультат&lt;&gt;nil тогда
          если ссРезультат.НайтиПоле(ИмяПоля) тогда
            ссРезультат.Поле(ИмяПоля).AsString := ЗначениеОбласти; // nil - коллекция параметров, которая передается в функцию вычисления критерия
      конец;      
    конец;
    Параметры.Значение("текстРезультат") := текстРезультат.РазделенноеЗначение;
  обязательно
    Интерфейс(ссПлатежкаТекущая).Освободить;
    Интерфейс(мапРез).Освободить;
  конец;  
конец;
</value>
    <param value="ФормированиеОбластей.abl" type="3" name="Export">LEXA\akiryanov\25.06.2012 16:02:28</param>
    <param value="ФормированиеОбластей.abl" type="3" name="version">36.042.94</param>
    <param value="ФормированиеОбластей.abl" type="3" name="crc32">$50A0DFFB</param>
  </node>
  <node path="%root%\Объекты\Документы\Настройки\ФорматыОбластей">
    <value type="7" name="ФункцииДляКритериев.abl">включить "\Макросы\Стандартные.abl";
включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Reports.lib";
включить "\библиотеки\Documents.lib";

константы
  СписокИнтерфейсовПоступлений = "0305,0306,0312,0315";
  ПутьКПризнакамСтарыхОбластей = "%root%\Объекты\Документы\Настройки\ОбластиФорматирования\Признаки";

////////////////////////////////////////вспомогательные функции/////////////////////////////////////////
функция ЕстьЧислоВСписке(Число: Целое; СписокСтр: строка): Целое;
переменные
  тСписок: Текст;
  инд: Целое;
начало
  Результат := Нет;
  если СписокСтр&lt;&gt;"" тогда начало
    тСписок := СоздатьТекст;
    Попытка
      тСписок.РазделенноеЗначение := СписокСтр;
      инд := 0;
      Пока (инд&lt;=(тСписок.Количество-1))и(не результат) делать начало
        если СтрокаВЦелое(тСписок.Стр(Инд)) = Число тогда
          Результат := Да;
        инд := инд+1;   
      конец;
    обязательно
      УдалитьОбъект(тСписок);
    конец;
  конец;
конец;

//Функция определяющая является ли интерфейс, интерфейсом поступлений
функция ЭтоИнтерфейсПоступлений(Интерфейс:Строка):Целое;
переменные
  КодИнтерфейса:Строка;
начало
  //Если код интерфейса идёт в 3 символьной кодировке из старых областей форматирования
  //то приводим к общему виду в 4 символьную кодировку дополняя до 4 знаков нулями.
  КодИнтерфейса := ПравоеВыравнивание(Интерфейс,4,"0");
  результат:=(Позиция(КодИнтерфейса,СписокИнтерфейсовПоступлений)&gt;0);
конец;

// Функция получения заголовка
функция ПолучитьЗаголовок(НаборыДанных:IVariables):СтатическиеДанные;
переменные
  Заголовок:СтатическиеДанные;
начало
  Заголовок := НаборыДанных.Значение("Заголовок");
  если Заголовок = nil тогда
    Заголовок := НаборыДанных.Значение("Данные");
  если Заголовок = nil тогда
    ВызватьОшибку("Отсутствуют данные заголовка в передаваемых параметрах для критериев");
  результат:=Заголовок;
конец;

// Функция получения детали
функция ПолучитьДеталь(НаборыДанных:IVariables):СтатическиеДанные;
переменные
  Деталь:СтатическиеДанные;
начало
  Деталь := НаборыДанных.Значение("Деталь");
  если Деталь = nil тогда
    Деталь := НаборыДанных.Значение("Данные");
  если Деталь = nil тогда
    ВызватьОшибку("Отсутствуют данные детали в передаваемых параметрах для критериев");
  результат:=Деталь;
конец;
////////////////////////////////////////вспомогательные функции КОНЕЦ/////////////////////////////////////////


функция КритерийСчетОткрытВУФК(Параметры, НаборыДанных : IVariables; Счет: Поле): целое;
переменные
  СчетОбслужОрг : строка;
  ОргФК : целое;
начало
  // СубСчет - это счет обслуживающей организации
  СчетОбслужОрг := РазыменоватьАудит("Р/с.СубСчет", Счет.КакЦелое, Параметры.Значение("ДатаАудита"));
  
  ОргФК := РазыменоватьАудит("Р/с.Организация_ФК", Счет.КакЦелое, Параметры.Значение("ДатаАудита"));
  
  Результат := (ОргФК &lt;&gt; 0) и (СчетОбслужОрг &lt;&gt; "");
конец;

функция Критерий_Поселение(Параметры, НаборыДанных : IVariables): целое;
переменные
  Заголовок: СтатическиеДанные;
  Счет: Целое;
начало
  Заголовок := ПолучитьЗаголовок(НаборыДанных);

  если ЭтоИнтерфейсПоступлений(Параметры.Значение("КодДокумента")) 
  тогда
    Счет:=Заголовок.Поле("СчетПолуч").КакЦелое
  иначе
    Счет:=Заголовок.Поле("СчетПлат").КакЦелое;
    
  Результат := РазыменоватьАудит("Р/с.Бюджет",Счет, Параметры.Значение("ДатаАудита")) &lt;&gt; ЦелаяКонстанта(-1, 3);
конец;

функция КритерийНаличность(Параметры, НаборыДанных : IVariables; Счет: Поле): Целое;
переменные
  ТипСчетаПолучателя: Целое;
  СписокТиповСчетовНаличности: Строка;
начало
  ТипСчетаПолучателя := РазыменоватьАудит("Р/с.Тип_Счета",Счет.КакЦелое, Параметры.Значение("ДатаАудита"));
  СписокТиповСчетовНаличности := УбратьПробелы(Реестр.Узел("%root%\Объекты\Настройки\Справочники").Значение("ТипСчетаДляНаличности").КакСтрока);
  попытка  
    Результат := ЕстьЧислоВСписке(ТипСчетаПолучателя,СписокТиповСчетовНаличности);
  неудача
    ВызватьОшибку('Не верный формат параметра "root\Объекты\Настройки\Справочники\ТипСчетаДляНаличности"');
  конец;  
конец;

функция КритерийНалоговыйПлатеж(Параметры, НаборыДанных : IVariables; ИнформацияОНалоге, Счет: Поле): Целое;
переменные
  стр : строка;
  рез : целое;
начало
  стр := РазыменоватьАудит("Налог.ПоказательОснованияПлатежа", ИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
  рез := (стр &lt;&gt; "") и (стр &lt;&gt; "0");

  если не рез тогда 
  начало
    стр := РазыменоватьАудит("Налог.ПоказательНалоговогоПериода", ИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
    рез := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
  конец;

  если не рез тогда 
  начало
    стр := РазыменоватьАудит("Налог.ПоказательТипаПлатежа", ИнформацияОНалоге.КакСтрока, Параметры.Значение("ДатаАудита"));
    рез := (стр &lt;&gt; "") и (стр &lt;&gt; "0");
  конец;
  
  Результат := рез;
конец;

функция КритерийСчетОбслуживающейОргОткрытВУФК(Параметры, НаборыДанных : IVariables; Счет: Поле): Целое;
начало
  Результат := 0;
  если не Счет.Пустое тогда
    Результат := РазыменоватьАудит("Р/с.СчетОбслуживающейОрганизации.СчетОбслуживающейОрганизации", Счет.КакЦелое, Параметры.Значение("ДатаАудита")) &gt; 0;
конец;

функция КритерийВидОбслуживанияПолучателяФО(Параметры, НаборыДанных: IVariables):Целое;
переменные
  ссЗаголовок: СтатическиеДанные;
начало
  ссЗаголовок := ПолучитьЗаголовок(НаборыДанных);
  если не ссЗаголовок.НайтиПоле("СчетПолуч") тогда
    ВызватьОшибку('Не найдено поле "СчетПолуч"');
  если (ссЗаголовок.Поле("СчетПолуч").Пустое) тогда
    ВызватьОшибку('Значение поля "СчетПолуч" не определено');
  Результат := (Разыменовать("Р/с.ВидОбслуживания", ссЗаголовок.Поле("СчетПолуч").КакЦелое) = 3);
конец;

функция КритерийФедеральные(Параметры, НаборыДанных : IVariables; Счет: Поле): Целое;
переменные
  СчетПлательщика: строка;
начало
  СчетПлательщика := РазыменоватьАудит("Р/с.ИмяЛСФК",Счет.КакЦелое, Параметры.Значение("ДатаАудита"));
  Результат := Подстрока(СчетПлательщика,1,2) = "03";
конец;

функция ПолучитьЛСПоРС(Счет: Целое; Параметры: IVariables): Целое;
начало
  результат := РазыменоватьАудит("Р/с.ЛицевойСчет", Счет, Параметры.Значение("ДатаАудита"));
конец;

// ------------------------------ Критерии БУ/АУ -------------------------------

функция ПроверитьРазыменовкуЛС(Параметры: IVariables; ЛС: Целое; Разыменовка: Строка): Целое;
начало          
  результат := РазыменоватьАудит("Лицевой_Счет."+Разыменовка, ЛС, Параметры.Значение("ДатаАудита"));
конец;

функция ПроверитьРазыменовкуСчетов(Параметры: IVariables; ПолеРС, ПолеЛС: Поле; Разыменовка: Строка): Целое;
начало
  Результат := ПроверитьРазыменовкуЛС(Параметры, ПолучитьЛСПоРС(ПолеРС.КакЦелое, Параметры), Разыменовка);
  если ПолеЛС&lt;&gt;nil тогда
    Результат := Результат или ПроверитьРазыменовкуЛС(Параметры, ПолеЛС.КакЦелое, Разыменовка);
конец;

функция ПроверитьРазыменовкуСчетовПлательщика(Параметры, НаборыДанных: IVariables; Разыменовка: Строка): Целое;
переменные
  ссЗаголовок: СтатическиеДанные;
начало
  ссЗаголовок := ПолучитьЗаголовок(НаборыДанных);  
  Результат := ПроверитьРазыменовкуСчетов(Параметры, ссЗаголовок.Поле("СчетПлат"), ссЗаголовок.Поле("ЛицСчетПлательщика"), Разыменовка);
конец;

функция ПроверитьРазыменовкуСчетовПолучателя(Параметры, НаборыДанных: IVariables; Разыменовка: Строка): Целое;
переменные
  ссЗаголовок: СтатическиеДанные;
  ПолеЛС: Поле;
начало
  ссЗаголовок := ПолучитьЗаголовок(НаборыДанных);  
  ссЗаголовок.НайтиПоле("ЛицСчетПолучателя", ПолеЛС);
  Результат := ПроверитьРазыменовкуСчетов(Параметры, ссЗаголовок.Поле("СчетПолуч"), ПолеЛС, Разыменовка);
конец;

функция Критерий_ЛСПлательщика_ОМС(Параметры, НаборыДанных : IVariables): Целое;
начало
  Результат := ПроверитьРазыменовкуСчетовПлательщика(Параметры, НаборыДанных, "ЭтоЛСДляОМС");
конец;

функция Критерий_ЛСПолучателя_ОМС(Параметры, НаборыДанных : IVariables): Целое;
начало
  Результат := ПроверитьРазыменовкуСчетовПолучателя(Параметры, НаборыДанных, "ЭтоЛСДляОМС");
конец;

функция Критерий_ЛСПлательщика_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): Целое;
начало
  Результат := ПроверитьРазыменовкуСчетовПлательщика(Параметры, НаборыДанных, "ЭтоОтдельныйЛСБУ_АУ");
конец;

функция Критерий_ЛСПолучателя_ОтдельныйБУАУ(Параметры, НаборыДанных : IVariables): Целое;
начало
  Результат := ПроверитьРазыменовкуСчетовПолучателя(Параметры, НаборыДанных, "ЭтоОтдельныйЛСБУ_АУ");
конец;

функция Критерий_ЛСПлательщикаБУАУ(Параметры, НаборыДанных : IVariables): Целое;
начало
  Результат := ПроверитьРазыменовкуСчетовПлательщика(Параметры, НаборыДанных, "ЭтоЛСБУ_АУ");
конец;

функция Критерий_ЛСПолучателяБУАУ(Параметры, НаборыДанных : IVariables): Целое;
начало
  Результат := ПроверитьРазыменовкуСчетовПолучателя(Параметры, НаборыДанных, "ЭтоЛСБУ_АУ");
конец;

функция ЭтоЛСПоПереданнымПолномочиям(Параметры: IVariables; ПолеЛС: Поле): Целое;
начало
  если ПолеЛС&lt;&gt;nil тогда
    Результат := ПроверитьРазыменовкуЛС(Параметры, ПолеЛС.КакЦелое, "ЭтоЛСпоПереданнымПолномочиям")
  иначе
    Результат := Нет;
конец;

функция Критерий_ЛСПоПереданнымПолномочиям(Параметры, НаборыДанных : IVariables): целое;
переменные
  ссЗаголовок: СтатическиеДанные;
  ПолеЛСПлат, ПолеЛСПолуч: Поле;
начало
  ссЗаголовок := ПолучитьЗаголовок(НаборыДанных);
  
  ссЗаголовок.НайтиПоле("ЛицСчетПолучателя", ПолеЛСПолуч);
  ссЗаголовок.НайтиПоле("ЛицСчетПлательщика", ПолеЛСПлат);
  
  Результат := ЭтоЛСПоПереданнымПолномочиям(Параметры,  ПолеЛСПолуч) или     
    ЭтоЛСПоПереданнымПолномочиям(Параметры, ПолеЛСПлат);         
конец;

функция ОрганизацияБУАУ(ВидОрганизации: целое):целое;
начало
  результат := ВидОрганизации входит [10800, 10900];
конец;

функция ЭтоСубсидииБУАУ(Параметры, НаборыДанных: IVariables; КОСГУ: Целое; Организация: Целое): Целое;
начало
  результат := (КОСГУ = 241) и (ОрганизацияБУАУ(РазыменоватьАудит("Организация.ВидОрганизации", Организация, Параметры.Значение("ДатаАудита"))));
конец;

функция Критерий_СубсидииБУАУ(Параметры, НаборыДанных : IVariables): целое;
переменные
  ссЗаголовок, ссДеталь: СтатическиеДанные;
  КОСГУ: Целое;
начало
  ссЗаголовок := ПолучитьЗаголовок(НаборыДанных);
  ссДеталь := ПолучитьДеталь(НаборыДанных);

  если ссДеталь.НайтиПоле("КЭСР") тогда
  начало
    //поле КЭСР - строковое и приведение "КакЦелое" может вызвать ошибку
    КОСГУ := СтрокаВЦелое(ссДеталь.Поле("КЭСР").КакСтрока);
    Результат := ЭтоСубсидииБУАУ(Параметры, НаборыДанных, КОСГУ, Разыменовать("Р/с.Организация", ссЗаголовок.Поле("СчетПолуч").КакЦелое)) или
               ЭтоСубсидииБУАУ(Параметры, НаборыДанных, КОСГУ, Разыменовать("Р/с.Организация", ссЗаголовок.Поле("СчетПлат").КакЦелое));
  конец 
  иначе
  начало
    КОСГУ := СтрокаВЦелое(ссДеталь.Поле("КЭСРПлат").КакСтрока);
    Результат := ЭтоСубсидииБУАУ(Параметры, НаборыДанных, КОСГУ, Разыменовать("Лицевой_Счет.ОрганизацияВладелец", ссЗаголовок.Поле("ЛицСчетПолучателя").КакЦелое)) или
               ЭтоСубсидииБУАУ(Параметры, НаборыДанных, КОСГУ, Разыменовать("Лицевой_Счет.ОрганизацияВладелец", ссЗаголовок.Поле("ЛицСчетПлательщика").КакЦелое));
  конец;
конец;

функция Критерий_сКопейкамиСумма(Параметры, НаборыДанных : IVariables): целое;
переменные 
  Заголовок : СтатическиеДанные;
  сум : целое;
  ПолеСуммаЗаголовка: Поле;
начало
  Заголовок := ПолучитьЗаголовок(НаборыДанных);

  Если Заголовок.НайтиПоле("СуммаЗаголовка",ПолеСуммаЗаголовка) тогда 
  начало
    сум := ПолеСуммаЗаголовка.КакДробное * 100;
    результат := (сум ост 100) &gt; 0;    
  конец иначе
    результат := Нет;
конец;

функция СторонниеОрганизацииБУАУ(ВидОрганизации: целое):целое;
начало
  результат := ВидОрганизации входит [60000];
конец;

функция Критерий_ПолучательБезОткрытияЛС(Параметры, НаборыДанных : IVariables): целое;
переменные
  ссЗаголовок, ссДеталь: СтатическиеДанные;
начало
  ссЗаголовок := ПолучитьЗаголовок(НаборыДанных);
  ссДеталь := ПолучитьДеталь(НаборыДанных);
  если не ссЗаголовок.НайтиПоле("СчетПолуч") тогда
    ВызватьОшибку('Не найдено поле "СчетПолуч"');
  если (ссЗаголовок.Поле("СчетПолуч").Пустое) тогда
    ВызватьОшибку('Значение поля "СчетПолуч" не определено');
  // 2 - вид обслуживания ФК без открытия ЛС
  Результат := (Разыменовать("Р/с.СчетОбслуживающейОрганизации.ВидОбслуживания", ссЗаголовок.Поле("СчетПолуч").КакЦелое) = 2);
конец;
// -----------------------------------------------------------------------------

// функция для вызова клиентских признаков по автоматически созданному новому критерию
функция ВызватьПризнакПоКритерию(ИмяПризнака: Строка; Параметры, НаборыДанных : IVariables): целое;
переменные
  ПараметрыСтарыхПризнаков: IVariables;
начало
  // подготавлиеваем параметры старому признаку на основе параметров нового критерия
  ПараметрыСтарыхПризнаков := СоздатьКоллекцию;
  ПараметрыСтарыхПризнаков.Значение("ссПлатежкиФорм") := ПолучитьЗаголовок(НаборыДанных);
  ПараметрыСтарыхПризнаков.Значение("ссДетальКлассификацийФорм") := ПолучитьДеталь(НаборыДанных);
  // вызываем старый признак областей форматирования
  ExecScript(ПутьКПризнакамСтарыхОбластей+"\"+ИмяПризнака, ПараметрыСтарыхПризнаков);
  Результат := ПараметрыСтарыхПризнаков.Значение("Результат");
конец;

</value>
    <param value="ФункцииДляКритериев.abl" type="3" name="version">36.042.94</param>
    <param value="ФункцииДляКритериев.abl" type="3" name="crc32">$73D28216</param>
  </node>
  <version_info>
    <file>Сборка.СистемныеДляРесурсов.xml</file>
    <version>36.044.01</version>
    <info>&lt;p&gt;Макросы для работы с ресурсными шаблонами&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:33</buildtime>
  </version_info>
  <description>Макросы для ресурсных шаблонов</description>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ДанныеДляЭЦП">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Pather.lib';

ФормированиеДанныхДляПодписи(Коллекция : IVariables);
переменные 
  ss: СтатическиеДанные;
  Поток : ВнешнийОБЪЕКТ;
  кодИнтф : целое;
  Макрос : строка;
начало
  ss := СоздатьСтатическиеДанные;
  ss.ДобавитьСтроковоеПоле('Script', 255);
  ss.ДобавитьЦелоеПоле('CLS');
  ss.ДобавитьЦелоеПоле('ResType');
  ss.Open;
  Поток := ReadEnum(ENUM_RESOURCES);                                     
  ss.PumpData(Поток,'');
  кодИнтф := Коллекция.Значение("КодИнтерфейса");  

  Если ss.Locate("CLS;ResType", ArrayOf(кодИнтф, rtxEDS), 0) 
    тогда
      начало
        Макрос := ss.FieldByName("Script").КакСтрока;
        Если Макрос = "" тогда ВызватьОшибку("Данные для ЭЦП: Не задан макрос формирования данных");       
        ExecScript(ProjectName + '\Объекты\Документы\Скрипты\Формирование\' + Макрос, Коллекция);
      конец
    иначе ВызватьОшибку("Данные для ЭЦП: конфигурация не найдена");  
конец;
</value>
    <param value="ДанныеДляЭЦП" type="3" name="Export">NEWBURDELNY\burdelny\10.05.2007 14:02:06</param>
    <param value="ДанныеДляЭЦП" type="3" name="version">36.044.01</param>
    <param value="ДанныеДляЭЦП" type="3" name="crc32">$DEE809AF</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ДанныеПоРесурсу">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Pather.lib';
включить '\Макросы\Отчеты\ФункцииДляРесурсов.abl';
включить '\Макросы\Отчеты\ПоддержкаГенерации';

ФормированиеДанныхДляПодписи(Коллекция : IVariables);

переменные
  Данные : СтатическиеДанные;
  Параметры: IVariables;
  РесурсныйШаблон : ITemplates;
  Страница: ITemplate;
  кодИнтф : целое;
  Раскладка : ITableInfoX; 
начало
  кодИнтф := Коллекция.Значение("КодИнтерфейса");  
  РесурсныйШаблон := LoadResourceTemplate(кодИнтф, rtxEDS);
  Страница := РесурсныйШаблон.Template;
  Параметры := CreateVariables;
  Параметры.PumpData(Коллекция);
  Параметры.Values('ПечатныйДокумент') := Да;

  Раскладка := Страница.TableInfo;  
  // добавляем в заголовок служебные поля
  ДобавитьОдноПоле(Раскладка, 'ControlResult', vtxInteger);
  ДобавитьОдноПоле(Раскладка, 'ControlMessage', vtxString);
  ДобавитьОдноПоле(Раскладка, 'EDSRef', vtxInteger);
  ДобавитьОдноПоле(Раскладка, 'IsChangeState', vtxInteger);    
  
  ДанныеОрганизации.БыстроеОбновление; // справочник организаций, счетов, банков должен быть актуальным
  Данные := ПолучитьДанныеПоРесурсу(РесурсныйШаблон, Параметры);
  Коллекция.Значение("СписокРаскладок") := РазделитьРаскладкуНаСтраницы(Страница.TableInfo);  
  ВыделитьМастерДеталь(Параметры, Коллекция, Данные, РесурсныйШаблон);
конец;
</value>
    <param value="ДанныеПоРесурсу" type="3" name="Export">ZIMIN\zimin\12.10.2007 16:36:10</param>
    <param value="ДанныеПоРесурсу" type="3" name="version">36.044.01</param>
    <param value="ДанныеПоРесурсу" type="3" name="crc32">$CFD019D3</param>
  </node>
  <node path="%root%\Объекты\Документы\Скрипты\Формирование">
    <value type="7" name="ФайловыеРесурсыЭЦП">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Pather.lib';
включить '\Макросы\Отчеты\ФункцииДляРесурсов.abl';

ФормированиеДанныхДляПодписи(Коллекция : IVariables);
переменные
  Данные : СтатическиеДанные;
  Параметры: IVariables;
  РесурсныйШаблон : ITemplates;
  кодИнтф : целое;
  Раскладка : ITableInfoX; 
начало
  кодИнтф := Коллекция.Значение("КодИнтерфейса");  
  РесурсныйШаблон := LoadResourceTemplate(кодИнтф, rtxEDS);
  Параметры := CreateVariables;
  Параметры.PumpData(Коллекция);
  Параметры.Values('ПечатныйДокумент') := Да;
  Параметры.Values('Oracle') := IsOracle();  

  Раскладка := РесурсныйШаблон.Template.TableInfo;  
  // добавляем в заголовок служебные поля
  ДобавитьОдноПоле(Раскладка, 'ControlResult', vtxInteger);
  ДобавитьОдноПоле(Раскладка, 'ControlMessage', vtxString);
  ДобавитьОдноПоле(Раскладка, 'EDSRef', vtxInteger);
  ДобавитьОдноПоле(Раскладка, 'IsChangeState', vtxInteger);    
  
  /$если Бюджет
  ДанныеОрганизации.БыстроеОбновление; // справочник организаций, счетов, банков должен быть актуальным
  /$конец
  Данные := СформироватьДанныеРесурса(РесурсныйШаблон, Параметры);
  Коллекция.Значение("СписокРаскладок") := РазделитьРаскладкуНаСтраницы(РесурсныйШаблон.Template.TableInfo);  
  ВыделитьМастерДеталь(Параметры, Коллекция, Данные, РесурсныйШаблон);
конец;
</value>
    <param value="ФайловыеРесурсыЭЦП" type="3" name="version">36.044.01</param>
    <param value="ФайловыеРесурсыЭЦП" type="3" name="crc32">$EED340D7</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ФункцииДляРесурсов.abl">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\pather.lib';

константы
  nl = #13#10;
функция ЗагрузитьРесурсИзФайла(ИмяФайла: строка): ITemplates;
начало
  результат := CreateTemplates;
  результат.Reading := -1;
  результат.Load(TemplatePathEx(tpxResource) + ИмяФайла);
  результат.Template.TableInfo.Params('FileName') := ИмяФайла;
конец;

функция ЗагрузитьРесурсИзРеестра(ИмяУзла, ИмяРесурса: строка): ITemplates;
переменные Узел : УзелРеестра;
начало
  Узел := Реестр.Узел(ИмяУзла);
  Если (не Узел.Значение(ИмяРесурса).Существует) тогда ВызватьОшибку(Формат("Ресурс %s не найден", ИмяРесурса));
  результат := CreateTemplates;
  результат.Reading := -1;
  результат.Text := Узел.Значение(ИмяРесурса).КакСтрока;
  результат.Template.TableInfo.Params('FileName') := ИмяРесурса;
конец;

функция СформироватьДанныеРесурса(РесурсныйШаблон : ITemplates;Коллекция : IVariables): СтатическиеДанные;
переменные  
  ЗначенияПараметров, ВремКоллекция: IVariables;  
Начало
  ЗначенияПараметров := РесурсныйШаблон.Template.Variables;
  ВремКоллекция := создатьКоллекцию;
  ВремКоллекция.PumpData(ЗначенияПараметров);
  ЗначенияПараметров.PumpData(Коллекция);
  // восстанавливаем параметры с шаблона, которые могли перетереться одноименными параметрами из Коллекция.
  ЗначенияПараметров.PumpData(ВремКоллекция);
  Результат := СоздатьСтатическиеДанные; 
  ExecReport(Результат, РесурсныйШаблон, Коллекция, ЗначенияПараметров, Reporter, 0, АлгГлобальныеПараметры, АлгПараметры, АлгДанные, АлгРаскладка, ДоЗакачки, ПослеЗакачки); 
конец;

функция ДобавитьОдноПоле(Раскладка: ITableInfoX; Имя: строка; тип: целое);
переменные НоваяКолонка: IColumnInfoX;
начало
  если (Раскладка.FindColumnByField(Имя) = -1) тогда
    начало
      НоваяКолонка := Раскладка.Add;
      НоваяКолонка.Name := Имя;
      НоваяКолонка.FieldName := Имя;
      НоваяКолонка.Params('_DSService') := -1;
      НоваяКолонка.Params('_DSSave') := 0;
      НоваяКолонка.Params('_DSForeign') := 0;
      НоваяКолонка.Params('_DSKey') := 0;
      НоваяКолонка.Params('_DSIgnore') := -1;
      НоваяКолонка.Params('_DSDataSet') := 0;      
      НоваяКолонка.Params('_FieldAlias') := '';
      НоваяКолонка.ColumnType := ctpDisplay;
      НоваяКолонка.CalcField := 1;
      НоваяКолонка.Required := trxRequired + trxHidden;            
      НоваяКолонка.ValueType := тип;
      Если (тип = vtxString) тогда НоваяКолонка.ValueSize := 255;
    конец;
конец;

функция РазделитьРаскладкуНаСтраницы(Раскладка : ITableInfoX) : ITemplates;
переменные
  НаборыРаскладок: IVariables; 
  Колонка, НоваяКолонка: IColumnInfoX;
  сч, НомерДанных : целое; 
  ТекущаяРаскладка : ITableInfoX;
  ИменаСтраниц: Текст;
начало
  результат := CreateTemplates;
  НаборыРаскладок := CreateVariables;
  ИменаСтраниц  := СоздатьТекст;
  ИменаСтраниц.РазделенноеЗначение := Раскладка.Params("_DSPageNames"); 
  Раскладка.NameToFieldName;
  // раcделяем общую раскладку на заголовок и детали
  от сч := 0 до Раскладка.Count - 1 делать
    начало
      Колонка := Раскладка.Columns(сч);
      Если Колонка.Hidden тогда Колонка.Params('_DSService') := -1;
      номерДанных := Колонка.Params('_DSDataSet');      
      если НаборыРаскладок.ПараметрСуществует(номерДанных) 
        тогда ТекущаяРаскладка := НаборыРаскладок.Значение(номерДанных)
        иначе
          начало
            ТекущаяРаскладка := результат.Add.TableInfo;
            НаборыРаскладок.Значение(номерДанных) := ТекущаяРаскладка;
          конец;
      НоваяКолонка := ТекущаяРаскладка.Add;          
      Колонка.CopyTo(НоваяКолонка);
      Если (Колонка.Params('_FieldAlias') &lt;&gt; '') тогда
        НоваяКолонка.Name := Колонка.Params('_FieldAlias');      
    конец;
  от сч := 0 до результат.Count - 1 делать
    если (ИменаСтраниц.Количество &gt; сч) 
      тогда результат.Items(сч).Options.Values('PageName') := ИменаСтраниц.Стр(сч) 
      иначе результат.Items(сч).Options.Values('PageName') := "";
конец;

функция ВыделитьМастерДеталь(Параметры, ГлобальныеПараметры: IVariables; Данные : СтатическиеДанные; РесурсныйШаблон : ITemplates);
переменные
  НаборыДанных, НаборыРаскладок: IVariables; 
  номерДанных, Маппинг: строка;
  Колонка, НоваяКолонка: IColumnInfoX;
  Запрос, Условие, ИмяТаблицы, ИмяПоляБД, ФильтрКлюча: строка; 
  ТекущиеДанные: СтатическиеДанные;
  сч, сч2: целое; 
  Раскладка, ТекущаяРаскладка, ti : ITableInfoX;
  dField, sField : IField;
  ci : IColumnInfoX;
  УРМ : целое;
начало
  Раскладка := РесурсныйШаблон.Template.TableInfo;
  Раскладка.NameToFieldName;
  Если  Параметры.ПараметрСуществует('НаборыДанных') 
    тогда ГлобальныеПараметры.Значение('Данные') := Параметры.Значение('НаборыДанных') 
    иначе
      начало  
        НаборыДанных := CreateVariables;
        НаборыРаскладок := CreateVariables;        
        // раcделяем общую раскладку на заголовок и детали
        от сч := 0 до Раскладка.Count - 1 делать
          начало
            Колонка := Раскладка.Columns(сч);
            номерДанных := Колонка.Params('_DSDataSet');
            Если Колонка.Hidden тогда Колонка.Params('_DSService') := -1;
            если НаборыДанных.ПараметрСуществует(номерДанных) 
              тогда ТекущаяРаскладка := НаборыРаскладок.Значение(номерДанных)
              иначе
                начало
                  ТекущаяРаскладка := CreateTableInfo;
                  ТекущиеДанные := СоздатьСтатическиеДанные;
                  НаборыРаскладок.Значение(номерДанных) := ТекущаяРаскладка;
                  НаборыДанных.Значение(номерДанных) := ТекущиеДанные; 
                конец;
            НоваяКолонка := ТекущаяРаскладка.Add;          
            Колонка.CopyTo(НоваяКолонка);
            Если (Колонка.Params('_FieldAlias') &lt;&gt; '') тогда
              НоваяКолонка.Name := Колонка.Params('_FieldAlias');
            если Колонка.Params('_DSKey') 
              тогда НоваяКолонка.Group := grpGroup
              иначе НоваяКолонка.Group := grpNone;                     
          конец;
        от сч := 0 до НаборыДанных.Count - 1 делать
          начало        
             ТекущиеДанные := НаборыДанных.IndexValues(сч);
             ТекущаяРаскладка := НаборыРаскладок.IndexValues(сч);
             Маппинг := '';
             от сч2 := 0 до ТекущаяРаскладка.Count - 1 делать
               начало
               ci := ТекущаяРаскладка.Columns(сч2);
               sField := nil; 
               Если Данные.FindField(ci.FieldName, sField) тогда
                 начало
                    ТекущиеДанные.CreateDataField(ci.Name, sField.DataType, sField.Size, 0);
                    dField := ТекущиеДанные.FieldByName(ci.Name); 
                    dField.DisplayLabel := ci.Caption;
                    Маппинг := Маппинг + ci.Name + '=' + ci.FieldName + ';';
                 конец;                       
               конец; 
             ti := ТекущаяРаскладка.Replicate;              
             ФильтрКлюча := "(" + ЗаменитьСтроку(ti.GetKeys, ",", " is not null)and(", ЗаменятьВсе) + " is not null)";
             ti.NameToFieldName;
             Маппинг := 'Keys=' + ti.GetKeys + ';' + Маппинг;
             Данные.Фильтр := ФильтрКлюча;
             попытка
               //d каждом наборе признак фильтрации записей набора 
               ТекущиеДанные.ДобавитьЦелоеПоле("IsFiltered");
               ТекущиеДанные.Открыть;
               ТекущиеДанные.Группировать(Данные, Маппинг);
             обязательно
               Данные.Фильтр := "";
             конец;             
          конец;
        УРМ := ЭтоУРМ;
        от сч := 0 до НаборыДанных.Count - 1 делать
          начало
            ТекущиеДанные := НаборыДанных.IndexValues(сч);
            ТекущаяРаскладка := НаборыРаскладок.IndexValues(сч);
            Запрос  := '';
            Условие := '';
            от сч2 := 0 до ТекущаяРаскладка.Count - 1 делать
              начало          
                 Колонка := ТекущаяРаскладка.Columns(сч2);
                 Если не УРМ тогда
                   ИмяПоляБД := Колонка.AliasName
                 иначе 
                   начало
                      Если Колонка.CheckParam('ИмяПоляУРМ') 
                        тогда ИмяПоляБД := Колонка.Params('ИмяПоляУРМ')
                        иначе ИмяПоляБД := Колонка.AliasName;
                   конец; 
                 Если (ИмяПоляБД &lt;&gt; '') тогда 
                   начало
                     если Колонка.Params('_DSKey')
                       тогда 
                          начало
                            ИмяТаблицы := Колонка.Params('_TableName'); 
                            Условие := nl + 'Where ID=~' + Колонка.Name;
                          конец
                       иначе 
                         Если ((не БитИ(Колонка.Options, toxReadOnly)) и (не Колонка.Named)) тогда
                           Запрос := Запрос + nl + ИмяПоляБД +  '=~' + Колонка.Name + ",";
                   конец;              
              конец;
            Если ((Запрос &lt;&gt; '') и (Условие &lt;&gt; '') и (ИмяТаблицы &lt;&gt; ''))  тогда
            начало
                Запрос := Подстрока(Запрос, 1, Длина(Запрос) -1);
                Запрос := '[ModifyData]{' +  "Update " + ИмяТаблицы + nl +
                                       ' set ' +  Запрос + Условие + '}';
                ТекущиеДанные.Запрос := Запрос;
            конец;
          конец; 
        ГлобальныеПараметры.Значение('Данные') := НаборыДанных;
      конец;
конец;
</value>
    <param value="ФункцииДляРесурсов.abl" type="3" name="version">36.044.01</param>
    <param value="ФункцииДляРесурсов.abl" type="3" name="crc32">$83C2A0A7</param>
  </node>
  <version_info>
    <file>Сборка(01)Своды.xml</file>
    <version>34.042.RP</version>
    <info>&lt;p&gt;Ресурсы для сводных интерфейсов. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:34</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">101</V>
            <V N="Template">(01.01.01) Заголовок финансирования.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">34.042.RP</param>
  </node>
  <version_info>
    <file>Сборка(02)ПланРасходов.xml</file>
    <version>36.042.62</version>
    <info>&lt;p&gt;Ресурсы для плана расходов. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:37</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">201</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">202</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">203</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">204</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">205</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">206</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">207</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">208</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">209</V>
            <V N="Template">(02.09.00) Подневный кассовый план.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">210</V>
            <V N="Template">(02.10.00) Внутренние расходные расписания.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1901</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1902</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1903</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1904</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1906</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2201</V>
            <V N="Template">(02.01.00) Роспись и уведомления по бюджету.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.62</param>
  </node>
  <version_info>
    <file>Сборка(03)Казначейство.xml</file>
    <version>36.042.106</version>
    <info>&lt;p&gt;Ресурсы для казначейства. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:39</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">301</V>
            <V N="Template">(03.01.01) Мемордер на переброску.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">302</V>
            <V N="Template">(03.02.01) Платежные поручения.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">303</V>
            <V N="Template">(03.03.01) Мемордер на разассигновку.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">305</V>
            <V N="Template">(03.05.01) Приходное платежное поручение.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">306</V>
            <V N="Template">(03.06.01) Ордер(приход по объявлениям).tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">308</V>
            <V N="Template">(03.08.01) Мемордер на переброску.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">311</V>
            <V N="Template">(03.11.01)Перевод средств в районы.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">312</V>
            <V N="Template">(03.12.01) Подтверждение перевода средств.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">314</V>
            <V N="Template">(03.14.01) Возврат с РС районов.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">315</V>
            <V N="Template">(03.15.01) Подтверждение возврата со счетов.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">317</V>
            <V N="Template">(03.17.01) Мемордер на разассигновку.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">318</V>
            <V N="Template">(03.18.01) Мемордер на переброску.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">322</V>
            <V N="Template">(03.22.01) Учет кассовых выплат.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">324</V>
            <V N="Template">(03.24.01) Мемордер на разассигновку.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">301</V>
            <V N="Template">(03.01.00) Мемордер на переброску для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">302</V>
            <V N="Template">(03.02.00)Платежное поручение для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">303</V>
            <V N="Template">(03.03.00) Разассигновка для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">304</V>
            <V N="Template">(03.04.00) Чек для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">305</V>
            <V N="Template">(03.05.00) Приходное пп для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">306</V>
            <V N="Template">(03.06.00) Ордер(возврат по объявлениям) для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">307</V>
            <V N="Template">(03.07.00) Реестр казначейства для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ДанныеПоРесурсу</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">308</V>
            <V N="Template">(03.08.00) Внутренние платежи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">311</V>
            <V N="Template">(03.11.00) Подтвержение перечисления в районы(уход).eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">312</V>
            <V N="Template">(03.12.00) Уход в районы (приход).eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">314</V>
            <V N="Template">(03.14.00) Возврат из районов (уход).eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">315</V>
            <V N="Template">(03.15.00) Подтверждение возврата со счетов.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">323</V>
            <V N="Template">(03.23.00) Утверждение ОФ.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">324</V>
            <V N="Template">(03.24.00) Распределение ОФ.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.106</param>
  </node>
  <version_info>
    <file>Сборка(07)Финансирование.xml</file>
    <version>36.042.06</version>
    <info>&lt;p&gt;Ресурсы для интерфейсов финансирования. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:41</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">702</V>
            <V N="Template">(07.02.01) Банковские платежные поручения.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <version_info>
    <file>Сборка(03)Казначейство.xml</file>
    <version>36.042.06</version>
    <info>&lt;p&gt;Ресурсы для интерфейсов финансирования. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:41</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">301</V>
            <V N="Template">(03.01.01) Мемордер на переброску.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">302</V>
            <V N="Template">(03.02.01) Платежные поручения.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">303</V>
            <V N="Template">(03.03.01) Мемордер на разассигновку.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">305</V>
            <V N="Template">(03.05.01) Приходное платежное поручение.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">306</V>
            <V N="Template">(03.06.01) Ордер(приход по объявлениям).tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">308</V>
            <V N="Template">(03.08.01) Мемордер на переброску.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">311</V>
            <V N="Template">(03.11.01)Перевод средств в районы.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">312</V>
            <V N="Template">(03.12.01) Подтверждение перевода средств.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">314</V>
            <V N="Template">(03.14.01) Возврат с РС районов.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">315</V>
            <V N="Template">(03.15.01) Подтверждение возврата со счетов.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">317</V>
            <V N="Template">(03.17.01) Мемордер на разассигновку.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">318</V>
            <V N="Template">(03.18.01) Мемордер на переброску.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">322</V>
            <V N="Template">(03.22.01) Учет кассовых выплат.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">324</V>
            <V N="Template">(03.24.01) Мемордер на разассигновку.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">301</V>
            <V N="Template">(03.01.00) Мемордер на переброску для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">302</V>
            <V N="Template">(03.02.00)Платежное поручение для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">303</V>
            <V N="Template">(03.03.00) Разассигновка для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">304</V>
            <V N="Template">(03.04.00) Чек для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">305</V>
            <V N="Template">(03.05.00) Приходное пп для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">306</V>
            <V N="Template">(03.06.00) Ордер(возврат по объявлениям) для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">307</V>
            <V N="Template">(03.07.00) Реестр казначейства для подписи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ДанныеПоРесурсу</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">308</V>
            <V N="Template">(03.08.00) Внутренние платежи.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">311</V>
            <V N="Template">(03.11.00) Подтвержение перечисления в районы(уход).eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">312</V>
            <V N="Template">(03.12.00) Уход в районы (приход).eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">314</V>
            <V N="Template">(03.14.00) Возврат из районов (уход).eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">323</V>
            <V N="Template">(03.23.00) Утверждение ОФ.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">324</V>
            <V N="Template">(03.24.00) Распределение ОФ.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.06</param>
  </node>
  <version_info>
    <file>Сборка(08)Лимиты.xml</file>
    <version>36.042.17</version>
    <info>&lt;p&gt;Ресурсы для интерфейсов лимитов. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:42</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">801</V>
            <V N="Template">(08.01.00) Лимиты уведомлений.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.17</param>
  </node>
  <version_info>
    <file>Сборка(09)Доходы.xml</file>
    <version>36.042.16</version>
    <info>Ресурсы для интерфейсов доходов. Используются для построения печатных документов, системы состояний и др.</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:43</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">903</V>
            <V N="Template">(09.03.00) Выписка из банка.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.16</param>
  </node>
  <version_info>
    <file>Сборка(17)Заявки.xml</file>
    <version>36.042.14</version>
    <info>&lt;p&gt;Ресурсы для интерфейсов заявок. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:44</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">1701</V>
            <V N="Template">(17.01.00) Сводные заявки на финансирование.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.14</param>
  </node>
  <version_info>
    <file>Сборка(36)Консолидация.xml</file>
    <version>36.042.05</version>
    <info>&lt;p&gt;Ресурсы для интерфейсов консолидации. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:45</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3610</V>
            <V N="Template">(36.10.00) Динамические формы.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.05</param>
  </node>
  <version_info>
    <file>Сборка(17)Сводные уведомления.xml</file>
    <version>36.042.16</version>
    <info>&lt;p&gt;Ресурсы для интерфейсов блока сводных уведомлений. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:46</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4401</V>
            <V N="Template">(44.01.00)Расходные расписания.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.16</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
          </FD>
          <FD>
            <N>Template</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
          </FD>
          <FD>
            <N>ResType</N>
            <FDT>3</FDT>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
          </FD>
          <FD>
            <N>Script</N>
            <FDT>1</FDT>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4403</V>
            <V N="Template">(44.03.00) Внутренние КУ,РР.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.16</param>
  </node>
  <version_info>
    <file>Сборка(49)Пакеты документов обмена.xml</file>
    <version>36.000.02</version>
    <info>&lt;p&gt;&lt;span&gt;
&lt;div&gt;
&lt;p&gt;Ресурсы для блока пакетов документов обмена. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:47</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4901</V>
            <V N="Template">(49.01.00) Обмен пакетами документов с УРМ.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.000.02</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ResType</N>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">4903</V>
            <V N="Template">(49.03.00) Электронный архив.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.000.02</param>
  </node>
  <version_info>
    <file>Сборка(50)Разрешения.xml</file>
    <version>36.000.07</version>
    <info>&lt;p&gt;Ресурсы для учета разрешений. Используются для построения печатных документов, системы состояний и др.&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:47</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5000</V>
            <V N="Template">(50.00.00) Учет разрешений.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.000.07</param>
  </node>
  <version_info>
    <file>Сборка(55)Уведомления.xml</file>
    <version>36.000.35</version>
    <info>Ресурсы для уведомлений. Используются для построения печатных документов, системы состояний и др.</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:49</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5501</V>
            <V N="Template">(55.00.00) Уведомление об уточнении.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.000.35</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">5502</V>
            <V N="Template">(55.00.00) Уведомление об уточнении.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.000.35</param>
  </node>
  <version_info>
    <file>Сборка(99)Системные.xml</file>
    <version>36.042.08</version>
    <info>&lt;p&gt;1. Ресурс для формирования справочника федеральных реестров 2. Ресурс для формирования справочника контактных лиц&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:54:50</buildtime>
  </version_info>
  <description>Конфигурация ресурсов</description>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9901</V>
            <V N="Template">(99.01.01) Реестр федеральных средств.tmf</V>
            <V N="ResType">1</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.08</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9904</V>
            <V N="Template">(99.04.00) Контактные лица.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ФайловыеРесурсыЭЦП</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.08</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Ресурсы">
      <table key="CLS;ResType">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>ResType</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>ResType</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Script</N>
            <CN>TLongStringField</CN>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">9915</V>
            <V N="Template">(99.15.00) Открытие операционного дня.eds</V>
            <V N="ResType">0</V>
            <V N="Script">ДанныеПоРесурсу</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Ресурсы" type="3" name="version">36.042.08</param>
  </node>
  <version_info>
    <file>Сборка.Состояния.xml</file>
    <version>36.042.157</version>
    <info>&lt;p&gt;Общие макросы для поддержки системы состояний&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:01</buildtime>
  </version_info>
  <description>Стандартные макросы для системы состояний</description>
  <node path="%root%\Ресурсы\Макросы\Состояния">
    <value type="7" name="ВзаимодействиеСЭО.abl">включить '\Библиотеки\LibRu.lib';
включить "Бюджет\Ресурсы\библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";
включить "Бюджет\Ресурсы\библиотеки\DataTools.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

функция ПолучитьПолеДействияЭО(ТипДействияЭО: Целое): Строка;
начало
  Выбрать ТипДействияЭО из
    тдэо_Проведение: Результат := "ExchAccept";
    тдэо_Отклонение: Результат := "ExchReject";
    тдэо_ОтправкаПакета: Результат := "ExchPacketSend";
    тдэо_УдалениеПакета: Результат := "ExchPacketRem";
  иначе
    ВызватьОшибку(Формат("ВыполнитьПереходЭО: Не верное значение параметра 'ТипДействияЭО': %d", ТипДействияЭО)); 
  конец;
конец;

функция ПолучитьДействия(Ограничения: строка): СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные();
  результат.СоединитьБД();
  результат.Запрос := "[PumpData]"
                    + "{"
                    + " SELECT Name FROM state_actions "
                    + " WHERE (1=1) " + Ограничения
                    + "}";
  результат.Открыть();                        
конец;                    
  
// вызов действия системы состояний
// действие: 0 - проведение; 1 - отклонение; 2 - отправка пакета; 3 - удаление пакета
функция ВыполнитьПереходЭО(ИДДок: строка; КодИтф, ТипДействияЭО, ИзменятьТолькоВсе: целое): целое;
переменные
  Действия: СтатическиеДанные;
  Фильтр: строка;
  ИмяДействия: строка;
  Коллекция: IVariables;
начало
  Результат := нет;
/$если !База70200
  Результат := ТипДокИдетПоСхеме(КодИтф);
  если Результат тогда
  начало
    Коллекция := CreateVariables();
    Коллекция.Values(stVarUserName) := ТекущийПользователь;
    Фильтр := Формат("and (DocTypeRef = %d) and (%s &gt; 0)", КодИтф, ПолучитьПолеДействияЭО(ТипДействияЭО));
    Действия := ПолучитьДействия(Фильтр);
    ИмяДействия := Действия.ПолеПоИмени("Name").КакСтрока;
    если ИмяДействия &lt;&gt; "" тогда
      попытка
        ВыполнитьПереход(ИДДок, КодИтф, 1, ИзменятьТолькоВсе, ИмяДействия, Коллекция);
      неудача
        Ошибка("Произошла ошибка во время выполнения действия системы состояний '"+ ИмяДействия + "': "+ПоследняяОшибка);
      конец;    
  конец;
/$конец
конец;

</value>
    <param value="ВзаимодействиеСЭО.abl" type="3" name="Export">EVOLKOVA\pautov\18.03.2013 17:25:28</param>
    <param value="ВзаимодействиеСЭО.abl" type="3" name="version">36.042.157</param>
    <param value="ВзаимодействиеСЭО.abl" type="3" name="crc32">$E987FF2D</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Состояния">
    <value type="7" name="ДляУправленияВСостояниях.abl">//2.сейчас считаем, что все детализации связаны только с одним и тем заголовочным набором
//3.считаем что сценарий как по действию, так и по переходам действия выбирается зараз одной функцией
//4.флаг IsChangeState проставляется для заголовков, у которых в результате макроса действия был изменено состояние(если в макросе выполняется петля, то флаг нужно взвести самостоятельно)
//  используемые биты:  ХХХ_ - было ли состояние изменено после автоперехода
//                      Х_Х - было ли состояние проставлено автопереходом
//5.считается что изменение атрибутов в макросах "После проверки" изменений атрибутов производиться не будет
//флаг IsFiltered равен: 0 - если документ удовлетворяет наложенному фильтру
//                       1 - документ не удовлетворяет наложенному фильтру

//Вопросы:
//1.при отклонении документов автопереходом по причине отсутствия наличия прав на любой переход в действии
//  эти данные отсеиваются но только для элементов сценария (До проверки) после проверки CheckRight они заново вставляются в первоначальные данные
включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Pather.lib";
включить "\Библиотеки\Documents.lib";
включить "\Библиотеки\StateManage.lib";
включить "\Библиотеки\DocRefer.lib";
включить "\Библиотеки\LinkInfo2.lib";
включить "\Библиотеки\output.lib";
включить "\Библиотеки\ReportTools.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\Отчеты\ПоддержкаГенерации";
включить "\Макросы\Отчеты\ПоддержкаВывода.abl";
включить "\Макросы\Стандартные.abl";
включить "\Макросы\Контроль\ПоддержкаФорм_яПроверяемых.abl";

константы
  nl                    = #13#10;
  amiCallControlInBeforeMode = $00000006;
  amiShowExecLog = $00000007;

//  stVarGenerationParam  = "VarGenerationParam";
//  stVarDefineScenary    = "VarDefineScenary";

  элСц_Контроль = 0;
  элСц_ПечатДок = 1;
  элСц_Генерация= 2;
  элСц_МакросПерехода = 3;
  элСц_МакросДействия = 4;
  элСц_Фильтр   = 5;
  элСцКаскадДействие  = 6;
  элСцСценарий  = 7;
  элСцКаскадСценарий = 8;

  Переходы_ПолеНачСост  = "BeginStateRef";
  Переходы_ПолеКонСост  = "EndStateRef";

  //константы простановки результата почему нельзя переход совершить
  КонстНеСовершения_НеПравНаПереходы    = -201;
  КонстНеСовершения_БольшеОдногоПерехода= -202;

/*пусто :0
  не    :1
  и     :2
  и не  :3
  или   :4
  или не:5*/
  ОшибкаНаличияМакросаДействия  = "Не задано имя макроса действия для кода:%d";
  ОшибкаНаличияМакросаПерехода  = "Не задано имя макроса перехода для кода:%d";
  ОшибкаПоискаКлючевогоПоляДляНабора    = "Ключевого поля в раскладке для набора:%d не найдено";
  ОшибкаПоискаВнешКлючПоляДляНабора     = "Внешнего ключа в раскладке для набора:%d не найдено";
  ОшибкаНаличияПравНаПереход    = "Нет прав на переход. Пользователь '%s', переход %d - %d";
  stApplyUpdatesDlgMessage = 'Из %d документов проверку прошло %d документа. Проверка отвергла %d документов. Выполнить действие?';
//  ОшибкаНаличияПоляДляВнутрСвязи = "Для связи %s в описании полей для типа док-ов:%d не обнаружено поля %d";
//константы временного интервала выполнения элементов сценария

функция ДоПроверки: целое;
начало
  результат := 0;
конец;
функция ПослеПроверки: целое;
начало
  результат := 1;
конец;

функция Сценарий_ПорядокВып: строка;
начало
  результат := "ExecOrder";
конец;
функция Сценарий_ВремяВып: строка;
начало
  результат := "ExecType";
конец;
функция Сценарий_ТипЭлемента: строка;
начало
  результат := "RecordType";
конец;
функция Сценарий_ИмяМакроса: СТРОКА;
начало
  результат := "MacrosName";
конец;
функция Сценарий_КодЭлемента: СТРОКА;
начало
  результат := "ControlCode";
конец;
функция Сценарий_ОпцииЭлемента: СТРОКА;
начало
  результат := "ControlOptions";
конец;
функция Сценарий_КодФильтра: СТРОКА;
начало
  результат := "FilterCode";
конец;
функция Сценарий_ОшибкаДляФильтра: строка;
начало
  результат := "FilterNote";
конец;
функция Сценарий_ИмяДочернДействия: строка;
начало
  результат := "FilterNote";
конец;
функция Сценарий_НачСостояниеДляФильтра: строка;
начало
  результат := "BeginStateRef";
конец;
функция Сценарий_СостояниеДляФильтра: строка;
начало
  результат := "EndStateRef";
конец;
функция Сценарий_СсылкаНаПереход: строка;
начало
  результат := "JumpRef";
конец;
функция Сценарий_СсылкаНаВнешСвязь: строка;
начало
  результат := "ReferenceRef";
конец;
функция Сценарий_СсылкаНаВнутрСвязь: строка;
начало
  результат := "StaticLinkRef";
конец;
функция Сценарий_Параметры: строка;
начало
  результат := "Condition";
конец;
функция Сценарий_НаправлениеДвижения: строка;
начало
  результат := "InvertFlag";
конец;

функция Связь_ТипДокДочерний: строка;
начало
  результат := "ChildDocCLS";
конец;
функция Связь_ТипДокРодитель: строка;
начало
  результат := "ParentDocCLS";
конец;
функция Связь_ИДРодитель: строка;
начало
  результат := "ParentID";
конец;
функция Связь_ИДДочерний: строка;
начало
  результат := "ChildID";
конец;
функция ВнСвязь_ПолеРодитель: строка;
начало
  результат := "ParentFieldRef";
конец;
функция ВнСвязь_ПолеДочерний: строка;
начало
  результат := "ChildFieldRef";
конец;
функция ВнСвязь_ПолеИмяСвязи: строка;
начало
  результат := "Name";
конец;

функция ОтладкаФлаг(Индекс: целое): целое;
переменные
  BG : IReportBG;
начало
  результат := нет;
  BG := ReportBG;
  если (BG &lt;&gt; nil) тогда результат := (BG.Checks(Индекс) &lt;&gt; 0);
конец;

функция ПоказыватьПротоколВыполнения: целое;
начало
  попытка
    результат := (WPMenuFlagValue(amiShowExecLog) = 1);
  неудача
    результат := нет;
  конец;
  результат := результат или ОтладкаФлаг(tciExecTime);
конец;

// Разобрать одиночный параметр и поместить его в коллекцию с указанным значением.
// &lt;_Параметр&gt; может содержать указание в какую дочернюю коллекцию должен быть помещен параметр
// например, для 'ВложеннаяКоллекция.Параметр1' в основной коллекции 'Приемник' будет искаться 'ВложеннаяКоллекция'(если нет, то создастся)
// и 'Параметр1' будет помещен в коллекцию 'ВложеннаяКоллекция'
// Поддерживаются указания к удалению вложенной коллекции. Для этого нужно указать пустое значение, а в параметре указать только имя коллекции
// например, РазобратьПараметр(Приемник,'ВложеннаяКоллекция.','') приведет к удалению коллекции  'ВложеннаяКоллекция'
функция РазобратьПараметр(Приемник: IVariables; _Параметр,_Значение: СТРОКА);
переменные
  поз: целое;
  ИмяКоллекции,текПараметр : строка;
  ВложеннаяКоллекция:IVariables;
начало
  поз := позиция('.',_Параметр);
  если  поз=0 тогда
  начало
    если не (_Параметр='') тогда
      Приемник.Значение(_Параметр) := _Значение;
  конец
  иначе
  начало
    ИмяКоллекции := Подстрока(_Параметр,1,поз-1);
    текПараметр  := Подстрока(_Параметр,поз+1,255);
    если не(ИмяКоллекции='')и(текПараметр='')и(УбратьПробелы(_Значение)='')тогда
      Приемник.Delete(ИмяКоллекции) // удаляем вложенную коллекцию
    иначе
    начало
      если ИмяКоллекции='' тогда
        ВложеннаяКоллекция := Приемник
      иначе
        если ИнтерфейсПоддерживается(Приемник.Значение(ИмяКоллекции),_IVariables) тогда
          ВложеннаяКоллекция := Приемник.Значение(ИмяКоллекции) // вложенная коллекция уже существует, создавать не надо
        иначе // создаем новую коллекцию
        начало
          ВложеннаяКоллекция := СоздатьКоллекцию;
          Приемник.Значение(ИмяКоллекции) := ВложеннаяКоллекция; //даже, если элемент коллекции с таким именем существует, но он не коллекция, то перетираем его
        конец;
      РазобратьПараметр(ВложеннаяКоллекция,УбратьПробелы(текПараметр),_Значение);
    конец;
  конец;
конец;

//внесение в коллекцию параметров, разобранных из строки
функция РазобратьПараметры(Приемник: IVariables; СтрокаСПараметрами: СТРОКА);
//формат параметров должен быть &lt;ИмяПараметра1&gt;=&lt;'ЗначениеПараметра1'&gt;,ИмяПараметра2=&lt;'ЗначениеПараметра2'&gt;,...
// &lt;ИмяПараметра&gt; может содержать указание в какую дочернюю коллекцию должен быть помещен параметр
// например, для 'ВложеннаяКоллекция.Параметр1=Значение1' в основной коллекции 'Приемник' будет искаться 'ВложеннаяКоллекция'(если нет, то создастся)
// и 'Параметр1' будет помещен в коллекцию 'ВложеннаяКоллекция'
переменные
  сч: целое;
  тПараметры: текст;
  текПараметр: строка;
начало
  тПараметры := СоздатьТекст;
  попытка
    тПараметры.РазделенноеЗначение := СтрокаСПараметрами;
    от сч := 0 до тПараметры.Количество - 1 делать
    начало
      текПараметр := тПараметры.ИмяПараметра(сч);
      РазобратьПараметр(Приемник,текПараметр,тПараметры.ЗначениеПараметра(текПараметр));
    конец;
  обязательно
    УдалитьОбъект(тПараметры);
  конец;
конец;


функция ПолучитьСценарийДействия(ИДДействия: целое;  ПрочиеОграниченияТДействия, ПрочиеОграниченияТПереходы: строка; Приемник: СтатическиеДанные);
начало
  Приемник := СоздатьСтатическиеДанные();
  Приемник.СоединитьБД();
  Приемник.Запрос := "[PumpData]"
                    //получаем элементы сценария, относящиеся к действию
                    + "{SELECT sjc.actionref, cast(null as integer) jumpref, sjc.controlcode, sjc.controloptions, sjc.condition, sjc.enabled, "+nl
                    + "        sjc.recordtype, sjc.exectype, sjc.execorder, sjc.filtercode, sjc.filternote, sjc.beginstateref, sjc.endstateref, "+nl
                    + "        sjc.ReferenceRef, sjc.StaticLinkRef, sa.BackAction InvertFlag, sjc.ELEMENTSCENARIOREF "+nl
                    + " FROM State_Actions sa inner join State_JumpControl sjc on (sa.ID=sjc.ActionRef)"+nl
                    + " WHERE (sa.Id=@ActionID) " + nl
                    /$если Бюджет 
                    + "and(sjc.IsBudget in (1, 2))" + nl
                    /$иначе                    
                    + "and(sjc.IsBudget in (0, 2))" + nl
                    /$конец
                    + " @OtherRestrictAction}"+nl
                    //получаем элементы сценрария, относящиеся к переходам действия
                    + "{SELECT cast(null as integer) actionref, sjc.JumpRef, sjc.controlcode, sjc.controloptions, sjc.condition, sjc.enabled, "+nl
                    + "        sjc.recordtype, sjc.exectype, sjc.execorder, sjc.filtercode, sjc.filternote, sjc.beginstateref, sjc.endstateref, "+nl
                    + "        sjc.ReferenceRef, sjc.StaticLinkRef, sj.BackJump InvertFlag, sjc.ELEMENTSCENARIOREF "+nl
                    + " FROM State_Actions sa inner join State_ActionJumps saj on (saj.ActionRef=sa.ID)"+nl
                    + "                       inner join State_JumpControl sjc on (saj.JumpRef=sjc.JumpRef)"+nl
                    + "                       inner join State_Jumps sj on (saj.JumpRef=sj.ID)"+nl
                    + " WHERE (sa.Id=@ActionID) " + nl
                    /$если Бюджет 
                    + "and(sjc.IsBudget in (1, 2))" + nl
                    /$иначе                    
                    + "and(sjc.IsBudget in (0, 2))" + nl
                    /$конец                     
                    + " @OtherRestrictJump}";
  Приемник.Params("ActionID") := ИДДействия;
  Приемник.Params("OtherRestrictAction") := ПрочиеОграниченияТДействия;
  Приемник.Params("OtherRestrictJump") := ПрочиеОграниченияТПереходы;
  Приемник.Открыть();
конец;

функция ПолучитьОписаниеВнутрСвязи(ИДСвязи: строка): СтатическиеДанные;
начало
  РЕЗУЛЬТАТ := СоздатьСтатическиеДанные();
  РЕЗУЛЬТАТ.СоединитьБД();
  РЕЗУЛЬТАТ.Запрос := "[PumpData]"
                    + "{SELECT ID, Name, ParentFieldRef, ChildFieldRef FROM StaticLinks WHERE Id in (@IDParam)}";
  РЕЗУЛЬТАТ.Параметр("IDParam") := ИДСвязи;
  РЕЗУЛЬТАТ.Открыть();
конец;

функция ПолучитьИмяПоляИДВНаборе(Параметры: Ivariables; НомерНабора: целое): строка;
переменные
  Описание      : ITemplates;
  ti    : ITableInfoX;
  col   : IColumnInfoX;
  Нашли,
  сч    : целое;
начало
  Описание := Параметры.Values(stVarTemplates);
  ti := Описание.Items(НомерНабора).TableInfo;
  Нашли := нет;
  сч := 0;
  пока (сч &lt;= ti.Count - 1)и не Нашли делать
  начало
    col := ti.Columns(сч);
    если (col.Params('_DSDataSet') = НомерНабора) и col.Params('_DSKey')
      тогда начало
        Нашли := да;
      конец
      иначе сч := сч + 1;
  конец;
  если Нашли
    тогда результат := col.Name
    иначе ВызватьОшибку(Формат("Функция :'ПолучитьИмяПоляИдВНаборе' "+ОшибкаПоискаКлючевогоПоляДляНабора,НомерНабора));
конец;
функция ПолучитьИмяПоляВнешКлючВНаборе(Параметры: Ivariables; НомерНабора: целое): строка;
переменные
  Описание      : ITemplates;
  ti    : ITableInfoX;
  col   : IColumnInfoX;
  Нашли,
  сч    : целое;
начало
  Описание := Параметры.Values(stVarTemplates);
  ti := Описание.Items(НомерНабора).TableInfo;
  Нашли := нет;
  сч := 0;
  пока (сч &lt;= ti.Count - 1)и не Нашли делать
  начало
    col := ti.Columns(сч);
    если (col.Params('_DSDataSet') = НомерНабора) и col.Params('_DSForeign')
      тогда начало
        Нашли := да;
      конец
      иначе сч := сч + 1;
  конец;
  если Нашли
    тогда результат := col.Name
    иначе ВызватьОшибку(Формат("Функция :'ПолучитьИмяПоляВнешКлючВНаборе' "+ОшибкаПоискаВнешКлючПоляДляНабора, НомерНабора));
конец;

функция ПолучитьИмяМакросаПоКоду(ТипМакроса, КодМакроса: ЦЕЛОЕ): СТРОКА;
переменные
  ПотокЗакачка  : ВнешнийОбъект;
  Конфигурация  : СтатическиеДанные;
начало
  результат := "";
  ПотокЗакачка := ReadEnum(ТипМакроса);
  Конфигурация := СоздатьСтатическиеДанные();
  Конфигурация.ДобавитьЦелоеПоле("CLS");
  Конфигурация.ДобавитьСтроковоеПоле("Name").Size := 255;
  Конфигурация.ДобавитьСтроковоеПоле("Script").Size := 255;
  Конфигурация.Открыть();
  Конфигурация.PumpData(ПотокЗакачка, "");
  если Конфигурация.Локализовать("CLS", КодМакроса, 0)
    тогда результат := Конфигурация.Поле("Script").КакСтрока;
конец;

функция ПолучитьИмяПоКоду(ТипМакроса, КодМакроса: ЦЕЛОЕ): СТРОКА;
переменные
  ПотокЗакачка  : ВнешнийОбъект;
  Конфигурация  : СтатическиеДанные;
начало
  результат := "";
  ПотокЗакачка := ReadEnum(ТипМакроса);
  Конфигурация := СоздатьСтатическиеДанные();
  Конфигурация.ДобавитьЦелоеПоле("CLS");
  Конфигурация.ДобавитьСтроковоеПоле("Name").Size := 255;
  Конфигурация.ДобавитьСтроковоеПоле("Script").Size := 255;
  Конфигурация.Открыть();
  Конфигурация.PumpData(ПотокЗакачка, "");
  если Конфигурация.Локализовать("CLS", КодМакроса, 0)
    тогда результат := Конфигурация.Поле("Name").КакСтрока;
конец;

//на основе переданных документов формируется набор с выполненными над документами
функция ПолучитьСовершенныеПереходы(СписокПереходовВДействии, ИсточникСДок_ми: СтатическиеДанные): СтатическиеДанные;
начало
  попытка
    СписокПереходовВДействии.IndexFieldNames := Переходы_ПолеНачСост+";"+Переходы_ПолеКонСост;
    результат := СоздатьСтатическиеДанные();
    результат.ДобавитьЦелоеПоле(stBeginDocStateFieldName);
    результат.ДобавитьЦелоеПоле(stDocStateFieldName);
    результат.ДобавитьЦелоеПоле(Сценарий_СсылкаНаПереход());
    результат.Открыть();
    результат.GroupData(ИсточникСДок_ми, "KEYS="+stBeginDocStateFieldName+","+stDocStateFieldName);
    //заполняем в совершенных переходах ссылку на переход в действии
    результат.ВНачало();
    пока не результат.ВКонце делать
    начало
      если СписокПереходовВДействии.FindKey(ArrayOf(результат.Поле(stBeginDocStateFieldName).КакЦелое, результат.Поле(stDocStateFieldName).КакЦелое))
        тогда начало
          результат.ПолеПоИмени(Сценарий_СсылкаНаПереход()).КакЦелое := СписокПереходовВДействии.ПолеПоИмени("ID").КакЦелое;
          результат.Следующая();
        конец
        иначе результат.Delete();
    конец;
  обязательно
    СписокПереходовВДействии.IndexFieldNames := "";
  конец;
конец;

// если режим в параметрах каскада не указан, или каскад выполняется после перехода,
// то выполняем каскад стандартно (откат транзакции в случае ошибки (ControlResult) хотя бы в одном
// дочернем документе), иначе если режим равен:
// 1: каскад выполняется подокументно. Если в одном из дочерних документов ошибка, то
// родительский, и все его дочерние не переходят в новое состояние
// 2: каскад выполняется над группой документов. В новое состояние переходят все
// документы, в которых нет ошибок
функция ПолучитьРежимКаскадногоПерехода(Параметры: IVariables): целое;
переменные
  ВремяВып: целое;
начало
  если Параметры.ПараметрСуществует(_stVarExecTime) тогда
    ВремяВып := Параметры.Значение(_stVarExecTime)
  иначе
    ВызватьОшибку("Параметр " + _stVarExecTime + " не найден в коллекции");
  если (не Параметры.ПараметрСуществует(_stVarCascadeJumpMode)) или ((ВремяВып = 1)и(Параметры.Значение(_stVarCascadeJumpMode)&lt;&gt;2)) тогда
    Параметры.Значение(_stVarCascadeJumpMode) := 0;
  результат := Параметры.Значение(_stVarCascadeJumpMode)
конец;

функция ПроверитьПользовательАдмин(Параметры: IVariables): целое;
начало
  результат := целое(Параметры.VALUES(stVarIsAdmin)) &lt;&gt; 0;
конец;

функция СозданиеКопииДокументов(Источник: СтатическиеДанные): СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные();
  результат.СоединитьБД();
  результат.ПрисвоитьПоля(Источник);
  результат.Открыть();
конец;
//по переданным номерам заголовочного и детального наборов в коллекции в детали оставляются только те записи,
//которые имеют значение внешнего ключа на неотфильтрованные записи в заголовке
функция ФильтрацияНабораПоЗаголовку(Параметры: IVariables; НомерЗаголовочногоСС, НомерДетальногоСС: целое);
переменные
  Заголовок,
  Детализация           : СтатическиеДанные;
  Ограничение           : Variant;
  ИмяПоляИДВЗаголовке,
  ИмяПоляВнешнийКлючВДетали,
  ПервоначальныйИндекс  : строка;
начало
  Заголовок := ПолучитьДетальИзКоллекции(Параметры, НомерЗаголовочногоСС);
  Детализация := ПолучитьДетальИзКоллекции(Параметры, НомерДетальногоСС);
  Ограничение := CreateVariant();
  //получение имени поля ИД в заголовке и внешнего ключа в детали
  ИмяПоляИДВЗаголовке := ПолучитьИмяПоляИДВНаборе(Параметры, НомерЗаголовочногоСС);
  ИмяПоляВнешнийКлючВДетали := ПолучитьИмяПоляВнешКлючВНаборе(Параметры, НомерДетальногоСС);
  попытка
    Ограничение.VarArrayOf(0);
    Детализация.Filtered := нет;
    ПервоначальныйИндекс := Детализация.IndexFieldNames;
    Детализация.IndexFieldNames := ИмяПоляВнешнийКлючВДетали;
    //проставляем, что вся деталь отфильтрована(негодная)
    Детализация.ВНачало();
    пока не Детализация.ВКонце делать
    начало
      Детализация.Edit();
      Детализация.ПолеПОимени(stIsFilteredFieldName).КакЦелое := 1;
      Детализация.Post();
      Детализация.Следующая();
    конец;
    //оставляем записи детали, только для заголовков, подлежащих фильтру
    Заголовок.Вначало();
    пока не Заголовок.Вконце делать
    начало
      Ограничение.AsInteger(0) := Заголовок.ПолеПоимени(ИмяПоляИДВЗаголовке).КакЦелое;
      Детализация.SetScope(Ограничение.Value);
      Детализация.Вначало();
      пока не Детализация.Вконце делать
      начало
        Детализация.ПолеПоИмени(stIsFilteredFieldName).КакЦелое := 0;
        Детализация.Следующая();
      конец;
      Детализация.CancelRange();
      Заголовок.Следующая();
    конец;
  обязательно
    Детализация.IndexFieldNames := ПервоначальныйИндекс;
    Детализация.Filter := stIsFilteredFieldName + "=0";
    Детализация.Filtered := да;
  конец;
конец;

функция ОставитьПройденныеПроверки(Источник: СтатическиеДанные);
начало
  Источник.Filtered := нет;
  если (УбратьПробелы(Источник.Фильтр) &lt;&gt; "")
    тогда Источник.Фильтр := "(" + Источник.Фильтр + ")and" + ФильтрПрошедшиеПереход()
    иначе Источник.Фильтр := ФильтрПрошедшиеПереход();
  Источник.Filtered := да;
конец;

// оставить документы набора данных Источник, доступные для контроля. Если ОставитьНепрошедшиеКонтроль=1, то остаются и документы, не прошедшие предыдущие контроли
// Это несколько увеличивает время контроля, но позволяет получить строку ошибки, содержащую конкатенацию ошибок нескольких непрошедших контролей.
функция ОставитьДоступныеДляОбработки(Источник: СтатическиеДанные;ОставитьНепрошедшиеКонтроль: целое);
переменные
  _Фильтр: строка;
начало
  если ОставитьНепрошедшиеКонтроль=нет тогда
    _Фильтр := ФильтрПрошедшиеПереход()
  иначе
    _Фильтр := "(("+ФильтрПрошедшиеПереход()+")or("+stControlResultFieldName+" in(-1001,-2001)))";
  Источник.Filtered := нет;
  если не(УбратьПробелы(Источник.Фильтр) = "")
    тогда Источник.Фильтр := "(" + Источник.Фильтр + ")and" + _Фильтр
    иначе Источник.Фильтр := _Фильтр;
  Источник.Filtered := да;
конец;

функция СнятиеФильтровСНаборов(Параметры: IVariables);
переменные
  НаборыДанных  : IVariables;
  ОчереднойНабор: СтатическиеДанные;
  сч            : ЦЕЛОЕ;
начало
  НаборыДанных := Параметры.Values(stVarData);
  от сч := 0 до НаборыДанных.Count-1 делать
  начало
    ОчереднойНабор := НаборыДанных.IndexValues(сч);
    ОчереднойНабор.Filtered := нет;
    ОчереднойНабор.Filter := "";
  конец;
конец;
//формирование и заполнение копиии данными из переданного набора
функция СформироватьКопиюНабора(Источник: СтатическиеДанные): СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные();
  Результат.ПрисвоитьПоля(Источник);
  Результат.Открыть();
  Результат.Закачать(Источник);
конец;

//простановка в документах ошибки, совершивших переход, на который у пользователя нет прав
функция УбратьДокБезПраваНаИзменение(Параметры: IVariables; СписокПереходовВДействии, ВыполненныеПереходы: СтатическиеДанные);
переменные
  ЗаголовокДок  : СтатическиеДанные;
  ОгрПоПереходу : Variant;
  Пользователь,
  ПервичныйИндекс: СТРОКА;
  ИДДействия    : ЦЕЛОЕ;
начало
  ИДДействия := Параметры.Values(stVarAction);
  Пользователь := Параметры.Values(stVarUserName);
  ЗаголовокДок := ПолучитьЗаголовокИЗКоллекции(Параметры);
  ПервичныйИндекс := ЗаголовокДок.IndexFieldNames;
  ОгрПоПереходу := CreateVariant();
  попытка
    ОгрПоПереходу.VarArrayOf(0, 0);
    ЗаголовокДок.IndexFieldNames := stBeginDocStateFieldName+";"+stDocStateFieldName;
    СписокПереходовВДействии.IndexFieldNames := Переходы_ПолеНачСост+";"+Переходы_ПолеКонСост;

    //проверяем права на совершенный над документами переход, если их нет, то все док-ты с этим переходом отклоняем для дальнейшей обработки
    ВыполненныеПереходы.ВНачало();
    пока не ВыполненныеПереходы.ВКонце делать
    начало
      ОгрПоПереходу.ASInteger(0) := ВыполненныеПереходы.ПолеПОимени(stBeginDocStateFieldName).КакЦелое;
      ОгрПоПереходу.ASInteger(1) := ВыполненныеПереходы.ПолеПОимени(stDocStateFieldName).КакЦелое;
      если не СписокПереходовВДействии.FindKey(ОгрПоПереходу.Value)
        тогда начало
          ЗаголовокДок.SetScope(ОгрПоПереходу.Value);
          ЗаголовокДок.Вначало();
          пока не ЗаголовокДок.Вконце делать
          начало
            ЗаголовокДок.Edit();
            ЗаголовокДок.ПолеПОИмени(stControlResultFieldName).КакЦелое := 4;
            ЗаголовокДок.ПолеПОИмени(stControlMessageFieldName).КакСтрока := Формат(ОшибкаНаличияПравНаПереход, Пользователь, ОгрПоПереходу.ASInteger(0), ОгрПоПереходу.ASInteger(1));
            ЗаголовокДок.Post();
            ЗаголовокДок.Следующая();
          конец;
          ЗаголовокДок.CancelRange();
        конец;
      ВыполненныеПереходы.Следующая();
    конец;
  обязательно
    ЗаголовокДок.CancelRange();
    ЗаголовокДок.IndexFieldNames := ПервичныйИндекс;
    СписокПереходовВДействии.IndexFieldNames := "";
  конец;
конец;

функция ВызовАвтоПерехода(ПараметрыДействия: IVariables);
переменные
  ЗаголовокДок  : СтатическиеДанные;
  СтарыйФильтр: строка;
  ПолеРезультат : IField;
начало
  ЗаголовокДок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  СтарыйФильтр := ЗаголовокДок.Фильтр;
  /$если !Бюджет
  // Для УРМ, если переход уже совершен, то автопереход для него не вызываем
  ЗаголовокДок.Фильтр := "not((IsVised=1)and(BeginDocStateRef&lt;&gt;DocStateRef))"; 
  /$конец  
  AutoJump(ПараметрыДействия);
  /$если !Бюджет
  ЗаголовокДок.Фильтр := СтарыйФильтр;
  /$конец    
  //фукнция возвращает проставленные флаги -201:нет ни одного перехода, -202:есть несколько переходов для начального состояния
  //руками помечаем признак, что записи прошли успешно автопереход
  ПолеРезультат := ЗаголовокДок.Поле(stControlResultFieldNAme);
  ЗаголовокДок.ВНачало();
  пока не ЗаголовокДок.Вконце делать
  начало
    если (ЗаголовокДок.UpdateStatus = usModified)и(ПолеРезультат.КакЦелое = 0)
      тогда ЗаголовокДок.Поле(stIsChangeStateFieldName).КакЦелое := 2;

    ЗаголовокДок.Следующая();
  конец;
конец;

// вернуть текущие фильтры переданных через коллекцию наборов данных для их последующего восстановления функцией ВосстановитьФильтрыНаборовДанных
функция ВернутьФильтрыНаборовДанных(НаборыДанных: IVariables): variant;
переменные
  НаборДанных: статическиеДанные;
  сч: целое;
начало
  Результат := CreateVariant();
  Результат.VarArrayOf('');
  Результат.VarArrayRedim(НаборыДанных.Count);
  от сч:=0 до НаборыДанных.Count-1 делать
  начало
    НаборДанных := НаборыДанных.Values(ЦелоеВСтроку(сч));
    Результат.AsString(сч) :=  НаборДанных.Фильтр;
  конец;
конец;

// Восстановить ранее сохраненные функцией ВернутьФильтрыНаборовДанных значения фильтров
функция ВосстановитьФильтрыНаборовДанных(НаборыДанных: IVariables; Фильтры: variant);
переменные
  НаборДанных: статическиеДанные;
  сч: целое;
начало
  от сч:=0 до НаборыДанных.Count-1 делать
  начало
    НаборДанных := НаборыДанных.Values(ЦелоеВСтроку(сч));
    НаборДанных.Filtered := нет;
    НаборДанных.Фильтр  := Фильтры.AsString(сч);
    НаборДанных.Filtered  := УбратьПробелы(НаборДанных.Фильтр)&lt;&gt; "";
  конец;
конец;

функция ВыполнитьЭлементСценарияФильтр(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
//1.накладывается на заголовок(0-й СС)фильтр с заданным кодом и условием соедининия в эл.сценария
//2.фильтруются все прочие детализации по оставшимся после фильтра записям
//3.если указано конечное состояние отфильтрованные записи заголовка меняют свое состояние
//4.если указана причина отклонения для записей непрошедших переход, то проставляется она для тех записей, которые до этого состояния не меняли
переменные
  сч,
  ОпцииЭлемента,
  КодФильтра    : целое;
  СтрокаОшибки,
  ПервоначальныйФильтр  : строка;
  КоллекцияДанных       : Ivariables;
  Заголовок             : СтатическиеДанные;
  ВремяИсп: целое;
  Протокол: ОкноВывода;
начало
  КодФильтра := Сценарий.ПолеПоИмени(Сценарий_КодФильтра()).КакЦелое;
  ОпцииЭлемента := Сценарий.ПолеПоИмени(Сценарий_ОпцииЭлемента()).КакЦелое;
  SetDataFilter(ПараметрыДействия, КодФильтра, ОпцииЭлемента, stIsFilteredFieldName);
  //фильтруем детали по заголовкам, прошедшим фильтр
  КоллекцияДанных := ПараметрыДействия.Values(stVarData);
  от сч := 1 до КоллекцияДанных.Count-1 делать
  начало
    ФильтрацияНабораПоЗаголовку(ПараметрыДействия, 0, сч);
  конец;
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);

  // если указано начальное состояние - учтем
  если Сценарий.ПолеПоИмени(Сценарий_НачСостояниеДляФильтра).КакЦелое &lt;&gt; 0 тогда
  начало
    Заголовок.Filtered := нет;
    ПервоначальныйФильтр := Заголовок.Filter;
    // отфильтровать записи с несовпадающим начальным состоянием
    Заголовок.ВНачало;
    пока не Заголовок.ВКонце делать
    начало
      если Заголовок.ПолеПоИмени(stBeginDocStateFieldName).КакЦелое &lt;&gt;
           Сценарий.ПолеПоИмени(Сценарий_НачСостояниеДляФильтра).КакЦелое тогда
      начало
        Заголовок.Edit;
        Заголовок.ПолеПоИмени(stIsFilteredFieldName).КакЦелое := 1;
        Заголовок.Post;
      конец;
      Заголовок.Следующая
    конец;
    Заголовок.Filter := ПервоначальныйФильтр;
    Заголовок.Filtered := да;
  конец;

  //если есть строка ошибки для документов, не попавших под фильтр, то все записи, не попавшие под фильтр и не сменившие состояние ранее, получают эту строку ошибки
  если УбратьПробелы(Сценарий.ПолеПоИмени(Сценарий_ОшибкаДляФильтра()).КакСтрока) &lt;&gt; ''
    тогда начало
      СтрокаОшибки := Сценарий.ПолеПоИмени(Сценарий_ОшибкаДляФильтра()).КакСтрока;
      Заголовок.Filtered := нет;
      ПервоначальныйФильтр := Заголовок.Filter;
      попытка
        Заголовок.Filter :=    "("+stIsChangeStateFieldName+" in [0,2])and("+stIsFilteredFieldName+"=1)"
                          + "and("+stControlResultFieldName+" in [0,"+ЦелоеВСтроку(КонстНеСовершения_БольшеОдногоПерехода)+"])";
        Заголовок.Filtered := да;
        Заголовок.Вначало();
        пока не Заголовок.Вконце делать
        начало
          Заголовок.Edit();
          Заголовок.ПолеПоИмени(stControlResultFieldName).Какцелое := 4;
          Заголовок.ПолеПоИмени(stControlMessageFieldName).КакСтрока := СтрокаОшибки;
          Заголовок.Post();
          // переходим в начало датасета, а не на следующую запись, потому что датасет отфильтрован,
          // и изменяемые записи фильтруются. В конце цикла в датасете не останется ни одной записи.
          Заголовок.ВНачало;
        конец;
      обязательно
        Заголовок.Filtered := нет;
        Заголовок.Filter := ПервоначальныйФильтр;
        Заголовок.Filtered := да;
      конец;
    конец;
  //простановка автоматического конечного состояния и причины отклонения у не попавших под фильтр записей
  если не Сценарий.ПолеПоИмени(Сценарий_СостояниеДляФильтра()).Пустое
    тогда начало
      Заголовок.Filtered := нет;
      ПервоначальныйФильтр := Заголовок.Filter;
      попытка
        Заголовок.Filter :=    "("+stIsChangeStateFieldName+" in [0,2])and("+stIsFilteredFieldName+"=0)"
                          + "and("+stControlResultFieldName+" in [0,"+ЦелоеВСтроку(КонстНеСовершения_БольшеОдногоПерехода)+"])";
        Заголовок.Filtered := да;
        Заголовок.ВНачало();
        пока не Заголовок.ВКонце делать
        начало
          Заголовок.Edit();
          Заголовок.ПолеПоИмени(stDocStateFieldName).КакЦелое := Сценарий.ПолеПоИмени(Сценарий_СостояниеДляФильтра()).КакЦелое;
          Заголовок.ПолеПоИмени(stIsChangeStateFieldName).КакЦелое := БитИли(Заголовок.ПолеПоИмени(stIsChangeStateFieldName).КакЦелое, 1);
          Заголовок.ПолеПоИмени(stControlResultFieldName).КакЦелое := 0;
          Заголовок.ПолеПоИмени(stControlMessageFieldName).clear();
          Заголовок.Post();
          // переходим в начало датасета, а не на следующую запись, потому что датасет отфильтрован,
          // и изменяемые записи фильтруются. В конце цикла в датасете не останется ни одной записи.
          Заголовок.ВНачало;
        конец;
      обязательно
        Заголовок.Filtered := нет;
        Заголовок.Filter := ПервоначальныйФильтр;
        Заголовок.Filtered := да;
      конец;
    конец;

  ВремяИсп := ПоказыватьПротоколВыполнения;
  если (ВремяИсп &lt;&gt; 0) тогда
  начало
    Протокол := ОкноВывода;
    Протокол.Вывести('['+ВремяВСтроку(ПолучитьТекущееСистемноеВремя)+'] Число документов в заголовке после фильтра: '+ЦелоеВСтроку(Заголовок.ЧислоЗаписей));
  конец;
конец;

функция ВыполнитьЭлементСценарияМакросНаПереход(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
//макрос будет вызываться на каждую запись заголовочного набора отдельно
//дополнительно к наложенным фильтрам до макроса на детали накладываются диапазоны по ссылке на заголовок
//1.Получаем поля связки деталей с заголовком
//2.для каждой записи заголовка
//2.1 накладываем диапазон по полям связкам для каждого из наборов детали
//2.2 вызываем макрос на переход
//3. восстанавливаем индексы для детальных наборов
переменные
  ОчереднаяДеталь,
  Заголовок     : СтатическиеДанные;
  ПоляСвязки,
  Ограничение   : Variant;
  НаборыДанных  : IVariables;
  КодМакроса,
  ТипДок, сч    : целое;
  ИмяПоляВЗаголовке,
  ИмяМакроса, ПутьКМакросу: строка;
  ЭлемПропущен, ВремяИсп: целое;
  Протокол: ОкноВывода;
начало
  ЭлемПропущен := да;
  ТипДок := ПараметрыДействия.Values(stVarIntfCode);
  КодМакроса := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
  РазобратьПараметры(ПараметрыДействия, Сценарий.ПолеПоИмени(Сценарий_Параметры()).КакСтрока);
  ИмяМакроса := ПолучитьИмяМакросаПоКоду(ENUM_JUMPMACROS, КодМакроса);
  если (УбратьПробелы(ИмяМакроса) &lt;&gt; "")
    тогда начало
      Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
      НаборыДанных := ПараметрыДействия.Values(stVarData);
      Ограничение := CreateVariant();
      ПоляСвязки := CreateVariant();
      попытка
        Ограничение.VarArrayOf(0);
        если ((НаборыДанных.Count - 1) &gt; 0)
          тогда начало
            ПоляСвязки.VarArrayOf("");
            ПоляСвязки.VarArrayRedim(НаборыДанных.Count - 2);
          конец;
        //формируем перечень имен полей по которым идт связка деталей с заголовком
        ИмяПоляВЗаголовке := ПолучитьИмяПоляИДВНаборе(ПараметрыДействия, 0);
        от сч := 1 до НаборыДанных.Count-1 делать
        начало
          ОчереднаяДеталь := ПолучитьДетальИзКоллекции(ПараметрыДействия, сч);
          ПоляСвязки.AsString(сч-1) := ОчереднаяДеталь.IndexFieldNames;
          ОчереднаяДеталь.IndexFieldNames := ПолучитьИмяПоляВнешКлючВНаборе(ПараметрыДействия, сч);
        конец;

        Заголовок.ВНачало();
        пока не Заголовок.ВКонце делать
        начало
          Ограничение.ASInteger(0) := Заголовок.ПолеПоИмени(ИмяПоляВЗаголовке).КакЦелое;
          //накладываем диапазоны на детали
          от сч := 1 до НаборыДанных.Count-1 делать
          начало
            ОчереднаяДеталь := НаборыДанных.IndexValues(сч);
            ОчереднаяДеталь.SetScope(Ограничение.Value);
          конец;

          ПутьКМакросу := Paths(tpxStatesEvent) +"\"+ЦелоеВстроку(ТипДок);
          если не Реестр.Узел(ПутьКМакросу).Значение(ИмяМакроса).Существует тогда
            ПутьКМакросу := Paths(tpxStatesEvent);

          // если в меню стоит чек "Отладка сценариев переходов", то режим отладки
          если WPMenuFlagValue(amiDebugJumpMacros) = 1 тогда
            ActionScript(ABLF_SetDebug + ABLF_DebugVal, ПутьКМакросу + "\" + ИмяМакроса, ПараметрыДействия)
          иначе
            ActionScript(ABL_Exec, ПутьКМакросу + "\" + ИмяМакроса, ПараметрыДействия);
          ЭлемПропущен := нет;
          Заголовок.Следующая();
        конец;
        //снятие диапазонов с детали
        от сч := 1 до НаборыДанных.Count-1 делать
        начало
          ОчереднаяДеталь := НаборыДанных.IndexValues(сч);
          ОчереднаяДеталь.CancelRange();
        конец;
      обязательно
        //восстановление индексов
        от сч := 1 до НаборыДанных.Count-1 делать
        начало
          ОчереднаяДеталь := ПолучитьДетальИзКоллекции(ПараметрыДействия, сч);
          ОчереднаяДеталь.IndexFieldNames := ПоляСвязки.AsString(сч-1);
        конец;
      конец;
    конец
    иначе ВызватьОшибку(Формат(ОшибкаНаличияМакросаПерехода, Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое));
  если ЭлемПропущен тогда
  начало
    ВремяИсп := ПоказыватьПротоколВыполнения;
    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Вывести('['+ВремяВСтроку(ПолучитьТекущееСистемноеВремя)+'] Макрос перехода пропущен');
    конец;
  конец;
конец;

функция ВыполнитьЭлементСценарияМакросНаДействие(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
переменные
  КопияЗаголовка,
  Заголовок     : СтатическиеДанные;
  ПолеИДЗаголовка,
  ПолеНачСостояние,
  ПолеКонСостояние,
  ПолеКонСостояниеВКопии,
  ПолеФлагПоСостоянию,
  ПолеСтрРезультат,
  ПолеРезультат : IField;
  СостояниеВМакросеМеняли,
  КодМакроса, ТипДок    : ЦЕЛОЕ;
  ИмяПоляИДВЗаголовке,
  ИмяМакроса, ПутьКМакросу: строка;
  ЭлемПропущен, ВремяИсп: целое;
  Протокол: ОкноВывода;
начало
  ЭлемПропущен := да;
  ТипДок := ПараметрыДействия.Values(stVarIntfCode);
  КодМакроса := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
  ИмяМакроса := ПолучитьИмяМакросаПоКоду(ENUM_ACTIONMACROS, КодМакроса);
  КопияЗаголовка := СоздатьСтатическиеДанные();
  РазобратьПараметры(ПараметрыДействия, Сценарий.ПолеПоИмени(Сценарий_Параметры()).КакСтрока);
  если (УбратьПробелы(ИмяМакроса) &lt;&gt; "")
    тогда начало
      КопияЗаголовка.ПрисвоитьПоля(ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия));
      КопияЗаголовка.Открыть();
      КопияЗаголовка.Закачать(ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия));

      ПутьКМакросу := Paths(tpxStatesEvent) +"\"+ЦелоеВстроку(ТипДок);
      если не Реестр.Узел(ПутьКМакросу).Значение(ИмяМакроса).Существует тогда
        ПутьКМакросу := Paths(tpxStatesEvent);

      // если в меню стоит чек "Отладка сценариев действий", то режим отладки
      если WPMenuFlagValue(amiDebugActionMacros) = 1 тогда
        ActionScript(ABLF_SetDebug + ABLF_DebugVal, ПутьКМакросу + "\" + ИмяМакроса, ПараметрыДействия)
      иначе
        ActionScript(ABL_Exec, ПутьКМакросу + "\" + ИмяМакроса, ПараметрыДействия);
      ЭлемПропущен := нет;
      Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
      ИмяПоляИДВЗаголовке := ПолучитьИмяПоляИДВНаборе(ПараметрыДействия, 0);

      ПолеИДЗаголовка := Заголовок.Поле(ИмяПоляИДВЗаголовке);
      ПолеРезультат := Заголовок.Поле(stControlResultFieldName);
      ПолеСтрРезультат := Заголовок.Поле(stControlMessageFieldName);
      ПолеФлагПоСостоянию := Заголовок.Поле(stIsChangeStateFieldName);
      ПолеНачСостояние := Заголовок.Поле(stBeginDocStateFieldName);
      ПолеКонСостояние := Заголовок.Поле(stDocStateFieldName);
      ПолеКонСостояниеВКопии := КопияЗаголовка.Поле(stDocStateFieldName);
      //фиксируем изменение состояния в записи заголовка в результате совершения действия

      КопияЗаголовка.IndexFieldNames := ИмяПоляИДВЗаголовке;
      Заголовок.ВНачало();
      пока не Заголовок.Вконце делать
      начало
        СостояниеВМакросеМеняли := нет;
        если КопияЗаголовка.FindKey(ArrayOF(ПолеИДЗаголовка.КакЦелое)) тогда
          СостояниеВМакросеМеняли := (ПолеКонСостояниеВКопии.КакЦелое &lt;&gt; ПолеКонСостояние.КакЦелое)
        иначе СостояниеВМакросеМеняли := (ПолеНачСостояние.КакЦелое &lt;&gt; ПолеКонСостояние.КакЦелое);
        //документ не был отклонен пользовательским макросом или документ ранее был помечен недоступным для изменения в автопереходе
        если((ПолеРезультат.КакЦелое = 0)или(ПолеРезультат.КакЦелое = КонстНеСовершения_БольшеОдногоПерехода)
             или(ПолеРезультат.КакЦелое = КонстНеСовершения_НеПравНаПереходы))
          и СостояниеВМакросеМеняли
//?????             и (ПолеФлагПоСостоянию.КакЦелое = 0)
          тогда начало
            ПолеФлагПоСостоянию.КакЦелое := БитИли(ПолеФлагПоСостоянию.КакЦелое, 1);
            //сбрасываем системный флаг проставленный функцией автоперехода для недоступных для изменения у записей сменивших состояние
            если (ПолеРезультат.КакЦелое = КонстНеСовершения_НеПравНаПереходы)
             или (ПолеРезультат.КакЦелое = КонстНеСовершения_БольшеОдногоПерехода)
              тогда начало
                ПолеРезультат.КакЦелое := 0;
                ПолеСтрРезультат.Clear();
              конец;
          конец;
        Заголовок.Следующая();
      конец;
    конец
    иначе ВызватьОшибку(Формат(ОшибкаНаличияМакросаДействия, Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое));
  если ЭлемПропущен тогда
  начало
    ВремяИсп := ПоказыватьПротоколВыполнения;
    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Вывести('['+ВремяВСтроку(ПолучитьТекущееСистемноеВремя)+'] Макрос действия пропущен');
    конец;
  конец;
конец;

функция ВыполнитьЭлементСценарияГенерация(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
переменные
  Заголовок     : СтатическиеДанные;
  ПараметрыГенерации,
  КоллекцияГенерации    : IVariables;
  ЭлемПропущен, ВремяИсп: целое;
  Протокол: ОкноВывода;
начало
  ЭлемПропущен := да;
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  // если заголовок пустой, значит он отфильтрован на предыдущем шаге сценария
  Если Заголовок.ЧислоЗаписей &gt; 0 тогда
  начало
    КоллекцияГенерации := CreateVariables();
    РазобратьПараметры(КоллекцияГенерации, Сценарий.ПолеПоИмени(Сценарий_Параметры()).КакСтрока);
    если ПараметрыДействия.CheckParam(stVarGenerationParam) тогда
    начало
      ПараметрыГенерации := ПараметрыДействия.Values(stVarGenerationParam);
      КоллекцияГенерации.PumpData(ПараметрыГенерации);
    конец;
    если ПараметрыДействия.CheckParam("КодЗаписи") тогда
      КоллекцияГенерации.Values("КодЗаписи") := ПараметрыДействия.Values("КодЗаписи")
    иначе
      КоллекцияГенерации.Values(stVarDocsCode) := GetLimitStr(Заголовок, ПолучитьИмяПоляИДВНаборе(ПараметрыДействия, 0));
    КоллекцияГенерации.Values("ПечатныйДокументУмолчание") := да;
    // по умолчанию не показываем данные
    если не КоллекцияГенерации.CheckParam("Options") тогда
      КоллекцияГенерации.Значение("Options") := 0;
    если не ВыполнитьГенерациюПоКоду(Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое, КоллекцияГенерации) тогда
      ВызватьОшибку("Генерация отменена пользователем");
    ЭлемПропущен := нет;
  конец;
  если ЭлемПропущен тогда
  начало
    ВремяИсп := ПоказыватьПротоколВыполнения;
    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Вывести('['+ВремяВСтроку(ПолучитьТекущееСистемноеВремя)+'] Генерация пропущена');
    конец;
  конец;
конец;

функция ДобавитьОтсутствующиеСтроки(Приемник, Источник: СтатическиеДанные; ИмяПоляКлюч: СТРОКА);
переменные
  ПолеКлючДляПоиска     : IField;
начало
  ПолеКлючДляПоиска := Источник.ПолеПоИмени(ИмяПоляКлюч);
  Источник.ВНачало();
  пока не Источник.ВКонце делать
  начало
    Приемник.ВНачало();
    если не Приемник.Локализовать(ИмяПоляКлюч, ПолеКлючДляПоиска.КакЦелое, 0) тогда
      Приемник.СкопироватьЗапись(нет, Источник, "", "Id=ID");
    Источник.Следующая();
  конец;
конец;

функция ВыполнитьЭлементСценарияКонтроль(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
переменные
  ОдинНабор, НаборКонтроля,
  ЗаголовокКонтроль,
  Заголовок     : СтатическиеДанные;

  ПолеИДКонтроля,
  ПолеРезультатКонтроль,
  ПолеСтрРезультатКонтроль,
  ПолеСтрРезультат,
  ПолеРезультат         : IField;
  ПолеСпНепройденныхКонтроль, ПолеСпНепройденных: IField; 
  СписокИД            : строка;
  ФильтрыДанных, ФильтрыДанныхКонтроля: variant;
  ПредупредительныйКонтроль,
  сч,
  КодКонтроля   : целое;
  ИмяПоляВнешКлюч,
  ИмяПоляКлюч,
  ИмяПоляИД, Огр : СТРОКА;
  ОставитьНепрошедшиеКонтроль : целое;
  ЭлемПропущен, ВремяИсп: целое;
  Протокол: ОкноВывода;
  ЕстьСпНепройденных: целое;
начало
  ЭлемПропущен := да;
  КодКонтроля := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
  ПредупредительныйКонтроль := 0;
  если не Сценарий.ПолеПоИмени(Сценарий_ОпцииЭлемента()).Пустое
    тогда ПредупредительныйКонтроль := Сценарий.ПолеПоИмени(Сценарий_ОпцииЭлемента()).КакЦелое;
  ЗаголовокКонтроль := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыДействия);
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  //сохраняем первоначальные фильтры наборов данных
  ФильтрыДанных := ВернутьФильтрыНаборовДанных(ПараметрыДействия.Values(stVarData));
  ФильтрыДанныхКонтроля := ВернутьФильтрыНаборовДанных(ПараметрыДействия.Values(stVarControlData));

  ИмяПоляИД := ПолучитьИмяПоляИДВНаборе(ПараметрыДействия, 0);
  ПолеРезультатКонтроль := ЗаголовокКонтроль.Поле(stControlResultFieldName);
  ПолеСтрРезультатКонтроль := ЗаголовокКонтроль.Поле(stControlMessageFieldName);
  ПолеРезультат := Заголовок.Поле(stControlResultFieldName);
  ПолеСтрРезультат := Заголовок.Поле(stControlMessageFieldName);
  ПолеИДКонтроля := ЗаголовокКонтроль.ПолеПоИмени(ИмяПоляИД);
  если ЗаголовокКонтроль.НайтиПоле(ErrControlList, ПолеСпНепройденныхКонтроль)
    и Заголовок.НайтиПоле(ErrControlList, ПолеСпНепройденных) тогда
    ЕстьСпНепройденных := да
  иначе
    ЕстьСпНепройденных := нет;

  попытка
    // наложение фильтра на проверяемые данные только те, которые могут быть проконтролированы
    // опционально допускается выполнение контролей над документами, отклоненных предыдущими контролями
    // сделано для возможности получения конкатенации ошибок непрохождения нескольких контролей, а не только первого непрошедшего
    // при этом может возрастать время контроля
    ОставитьНепрошедшиеКонтроль := ПараметрыДействия.Значение("КонтролироватьНепрошедшиеКонтроль")=да;
    ОставитьДоступныеДляОбработки(Заголовок, ОставитьНепрошедшиеКонтроль);
    если (Заголовок.ЧислоЗаписей &lt;&gt; 0) тогда
    попытка
        если Progress&lt;&gt;nil тогда  Progress.BeginProgress;
        СписокИД := GetLimitStr(Заголовок, ИмяПоляИД);
        //фильтруем наборы детали
        от сч := 1 до Ivariables(ПараметрыДействия.Values(stVarData)).Count - 1 делать
        начало
          ОдинНабор := ПолучитьДетальИзКоллекции(ПараметрыДействия, сч);
          НаборКонтроля := ПолучитьДетальКонтроляИзКоллекции(ПараметрыДействия, сч);
          ИмяПоляВнешКлюч := ПолучитьИмяПоляВнешКлючВНаборе(ПараметрыДействия, сч);
          ИмяПоляКлюч := ПолучитьИмяПоляИДВНаборе(ПараметрыДействия, сч);
          Огр := "("+ИмяПоляВнешКлюч+" in ("+СписокИД+"))";
          //перекачка данных в наборы для контроля
          //добавляем строки, относящиеся к заголовкам, которые проходят по предыдущим элементам сценария, но которые не попали до сих пор в результат
          //и фильтр оставляем до окончания процедуры контроля, так чтобы воможно лишние для текущей проверки записи в наборе отсеянные фильтром не возникли в контроле
          ОдинНабор.Filtered := нет;
          если (УбратьПробелы(ОдинНабор.Фильтр) &lt;&gt; "")
            тогда ОдинНабор.Фильтр := "(" + ОдинНабор.Фильтр + ")and(" + Огр + ")"
            иначе ОдинНабор.Фильтр := Огр;
          ОдинНабор.Filtered := да;
          ДобавитьОтсутствующиеСтроки(НаборКонтроля, ОдинНабор, ИмяПоляКлюч);
          если (Убратьпробелы(НаборКонтроля.Фильтр) &lt;&gt; "")тогда
            НаборКонтроля.Фильтр := НаборКонтроля.Фильтр + "and("+Огр+")"
          иначе НаборКонтроля.Фильтр := Огр;
          НаборКонтроля.Filtered := да;
        конец;
        //перекачка набора заголовка
        НаборКонтроля := ПолучитьЗаголовокКонтроляИЗКоллекции(ПараметрыДействия);
        ДобавитьОтсутствующиеСтроки(НаборКонтроля, Заголовок, ИмяПоляИД);
        Огр := "("+ИмяПоляИД+" in ("+СписокИД+"))";
        НаборКонтроля.Filtered := нет;
        если (УбратьПробелы(НаборКонтроля.Фильтр) &lt;&gt; "")тогда
          НаборКонтроля.Фильтр := НаборКонтроля.Фильтр + "and("+Огр+")"
        иначе НаборКонтроля.Фильтр := Огр;
        НаборКонтроля.Filtered := да;
        // если установлена галка Сервис/Управление/Система состояний/Вызывать контроли в режиме предконтроля,
        // то взведем флаг вывода формы предконтроля
        если WPMenuFlagValue(amiCallControlInBeforeMode) = 1 тогда
          ПараметрыДействия.Values(кВклРежимПредКонтроляИзСС) := 1;
        //выполнение контроля
        выбрать Сценарий.ПолеПоИмени(Сценарий_НаправлениеДвижения()).КакЦелое из
          0: ExecuteControl(КодКонтроля, ctxState, ПараметрыДействия);
          1: ExecuteControl(КодКонтроля, ctxStateInvert, ПараметрыДействия);
        конец;
        ЭлемПропущен := нет;
        //простановка результатов контроля в данных
        ЗаголовокКонтроль.Вначало();
        пока не ЗаголовокКонтроль.ВКонце делать
        начало
          //находим запись в основных данных
          если (ПолеРезультатКонтроль.КакЦелое &gt; 1) и Заголовок.Локализовать("ID", ПолеИДКонтроля.КакЦелое, 0)
            тогда начало
              Заголовок.Edit();
              если ПредупредительныйКонтроль тогда
              начало
                если не(ПолеРезультат.КакЦелое=-2001)тогда ПолеРезультат.КакЦелое := -1001
              конец
              иначе
                ПолеРезультат.КакЦелое := -2001;
              ПолеСтрРезультат.КакСтрока := ПолеСтрРезультатКонтроль.КакСтрока;
              если ЕстьСпНепройденных тогда ПолеСпНепройденных.КакСтрока := ПолеСпНепройденныхКонтроль.КакСтрока;
              Заголовок.Post();
            конец;
          ЗаголовокКонтроль.Следующая();
        конец;
    обязательно
      если Progress&lt;&gt;nil тогда  Progress.EndProgress;
    конец;
  обязательно
    // восстановим исходные фильтры наборов данных
    ВосстановитьФильтрыНаборовДанных(ПараметрыДействия.Values(stVarData), ФильтрыДанных);
    // восстановим исходные фильтры наборов данных для контроля
    ВосстановитьФильтрыНаборовДанных(ПараметрыДействия.Values(stVarControlData), ФильтрыДанныхКонтроля);
  конец;
  если ЭлемПропущен тогда
  начало
    ВремяИсп := ПоказыватьПротоколВыполнения;
    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Вывести('['+ВремяВСтроку(ПолучитьТекущееСистемноеВремя)+'] Контроль пропущен');
    конец;
  конец;
конец;

функция ВыполнитьЭлементСценарияПечатьДок(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
переменные
  ПараметрыПечати,
  КоллекцияПечати: IVariables;
  ДанныеНаПечать: СтатическиеДанные;
  КодПечатногоДок: целое;
  ЭлемПропущен, ВремяИсп: целое;
  Протокол: ОкноВывода;
начало
  ЭлемПропущен := да;
  ДанныеНаПечать := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  если ДанныеНаПечать.ЧислоЗаписей &lt;&gt; 0
    тогда начало
      КоллекцияПечати := CreateVariables();
      КодПечатногоДок := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
      //перекачиваем колллекцию с дополнительными параметрами для печати
      если ПараметрыДействия.CheckParam(stVarPrintVars)
        тогда начало
          ПараметрыПечати := ПараметрыДействия.Values(stVarPrintVars);
          КоллекцияПечати.PumpData(ПараметрыПечати);
        конец;
      если ПараметрыДействия.CheckParam("КодЗаписи") тогда
        КоллекцияПечати.Values("КодЗаписи") := ПараметрыДействия.Values("КодЗаписи")
      иначе
        КоллекцияПечати.Values(stVarDocsCode) := GetLimitStr(ДанныеНаПечать, ПолучитьИмяПоляИДВНаборе(ПараметрыДействия, 0));
      КоллекцияПечати.Значение("НеФормироватьОгрПоКодуДокумента") := да;
      ExecuteDocument(КодПечатногоДок, КоллекцияПечати);
      ЭлемПропущен := нет;
    конец;
  если ЭлемПропущен тогда
  начало
    ВремяИсп := ПоказыватьПротоколВыполнения;
    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      Протокол.Вывести('['+ВремяВСтроку(ПолучитьТекущееСистемноеВремя)+'] Печатный документ пропущен');
    конец;
  конец;
конец;

функция ЛокализоватьЗапись(Связи: СтатическиеДанные; Коллекция: IVariables; ЭтоИсточник: целое): целое;
переменные
  Заголовок, Деталь: СтатическиеДанные;
  НомерДет, ИД: целое;
  ИмяКлючПоля, ИмяСвязПоля: строка;
начало
  если ЭтоИсточник тогда
  начало
    ИД := Связи.ПолеПоИмени(Связь_ИДДочерний()).КакЦелое;
    НомерДет := Связи.ПолеПоИмени(Связь_ТипДокДочерний()).КакЦелое ост 100;
  конец
  иначе
  начало
    ИД := Связи.ПолеПоИмени(Связь_ИДРодитель()).КакЦелое;
    НомерДет := Связи.ПолеПоИмени(Связь_ТипДокРодитель()).КакЦелое ост 100;
  конец;
  если НомерДет &lt;&gt; 0 тогда
  начало
    ИмяКлючПоля := ПолучитьИмяПоляИДВНаборе(Коллекция, НомерДет);
    ИмяСвязПоля := ПолучитьИмяПоляВнешКлючВНаборе(Коллекция, НомерДет);
    Деталь := ПолучитьДетальИзКоллекции(Коллекция, НомерДет);
    ИД := Деталь.Lookup(ИмяКлючПоля, ИД, ИмяСвязПоля);
  конец;
  ИмяКлючПоля := ПолучитьИмяПоляИДВНаборе(Коллекция, 0);
  Заголовок := ПолучитьЗаголовокИЗКоллекции(Коллекция);
  Результат := Заголовок.Locate(ИмяКлючПоля, ИД, 0);
конец;

функция ВернутьРезультатПоСвязи(ПараметрыПриемник, ПараметрыИсточник: IVariables; Связи: СтатическиеДанные);
переменные
  ЗаголовокПриемник, ЗаголовокИсточник: СтатическиеДанные;
  ПолеДочернРезультат,
  ПолеДочернСтрРезультат,
  ПолеРодительСтрРезультат,
  ПолеРодительРезультат: Поле;

  РежимКаскада, НеПрошлоПроверку, Фильтрованный: целое;
  СписокОшибок: Текст;
начало
  //фиксация не успешного прохождения каскадного перехода в связанной записи набора для родительского перехода
  ЗаголовокПриемник := ПолучитьЗаголовокИЗКоллекции(ПараметрыПриемник);
  ЗаголовокИсточник := ПолучитьЗаголовокИЗКоллекции(ПараметрыИсточник);

  СнятиеФильтровСНаборов(ПараметрыИсточник);

  РежимКаскада := ПолучитьРежимКаскадногоПерехода(ПараметрыПриемник);  

  ПолеДочернРезультат := ЗаголовокИсточник.Поле(stControlResultFieldName);
  ПолеДочернСтрРезультат := ЗаголовокИсточник.Поле(stControlMessageFieldName);
  ПолеРодительРезультат := ЗаголовокПриемник.Поле(stControlResultFieldName);
  ПолеРодительСтрРезультат := ЗаголовокПриемник.Поле(stControlMessageFieldName);
  
  НеПрошлоПроверку := 0;
  СписокОшибок := СоздатьТекст;
  СписокОшибок.Сортированый := да;
  СписокОшибок.Дубликаты := нет;

  Фильтрованный := ЗаголовокПриемник.Filtered;
  ЗаголовокПриемник.Filtered := нет;

  Связи.ВНачало;
  пока не Связи.ВКонце делать
  начало    
    если ЛокализоватьЗапись(Связи, ПараметрыИсточник, да) тогда
    если (((ПолеДочернРезультат.КакЦелое &gt; 0)
     или(ПолеДочернСтрРезультат.КакСтрока &lt;&gt; ""))и(РежимКаскада &lt; 2))
     // В случае нажатия отмены в диалоге подписания отменяем обработку даже при режиме каскада 2   
     или (ПолеДочернРезультат.КакЦелое = -8) тогда 
     начало
       если ЛокализоватьЗапись(Связи, ПараметрыПриемник, нет) тогда
       начало
         ЗаголовокПриемник.Edit;
         ПолеРодительРезультат.КакСтрока := 4;
         если ПолеРодительСтрРезультат.КакСтрока &lt;&gt; "" тогда
           ПолеРодительСтрРезультат.КакСтрока := ПолеРодительСтрРезультат.КакСтрока + #13#10 + ПолеДочернСтрРезультат.КакСтрока
         иначе
           ПолеРодительСтрРезультат.КакСтрока := ПолеДочернСтрРезультат.КакСтрока;
         ЗаголовокПриемник.Post;
         НеПрошлоПроверку := НеПрошлоПроверку + 1;
       конец;  
     конец;
    Связи.Следующая;               
  конец;
  ПараметрыИсточник.Values(stNotCheckJump) := НеПрошлоПроверку;
  
  ЗаголовокПриемник.ВНачало;
  пока не ЗаголовокПриемник.ВКонце делать
  начало    
    СписокОшибок.Значение := ПолеРодительСтрРезультат.КакСтрока;
    если СписокОшибок.Количество &gt; 0 тогда
    начало
      ЗаголовокПриемник.Edit();
      ПолеРодительСтрРезультат.КакСтрока := ОшибкаСовершенияКаскадПерехода() + #13#10 + СписокОшибок.Значение;
      ЗаголовокПриемник.Post();
    конец;
    ЗаголовокПриемник.Следующая;
  конец;
  ЗаголовокПриемник.Filtered := Фильтрованный; 
  УдалитьОбъект(СписокОшибок);
конец;

функция ВернутьРезультатПоПроизволПолям(КолПриемник, КолИсточник: IVariables; ИмяПоляПриемника, ИмяПоляИсточника: строка);
переменные
  Приемник,
  Источник      : СтатическиеДанные;
  ДляПоиска     : Variant;
  ПолеИДПриемникаВСвязи,
  ПолеИсточникаРезультат,
  ПолеИсточникаСтрРезультат,
  ПолеПриемникаРезультат,
  ПолеПриемникаСтрРезультат: IField;
  РезультатпоЗаписиПриемника,
  РежимКаскада,
  НажатаОтмена, НеПрошлоПроверку: целое;
  СписокОшибок: Текст;
начало
  Приемник := ПолучитьЗаголовокИЗКоллекции(КолПриемник);
  Источник := ПолучитьЗаголовокИЗКоллекции(КолИсточник);
  РежимКаскада := ПолучитьРежимКаскадногоПерехода(КолПриемник);  

  ПолеИсточникаРезультат := Источник.Поле(stControlResultFieldName);
  ПолеИсточникаСтрРезультат := Источник.Поле(stControlMessageFieldName);
  ПолеПриемникаРезультат := Приемник.Поле(stControlResultFieldName);
  ПолеПриемникаСтрРезультат := Приемник.Поле(stControlMessageFieldName);

  ПолеИДПриемникаВСвязи := Приемник.Поле(ИмяПоляПриемника);
  Источник.IndexFieldNames := ИмяПоляИсточника;
  Источник.Фильтр := "";
  ДляПоиска := CreateVariant();
  НеПрошлоПроверку := 0;
  
  СписокОшибок := СоздатьТекст;
  СписокОшибок.Сортированый := да;
  СписокОшибок.Дубликаты := нет;
  
  попытка
    ДляПоиска.VarArrayOf(0);
    Приемник.ВНачало();
    пока не Приемник.ВКонце делать
    начало
      ДляПоиска.AsInteger(0) := ПолеИДПриемникаВСвязи.КакЦелое;
      Источник.SetScope(ДляПоиска.Value);
      РезультатпоЗаписиПриемника := 0;
      НажатаОтмена := нет;
      СписокОшибок.Значение := "";
      Источник.Вначало();
      пока не Источник.Вконце делать
      начало
        если (РезультатпоЗаписиПриемника &lt; ПолеИсточникаРезультат.КакЦелое) тогда
          РезультатпоЗаписиПриемника  := ПолеИсточникаРезультат.КакЦелое;
        если (ПолеИсточникаСтрРезультат.КакСтрока &lt;&gt; "") тогда 
          СписокОшибок.Добавить(ПолеИсточникаСтрРезультат.КакСтрока);
        // В случае нажатия отмены в диалоге подписания отменяем обработку даже при режиме каскада 2  
        если ПолеИсточникаРезультат.КакЦелое = -8 тогда
          НажатаОтмена := да;
        Источник.Следующая();
      конец;
      если (((РезультатпоЗаписиПриемника &lt;&gt; 0) или (СписокОшибок.Количество &gt; 0))и (РежимКаскада &lt; 2)) или НажатаОтмена тогда
      //Если в документе найдена ошибка, то после ее проставления документ попадет под фильтр
      //и переходить на следующую запись не нужно
      начало
        Приемник.Edit();
        ПолеПриемникаРезультат.КакСтрока := 4;
        ПолеПриемникаСтрРезультат.КакСтрока := ОшибкаСовершенияКаскадПерехода() + #13#10 + СписокОшибок.РазделенноеЗначение(#13#10);
        Приемник.Post();
        НеПрошлоПроверку := НеПрошлоПроверку + 1;
      конец
      иначе
        Приемник.Следующая();
    конец;//цикл по заголовкам набора для  дочернего перехода
  обязательно
    Источник.CancelRange();
    КолИсточник.Values(stNotCheckJump) := НеПрошлоПроверку;
    УдалитьОбъект(СписокОшибок);
  конец;
конец;

функция ДобавитьФильтр(Данные: СтатическиеДанные; Фильтр: строка; Оператор: строка = "and"): строка;
начало
  Результат := Данные.Фильтр;
  если УбратьПробелы(Результат) &lt;&gt; "" тогда
    Данные.Фильтр := Формат("(%s) %s (%s)", Результат, Оператор, Фильтр)
  иначе
    Данные.Фильтр := Фильтр;  
конец;

функция ПолучитьВсеИД(Коллекция: IVariables): строка;
переменные
  КоллекцияСДанными: IVariables;
  Данные: СтатическиеДанные;
  ПереченьРодительскихИДЗаголовка, ПереченьИДДетали: строка;
  ИзначальныйФильтрДетали: строка;
  ИмяПоляВнешКлючВРодНаборе, ИмяПоляИДВРодительНаборе: СТРОКА;
  сч: целое;  
начало
  КоллекцияСДанными := Коллекция.Values(stVarData);
  от сч := 0 до КоллекцияСДанными.Count - 1 делать
  начало
    Данные := КоллекцияСДанными.Значение(ЦелоеВСтроку(сч));
    ИмяПоляИДВРодительНаборе := ПолучитьИмяПоляИДВНаборе(Коллекция, сч);        
    если сч = 0 тогда
    начало
      ПереченьРодительскихИДЗаголовка := GetLimitStr(Данные, ИмяПоляИДВРодительНаборе);        
      Результат := ПереченьРодительскихИДЗаголовка;
    конец  
    иначе
    начало
      ИмяПоляВнешКлючВРодНаборе := ПолучитьИмяПоляВнешКлючВНаборе(Коллекция, сч);
      ИзначальныйФильтрДетали := ДобавитьФильтр(Данные, Формат("%s in (%s)", ИмяПоляВнешКлючВРодНаборе, ПереченьРодительскихИДЗаголовка));
      ПереченьИДДетали := GetLimitStr(Данные, ИмяПоляИДВРодительНаборе);
      если ПереченьИДДетали &lt;&gt; "" тогда
      Результат := Результат + "," + ПереченьИДДетали;
      Данные.Фильтр := ИзначальныйФильтрДетали;
    конец;
  конец;
конец;

функция ПолучитьИДКаскада(LinkInfo: ILinkInfo2; СписокИД, ТипВнешСвязи: строка; СвязьДоч_Родитель: целое; Связи: СтатическиеДанные): строка;
переменные  
  ИДЗаписейДочерн, ИмяПоляИДРодительВСвязи: СТРОКА;  
  Фильтр: IVariables;
  СвязиДок: СтатическиеДанные;
  Маппинг: Строка;
начало
  Результат := "";
  если СвязьДоч_Родитель тогда
    ИмяПоляИДРодительВСвязи := Связь_ИДДочерний()
  иначе
    ИмяПоляИДРодительВСвязи := Связь_ИДРодитель();
  
  Фильтр := CreateVariables();
  попытка    
    Фильтр.Values("LinkTypeID") := ТипВнешСвязи;
    Фильтр.Values(ИмяПоляИДРодительВСвязи) := СписокИД;
    СвязиДок := LinkInfo.GetLinks(Фильтр);    
    если Связи &lt;&gt; nil тогда
      УдалитьОбъект(Связи);
    Связи := СоздатьСтатическиеДанные;
    Связи.ПрисвоитьПоля(СвязиДок);
    Связи.Открыть;
    Маппинг := "";
    //если связь доч. документ -&gt; родительский, поменяем дочерние и родительские колонки
    если СвязьДоч_Родитель тогда
      Маппинг := Формат("%s=%s,%1:s=%0:s,%2:s=%3:s,%3:s=%2:s", Связь_ТипДокРодитель(), Связь_ТипДокДочерний(), Связь_ИДРодитель(), Связь_ИДДочерний());
    Связи.Закачать(СвязиДок, Маппинг);
    ИДЗаписейДочерн := GetLimitStr(Связи, Связь_ИДДочерний());             
    Результат := ПолучитьИДЗаголовка(ИДЗаписейДочерн, Связи.ПолеПоИмени(Связь_ТипДокРодитель()).КакЦелое);
  обязательно
    УдалитьОбъект(Фильтр);
  конец;
конец;

функция ВыполнитьКаскадПоВнешСвязи(ПараметрыРодительДействия: IVariables; ТипВнешСвязи, ИмяДочернДействия: строка;
                                   ТипДочернДок, ЗаписиДочериВРодительПереходе: целое);
//каскадное действие выполняется сразу для всех документов, связанных внешними связями с записями родительского перехода
переменные
  LinkInfo              : ILinkInfo2;
  Заголовок,
  ПереченьСущСвязей     : СтатическиеДанные;
  Фильтр, Коллекция     : IVariables;
  ИзначальныйФильтр,
  ПереченьРодительскихИД,
  ИДДляДочернДействия: СТРОКА;
  РежимКаскада,сч: целое;
  тОгрОжидающего: текст;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыРодительДействия);

  LinkInfo := CreateComObject(TLinkInfo2);
  Коллекция := CreateVariables();
  Фильтр := CreateVariables();
  попытка
    СоединитьИнтерфейс(LinkInfo);
    ИзначальныйФильтр := ДобавитьФильтр(Заголовок, ФильтрПрошедшиеПереход());
    Заголовок.Filtered := да;
    //выполняется только для каскадных действий заданных внешней связью
    если (Заголовок.ЧислоЗаписей &lt;&gt; 0) тогда 
    начало
      ПереченьРодительскихИД := ПолучитьВсеИД(ПараметрыРодительДействия);        
      ИДДляДочернДействия := ПолучитьИДКаскада(LinkInfo, ПереченьРодительскихИД, ТипВнешСвязи, ЗаписиДочериВРодительПереходе, ПереченьСущСвязей);
        если (ПереченьСущСвязей.ЧислоЗаписей &lt;&gt; 0)
          тогда начало
            РежимКаскада := ПолучитьРежимКаскадногоПерехода(ПараметрыРодительДействия);
            //заполнение коллекции параметров для каскадного действия
            ПараметрыРодительДействия.Values(_stVarChildIntfCode) := ТипДочернДок;
            ПараметрыРодительДействия.Values(_stVarChildActionName) := ИмяДочернДействия;
            ПараметрыРодительДействия.Values(stVarCascadeIntfCode) := ПараметрыРодительДействия.Values(stVarIntfCode);
            ФормКоллекциюДляДочернДок(Коллекция, ПараметрыРодительДействия);
            // чтоб разрешить проведение части документов при режимах 1 и 2
            если РежимКаскада &lt;&gt; 0 тогда
              ПараметрыРодительДействия.Значение(stVarNeedAll) := 0;
//            Коллекция.Values(stVarAction) := ПолучитьИДДействияПоИмениИТипуДок(ИмяДочернДействия, ТипДочернДок);
            тОгрОжидающего := СоздатьТекст;
            если РежимКаскада = 1 тогда
            начало
              тОгрОжидающего.РазделенноеЗначение := ИДДляДочернДействия;
              от сч := 0 до тОгрОжидающего.Количество - 1 делать
              начало
                Коллекция.Values(stVarDocsCode) := тОгрОжидающего.Стр(сч);
                //вызов каскадного действия
                MakeAction(Коллекция);

                если (Коллекция.Values(stNotCheckJump) &gt; 0) тогда
                  ВернутьРезультатПоСвязи(ПараметрыРодительДействия, Коллекция, ПереченьСущСвязей);
              конец;
            конец
            иначе начало
              Коллекция.Values(stVarDocsCode) := ИДДляДочернДействия;
              //вызов каскадного действия
              MakeAction(Коллекция);

              ВернутьРезультатПоСвязи(ПараметрыРодительДействия, Коллекция, ПереченьСущСвязей);
              если (РежимКаскада = 0) и (Коллекция.Values(stNotCheckJump) &gt; 0) тогда
                UpdateError := да;
            конец;
          конец;//для текущих заголовков с указанным типом документа в дочернем действии есть над чем его выполнять
      конец;
  обязательно
    Заголовок.Filtered := нет;
    Заголовок.Фильтр := ИзначальныйФильтр;
    Заголовок.Filtered := (УбратьПробелы(Заголовок.Фильтр) &lt;&gt; "");
    УдалитьОбъект(тОгрОжидающего);
    ЗакрытьИнтерфейс(LinkInfo);
    УдалитьОбъект(LinkInfo);
  конец;
конец;

функция ВыполнитьКаскадПоВнутрСвязи(ПараметрыРодительДействия: Ivariables; СсылкаНаВнутрСвязь, ИмяДочернДействия: строка; ТипДокОжидающего, ЗаписиДочернВРодительПереходе: целое);
переменные
  КоллекцияДляДочерн    : IVariables;
  Заголовок, ОписаниеСвязи,
  ПоляИнициатораКаскада,
  ПоляОжидающегоКаскада : СтатическиеДанные;
  ИзначальныйФильтр,
  ИмяПоляДляСвязиВИнициаторе,
  ИмяПоляДляСвязиВОжидающем,
  ИмяОгрДляОжидающего,
  ЗначенияОгрДляДочернДействия: строка;
  НаличиеАтрибутовСвязи,
  ТипДокИнициатора, сч, сч2, РежимКаскада: целое;
  тПоляОжидающего,тОгрОжидающего: текст;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыРодительДействия);
  ИзначальныйФильтр := Заголовок.Фильтр;
  ТипДокИнициатора := ПараметрыРодительДействия.Values(stVarIntfCode);
  ОписаниеСвязи := ПолучитьОписаниеВнутрСвязи(СсылкаНаВнутрСвязь);
  ПоляИнициатораКаскада := GetDocFieldsByDocType(ТипДокИнициатора);
  ПоляОжидающегоКаскада := GetDocFieldsByDocType(ТипДокОжидающего);
  ПоляИнициатораКаскада.IndexFieldNames := 'DocField_ID';
  ПоляОжидающегоКаскада.IndexFieldNames := 'DocField_ID';
  КоллекцияДляДочерн := CreateVariables();
  попытка
    если ЗаписиДочернВРодительПереходе тогда
    начало
      НаличиеАтрибутовСвязи := ПоляИнициатораКаскада.FindKey(МассивИз(ОписаниеСвязи.Поле(ВнСвязь_ПолеДочерний()).какЦелое))
                             и ПоляОжидающегоКаскада.FindKey(МассивИз(ОписаниеСвязи.Поле(ВнСвязь_ПолеРодитель()).какЦелое))
    конец
    иначе
      НаличиеАтрибутовСвязи := ПоляИнициатораКаскада.FindKey(МассивИз(ОписаниеСвязи.Поле(ВнСвязь_ПолеРодитель()).какЦелое))
                             и ПоляОжидающегоКаскада.FindKey(МассивИз(ОписаниеСвязи.Поле(ВнСвязь_ПолеДочерний()).какЦелое));

    //по информации о внутренней связи находим имена полей из DocumentFields для инициатора и ожидающиего каскад
    ПоляИнициатораКаскада.IndexFieldNames := ДокПоле_Ид();
    ПоляОжидающегоКаскада.IndexFieldNames := ДокПоле_Ид();
    если НаличиеАтрибутовСвязи тогда
    начало
      ИмяПоляДляСвязиВИнициаторе := ПоляИнициатораКаскада.ПолеПоИмени(ДокПоле_ИмяВСостояниях()).КакСтрока;
      ИмяПоляДляСвязиВОжидающем := ПоляОжидающегоКаскада.ПолеПоИмени(ДокПоле_ИмяВСостояниях()).КакСтрока;
      ИмяОгрДляОжидающего := ПоляОжидающегоКаскада.ПолеПоИмени(ДокПоле_ИмяВАлгоритмах()).КакСтрока;

      если (УбратьПробелы(ИзначальныйФильтр) &lt;&gt; "")
        тогда Заголовок.Фильтр := "("+ИзначальныйФильтр+")and("+ФильтрПрошедшиеПереход()+")"
        иначе Заголовок.Фильтр := ФильтрПрошедшиеПереход();
      Заголовок.Filtered := да;
      //выполняется только для каскадных действий заданных внешней связью
      если (Заголовок.ЧислоЗаписей &lt;&gt; 0) тогда
      начало
        РежимКаскада := ПолучитьРежимКаскадногоПерехода(ПараметрыРодительДействия);
        //вызываем дочернее действие с ограничением по выбранному полю и значениями документов  прошедших текущий переход
        ЗначенияОгрДляДочернДействия := GetLimitStr(Заголовок, ИмяПоляДляСвязиВИнициаторе);
        //заполнение коллекции параметров для каскадного действия
        ПараметрыРодительДействия.Values(_stVarChildIntfCode) := ТипДокОжидающего;
        ПараметрыРодительДействия.Values(_stVarChildActionName) := ИмяДочернДействия;
        ФормКоллекциюДляДочернДок(КоллекцияДляДочерн, ПараметрыРодительДействия);
        // чтоб разрешить проведение части документов при режимах 1 и 2
        если РежимКаскада &lt;&gt; 0 тогда
          ПараметрыРодительДействия.Значение(stVarNeedAll) := 0;
        тОгрОжидающего := СоздатьТекст;
        если РежимКаскада = 1 тогда
        начало
          тОгрОжидающего.РазделенноеЗначение := ЗначенияОгрДляДочернДействия;
          от сч2 := 0 до тОгрОжидающего.Количество - 1 делать
          начало
            тПоляОжидающего := СоздатьТекст;
            попытка
              тПоляОжидающего.РазделенноеЗначение := ИмяОгрДляОжидающего;
              от сч := 0 до тПоляОжидающего.Количество - 1 делать
                КоллекцияДляДочерн.Values(тПоляОжидающего.Стр(сч)) := тОгрОжидающего.Стр(сч2);
            обязательно
              УдалитьОбъект(тПоляОжидающего);
            конец; // попытка
            //вызов каскадного действия
            MakeAction(КоллекцияДляДочерн);
            если (КоллекцияДляДочерн.Values(stNotCheckJump) &gt; 0) тогда
              ВернутьРезультатПоПроизволПолям(ПараметрыРодительДействия, КоллекцияДляДочерн, ИмяПоляДляСвязиВИнициаторе, ИмяПоляДляСвязиВОжидающем);
          конец; // от
        конец // если
        иначе начало
          тПоляОжидающего := СоздатьТекст;
          попытка
            тПоляОжидающего.РазделенноеЗначение := ИмяОгрДляОжидающего;
            от сч := 0 до тПоляОжидающего.Количество - 1 делать
              КоллекцияДляДочерн.Values(тПоляОжидающего.Стр(сч)) := ЗначенияОгрДляДочернДействия;
          обязательно
            УдалитьОбъект(тПоляОжидающего);
          конец; // попытка
          //вызов каскадного действия
          MakeAction(КоллекцияДляДочерн);
          ВернутьРезультатПоПроизволПолям(ПараметрыРодительДействия, КоллекцияДляДочерн, ИмяПоляДляСвязиВИнициаторе, ИмяПоляДляСвязиВОжидающем);
          если (РежимКаскада = 0) и (КоллекцияДляДочерн.Values(stNotCheckJump) &gt; 0) тогда
            UpdateError := да;
        конец; // иначе
      конец; // если
    конец;
  обязательно
    Заголовок.Filtered := нет;
    Заголовок.Фильтр := ИзначальныйФильтр;
    Заголовок.Filtered := (УбратьПробелы(Заголовок.Фильтр) &lt;&gt; "");

    УдалитьОбъект(тОгрОжидающего);
  конец;
конец;

функция ВыполнитьЭлементСценарияКаскад(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
переменные
  СсылкаНаВнешТипСвязи,
  СсылкаНаВнутрТипСвязи,
  ИмяДочернДействия: СТРОКА;
  ТипДочернДок  : целое;
начало
    РазобратьПараметры(ПараметрыДействия, Сценарий.ПолеПоИмени(Сценарий_Параметры()).КакСтрока);
    СсылкаНаВнешТипСвязи := Сценарий.ПолеПоИмени(Сценарий_СсылкаНаВнешСвязь()).КакСтрока;
    СсылкаНаВнутрТипСвязи := Сценарий.ПолеПоИмени(Сценарий_СсылкаНаВнутрСвязь()).КакСтрока;
    ИмяДочернДействия := Сценарий.ПолеПоИмени(Сценарий_ИмяДочернДействия()).КакСтрока;
    ТипДочернДок := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
    //выполняется только для каскадных действий, заданных внешней связью
    если (СсылкаНаВнешТипСвязи &lt;&gt; "") тогда
    начало
      //вытаскиваем связи, для которых строка в переходе является родительской
      ВыполнитьКаскадПоВнешСвязи(ПараметрыДействия, СсылкаНаВнешТипСвязи, ИмяДочернДействия, ТипДочернДок, 0);
      //вытаскиваем связи, для которых строка в переходе является дочерней
      ВыполнитьКаскадПоВнешСвязи(ПараметрыДействия, СсылкаНаВнешТипСвязи, ИмяДочернДействия, ТипДочернДок, 1);
    конец;
    если (СсылкаНаВнутрТипСвязи &lt;&gt; "") тогда
    начало
      //вытаскиваем связи, для которых строка в переходе является родительской
      ВыполнитьКаскадПоВнутрСвязи(ПараметрыДействия, СсылкаНаВнутрТипСвязи, ИмяДочернДействия, ТипДочернДок, 0);
      //вытаскиваем связи, для которых строка в переходе является дочерней
      ВыполнитьКаскадПоВнутрСвязи(ПараметрыДействия, СсылкаНаВнутрТипСвязи, ИмяДочернДействия, ТипДочернДок, 1);
    конец;
конец;

функция ПолучитьКонфигурациюСценария(Коллекция: IVariables);
переменные
  Поток: ВнешнийОБЪЕКТ;
  Буфер: СтатическиеДанные;
начало
  Поток := ReadEnum(ENUM_SCENARIO);
  Буфер := СоздатьСтатическиеДанные;
  попытка
    Буфер.ДобавитьЦелоеПоле("CLS");
    Буфер.ДобавитьСтроковоеПоле("OptionsPath", 255);
    Буфер.Открыть;
    Буфер.PumpData(Поток, "");
    Буфер.IndexFieldNames := 'CLS';    
    если не Буфер.FindKey(МассивИз(Коллекция.Значение("Код"))) тогда
      ВызватьОшибку("Сценарий " + ФорматироватьКлассификатор(Коллекция.Значение("Код"), '00.00.00.00') + ' не найден в конфигурации.');
    Коллекция.Values("OptionsPath") := Буфер.ПолеПоИмени("OptionsPath").КакСтрока;
    ЗагрузитьНастройкиОтчета(Коллекция, Коллекция);  
  обязательно
    УдалитьОбъект(Поток);
    УдалитьОбъект(Буфер);
   конец;
конец;

функция ВыполнитьСценарий(КодСценария: целое; Коллекция: IVariables);
переменные
  Сценарий, Заголовок, ОдинНабор: СтатическиеДанные;
  КоллекцияСДанными, КоллекцияКонтроля, КоллекцияСценария: Ivariables;
  сч: целое;
начало
  КоллекцияСценария := СоздатьКоллекцию;
  КоллекцияСценария.PumpData(Коллекция);
  КоллекцияСценария.Значение("Код") := КодСценария;  
  ПолучитьКонфигурациюСценария(КоллекцияСценария);
  если не КоллекцияСценария.ПараметрСуществует(stVarData) тогда
  начало
    если КоллекцияСценария.Значение(stVarIntfCode) = 0 тогда
      КоллекцияСценария.Значение(stVarIntfCode) := КодСценария цел 10000;
    ExecScript(ProjectName + '\Объекты\Документы\Скрипты\Формирование\ДанныеДляЭЦП', КоллекцияСценария);
  конец;
  Сценарий := СоздатьСтатическиеДанные;
  попытка
    Сценарий.СоединитьБД;
    Сценарий.Запрос := "[PumpData]{" +
      "select sjc.controlcode, sjc.controloptions, sjc.condition, sjc.enabled, sjc.beginstateref, " + nl +
      "  sjc.recordtype, sjc.exectype, sjc.execorder, sjc.filtercode, sjc.filternote, sjc.endstateref, sjc.ReferenceRef, " + nl +
      "  sjc.StaticLinkRef, sjc.ELEMENTSCENARIOREF, 0 ActionRef, 0 InvertFlag " + nl +
      "FROM State_JumpControl sjc" + nl +
      "WHERE (sjc.Enabled = 1)" + nl +
      /$если Бюджет 
      "and(sjc.IsBudget in (1, 2))" + nl +
      /$иначе                    
      "and(sjc.IsBudget in (0, 2))" + nl +
      /$конец      
      "and(sjc.SCENARIOREF = " + ЦелоеВСтроку(КодСценария) + ") order by sjc.EXECORDER}";
    Сценарий.Открыть;
    Сценарий.IndexFieldNames := Сценарий_ПорядокВып;
    Заголовок := ПолучитьЗаголовокИЗКоллекции(КоллекцияСценария);
    //подготовка данных для возможности запуска печати документов
    если не Коллекция.CheckParam(stVarPrintData) тогда
      КоллекцияСценария.Values(stVarPrintData) := СозданиеКопииДокументов(Заголовок);
    если не КоллекцияСценария.CheckParam(stVarPrintVars) тогда
      КоллекцияСценария.Values(stVarPrintVars) := CreateVariables;
    если Коллекция.CheckParam(stVarControlData) тогда
      КоллекцияСценария.Values(stVarControlData) := Коллекция.Значение(stVarControlData);  
    //подготовка данных для возможности запуска контролей
    КоллекцияСДанными := КоллекцияСценария.Values(stVarData);
    КоллекцияКонтроля := CreateVariables;
    от сч := 0 до КоллекцияСДанными.Count-1 делать
    начало
      ОдинНабор := КоллекцияСДанными.IndexValues(сч);
      КоллекцияКонтроля.Values(КоллекцияСДанными.Names(сч)) := СозданиеКопииДокументов(ОдинНабор);
    конец;
    КоллекцияСценария.Values(stVarControlData) := КоллекцияКонтроля;
    Адаптер.ВыполнитьПунктыСценарияДействия(КоллекцияСценария, Сценарий);
  обязательно
    Коллекция.Values(stVarData) := КоллекцияСценария.Values(stVarData);
    Коллекция.Values(stVarTemplates) := КоллекцияСценария.Values(stVarTemplates);   
    Коллекция.Values("НеВызыватьОшибкуПоРезультату") := КоллекцияСценария.Values("НеВызыватьОшибкуПоРезультату");
    Коллекция.Values(stVarControlData) := КоллекцияСценария.Значение(stVarControlData);  
    УдалитьОбъект(Сценарий, КоллекцияСценария);
  конец;
конец;

Функция СохранитьДанные(Коллекция: IVariables);
переменные
  КоллекцияСДанными: IVariables;
  Данные: СтатическиеДанные;
  сч: целое;
начало
  КоллекцияСДанными := Коллекция.Values(stVarData);
  от сч := 0 до КоллекцияСДанными.Count - 1 делать
  начало
    Данные := КоллекцияСДанными.Значение(ЦелоеВСтроку(сч));
    Данные.СоединитьБД;
    Данные.ApplyUpdates;
  конец;
конец;

функция ВыполнитьСценарийПоВнешнейСвязи(ПараметрыРодительДействия: IVariables; ТипВнешСвязи: строка;
                                   КодСценария, ЗаписиДочериВРодительПереходе: целое);
//каскадный сценарий выполняется сразу для всех документов, связанных внешними связями с записями родительского перехода
переменные
  LinkInfo: ILinkInfo2;
  Заголовок,  ПереченьСущСвязей: СтатическиеДанные;
  Коллекция: IVariables;
  ИзначальныйФильтр: строка;
  ПереченьРодительскихИД, ИДДляДочернДействия: СТРОКА;
  РежимКаскада: целое;  
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыРодительДействия);
  если ПараметрыРодительДействия.Values(_stVarExecTime) = "" тогда
    ПараметрыРодительДействия.Values(_stVarExecTime) := 0;          
  РежимКаскада := ПолучитьРежимКаскадногоПерехода(ПараметрыРодительДействия);  
  LinkInfo := CreateComObject(TLinkInfo2);
  Коллекция := CreateVariables();
  
  попытка
    СоединитьИнтерфейс(LinkInfo);
    ИзначальныйФильтр := ДобавитьФильтр(Заголовок, ФильтрПрошедшиеПереход());
    Заголовок.Filtered := да;
    //выполняется только для каскадных действий заданных внешней связью
    если (Заголовок.ЧислоЗаписей &lt;&gt; 0) тогда
    начало                        
      ПереченьРодительскихИД := ПолучитьВсеИД(ПараметрыРодительДействия);        
      ИДДляДочернДействия := ПолучитьИДКаскада(LinkInfo, ПереченьРодительскихИД, ТипВнешСвязи, ЗаписиДочериВРодительПереходе, ПереченьСущСвязей);
      
      если ИДДляДочернДействия &lt;&gt; "" тогда
      начало                   
        Коллекция.Values(stVarDocsCode) := ИДДляДочернДействия;
        ВыполнитьСценарий(КодСценария, Коллекция);          
        ВернутьРезультатПоСвязи(ПараметрыРодительДействия, Коллекция, ПереченьСущСвязей); 
        СохранитьДанные(Коллекция);
      конец; 
    конец;
  обязательно
    Заголовок.Filtered := нет;
    Заголовок.Фильтр := ИзначальныйФильтр;
    Заголовок.Filtered := (УбратьПробелы(Заголовок.Фильтр) &lt;&gt; "");
    ЗакрытьИнтерфейс(LinkInfo);
    УдалитьОбъект(LinkInfo);
  конец;
конец;

функция ВыполнитьСценарийПоВнутреннейСвязи(ПараметрыРодительДействия: IVariables; СсылкаНаВнутрСвязь: строка;
                                   КодСценария, ЗаписиДочериВРодительПереходе: целое);
переменные
  КоллекцияДляДочерн, КоллекцияСДанными: IVariables;
  Заголовок, ОписаниеСвязи,
  ПоляИнициатораКаскада,
  ПоляОжидающегоКаскада, Данные: СтатическиеДанные;
  ИзначальныйФильтр,
  ИмяПоляДляСвязиВИнициаторе,
  ИмяПоляДляСвязиВОжидающем,
  ИмяОгрДляОжидающего,
  ЗначенияОгрДляДочернДействия: строка;
  НаличиеАтрибутовСвязи,
  ТипДокИнициатора, ТипДокОжидающего, сч, сч2, РежимКаскада: целое;
  тПоляОжидающего, тОгрОжидающего: текст;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыРодительДействия);
  ИзначальныйФильтр := Заголовок.Фильтр;
  ТипДокИнициатора := ПараметрыРодительДействия.Values(stVarIntfCode);
  ТипДокОжидающего := КодСценария цел 10000;
  ОписаниеСвязи := ПолучитьОписаниеВнутрСвязи(СсылкаНаВнутрСвязь);
  ПоляИнициатораКаскада := GetDocFieldsByDocType(ТипДокИнициатора);
  ПоляОжидающегоКаскада := GetDocFieldsByDocType(ТипДокОжидающего);
  ПоляИнициатораКаскада.IndexFieldNames := 'DocField_ID';
  ПоляОжидающегоКаскада.IndexFieldNames := 'DocField_ID';
  КоллекцияДляДочерн := CreateVariables();
  попытка
    если ЗаписиДочериВРодительПереходе тогда
    начало
      НаличиеАтрибутовСвязи := ПоляИнициатораКаскада.FindKey(МассивИз(ОписаниеСвязи.Поле(ВнСвязь_ПолеДочерний()).какЦелое))
                             и ПоляОжидающегоКаскада.FindKey(МассивИз(ОписаниеСвязи.Поле(ВнСвязь_ПолеРодитель()).какЦелое))
    конец
    иначе
      НаличиеАтрибутовСвязи := ПоляИнициатораКаскада.FindKey(МассивИз(ОписаниеСвязи.Поле(ВнСвязь_ПолеРодитель()).какЦелое))
                             и ПоляОжидающегоКаскада.FindKey(МассивИз(ОписаниеСвязи.Поле(ВнСвязь_ПолеДочерний()).какЦелое));

    //по информации о внутренней связи находим имена полей из DocumentFields для инициатора и ожидающиего каскад
    ПоляИнициатораКаскада.IndexFieldNames := ДокПоле_Ид();
    ПоляОжидающегоКаскада.IndexFieldNames := ДокПоле_Ид();
    если НаличиеАтрибутовСвязи тогда
    начало
      ИмяПоляДляСвязиВИнициаторе := ПоляИнициатораКаскада.ПолеПоИмени(ДокПоле_ИмяВСостояниях()).КакСтрока;
      ИмяПоляДляСвязиВОжидающем := ПоляОжидающегоКаскада.ПолеПоИмени(ДокПоле_ИмяВСостояниях()).КакСтрока;
      ИмяОгрДляОжидающего := ПоляОжидающегоКаскада.ПолеПоИмени(ДокПоле_ИмяВАлгоритмах()).КакСтрока;

      если (УбратьПробелы(ИзначальныйФильтр) &lt;&gt; "") тогда
        Заголовок.Фильтр := "("+ИзначальныйФильтр+")and("+ФильтрПрошедшиеПереход()+")"
      иначе
        Заголовок.Фильтр := ФильтрПрошедшиеПереход();
      Заголовок.Filtered := да;
      //выполняется только для каскадных действий заданных внешней связью
      если (Заголовок.ЧислоЗаписей &lt;&gt; 0) тогда
      начало
        //вызываем дочернее действие с ограничением по выбранному полю и значениями документов  прошедших текущий переход
        ЗначенияОгрДляДочернДействия := GetLimitStr(Заголовок, ИмяПоляДляСвязиВИнициаторе);
        КоллекцияДляДочерн.Values(ИмяОгрДляОжидающего) := ЗначенияОгрДляДочернДействия;
        если ПараметрыРодительДействия.Values(_stVarExecTime) = "" тогда
          ПараметрыРодительДействия.Values(_stVarExecTime) := 0;        
        
        РежимКаскада := ПолучитьРежимКаскадногоПерехода(ПараметрыРодительДействия);
        // чтоб разрешить проведение части документов при режимах 1 и 2
        если РежимКаскада &lt;&gt; 0 тогда
          ПараметрыРодительДействия.Значение(stVarNeedAll) := 0;
        тОгрОжидающего := СоздатьТекст;
        если РежимКаскада = 1 тогда
        начало
          тОгрОжидающего.РазделенноеЗначение := ЗначенияОгрДляДочернДействия;
          от сч2 := 0 до тОгрОжидающего.Количество - 1 делать
          начало
            тПоляОжидающего := СоздатьТекст;
            попытка
              тПоляОжидающего.РазделенноеЗначение := ИмяОгрДляОжидающего;
              от сч := 0 до тПоляОжидающего.Количество - 1 делать
                КоллекцияДляДочерн.Values(тПоляОжидающего.Стр(сч)) := тОгрОжидающего.Стр(сч2);
            обязательно
              УдалитьОбъект(тПоляОжидающего);
            конец; // попытка
                        
            ВыполнитьСценарий(КодСценария, КоллекцияДляДочерн);            
            
            //если (КоллекцияДляДочерн.Values(stNotCheckJump) &gt; 0) тогда
              ВернутьРезультатПоПроизволПолям(ПараметрыРодительДействия, КоллекцияДляДочерн, ИмяПоляДляСвязиВИнициаторе, ИмяПоляДляСвязиВОжидающем);
          конец; // от
        конец // если
        иначе 
        начало
          тПоляОжидающего := СоздатьТекст;
          попытка
            тПоляОжидающего.РазделенноеЗначение := ИмяОгрДляОжидающего;
            от сч := 0 до тПоляОжидающего.Количество - 1 делать
              КоллекцияДляДочерн.Values(тПоляОжидающего.Стр(сч)) := ЗначенияОгрДляДочернДействия;
          обязательно
            УдалитьОбъект(тПоляОжидающего);
          конец; // попытка
          
          ВыполнитьСценарий(КодСценария, КоллекцияДляДочерн);
          
          ВернутьРезультатПоПроизволПолям(ПараметрыРодительДействия, КоллекцияДляДочерн, ИмяПоляДляСвязиВИнициаторе, ИмяПоляДляСвязиВОжидающем);
          если (РежимКаскада = 0) и (КоллекцияДляДочерн.Values(stNotCheckJump) &gt; 0) тогда
            UpdateError := да;
        конец; // иначе
        
        КоллекцияСДанными := КоллекцияДляДочерн.Values(stVarData);
        //Сохранение изменений в базу
        от сч := 0 до КоллекцияСДанными.Count - 1 делать
        начало
          Данные := КоллекцияСДанными.Значение(ЦелоеВСтроку(сч));
          Данные.СоединитьБД;
          Данные.ApplyUpdates;
        конец;
      конец;
    конец;
  обязательно
    Заголовок.Filtered := нет;
    Заголовок.Фильтр := ИзначальныйФильтр;
    Заголовок.Filtered := (УбратьПробелы(Заголовок.Фильтр) &lt;&gt; "");
  конец;
конец;

функция ВыполнитьЭлементСценарияКаскадныйСценарий(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
переменные
  СсылкаНаВнешТипСвязи,
  СсылкаНаВнутрТипСвязи: строка;
  КодСценария: целое;
начало
  РазобратьПараметры(ПараметрыДействия, Сценарий.ПолеПоИмени(Сценарий_Параметры()).КакСтрока);
  СсылкаНаВнешТипСвязи := Сценарий.ПолеПоИмени(Сценарий_СсылкаНаВнешСвязь()).КакСтрока;
  СсылкаНаВнутрТипСвязи := Сценарий.ПолеПоИмени(Сценарий_СсылкаНаВнутрСвязь()).КакСтрока;
  КодСценария := Сценарий.ПолеПоИмени("ELEMENTSCENARIOREF").КакЦелое;
  //выполняется только для каскадных действий, заданных внешней связью
  если (СсылкаНаВнешТипСвязи &lt;&gt; "") тогда
  начало
    //вытаскиваем связи, для которых строка в переходе является родительской
    ВыполнитьСценарийПоВнешнейСвязи(ПараметрыДействия, СсылкаНаВнешТипСвязи, КодСценария, 0);
    //вытаскиваем связи, для которых строка в переходе является дочерней
    ВыполнитьСценарийПоВнешнейСвязи(ПараметрыДействия, СсылкаНаВнешТипСвязи, КодСценария, 1);
  конец;
  если (СсылкаНаВнутрТипСвязи &lt;&gt; "") тогда
  начало
    //вытаскиваем связи, для которых строка в переходе является родительской
    ВыполнитьСценарийПоВнутреннейСвязи(ПараметрыДействия, СсылкаНаВнутрТипСвязи, КодСценария, 0);
    //вытаскиваем связи, для которых строка в переходе является дочерней
    ВыполнитьСценарийПоВнутреннейСвязи(ПараметрыДействия, СсылкаНаВнутрТипСвязи, КодСценария, 1);
  конец;
конец;

// выполнение поддерживаемого элемента сценария
функция ВыполнитьЭлементСценария(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
переменные
  ВремяИсп: целое;
  Протокол: ОкноВывода;
  НачВремя, КонВремя: дробное;
  Стр: строка;
  Код: целое;
начало
  ВремяИсп := ПоказыватьПротоколВыполнения;
  если (ВремяИсп &lt;&gt; 0) тогда
  начало
    Протокол := ОкноВывода;
    Стр := 'с типом ' + ЦелоеВСтроку(Сценарий.ПолеПоИмени(Сценарий_ТипЭлемента()).КакЦелое);
    выбрать Сценарий.ПолеПоИмени(Сценарий_ТипЭлемента()).КакЦелое из
      элСц_Фильтр:
        начало
          Стр := 'фильтр';
          Код := Сценарий.ПолеПоИмени(Сценарий_КодФильтра()).КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00.00.00");
        конец;
      элСц_МакросДействия:
        начало
          Стр := 'макрос действия';
          Код := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00.00.00") + ' ' + ПолучитьИмяПоКоду(ENUM_ACTIONMACROS, Код);
        конец;
      элСц_МакросПерехода:
        начало
          Стр := 'макрос перехода';
          Код := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00.00.00") + ' ' + ПолучитьИмяПоКоду(ENUM_JUMPMACROS, Код);
        конец;
      элСц_Генерация:
        начало
          Стр := 'генерация';
          Код := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00.00.00") + ' ' + ПолучитьИмяПоКоду(ENUM_GENERATION, Код);
        конец;
      элСц_Контроль:
        начало
          Стр := 'контроль';
          Код := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00.00.00") + ' ' + ПолучитьИмяПоКоду(ENUM_CONTROL, Код);
        конец;
      элСц_ПечатДок:
        начало
          Стр := 'печатный документ';
          Код := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00.00.00") + ' ' + ПолучитьИмяПоКоду(ENUM_DOCS, Код);
        конец;
      элСцКаскадДействие:
        начало
          Стр := 'каскадное действие';
          Код := Сценарий.ПолеПоИмени(Сценарий_КодЭлемента()).КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00") + ' ' + Сценарий.ПолеПоИмени(Сценарий_ИмяДочернДействия()).КакСтрока;
        конец;
      элСцСценарий:
        начало
          Стр := 'сценарий';
          Код := Сценарий.ПолеПоИмени("ELEMENTSCENARIOREF").КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00.00.00") + ' ' + ПолучитьИмяПоКоду(ENUM_SCENARIO, Код);
        конец;
      элСцКаскадСценарий:
        начало
          Стр := 'каскадный сценарий';
          Код := Сценарий.ПолеПоИмени("ELEMENTSCENARIOREF").КакЦелое;
          Стр := Стр + ' ' + ФорматироватьКлассификатор(Код, "00.00.00.00") + ' ' + ПолучитьИмяПоКоду(ENUM_SCENARIO, Код);
        конец;
    конец;
    НачВремя := ПолучитьТекущееСистемноеВремя;
    Протокол.Вывести('['+ВремяВСтроку(НачВремя)+'] Начало выполнения элемента сценария: '+Стр);
  конец;

  выбрать Сценарий.ПолеПоИмени(Сценарий_ТипЭлемента()).КакЦелое из
    элСц_Фильтр: //может быть везде
        ВыполнитьЭлементСценарияФильтр(ПараметрыДействия, Сценарий);
    элСц_МакросДействия: //до и после "проверки" для действия
        ВыполнитьЭлементСценарияМакросНаДействие(ПараметрыДействия, Сценарий);
    элСц_МакросПерехода: //до и после "проверки на переход"
        ВыполнитьЭлементСценарияМакросНаПереход(ПараметрыДействия, Сценарий);
    элСц_Генерация: //после "проверки на переход"
        ВыполнитьЭлементСценарияГенерация(ПараметрыДействия, Сценарий);
    элСц_Контроль: //контроли до "проверки на переход"
        ВыполнитьЭлементСценарияКонтроль(ПараметрыДействия, Сценарий);
    элСц_ПечатДок: //печатные документы после "проверки на переход"
        ВыполнитьЭлементСценарияПечатьДок(ПараметрыДействия, Сценарий);
    элСцКаскадДействие: //каскадные переходы после "проверки на переход"
        ВыполнитьЭлементСценарияКаскад(ПараметрыДействия, Сценарий);
    элСцСценарий: //сценарий
        ВыполнитьСценарий(Сценарий.ПолеПоИмени("ELEMENTSCENARIOREF").КакЦелое, ПараметрыДействия);
    элСцКаскадСценарий: //Каскадный сценарий
        ВыполнитьЭлементСценарияКаскадныйСценарий(ПараметрыДействия, Сценарий);
  конец;

  если (ВремяИсп &lt;&gt; 0) тогда
  начало
    КонВремя := ПолучитьТекущееСистемноеВремя;
    Протокол.Вывести('['+ВремяВСтроку(КонВремя)+'] Конец выполнения элемента сценария: '+Стр+'. Длительность: '+ВремяВСтроку(КонВремя-НачВремя));
  конец;
конец;

функция ВыполнитьПунктыСценарияДействия(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
начало
  Сценарий.ВНачало();
  пока не Сценарий.ВКонце делать
  начало
    ВыполнитьЭлементСценария(ПараметрыДействия, Сценарий);
    Сценарий.Следующая();
  конец;
конец;

функция ВыполнитьПунктыСценарияПерехода(ПараметрыДействия: IVariables; Сценарий: СтатическиеДанные);
переменные
  Заголовок : СтатическиеДанные;
  ИзначальныеФильтры : Variant;
  ИзначальныйИндексЗаголовка: строка;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  ИзначальныйИндексЗаголовка := Заголовок.IndexFieldNames;
  ИзначальныеФильтры := ВернутьФильтрыНаборовДанных(ПараметрыДействия.Values(stVarData));
  Сценарий.ВНачало();
  попытка
    пока не Сценарий.ВКонце делать
    начало
      ВыполнитьЭлементСценария(ПараметрыДействия, Сценарий);
      если Заголовок.IndexFieldNames &lt;&gt; ИзначальныйИндексЗаголовка тогда
        Сообщение("Одним из элементов сценария на переход изменен индекс сортировки набора заголовков."+
        " Это может привести к неверной последующей обработке. Обратитесь к разработчикам схемы визирования для устранения проблемы");
      Сценарий.Следующая();
    конец;
  обязательно  // восстановим фильтрацию заголовка и детализаций, которая могла быть изменена рядом элементов сценария
    ВосстановитьФильтрыНаборовДанных(ПараметрыДействия.Values(stVarData), ИзначальныеФильтры);
  конец;
конец;

функция ОбработкаПоСценариюДляПереходов(Параметры: IVariables; ЭлементыСценария, ВыполненныеПереходы: СтатическиеДанные; ВремяВыполнения: целое);
переменные
  ОгрПоПереходуДляДанных,
  ОгрПоПереходу : Variant;
  КоллекцияСДанными,
  КоллекцияКонтроля,локПараметрыПерехода: Ivariables;
  ДанныеНаПечать,
  Заголовок,
  ОдинНабор     : СтатическиеДанные;
  сч            : ЦЕЛОЕ;
  ИзначальныйФильтр,
  ИндексВДанных,
  ИндексСценария: СТРОКА;
начало
  // передать параметром(?) время выполнения для каскадных переходов
  Параметры.Values(_stVarExecTime) := ВремяВыполнения;
  ЭлементыСценария.Filtered := нет;
  ЭлементыСценария.Filter := "("+Сценарий_ВремяВып()+"="+ЦелоеВСтроку(ВремяВыполнения)+")and("+Сценарий_СсылкаНаПереход()+" is not null)";
  ЭлементыСценария.Filtered := да;
  Заголовок := ПолучитьЗаголовокИЗКоллекции(Параметры);

  ОгрПоПереходу := CreateVariant();
  ОгрПоПереходуДляДанных := CreateVariant();
  ИзначальныйФильтр := Заголовок.Filter;
  ИндексВДанных := Заголовок.IndexFieldNames;
  ИндексСценария := ЭлементыСценария.IndexFieldNames;
  попытка
    Заголовок.IndexFieldNames := stBeginDocStateFieldName+";"+stDocStateFieldName;
    ЭлементыСценария.IndexFieldNames := Сценарий_СсылкаНаПереход()+";" + Сценарий_ПорядокВып;
    ОгрПоПереходуДляДанных.VarArrayOf(0, 0);
    ОгрПоПереходу.VarArrayOf(0);

    если (ВремяВыполнения = ПослеПроверки())
      тогда начало
        //подготовка данных для возможности запуска печати документов
        если не Параметры.CheckParam(stVarPrintData)
          тогда Параметры.Values(stVarPrintData) := СозданиеКопииДокументов(Заголовок);
        если не Параметры.CheckParam(stVarPrintVars)
          тогда Параметры.Values(stVarPrintVars) := CreateVariables();
      конец;
    если (ВремяВыполнения = ДоПроверки())
      тогда  начало
        //подготовка данных для возможности запуска контролей
        КоллекцияСДанными := Параметры.Values(stVarData);
        КоллекцияКонтроля := CreateVariables();
        от сч := 0 до КоллекцияСДанными.Count-1 делать
        начало
          ОдинНабор := КоллекцияСДанными.IndexValues(сч);
          КоллекцияКонтроля.Values(КоллекцияСДанными.Names(сч)) := СозданиеКопииДокументов(ОдинНабор);
        конец;
        Параметры.Values(stVarControlData) := КоллекцияКонтроля;
      конец;

    //пробегаемся по совершенным переходам и для каждого из них запускаем подвешенные к нему элементы сценария
    ВыполненныеПереходы.ВНачало();
    пока не ВыполненныеПереходы.ВКонце делать
    начало
      //оставляем данные для печати, касающиеся только текущего перехода
      ОгрПоПереходуДляДанных.AsInteger(0) := ВыполненныеПереходы.Поле(stBeginDocStateFieldName).КакЦелое;
      ОгрПоПереходуДляДанных.AsInteger(1) := ВыполненныеПереходы.Поле(stDocStateFieldName).КакЦелое;
      Заголовок.SetScope(ОгрПоПереходуДляДанных.Value);
      //перекачка заголовков документов по текущему переходу в копию набора для печати
      если (ВремяВыполнения = ПослеПроверки())
        тогда начало
          ДанныеНаПечать := Параметры.Values(stVarPrintData);
          ДанныеНаПечать.Clear();
          ОставитьПройденныеПроверки(Заголовок);
          ДанныеНаПечать.Закачать(Заголовок);
          Заголовок.Filtered := нет;
          Заголовок.Filter := ИзначальныйФильтр;
          Заголовок.Filtered := да;
        конец;

      //оставляем элементы сценария, касающиеся текущего перехода
      ОгрПоПереходу.ASInteger(0) := ВыполненныеПереходы.ПолеПоИмени(Сценарий_СсылкаНаПереход()).КакЦелое;
      ЭлементыСценария.SetScope(ОгрПоПереходу.Value);
      //вызов сценария обработки на каждый совершенный над докуентами переход в действии. Для каждого перехода на его выполнение создаем копию
      // параметров, чтобы снизить влияние перехода на выполнение других переходов.
      локПараметрыПерехода := CreateVariables();
      локПараметрыПерехода.PumpData(Параметры);
      ВыполнитьПунктыСценарияПерехода(локПараметрыПерехода, ЭлементыСценария);
      ЭлементыСценария.CancelRange();
      ВыполненныеПереходы.Следующая();
    конец;
  обязательно
    Заголовок.CancelRange();
    Заголовок.IndexFieldNames := ИндексВДанных;

    ЭлементыСценария.CancelRange();
    ЭлементыСценария.Filtered := нет;
    ЭлементыСценария.IndexFieldNames := ИндексСценария;
   конец;
конец;

функция ОбработкаПоСценариюДляДействий(Параметры: IVariables; ЭлементыСценария: СтатическиеДанные; ВремяВыполнения: целое);
переменные
  КоллекцияСДанными, КоллекцияКонтроля: IVariables;
  сч: целое;
  ОдинНабор: СтатическиеДанные;
начало
  //оставляем только элементы, касающиеся нужного времени выполнения
  ЭлементыСценария.Filter := "("+Сценарий_ВремяВып()+"="+ЦелоеВСтроку(ВремяВыполнения)+")and not(ActionRef is null)";
  ЭлементыСценария.Filtered := да;
  если (ВремяВыполнения = ДоПроверки())
    тогда  начало
      //подготовка данных для возможности запуска контролей
      КоллекцияСДанными := Параметры.Values(stVarData);
      КоллекцияКонтроля := CreateVariables();
      от сч := 0 до КоллекцияСДанными.Count-1 делать
      начало
        ОдинНабор := КоллекцияСДанными.IndexValues(сч);
        КоллекцияКонтроля.Values(КоллекцияСДанными.Names(сч)) := СозданиеКопииДокументов(ОдинНабор);
      конец;
      Параметры.Values(stVarControlData) := КоллекцияКонтроля;
    конец;
  ВыполнитьПунктыСценарияДействия(Параметры, ЭлементыСценария);
  ЭлементыСценария.Filtered := нет;
  ЭлементыСценария.Filter := "";
конец;

// заносим в основную коллекцию результат проверки документов
функция ВернутьРезультатПроверки(Коллекция: IVariables; ЧИСЛОДок, УдачноПрошедших: целое);
переменные
  ЗаголовокДок : СтатическиеДанные;
  ПолеРезультат,ПолеСообщение : IField;
начало
  если (ЧИСЛОДок &gt; 0)и(УдачноПрошедших = 0) тогда
    Коллекция.Values(stCheckJumpRes) := 2
  иначе Коллекция.Values(stCheckJumpRes) := (ЧИСЛОДок &lt;&gt; УдачноПрошедших);
  Коллекция.Values(stCheckDocCountJump) := ЧИСЛОДок;
  Коллекция.Values(stCheckOkJump) := УдачноПрошедших;
  Коллекция.Values(stNotCheckJump) := ЧИСЛОДок - УдачноПрошедших;
  если Коллекция.Значение(_stVarCascadeJumpMode)=1 и (УдачноПрошедших &lt;&gt; 0) и (ЧИСЛОДок &lt;&gt; УдачноПрошедших) тогда
  начало
    ЗаголовокДок := ПолучитьЗаголовокИЗКоллекции(Коллекция);
    ПолеРезультат := ЗаголовокДок.ПолеПоИмени(stControlResultFieldName);
    ПолеСообщение := ЗаголовокДок.ПолеПоИмени(stControlMessageFieldName);
    ЗаголовокДок.ВНачало;
    пока не ЗаголовокДок.ВКонце делать
    начало
      если ПолеРезультат.КакЦелое = 0 тогда
      начало
        ПолеРезультат.КакЦелое := 4;
        ПолеСообщение.КакСтрока := "Ошибка при выполнении каскадного перехода"
      конец;
      ЗаголовокДок.Следующий
    конец;
  конец;
конец;

// Комментарий
функция ВернутьЧислоУспешных(Набор: СтатическиеДанные): целое;
переменные
  ПолеРезультат : IField;
начало
  результат := 0;
  если не (Набор = nil) тогда
  начало
    ПолеРезультат := Набор.Поле(stControlResultFieldName);
    Набор.Вначало();
    пока не Набор.ВКонце делать
    начало
      если (ПолеРезультат.КакЦелое = 0) тогда
        результат := результат + 1;
      Набор.Следующая();
    конец;
  конец;
конец;

//функция обрабатывает реакцию на ситуацию, когда часть документов проходит успешно, а часть нет.
// в качестве результата возвращает число успешно прошедших, либо исключение, если в частичном прохождении отказано
функция ЗапроситьПроведениеДалее(ТипДок: строка; НаборДанных: СтатическиеДанные; ИзменитьВсе, СкрыватьДиалогПроверок: целое): целое;
переменные
  ЧислоДокументов, ЧислоУспешных   : ЦЕЛОЕ;
начало
    // форму диалога показываем только в том случае, если у человека есть выбор
    // а только как информационное сообщение не показываем диалог
    // сначала проверяем, а потом задаем вопросы
    результат := 0;
    ЧислоДокументов := НаборДанных.RecordCount;
    // если нет записей - то делать нечего
    если не(ЧислоДокументов = 0) тогда
    начало
      ЧислоУспешных := ВернутьЧислоУспешных(НаборДанных);
      //Проверяем, есть одновременно и успешные и ошибочные
      если не((ЧислоУспешных=ЧислоДокументов)или(ЧислоУспешных=0)) тогда
      начало
        если ИзменитьВсе тогда  // требование одновременного прохождения всех документов не выполнено
          результат := -1
        иначе
          // диалог надо показать (если надо) - показываем и что уж пользователь выберет - так и будет
          если (не СкрыватьДиалогПроверок) и
               (Сообщение(Формат("Тип документа: "+ТипДок + nl + stApplyUpdatesDlgMessage, ЧислоДокументов, ЧислоУспешных, ЧислоДокументов-ЧислоУспешных)
                 , Сообщение_Предупреждение, Кнопка_Да+Кнопка_Нет) = Результат_Нет)
            тогда Результат := -1; // пользователь отказался от дальнейшей обработки документов
      конец;
      Если результат=-1 тогда
        ВызватьОшибку(формат("Действие отменено. Часть обрабатываемых документов (%d из %d) не может изменить состояние. Тип документа: %s",
          ЧислоДокументов-ЧислоУспешных,
          ЧислоДокументов,
          ТипДок));
      результат := ЧислоУспешных;
    конец;
конец;

функция ВыполнитьСценарийДляДействия(ПараметрыДействия: IVariables);
//работу макроса ФОРМИРОВАНИЯ ПАРАМЕТРОВ для печатных документов(отдельный макрос на переход) ТОЛЬКО ОДИН РАЗ обеспечивать вручную в самом этом макросе
переменные
  СписокПереходов,
  ВыполненныеПереходы,
  ЭлементыСценария,
  ОдинНабор,
  ОдинНаборБезПрав,
  ЗаголовокДок          : СтатическиеДанные;
  КоллекцияСДокБезПрав  : IVariables;
  ЧислоУспешных,
  индексНабора,
  ИДДействия            : целое;
  ВремяИсп              : целое;
  Протокол              : ОкноВывода;
  НачВремя, КонВремя    : дробное;
  Стр                   : строка;
начало
  //получаем список элементов сценария для действия
  КоллекцияСДокБезПрав := CreateVariables();
  ИДДействия := ПараметрыДействия.Values(stVarAction);
  ЗаголовокДок := ПолучитьЗаголовокИзКоллекции(ПараметрыДействия);
  ЭлементыСценария := СоздатьСтатическиеДанные();
  попытка
    ВремяИсп := ПоказыватьПротоколВыполнения;
    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      Протокол := ОкноВывода;
      Стр := ПараметрыДействия.Values(stVarActionName);
      если (Стр &lt;&gt; '') тогда
        Стр := Стр + ' ';
      Стр := Стр + '('+ЦелоеВСтроку(ИДДействия)+')';
      НачВремя := ПолучитьТекущееСистемноеВремя;
      Протокол.Вывести(' '); //разделитель
      Протокол.Вывести('['+ВремяВСтроку(НачВремя)+'] Начало выполнения действия: '+Стр);
      Протокол.Вывести('['+ВремяВСтроку(НачВремя)+'] Число документов в заголовке: ' + ЦелоеВСтроку(ЗаголовокДок.ЧислоЗаписей));
    конец;

    //выкачиваем сценарий к переходам, повешенным к выполняемому действию
    ПолучитьСценарийДействия(ИДДействия, "and(sjc.enabled=1)", "and(sjc.enabled=1)", ЭлементыСценария);
    ЭлементыСценария.IndexFieldNames := Сценарий_ПорядокВып();
    ПараметрыДействия.Values(stVarDefineScenary) := ЭлементыСценария;
    //пытаемся проставить состояние автоматом
    попытка
      ВызовАвтоПерехода(ПараметрыДействия);

      //перекачка документов с отсутствием прав на переходы в действии по результатам "Автоперехода"
      ЗаголовокДок.Фильтр := stControlResultFieldName+ "="+ЦелоеВСтроку(КонстНеСовершения_НеПравНаПереходы);
      ЗаголовокДок.filtered := да;
      попытка
        если (ЗаголовокДок.ЧислоЗаписей &lt;&gt; 0) тогда
        начало
          от индексНабора := 1 до IVariables(ПараметрыДействия.Values(stVarData)).Count-1 делать
          начало
            ФильтрацияНабораПоЗаголовку(ПараметрыДействия, 0, индексНабора);
          конец;
          от индексНабора := 0 до IVariables(ПараметрыДействия.Values(stVarData)).Count-1 делать
          начало
            КоллекцияСДокБезПрав.Values(ЦелоеВСтроку(индексНабора)) := СформироватьКопиюНабора(ПолучитьДетальИзКоллекции(ПараметрыДействия, индексНабора));
          конец;
          //чистим наборы документов, которые были сдублированы
          от индексНабора := 0 до IVariables(ПараметрыДействия.Values(stVarData)).Count-1 делать
          начало
            ОдинНабор := ПолучитьДетальИзКоллекции(ПараметрыДействия, индексНабора);
            ОдинНабор.Clear();
            ОдинНабор.Filtered := нет;
            ОдинНабор.Filter := "";
          конец;
        конец;
      обязательно
        ЗаголовокДок.filtered := нет;
        ЗаголовокДок.Фильтр := "";
      конец;
      //вызов элементов сценария действия "До CheckJump"
      ОбработкаПоСценариюДляДействий(ПараметрыДействия, ЭлементыСценария, ДоПроверки());
      СнятиеФильтровСНаборов(ПараметрыДействия);
      //проверка права на совершенные переходы и отсеиваем все документы с измененным состоянием по отсутствующему по правам переходу
      если не ПроверитьПользовательАдмин(ПараметрыДействия)
        тогда CheckRight(ПараметрыДействия);

      //Получаем переходы, совершенные над выделенными документами
      GetActionJumps(ПараметрыДействия, СписокПереходов);
      ВыполненныеПереходы := ПолучитьСовершенныеПереходы(СписокПереходов, ЗаголовокДок);
  //    УбратьДокБезПраваНаИзменение(ПараметрыДействия, СписокПереходов, ВыполненныеПереходы);
      //оставляем только элементы, касающиеся "До CheckJump"
      ОбработкаПоСценариюДляПереходов(ПараметрыДействия, ЭлементыСценария, ВыполненныеПереходы, ДоПроверки());

      //снятие фильтров со всех наборов
      СнятиеФильтровСНаборов(ПараметрыДействия);
      //перекачка отклоненных по причине отсутствия прав на переход "Автопереходом"
      если (КоллекцияСДокБезПрав.Count &gt; 0) тогда
        от индексНабора := 0 до IVariables(ПараметрыДействия.Values(stVarData)).Count-1 делать
        начало
          ОдинНабор := ПолучитьДетальИзКоллекции(ПараметрыДействия, индексНабора);
          ОдинНаборБезПрав := КоллекцияСДокБезПрав.Values(ЦелоеВСтроку(индексНабора));
          ОдинНабор.Закачать(ОдинНаборБезПрав);
        конец;

      если не целое(ПараметрыДействия.VAlues(stVarNeedHideCheckJumpResDialog))
        тогда ShowRejectedData(ПараметрыДействия);
      //проверка корректности текущих изменений с активной подписью
      если Целое(ПараметрыДействия.Values(stVarNeedEds))
        тогда CheckEDS(ПараметрыДействия);
      ЗапроситьПроведениеДалее(ЦелоеВСтроку(ПараметрыДействия.Values(stVarIntfCode)), ЗаголовокДок, ПараметрыДействия.Values(stVarNeedAll),
             (ПараметрыДействия.Values(stVarNeedHideCheckJumpResDialog) = 1));
    обязательно
      ЧислоУспешных := ВернутьЧислоУспешных(ЗаголовокДок);
      ВернутьРезультатПроверки(ПараметрыДействия, ЗаголовокДок.ЧислоЗаписей, ЧислоУспешных);
    конец;
    ПараметрыДействия.Values(stVarNotNeedAutoPrint) := 1;
    //фиксация изменений на переход в базе
    ApplyJump(ПараметрыДействия);

//1.????  нужно ли здесь опять отсеивать данные с отсутствующими правами на переход

    //копия заголовочного набора для возможности использования при формировании параметров для печати
    ОбработкаПоСценариюДляПереходов(ПараметрыДействия, ЭлементыСценария, ВыполненныеПереходы, ПослеПроверки());
    //вызов элементов сценария действия "После CheckJump"
    ОбработкаПоСценариюДляДействий(ПараметрыДействия, ЭлементыСценария, ПослеПроверки());
    СнятиеФильтровСНаборов(ПараметрыДействия);

    если (ВремяИсп &lt;&gt; 0) тогда
    начало
      КонВремя := ПолучитьТекущееСистемноеВремя;
      Протокол.Вывести('['+ВремяВСтроку(КонВремя)+'] Конец выполнения действия: '+Стр+'. Длительность: '+ВремяВСтроку(КонВремя-НачВремя));
    конец;
  обязательно
    если (ПараметрыДействия.Values(stVarPrintData) &lt;&gt; nil) тогда
      УдалитьОбъект(IStaticSet(ПараметрыДействия.Values(stVarPrintData)));
    если (ПараметрыДействия.Values(stVarPrintVars) &lt;&gt; nil) тогда
      УдалитьОбъект(IVariables(ПараметрыДействия.Values(stVarPrintVars)));
  конец;
конец;
</value>
    <param value="ДляУправленияВСостояниях.abl" type="3" name="version">36.042.157</param>
    <param value="ДляУправленияВСостояниях.abl" type="3" name="crc32">$85366A43</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сценарии\Казначейство">
    <value type="7" name="ЗаполнениеХранимыхАтрибутовПлатежа">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\StateManage.lib';

включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\Состояния\ОбщиеДействия.abl";
включить "\Макросы\Отчеты\ПоддержкаПечатныхДокументов";

константы
  МаппингПлательщика = "Счет=СчетПлательщика,ИНН=ИННПлательщика,КПП=КПППлательщика,Имя=НаименованиеПлательщика," +
        "Банк=НаименованиеБанкаПлательщика,БИК=БИКБанкаПлательщика,КорСчет=КорСчетБанкаПлательщика";
  МаппингПолучателя = "Счет=СчетПолучателя,ИНН=ИННПолучателя,КПП=КПППолучателя,Имя=НаименованиеПолучателя," +
        "Банк=НаименованиеБанкаПолучателя,БИК=БИКБанкаПолучателя,КорСчет=КорСчетБанкаПолучателя";     
  
функция ПолучитьОписаниеПолей(КодИнтерфейса, Детализация: целое): СтатическиеДанные;
начало
  Результат := GetDocFieldsByDocType(КодИнтерфейса);
  Результат.Filtered := да;
  Результат.Фильтр := Формат('(%s in (1, 2)) and (%s = %d)', ДокПоле_ЭтоБюджет, ДокПоле_НомерДетали, Детализация);
  Результат.ClearHide;
конец;

функция ДобавитьПоля(Приемник, Источник: СтатическиеДанные; КодИнтерфейса, Детализация: целое): строка;
переменные
  сч, сч1: целое;
  ПолеПереноса: Поле;
  СписокРусПолей: Текст;
  ОписаниеПолей: СтатическиеДанные;
начало
  Результат := "";
  СписокРусПолей := СоздатьТекст;
  СписокРусПолей.Сортированый := да;
  СписокРусПолей.Дубликаты := нет;
  попытка
    ОписаниеПолей := ПолучитьОписаниеПолей(КодИнтерфейса, Детализация);
    от сч := 0 до Источник.ЧислоПолей - 1 делать
    начало
      ПолеПереноса := Источник.поля(сч);
      ОписаниеПолей.Фильтр := Формат("%s='%s'", ДокПоле_ИмяВСостояниях, ПолеПереноса.Имя);
      ОписаниеПолей.ВНачало;
      пока не ОписаниеПолей.ВКонце делать
      начало
        СписокРусПолей.РазделенноеЗначение := ОписаниеПолей.ПолеПоИмени(ДокПоле_ИмяВАлгоритмах).КакСтрока;
        если (ПолеПереноса.Имя = "DestFacialAccCls") тогда
          СписокРусПолей.Добавить('ЛицСчетПолучателя');      
        от сч1 := 0 до СписокРусполей.Количество - 1 делать
        начало
          если Результат = "" тогда
            Результат := Формат("%s=%s", СписокРусПолей.Стр(сч1), ПолеПереноса.Имя) 
          иначе
            Результат := Результат + ";" + Формат("%s=%s", СписокРусПолей.Стр(сч1), ПолеПереноса.Имя);        
          если не Приемник.НайтиПоле(СписокРусПолей.Стр(сч1), nil) тогда
            выбрать ПолеПереноса.Тип из
              ftSmallint, ftInteger, ftWord, ftBoolean, ftBCD: Приемник.ДобавитьЦелоеПоле(СписокРусПолей.Стр(сч1));
              ftFloat, ftCurrency: Приемник.ДобавитьДробноеПоле(СписокРусПолей.Стр(сч1));
              иначе  Приемник.ДобавитьСтроковоеПоле(СписокРусПолей.Стр(сч1),ПолеПереноса.Размер).Размер := ПолеПереноса.Размер;  // ftString
            конец;  
        конец;
        ОписаниеПолей.Следующая;
      конец;  
    конец;
  обязательно
    УдалитьОбъект(СписокРусПолей, ОписаниеПолей);
  конец;           
конец;

функция ВычислитьОбласти(КодИнтерфейса: целое; Данные: СтатическиеДанные; Параметры: IVariables; РезТекст: Текст);
начало
/$если Бюджет
  если Реестр.Узел("%root%\Объекты\Документы\Настройки\ФорматыОбластей").Значение("Использовать").КакФлаг = нет тогда
    ПолучитьЗначенияЛенты(КодИнтерфейса, Данные, Параметры, РезТекст)                     
  иначе
/$конец
    СформироватьОбласти(КодИнтерфейса, Данные, Параметры, nil, РезТекст);
конец;

функция ЗаполнитьПоУмолчанию(СписокЗначений: Текст; РС: Целое; ЭтоПлательщик: целое);
переменные
  Постфикс: строка;
начало
  если ЭтоПлательщик тогда
    Постфикс := "Плательщика"
  иначе
    Постфикс := "Получателя";
    
  если СписокЗначений.ЗначениеПараметра("Счет" + Постфикс) = "" тогда
    СписокЗначений.ЗначениеПараметра("Счет" + Постфикс) := Разыменовать("р/с.ИмяРС", РС);
  если СписокЗначений.ЗначениеПараметра("НаименованиеБанка" + Постфикс) = "" тогда
    СписокЗначений.ЗначениеПараметра("НаименованиеБанка" + Постфикс) := 
                          Разыменовать('Р/С.Банк.Имя', РС) + ' ' + 
                          Разыменовать('Р/С.Банк.Город', РС);
  если СписокЗначений.ЗначениеПараметра("БИКБанка" + Постфикс) = "" тогда                        
    СписокЗначений.ЗначениеПараметра("БИКБанка" + Постфикс) := Разыменовать('Р/С.Банк.Бик', РС);
  если СписокЗначений.ЗначениеПараметра("КорСчетБанка" + Постфикс) = "" тогда                        
    СписокЗначений.ЗначениеПараметра("КорСчетБанка" + Постфикс) := Разыменовать('Р/С.Банк.КорСчет', РС);    
конец;

функция ВернутьСписокАтрибутов(СписокЗначений: Текст; МаппингСтр: строка): строка;
переменные
  Список, Маппинг: Текст;
  сч: целое;
  ЗначениеАтр: строка;
начало
  Результат := "";
  Список := СоздатьТекст;
  Маппинг := СоздатьТекст;
  попытка
    Маппинг.РазделенноеЗначение := МаппингСтр;
    от сч := 0 до Маппинг.Количество - 1 делать
    начало
      ЗначениеАтр := СписокЗначений.ЗначениеПараметра(Маппинг.ЗначениеПараметра(Маппинг.ИмяПараметра(сч)));
      если ЗначениеАтр &lt;&gt; "" тогда
        Список.ЗначениеПараметра(Маппинг.ИмяПараметра(сч)) := ЗначениеАтр;
    конец;
    Результат := Список.РазделенноеЗначение;
  обязательно
    УдалитьОбъект(Список, Маппинг);
  конец;      
конец;

функция СохранитьВДатасет(Данные: СтатическиеДанные; СписокЗначений: Текст);
начало
  Данные.Редактировать;
  если УбратьПробелы(Данные.ПолеПоИмени("SourceStoredPaymentProps").КакСтрока) = "" тогда
  начало
    ЗаполнитьПоУмолчанию(СписокЗначений, Данные.ПолеПоИмени("SOURCEACCOUNT").КакЦелое, да);
    Данные.ПолеПоИмени("SourceStoredPaymentProps").КакСтрока := ВернутьСписокАтрибутов(СписокЗначений, МаппингПлательщика);
  конец;
  если УбратьПробелы(Данные.ПолеПоИмени("DestStoredPaymentProps").КакСтрока) = "" тогда
  начало
    ЗаполнитьПоУмолчанию(СписокЗначений, Данные.ПолеПоИмени("DESTACCOUNT").КакЦелое, нет);    
    Данные.ПолеПоИмени("DestStoredPaymentProps").КакСтрока := ВернутьСписокАтрибутов(СписокЗначений, МаппингПолучателя);
  конец;
  если УбратьПробелы(Данные.ПолеПоИмени("StoredPaymentNote").КакСтрока) = "" тогда
    Данные.ПолеПоИмени("StoredPaymentNote").КакСтрока := СписокЗначений.ЗначениеПараметра("НазначениеПлатежа");
  Данные.Сохранить;                                                    
конец;

функция ЗаполнитьХранимыеАтрибуты(ПараметрыДействия: IVariables);
переменные
  Заголовок, Деталь, Данные: СтатическиеДанные;
  Значения: Текст;
  ДопПараметры: IVariables;
  МаппингЗаголовка, МаппингДетали: строка;  
  ЗаполненНомерЭлДок: Целое;
  ПолеНомерЭлДок: IField;
начало
  Значения := СоздатьТекст;
  Данные := СоздатьСтатическиеДанные;
  ДопПараметры := СоздатьКоллекцию;
  попытка
    ДопПараметры.Значение("ПолеСуммы") := "СуммаЗаписи";  // Имя поля суммы в детализации из DFU                         
    Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);      
    Деталь := ПолучитьДетальИзКоллекции(ПараметрыДействия, 1);   
    МаппингДетали := ДобавитьПоля(Данные, Деталь, ПараметрыДействия.Значение("КодИнтерфейса"), 1);
    МаппингЗаголовка := ДобавитьПоля(Данные, Заголовок, ПараметрыДействия.Значение("КодИнтерфейса"), 0);
    Данные.Открыть;
    Данные.Закачать(Деталь, ЗаменитьСтроку(МаппингДетали, ";", ",", ИгнорироватьРегистр + ЗаменятьВсе));
    Данные.Группировать(Заголовок, "keys=КодДокумента;" + МаппингЗаголовка);
    Данные.Filtered := да;
    Заголовок.ВНачало;
    пока не Заголовок.ВКонце делать
    начало
      если Заголовок.НайтиПоле("ElNum", ПолеНомерЭлДок) тогда
        ЗаполненНомерЭлДок := УбратьПробелы(ПолеНомерЭлДок.КакСтрока) &lt;&gt; ""
      иначе
        ЗаполненНомерЭлДок := нет;
      если не ЗаполненНомерЭлДок тогда
        если (УбратьПробелы(Заголовок.ПолеПоИмени("SourceStoredPaymentProps").КакСтрока) = "") или 
             (УбратьПробелы(Заголовок.ПолеПоИмени("DestStoredPaymentProps").КакСтрока) = "") или
             (УбратьПробелы(Заголовок.ПолеПоИмени("StoredPaymentNote").КакСтрока) = "") тогда
        начало
          Данные.Фильтр := Формат("КодДокумента = %d", Заголовок.ПолеПоИмени("ID").КакЦелое);
          ВычислитьОбласти(ПараметрыДействия.Значение("КодИнтерфейса"), Данные, ДопПараметры, Значения);
          СохранитьВДатасет(Заголовок, Значения);
        конец;
      Заголовок.Следующая;
    конец;      
  обязательно
    УдалитьОбъект(Значения, Данные, ДопПараметры);
  конец; 
конец;

</value>
    <param value="ЗаполнениеХранимыхАтрибутовПлатежа" type="3" name="version">36.042.157</param>
    <param value="ЗаполнениеХранимыхАтрибутовПлатежа" type="3" name="crc32">$A036C1D1</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL />
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL />
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="МодальныйПоказИнтерфейсов.abl">включить "\библиотеки\LibRu.lib";
включить "\библиотеки\Reports.lib";
включить '\библиотеки\SharedParams.lib';
включить '\библиотеки\ReportTools.lib';
включить "\библиотеки\LinkInfo2.lib";
включить '\библиотеки\ModalFormEx.lib';
включить "Project";
включить '\Макросы\отчеты\ПоддержкаПроекта.abl';
    
константы
  LockMode_Data = 1;    // Блокировать явный ввод данных
  LockMode_Code = 2;    // Блокировать исполнение алгоритмов
  
  mmbVisible = 8;
  МаскаВремя = '99/99/9999';
  
  НастройкиОграничений = "Бюджет\Объекты\Интерфейсы\Настройки\Настройки ограничений";

функция ДобавитьСтроку(стр1, стр2: строка);
начало
  если стр1 = "" тогда
    стр1 := стр2
  иначе
    стр1 := стр1 + "," + стр2;
конец;

функция ПолучитьСписокЗначенийПоля(Данные: СтатическиеДанные; ИмяПоля: строка): строка;
начало
  Результат := "";
  Данные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    ДобавитьСтроку(Результат, Данные.ПолеПоИмени(ИмяПоля).КакСтрока);
    Данные.Следующая;
  конец;
конец;

функция ПолучитьВидимыеПараметры(Настройки: СтатическиеДанные): строка;
начало
  попытка
    Настройки.Фильтр := "((Visible = 1)
        or ((Visible = 2) and (DefaultVisible &gt; 0)))";
    Настройки.Filtered := да;
    Результат := ПолучитьСписокЗначенийПоля(Настройки, "ParamTab");
    Настройки.Фильтр := "";
  неудача
    Результат := "";
  конец
конец;

функция ДобавитьСсылки(ПанельПараметров: ISharedParams; Коллекция: IVariables);
переменные
  ВидПарам, СкрПарам: Текст;
  сч, кол: целое;
  Параметр: ISPParam;
  Имя, СписокВидимыхПараметров, СписокСкрытыхПараметров: строка; 
начало
  ВидПарам := СоздатьТекст;
  СкрПарам := СоздатьТекст;
  попытка
    ВернутьСоответствиеНевидимыхПараметров(СписокВидимыхПараметров, СписокСкрытыхПараметров);
    СкрПарам.РазделенноеЗначение := СписокСкрытыхПараметров;
    ВидПарам.РазделенноеЗначение := СписокВидимыхПараметров;
    кол := ВидПарам.Количество;
    от сч:=0 до кол-1 делать
    начало
       Параметр := ПанельПараметров.Param(ВидПарам.Стр(сч));
       если Параметр &lt;&gt; nil тогда
         если (Параметр.Enabled &lt;&gt; нет) тогда
         начало
           Имя := СкрПарам.Стр(сч);
           Коллекция.Values(Имя) := ПанельПараметров.ParamValue(Имя);
         конец;
    конец;
  обязательно
    УдалитьОбъект(ВидПарам, СкрПарам);
  конец;
конец;

функция ФорматированноеЗначение(Значение, Маска: Строка): Variant;
начало
  если Значение = "" тогда
    Результат := null
  иначе
    выбрать Маска из
      МаскаВремя: Результат := ФорматироватьВремя("DD.MM.YYYY", СтрокаВЦелое(Значение));
      ""        : Результат := Значение;
      иначе  Результат := ФорматироватьКлассификатор(Значение, Маска);
    конец;
конец;

функция ЗаполнитьПиклист(Параметр: ISPParam; Значения: строка);
переменные
  Пиклист: Текст;
  сч: целое;
начало
  Пиклист := СоздатьТекст;
  попытка
    Пиклист.РазделенноеЗначение := Значения;
    от сч := 0 до Пиклист.Количество - 1 делать
      Параметр.PickList.Add(Пиклист.Стр(сч));
  обязательно
    УдалитьОбъект(Пиклист);
  конец;
конец;

функция ЗаполнитьПараметрыНаПанели(ПанельПараметров: ISharedParams; Коллекция: IVariables);
переменные
  сч: целое;
  Параметр: ISPParam;
  ИмяПараметра: строка;
  Стр: строка;
начало
  от сч := 0 до Коллекция.Count - 1 делать
  начало
    ИмяПараметра := Коллекция.Names(сч);
    Стр := Подстрока(ИмяПараметра, длина(ИмяПараметра) - 2, 3);
    если (Стр &lt;&gt; "Чек") и (Стр &lt;&gt; "Клч") тогда
    начало
      Параметр := ПанельПараметров.FindParam(ИмяПараметра);
      если Параметр &lt;&gt; nil тогда
      начало
        если Коллекция.ПараметрСуществует(ИмяПараметра + "Чек") тогда
          если БитИ(Параметр.EditStyle, ebsxCheck) &lt;&gt; 0 тогда
            Параметр.CheckState := СтрокаВЦелое(Коллекция.Значение(ИмяПараметра + "Чек"));
        если Коллекция.ПараметрСуществует(ИмяПараметра + "Клч") тогда
          ЗаполнитьПиклист(Параметр, Коллекция.Значение(ИмяПараметра + "Клч"));  
        Параметр.Value := Коллекция.Значение(ИмяПараметра);
      конец;  
    конец;   
  конец;
конец;

функция ПоказатьПараметрыОграничений(КодИтф: целое; ПараметрыОграничений: IVariables; Заголовок: строка);
переменные
  ПанельПараметров: ISharedParams;
  ВидимыеПараметры: строка;
  НастройкиПараметров: СтатическиеДанные;
  ФормаПараметров: МодальнаяФорма;
  ЛокКоллекция: IVariables;  
начало
  если ПараметрыОграничений = nil тогда 
    ПараметрыОграничений := СоздатьКоллекцию;
  ЛокКоллекция := СоздатьКоллекцию;  
  ЛокКоллекция.PumpData(ПараметрыОграничений);
  ПараметрыОграничений.Clear;  
  ФормаПараметров := СоздатьМодальнуюФорму;    
  НастройкиПараметров := СоздатьДанныеИзРеестра(НастройкиОграничений, ЦелоеВСтроку(КодИтф));
  попытка
    ВидимыеПараметры := ПолучитьВидимыеПараметры(НастройкиПараметров);       
    если ВидимыеПараметры &lt;&gt; "" тогда
    начало
      ФормаПараметров.УстановитьИДОбъекта('{D379F2C0-59E2-11D2-848C-008048C44309}');
      ФормаПараметров.ПолучитьИнтерфейсТекущего(_ISharedParams, ПанельПараметров);
      ФормаПараметров.Заголовок := Заголовок;
      ФормаПараметров.ИзменитьКнопку(0, 0, mmbVisible, 0, 0, '', нет);    
      ПанельПараметров.FirstSetEnabledParams(ВидимыеПараметры);
      ЗаполнитьПараметрыНаПанели(ПанельПараметров, ЛокКоллекция);
      если (ФормаПараметров.ПоказатьМодально &lt;&gt; Результат_ОК) тогда
        ошибка('Отменено пользователем');                     
      GetEnabledParams(ПанельПараметров, ПараметрыОграничений, ВидимыеПараметры);
      ДобавитьСсылки(ПанельПараметров, ПараметрыОграничений);
    конец;
  обязательно
    УдалитьОбъект(НастройкиПараметров);
    ЗакрытьИнтерфейс(ФормаПараметров);
    УдалитьОбъект(ФормаПараметров, ЛокКоллекция);    
  конец; 
конец;

функция ПоказатьИтфМодально(GUID: строка; ПараметрыОграничений: IVariables; Заголовок: строка; МФ: МодальнаяФорма): целое;
переменные
  Форма: ФормаВвода;
  ПеременныеОкружения: IVariables;
начало
  если МФ = nil тогда
    МФ := СоздатьМодальнуюФорму;
  попытка
    МФ.УстановитьИДОбъекта(GUID);
    Форма := МФ.ПолучитьФормуВвода;
    Форма.РежимБлокировки := LockMode_Data + LockMode_Code;
    ПеременныеОкружения := Интерфейс(Форма.ПеременныеОкружения).ЗапроситьИнтерфейс(_IVariables);
    ПеременныеОкружения.Значение("ВнешниеПараметры") := ПараметрыОграничений;
    МФ.Заголовок := Заголовок;
    Форма.Выполнить;
    Результат := МФ.ПоказатьМодально;
  неудача
    Результат := Результат_Отмена;
    Ошибка("Ошибка при модальном показе интерфейса" + #13#10 + ПоследняяОшибка);
  конец; 
конец;

функция ЗаполнитьПараметры(ПараметрыМФ: ISetParams; ПараметрыОграничений: IVariables);
переменные
  сч: целое;
начало
  ПараметрыМФ.ClearParamValues;
  от сч := 0 до ПараметрыОграничений.Count - 1 делать
  начало
    ПараметрыМФ.SetParamValue(ПараметрыОграничений.Names(сч), ПараметрыОграничений.IndexValues(сч));
  конец;
конец;

функция ПоказатьИтфМодально2(GUID: строка; ПараметрыОграничений: IVariables; Заголовок: строка; Форма: ФормаВвода): целое;
переменные
  МФ: IModalFormX;
  ПараметрыМФ: ISetParams;
начало
  попытка
    ПолучитьИнтерфейс(_IModalFormX, мф);
    мф.SetObjectStr(GUID);
    мф.SetCaption(Заголовок);
    Форма := МФ.GetObject;
    Форма.РежимБлокировки := LockMode_Data + LockMode_Code;    
    ПараметрыМФ := Интерфейс(мф).QueryInterface(_ISetParams);
    ЗаполнитьПараметры(ПараметрыМФ, ПараметрыОграничений);
    мф.Refresh;
    Результат := мф.ShowModal;
  неудача
    Результат := Результат_Отмена;
    Ошибка("Ошибка при модальном показе интерфейса" + #13#10 + ПоследняяОшибка);
  конец; 
конец;

функция ДобавитьСвязьПоТипу(ТипСвязи, РодИД, ДочернИД: целое);
переменные
  LinkInfo2: ILinkInfo2;
  Фильтр: IVariables;
  Связи: СтатическиеДанные;
начало
  LinkInfo2 := CreateComObject(TLinkInfo2);
  попытка
    СоединитьИнтерфейс(LinkInfo2);
    Фильтр := СоздатьКоллекцию;
    Фильтр.Значение("ParentID") := РодИД;
    Фильтр.Значение("ChildID") := ДочернИД;
    Фильтр.Значение("LinkTypeID") := ТипСвязи;
    Связи := LinkInfo2.GetLinks(Фильтр);
    если Связи.ЧислоЗаписей = 0 тогда
      LinkInfo2.CreateLink(ТипСвязи, РодИД, ДочернИД);    
  обязательно
    ЗакрытьИнтерфейс(LinkInfo2);
    УдалитьОбъект(LinkInfo2, Фильтр);
  конец;
конец;

функция ДобавитьСвязь(КодРод, КодДочерн, РодИД, ДочернИД: целое);
переменные
  LinkInfo2: ILinkInfo2;
  Фильтр: IVariables;
  ТипыСвязей: СтатическиеДанные;
начало
  LinkInfo2 := CreateComObject(TLinkInfo2);
  попытка
    СоединитьИнтерфейс(LinkInfo2);
    Фильтр := СоздатьКоллекцию;
    Фильтр.Значение("ParentDocCls") := КодРод;
    Фильтр.Значение("ChildDocCls") := КодДочерн;
    ТипыСвязей := LinkInfo2.GetLinkTypes(Фильтр);
    если ТипыСвязей.ЧислоЗаписей = 0 тогда
      Ошибка("Тип связи не найден");
    ДобавитьСвязьПоТипу(ТипыСвязей.ПолеПоИмени("ID").КакЦелое, РодИД, ДочернИД);    
  обязательно
    ЗакрытьИнтерфейс(LinkInfo2);
    УдалитьОбъект(LinkInfo2, Фильтр);
  конец;
конец;
</value>
    <param value="МодальныйПоказИнтерфейсов.abl" type="3" name="version">36.042.157</param>
    <param value="МодальныйПоказИнтерфейсов.abl" type="3" name="crc32">$27A84B12</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Состояния">
    <value type="7" name="ОбщаяПоддержкаСхемы.abl">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Control.lib";
включить "\Библиотеки\Variables.lib";
включить '\Библиотеки\StateManage.lib';
включить "\Библиотеки\LinkInfo2.lib";
включить "\Макросы\Стандартные.abl";
включить "\Макросы\Состояния\ОбщиеДействия.abl";
включить "\Макросы\Состояния\ОбщиеКонстантыСхемы.abl";
включить '\Библиотеки\Documents.lib';

константы
  nl                    = #13#10;
  КонстПолеИДДок        = "ID";

  КонстПолеСостДок      = "DocStateRef";
//константы полей в таблице истории переходов  
  ИсторияПолеНачСост    = "BeginStateRef";
  ИсторияПолеКонСост    = "EndStateRef";  
  ИсторияПолеСсылкаНаДок= "DocID";
  ИсторияПолеИДВИстории = "STHID";
  ИсторияПолеОбратПереход="BACKJUMP";  
  
//константы полей в таблице связанных переходов
  Таб_СвязанныхПереходов= "СвязанныеПереходы";
  СвПереход_ПолеМастерТипДок    = "MasterDocType";
  СвПереход_ПолеНачСост         = "MasterBeginDocState";
  СвПереход_ПолеКонСост         = "MasterEndDocState";
  СвПереход_ПолеДочернТипДок    = "DetailDocType";
  СвПереход_ПолеДочернДействие  = "DetailActionName";  
//константы для функций проставления полей в зависимости от начального состояния   
  ПроставДиапазон_НачСост       = "B";
  ПроставДиапазон_КонСост       = "E";
  ПроставДиапазон_СписокПолей   = "Fields";
  ПроставДиапазон_СостПриПереходе= "NewDocState";      

  ОшибкаОтсутствияМакроса               = "Функция: 'ВызовПользовательскойОбработки'. Отсутствует пользовательский макрос на действие, включающее несколько возможных переходов из одного состояния";

  кп_ВРеестре   = 0;    
  кп_ВТаблице   = 1;

  ПрефиксИндОбработчика         = "Инд_";
  ПрефиксУсловияКаскада         = "Усл_";
  _stChild                      = "Дочерн";
  
  кСписокКоллекций = "ПоляЗаголовка,ПоляДетали";  
  
функция _stUseCustomFilter: строка;
начало
  результат := "ИспользоватьРасширенныйФильтр";  
конец;
   
функция ОшибкаНаличияПравНаПереходыДействия: строка;
начало
  результат := "[ABL]Отсутствуют права на совершение действия(нет прав ни на один переход в действии)";
конец;
функция ОшибкаНаличияНачСостояния: строка;
начало
  результат := "[ABL]Отсутствуют права на начальное состояние для типа документов: %d";
конец;  
функция ОшибкаНаличияПравНаИзменениеСостояния: строка;
начало
  результат := "[ABL]Отсутствуют права на обработку документа в текущем состоянии";
конец;
функция ОшибкаСовершенияКаскадПерехода: строка;
начало
  результат := "[ABL]Документ содержит связанные документы, некорректные для совершения действия";  
конец;
функция ОшибкаНаличияПроведенияИОтклонения: строка;
начало
  результат := "[ABL]В документе одновременно присутствуют проставленные дата проведения и причина отклонения";
конец;  
функция ОшибкаНесколькоПереходовИзНачСостояния: строка;
начало
  результат := "[ABL]Для документа в текущем состоянии доступно для совершения более одного перехода"; 
конец;

функция Отладка_Скрипта: целое;
начало
  результат := 0;  
конец;

функция ФильтрПрошедшиеПереход: строка;
начало
  результат := "("+stControlResultFieldName+"=0)and(("+stControlMessageFieldName+" is null)or("+stControlMessageFieldName+"=''))";
конец;

функция НаложитьОграничение(Ограничение: Variant; ИмяПолейОгр: IVariables; Источник: СтатическиеДанные);
переменные
  индекс        : целое;
  ИмяПоля       : Строка;
начало
  от индекс := 0 до ИмяПолейОгр.Count-1 Делать
  начало
    ИмяПоля := Строка(ИмяПолейОгр.Names(индекс));
    если Источник.FindField(ИмяПоля, nil)
      тогда Ограничение.AsInteger(индекс) := Источник.ПолеПоИмени(ИмяПоля).AsInteger
      иначе Ограничение.AsInteger(индекс) := ИмяПолейОгр.IndexValues(индекс);
  конец;   
конец;
//----------------------------ПОЛУЧЕНИЕ ДАННЫХ ДОКУМЕНТОВ ДЛЯ СИСТЕМЫ СОСТОЯНИЙ 
функция ПолучитьДетальИзПараметра(КоллекцияСДанными: IVariables;ИмяПараметра: строка;НомерДетали: целое): СтатическиеДанные;
переменные
  НаборыДанных  : IVariables;
начало
  //получаем необходимые данные из переданной коллекции
  НаборыДанных := КоллекцияСДанными.Values(ИмяПараметра);
  //получаем набор выделенных документов с указанным номером(0-заголовок,1..-детали) 
  Результат := НаборыДанных.Values(ЦелоеВСтроку(НомерДетали));
конец;
       
функция ПолучитьДетальИзКоллекции(КоллекцияСДанными: IVariables;НомерДетали: целое): СтатическиеДанные;
начало
  Результат := ПолучитьДетальИзПараметра(КоллекцияСДанными, stVarData, НомерДетали); 
конец;

функция ПолучитьЗаголовокИЗКоллекции(КоллекцияСДанными: IVariables): СтатическиеДанные;
начало
  //получаем заголовки выделенных документов 
  Результат := ПолучитьДетальИзКоллекции(КоллекцияСДанными, 0);
конец;

функция ПолучитьДочернДетальИзКоллекции(КоллекцияСДанными: IVariables;НомерДетали: целое): СтатическиеДанные;
начало
  Результат := ПолучитьДетальИзПараметра(КоллекцияСДанными, _stVarChildData, НомерДетали);  
конец;

функция ПолучитьДочернЗаголовокИзКоллекции(КоллекцияСДанными: IVariables): СтатическиеДанные;
начало
  //получаем заголовки выделенных документов 
  Результат := ПолучитьДочернДетальИзКоллекции(КоллекцияСДанными, 0);
конец;

//----------------------------ИНФОРМАЦИЯ О НАСТРОЙКАХ(состояниях, переходах, действиях, истории) В СИСТЕМЕ СОСТОЯНИЙ------
// Комментарий
функция ПолучитьСостояния(ПрочиеОграничения: строка): СтатическиеДанные;
начало
  результат := СоздатьСтатическиеДанные();
  результат.СоединитьБД();
  результат.Запрос := "[PumpData]"
                    + "{"
                    + " SELECT id, statenumber, name FROM state_docstates "
                    + " WHERE (1=1) " + ПрочиеОграничения
                    + " ORDER BY statenumber "
                    + "}";
  результат.Открыть();                        
конец;
  
//получаем перечень состояний для отдельного типа документов
функция ВернутьСостоянияДляТипДок(ТипДок: ЦЕЛОЕ): СтатическиеДанные;
начало
  результат := ПолучитьСостояния("and(DocTypeRef="+ЦелоеВСтроку(ТипДок)+")");
конец;

// получение перечня состояний с указанным видом для одного типа документов
функция ВернутьСостоянияОдногоВидаДляТипДок(ТипДок, ВидСостояний: целое): СтатическиеДанные;
начало
  результат := ПолучитьСостояния("and(DocTypeRef=" + ЦелоеВСтроку(ТипДок) + ")"
                               + "and(StateTypeRef=" + ЦелоеВСтроку(ВидСостояний) + ")");
конец;

функция НазваниеСостоянияПоКоду(КодСостояния: целое): строка;
переменные
  ТипДок: СтатическиеДанные;        
начало
  результат := "";
  ТипДок := ВернутьСостоянияДляТипДок(КодСостояния цел 100);
  попытка
    если ТипДок.Локализовать("ID", КодСостояния, 0)
      тогда результат := ТипДок.ПолеПоИмени("Name").КакСтрока;
  обязательно
    если ТипДок&lt;&gt;nil тогда 
      УдалитьОбъект(ТипДок);
  конец;
конец;

функция ПолучитьИмяМакросаДействияПоИД(ИДДействия: Целое): строка;
переменные
  Действия      : СтатическиеДанные;
начало
  Действия := СоздатьСтатическиеДанные();
  попытка
    Действия.СоединитьБД();
    Действия.Запрос := "[PumpData]{SELECT ID, ActionName FROM State_Actions WHERE ID=@ActionID}";
    Действия.Параметр("ActionID") := ИДДействия;
    Действия.Открыть();
    если Действия.ЧислоЗаписей = 0
      тогда ВызватьОшибку(Формат("Функция 'ПолучитьИмяМакросаДействияПоИд': действия для визирования с указанным ИД:%d не обнаружено", ИДДействия));
    результат := Действия.Поле("ActionName").КакСтрока;  
  обязательно
    УдалитьОбъект(Действия);
  конец;
конец;
функция ПолучитьИмяДействияПоИД(ИДДействия: целое): строка;
переменные      
  Действия      : СтатическиеДанные;
начало          
  Действия := СоздатьСтатическиеДанные();
  попытка
    Действия.СоединитьБД();
    Действия.Запрос := "[PumpData]{SELECT ID, Name FROM State_Actions WHERE ID=@ActionID}";
    Действия.Параметр("ActionID") := ИДДействия;
    Действия.Открыть();
    если Действия.ЧислоЗаписей = 0
      тогда ВызватьОшибку(Формат("Функция 'ПолучитьИмяДействияПоИд': действия для визирования с указанным ИД:%d не обнаружено", ИДДействия));
    результат := Действия.Поле("Name").КакСтрока;  
  обязательно
    УдалитьОбъект(Действия);
  конец;
конец;
//Определяем использование системы состояний для типа документов заданного параметром
функция ТипДокИдетПоСхеме(ТипДок: ЦЕЛОЕ): целое;
переменные
  сс : СтатическиеДанные;
начало
  Результат := Ложь;
  сс := СоздатьСтатическиеДанные();
  попытка
    сс.СоединитьБД();
    сс.Запрос := "[PumpData] {SELECT UseState FROM DocumentTypes WHERE ID=@ID}";
    сс.Параметр("ID") := ТипДок;
    сс.Открыть();
    сс.Вначало();
    если сс.RecordCount &gt; 0 тогда
      Результат := сс.Поле("UseState").КакЦелое &lt;&gt; 0;
    сс.Закрыть();
  обязательно  
    УдалитьОбъект(сс);
  конец;  
конец;

функция ПолучитьПереходы(Параметры: Ivariables): СтатическиеДанные;
//0-строка ограничения для первой секции
//1-строка ограничения для второй секции
//2-имя параметра в ограничении
//3-значение параметра
//4-тип параметра 
переменные
  сч                    : целое;
  ПрочиеОграниченияСекция1,
  ПрочиеОграниченияСекция2      : СТРОКА;
  ОдноОписаниеОгр               : Variant;       
начало
  Результат := СоздатьСтатическиеДанные();
  Результат.СоединитьБД();
  ПрочиеОграниченияСекция1 := "";
  от сч := 0 до Параметры.Count-1 делать
  начало
    ОдноОписаниеОгр := Параметры.IndexValues(сч);
    если УбратьПробелы(ОдноОписаниеОгр.AsString(0)) &lt;&gt; ''
      тогда ПрочиеОграниченияСекция1  := ПрочиеОграниченияСекция1 + "and " + ОдноОписаниеОгр.AsString(0);
    если УбратьПробелы(ОдноОписаниеОгр.AsString(1)) &lt;&gt; ''
      тогда ПрочиеОграниченияСекция2  := ПрочиеОграниченияСекция2 + "and " + ОдноОписаниеОгр.AsString(1);    
  конец;         
  Результат.Запрос := "[PumpData]"
                    //через права пользователя на переход
                    + "{SELECT sj.BeginStateRef, sj.EndStateRef "
                    + " FROM       State_Jumps sj "
                    + " inner join State_DocStates Bs on (sj.BeginStateRef=Bs.ID)"
                    + " inner join State_DocStates Es on (sj.EndStateRef=Es.ID)"                    
                    + " left join State_ActionJumps saj on (sj.ID=saj.JumpRef)"
                    + " left join State_Actions sa on (sa.ID=saj.ActionRef)"
                    + " inner join UsersRights ur on (ur.ObjRef=sj.ID)"
                    + " inner join DBUsers u on (u.ID=ur.UserRef)"
                    + " WHERE (ur.ObjectKindRef=7000000)"
                    + ПрочиеОграниченияСекция1
                    + "}" 
                    //через права группы пользователя на переход                    
                    + "{SELECT sj.BeginStateRef, sj.EndStateRef "
                    + " FROM       State_Jumps sj "
                    + " inner join State_DocStates Bs on (sj.BeginStateRef=Bs.ID)"
                    + " inner join State_DocStates Es on (sj.EndStateRef=Es.ID)"                    
                    + " left join State_ActionJumps saj on (sj.ID=saj.JumpRef)"
                    + " left join State_Actions sa on (sa.ID=saj.ActionRef)"
                    + " inner join GroupsRights gr on (gr.ObjRef=sj.ID)"
                    + " inner join UsersInGroups uig on (uig.GroupRef=gr.GroupRef)"
                    + " inner join DBUsers u on (u.ID=uig.UserRef)"
                    + " WHERE (gr.ObjectKindRef=7000000)"
                    + ПрочиеОграниченияСекция2
                    + "}"
                    + "[GROUPDATA]{KEYS=BeginStateRef,EndStateRef}{KEYS=BeginStateRef,EndStateRef}";
  //передача параметров                  
  от сч := 0 до Параметры.Count-1 делать
  начало
    ОдноОписаниеОгр := Параметры.IndexValues(сч);
    выбрать ОдноОписаниеОгр.ASInteger(4) из
      1: Результат.Параметр(ОдноОписаниеОгр.ASString(2)) := ОдноОписаниеОгр.AsString(3);
      3: Результат.Параметр(ОдноОписаниеОгр.ASString(2)) := ОдноОписаниеОгр.AsInteger(3);
    конец;   
  конец;         
  Результат.Открыть();                                        
конец;

функция ПолучитьПереходыВДействии(ИДДействия: целое; ИмяПользователя: строка): СтатическиеДанные;
переменные
  Ограничения   : Ivariables;
  v             : Variant;
  сч            : ЦЕЛОЕ;
начало
  Ограничения := CreateVariables();
  V := CreateVariant();
  попытка
    V.VarArrayOF(0);
    V.VarArrayRedim(5);   
  
    Ограничения.AddItems("0");
    V.VarArrayOF("(sa.ID=@ActionID)", "(sa.ID=@ActionID)", "ActionID", ИДДействия, 3);
    Ограничения.Values("0") := V;
    Ограничения.AddItems("1");
    V.VarArrayOF("(u.UserName='~UserName')", "(u.UserName='~UserName')", "UserName", ИмяПользователя, 1);    
    Ограничения.Values("1") := V;     
    Результат := ПолучитьПереходы(Ограничения);
  обязательно
    от сч := Ограничения.Count-1 назад 0 делать
    начало
      V := Ограничения.IndexValues(сч);
      УдалитьОбъект(V);
    конец;  
    УдалитьОбъект(Ограничения);
  конец;  
конец;

функция ПолучитьНачальноеСостояниеКлиента(ТипДокумента: целое; ИмяПользователя: СТРОКА): Строка;
переменные
  ПереходыИзНачСост     : СтатическиеДанные;
  Ограничения   : IVariables;
  V             : Variant;
  сч            : ЦЕЛОЕ;
начало
  Ограничения := CreateVariables();
  V := CreateVariant();
  попытка
    V.VarArrayOF(0);
    V.VarArrayRedim(5);   
    Ограничения.AddItems("0");
    V.VarArrayOF("(bs.StateTypeRef=0)", "(bs.StateTypeRef=0)", 0, 0, 0);
    Ограничения.Values("0") := V;
    Ограничения.AddItems("1");
    V.VarArrayOF("(u.UserName='~UserName')", "(u.UserName='~UserName')", "UserName", ИмяПользователя, 1);
    Ограничения.Values("1") := V;
    Ограничения.AddItems("2");
    V.VarArrayOF("(sj.DocTypeRef=@DocTypeRef)", "(sj.DocTypeRef=@DocTypeRef)", "DocTypeRef", ТипДокумента, 3);
    Ограничения.Values("2") := V;
    ПереходыИзНачСост := ПолучитьПереходы(Ограничения);
    Результат := GetLimitStr(ПереходыИзНачСост, ИсторияПолеНачСост);
    если УбратьПробелы(Результат) = ""
      тогда ВызватьОшибку(Формат(ОшибкаНаличияНачСостояния(), ТипДокумента));
  обязательно
    от сч := Ограничения.Count-1 назад 0 делать
    начало
      V := Ограничения.IndexValues(сч);
      УдалитьОбъект(V);
    конец;  
    УдалитьОбъект(Ограничения);
  конец    
конец;

// ПолучитьНачальное состояние для указанного кода документа с учетом прав текущего пользователя
// в отличие от предыдущей функции, если начальных состояний несколько, то пользователю выдается диалог выбора начального состояния
// Если нет ни одного разрешенного начального состояния, возвращается -1
функция ПолучитьНачальноеСостояние(КодДокумента:целое):целое;
переменные
  ПараметрыСостояний : IVariables;
начало
  Результат := -1;
  если ТипДокИдетПоСхеме(307) тогда
  начало
    ПараметрыСостояний := СоздатьКоллекцию;
    попытка
      ПараметрыСостояний.Значение(stVarUserName) := ТекущийПользователь;
      ПараметрыСостояний.Значение(stVarIntfCode) := КодДокумента;
      Результат := GetBeginState(ПараметрыСостояний);
    обязательно
      УдалитьОбъект(ПараметрыСостояний);
    конец;  
  конец;
конец;

функция ОбщееПолучениеПереходаВИстории(ПараметрыДействия, ИменаПолейОграничений: IVariables;
                                       ПоследнееНачСостДляДок: Текст; 
                                       ИмяЦелевогоПоля, НоваяСортировка: строка);
//1 IN  - коллекция с параметрами действия
//2 IN  - коллекция имен полей в заголовках док-ов для перехода  
//3 OUT - возвращаемый список состояний нужного перехода в истории для каждого отдельного док-та
//4 IN  - имя поля, которое нужно вернуть из истории  
//5 IN  - перечень полей сортировки по которым необходимо производить поиск нужного перехода в истории
                                       
//если при переходе на схему часть документов была проставлена в разные промежуточные состояния
//напрямую сразу 1 UPDATE, то история по ним была не сформирована и получить 
//последнее начальное состояние у документа без истории будет невозможно
переменные
  Выделенные,
  ИсторияДок    : СтатическиеДанные;
  ограничение   : Variant;
  СтараяСортировка: строка;
начало
  ограничение := CreateVariant();
  попытка
    //получаем историю о переходах выделенных документов
    ИсторияДок := GetStateHistoryData(ПараметрыДействия);
    СтараяСортировка := ИсторияДок.IndexFieldNames;
    //получаем выделенные документы
    Выделенные := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
    
    Ограничение.VarArrayOf(0);
    Ограничение.VarArrayRedim(ИменаПолейОграничений.Count-1);        
    ИсторияДок.IndexFieldNames := НоваяСортировка;
    //пробегаемся по выделенным записям
    Выделенные.ВНачало();
    пока не Выделенные.ВКонце делать
    начало
      НаложитьОграничение(Ограничение, ИменаПолейОграничений, Выделенные);
      ИсторияДок.SetScope(Ограничение.Value);
      //для каждого документа находим нужное поле из требуемого перехода в истории
      //и заносим его в список с указанием ИД документа
      ИсторияДок.ВНачало();
      ПоследнееНачСостДляДок.ЗначениеПараметра(Выделенные.ПолеПоИмени(КонстПолеИДДок).КакСтрока) := ИсторияДок.ПолеПоИмени(ИмяЦелевогоПоля).КакСтрока;
      ИсторияДок.CancelRange();
      Выделенные.Следующий();          
    конец;
  обязательно
    ИсторияДок.IndexFieldNames := СтараяСортировка;  
    УдалитьОбъект(Ограничение);
  конец;     
конец;
 
функция ПолучитьПоследнееСостВИстории(ПараметрыДействия: IVariables; ПоследнееНачСостДляДок: Текст);
переменные
  ИменаПолей : IVariables;
начало
  ИменаПолей := CreateVariables();
  попытка
    ИменаПолей.AddItems(КонстПолеИДДок);
    ОбщееПолучениеПереходаВИстории(ПараметрыДействия, ИменаПолей, ПоследнееНачСостДляДок, 
                                   ИсторияПолеНачСост, ИсторияПолеСсылкаНаДок+";-CreateDate;-"+ИсторияПолеНачСост);
  обязательно
    УдалитьОбъект(ИменаПолей);
  конец;     
конец;

функция ПолучитьПервоеСостВИстории(ПараметрыДействия: IVariables; ПервоеНачСостДляДок: Текст);
переменные
  ИменаПолей : IVariables;
начало
  ИменаПолей := CreateVariables();
  попытка
    ИменаПолей.AddItems(КонстПолеИДДок);
    ОбщееПолучениеПереходаВИстории(ПараметрыДействия, ИменаПолей, ПервоеНачСостДляДок, 
                                   ИсторияПолеНачСост, ИсторияПолеСсылкаНаДок+";CreateDate;"+ИсторияПолеНачСост);
  обязательно
    УдалитьОбъект(ИменаПолей);
  конец;     
конец;

функция ПолучитьПоследнийПереходВИсторииПоКонСост(ПараметрыДействия: IVariables; ПоследнееНачСостДляДок: Текст);
переменные 
  ИменаПолей    : IVariables;
начало
  ИменаПолей := CreateVariables();
  попытка
    //в коллекции элементы сортируются в порядке по имени(поэтому в таком порядке)
    ИменаПолей.AddItems(ИсторияПолеОбратПереход);
    ИменаПолей.Values(ИсторияПолеОбратПереход) := 0;//прямой переход
    ИменаПолей.AddItems(КонстПолеСостДок);    
    ИменаПолей.AddItems(КонстПолеИДДок);
    ОбщееПолучениеПереходаВИстории(ПараметрыДействия, ИменаПолей, ПоследнееНачСостДляДок, 
                                   ИсторияПолеНачСост, ИсторияПолеОбратПереход+";"+ИсторияПолеКонСост+";"+ИсторияПолеСсылкаНаДок+";-STHID"); 
  обязательно
    УдалитьОбъект(ИменаПолей);
  конец;     
конец;
//-----------------------------------------ФУНКЦИИ ПРОСТАНОВКИ СОСТОЯНИЙ------------------------------------
функция ПроставитьСостояние(ИзменяемыеПоля : IVariables; КонСостояние: целое; НаборДанных: СтатическиеДанные);
//предполагается, что на набор данных обязательно наложен фильтр по состоянию 
переменные
  СтароеСостояние,
  ЧислоДоОперации       : целое;
начало
    НаборДанных.ВНачало;
    пока не НаборДанных.ВКонце делать
    начало
      ЧислоДоОперации := НаборДанных.ЧислоЗаписей;
      СтароеСостояние := НаборДанных.ПолеПоИмени(stDocStateFieldName).КакЦелое;
      НаборДанных.Edit();
      ЗаполнитьПоля(НаборДанных, ИзменяемыеПоля);
      НаборДанных.ПолеПоИмени(stDocStateFieldName).КакЦелое := КонСостояние;
      НаборДанных.Post();
      если (СтароеСостояние = КонСостояние)или(ЧислоДоОперации = НаборДанных.ЧислоЗаписей)
        тогда НаборДанных.Следующая;
    конец;
конец;

функция ПроставитьСостояниеРасшир(ИзменяемыеПоля: IVariables; КонСостПоУмолчанию: целое; ПереченьСостДляДок: Текст; НаборДанных: СтатическиеДанные);
//IN    - маппинг вставки сопутствующих изменению состояния полей
//IN    - новое состояние по умолчанию, если в перечне состояний для отдельного документа состояния не найдется
//IN    - перечень равенств "ИДДок"="НовоеСостояние"
//        где "ИДДок" - ИД документа среди переданного НабораДанных
//            "НовоеСостояние" - новое состояние при переходе для документа с указанным в левой части ИД
//OUT   - изменяемый набор документов
    
//Внимание!!!: предполагается, что на набор данных обязательно наложен фильтр по состоянию 
переменные
  НашлиСост, КонСостояние,
  сч, СтароеСостояние   : целое;
начало
    НаборДанных.ВНачало;
    пока не НаборДанных.ВКонце делать
    начало
      СтароеСостояние := НаборДанных.ПолеПоИмени(stDocStateFieldName).КакЦелое;
      НаборДанных.Edit();
      если ИзменяемыеПоля &lt;&gt; nil
        тогда для ИзменяемыеПоля делать
              начало
                //меняем сопутствующие изменению состояния атрибуты документа
                от сч := 0 до .Count - 1 делать
                  если УбратьПробелы(.IndexValues(сч)) = ""
                    тогда НаборДанных.ПолеПоИмени(.Names(сч)).Clear
                    иначе НаборДанных.ПолеПоИмени(.Names(сч)).AsVariant := .IndexValues(сч);
              конец;
      
      для ПереченьСостДляДок делать
      начало
        НашлиСост := Нет;
        сч := 0;
        //производим поиск в перечне состояний для документов текущий документ для проставления состояния        
        пока (сч &lt;= .Количество - 1) и не НашлиСост делать
          если СтрокаВЦелое(.ИмяПараметра(сч)) = НаборДанных.ПолеПоИмени(КонстПолеИДДок).КакЦелое
            тогда начало//нашли в перечне ИД тек.документа-проставляем новое состояние из перечня
              НашлиСост := ДА;
              КонСостояние := СтрокаВЦелое(.ЗначениеПараметра(.ИмяПараметра(сч)));
            конец
            иначе сч := сч + 1;
        //в перечне ИД документов текущего документа с его новым состоянием не нашли - подставляем состояние по умолчанию     
        если сч &gt; .Количество - 1 
          тогда КонСостояние := КонСостПоУмолчанию;    
      конец;
      НаборДанных.ПолеПоИмени(stDocStateFieldName).КакЦелое := КонСостояние;  
      НаборДанных.Post();
      если СтароеСостояние = КонСостояние
        тогда НаборДанных.Следующая;
    конец;
конец;

функция ПолучитьНачКонСостояния(сч, НачСост, КонСост: целое; ПоляПоСостояниям: IVariables);
переменные
  ДиапазонСостоянийПоля : IVariables;
начало
  ДиапазонСостоянийПоля := ПоляПоСостояниям.IndexValues(сч);
  НачСост := ДиапазонСостоянийПоля.Values(ПроставДиапазон_НачСост);
  КонСост := ДиапазонСостоянийПоля.Values(ПроставДиапазон_КонСост);  
конец;

функция ПолучитьПоляДиапазонаСостояний(сч: целое; ОписаниеПолейПоСостояниям: IVariables): СТРОКА;
переменные
  ДиапазонСостоянийПоля : IVariables;
начало
  ДиапазонСостоянийПоля := ОписаниеПолейПоСостояниям.IndexValues(сч);
  Результат := ДиапазонСостоянийПоля.Values(ПроставДиапазон_СписокПолей);  
конец;

функция ДобавитьПолеВДиапазон(ИндексДиапазона: целое; Поля: строка; Диапазоны: IVariables);
переменные
  СписокПолей   : IVariables;
  ПереченьПолей : Текст;
  сч            : целое;
начало
  СписокПолей := IVariables(Диапазоны.IndexValues(ИндексДиапазона)).Values(ПроставДиапазон_СписокПолей);
  ПереченьПолей := СоздатьТекст();
  попытка
    ПереченьПолей.РазделенноеЗначение(";") := Поля;
    от сч := ПереченьПолей.Количество-1 назад 0 делать
    начало
      СписокПолей.AddItems(ПереченьПолей.Стр(сч));
    конец;
  обязательно
    УдалитьОбъект(ПереченьПолей);
  конец;            
конец;

функция СформОгрСостПоДиапазону(сч: целое; Диапазоны: IVariables): строка;
переменные
  НачСост, 
  КонСост       : целое;
начало
  ПолучитьНачКонСостояния(сч, НачСост, КонСост, Диапазоны);
  если НачСост = КонСост
    тогда результат := "("+stDocStateFieldName + "=" + ЦелоеВСтроку(НачСост)+")"
    иначе результат :=    "("+stDocStateFieldName + " &gt;= " + ЦелоеВСтроку(НачСост) + ")"
                     + "and("+stDocStateFieldName + " &lt;= " + ЦелоеВСтроку(КонСост) + ")";   
конец;

функция СФормПереченьПолейДиапазона(сч: целое; ИзменяемыеПоля, Диапазоны: IVariables): IVariables;
переменные
  ПереченьПолей : IVariables;
  индекс        : целое;
начало
  Результат := CreateVariables();
  ПереченьПолей := IVariables(Диапазоны.IndexValues(сч)).Values(ПроставДиапазон_СписокПолей);
  от индекс := 0 до ПереченьПолей.Count - 1 делать
  начало
    Результат.AddItems(ПереченьПолей.Names(индекс));
    Результат.Values(ПереченьПолей.Names(индекс)) := ИзменяемыеПоля.Values(ПереченьПолей.Names(индекс));  
  конец; 
конец;

функция ЗаполнитьСостояния(ПоляПоСостояниям: IVariables;ДиапазонРавныхСост: Текст): Текст;
переменные
  НачСостояние,
  КонСостояние,
  сч    : целое;
начало
  Результат := СоздатьТекст();
  //добавление состояний к перечню
  если ПоляПоСостояниям &lt;&gt; nil
    тогда начало
      от сч := ПоляПоСостояниям.Count - 1 назад 0 делать
      начало 
        ПолучитьНачКонСостояния(сч, НачСостояние, КонСостояние, ПоляПоСостояниям);
        если Результат.Поиск(ЦелоеВСтроку(НачСостояние)) = -1
          тогда Результат.Добавить(ЦелоеВСтроку(НачСостояние));
        если Результат.Поиск(ЦелоеВСтроку(КонСостояние)) = -1
          тогда Результат.Добавить(ЦелоеВСтроку(КонСостояние));
        //отдельно будем формировать диапазоны по равенству нач. и конечного состояния для поля   
        если НачСостояние = КонСостояние
          тогда если ДиапазонРавныхСост.Поиск(ЦелоеВСтроку(КонСостояние)) = -1
                  тогда ДиапазонРавныхСост.Добавить(ЦелоеВСтроку(КонСостояние));           
      конец;
      ДиапазонРавныхСост.Сортировка();
      Результат.Сортировка();
    конец;  
конец;

функция ДобавлениеОдногоДиапазона(НачСост, КонСост: целое): IVariables;
//вставка нач.,кон. состояния и пустого списка полей для одного диапазона состояний
переменные
  СписокПолей   : IVariables; 
начало
  Результат := CreateVariables();
  СписокПолей := CreateVariables();
  попытка
    Результат.AddItems(ПроставДиапазон_СписокПолей);
    Результат.Values(ПроставДиапазон_СписокПолей) := СписокПолей;
    
    Результат.AddItems(ПроставДиапазон_НачСост);
    Результат.Values(ПроставДиапазон_НачСост) := НачСост;  
    Результат.AddItems(ПроставДиапазон_КонСост);
    Результат.Values(ПроставДиапазон_КонСост) := КонСост;  
  неудача
    УдалитьОбъект(СписокПолей);
  конец;  
конец;

функция ЗаполнитьДиапазоныСостояний(СписокСостояний, ДиапазонРавныхСост: Текст; Диапазоны: IVariables);
переменные
  НачСост, КонСост, 
  индекс,
  НомерДиапазона: целое;
начало
  если СписокСостояний.Количество &gt; 0
    тогда начало
      //берем первое значение нач. состояния из списка состояний
      НомерДиапазона := 0;
      индекс := 0;
      НачСост := СтрокаВЦелое(СписокСостояний.Стр(индекс));
      //строим диапазоны состояний           
      Пока индекс &lt;= СписокСостояний.Количество - 1 делать
      начало
        //пока в одном из полей указано проставление только в этом начальном состоянии      
        пока ДиапазонРавныхСост.Поиск(ЦелоеВСтроку(НачСост)) &lt;&gt; -1 делать
        начало
          Диапазоны.AddItems(ЦелоеВСтроку(НомерДиапазона));
          Диапазоны.Values(ЦелоеВСтроку(НомерДиапазона)) := ДобавлениеОдногоДиапазона(НачСост, НачСост);
          НомерДиапазона := НомерДиапазона + 1;
          НачСост := НачСост + 1;
        конец;
        //формирование диапазона с учетом кон.состояния
        если ((индекс+1) &lt;= (СписокСостояний.Количество - 1))
          тогда начало
            //выравниваем кон.сост., чтобы было &gt;= нач. сост.          
            индекс := индекс+1;
            КонСост := СтрокаВЦелое(СписокСостояний.Стр(индекс));            
            пока (индекс &lt;= СписокСостояний.Количество - 1)и (КонСост &lt; НачСост) делать
            начало
              индекс := индекс+1;            
              КонСост := СтрокаВЦелое(СписокСостояний.Стр(индекс));
            конец;
            
            если (НачСост = КонСост)
              тогда начало          //если нач. и кон. состояния совпадают, то на след. шаге нач. сост. рассматриваем &gt; на 1  
                Диапазоны.AddItems(ЦелоеВСтроку(НомерДиапазона));
                Диапазоны.Values(ЦелоеВСтроку(НомерДиапазона)) := ДобавлениеОдногоДиапазона(НачСост, НачСост);
                НомерДиапазона := НомерДиапазона + 1;
                НачСост := НачСост + 1;
              конец;
            если (НачСост &lt; КонСост)  
              тогда начало         //иначе формируем диапазон, причем если кон. состояние встречается в списке 
                                   //равенства, то кон. сост. диапазона &lt; на 1 реального, чтобы на следующем шаге  
                                   //по нач. сост. сформировали диапазон на равенство
                Диапазоны.AddItems(ЦелоеВСтроку(НомерДиапазона));
                если (индекс = СписокСостояний.Количество - 1)
                  тогда Диапазоны.Values(ЦелоеВСтроку(НомерДиапазона)) := ДобавлениеОдногоДиапазона(НачСост, КонСост)
                  иначе Диапазоны.Values(ЦелоеВСтроку(НомерДиапазона)) := ДобавлениеОдногоДиапазона(НачСост, КонСост-1);
                НомерДиапазона := НомерДиапазона + 1;                   
                НачСост := КонСост;
              конец;  
          конец//формирование диапазона с учетом кон.состояния
          иначе индекс := индекс+1;   
      конец;//цикл
    конец;     
конец;

функция ЗаполнитьЦелевоеСостояние(ПриемникДиапазон, Источник: IVariables);
переменные
  сч, индексВИсточнике,
  НачСост, КонСост,
  НачСостИсточника,      
  КонСостИсточника,Нашли: целое;
начало
  от сч := ПриемникДиапазон.Count -1 назад 0 делать
  начало
    ПолучитьНачКонСостояния(сч, НачСост, КонСост, ПриемникДиапазон);
    Нашли := нет;
    индексВИсточнике := 0;
    пока не Нашли и (индексВИсточнике&lt;=Источник.Count-1) делать
    начало
      ПолучитьНачКонСостояния(индексВИсточнике, НачСостИсточника, КонСостИсточника, Источник);
      если (НачСост &gt;= НачСостИсточника) и (КонСост &lt;= КонСостИсточника)  
        тогда начало
          Нашли := ДА;
          IVariables(ПриемникДиапазон.IndexVAlues(сч)).AddItems(ПроставДиапазон_СостПриПереходе);
          IVariables(ПриемникДиапазон.IndexVAlues(сч)).VAlues(ПроставДиапазон_СостПриПереходе) := IVariables(Источник.IndexVAlues(индексВИсточнике)).VAlues(ПроставДиапазон_СостПриПереходе);
        конец;          
      индексВИсточнике := индексВИсточнике + 1;  
    конец;
  конец;
конец;

функция ПроставлениеПолейИСостоянийПоДиапазонуСост(СостПоУмолчанию: целое; ИзменяемыеБезусловно, ИзменяемыеПоляПоСостояниям, 
                                                   ПоляПоСостояниям, ПараметрыДействия: IVariables);
//добавление в коллекцию полей по отдельным состояниям
//объект "ПоляПоСостояниям" - содержит параметры в виде:
//"ИмяПараметра- имяПоля"
//"ЗначениеПараметра - коллекция содержит нач. состояние, 
//                                      и кон. состояние, по которое заполняется поле"

//смысл функции в том, что выбирая весь перечень состояний из "ПоляПоСостояниям"
//дробим ось состояний на весь этот перечень и на каждом полученном диапазоне состояний  
//получаем перечень полей, которые будем изменять 
переменные
  ДиапазонРавныхСостояний,
  ПереченьСостояний     : Текст;        //перечень состояний, в диапазонах которых идет заполнение полей
  ИзменяемыеБезСостояний,
  ОбщиеИзменяемыеПоля,
  ДиапазоныСостояний    : IVariables;   //отдельный диапазон состояний содержит нач. и кон. состояние 
                                        //и список полей, изменяемых в этом диапазоне
  Обрабатываемые        : СтатическиеДанные;                                      
  КонСостояние,                                      
  НачСостДиапазона, 
  КонСостДиапазона,
  НачСост, КонСост,                                       
  сч, индекс            : целое;
  
  МинимальноеСост,
  МаксимальноеСост,    
  Ограничение,
  ФильтрПоДиапазонуСостоянийОбрабатываемыхПолей,
  СтарыйФильтр          : строка;                                      
начало
  Обрабатываемые := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  СтарыйФильтр := Обрабатываемые.Фильтр;
  ФильтрПоДиапазонуСостоянийОбрабатываемыхПолей := "";
  ДиапазонРавныхСостояний := СоздатьТекст();
  //получение перечня состояний по коллекциям изменяемых полей
  ПереченьСостояний := ЗаполнитьСостояния(ПоляПоСостояниям, ДиапазонРавныхСостояний);
  ДиапазоныСостояний := CreateVariables();
  ИзменяемыеБезСостояний := CreateVariables();
  
  попытка
    если ПоляПоСостояниям &lt;&gt; nil
      тогда начало
        //получаем мин. и макс. значения состояний, обрабатываемых по коллекциям изменяемых полей
        МинимальноеСост := ПереченьСостояний.Стр(0);
        МаксимальноеСост := ПереченьСостояний.Стр(ПереченьСостояний.Количество-1);
        ФильтрПоДиапазонуСостоянийОбрабатываемыхПолей := "(("+stDocStateFieldName+"&lt;"+МинимальноеСост+")or("+stDocStateFieldName+"&gt;"+МаксимальноеСост+"))";
        //заполнение диапазонов состояний начальным и конечным состоянием        
        ЗаполнитьДиапазоныСостояний(ПереченьСостояний, ДиапазонРавныхСостояний, ДиапазоныСостояний);
        //заполнение целевого состояния в каждом диапазоне
        ЗаполнитьЦелевоеСостояние(ДиапазоныСостояний, ПоляПоСостояниям);  
        //разнесение проставляемых полей по диапазонам состояний
        от сч := ПоляПоСостояниям.Count - 1 назад 0 делать
        начало
          ПолучитьНачКонСостояния(сч, НачСост, КонСост, ПоляПоСостояниям);
          //ищем по нарастаюнию состояний первый диапазон, в котором нужно менять текущее поле
          индекс := 0;
          ПолучитьНачКонСостояния(индекс, НачСостДиапазона, КонСостДиапазона, ДиапазоныСостояний);
          пока (НачСостДиапазона &lt; НачСост)и(индекс &lt;= ДиапазоныСостояний.Count-1) делать
          начало
            индекс := индекс + 1;
            если (индекс &lt;= ДиапазоныСостояний.Count-1)
              тогда ПолучитьНачКонСостояния(индекс, НачСостДиапазона, КонСостДиапазона, ДиапазоныСостояний);
          конец;
          //добавляем поле во все диапазоны, пока кон. сост. больше кон. состояния диапазона
          пока (КонСост &gt;= НачСостДиапазона)и(индекс &lt;= ДиапазоныСостояний.Count-1) делать
          начало
            ДобавитьПолеВДиапазон(индекс, ПолучитьПоляДиапазонаСостояний(сч, ПоляПоСостояниям), ДиапазоныСостояний);      
            индекс := индекс + 1;
            если (индекс &lt;= ДиапазоныСостояний.Count-1)
              тогда ПолучитьНачКонСостояния(индекс, НачСостДиапазона, КонСостДиапазона, ДиапазоныСостояний);
          конец;
        конец;
        //изменение состояния с проставлением значений соответствующих полей        
        от сч := ДиапазоныСостояний.Count - 1 назад 0 делать
        начало
          //получаем изменяемые поля данного диапазона 
          ОбщиеИзменяемыеПоля := СформПереченьПолейДиапазона(сч, ИзменяемыеПоляПоСостояниям, ДиапазоныСостояний);
          попытка
            //добавляем поля изменяемые всегда
            ОбщиеИзменяемыеПоля.PumpData(ИзменяемыеБезусловно);
            //формируем ограничение по диапазоны состояний      
            Ограничение := СформОгрСостПоДиапазону(сч, ДиапазоныСостояний);
            //получаем конечное состояние, проставлемое у документов в рассматриваемом диапазоне состояний  
            КонСостояние := IVariables(ДиапазоныСостояний.IndexValues(сч)).Values(ПроставДиапазон_СостПриПереходе);
            //накладываем ограничения на обрабатываемые документы и проставляем новое состояние с изменением полученных полей
            Обрабатываемые.Filtered := Нет;
            если СтарыйФильтр &lt;&gt; ""
              тогда Обрабатываемые.Фильтр := "("+СтарыйФильтр + ")and "+Ограничение
              иначе Обрабатываемые.Фильтр := Ограничение;
            Обрабатываемые.Filtered := Да;          
            ПроставитьСостояние(ОбщиеИзменяемыеПоля, КонСостояние, Обрабатываемые);
            Обрабатываемые.Filtered := Нет;        
          обязательно
            УдалитьОбъект(ОбщиеИзменяемыеПоля);
          конец;      
        конец;//цикл по диапазонам состояний, в которых учитываются те или иные поля
      конец
      //если коллекция разнесения изменения полей в зависимости от состояния не задана, то считаем, что менять нужно все поля
      иначе ИзменяемыеБезСостояний.PumpData(ИзменяемыеПоляПоСостояниям); 
      
    //ранее обработали документы в состояниях, указанных в коллекции для изменения значений полей
    //для всех состояний, неуказанных в коллекции проставляем "состояние по умолчанию"
    Обрабатываемые.Filtered := Нет;
    Обрабатываемые.Фильтр := СтарыйФильтр;
    если ФильтрПоДиапазонуСостоянийОбрабатываемыхПолей &lt;&gt; ""
      тогда если СтарыйФильтр &lt;&gt; ""
            тогда Обрабатываемые.Фильтр := "("+Обрабатываемые.Фильтр + ")and "+ ФильтрПоДиапазонуСостоянийОбрабатываемыхПолей
            иначе Обрабатываемые.Фильтр := ФильтрПоДиапазонуСостоянийОбрабатываемыхПолей;
    Обрабатываемые.Filtered := Да;
    если Обрабатываемые.ЧислоЗаписей &lt;&gt; 0
      тогда начало
        ИзменяемыеБезСостояний.PumpData(ИзменяемыеБезусловно);
        ПроставитьСостояние(ИзменяемыеБезСостояний, СостПоУмолчанию, Обрабатываемые);
      конец;  
    Обрабатываемые.Filtered := Нет;          
  обязательно
    УдалитьОбъект(ИзменяемыеБезСостояний);
    от сч := ДиапазоныСостояний.Count-1 назад 0 делать
      если ДиапазоныСостояний.IndexValues(сч) &lt;&gt; nil
        тогда начало
          УдалитьОбъект(IVariables(ДиапазоныСостояний.IndexValues(сч)).Values(ПроставДиапазон_СписокПолей));
          УдалитьОбъект(ДиапазоныСостояний.IndexValues(сч));          
        конец;            
    УдалитьОбъект(ДиапазоныСостояний);
    УдалитьОбъект(ПереченьСостояний);
    УдалитьОбъект(ДиапазонРавныхСостояний);
  конец; 
конец;

функция ДобавитьДиапазонСостПриИзмененииПоля(ОписаниеСостоянийПоля: IVariables; ИменаПолей: строка; 
                                             НачСост, КонСост, НовоеСостояние: целое);
переменные
  Временный     : IVariables;
  НомерПараметра: строка;        
начало
  Временный := CreateVariables();
  Временный.AddItems(ПроставДиапазон_НачСост);
  Временный.Values(ПроставДиапазон_НачСост) := НачСост;
  Временный.AddItems(ПроставДиапазон_КонСост);
  Временный.Values(ПроставДиапазон_КонСост) := КонСост;
  Временный.AddItems(ПроставДиапазон_СостПриПереходе);
  Временный.Values(ПроставДиапазон_СостПриПереходе) := НовоеСостояние;
  Временный.AddItems(ПроставДиапазон_СписокПолей);
  Временный.Values(ПроставДиапазон_СписокПолей) := ИменаПолей;

  НомерПараметра := ЦелоеВСтроку(ОписаниеСостоянийПоля.Count+1);     
  ОписаниеСостоянийПоля.AddItems(НомерПараметра);
  ОписаниеСостоянийПоля.Values(НомерПараметра) := Временный;
конец;

функция ПроставитьПричинуНесовершенияПереходаУЗаписи(Источник: СтатическиеДанные; ОшибкаПриПереходе: строка);
начало
  Источник.Edit();
  Источник.ПолеПоИмени(stControlResultFieldName).КакЦелое := -104;//запись не изменилась 
  Источник.ПолеПоИмени(stControlMessageFieldName).КакСтрока := ОшибкаПриПереходе;                
  Источник.Post();
конец;
//проставление причины отклонения в записях удовлетворяющих условиям
функция ПроставитьПричинуНесовершенияПерехода(Источник: СтатическиеДанные; ФильтрНеПрошедшихПереход, ОшибкаПриПереходе: строка);
переменные
  ФильтрДоПростановки   : СТРОКА;
  ЧислоЗаписейДоПростановки     : целое;     
начало
  ФильтрДоПростановки := Источник.Фильтр;
  попытка
    //учитываем возможный фильтр наложенный на данные извне
    Источник.Filtered := нет;
    если уБРАТЬПробелы(ФильтрНеПрошедшихПереход) &lt;&gt; ""
      тогда начало
        если УбратьПробелы(ФильтрДоПростановки) &lt;&gt; ""
          тогда Источник.Фильтр := "("+ФильтрДоПростановки + ")and " + ФильтрНеПрошедшихПереход
          иначе Источник.Фильтр := ФильтрНеПрошедшихПереход
      конец
      иначе Источник.Фильтр := "";    
    Источник.Filtered := ДА;
    //пробегаемся по данным и проставляем переданную причину невозможности совершения перехода
    если Источник.ЧислоЗаписей &lt;&gt; 0
      тогда начало
        Источник.ВНачало();
        пока не Источник.ВКонце делать
        начало
          ЧислоЗаписейДоПростановки := Источник.ЧислоЗаписей;
          ПроставитьПричинуНесовершенияПереходаУЗаписи(Источник, ОшибкаПриПереходе);
          //переходим на следующую запись лишь в том случае если она не отсеилась наложенным фильтром 
          если ЧислоЗаписейДоПростановки = Источник.ЧислоЗаписей
            тогда Источник.Следующая();
        конец;
      конец;
  обязательно        
    Источник.Filtered := Нет;
    Источник.Фильтр := ФильтрДоПростановки;
    Источник.Filtered := УбратьПробелы(Источник.Фильтр) &lt;&gt; "";
  конец;  
конец;

функция ПростановкаПредСостоянияПоИстории(ПараметрыДействия: IVariables);
переменные
  ПроверяемыеЗаголовки  : СтатическиеДанные;
  ПереченьНачСост       : Текст;
  сч                    : целое;
начало
  ПроверяемыеЗаголовки := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  ПереченьНачСост := СоздатьТекст();
  попытка
    ПолучитьПоследнийПереходВИсторииПоКонСост(ПараметрыДействия, ПереченьНачСост);    
    ПроверяемыеЗаголовки.Вначало();
    от сч  := 0 до ПереченьНачСост.Количество-1 делать
    начало
      если ПроверяемыеЗаголовки.Локализовать(КонстПолеИдДокумента(), ПереченьНачСост.ИмяПараметра(сч), 0)
        тогда начало
          ПроверяемыеЗаголовки.Edit();
          ПроверяемыеЗаголовки.ПолеПоИмени(stDocStateFieldName).КакЦелое := СтрокаВЦелое(ПереченьНачСост.ЗначениеПараметра(ПереченьНачСост.ИмяПараметра(сч)));                      
          ПроверяемыеЗаголовки.Post();
        конец;   
    конец;
  обязательно
    УдалитьОбъект(ПереченьНачСост);  
  конец;
конец;

функция АвтоИзменениеСостояния(ПараметрыДействия: IVariables);
переменные
  ПереходыДляТипаДок,                  
  ДанныеПерехода: СтатическиеДанные;
  ПолеСостояние : Поле;        
начало
  ДанныеПерехода := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  ПереходыДляТипаДок := ПараметрыДействия.Values(_stVarJumpsDescription);
  ПолеСостояние := ДанныеПерехода.ПолеПоИмени(stDocStateFieldName);
  попытка
    ПереходыДляТипаДок.IndexFieldNames := ИсторияПолеНачСост;
    ДанныеПерехода.ВНачало();
    пока не ДанныеПерехода.ВКонце делать
    начало
      ПереходыДляТипаДок.SetScope(ArrayOf(ПолеСостояние.КакЦелое));
      ДанныеПерехода.Edit();    
      если ПереходыДляТипаДок.ЧислоЗаписей = 0
        тогда ПроставитьПричинуНесовершенияПереходаУЗаписи(ДанныеПерехода, ОшибкаНаличияПравНаИзменениеСостояния())
        иначе если ПереходыДляТипаДок.ЧислоЗаписей &gt; 1
                тогда ПроставитьПричинуНесовершенияПереходаУЗаписи(ДанныеПерехода, ОшибкаНесколькоПереходовИзНачСостояния())
                иначе ПолеСостояние.КакЦелое := ПереходыДляТипаДок.ПолеПоИмени(ИсторияПолеКонСост).КакЦелое;
      ДанныеПерехода.Post();
      ПереходыДляТипаДок.Cancelrange();      
      ДанныеПерехода.Следующая();
    конец;
  обязательно
    ПереходыДляТипаДок.Cancelrange();  
  конец;  
конец;
//___________________________________ФУНКЦИИ СОВЕРШЕНИЯ ДОЧЕРНИХ ПЕРЕХОДОВ_____________________________________________
функция ФормКоллекциюДляДочернДок(КоллекцияПриемник, КоллекцияИсточник: IVariables);
переменные
  КоллекцияПользоватПараметров  : IVariables;
  индекс: целое;
начало
  //переносим права исполняющего родительский переход для дочернего
  КоллекцияПриемник.Values(stVarIsAdmin) := КоллекцияИсточник.Values(stVarIsAdmin);
  КоллекцияПриемник.Values(stVarUserName) := КоллекцияИсточник.Values(stVarUserName);
  //тип документов участвующих в родительском переходе
  КоллекцияПриемник.Values(stVarIntfCode) := КоллекцияИсточник.Values(_stVarChildIntfCode);
  если КоллекцияИсточник.CheckParam(stVarCascadeIntfCode) тогда
    КоллекцияПриемник.Values(stVarCascadeIntfCode) := КоллекцияИсточник.Values(stVarCascadeIntfCode);  
  //(по умолчанию)снимаем ограничения по ИД переводимых документов
  КоллекцияПриемник.Values(stVarDocsCode) := "";
  //имя выполняемого дочернего действия    
  КоллекцияПриемник.Values(stVarActionName) := КоллекцияИсточник.Values(_stVarChildActionName);
  //(по умолчанию)сообщение о пустом множестве дочерних документов не показываем 
//  КоллекцияПриемник.Values(stMessageZeroRecordCheck) := 1;
  //(по умолчанию)наследуем флаг отладки ABL-действия
  КоллекцияПриемник.Values(stVarDebugMode) := КоллекцияИсточник.Values(stVarDebugMode);
  //определяем флаг обязательности удачного проведения действия над всеми выбранными дочерними документами  
  если КоллекцияИсточник.CheckParam(_stVarCascadeJumpMode) и (КоллекцияИсточник.Значение(_stVarCascadeJumpMode)&lt;&gt;0) тогда
    КоллекцияПриемник.Values(stVarNeedAll) := 0
  иначе  
    если КоллекцияИсточник.CheckParam(_stVarChildNeedAll)
      тогда КоллекцияПриемник.Values(stVarNeedAll) := КоллекцияИсточник.Values(_stVarChildNeedAll)
      иначе //(по умолчанию) 
        // т.к. транзакция совсем одна, то либо все проходит,
        // либо все не проходит. И еще если проходят не все, то никаких диалогов типа "Продолжить"
        КоллекцияПриемник.Values(stVarNeedAll) := Да;
  //переносим прочие ограничения по выборке данных в коллекцию дочернего действия
  если КоллекцияИсточник.CheckParam(_stVarUserParams)
    тогда начало
      КоллекцияПользоватПараметров := КоллекцияИсточник.Values(_stVarUserParams);
      если КоллекцияПользоватПараметров &lt;&gt; nil
        тогда от индекс := КоллекцияПользоватПараметров.Count - 1 назад 0 делать
              начало
                КоллекцияПриемник.Values(КоллекцияПользоватПараметров.Names(Индекс)) := КоллекцияПользоватПараметров.IndexValues(Индекс);                
              конец;       
    конец;
  //получаем результаты прохождения документов, возможно, проведенные более ранними переходами    
  КоллекцияПриемник.Values(stDocChangeState) := КоллекцияИсточник.Values(_stChildDocChangeState);
  КоллекцияПриемник.Values(stDocNotChangeState) := КоллекцияИсточник.Values(_stChildDocNotChangeState);  
  КоллекцияПриемник.Values(_stVarCascadeJumpMode) := КоллекцияИсточник.Values(_stVarCascadeJumpMode);           
конец;

функция ПолучитьКаскадПереход(ТипЗаполнения: ЦЕЛОЕ; ДопОграничения: СТРОКА): СтатическиеДанные;
начало
  выбрать ТипЗаполнения из
    кп_ВРеестре : начало
                    Результат := СоздатьДанныеИзРеестра(РабочийУзел, Таб_СвязанныхПереходов);
                  конец;
    кп_ВТаблице : начало
                    Результат := СоздатьСтатическиеДанные();
                    Результат.СоединитьБД();
                    Результат.Запрос := "[PumpData]"
                                      + "{"
                                      + "SELECT sca.MasterFieldName, sca.Enabled, sca.Note, sj.DocTypeRef " + СвПереход_ПолеМастерТипДок + ", " + nl
                                      + "       sj.BeginStateRef " + СвПереход_ПолеНачСост + ", sj.EndStateRef " + СвПереход_ПолеКонСост + ", " + nl                                      
                                      + "       sca.DestActionName " + СвПереход_ПолеДочернДействие + ", sca.DestDocTypeRef " + СвПереход_ПолеДочернТипДок + nl
                                      + "FROM State_CascadeActions  sca "
                                      + "     left join State_Jumps sj on (sj.ID = sca.SourceJumpRef)"
                                      + "WHERE (1=1)" + ДопОграничения
                                      + "}";
                    Результат.Открыть();
                  конец;            
  конец;                                                             
конец;

// Комментарий
функция ВозвратРезультатаДочернДействия(Приемник, Источник: IVariables; ПрефиксКИсточнику: строка);
начало
  если Приемник.CheckParam(_stCommulateChildData) и (Приемник.Values(_stCommulateChildData) = 1)
    тогда начало
      Приемник.Values(_stChildDocCheckOkJump) := Целое(Приемник.Values(_stChildDocCheckOkJump)) + Целое(Источник.Values(ПрефиксКИсточнику+stCheckOkJump));
      Приемник.Values(_stChildDocNotCheckJump) := Целое(Приемник.Values(_stChildDocNotCheckJump)) + Целое(Источник.Values(ПрефиксКИсточнику+stNotCheckJump));
      Приемник.Values(_stChildDocChangeState) := Целое(Приемник.Values(_stChildDocChangeState)) + Целое(Источник.Values(ПрефиксКИсточнику+stDocChangeState));
      Приемник.Values(_stChildDocNotChangeState) := Целое(Приемник.Values(_stChildDocNotChangeState)) + Целое(Источник.Values(ПрефиксКИсточнику+stDocNotChangeState));
    конец
    иначе начало
      Приемник.Values(_stChildDocCheckOkJump) := Целое(Источник.Values(stCheckOkJump));
      Приемник.Values(_stChildDocNotCheckJump) :=Целое(Источник.Values(stNotCheckJump));
      Приемник.Values(_stChildDocChangeState) := Целое(Источник.Values(stDocChangeState));
      Приемник.Values(_stChildDocNotChangeState) := Целое(Источник.Values(stDocNotChangeState));
    конец;  
конец;

функция ВыполнитьДочернееДействие(КоллекцияПерехода: IVariables);
переменные
  ТипДокумента,
  НачСост, КонСост      : целое;
  ТипЗаполнения         : целое;
  СвязанныеПереходы     : СтатическиеДанные;
  КоллекцияДочерДок     : IVariables;
начало
  //получаем тип документа над которым производится перевод(основной переход)
  ТипДокумента := КоллекцияПерехода.Values(stVarIntfCode);
  НачСост := КоллекцияПерехода.Values(_stVarBeginDocState);
  КонСост := КоллекцияПерехода.Values(_stVarEndDocState);
  если КоллекцияПерехода.CheckParam(_stChildActionStorage)
    тогда ТипЗаполнения := КоллекцияПерехода.Values(_stChildActionStorage)
    иначе ТипЗаполнения := кп_ВРеестре;
  если КоллекцияПерехода.CheckParam(_stVarChildActionInfo) и КоллекцияПерехода.Values(_stVarChildActionInfo) &lt;&gt; nil
    тогда СвязанныеПереходы := КоллекцияПерехода.Values(_stVarChildActionInfo)
    иначе СвязанныеПереходы := ПолучитьКаскадПереход(ТипЗаполнения, "and(sj.DocTypeRef="+ЦелоеВСтроку(ТипДокумента)+")"
                                                                   +"and(sj.BeginStateref="+ЦелоеВСтроку(НачСост)+")"
                                                                   +"and(sj.EndStateref="+ЦелоеВСтроку(КонСост)+")");
    
  КоллекцияДочерДок := CreateVariables();
  попытка
    СвязанныеПереходы.IndexFieldNames := СвПереход_ПолеМастерТипДок + ";" + СвПереход_ПолеНачСост + ";"
                                       + СвПереход_ПолеКонСост + ";" + СвПереход_ПолеДочернТипДок;
    если СвязанныеПереходы.FindKey(МассивИз(ТипДокумента, НачСост, КонСост, Целое(КоллекцияПерехода.VAlues(_stVarChildIntfCode))))
      тогда начало
        КоллекцияПерехода.Values(_stVarChildActionName) := СвязанныеПереходы.ПолеПоИмени(СвПереход_ПолеДочернДействие).КакСтрока;
        //формируем коллекцию для совершения перехода над дочерними документами
        ФормКоллекциюДляДочернДок(КоллекцияДочерДок, КоллекцияПерехода);
        //выполнение действия над дочерними документами
        если CheckRightsOnAction(КоллекцияДочерДок)//если есть права на указанное действие
          тогда MakeAction(КоллекцияДочерДок)
          иначе ВызватьОшибку(ОшибкаНаличияПравНаПереходыДействия());
        //возвращаем обработанные дочерние документы в параметр головной коллекции
//        КоллекцияПерехода.Values(_stZeroCountChildDocType) := ((Целое(КоллекцияДочерДок.Values(stDocChangeState))+Целое(КоллекцияДочерДок.Values(stDocNotChangeState))) = 0);         
        КоллекцияПерехода.Values(_stVarChildData) := КоллекцияДочерДок.Values(stVarData);
        //если результаты выполнения каскадного перехода над несколькими дочерними типами документов аккумулируем, то накапливаем
        ВозвратРезультатаДочернДействия(КоллекцияПерехода, КоллекцияДочерДок, "");
      конец;  
  обязательно
    УдалитьОбъект(КоллекцияДочерДок);
    УдалитьОбъект(СвязанныеПереходы);
  конец;  
конец;

функция ПроверитьУсловиеКаскада(ПараметрыДействия: IVariables; ОписаниеКаскада: СтатическиеДанные): целое;
переменные
  ПереченьУсловияКаскада: Текст;        
  ТипРодительДок,
  ПутьКУсловиямКаскада,
  ИмяКаскадДействия     : строка;
начало
  результат := да;
  ПереченьУсловияКаскада := СоздатьТекст();
  попытка
    //получаем имя отдельного каскадного действия
    ИмяКаскадДействия := ПолучитьИмяДействияПоИД(ПараметрыДействия.Values(stVarAction));
//    ИмяКаскадДействия := ОписаниеКаскада.ПолеПоИмени(СвПереход_ПолеДочернДействие).КакСтрока;
    ТипРодительДок := ОписаниеКаскада.ПолеПоИмени(СвПереход_ПолеМастерТипДок).КакСтрока;
    ПутьКУсловиямКаскада := ПутьКДействиямСхемы() + ТипРодительДок + "\" + УзелУсловийВызоваКаскада();    
    ПереченьУсловияКаскада.РазделенноеЗначение(",") := Прописные(ПолучитьПереченьЗначенийУзла(ПутьКУсловиямКаскада));
    //проверяем есть ли для найденного действия макрос условия выполнения каскадного действия
    //в случае наличия действия выполняем его и передаем результат наружу 
    если ПереченьУсловияКаскада.Поиск(Прописные(ПрефиксУсловияКаскада + ИмяКаскадДействия)) &gt; -1
      тогда результат := ExecScript(ПутьКУсловиямКаскада + "\" + ПрефиксУсловияКаскада + ИмяКаскадДействия, ПараметрыДействия, ОписаниеКаскада);
  обязательно
    УдалитьОбъект(ПереченьУсловияКаскада);
  конец;    
конец;

/*функция ВыполнитьДочерниеДействия(ПараметрыДействия: IVariables);
переменные              
  СвязанныеДействия: СтатическиеДанные;
  ПарамКаскадДействия   : IVariables;
  ТипДокумента, 
  НачСост, КонСост      : целое; 
         
начало
  ТипДокумента := ПараметрыДействия.Values(stVarIntfCode); 
  НачСост := ПараметрыДействия.Values(_stVarBeginDocState);
  КонСост := ПараметрыДействия.Values(_stVarEndDocState); 
  //получаем каскадные действия над дочерними док-ми для отдельного документа с выполненным родительским переходом 
  СвязанныеДействия := ПолучитьКаскадПереход(кп_ВТаблице, "and(sj.DocTypeRef="+ЦелоеВСтроку(ТипДокумента)+")"
                                                         +"and(sj.BeginStateref="+ЦелоеВСтроку(НачСост)+")"
                                                         +"and(sj.EndStateref="+ЦелоеВСтроку(КонСост)+")");
  ПарамКаскадДействия := CreateVariables(); 
  попытка
    ПарамКаскадДействия.Values(_stVarChildActionInfo) := СвязанныеДействия;  
    СвязанныеДействия.ВНачало();
    пока не СвязанныеДействия.ВКонце делать
    начало
      //для каждого каскадного действия проверяем нужно ли его выполнять для текущей родительской записи и описания каскадного перехода    
      если ПроверитьУсловиеКаскада(ПараметрыДействия, СвязанныеДействия)
        тогда начало//если предыдущая проверка прошла удачно, вызываем выполнение каскадного действия
          ПарамКаскадДействия.Values(_stVarChildIntfCode) := СвязанныеДействия.Поле(СвПереход_ПолеДочернТипДок).КакЦелое;       
          ВыполнитьДочернееДействие(ПараметрыДействия);
          //если необходимо накапливаем результат выполнения каскадного действия над дочерними документами
        конец;  
      СвязанныеДействия.Следующая();         
    конец;              
  обязательно
    Интерфейс(ПарамКаскадДействия).Освободить;
    Интерфейс(СвязанныеДействия).Освободить;
  конец;
конец;*/

функция ВыполнитьВсеДочерниеДействия(КоллекцияПерехода: IVariables);
переменные
  ФлагПустотыДочернДок,
  ТипДокумента  : ЦЕЛОЕ;
  ПервыйВызов,
  НачСост, 
  КонСост, сч   : целое;
  ДочернДанныеПерехода,
  КоммулятивныеДанные,  
  ТипыДочернДок : СтатическиеДанные;
//  КоммулятивДочерниеНаборы,
  НаборыДляприемника,
  КоллекцияДляДочерних,
  НаборыДанных  : IVariables;
начало
  ТипДокумента := КоллекцияПерехода.Values(stVarIntfCode);
  НачСост := КоллекцияПерехода.Values(_stVarBeginDocState);
  КонСост := КоллекцияПерехода.Values(_stVarEndDocState);
  //получаем каскадные действия для текущего выполненного перехода над родительским документом
  ТипыДочернДок := ПолучитьКаскадПереход(кп_ВТаблице, "and(sj.DocTypeRef="+ЦелоеВСтроку(ТипДокумента)+")"
                                                     +"and(sj.BeginStateref="+ЦелоеВСтроку(НачСост)+")"
                                                     +"and(sj.EndStateref="+ЦелоеВСтроку(КонСост)+")");
  КоллекцияДляДочерних := CreateVariables();                                                   
//  КоммулятивДочерниеНаборы := CreateVariables();
  попытка
    ПервыйВызов := Да;
    ФлагПустотыДочернДок := Да;                                                 
    ТипыДочернДок.ВНачало();
    пока не ТипыДочернДок.ВКонце делать
    начало
      //для каждого каскадного действия проверяем нужно ли его выполнять для текущей родительской записи и описания каскадного перехода
      КоллекцияПерехода.VAlues(_stVarChildIntfCode) := ТипыДочернДок.ПолеПоИмени(СвПереход_ПолеДочернТипДок).КакЦелое;
      КоллекцияПерехода.Values(_stVarChildActionInfo) := ТипыДочернДок;
      если ПроверитьУсловиеКаскада(КоллекцияПерехода, ТипыДочернДок)
        тогда начало//если предыдущая проверка прошла удачно, вызываем выполнение каскадного действия
          КоллекцияДляДочерних.PumpData(КоллекцияПерехода);
          ВыполнитьДочернееДействие(КоллекцияДляДочерних);
          ВозвратРезультатаДочернДействия(КоллекцияПерехода, КоллекцияДляДочерних, _stChild);
          //в случае, если указано, накапливаем выкачанные дочерние документы(по количеству переданных наборов данных), над которыми производилось каскадное действие 
          если КоллекцияДляДочерних.CheckParam(_stCommulateChildData) и  (КоллекцияДляДочерних.Values(_stCommulateChildData) = 1)
            тогда начало
              НаборыДанных := КоллекцияДляДочерних.Values(_stVarChildData);
              //создаем для хранения дочерних данных параметр 
              если не КоллекцияПерехода.CheckParam(_stVarChildData)
                тогда начало
                  НаборыДляприемника := CreateVariables();               
                  КоллекцияПерехода.Values(_stVarChildData) := НаборыДляприемника;
                конец
                иначе НаборыДляприемника := КоллекцияПерехода.Values(_stVarChildData);
              //перекачиваем данные дочернего действия в родительскую коллекцию                   
              от сч := 0 до НаборыДанных.Count - 1 делать
              начало
                ДочернДанныеПерехода := НаборыДанных.IndexValues(сч);
                если не НаборыДляприемника.CheckParam(ЦелоеВСтроку(сч))
                  тогда начало
                    КоммулятивныеДанные := СоздатьСтатическиеДанные();
                    КоммулятивныеДанные.ПрисвоитьПоля(ДочернДанныеПерехода);
                    КоммулятивныеДанные.Открыть();
                    НаборыДляприемника.AddItems(ЦелоеВСтроку(сч));
                    НаборыДляприемника.IndexValues(сч) := КоммулятивныеДанные;
                  конец
                  иначе //докачиваем в существующий набор
                    КоммулятивныеДанные := НаборыДляприемника.IndexValues(сч);
                КоммулятивныеДанные.Закачать(ДочернДанныеПерехода);                                    
              конец;                  
            конец;
        конец;    
      //проверяем наличие дочерних документов 
//      ФлагПустотыДочернДок := ФлагПустотыДочернДок и КоллекцияПерехода.Values(_stZeroCountChildDocType);
      ТипыДочернДок.Следующая();
    конец;
    
/*    если (ТипыДочернДок.Числозаписей &lt;&gt; 0)
      тогда начало
        //переносим собранные со всех выполненных дочерних переходов дочерние данные в основную коллекцию 
        если КоллекцияПерехода.CheckParam(_stCommulateChildData) и  (КоллекцияПерехода.Values(_stCommulateChildData) = 1)
          тогда начало
            НаборыДанных := КоллекцияПерехода.Values(_stVarChildData);
            //бегаем по списку накопленных наборов и переносим их во внешнюю коллекцию
            от сч := 0 до НаборыДанных.Count-1 делать
            начало
              КоммулятивныеДанные := КоммулятивДочерниеНаборы.IndexValues(сч);
              ДочернДанныеПерехода := НаборыДанных.IndexValues(сч);
              попытка
                ДочернДанныеПерехода.Закачать(КоммулятивныеДанные);
              обязательно
                Интерфейс(КоммулятивныеДанные).Освободить;
              конец;
            конец;  
          конец;
      конец;*/      
    КоллекцияПерехода.Values(_stZeroCountChildDoc) := ФлагПустотыДочернДок;
  обязательно
    УдалитьОбъект(КоллекцияДляДочерних);
//    Интерфейс(КоммулятивДочерниеНаборы).Освободить;
    УдалитьОбъект(ТипыДочернДок);
  конец;        
конец;

//для вызова действия системы состояний с возвратов полной коллекции в действии
Функция _ВыполнитьДействие(ИДДок : строка; ТипДокумента, IsAdmin, ИзменятьТолькоВсе: целое; ИмяДействия : строка; Параметры: IVariables): IVariables;
начало
  результат := CreateVariables();
  попытка
    //формируем ограничения для получения документов, принадлежащих выбранному реестру
    результат.Values(stVarIsAdmin) := IsAdmin;
    результат.Значение(stVarUserName) := ТекущийПользователь;      
    результат.Values(stVarIntfCode) := ТипДокумента;
    результат.Values(stVarDebugMode) := 0;//отладка по шагам        
    // Имя действия системы состояний для проведения платежных поручений
    результат.Values(stVarActionName) := ИмяДействия;
    результат.Values("КодДокумента") := ИДДок;
    результат.Values(stVarNeedAll) := ИзменятьТолькоВсе;
    если Параметры &lt;&gt; nil
      тогда результат.PumpData(Параметры);
    если IsAdmin
      тогда результат.Values(stVarDebugMode) := Отладка_Скрипта();
    если CheckRightsOnAction(результат)//если есть права на указанное действие
      тогда MakeAction(результат) //то совершаем указанное действие
      иначе ВызватьОшибку(ОшибкаНаличияПравНаПереходыДействия());
  неудача
    УдалитьОбъект(результат);
    ВызватьОшибку(ПоследняяОшибка);
  конец;    
конец;

//для вызова действия системы состояний извне
Функция ВыполнитьПереход(ИДДок : строка; ТипДокумента, IsAdmin, ИзменятьТолькоВсе: целое; ИмяДействия : строка; Параметры: IVariables);
переменные
  КоллекцияДляСхемы  : IVariables; //коллекция действия
начало
    попытка
      КоллекцияДляСхемы := _ВыполнитьДействие(ИДДок, ТипДокумента, IsAdmin, ИзменятьТолькоВсе, ИмяДействия, Параметры);         
      если целое(КоллекцияДляСхемы.Values(stDocNotChangeState)) &lt;&gt; целое(КоллекцияДляСхемы.Values(stDocChangeState)) тогда
        ВызватьОшибку("Не удалось выполнить действие " + ИмяДействия);
    обязательно
      УдалитьОбъект(КоллекцияДляСхемы);
    конец  
конец;
//-----------------------------------Функции для распределения кода на стандартный и пользовательский----------------------------------

//функция отсекает все документы, на изменение которых в из начального состояния, у пользователя нет прав(исходя из совершаемого действия)
функция ВыделениеПодлежащихДействиюДок(ПараметрыДействия: IVariables);
переменные
  ИДДействия    : целое;
  ПереченьНачСостояний,
  ИмяПользователя:строка;
  Данные,
  Переходы      : СтатическиеДанные;
начало
  ИДДействия := ПараметрыДействия.Values(stVarAction);
  ИмяПользователя := ПараметрыДействия.Values(stVarUserName);
  Данные := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
   
  Переходы := ПолучитьПереходыВДействии(ИДДействия, ИмяПользователя);
  попытка
    если Переходы.ЧислоЗаписей &lt;&gt; 0
      тогда начало //проставить отсутствие прав на совершение действия в документах в состоянии, из которого нет переходов для текущего действия 
        ПереченьНачСостояний := GetLimitStr(Переходы, ИсторияПолеНачСост);
        ПроставитьПричинуНесовершенияПерехода(Данные, "not(" + stDocStateFieldName + " in[" + ПереченьНачСостояний + "])", ОшибкаНаличияПравНаИзменениеСостояния());
      конец
      иначе //проставить во всех документах отсутствие прав на совершение действия
        ПроставитьПричинуНесовершенияПерехода(Данные, "", ОшибкаНаличияПравНаИзменениеСостояния());
    ПараметрыДействия.Values(_stVarJumpsDescription) := Переходы;     
  неудача
    если Переходы &lt;&gt; nil тогда 
      УдалитьОбъект(Переходы);
    ВызватьОшибку(ПоследняяОшибка);  
  конец;
конец;

функция ВызовПользовательскойОбработкиОбщее(Префикс: СТРОКА; ПараметрыДействия: IVariables);
//для каждого состояния в документах для совершения перехода
//1. оставляем в заголовках только записи, только с текущим состоянием
//2. если для выполняемого действия подвешен пользовательский макрос, расширяющий функционал тек. действия, выполняем его 
переменные
  ПереченьИндОбработчиков,    
  ВсеНачСостояния: Текст;
  ПереходыДействия,
  Заголовок     : СтатическиеДанные;
  Ограничение   : Variant;
  ПутьКИндОбработчикамСхемы,
  ИмяМакросаИндОбработчика,
  ОбработчикВУзде,
  СортировкаДоОбработки,
  СтарыйФильтр  : строка;
  индОбработчика,
  сч,ТипДокумента: целое;       
начало
  ВсеНачСостояния := СоздатьТекст();
  ПереченьИндОбработчиков := СоздатьТекст();  
  Ограничение := CreateVariant();
  попытка
    ТипДокумента := ПараметрыДействия.values(stVarIntfCode);
    ПереходыДействия := ПараметрыДействия.Values(_stVarJumpsDescription);
    ИмяМакросаИндОбработчика := Префикс + ПолучитьИмяДействияПоИД(ПараметрыДействия.values(stVarAction));
    ПутьКИндОбработчикамСхемы := ПутьКДействиямСхемы() + ЦелоеВСтроку(ТипДокумента) + "\" + УзелИндивидуальныхНастроекСхемы();
    ПереченьИндОбработчиков.РазделенноеЗначение(",") := Прописные(ПолучитьПереченьЗначенийУзла(ПутьКИндОбработчикамСхемы));
    если ПараметрыДействия.checkparam(_stUseCustomFilter)
      тогда ПараметрыДействия.Values(_stUseCustomFilter) := 0;

         
    Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
    СортировкаДоОбработки := Заголовок.IndexFieldNames;
        
    ВсеНачСостояния.РазделенноеЗначение(",") := GetLimitStr(Заголовок, stDocStateFieldName);
    Заголовок.IndexFieldNames := stDocStateFieldName;
    Ограничение.VarArrayOf(0);
    СтарыйФильтр := Заголовок.Фильтр;
    от сч := 0 до ВсеНачСостояния.Количество - 1 делать
    начало
      Ограничение.ASInteger(0) := СтрокаВЦелое(ВсеНачСостояния.Стр(сч));
      Заголовок.SetScope(Ограничение.Value);
        
      //если для текущего действия определен пользовательский обработчик обработки перехода
      от индОбработчика := 0 до ПереченьИндОбработчиков.Количество-1 делать
      начало
        ОбработчикВУзде := ПереченьИндОбработчиков.Стр(индОбработчика);  
        если (Позиция(Прописные(ИмяМакросаИнДОбработчика), Прописные(ОбработчикВУзде)) &gt; 0) 
          тогда начало
            ExecScript(ПутьКИндОбработчикамСхемы + "\" + ОбработчикВУзде, ПараметрыДействия);
          конец;
      конец;  
/*        иначе если (ПереходыДействия &lt;&gt; nil)//в случае отсутствия индивидуального макроса проверяем, что для действия нет нескольких переходов из одного состояния 
                тогда начало
                  СтараяСортировка := ПереходыДействия.IndexFieldNames;                  
                  попытка
                    ПереходыДействия.IndexFieldNames := ИсторияПолеНачСост;
                    ПереходыДействия.SetScope(ArrayOf(СтрокаВЦелое(ВсеНачСостояния.Стр(сч))));
                    если ПереходыДействия.ЧислоЗаписей &gt; 1
                      тогда ВызватьОшибку(ОшибкаОтсутствияМакроса);
                  обязательно
                    ПереходыДействия.CancelRange();
                    ПереходыДействия.IndexFieldNames := СтараяСортировка;                      
                  конец;                      
                конец;*/
      Заголовок.CancelRange();
    конец;                  
  обязательно
    УдалитьОбъект(Ограничение);
    УдалитьОбъект(ПереченьИндОбработчиков); 
    УдалитьОбъект(ВсеНачСостояния);
    Заголовок.IndexFieldNames := СортировкаДоОбработки;
    если не( ПараметрыДействия.checkparam(_stUseCustomFilter)
          и (ПараметрыДействия.Values(_stUseCustomFilter) = 1))
      тогда начало       
        Заголовок.Filtered  := нет;
        Заголовок.Фильтр := СтарыйФильтр;
        Заголовок.Filtered  := (Заголовок.Фильтр &lt;&gt; "");
      конец;      
  конец;  
конец;

функция ВызовПользовательскойОбработкиДо(ПараметрыДействия: IVariables);
начало
  ВызовПользовательскойОбработкиОбщее("До_", ПараметрыДействия);  
конец;
функция ВызовПользовательскойОбработки(ПараметрыДействия: IVariables);
начало
  ВызовПользовательскойОбработкиОбщее("Инд_", ПараметрыДействия);
конец;
функция ВызовПользовательскойОбработкиПосле(ПараметрыДействия: IVariables);
начало
  ВызовПользовательскойОбработкиОбщее("Инд_", ПараметрыДействия);  
конец;

функция ВызовПостОбработки(ПараметрыДействия: IVariables);
переменные                      
  ПереченьПостОбработчиков      : Текст;
  Обработанные                  : СтатическиеДанные;
  ПутьКПостОбработчикамСхемы,
  ИмяМакросаОбработчика         : строка;
  ТипДокумента                  : ЦЕЛОЕ;   
начало
  Обработанные := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  ТипДокумента := ПараметрыДействия.Values(stVarIntfCode);
  Обработанные.Фильтр := ФильтрПрошедшиеПереход();
  Обработанные.Filtered := ДА;
  
  ПереченьПостОбработчиков := СоздатьТекст();
  попытка
    ИмяМакросаОбработчика := ПолучитьИмяДействияПоИД(ПараметрыДействия.values(stVarAction));
    ПутьКПостОбработчикамСхемы := ПутьКДействиямСхемы() + ЦелоеВСтроку(ТипДокумента) + "\" + УзелНастроекПостОбработкиСхемы();
    ПереченьПостОбработчиков.РазделенноеЗначение(",") := Прописные(ПолучитьПереченьЗначенийУзла(ПутьКПостОбработчикамСхемы));
    если ПереченьПостОбработчиков.Поиск(Прописные(ИмяМакросаОбработчика)) &gt; -1
      тогда начало
        ExecScript(ПутьКПостОбработчикамСхемы+"\"+ИмяМакросаОбработчика, ПараметрыДействия);
      конец;
  обязательно
    Обработанные.Filtered := нет;
    Обработанные.Фильтр := "";
    УдалитьОбъект(ПереченьПостОбработчиков); 
  конец;      
конец;

// так как на интерфейсе нет поля UsersVisa, то мы должны его сами закачать из базы
функция ПроставитьВизуУЗаписи(ссЗаголовок: СтатическиеДанные);
переменные
  ссДляПоискаВизы: СтатическиеДанные;
начало
  ссДляПоискаВизы := создатьстатическиеданные ;
  попытка 
   ссДляПоискаВизы.соединитьБД ;
   ссДляПоискаВизы.запрос := "[PumpData] {select usersvisa from budnotify where id=" + ссЗаголовок.Поле('id').какстрока + "}" ;
   ссДляПоискаВизы.открыть ; 
   ссЗаголовок.поле(КонстПолеВизаОтдела()).какстрока := ссДляПоискаВизы.поле("usersvisa").какстрока ;
  обязательно
    удалитьобъект(ссДляПоискаВизы) ;
  конец;
конец;

//Получить код интерфейса из коллекции
функция ПолучитьКодИнтерфейса(Параметры: IVariables): целое;
начало
  если Параметры.ПараметрСуществует("КодИнтерфейса") тогда
    Результат:=Параметры.Values("КодИнтерфейса")
  иначе
  начало
    Результат:=-1;
    ВызватьОшибку("Параметр 'КодИнтерфейса' в коллекции не найден");
  конец;    
конец;

//для строк с перечислением значений в поле с переданным именем
//в возвращаемый набор вставляем дублирующую запись 
функция ПреобразоватьБезРазделителей(ОписаниеПолей: СтатическиеДанные; ПолеВНабореОписания: строка): СтатическиеДанные;
переменные
  ПолеИзАлг: IField;    
  СписокРусских: Текст;
  ИндексПовтора: ЦЕЛОЕ;       
  ДляОбработки: СтатическиеДанные;
начало
  СписокРусских := СоздатьТекст();
  ДляОбработки := СоздатьСтатическиеДанные();
  попытка
    ДляОбработки.ПрисвоитьПоля(ОписаниеПолей);
    ДляОбработки.Открыть;
    результат := СоздатьСтатическиеДанные();
    результат.ПрисвоитьПоля(ОписаниеПолей);
    результат.Открыть();
    результат.PumpData(ОписаниеПолей,"");
    результат.Filter := ПолеВНабореОписания + ' = ""';
    результат.Filtered := Да;
    результат.Очистить;
    результат.Filtered := Нет;  
    результат.Filter := ПолеВНабореОписания + ' like "*,*"';
    результат.Filtered := Да;    
    ДляОбработки.PumpData(результат, "");
    результат.Очистить;
    результат.Filtered := Нет; 
    результат.Filter := "";
    ПолеИзАлг := результат.Поле(ПолеВНабореОписания);
    ДляОбработки.ВНачало();
    пока не ДляОбработки.ВКонце делать
    начало
      СписокРусских.РазделенноеЗначение(",") := ДляОбработки.Поле(ПолеВНабореОписания).КакСтрока;       
      от ИндексПовтора := 0 до СписокРусских.Количество-1 делать 
      начало
        результат.СкопироватьЗапись(0, ДляОбработки, "", "ID=ID");
        ПолеИзАлг.КакСтрока := СписокРусских.Стр(ИндексПовтора);               
      конец;
      ДляОбработки.Следующая();
    конец;                            
  обязательно
    УдалитьОбъект(СписокРусских, ДляОбработки);
  конец;  
конец;

//Получить имя поля (на шаблоне или на интерфейсе) по логическому имени поля
//Принадлежность=0 - УРМ; Принадлежность=1 - Бюджет
функция ПолучитьИмяПоля(ЛогИмяПоля: Строка; КодДокумента, Детализация, Принадлежность: Целое; 
                        ВозвращаемоеПоле:строка; ПолеДляПоиска: строка = ДокПоле_ИмяВАлгоритмах): Строка; 
переменные 
  ОписаниеПолей, ОписаниеБезРазделителей: СтатическиеДанные;
  ПоляДокументовКэш: IVariables;
начало
  результат := ""; 
  Если не CheckParam("DocFieldsCache") тогда
    Values("DocFieldsCache") := СоздатьКоллекцию;
  ПоляДокументовКэш := Values("DocFieldsCache");
  если не ПоляДокументовКэш.ПараметрСуществует(ЦелоеВСтроку(КодДокумента)) тогда
  начало
    ОписаниеПолей := GetDocFieldsByDocType(КодДокумента);
    попытка
      ПоляДокументовКэш.Значение(ЦелоеВСтроку(КодДокумента)) := ПреобразоватьБезРазделителей(ОписаниеПолей, ДокПоле_ИмяВАлгоритмах);
    обязательно
      УдалитьОбъект(ОписаниеПолей);
    конец;  
  конец;    
  ОписаниеБезРазделителей := СтатическиеДанные(ПоляДокументовКэш.Значение(ЦелоеВСтроку(КодДокумента)));
  ОписаниеБезРазделителей.Фильтр := Формат('%s in (%d, 2)', ДокПоле_ЭтоБюджет, Принадлежность); // указанная принадлежность + "УРМ+Бюджет"
  ОписаниеБезРазделителей.Filtered := да;
  если ОписаниеБезРазделителей.Локализовать(ПолеДляПоиска + ";" + ДокПоле_НомерДетали, 
    МассивИз(ЛогИмяПоля,ЦелоеВСтроку(Детализация)), 1) тогда
    результат := ОписаниеБезРазделителей.ПолеПоИмени(ВозвращаемоеПоле).КакСтрока
конец;

//Получить имя поля на шаблоне по логическому имени поля
//Принадлежность=0 - УРМ; Принадлежность=1 - Бюджет
функция ПолучитьИмяПоляНаШаблоне(ЛогИмяПоля: Строка; КодДокумента, Детализация, Принадлежность: Целое): Строка; 
начало
  результат := ПолучитьИмяПоля(ЛогИмяПоля, КодДокумента, Детализация, Принадлежность, ДокПоле_ИмяВСостояниях);
  если УбратьПробелы(результат) = '' тогда
    Ошибка(Формат("Поле '%s' на интерфейсе с кодом %d не найдено",ЛогИмяПоля,КодДокумента));
конец;

//Получить имя поля на интерфейсе по логическому имени поля
//Принадлежность=0 - УРМ; Принадлежность=1 - Бюджет
функция ПолучитьИмяПоляНаИнтерфейсе(ЛогИмяПоля: Строка; КодДокумента, Детализация, Принадлежность: Целое): Строка; 
начало
  результат := ПолучитьИмяПоля(ЛогИмяПоля, КодДокумента, Детализация, Принадлежность, ДокПоле_ИмяНаИнтф);
  если УбратьПробелы(результат) = '' тогда
    Ошибка(Формат("Поле '%s' на интерфейсе с кодом %d не найдено",ЛогИмяПоля,КодДокумента));
конец;

//Получить логическое имя поля по имени поля не интерфейсе
//Принадлежность=0 - УРМ; Принадлежность=1 - Бюджет 
функция ПолучитьЛогИмяПоИмениНаИнтерфейсе(ИмяПоля: Строка; КодДокумента, Детализация, Принадлежность: Целое): Строка;
начало
  результат := ПолучитьИмяПоля(ИмяПоля, КодДокумента, Детализация, Принадлежность, ДокПоле_ИмяВАлгоритмах, ДокПоле_ИмяНаИнтф);
конец;

// Проверка поддерживает ли вариантная переменная указанный COM интерфейс
функция ИнтерфейсПоддерживается(_Значение:variant;_Интерфейс:интерфейс):целое;
начало
  результат := нет;
  если (_Значение.VarType=varUnknown)или(_Значение.VarType=varDispatch) тогда
    Результат :=  Интерфейс(_Значение).QueryInterface(_Интерфейс);
конец;

//Проставить дату принятия
функция ПроставитьДатуПринятия(Параметры: IVariables);
переменные 
  пДатаПринятия, пАрхив: поле;
  ДатаПринятия, ВАрхив: целое;
  Данные: СтатическиеДанные;
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(Параметры);  
  если Данные.RecordCount &gt; 0 тогда
  начало
    ПолучитьДатуПринятияОбщая(ДатаПринятия,ВАрхив,Параметры);
    Параметры.Значение(кКонечнаяДатаКонтроля) := ДатаПринятия;
    пДатаПринятия := Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("ДатаПринятия",ПолучитьКодИнтерфейса(Параметры),0,ЭтоБюджет));
    попытка
      пАрхив := Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("ПризнакАрхивности",ПолучитьКодИнтерфейса(Параметры),0,ЭтоБюджет));
    неудача
      пАрхив := nil;
    конец;       
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      пДатаПринятия.КакЦелое := ДатаПринятия;
      если пАрхив &lt;&gt; nil тогда
        пАрхив.КакЦелое := ВАрхив;
      Данные.Следующая;
    конец;
  конец;
конец;

//Снять дату принятия
функция СнятьДатуПринятия(Параметры: IVariables);
переменные
  Данные: СтатическиеДанные;
  ДатаПринятия: Поле;
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(Параметры);
  ДатаПринятия := Данные.Поле(ПолучитьИмяПоляНаШаблоне("ДатаПринятия",ПолучитьКодИнтерфейса(Параметры),0,ЭтоБюджет));
  если не ДатаПринятия.Пустое тогда
  начало
    если (не Параметры.CheckParam(stVarIsAdmin))или(целое(Параметры.Значение(stVarIsAdmin)) = 0) тогда
      ПроверитьДатуПринятия(ДатаПринятия.КакЦелое, (Параметры.Значение(stVarIntfCode) цел 100) = 3);
    Данные.Редактировать;
    ДатаПринятия.Очистить;    
    Данные.Сохранить;
  конец;  
конец;

//Проставить код и текст причины отклонения
функция ПроставитьПричинуОтклонения(Параметры: IVariables);
переменные 
  КодПричиныОткл, КодИнтерфейса: целое;
  ПричинаОтклКоммен: строка;
  пПричинаОтклон, пПричинаОтклонКоммент: поле; 
  Данные: СтатическиеДанные;
  ПоказыватьДиалог: целое;  
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(Параметры);
  КодИнтерфейса:=ПолучитьКодИнтерфейса(Параметры);       
  если Данные.RecordCount &gt; 0 тогда
  начало
    ПоказыватьДиалог := да;
    если Параметры.ПараметрСуществует("ПричинаОтклоненияКод") тогда
      КодПричиныОткл := Параметры.Values("ПричинаОтклоненияКод");
    если Параметры.ПараметрСуществует("ПричинаОтклоненияТекст") тогда
      ПричинаОтклКоммен := Параметры.Values("ПричинаОтклоненияТекст"); 
    если Параметры.ПараметрСуществует("НеПоказыватьДиалог") тогда
      ПоказыватьДиалог := не (Параметры.Values("НеПоказыватьДиалог"));     
    пПричинаОтклон := Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("ПричинаОтклонКод",КодИнтерфейса,0,ЭтоБюджет));
    пПричинаОтклонКоммент := Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("ПричинаОтклонТекст",КодИнтерфейса,0,ЭтоБюджет));
    Данные.ВНачало;
    пока не Данные.ВКонце делать
    начало
      если пПричинаОтклон.Пустое тогда
      начало
        если ПоказыватьДиалог тогда // еще не запрашивали причину отклонения в диалоге
        начало
          ПолучитьПричинуОтклВДиалоге(КодПричиныОткл, ПричинаОтклКоммен);
          ПоказыватьДиалог := нет;        
        конец;
        пПричинаОтклон.КакЦелое := КодПричиныОткл;
        если ПричинаОтклКоммен = "" тогда
          пПричинаОтклонКоммент.КакСтрока := Разыменовать("Причина_Отклонения.Имя", КодПричиныОткл)
        иначе
          пПричинаОтклонКоммент.КакСтрока := ПричинаОтклКоммен;
      конец;
      Данные.Следующая;
    конец;
  конец;
конец;

//Снять код и текст причины отклонения
функция СнятьПричинуОтклонения(Параметры: IVariables);
переменные
  КодИнтерфейса: целое;
  Данные: СтатическиеДанные;
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(Параметры);
  КодИнтерфейса:=ПолучитьКодИнтерфейса(Параметры);
  Данные.Редактировать;
  Данные.Поле(ПолучитьИмяПоляНаШаблоне("ПричинаОтклонКод",КодИнтерфейса,0,ЭтоБюджет)).Очистить; 
  Данные.Поле(ПолучитьИмяПоляНаШаблоне("ПричинаОтклонТекст",КодИнтерфейса,0,ЭтоБюджет)).Очистить; 
  Данные.Сохранить;
конец;

// Получить запрос поиска пустых заголовков
функция ПолучитьЗапросЗаголовков(СписокИД: строка; ТипДокумента: целое): строка;
переменные
  ТипыДокументов, Заголовок: СтатическиеДанные;
  ИмяТаблицыДетали, ИмяПоляСвязи, СписокЗаголовков: строка; 
начало
  ТипыДокументов := СоздатьСтатическиеДанные;
  Заголовок := СоздатьСтатическиеДанные;
  попытка
    ТипыДокументов.СоединитьБД;
    ТипыДокументов.Запрос := "[PumpData]{" +
      "select d.PRIMARYKEYNAME, d.LINKFIELDNAME, d.TableName from DocumentCLS d where (d.id = @id)}";
    ТипыДокументов.Параметр("id") := ТипДокумента;
    ТипыДокументов.Открыть;
    ИмяТаблицыДетали := ТипыДокументов.ПолеПоИмени("TableName").КакСтрока;
    ИмяПоляСвязи := ТипыДокументов.ПолеПоИмени("LINKFIELDNAME").КакСтрока;
    ТипыДокументов.Закрыть;
    ТипыДокументов.Параметр("id") := (ТипДокумента цел 100) * 100;
    ТипыДокументов.Открыть;
    Заголовок.СоединитьБД;
    Заголовок.Запрос := "[PumpData]{select distinct c.id from " + ТипыДокументов.ПолеПоИмени("TableName").КакСтрока +
      " c left join " + ИмяТаблицыДетали + " d on (c." + ТипыДокументов.ПолеПоИмени("PRIMARYKEYNAME").КакСтрока + 
      " = d." + ИмяПоляСвязи + ") where (d.id in (" + СписокИД + "))}";
    Заголовок.Открыть;
    СписокЗаголовков := GetLimitStr(Заголовок, "id");
    если (СписокЗаголовков = "Null")или(СписокЗаголовков = "") тогда
      Результат := ""
    иначе  
      Результат := "[PumpData]{select c.id from " + ТипыДокументов.ПолеПоИмени("TableName").КакСтрока +
        " c left join " + ИмяТаблицыДетали + " d on (c." + ТипыДокументов.ПолеПоИмени("PRIMARYKEYNAME").КакСтрока + 
        " = d." + ИмяПоляСвязи + ") where (c.id in (" + СписокЗаголовков + ")) group by c.id having (count(d.id) = 0)}" +
        "[DeleteData]{delete from " + ТипыДокументов.ПолеПоИмени("TableName").КакСтрока + " where id = @id}";  
  обязательно
    УдалитьОбъект(ТипыДокументов);
    УдалитьОбъект(Заголовок);
  конец;
конец;

функция ПолучитьИДЗаголовка(СписокИД: строка; ТипДокумента: целое): строка;
переменные
  ТипыДокументов, Деталь: СтатическиеДанные;
начало
  Результат := "";
  если ТипДокумента ост 100 = 0 тогда // заголовок
    Результат := СписокИД
  иначе
  начало
    ТипыДокументов := СоздатьСтатическиеДанные;
    Деталь := СоздатьСтатическиеДанные;
    попытка
      ТипыДокументов.СоединитьБД;
      ТипыДокументов.Запрос := "[PumpData]{" +
        "select ID, PRIMARYKEYNAME, LINKFIELDNAME, TableName from DocumentCLS where ID = @ID}";
      ТипыДокументов.Параметр("ID") := ТипДокумента;      
      ТипыДокументов.Открыть;    
      если ТипыДокументов.ЧислоЗаписей &gt; 0 тогда
      начало      
        Деталь.Параметр("TableName") := ТипыДокументов.ПолеПоИмени("TableName").КакСтрока;
        Деталь.Параметр("LINKFIELDNAME") := ТипыДокументов.ПолеПоИмени("LINKFIELDNAME").КакСтрока;
        Деталь.Параметр("ID") := СписокИД; 
        Деталь.СоединитьБД;
        Деталь.Запрос := "[PumpData]{select distinct @LinkFieldName CptID from @TableName where id in (~ID)}";
        Деталь.Открыть;
        Результат := GetLimitStr(Деталь, "CptID");
      конец;
    обязательно
      УдалитьОбъект(ТипыДокументов, Деталь);
    конец;
  конец;
конец;

// Удаление документов связанных с обрабатываемыми
// Параметры:
// ТипДочернегоДокумента, ТипРодительскогоДокумента, КодИсходящейСвязи, КодВходящейСвязи,
// УдалятьПустыеЗаголовки (по умолчанию =да) - удалять заголовки у которых удалились все детализации
функция УдалитьСвязанныеДокументы(Параметры: IVariables);
переменные
  ТипыСвязей, Связи, Данные: СтатическиеДанные;
  Коллекция, КоллекцияСДанными: IVariables;
  LinkInfo: ILinkInfo2;
  сч, ВходящаяСвязь, ТипДокумента, ТипСвязанногоДокумента, КодИнтерфейса,
  УдалятьПустыеЗаголовки: целое;
  СписокДокументов, ИмяПоляИст, ИмяПоляПолуч, ЗапросЗаголовка: строка;
  Ограничение: Variant;  
начало
  КоллекцияСДанными := Параметры.Значение(stVarData);
  КодИнтерфейса := ПолучитьКодИнтерфейса(Параметры);
  если Параметры.Значение("УдалятьПустыеЗаголовки") &lt;&gt; '' тогда
    УдалятьПустыеЗаголовки := Параметры.Значение("УдалятьПустыеЗаголовки")
  иначе
    УдалятьПустыеЗаголовки := да;  
  LinkInfo := CreateComObject(TLinkInfo2);
  Коллекция := CreateVariables;
  попытка
    СоединитьИнтерфейс(LinkInfo);
    ВходящаяСвязь := 0;
    если Параметры.Значение("ТипДочернегоДокумента") &lt;&gt; '' тогда
    начало
      Коллекция.Значение(paramLinkType_ChildDocCls) := Параметры.Значение("ТипДочернегоДокумента");
      СписокДокументов := "";
      от сч := 0 до КоллекцияСДанными.Count - 1 делать
        если СписокДокументов = "" тогда
          СписокДокументов := ЦелоеВСтроку((КодИнтерфейса * 100) + сч)
        иначе  
          СписокДокументов := СписокДокументов + "," + ЦелоеВСтроку((КодИнтерфейса * 100) + сч);
      Коллекция.Значение(paramLinkType_ParentDocCls) := СписокДокументов;          
      ВходящаяСвязь := -1;
    конец;
    если Параметры.Значение("ТипРодительскогоДокумента") &lt;&gt; '' тогда
    начало
      Коллекция.Значение(paramLinkType_ParentDocCls) := Параметры.Значение("ТипРодительскогоДокумента");
      СписокДокументов := "";
      от сч := 0 до КоллекцияСДанными.Count - 1 делать
        если СписокДокументов = "" тогда
          СписокДокументов := ЦелоеВСтроку((КодИнтерфейса * 100) + сч)
        иначе  
          СписокДокументов := СписокДокументов + "," + ЦелоеВСтроку((КодИнтерфейса * 100) + сч);
      Коллекция.Значение(paramLinkType_ChildDocCls) := СписокДокументов;          
      ВходящаяСвязь := 1;
    конец;
    если Параметры.Значение("КодИсходящейСвязи") &lt;&gt; '' тогда
    начало
      Коллекция.Значение(paramLinkType_LinkTypeID) := Параметры.Значение("КодИсходящейСвязи");
      ВходящаяСвязь := -1;
    конец;
    если Параметры.Значение("КодВходящейСвязи") &lt;&gt; '' тогда
    начало
      Коллекция.Значение(paramLinkType_LinkTypeID) := Параметры.Значение("КодВходящейСвязи");
      ВходящаяСвязь := 1;
    конец;
    ТипыСвязей := LinkInfo.GetLinkTypes(Коллекция);
    ТипыСвязей.ВНачало;
    пока не ТипыСвязей.ВКонце делать
    начало
      выбрать ВходящаяСвязь из
        1:
        начало
          ТипДокумента := ТипыСвязей.ПолеПоИмени(paramLinkType_ChildDocCls).КакЦелое;
          ТипСвязанногоДокумента := ТипыСвязей.ПолеПоИмени(paramLinkType_ParentDocCls).КакЦелое;
          ИмяПоляИст := "ChildID";
          ИмяПоляПолуч := "ParentID";
        конец;
        -1:
        начало
          ТипДокумента := ТипыСвязей.ПолеПоИмени(paramLinkType_ParentDocCls).КакЦелое;
          ТипСвязанногоДокумента := ТипыСвязей.ПолеПоИмени(paramLinkType_ChildDocCls).КакЦелое;
          ИмяПоляИст := "ParentID";
          ИмяПоляПолуч := "ChildID";
        конец;
        0:  
        начало
          если (ТипыСвязей.ПолеПоИмени(paramLinkType_ParentDocCls).КакЦелое цел 100) = Параметры.Значение("КодИнтерфейса") тогда
          начало
            ТипДокумента := ТипыСвязей.ПолеПоИмени(paramLinkType_ParentDocCls).КакЦелое;
            ТипСвязанногоДокумента := ТипыСвязей.ПолеПоИмени(paramLinkType_ChildDocCls).КакЦелое;          
            ИмяПоляИст := "ParentID";
            ИмяПоляПолуч := "ChildID";
          конец
          иначе
            если (ТипыСвязей.ПолеПоИмени(paramLinkType_ChildDocCls).КакЦелое цел 100) = Параметры.Значение("КодИнтерфейса") тогда
            начало
              ТипДокумента := ТипыСвязей.ПолеПоИмени(paramLinkType_ChildDocCls).КакЦелое;
              ТипСвязанногоДокумента := ТипыСвязей.ПолеПоИмени(paramLinkType_ParentDocCls).КакЦелое;          
              ИмяПоляИст := "ChildID";
              ИмяПоляПолуч := "ParentID";
            конец
            иначе
              ТипДокумента := -1;
        конец;
      конец;
      если ТипДокумента &lt;&gt; -1 тогда
      начало
        Данные := ПолучитьДетальИзКоллекции(Параметры, ТипДокумента ост 100);
        если (ТипДокумента ост 100) &lt;&gt; 0 тогда
        начало
          Ограничение := CreateVariant();
          попытка
            Ограничение.VarArrayOf(0);        
            Ограничение.AsInteger(0) := ПолучитьЗаголовокИЗКоллекции(Параметры).ПолеПоимени(КонстПолеИДДок).КакЦелое;
            Данные.SetScope(Ограничение.Value);
            СписокДокументов := GetLimitStr(Данные, КонстПолеИДДок);
            Данные.CancelRange();            
          обязательно
            УдалитьОбъект(Ограничение);
          конец;               
        конец
        иначе
          СписокДокументов := GetLimitStr(Данные, КонстПолеИДДок);
        Коллекция.Clear;
        Коллекция.Значение(paramLinkType_LinkTypeID) := ТипыСвязей.ПолеПоИмени(КонстПолеИДДок).КакЦелое;  
        Коллекция.Значение(ИмяПоляИст) := СписокДокументов;  
        Связи := LinkInfo.GetLinks(Коллекция);
        СписокДокументов := GetLimitStr(Связи, ИмяПоляПолуч);
        если СписокДокументов &lt;&gt; '' тогда
        начало
          если УдалятьПустыеЗаголовки и ((ТипСвязанногоДокумента ост 100) &lt;&gt; 0) тогда
            ЗапросЗаголовка := ПолучитьЗапросЗаголовков(СписокДокументов, ТипСвязанногоДокумента);
          попытка  
            LinkInfo.DeleteRecordsByDocumentCls(ТипСвязанногоДокумента, СписокДокументов, bptForceDelete, нет);
          неудача
            если Параметры.Значение("УдалятьСвязьПриОшибке") = 1 тогда
              LinkInfo.DeleteLinks(Коллекция, нет, bptForceDelete)
            иначе
              ВызватьОшибку(ПоследняяОшибка);
          конец;
          если ЗапросЗаголовка &lt;&gt; '' тогда
          начало
            Данные := СоздатьСтатическиеДанные;
            попытка
              Данные.СоединитьБД;
              Данные.Запрос := ЗапросЗаголовка;
              Данные.Открыть;
              если Данные.RecordCount &gt; 0 тогда
              начало
                попытка
                  LinkInfo.DeleteRecordsByDocumentCls((ТипСвязанногоДокумента цел 100) * 100, GetLimitStr(Данные, "id") , bptForceDelete, нет);
                неудача
                  //Если ошибка в режиме bptForceDelete, значит документа по связям не нашли и удаляем вручную
                  Данные.ВНачало;
                  пока Данные.RecordCount &gt; 0 делать
                    Данные.Удалить;
                  Данные.ApplyUpdates;  
                конец;
              конец;              
            обязательно
              УдалитьОбъект(Данные);
            конец;
          конец;
        конец;  
      конец;
      ТипыСвязей.Следующая;
    конец;    
  обязательно  
    ЗакрытьИнтерфейс(LinkInfo);
    УдалитьОбъект(LinkInfo);
    УдалитьОбъект(Коллекция);
  конец;  
конец;

// По содержимому подколлекций действия заполняет поля указанными в коллекциях кСписокКоллекций значениями
функция ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
переменные
  ЗначенияПолей: IVariables;
  ВремПоле: поле;
  сч, сч1, КодИнтерфейса: целое;
  Данные: СтатическиеДанные;
  СписокКоллекций: текст;
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);  
  если Данные.RecordCount &gt; 0 тогда
  начало
    КодИнтерфейса:=ПолучитьКодИнтерфейса(ПараметрыДействия);
    СписокКоллекций := СоздатьТекст;
    попытка
      СписокКоллекций.РазделенноеЗначение := кСписокКоллекций;
      от сч := 0 до СписокКоллекций.Количество - 1 делать
        если ПараметрыДействия.Значение(СписокКоллекций.Стр(сч)) &lt;&gt; nil тогда
        начало
          ЗначенияПолей := ПараметрыДействия.Значение(СписокКоллекций.Стр(сч));
          Данные := ПолучитьДетальИзКоллекции(ПараметрыДействия, сч);
          Данные.ВНачало;
          пока не Данные.ВКонце делать
          начало          
            от сч1 := 0 до ЗначенияПолей.Count - 1 делать
            начало
              ВремПоле := nil;
              если не Данные.FindField(ЗначенияПолей.Names(сч1), ВремПоле) тогда
                Данные.FindField(ПолучитьИмяПоляНаШаблоне(ЗначенияПолей.Names(сч1), КодИнтерфейса, сч1, ЭтоБюджет), ВремПоле);
              если ВремПоле &lt;&gt; nil тогда  
              начало
                Данные.Edit;              
                если ЗначенияПолей.IndexValues(сч1) = 'NULL' тогда
                  ВремПоле.Clear
                иначе
                  ВремПоле.AsVariant := ЗначенияПолей.IndexValues(сч1);
                Данные.Post;                    
              конец;
            конец;  
            Данные.Следующая;  
          конец;  
        конец;
    обязательно
      УдалитьОбъект(СписокКоллекций);
    конец;
  конец;
конец;

функция УдалитьДокументыПоТипу(ТипДокумента: целое; СписокДокументов: строка);
переменные
  LinkInfo: ILinkInfo2;
начало
  LinkInfo := CreateComObject(TLinkInfo2);
  попытка
    СоединитьИнтерфейс(LinkInfo);
    LinkInfo.DeleteRecordsByDocumentCls(ТипДокумента, СписокДокументов, bptForceDelete, нет);
  обязательно
    ЗакрытьИнтерфейс(LinkInfo);
    УдалитьОбъект(LinkInfo);
  конец;
конец;
</value>
    <param value="ОбщаяПоддержкаСхемы.abl" type="3" name="Export">GREKOVSV\grekovsv\20.03.2013 10:46:35</param>
    <param value="ОбщаяПоддержкаСхемы.abl" type="3" name="version">36.042.157</param>
    <param value="ОбщаяПоддержкаСхемы.abl" type="3" name="crc32">$13990D36</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Состояния">
    <value type="7" name="ОбщиеДействия.abl">// Общие функции для использования в макросах действий, переходов системы состояний, подходящие для всех документов
// Завязка на имена, уникальные для конкретного документа отсутствует
включить "\Библиотеки\libRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Documents.lib";
включить "\Библиотеки\ReportTools.lib";
включить "\Библиотеки\StateManage.lib";

функция ПолучитьПричинуОтклВДиалоге(КодПричины: ЦЕЛОЕ; ПричинаКомментарий: строка);
переменные
  Длг   : ДиалогПараметров;
  пКодПричины, пТекстПричины : ДиалоговыйПараметр;
начало
  Длг := Диалог;
  Длг.Очистить;
  Длг.Заголовок := "Выбор причины отклонения";  
  пКодПричины := Длг.ДобавитьКлассификатор("Причина отклонения", тк_ПричинаОтклонения, 0);
  пКодПричины.Значение := КодПричины;  
  пТекстПричины := Длг.Добавить("Причина отклонения(комментарий)", "Комментарий", 0, 0);
  пТекстПричины.Значение := ПричинаКомментарий;
  если Длг.Выполнить = Результат_ОК
    тогда начало
      если УбратьПробелы(пКодПричины.Значение) = ""
        тогда ВызватьОшибку("Не указан код причины отклонения");
      КодПричины := СтрокаВЦелое(пКодПричины.Значение);
      если Разыменовать("Причина_Отклонения.Существует",КодПричины) &lt;&gt; 1 тогда
        ВызватьОшибку("Указан несуществующий код причины отклонения");
      если УбратьПробелы(пТекстПричины.Значение) &lt;&gt; ""
        тогда ПричинаКомментарий := Длг.параметр("Комментарий").Значение
        иначе ПричинаКомментарий := Разыменовать("Причина_Отклонения.Имя", КодПричины);
    конец  
    иначе ВызватьОшибку("Проставление причины отклонения отменено");    
конец;

функция ПроверитьДатуПринятия(ДатаПринятия, ЭтоКазначейство: целое);
переменные
  ДатаБлокировки: целое;
  ДатыРазблокировки: СтатическиеДанные;   
начало
  если ЦелаяКонстанта(3, 10) = 0 тогда
  начало
    если ЭтоКазначейство тогда
      ДатаБлокировки := ЦелаяКонстанта(30, 2)
    иначе
      ДатаБлокировки := ЦелаяКонстанта(3, 2);
    если ДатаПринятия &lt; ДатаБлокировки тогда
      ВызватьОшибку("Запрещено вносить изменения ранее " + РасширеннаяДатаВСтроку(ДатаБлокировки));
  конец    
  иначе
  начало
    ДатыРазблокировки := СоздатьСтатическиеДанные;
    попытка
      ДатыРазблокировки.СоединитьБД;
      ДатыРазблокировки.Запрос := "[PumpData]{select UnlockDate from UnlockDates where (Unlock=1)and(JournalFlag=0)}";
      ДатыРазблокировки.Открыть;
      если не ДатыРазблокировки.Locate('UnlockDate', ДатаПринятия, 0) тогда
        ВызватьОшибку('Запрещено вносить изменения в закрытый день. Для открытия дня ' +
          'обратитесь к администратору либо к иному лицу, имеющему соответствующие полномочия');
    обязательно
      УдалитьОбъект(ДатыРазблокировки);
    конец;
  конец;
конец;

функция ПолучитьДатуПринятияОбщая(ДатаПринятия,ВАрхив : целое; ПараметрыДействия: IVariables);
переменные
  Длг           : ДиалогПараметров;
  параметры     : IVariables;
  Значение      : строка;
начало
  Длг := Диалог;
  Длг.Очистить();
  Длг.Заголовок := "Выбор даты принятия документов";
  Длг.Добавить("Дата", "Дата", 0, Календарь, "", "");
  Длг.Параметр("Дата").Значение := ДатаВСтроку(ТекущаяДата);
 
  Длг.Добавить('Отправить в архив','Архив',0,Проверка + ТолькоЧтение);
  Длг.Параметр("Архив").Видимость := нет;  
  если ПараметрыДействия.ПараметрСуществует("ЗапрашиватьВключениеВАрхив") тогда
    если ПараметрыДействия.Значение("ЗапрашиватьВключениеВАрхив") = 1 тогда
      Длг.Параметр("Архив").Видимость := да;    
  
  если Длг.Выполнить() &lt;&gt; Результат_ОК
    тогда ВызватьОшибку("Принятие документа(ов) отменено")
    иначе начало
      если УбратьПробелы(Строка(Длг.Параметр("Дата").Значение)) = ""
        тогда ВызватьОшибку("Дата принятия не введена");

      параметры := CreateVariables();
      попытка
        параметры.Values('ОднаДата') := Длг.Параметр("Дата").Значение;
        Значение := "99.99.9999";
        если GetCollectionParamValue(параметры, 'ОднаДата', Значение, 0)
          тогда Если (Позиция(".", Значение) &lt;&gt; 0) 
                  тогда  ДатаПринятия := СтрокаВЦелое(DateExString(Значение));
      обязательно
        УдалитьОбъект(параметры);
      конец;  
      
      если (не ПараметрыДействия.CheckParam(stVarIsAdmin))или(целое(ПараметрыДействия.Значение(stVarIsAdmin)) = 0) тогда
        ПроверитьДатуПринятия(ДатаПринятия, (ПараметрыДействия.Значение(stVarIntfCode) цел 100) = 3);
        
      ВАрхив := Длг.Параметр("Архив").Флаг;              
    конец;  
конец;

</value>
    <param value="ОбщиеДействия.abl" type="3" name="Export">GREKOVSV\grekovsv\20.03.2013 10:46:42</param>
    <param value="ОбщиеДействия.abl" type="3" name="version">36.042.157</param>
    <param value="ОбщиеДействия.abl" type="3" name="crc32">$928A5ADD</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Состояния">
    <value type="7" name="ОбщиеКонстантыСхемы.abl">//параметры в коллекции состояний
функция ПарамТипРеестра: строка;
начало
  результат := "_ТипРеестра";
конец;
функция ПарамДатапроведения: строка;
начало
  результат := "_ДатаПроведения";
конец;
функция ПарамПричинаОткл: строка;
начало
  результат := "_ПричинаОтклонения";
конец;
функция ПарамПричинаОтклКоммен: строка;
начало
  результат := "_ПричинаОтклоненияКоммен";
конец;
//для включения в реестр документов при совершении перехода м/у состояниями
функция ПарамФильтрДляВклВРеестрПоСостояниям: строка;
начало
  результат := "_FilterIncludingToReestr";
конец;
функция ПарамОгрВыборкиДляВклРеестра: строка;
начало
  результат := "_ExpressionForSelectReestr";   
конец;
функция ПарамТипыРеестровДляВыбора: строка;
начало
  результат := "_ReestrTypeExForSelect";  
конец;
функция ПарамДатаРеестраДляВыбора: строка;
начало
  результат := "_ReestrDateForSelect"; 
конец;

//для работы в Новосибирске. был параметр: "_ListOfReestr"
функция ПарамПереченьРеестров: строка;
начало
  результат := "_ReestrTypeExForSelect"; 
конец;

  //именя полей в наборах данных системы состояний
функция КонстПолеАрхив: строка ;
НАЧАЛО  
  результат := "Arhivedoc";
конец ;
функция КонстПолеДатаПринятия: строка;
начало
  результат := "AcceptDate";
конец;
функция КонстПолеДатаДокумента: строка;
начало
  результат := "DocumentDate";  
конец;
функция КонстПолеПричинаОткл: строка;
начало
  результат := "RejectCLS";
конец;
функция КонстПолеПричинаОтклКоммен: строка;
начало
  результат := "RejectCause";
конец;
функция КонстПолеСсылкаНАРеестр: строка;
начало
  результат := "Reestr_Ref";
конец;
функция КонстПолеКодУдаленногоКлиента: строка;
начало
  результат := "SenderID";
конец;
функция КонстПолеБюджет: строка;
начало
  результат := "BudgetRef";
конец;
функция КонстПолеИдДокумента: строка;
начало
  результат := "ID";
конец;
функция КонстПолеНомерЗаявки: строка;
начало
  результат := "BidNumber";
конец;
функция КонстПолеНомерДокумента: строка;
начало
  результат := "DocumentNumber";
конец;  
функция КонстПолеСчетПлат: строка;
начало
  результат := "SourceAccount";
конец;
функция КонстПолеСчетПолуч: строка;
начало
  результат := "DestAccount";
конец;
функция КонстПолеИмяСчетПлат: строка;
начало
  результат := "SourceAccountName";
конец;
функция КонстПолеИмяСчетПолуч: строка;
начало
  результат := "DestAccountName";
конец;

функция КонстПолеСубСчетПлат: строка;
начало
  результат := "SourceFKFacialCode";
конец;
функция КонстПолеСубСчетПолуч: строка;
начало
  результат := "DestFKFacialCode";
конец;
функция КонстПолеЛицСчетПлатВФК: строка;
начало
  результат := "SourceFacialAccCLSFacialCode";
конец;
функция КонстПолеЛицСчетПлат: строка;
начало
  результат := "SourceFacialAccCLS";
конец;
функция КонстПолеЛицСчетПолуч: строка;
начало
  результат := "DestFacialAccCls";
конец;
функция КонстПолеОперацияПлат: строка;
начало
  результат := "SourceType";
конец;
функция КонстПолеОперацияПолуч: строка;
начало
  результат := "DestType";  
конец;
функция КонстПолеНаправлениеОперации: строка;
начало
  результат := "OperationDirection"; 
конец;
функция КонстПолеИндексыДанных: строка;
начало
  результат := "ProgIndex";
конец;
функция КонстПолеДатаЭкстрИзменения: строка;
начало
  результат := "LASTEXTRCHANGE";
конец;
функция КонстПолеРайонДок: строка;
начало
  результат := "SourceRegionCLS";
конец;

функция КонстПолеСсылкаНаЗаголовок: строка;
начало
  результат  := "RecordIndex";
конец;
функция КонстПолеВнешняяСсылка: строка;
начало
  результат  := "RecordIndex2";
конец;  
  
функция КонстПолеНалоговаяИнфо: строка;
начало
  результат := "TaxNote";
конец;
функция КонстПолеБухПроводка: строка;
начало
  результат := "BuhPaymentCLS";
конец;
функция КонстПолеТипСредствПлат: строка;
начало
  результат := "SourceMeansTypeCLS";
конец;
функция КонстПолеКФСРПлат: строка;
начало
  результат := "SourceKFSR";  
конец;
функция КонстПолеКВСРПлат: строка;
начало
  результат := "SourceKVSR";
конец;
функция КонстПолеБухОперация: строка;
начало
  результат := "BuhOperationCLS";
конец;
функция КонстПолеСуммыДетали: строка;
начало
  результат := "Summa";  
конец;
//для реестров казначейства
функция КонстПолеИДРеестра: строка;
начало
  результат := "ID";
конец;  
функция КонстПолеДатаРеестра: строка;
начало
  результат := "ReestrDate";
конец;  
функция КонстПолеНомерРеестра: строка;
начало
  результат := "ReestrNumber";
конец;  
функция КонстПолеТипРеестра: строка;
начало
  результат := "ReestrTypeEx";
конец;    
функция КонстПолеПринятиеРеестра: строка;
начало
  результат := "Accepted";
конец;
функция КонстПолеВнешСсылкаРеестра: СТРОКА;
начало
  результат := "RecordIndex";  
конец; 
функция КонстПолеБлокировкиРеестра: строка;
начало
  результат := "SessionNumber";
конец;      
//поля для лимитов бюджетных обязательств
функция КонстПолеДатаПринятияРосписи: строка;
начало
  результат := "Dat";
конец;
функция КонстПолеВидПлана: строка;
начало
  результат := "PlanDocType";  
конец;
функция КонстПолеВизаОтдела: строка;
начало
  Результат := "usersvisa"; 
конец;
функция КонстПолеДатаПринятияЛимитов: строка;
начало
  Результат := "AcceptDate";  
конец;
//константы настроек в удаленном реестре  
функция ПутьКНастройкам: строка;
начало
  результат := "Бюджет\Объекты\Настройки\Казначейство\СхемаПрохождения";
конец;

функция ПутьКНастройкамСхемыРосписи: строка;
начало
  результат := "Бюджет\Объекты\Настройки\Роспись\СхемаПрохождения";  
конец;

функция ПутьКНастройкамСхемыОбъемовФин: строка;
начало
  результат := "Бюджет\Объекты\Настройки\ОбъемыФин\СхемаПрохождения";  
конец;

функция ПутьКНастройкамКазначейства: строка;
начало
  результат := "Бюджет\Объекты\Настройки\Казначейство\Параметры";
конец;

функция ПутьКНастройкамСанкционирования: строка;
начало
  результат := "Бюджет\Объекты\Настройки\Санкционирование"; 
конец;

функция УзелИндивидуальныхНастроекСхемы: строка;
начало
  результат := "Индивидуальные";
конец;

функция УзелУсловийВызоваКаскада: строка;
начало
  результат := "УсловияДляКаскада";
конец;

функция УзелНастроекПостОбработкиСхемы: строка;
начало
  результат := "ПостОбработка";
конец;

функция ПутьКДействиямСхемы: строка;
начало
  результат := 'Бюджет\Ресурсы\Состояния\Действия\';        
конец;

функция УзелНастроекФормированияДокПоГРБС: строка;
начало
  результат := "ФормированиеПоГРБС";
конец;
функция УзелНастроекФормированияДокПоПБС: строка;
начало
  результат := "ФормированиеПоПБС";
конец;


//имена параметров в удаленном реестре
функция ПарамТипРасходРеестр: строка;
начало
  результат := "ТипРасходРеестр";
конец;
функция ПарамТипПриходРеестр: строка;
начало
  результат := "ТипПриходРеестр";
конец;
функция ПарамТипСредствБюдж: строка;
начало
  результат := "ТипСредствБюджетные";     
конец;
функция ПарамТипСредствВнебюджет: строка;
начало
  результат := "ТипСредствВнебюджетные";
конец;
//для формирования возврата из районов
функция ПарамЛицСчетСредствВПути: строка;
начало
  результат := "ЛицСчетСредствВПути";
конец;
функция ПарамБухОпВозвратаИзРайона: строка;
начало
  результат := "БухОперацияВозврата";
конец;  
функция ПарамБухОпПодтверждениеВозвратаИзРайона: строка;
начало
  результат := "БухОперацияПодтверждениеВозврата";
конец;  
функция ПарамОпВозвратаИзрайона70н: строка;
начало
  результат := "ОперацияВозвратаИзРайона70н";
конец;  
функция ПарамОпПодтверждениеВозвратаИзрайона70н: строка;
начало
  результат := "ОперацияПодтверждениеВозвратаИзРайона70н";
конец;  
//для работы с объемами финансирования через УФК
функция ПараметрСвязьМеждуРаспредУтверждениемОФ: строка;
начало
  результат := "КодСвязиРаспредСУтверждениемОФДок";
конец;
функция ПараметрСвязьМеждуРаспредУтверждениемОФДеталь: строка;
начало
  результат := "КодСвязиРаспредСУтверждениемОФДеталь";
конец;

//поля таблицы реестров в базе
функция _ПолеИДРеестраВБазе: строка;
начало
  результат := "ID";  
конец;
функция  _ПолеНомерРеестраВБазе: строка;
начало  
  результат := "ReestrNumber";
конец;
функция _ПолеДатаРеестраВБазе: строка;
начало
  результат  := "ReestrDate";  
конец;

//типы документов, проходящих по схеме
функция ТипДок_РасходРоспись: целое;
начало
  результат := 201;
конец;
функция Типдок_СБР: целое;
начало
  результат := 202;
конец;
функция ТипДок_КвартальныйКПГРБС: целое;
начало
  результат := 203;
конец;
функция ТипДок_КвартальныйКППБС: целое;
начало
  результат := 206;
конец;
функция ТипДок_МесячныйКПГРБС: целое;
начало
  результат := 207;
конец;
функция ТипДок_МесячныйКППБС: целое;
начало
  результат := 208;
конец;
функция ТипДок_Переброска: целое;
начало
  результат := 301; 
конец;
функция ТипДок_ПП: целое;
начало
  результат := 302; 
конец;
функция ТипДок_Разассигновка: целое;
начало
  результат := 303;
конец;
функция ТипДок_Чеки: целое;
начало
  результат := 304; 
конец;
функция ТипДок_ПриходОтПр: целое;
начало
  результат := 305;
конец;
функция ТипДок_Реестры: целое;
начало
  результат := 307; 
конец;
функция ТипДок_ПереводВРАйоны: целое;
начало
  результат := 311;
конец;
функция ТипДок_ПодтверждениеПеревода: целое;
начало
  результат := 312;
конец;
функция ТипДок_ВозвратыИзРайона: целое;
начало
  результат := 314;
конец;
функция ТипДок_УтверждениеОФ: целое;
начало
  результат := 323;
конец;
функция ТипДок_РаспределениеОФ: целое;
начало
  результат := 324;
конец;
функция ТипДок_ОбъемыФин: целое;
начало
  результат := 801;
конец;
</value>
    <param value="ОбщиеКонстантыСхемы.abl" type="3" name="Export">NEWBURDELNY\burdelny\17.09.2008 18:45:02</param>
    <param value="ОбщиеКонстантыСхемы.abl" type="3" name="version">36.042.157</param>
    <param value="ОбщиеКонстантыСхемы.abl" type="3" name="crc32">$68DD67F3</param>
  </node>
  <node path="%root%\Объекты\Система\События">
    <value type="7" name="НаИнициализацию(1)">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\Control.lib';

константы
  об_Состояния = 6000000;
  пр_Оповещение = 13;

функция Запрос: строка;
начало
  результат := 
      '[PumpData]'+
      '{'+     
        'Select gr.ObjRef '+
        'from'+
        '  GroupsRights gr'+
        '  inner join DBRights dr on (gr.RightRef = dr.ID)'+
        '  inner join UsersInGroups ug on (gr.GroupRef = ug.GroupRef)'+
        '  inner join DBUsers du on (ug.UserRef = du.ID)'+
        '  [$ClientID inner join RemoteClient rc on (du.RemoteClientRef = rc.ID)]'+        
        'where'+
        '  (gr.IsReject = 0)' +
        '  and (gr.ObjectKindRef = @obj_kind)'+
        '  and (dr.RightKindRef = @right_kind)'+
        '  and (du.UserName = Upper("@UserName"))'+
        '  [$ClientID and (rc.ClientID = @ClientID)]'+
        '  [$BudgetClient and (du.RemoteID = -1)]'+
      '}'+
      '{'+    
        'Select ur.ObjRef '+
        'from'+
        '  UsersRights ur'+
        '  inner join DBRights dr on (ur.RightRef = dr.ID)'+
        '  inner join DBUsers du on (ur.UserRef = du.ID)'+
        '  [$ClientID inner join RemoteClient rc on (du.RemoteClientRef = rc.ID)]'+
        'where' +
        '  (ur.IsReject = 0)' +
        '  and (ur.ObjectKindRef = @obj_kind)'+
        '  and (dr.RightKindRef = @right_kind)'+
        '  and (du.UserName = Upper("@UserName"))'+
        '  [$ClientID and (rc.ClientID = @ClientID)]'+
        '  [$BudgetClient and (du.RemoteID = -1)]'+
      '}';
конец;

переменные
  Данные: СтатическиеДанные;
  
начало
  Данные := СоздатьСтатическиеДанные;
  попытка  
    Данные.СоединитьБД;
    Данные.Запрос := Запрос;
    Данные.Параметр("obj_kind") := об_Состояния;
    Данные.Параметр("right_kind") := пр_Оповещение;
    Данные.Параметр("UserName") := ТекущийПользователь;
    Данные.Параметр("BudgetClient") := 1;
    Данные.Открыть;
    Values("СписокСостоянийДляОповещения") := GetLimitStr(Данные, "ObjRef");
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;
</value>
    <value type="7" name="НаТаймер(1)">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Variables.lib';
включить '\Библиотеки\Reports.lib';

константы
  УзелНастроек = "Бюджет\Конфигурация\Дополнительно\Состояния";
  Время = "ВремяПоследнегоОповещения";
  Периодичность = "ПериодичностьВызова";
  ВидСообщения = "СпособОтображения";
  ЗапросИстории = "[PumpData]{select sjh.EndStateRef, sjh.DocId, sjh.CreateDate, ds.Name StateName  
                                from StateJumpHistory sjh 
                                left join State_DocStates ds on (sjh.EndStateRef = ds.ID) 
                              where sjh.CreateDate &gt; ~Date}";
  ЗапросОбъектов = "[PumpData]{select Cls, Note, GUID from Interfaces}";
  Разделитель = #13#10"------------------------------------------------------------"#13#10;

функция ДобавитьСтроку(стр1, стр2: строка);
начало
  если стр1 = "" тогда
    стр1 := стр2
  иначе
    стр1 := стр1 + "," + стр2;
конец;

функция ПолучитьОбъекты: СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  Результат.СоединитьБД;
  Результат.Запрос := ЗапросОбъектов;
  Результат.Открыть;
конец;

функция ПолучитьИсториюПереходов: СтатическиеДанные;
переменные
  Дата: Дробное;
начало
  Результат := СоздатьСтатическиеДанные;
  Результат.СоединитьБД;
  Результат.Запрос := ЗапросИстории;
  Дата := Реестр.Узел(УзелНастроек).Значение(Время + "_" + ТекущийПользователь).КакДробное;
  Реестр.Узел(УзелНастроек).Значение(Время + "_" + ТекущийПользователь).КакДробное := ТекущаяДата;
  Результат.Параметр("Date") := Формат("'%s'", ФорматироватьВремя("DD.MM.YYYY HH:NN:SS", Дата));
  Результат.Открыть; 
конец;

функция СоздатьДанныеДляДокументов: СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  Результат.ДобавитьЦелоеПоле("КодИтф");
  Результат.ДобавитьСтроковоеПоле("GUID", 255);
  Результат.ДобавитьСтроковоеПоле("ИмяИтф", 50);
  Результат.ДобавитьСтроковоеПоле("ИДЗаписей", 4000);
  Результат.ДобавитьЦелоеПоле("Количество");
  Результат.ДобавитьЦелоеПоле("КодСостояния");
  Результат.ДобавитьСтроковоеПоле("ИмяСостояния", 255);
  Результат.Открыть;
конец;

функция ПолучитьСписокИнтерфейсов(Данные: СтатическиеДанные): Текст;
начало
  Результат := СоздатьТекст;
  Результат.Сортированый := да;
  Результат.Дубликаты := нет;
  Данные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    Результат.Добавить(Данные.ПолеПоИмени("КодИтф").КакСтрока);
    Данные.Следующая;
  конец;
конец;

функция ФормироватьКоллекцию(Данные: СтатическиеДанные): IVariables;
переменные
  КоличествоДокументов: целое;
начало
  КоличествоДокументов := 0;
  Результат := СоздатьКоллекцию;
  Результат.Значение("КодИнтерфейса") := Данные.ПолеПоИмени("КодИтф").КакЦелое;
  Результат.Значение("GUID") := Данные.ПолеПоИмени("GUID").КакСтрока; 
  Результат.Значение("КодДокумента") := "";
  
  Результат.Значение("Class") := "Изменения состояний документов";      
  Результат.Значение("Subject") := Формат("Интерфейс: (%s) %s", 
                                           ФорматироватьКлассификатор(Данные.ПолеПоИмени("КодИтф").КакЦелое, "99.99"),
                                           Данные.ПолеПоИмени("ИмяИтф").КакСтрока);
  Результат.Значение("Message") := Результат.Значение("Subject");                                               
  Данные.ВНачало;
  пока не Данные.ВКонце делать
  начало
    КоличествоДокументов := КоличествоДокументов + Данные.ПолеПоИмени("Количество").КакЦелое;
    ДобавитьСтроку(Результат.Значение("КодДокумента"), Данные.ПолеПоИмени("ИДЗаписей").КакСтрока);
    Результат.Значение("Message") := Результат.Значение("Message") + #13#10 + 
                                     Формат('В состоянии "%s" - %d', Данные.ПолеПоИмени("ИмяСостояния").КакСтрока,
                                                                     Данные.ПолеПоИмени("Количество").КакЦелое);
    Данные.Следующая;                         
  конец;
  Результат.Значение("Message") := Результат.Значение("Message") + #13#10 +
                                   Формат("Всего документов: %d",  КоличествоДокументов);                                        
конец;

функция ПоказатьСообщение(Данные: СтатическиеДанные; Вид: целое);
переменные
  СписокИнтерфейсов: Текст;
  сч: целое;
  ТекстСообщения: строка;
  Коллекция: IVariables;
начало
  Данные.Filtered := да;
  СписокИнтерфейсов := ПолучитьСписокИнтерфейсов(Данные);
  от сч := 0 до СписокИнтерфейсов.Количество - 1 делать
  начало
    Данные.Фильтр := Формат("КодИтф = %s", СписокИнтерфейсов.Стр(сч));
    если Данные.ЧислоЗаписей &gt; 0 тогда
    начало    
      Коллекция := ФормироватьКоллекцию(Данные);
      выбрать Вид из
        0, 1: ТекстСообщения := ТекстСообщения + Разделитель + Коллекция.Значение("Message");
           2: УведомленияПользователю.Добавить(Коллекция, Уведомление_Сообщение + УведомлениеФлаг_Напоминание);
      конец;
    конец;
  конец;

  ТекстСообщения := Коллекция.Значение("Class") + ТекстСообщения;
  выбрать Вид из
    0: Сообщение(ТекстСообщения, Сообщение_Информация, Кнопка_ОК);
    1: Тревога(ТекстСообщения);
  конец;
конец;

переменные
  ИсторияПереходов, ТекущиеСостояния, Документы, Объекты: СтатическиеДанные;
начало
  если не CheckParam("СписокСостоянийДляОповещения") тогда выход;
  если не CheckParam("ВыведеноОповещение") тогда Values("ВыведеноОповещение") := нет;
  если не CheckParam("ТаймерОповещения") тогда Values("ТаймерОповещения") := 0;

  если (Values("СписокСостоянийДляОповещения") = "") или (Values("ВыведеноОповещение") = да) тогда выход;
  если Values("ТаймерОповещения") &gt; 1 тогда
  начало
    Values("ТаймерОповещения") := Values("ТаймерОповещения") - 1;
    выход;
  конец;
  
  Values("ТаймерОповещения") := Реестр.Узел(УзелНастроек).Значение(Периодичность).КакЦелое;  
  ТекущиеСостояния := СоздатьСтатическиеДанные;  
  попытка
    Values("ВыведеноОповещение") := да;
    
    ИсторияПереходов := ПолучитьИсториюПереходов;
    
    ТекущиеСостояния.ПрисвоитьПоля(ИсторияПереходов);
    ТекущиеСостояния.Открыть;
        
    // последние состояния для документов
    ИсторияПереходов.IndexFieldNames := "DocId;CreateDate";
    ТекущиеСостояния.Группировать(ИсторияПереходов, "keys=DocId");    
    ТекущиеСостояния.Фильтр := Формат('EndStateRef in (%s)', Values("СписокСостоянийДляОповещения"));
    если ТекущиеСостояния.ЧислоЗаписей &gt; 0 тогда
    начало    
      Объекты := ПолучитьОбъекты;
      Документы := СоздатьДанныеДляДокументов;
      Документы.Группировать(ТекущиеСостояния, "keys=КодСостояния;КодИтф=EndStateRef/100;КодСостояния=EndStateRef;Количество=COUNT(DocId);
                            ИДЗаписей=LIST(DocID);ИмяСостояния=StateName");                                                 
      Документы.IndexFieldNames := "КодСостояния";
      Документы.Группировать(Объекты, "keys=КодИтф;КодИтф=Cls;ИмяИтф=Note;GUID=GUID;Insert=0");         
      ПоказатьСообщение(Документы, Реестр.Узел(УзелНастроек).Значение(ВидСообщения).КакЦелое);
    конец;
  обязательно
    Values("ВыведеноОповещение") := нет;
    УдалитьОбъект(ИсторияПереходов, ТекущиеСостояния, Документы, Объекты);
  конец;
конец;
</value>
    <value type="3" name="НаТаймер(1)+">Права=</value>
    <param value="НаИнициализацию(1)" type="3" name="version">36.042.157</param>
    <param value="НаИнициализацию(1)" type="3" name="crc32">$39C4C302</param>
    <param value="НаТаймер(1)" type="3" name="version">36.042.157</param>
    <param value="НаТаймер(1)" type="3" name="crc32">$99DCF48A</param>
    <param value="НаТаймер(1)+" type="3" name="version">36.042.157</param>
    <param value="НаТаймер(1)+" type="3" name="crc32">$D2850637</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сценарии\Казначейство">
    <value type="7" name="РаботаСРеестрами">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Documents.lib";
включить "\Библиотеки\Control.lib";
включить '\Библиотеки\StateManage.lib';
включить "\Макросы\Стандартные.abl";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить '\макросы\отчеты\поддержкаОтчетов.abl';
включить "Бюджет\Ресурсы\библиотеки\ABLTools.lib";
включить "\Макросы\Состояния\ОбщиеКонстантыСхемы.abl";

константы
//константы имен параметров, влияющих на определение доступных реестров
  прмИсключатьСпециальныеРеестры = 'ИсключатьСпециальныеРеестры';
  прмПринятиеРеестра = 'ПринятиеРеестра';
  прмИсключатьПереданныеВБанк = 'ИсключатьПереданныеВБанк'; // исключать реестры, содержащие документы, подготовленные или уже отправленные в банк
  прмСостояниеДокумента = 'СостояниеДокумента';
  прмНомерРеестра = 'НомерРеестра';
  прмНомерГруппыРеестров = 'НомерСессии';
  прмБюджет = 'Бюджет';
  прмДатаРеестра = 'ДатаРеестра';
  прмТипРеестра = 'ТипРеестра'; 
  прмКодКазначейскогоДокумента = 'КодКазначейскогоДокумента';
  прмОтдел = "Отдел"; 
       
//константы имен полей реестра
  ипКодРеестра  = "ID";
  ипДатаРеестра = "ReestrDate";
  ипТипРеестра  = "ReestrTypeEx";
  ипКодБюджета  = "BudgetRef";
  ипНомерРеестра= "ReestrNumber";  
  ипНомерИДатаРеестра="NumberAndDate";
  ипНомерГруппыРеестров="SessionNumber";
  ипПримечаниеРеестра="Note";
// константы имен параметров, влияющих на формирование номера реестра
  прмИмяГенератора = 'ИмяГенератораНомера';
  прмПрефиксНомера = 'ПрефиксНомера';
  прмПостфиксНомера = 'ПостфиксНомера';
  прмРазделительПодНомера = 'РазделительПодНомера';
  прмНачальныйПодномер = 'НачальныйПодномер';
// константы имен параметров, влияющих на вид диалога получения реестра  
  прмЗаголовокДиалогаВключенияВРеестр = 'ЗаголовокДиалога';
  прмВсегдаСоздаватьНовыйРеестр = 'ВсегдаСоздаватьНовыйРеестр';
  прмРазрешатьСоздаватьРеестр = 'РазрешатьСоздаватьРеестр';
  прмСоздаватьРеестрПоУмолчанию = "СоздаватьРеестрПоУмолчанию";
  прмИспользоватьПереданныйСписокРеестров = "ИспользоватьПереданныйСписокРеестров";
  
  
  прмНеПоказыватьДиалог = 'НеПоказыватьДиалог';
  
  СоздатьНовый  = 'СОЗДАТЬ НОВЫЙ';                  

//Получение сведений о реестрах.
// КоллекцияОгр - коллекция ограничений для получения реестров, может быть nil
// Все реестры - результат выборки
// Результат функции - список номеров реестров, разделенных символом #10 (для использования в пиклисте)
функция ПолучитьРеестры(КоллекцияОгр:Ivariables; Реестры: СтатическиеДанные): Строка;
переменные
  ОграниченияСтр,ОгрПоДопРеестрам, огрПоРееструУРМ, огрПоНачСостоянию, огрПоПередачеВБанк : Строка;
  поляВыборки,Группировка,выборСтатусаОбмена : строка;
  НужноУдалятьКоллекцию : целое;
  ПрисоединениеТаблицыКазначейства,ПрисоединениеТаблицыСостояний,ПрисоединениеТаблицыОбменаСБанком:строка;
начало
  Результат := "";
  если Реестры=nil тогда 
    вызватьОшибку("Функция ПолучитьРеестры: Параметр ВсеРеестры должен быть указан");
  НужноУдалятьКоллекцию := нет;  
  если КоллекцияОгр=nil тогда
  начало
    КоллекцияОгр := СоздатьКоллекцию;
    НужноУдалятьКоллекцию := да;
  конец;  
  попытка  
    если не КоллекцияОгр.ПараметрСуществует(прмПринятиеРеестра) тогда
      КоллекцияОгр.Значение(прмПринятиеРеестра) := 0; // по умолчанию выбираем только непринятые реестры
      
    если не КоллекцияОгр.ПараметрСуществует(прмИсключатьСпециальныеРеестры) тогда
      КоллекцияОгр.Значение(прмИсключатьСпециальныеРеестры) := 1; // по умолчанию исключаем буфферный реестр УРМ и реестр отклоненных
    ОграниченияСтр := Ограничение('ТипРеестра=ffr.ReestrTypeEX%d,ДатаРеестра=ffr.ReestrDate%d,НомерРеестра=ffr.ReestrNumber%s,Бюджет=ffr.BudgetRef%d,КодРеестра=ffr.ID%d,'+
      'ПринятиеРеестра=ffr.Accepted%d,НомерСессии=ffr.SessionNumber%d,СостояниеДокумента=ffr.DOCSTATEREF%d,Связка=ffr.RecordIndex%d,КодКазначейскогоДокумента=ffc.ID,'+
      'Отдел=ffr.DEPARTMENTCLS%d', КоллекцияОгр);
    
    ОгрПоДопРеестрам := Ограничение('ДополнительныеРеестры=(ffr.ID%d)', КоллекцияОгр);
    Если ОгрПоДопРеестрам &lt;&gt; "" тогда
      ОгрПоДопРеестрам := "(1=1) " + ОгрПоДопРеестрам + " or"; 
    огрПоРееструУРМ := '';
    если КоллекцияОгр.Значение(прмИсключатьСпециальныеРеестры)=1 тогда
    начало // исключаем реестр УРМ и реестр отклоненных документов
      огрПоРееструУРМ := ' and not(ffr.ID in('+целоеВСтроку(ЦелаяКонстанта(56,0))+','+целоеВСтроку(ЦелаяКонстанта(56,10))+'))';
    конец;
    огрПоНачСостоянию := '';
    если не КоллекцияОгр.ПараметрСуществует(прмСостояниеДокумента) и ТипДокИдетПоСхеме(307) тогда
    начало 
      огрПоНачСостоянию := ' and(sds.StateTypeRef in(0,4))' // с типами состояний начальное состояние, либо пользовательское начальное
    конец;
    ПрисоединениеТаблицыСостояний := '';
    ПрисоединениеТаблицыКазначейства := '';
    ПрисоединениеТаблицыОбменаСБанком  := '';
    огрПоПередачеВБанк := '';
    Группировка := '';
    выборСтатусаОбмена := ''; 
    если не (огрПоНачСостоянию='') тогда
      ПрисоединениеТаблицыСостояний := " left join State_DocStates sds on(sds.id=ffr.DocStateRef)"+#13#10;
    если КоллекцияОгр.ПараметрСуществует(прмКодКазначейскогоДокумента) тогда
      ПрисоединениеТаблицыКазначейства := " left join FacialFinCaption ffc on(ffr.id=ffc.Reestr_ref)"+#13#10;
    если (КоллекцияОгр.ПараметрСуществует(прмИсключатьПереданныеВБанк))и(КоллекцияОгр.Значение(прмПринятиеРеестра)&lt;&gt;"0") тогда
    начало  
      если ПрисоединениеТаблицыКазначейства='' тогда
        ПрисоединениеТаблицыКазначейства := " left join FacialFinCaption ffc on(ffr.id=ffc.Reestr_ref)"+#13#10;
      ПрисоединениеТаблицыОбменаСБанком := " left join PayDocExchange pde on (pde.PayDocRef=ffc.id)"+#13#10;
      если КоллекцияОгр.Значение(прмИсключатьПереданныеВБанк)="" тогда
        выборСтатусаОбмена  := ', max(pde.status) status'
      иначе
      если КоллекцияОгр.Значение(прмИсключатьПереданныеВБанк)=1 тогда
        огрПоПередачеВБанк := ' having (max(pde.id) is null)'+#13#10;
    конец;
      
    поляВыборки := "ffr.ID, ffr.ReestrNumber, ffr.BudgetRef, ffr.ReestrDate, ffr.RecordIndex, ffr.ReestrTypeEx, ffr.Accepted, ffr.DocStateRef, ffr.note, "+
      " ffr.SessionNumber ";  
    если ПрисоединениеТаблицыКазначейства&lt;&gt;'' тогда
     Группировка := 'Group by '+ поляВыборки;
    // получаем все непринятые реестры и текущий 
    Реестры.Запрос := "[PumpData]{"
                       + " SELECT "+поляВыборки +выборСтатусаОбмена+", cast('' as VarChar(100)) NumberAndDate "
                       + " FROM FacialFinReestr ffr "
                       + ПрисоединениеТаблицыСостояний
                       + ПрисоединениеТаблицыКазначейства
                       + ПрисоединениеТаблицыОбменаСБанком
                       + " WHERE " + ОгрПоДопРеестрам 
                       + " ((1=1)" + ОграниченияСтр + огрПоРееструУРМ + огрПоНачСостоянию + ") "
                       + Группировка
                       + огрПоПередачеВБанк
                       + " ORDER BY ffr.ReestrDate, ffr.ReestrNumber DESC }";
    получитьДанные(Реестры, КоллекцияОгр);
    Реестры.ВНачало;
    пока не Реестры.ВКонце делать
    начало
      Реестры.ПолеПоИмени(ипНомерИДатаРеестра).AsString := Реестры.ПолеПоИмени('ReestrNumber').AsString+' от '+ 
        DateExToStr(Реестры.ПолеПоИмени('ReestrDate').AsInteger);
      если УбратьПробелы(Реестры.ПолеПоИмени(ипПримечаниеРеестра).AsString)&lt;&gt;'' тогда 
        Реестры.ПолеПоИмени(ипНомерИДатаРеестра).AsString := Реестры.ПолеПоИмени(ипНомерИДатаРеестра).AsString+' - '+
          Реестры.ПолеПоИмени(ипПримечаниеРеестра).AsString;
      Реестры.Next;
    конец;
    Результат := ФормироватьСписокЗначений(Реестры, ипНомерИДатаРеестра);
  обязательно
    Если НужноУдалятьКоллекцию тогда 
      УдалитьОбъект(КоллекцияОгр);
  конец;  
конец;

// сохранение измененных атрибутов
функция СохранитьИзмененияРеестров(реестры: статическиеДанные);
начало
  Реестры.Запрос := "[ModifyData]{update FacialFinReestr set Accepted = @Accepted,SessionNumber = @SessionNumber where id = @ID}";
  Реестры.СохранитьИзменения;
  Реестры.CommitUpdates;
конец;

// Формирование уникального постфикса для номера реестра. Также указываются значения, входящие в уникальный ключ:КодБюджета,ТипРеестра, ДатаРеестра.
// НачальныйПодномер - начальное значение части номера, обеспечивающего уникальность. Подномер форматируется с маской 00, если НачальныйПодномер=-1, то сначала будем пробовать с пустым подномером
// РазделительПодномера - символ, вставляемый между основным номером и подномером
// ДопустимыеРеестры - если сформированный номер есть среди этих реестров, то считаем, что уникальной нумерации не требуется
функция ФормированиеУникальногоПодНомера(НомерРеестра: строка;КодБюджета,ТипРеестра, ДатаРеестра:целое;НачальныйПодномер:целое;РазделительПодномера: строка;ДопустимыеРеестры: СтатическиеДанные):строка;
переменные
  КоллекцияОгр:IVariables;
  Реестры:СтатическиеДанные;
  сч, НомерНайден, ДелатьПодстановку:целое;
  ПодНомер, ПодномерСРазделителем, НовыйНомер: строка;
начало
  Результат := '';
  КоллекцияОгр := создатьКоллекцию;
  если НачальныйПодномер=-1 тогда
  начало
    ПодНомер := '';
    ПодномерСРазделителем := '';
    сч := 0;
  конец   
  иначе
  начало   
    ПодНомер := ФорматироватьКлассификатор(НачальныйПодномер, "00");
    ПодномерСРазделителем := РазделительПодномера+ПодНомер; 
    сч := НачальныйПодномер;
  конец;
  ДелатьПодстановку := позиция("&lt;УНИКАЛЬНОСТЬ&gt;",Прописные(НомерРеестра))&gt;0;
  если не ДелатьПодстановку тогда
    НовыйНомер := НомерРеестра+ПодномерСРазделителем
  иначе 
    НовыйНомер := ЗаменитьСтроку(НомерРеестра,"&lt;УНИКАЛЬНОСТЬ&gt;",ПодномерСРазделителем,ИгнорироватьРегистр);
  НомерНайден := нет;  
  если ДопустимыеРеестры&lt;&gt;nil тогда
    НомерНайден := ДопустимыеРеестры.Локализовать(ипНомерРеестра, НовыйНомер, 0);
  если не НомерНайден тогда
  начало
    Реестры := СоздатьСтатическиеДанные;  
    попытка
      КоллекцияОгр.Значение(прмНомерРеестра) := '';
      КоллекцияОгр.Значение(прмДатаРеестра) := ДатаРеестра;
      КоллекцияОгр.Значение(прмТипРеестра) := ТипРеестра;
      если кодБюджета = 0 тогда 
        кодБюджета := ЦелаяКонстанта(-1, 3);
      КоллекцияОгр.Значение(прмБюджет) := КодБюджета;
      КоллекцияОгр.Значение(прмПринятиеРеестра) := '';
      КоллекцияОгр.Значение(прмИсключатьСпециальныеРеестры) := '';
      КоллекцияОгр.Значение(прмСостояниеДокумента) := '';
      ПолучитьРеестры(КоллекцияОгр,Реестры);
      пока не НомерНайден делать
      начало
        если ДопустимыеРеестры&lt;&gt;nil тогда
          НомерНайден := ДопустимыеРеестры.Локализовать(ипНомерРеестра, НовыйНомер, 0);
        если не НомерНайден тогда 
          НомерНайден := не Реестры.Локализовать(ипНомерРеестра, НовыйНомер, 0);
        если не НомерНайден тогда
        начало
          сч := сч+1;
          ПодномерСРазделителем := РазделительПодномера+ФорматироватьКлассификатор(сч, "00");
          если не ДелатьПодстановку тогда
            НовыйНомер := НомерРеестра+ПодномерСРазделителем
          иначе 
            НовыйНомер := ЗаменитьСтроку(НомерРеестра,"&lt;УНИКАЛЬНОСТЬ&gt;",ПодномерСРазделителем,ИгнорироватьРегистр);
        конец
      конец;
    обязательно
      УдалитьОбъект(КоллекцияОгр);
      УдалитьОбъект(Реестры);
    конец;
  конец;
  Результат := ПодномерСРазделителем;  
конец;

// Формирование заведомо уникального номера реестра для указанной даты, типа реестра и кода бюджета.
//IN: КодБюджета,ТипРеестра, ДатаРеестра,
//КоллекцияПараметров(может быть nil) для передачи дополнительных параметров,влияющих на способы формирования номера(префикс, постфикс номера, имя генератора)
// ДопустимыеРеестры - список уже существующих реестров, которые разрешено использовать в режиме добавления в существующие реестры.
// если сформированный номер есть среди этих реестров, то считаем, что уникальной нумерации не требуется
//OUT: ЗначениеГенератора - значение,возвращенное генератором с указанным именем, либо -1, если генератор не использовался
// В качестве результата возвращается номер реестра
функция ФормированиеНомераРеестра(КодБюджета,ТипРеестра, ДатаРеестра: целое;КоллекцияПараметров:IVariables;ДопустимыеРеестры:статическиеДанные;ЗначениеГенератора:целое):строка;
переменные
  ИмяГенератора,ПрефиксНомера,ПостфиксНомера,НовыйНомерРеестра, РазделительПодномера:Строка;
  НачальныйПодНомер,естьДопустимыеРеестры,ДеньРеестра,МесяцРеестра,ГодРеестра :целое;
начало
  ЗначениеГенератора := -1;
  Результат := '';
  имяГенератора := '&lt;ДЕНЬ&gt;&lt;МЕСЯЦ&gt;';
  ПрефиксНомера := '';
  ПостфиксНомера := '';
  НовыйНомерРеестра := "";
  естьДопустимыеРеестры := нет; 
  если ДопустимыеРеестры&lt;&gt;nil тогда
    естьДопустимыеРеестры := ДопустимыеРеестры.ЧислоЗаписей&gt;0;
  если КоллекцияПараметров&lt;&gt;nil тогда
  начало
    Если КоллекцияПараметров.ПараметрСуществует(прмИмяГенератора) тогда
       ИмяГенератора := КоллекцияПараметров.Значение(прмИмяГенератора); 
    ПрефиксНомера := КоллекцияПараметров.Значение(прмПрефиксНомера);
    ПостфиксНомера := КоллекцияПараметров.Значение(прмПостфиксНомера);
    если КоллекцияПараметров.Значение(прмНачальныйПодНомер)='' тогда
      НачальныйПодНомер := -1
    иначе  
      НачальныйПодНомер := строкавцелое(КоллекцияПараметров.Значение(прмНачальныйПодНомер));
  конец;
  Если (Позиция('&lt;МЕСЯЦ&gt;',Прописные(ИмяГенератора))&gt;0) 
    или(Позиция('&lt;ДЕНЬ&gt;',Прописные(ИмяГенератора))&gt;0)
    или(Позиция('&lt;МЕСЯЦРЕЕСТРА&gt;',Прописные(ИмяГенератора))&gt;0)
    или(Позиция('&lt;ДЕНЬРЕЕСТРА&gt;',Прописные(ИмяГенератора))&gt;0) тогда 
    начало
      НовыйНомерРеестра := ИмяГенератора;
      ПолучитьДату(DateExToDate(ДатаРеестра), ГодРеестра, МесяцРеестра, ДеньРеестра);
      Если (Позиция('&lt;МЕСЯЦ&gt;',Прописные(НовыйНомерРеестра))&gt;0) тогда //Заменяем на текущий месяц
        НовыйНомерРеестра := ЗаменитьСтроку(НовыйНомерРеестра, '&lt;МЕСЯЦ&gt;',ФорматироватьКлассификатор(ТекущийМесяц, "00"),ИгнорироватьРегистр);
      Если (Позиция('&lt;ДЕНЬ&gt;',Прописные(НовыйНомерРеестра))&gt;0) тогда //Заменяем на текущее число(день)
        НовыйНомерРеестра := ЗаменитьСтроку(НовыйНомерРеестра, '&lt;ДЕНЬ&gt;',ФорматироватьКлассификатор(ТекущийДень, "00"),ИгнорироватьРегистр);
      Если (Позиция('&lt;МЕСЯЦРЕЕСТРА&gt;',Прописные(НовыйНомерРеестра))&gt;0) тогда //Заменяем на месяц даты реестра
        НовыйНомерРеестра := ЗаменитьСтроку(НовыйНомерРеестра, '&lt;МЕСЯЦРЕЕСТРА&gt;',ФорматироватьКлассификатор(МесяцРеестра, "00"),ИгнорироватьРегистр);
      Если (Позиция('&lt;ДЕНЬРЕЕСТРА&gt;',Прописные(НовыйНомерРеестра))&gt;0) тогда //Заменяем на число(день) даты реестра 
        НовыйНомерРеестра := ЗаменитьСтроку(НовыйНомерРеестра, '&lt;ДЕНЬРЕЕСТРА&gt;',ФорматироватьКлассификатор(ДеньРеестра, "00"),ИгнорироватьРегистр);
    конец  
  иначе если ИмяГенератора &lt;&gt; "" тогда
  начало
    ЗначениеГенератора := Нумератор.Значение(ИмяГенератора);
    НовыйНомерРеестра := ЦелоеВСтроку(ЗначениеГенератора);
  конец;  
  НовыйНомерРеестра :=  ПрефиксНомера + НовыйНомерРеестра + ПостфиксНомера;
  если позиция("&lt;УНИКАЛЬНОСТЬ&gt;",Прописные(НовыйНомерРеестра))=0 тогда
  начало
//    если (КоллекцияПараметров.Значение(прмВсегдаСоздаватьНовыйРеестр)=да)или не естьДопустимыеРеестры тогда
    если КоллекцияПараметров.ПараметрСуществует(прмРазделительПодНомера) тогда
      РазделительПодномера := КоллекцияПараметров.Значение(прмРазделительПодНомера)
    иначе
      РазделительПодномера := '_'; // разделитель подномера по умолчанию
    НовыйНомерРеестра := НовыйНомерРеестра + ФормированиеУникальногоПодНомера(НовыйНомерРеестра,КодБюджета,ТипРеестра, ДатаРеестра,НачальныйПодНомер,РазделительПодномера,ДопустимыеРеестры);
  конец  
  иначе  
    НовыйНомерРеестра := ЗаменитьСтроку(НовыйНомерРеестра, "&lt;УНИКАЛЬНОСТЬ&gt;", 
      ФормированиеУникальногоПодНомера(НовыйНомерРеестра,КодБюджета,ТипРеестра, ДатаРеестра,НачальныйПодНомер,КоллекцияПараметров.Значение(прмРазделительПодНомера),ДопустимыеРеестры),
      ИгнорироватьРегистр);
  Результат := НовыйНомерРеестра;    
конец;

//проверка существования реестра.
// IN: НомерРеестра,ДатаРеестра,ТипРеестра,КодБюджета - ключ реестра                                                                        
// OUT: результат функции - 1-если реестр с таким ключом существует, 0 иначе                 
функция РеестрСуществует(НомерРеестра:строка;ДатаРеестра,ТипРеестра,КодБюджета:целое):целое;
переменные
  КоллекцияОгр:IVariables;
  Реестры:СтатическиеДанные;
начало
  КоллекцияОгр := создатьКоллекцию;
  Реестры := СоздатьСтатическиеДанные;
  попытка
    КоллекцияОгр.Значение(прмНомерРеестра) := НомерРеестра;
    КоллекцияОгр.Значение(прмДатаРеестра) := ДатаРеестра;
    КоллекцияОгр.Значение(прмТипРеестра) := ТипРеестра;
    если кодБюджета = 0 тогда 
      кодБюджета := ЦелаяКонстанта(-1, 3);
    КоллекцияОгр.Значение(прмБюджет) := КодБюджета;
    КоллекцияОгр.Значение(прмПринятиеРеестра) := '';
    КоллекцияОгр.Значение(прмИсключатьСпециальныеРеестры) := '';    
    КоллекцияОгр.Значение(прмСостояниеДокумента) := '';
    Результат := ПолучитьРеестры(КоллекцияОгр,Реестры)&lt;&gt;'';
  обязательно
    УдалитьОбъект(КоллекцияОгр);
    УдалитьОбъект(Реестры);
  конец;
конец;

//Создание реестра. 
//IN: номерРеестра либо пусто, КодБюджета либо 0, типРеестра, ДатаРеестра.
//OUT: Номер реестра, КодБюджета, ИдРеестра.
функция СозданиеРеестра(НомерРеестра: Строка; КодБюджета,ТипРеестра, ДатаРеестра, ИДРеестра: Целое; ПримечаниеРеестра: строка=''; Отдел: целое = 0);
переменные
  Парам: Текст;
  ЗапросВставки,НачальноеСостояниеСтр: Строка;
  НачальноеСостояние: Целое;
  ИмяГенератора:строка;
начало
  Если НомерРеестра = "" тогда // генерируем номер реестра сами
  начало
    // в зависимости от типа реестра выбираем тот или иной генератор номеров реестра
    выбрать ТипРеестра цел 1000 из
      1: ИмяГенератора := "G_INREESTR_NUMBER"; //приходный
      2: ИмяГенератора := "G_OUTREESTR_NUMBER";
      3: ИмяГенератора := "G_INSIDEREESTR_NUMBER";
    иначе
      ИмяГенератора := "G_INREESTR_NUMBER";
    конец;     
    НомерРеестра := ЦелоеВСтроку(ГенерироватьДиап(ИмяГенератора));     
  конец;
  если ТипРеестра=0 тогда
    ВызватьОшибку("Ошибка создания реестра: Не указан тип реестра");
  если ДатаРеестра=0 тогда
    ВызватьОшибку("Ошибка создания реестра: не указана дата реестра");
    
  // заполнение кода бюджета
  если кодБюджета = 0 тогда
    кодБюджета := ЦелаяКонстанта(-1, 3);
  // если в реестрах казначейства используется система состояний, то заполняем состояние в начальное 
  // согласно правам 
  НачальноеСостояниеСтр := "null";
  если ТипДокИдетПоСхеме(307) тогда
  начало
    НачальноеСостояние := ПолучитьНачальноеСостояние(307);
    если НачальноеСостояние = -1 тогда
      ВызватьОшибку("Ошибка создания реестра: нет прав на начальное состояние создаваемого документа.");
    НачальноеСостояниеСтр := ЦелоеВСтроку(НачальноеСостояние);  
  конец;
  если позиция("&lt;УНИКАЛЬНОСТЬ&gt;",Прописные(НомерРеестра))&gt;0 тогда
    НомерРеестра := ЗаменитьСтроку(НомерРеестра, "&lt;УНИКАЛЬНОСТЬ&gt;", 
      ФормированиеУникальногоПодНомера(НомерРеестра,КодБюджета,ТипРеестра, ДатаРеестра,-1,'_',nil),ИгнорироватьРегистр)
  иначе // уникальный номер не сформирован и уникальность текущего номера не гарантирована   
  если РеестрСуществует(НомерРеестра,ДатаРеестра,ТипРеестра,КодБюджета) тогда
    ВызватьОшибку("Ошибка создания реестра: реестр с указанным номером с таким типом и датой уже существует.");
  ИдРеестра := ГенерироватьДиап("g_shared");  
  // текст запроса    
  ЗапросВставки := "[PumpData]"
                 + "{" 
                 + "SELECT ReestrNumber, Note FROM FacialFinReestr WHERE 1&lt;&gt;1" 
                 + "}"
                 + "[InsertData]{"
                 + "INSERT into FacialFinReestr "
                 + "(ID, ReestrTypeEx, ReestrNumber, ReestrDate, BudgetRef, DocStateRef, Note, DEPARTMENTCLS)"
                 + "VALUES(" + ЦелоеВСтроку(ИДРеестра) + ","
                 + ЦелоеВСтроку(ТипРеестра) + ","
                 + "~ReestrNumber," 
                 + ЦелоеВСтроку(ДатаРеестра) + ","
                 + ЦелоеВСтроку(КодБюджета) + ","
                 + НачальноеСостояниеСтр + "," 
                 + "~Note," 
                 + ЦелоеВСтроку(Отдел) + ")}";
                   
  Парам := СоздатьТекст;                   
  попытка                 
    Парам.ЗначениеПараметра("ReestrNumber") := НомерРеестра; 
    Парам.ЗначениеПараметра("Note") := ПримечаниеРеестра;            
    ВыполнитьЗапросСПараметрами(ЗапросВставки, Парам);
  обязательно
    УдалитьОбъект(Парам);
  конец;
конец;

// Получить разрешенные типы реестра для документа с указанным прогиндексом
// IN:  Индекс интерфейса, ТипРеестра(необязательный, можно передавать пустую строку)
// Результат функции - строка с доступными типами реестров, перечисленными через запятую
функция ПолучитьТипыРеестров(ИндексИнтерфейса: Строка;ТипРеестра:строка): Строка;
переменные
  ТипыРеестров : СтатическиеДанные;
  ОгрТипыРеестров : строка;
  КоллекцияОгр :IVariables;
начало          
  результат := '';
  КоллекцияОгр := СоздатьКоллекцию;
  попытка
    КоллекцияОгр.Значение(прмТипРеестра) := ТипРеестра;
    ОгрТипыРеестров := ограничение('ТипРеестра=id%d', КоллекцияОгр);
  обязательно
    УдалитьОбъект(КоллекцияОгр);
  конец;
  ТипыРеестров := ДанныеКлассификатора.ПолучитьЗаписиПоФильтру(тк_ТипРеестра,"(TREASUARYITFLIST like '%" + ИндексИнтерфейса + "%')"+ОгрТипыРеестров);
  Если (ТипыРеестров.ЧислоЗаписей = 0) тогда
  начало
      если ТипРеестра='' тогда
      выбрать ИндексИнтерфейса из
        '65','75' :результат := '1000';
        '63','64','66','67','68','69','70','76': результат := '2000'
        иначе ВызватьОшибку(формат("Для интерфейса с индексом %s в справочнике типов реестров не найдено ни одного разрешенного типа реестра",ИндексИнтерфейса));
      конец //выбрать
      иначе ВызватьОшибку(формат("Тип реестра %s не разрешен для использования на интерфейсе с индексом %s. Обратитесь к администратору.",ТипРеестра,ИндексИнтерфейса));
  конец        
  иначе  
    Результат := GetLimitStr(ТипыРеестров,'id');
конец;

// запрос у пользователя даты реестра
// возвращает дату реестра
функция ЗапросДатыРеестра(КоллекцияОгр:Ivariables):целое;
переменные
  Длг   : ДиалогПараметров;
  Реестры: СтатическиеДанные;
  ВсеДаты, ДатаДиалога : строка;
  МаксДата,МинДата,ПоследняяДата, ТекДата : целое;
начало
  Длг := Диалог;
  Длг.Очистить();
  Длг.Заголовок := "Введите дату реестра";
  если КоллекцияОгр&lt;&gt;nil тогда // оставляем только даты, на которые существуют нужные нам реестры
  начало
    Реестры := СоздатьСтатическиеДанные;
    ПолучитьРеестры(КоллекцияОгр,Реестры);
    ВсеДаты := ''; ДатаДиалога := '';
    ПоследняяДата := 0; ТекДата := 0; 
    МинДата := ОбычнаяДатаВРасшир(ТекущаяДата);
    МаксДата := ОбычнаяДатаВРасшир(ТекущаяДата+10);
    Реестры.ВНачало;
    пока не Реестры.ВКонце делать
    начало
      ТекДата := Реестры.ПолеПоИмени(ипДатаРеестра).КакЦелое;
      если ПоследняяДата&lt;&gt;текДата тогда
      начало 
        ПоследняяДата := текДата;
        ВсеДаты := ВсеДаты+DateExToStr(текДата)+#10;
        если ДатаДиалога='' тогда
          если (текДата&gt;=МинДата)и(текДата&lt;=МаксДата) тогда
            ДатаДиалога := DateExToStr(текДата);
      конец;
      Реестры.Next;
    конец;
    Длг.Добавить("Дата реестра", "Дата", 0, Список, "", ВсеДаты);
    Длг.Параметр('Дата').Значение := ДатаДиалога;    
  конец
  иначе
  начало
    Длг.Добавить("Дата реестра", "Дата", 0, Календарь, "", "");
    Длг.Параметр('Дата').Значение := ДатаВСтроку(ТекущаяДата);
  конец;  
  если Длг.Выполнить = Результат_ОК тогда 
  начало
    если УбратьПробелы(Строка(Длг.Параметр("Дата").Значение)) = ""
      тогда ВызватьОшибку("Не задана дата реестра");
    результат := ОбычнаяДатаВРасшир(СтрокаВДату(Длг.Параметр("Дата").Значение));
  конец
  иначе ВызватьОшибку("Ввод даты реестра прерван");  
конец;

//Выбор в диалоге одного из существующих реестров либо создание нового
//IN: СоздаватьРеестр, ИндексДанныхДокумента, КоллекцияПараметров(ограничения для выбора реестров+дополнительные параметры для формирования номера)
//OUT: Реестры
// В качестве результата возвращает Id реестра либо 0.
функция ПолучитьРеестрВДиалоге(СоздаватьРеестр: целое; ИндексДанныхДокумента:целое; 
  КоллекцияПараметров:Ivariables;Реестры: СтатическиеДанные):целое;
переменные
  Длг   : ДиалогПараметров;
  ВсеРеестры,
  НомерРеестра, сТип, сСхема, сПринятость: СТРОКА;
  СсылкаНаРеестр,
  ТипСоздаваемогоРеестра,
  СсылкаНаБюджет, сч, Отдел: ЦЕЛОЕ;
  НовыйНомер, НачальноеСостояние: целое; 
  ДатаСозданияНовогоРеестра:целое;
  СписокЗнач:Текст;
  ИмяГенератора, ПрефиксНомера, ПостфиксНомера: строка;
  МаксДата,МинДата,ТекДата : целое;
  НомерДиалога: строка;
  ПримечаниеРеестра : строка;                             
начало
  Результат := 0;
  СписокЗнач := СоздатьТекст;
  Если ИндексДанныхДокумента&lt;&gt;0 тогда
    КоллекцияПараметров.Значение(прмТипРеестра) := ПолучитьТипыРеестров(ЦелоеВСтроку(ИндексДанныхДокумента), КоллекцияПараметров.Значение(прмТипРеестра));
  если (КоллекцияПараметров.Значение(прмБюджет)='')или(КоллекцияПараметров.Значение(прмБюджет)=0)тогда 
    КоллекцияПараметров.Значение(прмБюджет) := ЦелоеВСтроку(ЦелаяКонстанта(-1, 3));
  ВсеРеестры :='';
  НомерДиалога := '';
  ПримечаниеРеестра := '';
  если КоллекцияПараметров.Значение(прмВсегдаСоздаватьНовыйРеестр)&lt;&gt;да тогда
  начало
    Если КоллекцияПараметров.Значение(прмИспользоватьПереданныйСписокРеестров)&lt;&gt;да тогда 
      ВсеРеестры := ПолучитьРеестры(КоллекцияПараметров, Реестры)
    иначе
      ВсеРеестры := ФормироватьСписокЗначений(Реестры, ипНомерИДатаРеестра);
  конец  
  иначе
    СоздаватьРеестр := да;
  СписокЗнач.Значение := ВсеРеестры;
  если СписокЗнач.Количество &gt; 0 тогда  
    НомерДиалога := СписокЗнач.стр(0);
  если СоздаватьРеестр и ТипДокИдетПоСхеме(307) тогда
  начало
    НачальноеСостояние := ПолучитьНачальноеСостояние(307);
    если НачальноеСостояние = -1 тогда // нет прав на создание реестра по схеме-запрещаем создание
      СоздаватьРеестр := нет;
  конец;
  если ((КоллекцияПараметров.Значение(прмДатаРеестра)='')или(КоллекцияПараметров.Значение(прмДатаРеестра)=0))и (Реестры.ЧислоЗаписей&gt;0) тогда
  начало
    МинДата := ОбычнаяДатаВРасшир(ТекущаяДата);
    МаксДата := ОбычнаяДатаВРасшир(ТекущаяДата+10);
    НомерДиалога := '';
    Реестры.ВНачало;
    пока не Реестры.ВКонце делать
    начало
      ТекДата := Реестры.ПолеПоИмени(ипДатаРеестра).КакЦелое;
      если НомерДиалога='' тогда
          если (текДата&gt;=МинДата)и(текДата&lt;=МаксДата) тогда
            НомерДиалога := Реестры.ПолеПоИмени(ипНомерИДатаРеестра).КакСтрока;
      Реестры.Next;
    конец;
  конец; 
  Длг := Диалог;
  Длг.Очистить;
  если КоллекцияПараметров.Значение(прмЗаголовокДиалогаВключенияВРеестр)&lt;&gt;"" тогда 
    Длг.Заголовок := КоллекцияПараметров.Значение(прмЗаголовокДиалогаВключенияВРеестр)
  иначе   
    Длг.Заголовок := 'Выбор реестра';
  если СоздаватьРеестр тогда 
  начало
    если (ВсеРеестры='')или(ВсеРеестры[длина(ВсеРеестры)]=#10) тогда
      ВсеРеестры := ВсеРеестры+СоздатьНовый
    иначе 
      ВсеРеестры := ВсеРеестры+#10+СоздатьНовый;
    если (НомерДиалога='') или КоллекцияПараметров.Значение(прмСоздаватьРеестрПоУмолчанию) = 1 тогда
      НомерДиалога := СоздатьНовый;
  конец;    
  Длг.Добавить("Номер реестра", "Номер", 0, Список+ТолькоЧтение, "", ВсеРеестры);
  Длг.Параметр("Номер").Значение := НомерДиалога;
  НовыйНомер := -1;  
  попытка
    если СоздаватьРеестр тогда 
    начало
      Длг.Добавить("Создать новый", "Создание", 0, ТолькоЧтение, "", "");
      Длг.Добавить("Номер реестра", "НомерНовогоРеестра", 1, 0, "", "");
      //Пример имени генератора: "A,K=307,N=REESTRNUMPP";
      ИмяГенератора := КоллекцияПараметров.Значение(прмИмяГенератора);
      ПрефиксНомера := КоллекцияПараметров.Значение(прмПрефиксНомера);
      ПостфиксНомера := КоллекцияПараметров.Значение(прмПостфиксНомера);
      Длг.Добавить("Дата реестра", "ДатаНовогоРеестра",1, Календарь, "", "");
      если (КоллекцияПараметров.Значение(прмДатаРеестра)='')или(КоллекцияПараметров.Значение(прмДатаРеестра)=0) тогда
        Длг.Параметр("ДатаНовогоРеестра").Значение := ДатаВСтроку(ТекущаяДата) 
      иначе
        Длг.Параметр("ДатаНовогоРеестра").Значение := DateExToStr(КоллекцияПараметров.Значение(прмДатаРеестра)); 
      СписокЗнач.РазделенноеЗначение := КоллекцияПараметров.Значение(прмТипРеестра);
      От сч:=0 до СписокЗнач.Количество-1 делать
        СписокЗнач.стр(сч) := ФорматироватьКлассификатор(СтрокаВЦелое(СписокЗнач.стр(сч)), "9.99.9");
      Длг.Добавить("Тип реестра", "ТипНовогоРеестра",1,список+ТолькоЧтение,"",СписокЗнач.Значение);
      если СписокЗнач.Количество&gt;0 тогда  
        Длг.Параметр("ТипНовогоРеестра").Значение := СписокЗнач.стр(0);
      Длг.Добавить("Примечание к реестру", "ПримечаниеРеестра",1,0,"","");  
      Длг.Добавить("Бюджет", "Бюджет",1,ТолькоЧтение,"","");
      Длг.Параметр("Бюджет").Значение := Разыменовать('Бюджет.Имя',КоллекцияПараметров.Значение(прмБюджет));  
      Если УбратьПробелы(ПрефиксНомера + ИмяГенератора + ПостфиксНомера) &lt;&gt; "" тогда
         Длг.Параметр("НомерНовогоРеестра").Значение := ФормированиеНомераРеестра(
           КоллекцияПараметров.Значение(прмБюджет),
           КлассификаторВЧисло(Длг.Параметр("ТипНовогоРеестра").Значение,'9.99.9'),
           ОбычнаяДатаВРасшир(СтрокаВДату(Длг.Параметр("ДатаНовогоРеестра").Значение)),
           КоллекцияПараметров,nil,НовыйНомер);
    конец иначе если ВсеРеестры = "" тогда
    начало
      // нету подходящих реестров и нельзя создать новый, значит выведем ошибку
      Если КоллекцияПараметров.Значение(прмПринятиеРеестра) = 1 тогда
        сПринятость := " принятого "
      иначе если КоллекцияПараметров.Значение(прмПринятиеРеестра) = 0 тогда
        сПринятость := " непринятого ";
      Если КоллекцияПараметров.ПараметрСуществует(прмТипРеестра) тогда
      начало
        если длина(КоллекцияПараметров.Значение(прмТипРеестра))&gt;4 тогда
          сТип := " с типом " + КоллекцияПараметров.Значение(прмТипРеестра)
        иначе  
          сТип := " с типом " + ФорматироватьКлассификатор(КоллекцияПараметров.Значение(прмТипРеестра), "9.99.9");
      конец;  
      Если НачальноеСостояние = -1 тогда
        сСхема := " и нет прав на создание нового реестра по схеме";         
      ВызватьОшибку("Не существует" + сПринятость + "реестра" + сТип + сСхема);
    конец; 
    если Длг.Выполнить = результат_ОК тогда 
    начало
      НомерРеестра := Длг.Параметр("Номер").Значение;
      Если (НомерРеестра = СоздатьНовый)и СоздаватьРеестр тогда
      начало
        ДатаСозданияНовогоРеестра := ОбычнаяДатаВРасшир(СтрокаВДату(Длг.Параметр("ДатаНовогоРеестра").Значение));
        ТипСоздаваемогоРеестра := КлассификаторВЧисло(Длг.Параметр("ТипНовогоРеестра").Значение,'9.99.9');
        НомерРеестра := Длг.Параметр("НомерНовогоРеестра").Значение;
        Если УбратьПробелы(НомерРеестра)='' тогда 
          ВызватьОшибку("Номер создаваемого реестра должен быть указан");
        СсылкаНаБюджет := КоллекцияПараметров.Значение(прмБюджет);
        ПримечаниеРеестра  := Длг.Параметр("ПримечаниеРеестра").Значение;
        Отдел := КоллекцияПараметров.Значение(прмОтдел);
        СозданиеРеестра(НомерРеестра,СсылкаНаБюджет, ТипСоздаваемогоРеестра, ДатаСозданияНовогоРеестра, СсылкаНаРеестр, ПримечаниеРеестра, Отдел);
        Реестры.Insert();
        Реестры.ПолеПоИмени(ипКодРеестра).КакЦелое := СсылкаНаРеестр;
        Реестры.ПолеПоИмени(ипДатаРеестра).КакЦелое := ДатаСозданияНовогоРеестра;
        Реестры.ПолеПоИмени(ипТипРеестра).КакЦелое := ТипСоздаваемогоРеестра;
        Реестры.ПолеПоИмени(ипКодБюджета).КакЦелое := СсылкаНаБюджет;
        Реестры.ПолеПоИмени(ипНомерРеестра).КакСтрока := НомерРеестра;
        Реестры.ПолеПоИмени(ипПримечаниеРеестра).КакСтрока := ПримечаниеРеестра;                    
        Реестры.Post();
      конец
      иначе
      начало
        если НовыйНомер&lt;&gt;-1 тогда // восстановим номер генератора
          если Нумератор.Значение(ИмяГенератора,-1,0)=НовыйНомер тогда // если его еще никто не изменил
            Нумератор.УстановитьЗначение(ИмяГенератора,-1,НовыйНомер - 1);
        Если УбратьПробелы(НомерРеестра)='' тогда
           ВызватьОшибку('Ошибка выбора реестра: не выбран номер реестра');
        Если не Реестры.Локализовать(ипНомерИДатаРеестра, НомерРеестра, 0) тогда
          ВызватьОшибку('Ошибка выбора реестра: реестр с указанным номером '+НомерРеестра+' не найден');
      конец;
    конец
    иначе //Длг.Выполнить
      ВызватьОшибку("Отменен выбор реестра в диалоге");
    Результат  := Реестры.ПолеПоИмени(ипКодРеестра).КакЦелое;  
  обязательно
    УдалитьОбъект(СписокЗнач);        
  конец;    
конец;
//Выбор в диалоге одной из существующих групп реестров. В качестве поля, указывающего принадлежность к группе используется SessionNumber.
//IN: ИндексДанныхДокумента, КоллекцияПараметров(ограничения для выбора реестров+дополнительные параметры для формирования номера)
//OUT: Реестры
// В качестве результата возвращает код группы реестра либо 0.
функция ПолучитьГруппуРеестровВДиалоге(ИндексДанныхДокумента: Целое; 
  КоллекцияПараметров: IVariables; Реестры: СтатическиеДанные): Целое;
переменные
  Длг   : ДиалогПараметров;
  ВсеГруппы,
  НомерГруппы  : СТРОКА;
  СписокЗнач:Текст;
  НомерДиалога: строка;                             
начало
    Результат := 0;
    СписокЗнач := СоздатьТекст;
    Если ИндексДанныхДокумента &lt;&gt; 0 тогда
      КоллекцияПараметров.Значение(прмТипРеестра) := ПолучитьТипыРеестров(ЦелоеВСтроку(ИндексДанныхДокумента), КоллекцияПараметров.Значение(прмТипРеестра));
    если (КоллекцияПараметров.Значение(прмБюджет) = '') или (КоллекцияПараметров.Значение(прмБюджет) = 0) тогда 
      КоллекцияПараметров.Значение(прмБюджет) := ЦелоеВСтроку(ЦелаяКонстанта(-1, 3));
    ВсеГруппы :='';
    НомерДиалога := '';
    Если КоллекцияПараметров.Значение(прмИспользоватьПереданныйСписокРеестров)&lt;&gt;да тогда
      ПолучитьРеестры(КоллекцияПараметров, Реестры);
    ВсеГруппы := ФормироватьСписокЗначений(Реестры, ипНомерГруппыРеестров);
      
    СписокЗнач.Значение := ВсеГруппы;
    если СписокЗнач.Количество&gt;0 тогда  
      НомерДиалога := СписокЗнач.стр(0);
    Длг := Диалог;
    Длг.Очистить;
    если КоллекцияПараметров.Значение(прмЗаголовокДиалогаВключенияВРеестр)&lt;&gt;"" тогда 
      Длг.Заголовок := КоллекцияПараметров.Значение(прмЗаголовокДиалогаВключенияВРеестр)
    иначе   
      Длг.Заголовок := 'Выбор группы реестров';
    Длг.Добавить("Номер группы реестров", "Номер", 0, Список+ТолькоЧтение, "", ВсеГруппы);
    Длг.Параметр("Номер").Значение := НомерДиалога;
    попытка
    если Длг.Выполнить = результат_ОК тогда 
    начало
      НомерГруппы := Длг.Параметр("Номер").Значение;
      Если УбратьПробелы(НомерГруппы)='' тогда
         ВызватьОшибку('Ошибка выбора группы реестров: не выбран номер группы реестров');
      Если не Реестры.Локализовать(ипНомерГруппыРеестров, НомерГруппы, 0) тогда
        ВызватьОшибку('Ошибка выбора группы реестров: группа реестров с указанным номером '+НомерГруппы+' не найдена');
    конец
    иначе //Длг.Выполнить
      ВызватьОшибку("Отменен выбор группы реестров в диалоге");
    Реестры.Фильтр := 'SessionNumber='+НомерГруппы;
    Реестры.Filtered := да;
    Реестры.ClearHide;
    Реестры.Filtered := нет;
    Реестры.Фильтр := '';  
    Результат  := Реестры.ПолеПоИмени(ипНомерГруппыРеестров).КакЦелое;
    обязательно
      УдалитьОбъект(СписокЗнач);        
    конец;    
конец;

// Создать и вернуть новый реестр согласно переданных параметров
функция ПолучитьРеестр(ИндексДанныхДокумента: Целое; КоллекцияПараметров: IVariables; Реестры: СтатическиеДанные): Целое;
переменные
  СсылкаНаБюджет,ЗначениеГенератора, Отдел: Целое;
  НомерРеестра: строка;
  ДатаРеестра: строка;
  ТипСоздаваемогоРеестра, ДатаСозданияНовогоРеестра, СсылкаНаРеестр, РеестрПолучен: Целое;
начало
  Результат := -1;
  Если ИндексДанныхДокумента&lt;&gt;0 тогда
    КоллекцияПараметров.Значение(прмТипРеестра) := ПолучитьТипыРеестров(ЦелоеВСтроку(ИндексДанныхДокумента), КоллекцияПараметров.Значение(прмТипРеестра));
  если позиция(',',КоллекцияПараметров.Значение(прмТипРеестра))&gt;0 тогда
    ВызватьОшибку('Ошибка автоформирования реестра: неоднозначно определен тип реестра('+КоллекцияПараметров.Значение(прмТипРеестра)+'). Должен быть указан один');
  если убратьПробелы(КоллекцияПараметров.Значение(прмТипРеестра))='' тогда
    ВызватьОшибку('Ошибка автоформирования реестра: не задан тип реестра либо указанный тип не применим для данного интерфейса');
  ДатаРеестра := КоллекцияПараметров.Значение(прмДатаРеестра);
  если (ДатаРеестра='')или(ДатаРеестра='0')тогда
    ДатаРеестра := ОбычнаяДатаВРасшир(ТекущаяДата)
  иначе
    если Позиция('ГГГГ',Прописные(ДатаРеестра))=1 тогда // обработка подстановки текущего года
      ДатаРеестра := целоеВСтроку(ТекущийГод)+Подстрока(ДатаРеестра,5,4);  
  КоллекцияПараметров.Значение(прмДатаРеестра) := ДатаРеестра;
  если не КоллекцияПараметров.ПараметрСуществует(прмВсегдаСоздаватьНовыйРеестр)тогда 
    КоллекцияПараметров.Значение(прмВсегдаСоздаватьНовыйРеестр) := да;
  СсылкаНаБюджет := КоллекцияПараметров.Значение(прмБюджет);
  ТипСоздаваемогоРеестра := КоллекцияПараметров.Значение(прмТипРеестра);
  ДатаСозданияНовогоРеестра := КоллекцияПараметров.Значение(прмДатаРеестра);
  Отдел := КоллекцияПараметров.Значение(прмОтдел);
  РеестрПолучен := нет;  
  если КоллекцияПараметров.Значение(прмВсегдаСоздаватьНовыйРеестр)=нет тогда
  начало // пытаемся найти подходящий номер среди имеющихся разрешенных реестров
    ПолучитьРеестры(КоллекцияПараметров, Реестры);
    если КоллекцияПараметров.ПараметрСуществует(прмНомерРеестра) тогда
      НомерРеестра := КоллекцияПараметров.Значение(прмНомерРеестра)
    иначе  
      НомерРеестра := ФормированиеНомераРеестра(
        СсылкаНаБюджет,
        ТипСоздаваемогоРеестра,
        ДатаСозданияНовогоРеестра,
        КоллекцияПараметров,Реестры,ЗначениеГенератора);
    РеестрПолучен := Реестры.Локализовать(ипНомерРеестра, НомерРеестра, 0);
  конец
  иначе
  начало
    НомерРеестра := ФормированиеНомераРеестра(
      СсылкаНаБюджет,
      ТипСоздаваемогоРеестра,
      ДатаСозданияНовогоРеестра,
      КоллекцияПараметров,nil,ЗначениеГенератора);
  конец;  
  если не РеестрПолучен тогда // если реестра с нужными параметрами не найдено или всегда требуется создавать новый реестр 
  начало
    СозданиеРеестра(НомерРеестра,СсылкаНаБюджет, ТипСоздаваемогоРеестра, ДатаСозданияНовогоРеестра, СсылкаНаРеестр, "", Отдел);
    КоллекцияПараметров.Значение("КодРеестра") := СсылкаНаРеестр;
    ПолучитьРеестры(КоллекцияПараметров, Реестры);
  конец;
  Результат := Реестры.ПолеПоИмени(ипКодРеестра).КакЦелое;
конец;

// Изменение реестра на базе для указанного документа с кодом КодДокумента.
// Текущий и новый реестры передаются в виде датасетов.
// В случае, если текущий либо новый реестры приняты, сначала реестр распринимается, а после изменения снова принимается.
функция ИзменениеРеестраНаБД(КодДокумента:целое;ТекущийРеестр,НовыйРеестр: СтатическиеДанные);
переменные
  ТекущийРеестрПринят,НовыйРеестрПринят : целое;
  ТекущийКодРеестра, НовыйКодРеестра: строка;
начало
  ТекущийРеестрПринят := нет;
  НовыйРеестрПринят := нет;
  ТекущийКодРеестра := '';
  НовыйКодРеестра := '';
  если ТекущийРеестр&lt;&gt;nil тогда
    если ТекущийРеестр.ЧислоЗаписей&gt;0 тогда
    начало
      ТекущийКодРеестра := ТекущийРеестр.Поле("Id").КакСтрока;
      ТекущийРеестрПринят := ТекущийРеестр.Поле("Accepted").КакЦелое = 1;
    конец;   
  если НовыйРеестр&lt;&gt;nil тогда
    если НовыйРеестр.ЧислоЗаписей&gt;0 тогда
    начало
      НовыйКодРеестра := НовыйРеестр.Поле("Id").КакСтрока;
      НовыйРеестрПринят := НовыйРеестр.Поле("Accepted").КакЦелое = 1;
    конец;   
  Если ТекущийКодРеестра&lt;&gt;НовыйКодРеестра тогда
  попытка
    // сначала распринимаем реестры
    если ТекущийРеестрПринят тогда 
    начало
      ТекущийРеестр.Редактировать;
      ТекущийРеестр.Поле("Accepted").КакЦелое := 0;
      ТекущийРеестр.Сохранить;
      СохранитьИзмененияРеестров(ТекущийРеестр);
    конец;
    если НовыйРеестрПринят тогда 
    начало
      НовыйРеестр.Редактировать;
      НовыйРеестр.Поле("Accepted").КакЦелое := 0;
      НовыйРеестр.Сохранить;
      СохранитьИзмененияРеестров(НовыйРеестр);
    конец;
    // потом меняем текущий реестр на новый
      если НовыйКодРеестра&lt;&gt;"" тогда  // меняем на указанный
        ВыполнитьЗапрос("update FacialFinCaption set Reestr_Ref = "+НовыйКодРеестра+", RVersion = -1 where id = " + ЦелоеВСтроку(КодДокумента))
      иначе // очищаем реестр
        ВыполнитьЗапрос("update FacialFinCaption set Reestr_Ref = null, RVersion = -1 where id = " + ЦелоеВСтроку(КодДокумента));
  обязательно
    // восстанавливаем принятие реестров
    если ТекущийРеестрПринят тогда 
    начало
      ТекущийРеестр.Редактировать;
      ТекущийРеестр.Поле("Accepted").КакЦелое := 1;
      ТекущийРеестр.Сохранить;
      СохранитьИзмененияРеестров(ТекущийРеестр);
    конец;
    если НовыйРеестрПринят тогда 
    начало
      НовыйРеестр.Редактировать;
      НовыйРеестр.Поле("Accepted").КакЦелое := 1;
      НовыйРеестр.Сохранить;
      СохранитьИзмененияРеестров(НовыйРеестр);
    конец;
  конец;
конец;

// Изменение реестра у одного документа
функция ИзменитьРеестрДокумента(полеКодДокумента,полеКодРеестра,ПолеНомерРеестра,ПолеДатаРеестра: Поле;ОграниченияТекущегоРеестра: IVariables; НовыйРеестр: СтатическиеДанные);
переменные
  ТребуетсяИзменениеРеестраНаБД:целое;
  Заголовок,ТекущийРеестр: статическиеДанные;
  ТекущийКодРеестра: строка;
начало
  Если полеКодДокумента=nil тогда ВызватьОшибку("Не задано поле кода документа");
  Если полеКодРеестра=nil тогда ВызватьОшибку("Не задано поле кода реестра");
  ТребуетсяИзменениеРеестраНаБД := нет;
  если не полеКодРеестра.Пустое тогда
  начало
    если ОграниченияТекущегоРеестра =nil тогда
      ОграниченияТекущегоРеестра := создатьКоллекцию;
    если не ОграниченияТекущегоРеестра.ПараметрСуществует(прмИсключатьСпециальныеРеестры) тогда
      ОграниченияТекущегоРеестра.Значение(прмИсключатьСпециальныеРеестры) := нет;// по умолчанию разрешаем исключать из реестря УРМ и реестра отклоненных документов
    если (ОграниченияТекущегоРеестра.Значение('КодРеестра') = полеКодРеестра.КакСтрока) и
         (ОграниченияТекущегоРеестра.ПараметрСуществует('_КэшТекущийРеестр_'))
    тогда
      ТекущийРеестр := ОграниченияТекущегоРеестра.Значение('_КэшТекущийРеестр_'); 
    если (ТекущийРеестр = nil) тогда
    начало
      ОграниченияТекущегоРеестра.Delete('_КэшТекущийРеестр_'); 
      ОграниченияТекущегоРеестра.Значение('КодРеестра') := полеКодРеестра.КакСтрока;
      если не ОграниченияТекущегоРеестра.ПараметрСуществует(прмПринятиеРеестра) тогда
        ОграниченияТекущегоРеестра.Значение(прмПринятиеРеестра) := ""; // по умолчанию разрешаем исключать из принятых реестров
      если не ОграниченияТекущегоРеестра.ПараметрСуществует(прмСостояниеДокумента) тогда // по умолчанию разрешаем исключать из реестров в неначальном состоянии
      ОграниченияТекущегоРеестра.Значение(прмСостояниеДокумента) := "";
      ТекущийРеестр := СоздатьСтатическиеДанные;
      ПолучитьРеестры(ОграниченияТекущегоРеестра, ТекущийРеестр); // определяем, можно ли исключать из этого реестра
      ОграниченияТекущегоРеестра.Значение('_КэшТекущийРеестр_') := ТекущийРеестр; 
    конец;
  конец;
  если ТекущийРеестр&lt;&gt; nil тогда
  если ТекущийРеестр.ЧислоЗаписей&gt;0 тогда 
    ТребуетсяИзменениеРеестраНаБД := ТекущийРеестр.Поле("Accepted").КакЦелое=1;
  если НовыйРеестр&lt;&gt; nil тогда
  если НовыйРеестр.ЧислоЗаписей&gt;0 тогда 
    ТребуетсяИзменениеРеестраНаБД := ТребуетсяИзменениеРеестраНаБД или (НовыйРеестр.Поле("Accepted").КакЦелое=1);
  если ТребуетсяИзменениеРеестраНаБД тогда
    ИзменениеРеестраНаБД(полеКодДокумента.КакЦелое,ТекущийРеестр,НовыйРеестр);
  ТекущийКодРеестра := '';
  если (ТекущийРеестр&lt;&gt;nil) тогда // исключение из принятого реестра(включение в принятый) обрабатываем отдельно
    ТекущийКодРеестра :=  ТекущийРеестр.Поле("Id").КакСтрока; 

  Заголовок := полеКодДокумента.DataSet;
  если не(полеКодРеестра.КакСтрока&lt;&gt;ТекущийКодРеестра) тогда
  начало  // теперь делаем изменения для системы состояний даже, если запросы на БД уже выполнились
    Заголовок.Редактировать;
    полеКодРеестра.Очистить;
    ПолеНомерРеестра.Очистить;
    ПолеДатаРеестра.Очистить;
    Если НовыйРеестр&lt;&gt;nil тогда
      если НовыйРеестр.ЧислоЗаписей&gt;0 тогда
      начало
        полеКодРеестра.КакЦелое := НовыйРеестр.Поле("Id").КакЦелое; 
        ПолеНомерРеестра.КакСтрока := НовыйРеестр.Поле("ReestrNumber").КакСтрока; 
        ПолеДатаРеестра.КакЦелое := НовыйРеестр.Поле("ReestrDate").КакЦелое;
      конец;
    Заголовок.Сохранить; 
  конец
  иначе
  начало // помечаем документ ошибочным
    Заголовок.Поле(stControlResultFieldName).КакЦелое := 4;
    Заголовок.Поле(stControlMessageFieldName).КакСтрока := 'Нельзя исключить документ из данного реестра';
  конец;            
конец;

// включение обрабатываемых документов в существующий либо новый реестр. 
функция ПроставитьРеестр(ПараметрыДействия, КоллекцияПараметров: IVariables);
переменные
  Заголовки: СтатическиеДанные;
  Реестры: СтатическиеДанные;
  ИндексДанныхДокумента, КодИнтерфейса: Целое;
  СоздаватьРеестр: Целое;
  ПолеКодДокумента,ПолеКодРеестра,ПолеНомерРеестра,ПолеДатаРеестра: Поле;    
  ОграниченияТекущегоРеестра: IVariables;
начало
  Заголовки := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  Если Заголовки.ЧислоЗаписей &gt; 0 тогда
  начало
    КодИнтерфейса := ПолучитьКодИнтерфейса(ПараметрыДействия);
    ПолеКодРеестра := Заголовки.Поле(ПолучитьИмяПоляНаШаблоне("КодРеестра", КодИнтерфейса, 0, 1));
    ПолеНомерРеестра := Заголовки.Поле(ПолучитьИмяПоляНаШаблоне("НомерРеестра", КодИнтерфейса, 0, 1));
    ПолеДатаРеестра := Заголовки.Поле(ПолучитьИмяПоляНаШаблоне("ДатаРеестра", КодИнтерфейса, 0, 1));
    ПолеКодДокумента := Заголовки.Поле(ПолучитьИмяПоляНаШаблоне("КодДокумента", КодИнтерфейса, 0, 1));

    если КоллекцияПараметров = nil тогда
    начало
      КоллекцияПараметров := создатьКоллекцию;
      если ИнтерфейсПоддерживается(ПараметрыДействия.Значение('ВключениеВРеестр'),_IVariables) тогда
        КоллекцияПараметров.PumpData(ПараметрыДействия.Значение('ВключениеВРеестр'));  
    конец;  
    Реестры := СоздатьСтатическиеДанные;
    попытка      
      если не КоллекцияПараметров.ПараметрСуществует(прмБюджет) тогда
        КоллекцияПараметров.Значение(прмБюджет) := Заголовки.ПолеПоИмени(КонстПолеБюджет).КакСтрока;
      ИндексДанныхДокумента := Заголовки.ПолеПоИмени(КонстПолеИндексыДанных).КакЦелое;
      если КоллекцияПараметров.ПараметрСуществует(прмРазрешатьСоздаватьРеестр) тогда
        СоздаватьРеестр := КоллекцияПараметров.Значение(прмРазрешатьСоздаватьРеестр)
      иначе   
        СоздаватьРеестр := да;
      если КоллекцияПараметров.Значение(прмНеПоказыватьДиалог) = да тогда
        ПолучитьРеестр(ИндексДанныхДокумента,КоллекцияПараметров,Реестры)
      иначе
        ПолучитьРеестрВДиалоге(СоздаватьРеестр,ИндексДанныхДокумента,КоллекцияПараметров, Реестры);
      
      ОграниченияТекущегоРеестра := СоздатьКоллекцию; //нужна для кэширования
      Заголовки.ВНачало;
      пока не Заголовки.ВКонце делать
      начало  
        ИзменитьРеестрДокумента(ПолеКодДокумента, ПолеКодРеестра, ПолеНомерРеестра, ПолеДатаРеестра, ОграниченияТекущегоРеестра, Реестры);
        Заголовки.Следующая;   
      конец;
    обязательно
      УдалитьОбъект(Реестры);
    конец;  
  конец;
конец;  

// Исключение одного документа из реестра
// если документ пришел с УРМ, то он переносится в реестр УРМ, иначе реестр очищается
// Коллекция ОграниченияТекущегоРеестра задает реестры, из которых разрешается исключать документ  
функция ИсключитьДокументИзРеестра(ПараметрыПерехода,ОграниченияТекущегоРеестра: IVariables);

переменные
  Заголовок,  НовыйРеестр: СтатическиеДанные;
  полеКодДокумента,полеКодРеестра,ПолеНомерРеестра,ПолеДатаРеестра: Поле;
  ДокументУРМ,КодИнтерфейса: Целое;
  ОграниченияНовогоРеестра: IVariables;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыПерехода);
  КодИнтерфейса:=ПолучитьКодИнтерфейса(ПараметрыПерехода);
  
  полеКодРеестра := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("КодРеестра",КодИнтерфейса,0,1));
  ПолеНомерРеестра := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("НомерРеестра",КодИнтерфейса,0,1));
  ПолеДатаРеестра := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("ДатаРеестра",КодИнтерфейса,0,1));
  полеКодДокумента := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("КодДокумента",КодИнтерфейса,0,1));
  
  ДокументУРМ := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("КодОтправителяДокумента",КодИнтерфейса,0,1)).КакСтрока &lt;&gt; ""; 

  // если документ включен в реестр
  Если полеКодРеестра.КакСтрока &lt;&gt; "" тогда
  начало
    если ОграниченияТекущегоРеестра =nil тогда
      ОграниченияТекущегоРеестра := создатьКоллекцию;
    если ИнтерфейсПоддерживается(ПараметрыПерехода.Значение('ИсключениеИзРеестра'),_IVariables) тогда
      ОграниченияТекущегоРеестра.PumpData(ПараметрыПерехода.Значение('ИсключениеИзРеестра'));  

    если (ДокументУРМ или ПараметрыПерехода.Значение('ВсегдаПереноситьВРеестрУРМ')=да) и не(ПараметрыПерехода.Значение('ВсегдаОчищатьРеестр')=да)  тогда
    начало // получаем реестр УРМ
      если (ЦелаяКонстанта(56,0)=0) тогда 
        ВызватьОшибку("Не задана константа реестра УРМ");
      НовыйРеестр := СоздатьСтатическиеДанные;
      ОграниченияНовогоРеестра := СоздатьКоллекцию;
      ОграниченияНовогоРеестра.Значение(прмИсключатьСпециальныеРеестры) := нет;
      ОграниченияНовогоРеестра.Значение('КодРеестра') := целоеВСтроку(ЦелаяКонстанта(56,0));
      ПолучитьРеестры(ОграниченияНовогоРеестра, НовыйРеестр);
    конец;
    ИзменитьРеестрДокумента(полеКодДокумента,полеКодРеестра,ПолеНомерРеестра,ПолеДатаРеестра,ОграниченияТекущегоРеестра,НовыйРеестр);
  конец;
  
конец;

// Включить документы в реестр отклоненных
// Коллекция ОграниченияТекущегоРеестра задает реестры, из которых разрешается исключать документ
функция ВключитьВРеестрОтклоненных(ПараметрыПерехода,ОграниченияТекущегоРеестра: IVariables);
переменные
  Заголовок, НовыйРеестр: СтатическиеДанные;
  полеКодДокумента,полеКодРеестра,ПолеНомерРеестра,ПолеДатаРеестра: Поле;
  ОграниченияНовогоРеестра: IVariables;
  КодИнтерфейса: Целое;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыПерехода);
  КодИнтерфейса:=ПолучитьКодИнтерфейса(ПараметрыПерехода);
  
  полеКодРеестра := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("КодРеестра",КодИнтерфейса,0,1));
  ПолеНомерРеестра := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("НомерРеестра",КодИнтерфейса,0,1));
  ПолеДатаРеестра := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("ДатаРеестра",КодИнтерфейса,0,1));
  полеКодДокумента := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("КодДокумента",КодИнтерфейса,0,1));
  
  если ОграниченияТекущегоРеестра =nil тогда
    ОграниченияТекущегоРеестра := создатьКоллекцию;
  если ИнтерфейсПоддерживается(ПараметрыПерехода.Значение('ИсключениеИзРеестра'),_IVariables) тогда
    ОграниченияТекущегоРеестра.PumpData(ПараметрыПерехода.Значение('ИсключениеИзРеестра'));  

  // получаем реестр отклоненных
  если (ЦелаяКонстанта(56,10)=0) тогда 
        ВызватьОшибку("Не задана константа реестра отклоненных документов");
  НовыйРеестр := СоздатьСтатическиеДанные;
  ОграниченияНовогоРеестра := СоздатьКоллекцию;
  ОграниченияНовогоРеестра.Значение(прмИсключатьСпециальныеРеестры) := нет;
  ОграниченияНовогоРеестра.Значение('КодРеестра') := целоеВСтроку(ЦелаяКонстанта(56,10));
  
  ПолучитьРеестры(ОграниченияНовогоРеестра, НовыйРеестр);

  Заголовок.ВНачало;
  пока не Заголовок.ВКонце делать
  начало  
    ИзменитьРеестрДокумента(полеКодДокумента,полеКодРеестра,ПолеНомерРеестра,ПолеДатаРеестра,ОграниченияТекущегоРеестра,НовыйРеестр);
    Заголовок.Следующая;   
  конец; 
конец;

</value>
    <param value="РаботаСРеестрами" type="3" name="Export">ZIMIN-NEW\zimin\19.12.2012 18:04:19</param>
    <param value="РаботаСРеестрами" type="3" name="version">36.042.157</param>
    <param value="РаботаСРеестрами" type="3" name="crc32">$9D0F02CE</param>
  </node>
  <version_info>
    <file>Сборка.МакросыНаДействие.xml</file>
    <version>36.042.157</version>
    <info>&lt;p&gt;Общие макросы для поддержки системы состояний&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:01</buildtime>
  </version_info>
  <description>Макросы на действие</description>
  <node path="%root%\Ресурсы\Состояния\Действия\201">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\201">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\201">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\202">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\202">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\202">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\203">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\203">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\203">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\204">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\204">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\204">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\205">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\205">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\205">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\206">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\206">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\206">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\207">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\207">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\207">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\208">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\208">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\208">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\209">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\209">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\210">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\210">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\210">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\301">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\301">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\301">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="ВключитьВРеестр">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

// Включить документы в новый реестр или выбрать реестр из списка существующих
ВключитьВРеестр(ПараметрыДействия: IVariables);
начало
  ПроставитьРеестр(ПараметрыДействия,nil);
конец.
</value>
    <param value="ВключитьВРеестр" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестр" type="3" name="crc32">$1A4069F9</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="ЗаполнитьХранимыеАтрибуты">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\ЗаполнениеХранимыхАтрибутовПлатежа";

МакросНаДействие(ПараметрыДействия: IVariables);
начало
  ЗаполнитьХранимыеАтрибуты(ПараметрыДействия);
конец;
</value>
    <param value="ЗаполнитьХранимыеАтрибуты" type="3" name="Export">GREKOVSV\grekovsv\23.01.2013 12:31:18</param>
    <param value="ЗаполнитьХранимыеАтрибуты" type="3" name="version">36.042.157</param>
    <param value="ЗаполнитьХранимыеАтрибуты" type="3" name="crc32">$92964E41</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="ВключениеВНовыйИлиВыборРеестра">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

// Включить документы в новый реестр или выбрать реестр из списка существующих
ВключитьВРеестр(ПараметрыДействия: IVariables);
начало
  ПроставитьРеестр(ПараметрыДействия,nil);
конец.
</value>
    <param value="ВключениеВНовыйИлиВыборРеестра" type="3" name="version">36.042.157</param>
    <param value="ВключениеВНовыйИлиВыборРеестра" type="3" name="crc32">$1A4069F9</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="ИсключитьИзОбработки">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";
включить "\Библиотеки\StateManage.lib";

// удаляем прошедшие фильтр заголовки вместе с их детализациями
ИсключитьИзОбработки(ПараметрыДействия: IVariables);
переменные 
  Заголовок,Детализация: СтатическиеДанные;
  КоллекцияДанных: Ivariables;
  сч:целое;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);  
  если Заголовок &lt;&gt; nil тогда
  начало
    //фильтруем детали по заголовкам, прошедшим фильтр 
    КоллекцияДанных := ПараметрыДействия.Values(stVarData);
    от сч := 1 до КоллекцияДанных.Count-1 делать
    начало
      ФильтрацияНабораПоЗаголовку(ПараметрыДействия, 0, сч);
      Детализация := ПолучитьДетальИзКоллекции(ПараметрыДействия, сч);
      Если Детализация&lt;&gt;nil тогда Детализация.Clear;
    конец;
    Заголовок.Clear;
  конец;  
конец;


</value>
    <param value="ИсключитьИзОбработки" type="3" name="version">36.042.157</param>
    <param value="ИсключитьИзОбработки" type="3" name="crc32">$D1392C52</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="ВключитьВРеестр">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

// Включить документы в новый реестр или выбрать реестр из списка существующих
ВключитьВРеестр(ПараметрыДействия: IVariables);
начало
  ПроставитьРеестр(ПараметрыДействия,nil);
конец.
</value>
    <param value="ВключитьВРеестр" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестр" type="3" name="crc32">$1A4069F9</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="ВыделитьЧекиДляГенерацииВозвратов">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";
включить "\Библиотеки\Control.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

МакросНаДействие(ПараметрыДействия: IVariables);
переменные
  Заголовок, Перечисления: СтатическиеДанные;
  ИДЧеков, ИДЧековДляСоздВозвр, ИДЧековДляОтклон: строка;
  ПолеИДЧеков, ПолеИДПеречисл, ПолеИДПодтвПеречисл,
  ПолеДатаПринПодтвПеречисл, ПолеДатаВБанкПеречисл: Поле;
  ПервоначальныйФильтр: строка;

  функция ОтклонитьПеречисления(СтрокаИД: строка; ДанныеЧеков, ТекДанные: СтатическиеДанные);
  переменные
    ДопДанные: СтатическиеДанные;
    ФильтрДанных, СписокИДПеречислений: строка;
    ПолеСпискаИд, ПолеПричОтклКод, ПолеПричОтклТекст: Поле;
  начало
    если СтрокаИД &lt;&gt; "" тогда
    начало
      ДопДанные := СоздатьСтатическиеДанные;
      ФильтрДанных := ТекДанные.Фильтр;
      попытка
        ДопДанные.ДобавитьЦелоеПоле("RejectCLS");
        ДопДанные.ДобавитьСтроковоеПоле("RejectCause");
        ДопДанные.ДобавитьСтроковоеПоле("IdList");
        ДопДанные.Открыть;
        ТекДанные.Фильтр := "ID in (" + СтрокаИД + ")";
        ДопДанные.Группировать(ТекДанные, "keys=RejectCLS,RejectCause;RejectCLS=RejectCLS;RejectCause=RejectCause;" +
          "IdList=LIST(ID)");
        ПолеСпискаИд := ДопДанные.ПолеПоИмени("IdList"); 
        ПолеПричОтклКод := ДопДанные.ПолеПоИмени("RejectCLS"); 
        ПолеПричОтклТекст := ДопДанные.ПолеПоИмени("RejectCause");
        ДопДанные.ВНачало;
        пока не ДопДанные.ВКонце делать
        начало
          ДанныеЧеков.Фильтр := "IDCheck in (" + ПолеСпискаИд.КакСтрока + ")";
          СписокИДПеречислений := GetLimitStr(ДанныеЧеков, "IDTransf") + "," + GetLimitStr(ДанныеЧеков, "IDConfTransf");
          ВыполнитьЗапрос("update facialfincaption set Reject_CLS = " + ПолеПричОтклКод.КакСтрока +
            ", RejectCause = '" + ПолеПричОтклТекст.КакСтрока + "' where id in (" + СписокИДПеречислений + ")");
          ДопДанные.Следующий;
        конец;
      обязательно
        УдалитьОбъект(ДопДанные);
        ТекДанные.Фильтр := ФильтрДанных;
      конец;
    конец;
  конец;

начало
  Перечисления := СоздатьСтатическиеДанные;
  попытка
    Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
    если Заголовок.ЧислоЗаписей = 0 тогда выход;
    ИДЧеков := GetLimitStr(Заголовок, "ID");
    Перечисления.СоединитьБД;
    Перечисления.Запрос := "[PumpData]{select capCheck.id IDCheck, max(capTransf.id) IDTransf, max(pde.SendDate) TransfSendDate, " +
      "max(capConfTransf.id) IDConfTransf, max(capConfTransf.AcceptDate) ConfTransfAcceptDate " +
      "from facialfindetail detCheck " +
      "inner join facialfincaption capCheck on (capCheck.id = detCheck.recordindex) " +
      "inner join linkrecords l on (l.parentid = detCheck.id) " +
      "left join facialfindetail detTransf on (detTransf.id = l.childid and l.linktyperef = 30301500) " +
      "left join facialfincaption capTransf on (capTransf.id = detTransf.recordindex) " +
      "left join facialfindetail detConfTransf on (detConfTransf.id = l.childid and l.linktyperef = 30301600) " +
      "left join facialfincaption capConfTransf on (capConfTransf.id = detConfTransf.recordindex) " +
      "left join paydocexchange pde on (pde.paydocref = capTransf.id) " +
      "where capCheck.id in (" + ИДЧеков + ") " +
      "group by capCheck.id}";
    Перечисления.Открыть;
    ИДЧековДляСоздВозвр := "";
    если Перечисления.ЧислоЗаписей &gt; 0 тогда
    начало
      ИДЧековДляОтклон := "";
      ПолеИДЧеков := Перечисления.ПолеПоИмени("IDCheck");
      ПолеИДПеречисл := Перечисления.ПолеПоИмени("IDTransf");
      ПолеИДПодтвПеречисл := Перечисления.ПолеПоИмени("IDConfTransf");
      ПолеДатаПринПодтвПеречисл := Перечисления.ПолеПоИмени("ConfTransfAcceptDate");
      ПолеДатаВБанкПеречисл := Перечисления.ПолеПоИмени("TransfSendDate");
      Перечисления.ВНачало;
      пока не Перечисления.ВКонце делать
      начало
        если ПолеДатаПринПодтвПеречисл.Пустое тогда
          если ПолеДатаВБанкПеречисл.Пустое тогда
            ИДЧековДляОтклон := ИДЧековДляОтклон + ПолеИДЧеков.КакСтрока + ","
          иначе
            ВызватьОшибку("По выделенным чекам есть отправленные в банк перечисления, которые не подтверждены поступлением средств на счет")
        иначе
          ИДЧековДляСоздВозвр := ИДЧековДляСоздВозвр + ПолеИДЧеков.КакСтрока + ","; 
        Перечисления.Следующий;
      конец;
      //
      если ИДЧековДляОтклон &lt;&gt; "" тогда
        ОтклонитьПеречисления(Подстрока(ИДЧековДляОтклон, 1, Длина(ИДЧековДляОтклон) - 1), Перечисления, Заголовок);
    конец;
    //
    если ИДЧековДляСоздВозвр = "" тогда
      ИДЧековДляСоздВозвр := "-1"
    иначе
      ИДЧековДляСоздВозвр := Подстрока(ИДЧековДляСоздВозвр, 1, Длина(ИДЧековДляСоздВозвр) - 1);
    //
    ПервоначальныйФильтр := Заголовок.Filter;
    Заголовок.Filtered := нет;
    Заголовок.Filter := "(" + ПервоначальныйФильтр + ") and " + "not (id in (" + ИДЧековДляСоздВозвр + "))";
    Заголовок.Filtered := да;
    Заголовок.ВНачало;
    пока не Заголовок.ВКонце делать
    начало
      Заголовок.Edit;
      Заголовок.ПолеПоИмени(stIsFilteredFieldName).КакЦелое := 1;
      Заголовок.Post; 
      Заголовок.Следующий;
    конец;  
    Заголовок.Filtered := нет;
    Заголовок.Filter := "(" + ПервоначальныйФильтр + ") and (" + stIsFilteredFieldName + "&lt;&gt; 1)";
    Заголовок.Filtered := да;
  обязательно
    УдалитьОбъект(Перечисления);
  конец;
конец.
</value>
    <param value="ВыделитьЧекиДляГенерацииВозвратов" type="3" name="Export">MARAEVA-XP\baranova\22.09.2010 16:29:06</param>
    <param value="ВыделитьЧекиДляГенерацииВозвратов" type="3" name="version">36.042.157</param>
    <param value="ВыделитьЧекиДляГенерацииВозвратов" type="3" name="crc32">$EF518EF1</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="СнятьПричинуОтклоненияПеречислений">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LinkInfo2.lib";
включить "\Библиотеки\Control.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

МакросНаДействие(ПараметрыДействия: IVariables);
переменные
  LinkInfo: ILinkInfo2;
  Коллекция: IVariables;
  Деталь, ссСвязей: СтатическиеДанные;
начало
  LinkInfo := CreateComObject(TLinkInfo2);
  Коллекция := CreateVariables;
  попытка
    Деталь := ПолучитьДетальИзКоллекции(ПараметрыДействия, 1);
    если Деталь.ЧислоЗаписей = 0 тогда выход;
    СоединитьИнтерфейс(LinkInfo);
    Коллекция.Значение("ParentID") := GetLimitStr(Деталь, "ID");
    Коллекция.Значение(paramLinkType_LinkTypeID) := "30301500,30301600";
    Коллекция.Значение("IsRejected") := "0,1";
    ссСвязей := LinkInfo.GetLinks(Коллекция);
    если ссСвязей.ЧислоЗаписей &gt; 0 тогда
      ВыполнитьЗапрос("update facialfincaption set Reject_CLS = null, RejectCause = null where id in (" +
        "select recordindex from facialfindetail where id in (" + GetLimitStr(ссСвязей, "ChildID") + "))");
  обязательно
    ЗакрытьИнтерфейс(LinkInfo);
    УдалитьОбъект(LinkInfo, Коллекция);
  конец;
конец.
</value>
    <param value="СнятьПричинуОтклоненияПеречислений" type="3" name="Export">MARAEVA-XP\baranova\09.11.2010 17:53:54</param>
    <param value="СнятьПричинуОтклоненияПеречислений" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклоненияПеречислений" type="3" name="crc32">$6D8228BC</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="ЗаполнитьХранимыеАтрибуты">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\Состояния\ОбщиеДействия.abl";
включить "\Макросы\Сценарии\Казначейство\ЗаполнениеХранимыхАтрибутовПлатежа";

МакросНаДействие(ПараметрыДействия: IVariables);
начало
  ЗаполнитьХранимыеАтрибуты(ПараметрыДействия);
конец;
</value>
    <param value="ЗаполнитьХранимыеАтрибуты" type="3" name="Export">GREKOVSV\grekovsv\22.01.2013 15:49:04</param>
    <param value="ЗаполнитьХранимыеАтрибуты" type="3" name="version">36.042.157</param>
    <param value="ЗаполнитьХранимыеАтрибуты" type="3" name="crc32">$65DD6ABE</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\306">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\306">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\306">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\307">
    <value name="ПринятиеРеестра" type="7">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Control.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПринятиеРеестра(Параметры: IVariables);
переменные
  Заголовок: СтатическиеДанные;
  пПринятость: Поле;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(Параметры);
  пПринятость := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("ПринятиеРеестра", 307, 0, 1));
  
  Заголовок.Вначало;
  пока не Заголовок.ВКонце делать
  начало
    Если пПринятость.КакЦелое = 0 тогда
    начало
      Заголовок.Редактировать;
      пПринятость.КакЦелое := 1;
      Заголовок.Сохранить; 
    конец;
    Заголовок.Следующая; 
  конец; 
конец.
</value>
    <param value="ПринятиеРеестра" type="3" name="version">36.042.157</param>
    <param value="ПринятиеРеестра" type="3" name="crc32">$7C3F9D63</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\307">
    <value name="ОтменаПринятияРеестра" type="7">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОтменаПринятияРеестра(Параметры: IVariables);
переменные
  Заголовок: СтатическиеДанные;
  пПринятость: Поле;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(Параметры);
  пПринятость := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне("ПринятиеРеестра", 307, 0, 1));
  
  Заголовок.ВНачало;
  пока не Заголовок.Вконце делать
  начало
    Если пПринятость.КакЦелое = 1 тогда
    начало
      Заголовок.Редактировать;
      пПринятость.КакЦелое := 0;
      Заголовок.Сохранить; 
    конец;  
    Заголовок.Следующая;  
  конец;
конец.
</value>
    <param value="ОтменаПринятияРеестра" type="3" name="version">36.042.157</param>
    <param value="ОтменаПринятияРеестра" type="3" name="crc32">$E6ED4EFC</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\307">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="ВключитьВРеестр">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

// Включить документы в новый реестр или выбрать реестр из списка существующих
ВключитьВРеестр(ПараметрыДействия: IVariables);
начало
  ПроставитьРеестр(ПараметрыДействия,nil);
конец.
</value>
    <param value="ВключитьВРеестр" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестр" type="3" name="crc32">$1A4069F9</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\311">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\311">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\311">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\312">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\312">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\312">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="УдалитьДокументы">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Control.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\Состояния\ОбщиеДействия.abl";

УдалитьДокументы(ПараметрыДействия: IVariables);
переменные
  Заголовок: СтатическиеДанные;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  если Заголовок.RecordCount &gt; 0 тогда
    УдалитьДокументыПоТипу(31400, GetLimitStr(Заголовок, "ID"))
конец;
</value>
    <param value="УдалитьДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьДокументы" type="3" name="crc32">$3FD64951</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="УдалитьДокументы">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\Control.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\Состояния\ОбщиеДействия.abl";

УдалитьДокументы(ПараметрыДействия: IVariables);
переменные
  Заголовок: СтатическиеДанные;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  если Заголовок.RecordCount &gt; 0 тогда
    УдалитьДокументыПоТипу(31500, GetLimitStr(Заголовок, "ID"))
конец;
</value>
    <param value="УдалитьДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьДокументы" type="3" name="crc32">$15FE7133</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\317">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\317">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\317">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\318">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\318">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\318">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\322">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\322">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\322">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="ВключитьВРеестр">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

// Включить документы в новый реестр или выбрать реестр из списка существующих
ВключитьВРеестр(ПараметрыДействия: IVariables);
начало
  ПроставитьРеестр(ПараметрыДействия,nil);
конец.
</value>
    <param value="ВключитьВРеестр" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестр" type="3" name="crc32">$1A4069F9</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\324">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\324">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\324">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\801">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\801">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\801">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1601">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\Состояния\ОбщиеДействия.abl";
включить "\Макросы\Состояния\ОбщиеКонстантыСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
переменные
  Заголовок: СтатическиеДанные;
  КодПричиныОткл: целое;
  ПричинаОтклКоммен: строка;
  пПричинаОтклон, пПричинаОтклонКоммент: поле; 
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  если Заголовок.RecordCount &gt; 0 тогда
  начало
    //получаем в диалоге дату проведения выделенных документов
    ПолучитьПричинуОтклВДиалоге(КодПричиныОткл, ПричинаОтклКоммен);
    пПричинаОтклон := Заголовок.ПолеПоИмени("Reject_Cls");
    пПричинаОтклонКоммент := Заголовок.ПолеПоИмени("RejectCause");
    Заголовок.ВНачало;
    пока не Заголовок.ВКонце делать
    начало
      пПричинаОтклон.КакЦелое := КодПричиныОткл;
      пПричинаОтклонКоммент.КакСтрока := ПричинаОтклКоммен;
      Заголовок.Следующая;
    конец;
  конец;
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\06.04.2009 14:55:28</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$AC28C663</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1601">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1601">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1901">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1901">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1901">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1902">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1902">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1902">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1903">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1903">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1903">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1904">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1904">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1904">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1906">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1906">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1906">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\2201">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\2201">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\2201">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4401">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4401">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4401">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4403">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4403">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4403">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4404">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:32</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4404">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:29</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4404">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5501">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5501">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5501">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5502">
    <value type="7" name="СпроситьИПроставитьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьПричинуОтклонения(ПараметрыДействия: IVariables);
начало
  ПроставитьПричинуОтклонения(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьПричинуОтклонения" type="3" name="crc32">$998DDE58</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5502">
    <value type="7" name="СпроситьИПроставитьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ПроставитьДатуПринятия(ПараметрыДействия: IVariables);
начало   
  ПроставитьДатуПринятия(ПараметрыДействия);
конец;
</value>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПроставитьДатуПринятия" type="3" name="crc32">$D71DD07B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5502">
    <value type="7" name="ИзменитьЗначениеПолей">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ИзменитьЗначениеПолей(ПараметрыДействия: IVariables);
начало
  ИзменитьЗначениеПолей(ПараметрыДействия);
конец;

</value>
    <param value="ИзменитьЗначениеПолей" type="3" name="Export">ZIMIN\Zimin\09.12.2011 9:28:49</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="version">36.042.157</param>
    <param value="ИзменитьЗначениеПолей" type="3" name="crc32">$819C142B</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2050100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2050200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2050300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2090100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2090200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2100100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2100200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2100300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020300</V>
            <V N="Script">ВключитьВРеестр</V>
            <V N="Name">Включить документы в новый реестр или выбрать реестр из списка существующих</V>
            <V N="Params">@ВключитьВРеестр@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020400</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020500</V>
            <V N="Script">ЗаполнитьХранимыеАтрибуты</V>
            <V N="Name">Запоняет хранимые реквизиты платежа</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030300</V>
            <V N="Script">ВключитьВРеестр</V>
            <V N="Name">Включить документы в новый реестр или выбрать реестр из списка</V>
            <V N="Params">@ВключитьВРеестр@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030400</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040300</V>
            <V N="Script">ИсключитьИзОбработки</V>
            <V N="Name">Удалить из обработки документы.  Исключенные документы не будут менять состояние, при этом для них на интерфейсе будет рисоваться желтый шар(не подпадает под обработку).</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040400</V>
            <V N="Script">ВключитьВРеестр</V>
            <V N="Name">Включить документы в новый реестр или выбрать реестр из списка</V>
            <V N="Params">@ВключитьВРеестр@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040600</V>
            <V N="Script">ВыделитьЧекиДляГенерацииВозвратов</V>
            <V N="Name">Выбрать чеки для генерации возвратов и отклонить не отправленные в банк непринятые перечисления</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040700</V>
            <V N="Script">СнятьПричинуОтклоненияПеречислений</V>
            <V N="Name">Снять причину отклонения у перечислений, сформированных по указанным чекам</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040800</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050400</V>
            <V N="Script">ЗаполнитьХранимыеАтрибуты</V>
            <V N="Name">Запоняет хранимые реквизиты платежа</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3070100</V>
            <V N="Script">ПринятиеРеестра</V>
            <V N="Name">Принять реестр</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3070200</V>
            <V N="Script">ОтменаПринятияРеестра</V>
            <V N="Name">Распринять реестр</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3070300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080400</V>
            <V N="Script">ВключитьВРеестр</V>
            <V N="Name">Включить документы в новый реестр или выбрать реестр из списка</V>
            <V N="Params">@ВключитьВРеестр@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140400</V>
            <V N="Script">УдалитьДокументы</V>
            <V N="Name">Удаляет документы</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150400</V>
            <V N="Script">УдалитьДокументы</V>
            <V N="Name">Удалить документы</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230300</V>
            <V N="Script">ВключитьВРеестр</V>
            <V N="Name">Включить документы в новый реестр или выбрать реестр из списка</V>
            <V N="Params">@ВключитьВРеестр@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230400</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">16010100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">16010200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">16010300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19040100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19040200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19040300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44040100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44040200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44040300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020100</V>
            <V N="Script">СпроситьИПроставитьПричинуОтклонения</V>
            <V N="Name">Запросить в диалоге код и текст причины отклонения и проставить у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020200</V>
            <V N="Script">СпроситьИПроставитьДатуПринятия</V>
            <V N="Name">Запросить в диалоге дату принятия и проставить ее у текущего либо выделенных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыДействий">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020300</V>
            <V N="Script">ИзменитьЗначениеПолей</V>
            <V N="Name">Заполняет поля указанными значениями. Перед значением указать набор данных в виде ПоляЗаголовка.&lt;ИмяПоля&gt; или ПоляДетали.&lt;ИмяПоля&gt;</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыДействий" type="3" name="version">36.042.157</param>
  </node>
  <version_info>
    <file>Сборка.МакросыНаПереход.xml</file>
    <version>36.042.157</version>
    <info>&lt;p&gt;Общие макросы для поддержки системы состояний&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:01</buildtime>
  </version_info>
  <description>Макросы на переход</description>
  <node path="%root%\Ресурсы\Состояния\Действия\201">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\201">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\201">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\202">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\202">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\202">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\203">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\203">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\203">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\204">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\204">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\204">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\205">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\205">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\205">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\206">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\206">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\206">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\207">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\207">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\207">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\208">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\208">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\208">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\209">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\209">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\210">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\210">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\210">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\301">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\301">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\301">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода,nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$37C4245D</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\301">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="ИсключитьИзРеестра">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ИсключитьИзРеестра(ПараметрыПерехода: IVariables);
начало
  ИсключитьДокументИзРеестра(ПараметрыПерехода,nil);
конец.
</value>
    <param value="ИсключитьИзРеестра" type="3" name="version">36.042.157</param>
    <param value="ИсключитьИзРеестра" type="3" name="crc32">$F8EAD06B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="ИсключениеИзРеестра">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ИсключитьИзРеестра(ПараметрыПерехода: IVariables);
начало
  ИсключитьДокументИзРеестра(ПараметрыПерехода,nil);
конец.
</value>
    <param value="ИсключениеИзРеестра" type="3" name="version">36.042.157</param>
    <param value="ИсключениеИзРеестра" type="3" name="crc32">$F8EAD06B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="ИсключитьИзРеестра">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ИсключитьИзРеестра(ПараметрыПерехода: IVariables);
начало
  ИсключитьДокументИзРеестра(ПараметрыПерехода,nil);
конец.
</value>
    <param value="ИсключитьИзРеестра" type="3" name="version">36.042.157</param>
    <param value="ИсключитьИзРеестра" type="3" name="crc32">$F8EAD06B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\306">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\306">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\306">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\306">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\307">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода,nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$37C4245D</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\311">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\311">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\311">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\311">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\312">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\312">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\312">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\312">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="ИсключитьИзРеестра">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ИсключитьИзРеестра(ПараметрыПерехода: IVariables);
начало
  ИсключитьДокументИзРеестра(ПараметрыПерехода,nil);
конец
</value>
    <param value="ИсключитьИзРеестра" type="3" name="version">36.042.157</param>
    <param value="ИсключитьИзРеестра" type="3" name="crc32">$A8B3E015</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\316">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\317">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\317">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\317">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\317">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\318">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\318">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\318">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\318">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\322">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\322">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\322">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\322">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="ИсключитьИзРеестра">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ИсключитьИзРеестра(ПараметрыПерехода: IVariables);
начало
  ИсключитьДокументИзРеестра(ПараметрыПерехода,nil);
конец.
</value>
    <param value="ИсключитьИзРеестра" type="3" name="version">36.042.157</param>
    <param value="ИсключитьИзРеестра" type="3" name="crc32">$F8EAD06B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\324">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\324">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\324">
    <value type="7" name="ВключитьВРеестрОтклоненных">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Сценарии\Казначейство\РаботаСРеестрами";

ВключитьВРеестрОтклоненных(ПараметрыПерехода: IVariables);
начало
  ВключитьВРеестрОтклоненных(ПараметрыПерехода, nil);
конец;

</value>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="Export">ZIMIN\zimin\23.06.2009 16:49:49</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="version">36.042.157</param>
    <param value="ВключитьВРеестрОтклоненных" type="3" name="crc32">$67B97FC4</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\324">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\801">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\801">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\801">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1601">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\LibRu.lib";
включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\StateManage.lib";
включить "\Макросы\Состояния\ОбщиеКонстантыСхемы.abl";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";


ОчиститьОтклонение(ПараметрыПерехода: IVariables);
переменные
  Заголовок: СтатическиеДанные;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(ПараметрыПерехода);
  Заголовок.Редактировать;
  Заголовок.Поле("Reject_Cls").Очистить;
  Заголовок.Поле("RejectCause").Очистить;
  Заголовок.Сохранить;
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\31.03.2009 18:45:09</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$9675DC29</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1601">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1601">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1901">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1901">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1901">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1902">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1902">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1902">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1903">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1903">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1903">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1904">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1904">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1904">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1906">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1906">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1906">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\2201">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\2201">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\2201">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4401">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4401">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4401">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4403">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4403">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4403">
    <value type="7" name="УдалитьСвязанныеДокументы">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

УдалитьСвязанныеДокументы(ПараметрыПерехода: IVariables);
начало
  УдалитьСвязанныеДокументы(ПараметрыПерехода);
конец;
</value>
    <param value="УдалитьСвязанныеДокументы" type="3" name="Export">ZIMIN\zimin\11.03.2010 11:53:18</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="version">36.042.157</param>
    <param value="УдалитьСвязанныеДокументы" type="3" name="crc32">$770E42B5</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4404">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:26</param>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4404">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="Export">MALINOVKIN\malinovkin\09.04.2009 19:50:24</param>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5201">
    <value type="7" name="СпроситьИПоставитьДатуИНомерЮрОтдел">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ПоддержкаИсполнительныхЛистов.abl";

СпроситьИПоставитьДатуИНомерЮрОтдел(ПараметрыДействия: IVariables);
начало  
  ПроставитьДатуИНомер(ПараметрыДействия, "Выбор даты и номера (Юридический отдел)", "ИспЛистДатаЗаключения", "ИспЛистНомерЗаключения");
конец;
</value>
    <param value="СпроситьИПоставитьДатуИНомерЮрОтдел" type="3" name="Export">ERSHOV\ershov\17.02.2012 12:16:08</param>
    <param value="СпроситьИПоставитьДатуИНомерЮрОтдел" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПоставитьДатуИНомерЮрОтдел" type="3" name="crc32">$7D3DA2F2</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5201">
    <value type="7" name="СпроситьИПоставитьДатуИНомерЗаявки">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ПоддержкаИсполнительныхЛистов.abl";

СпроситьИПоставитьДатуИНомерЗаявки(ПараметрыДействия: IVariables);
начало  
  ПроставитьДатуИНомер(ПараметрыДействия, "Выбор даты и номера заявки", "ИспЛистДатаЗаявки", "ИспЛистНомерЗаявки");
конец;
</value>
    <param value="СпроситьИПоставитьДатуИНомерЗаявки" type="3" name="Export">ERSHOV\ershov\17.02.2012 12:16:47</param>
    <param value="СпроситьИПоставитьДатуИНомерЗаявки" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПоставитьДатуИНомерЗаявки" type="3" name="crc32">$64665B6F</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5201">
    <value type="7" name="СпроситьИПоставитьДатуИНомерПриостДействия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ПоддержкаИсполнительныхЛистов.abl";

СпроситьИПоставитьДатуИНомерПриостДействия(ПараметрыДействия: IVariables);
начало  
  ПроставитьДатуИНомер(ПараметрыДействия, "Выбор даты и номера приостановления действия", "ИспЛистДатаПриостДействия", "ИспЛистНомерПриостДействия");
конец;
</value>
    <param value="СпроситьИПоставитьДатуИНомерПриостДействия" type="3" name="Export">ERSHOV\ershov\17.02.2012 12:17:13</param>
    <param value="СпроситьИПоставитьДатуИНомерПриостДействия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПоставитьДатуИНомерПриостДействия" type="3" name="crc32">$9EEF5A32</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5201">
    <value type="7" name="СпроситьИПоставитьДатуИНомерВозобДействия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ПоддержкаИсполнительныхЛистов.abl";

СпроситьИПоставитьДатуИНомерВозобДействия(ПараметрыДействия: IVariables);
начало  
  ПроставитьДатуИНомер(ПараметрыДействия, "Выбор даты и номера возобновления действия", "ИспЛистДатаВозобДействия", "ИспЛистНомерВозобДействия");
конец;
</value>
    <param value="СпроситьИПоставитьДатуИНомерВозобДействия" type="3" name="Export">ERSHOV\ershov\17.02.2012 12:17:49</param>
    <param value="СпроситьИПоставитьДатуИНомерВозобДействия" type="3" name="version">36.042.157</param>
    <param value="СпроситьИПоставитьДатуИНомерВозобДействия" type="3" name="crc32">$BE603CE1</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5201">
    <value type="7" name="ПоставитьДатуИНомерУведОбОгрОпераций">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ПоддержкаИсполнительныхЛистов.abl";

СпроситьИПоставитьДатуИНомерУведОбОгрОпераций(ПараметрыДействия: IVariables);
начало  
  ЗаполнитьПоляУведомленияОбОграниченииОпераций(ПараметрыДействия);
конец;
</value>
    <param value="ПоставитьДатуИНомерУведОбОгрОпераций" type="3" name="Export">ERSHOV\ershov\17.02.2012 12:18:36</param>
    <param value="ПоставитьДатуИНомерУведОбОгрОпераций" type="3" name="version">36.042.157</param>
    <param value="ПоставитьДатуИНомерУведОбОгрОпераций" type="3" name="crc32">$C753968B</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5201">
    <value type="7" name="ПоставитьДатуИНомерУведОСнятииОграничений">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ПоддержкаИсполнительныхЛистов.abl";

СпроситьИПоставитьДатуИНомерЮрОтдел(ПараметрыДействия: IVariables);
начало  
   ЗаполнитьПоляУведомленияОСнятииОграничений(ПараметрыДействия);
конец;
</value>
    <param value="ПоставитьДатуИНомерУведОСнятииОграничений" type="3" name="Export">ERSHOV\ershov\17.02.2012 12:19:03</param>
    <param value="ПоставитьДатуИНомерУведОСнятииОграничений" type="3" name="version">36.042.157</param>
    <param value="ПоставитьДатуИНомерУведОСнятииОграничений" type="3" name="crc32">$0E8D0292</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5501">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5501">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5501">
    <value type="7" name="СинхронизироватьПринятиеОтклонение">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить '\Макросы\Уведомления\КонстантыДляУведомлений';
включить '\Макросы\Уведомления\ФункцииДляРаботыСКлассами';
включить '\Макросы\Уведомления\ЗапросыДляУведомлений';
включить '\Макросы\Уведомления\СервисныеФункцииДляУведомлений';
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить '\Макросы\Уведомления\ФункцииДляПолученияИсходныхДокументов';
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';

СинхронизироватьПринятиеОтклонение(ПараметрыДействия: IVariables);

функция ОтклонитьСвязанныеДокументы(ИдУведомления, КодПричиныОтконения : целое);
переменные 
  ссДанные, ссСвязанныйДокумент, ссСвязанныйДокумент_Заголовок : СтатическиеДанные; 
  ЕстьЗаголовок : целое; 
  ПрогиндексСвязанногоДокумента, ПрогиндексДетализации : поле;
начало
  попытка
    // Получаем исходные данные по ID заголовка уведомления
    ссДанные := ПолучитьУведомлениеПоИД(ИдУведомления);
    ПрогиндексСвязанногоДокумента := ссДанные.Поле('DocumentProgIndex');
    ПрогиндексДетализации := ссДанные.Поле('ProgIndex');
    ссДанные.ВНачало;
    Пока не ссДанные.ВКонце делать
    начало
      если ЕстьСвязанныйДокумент(ссДанные) тогда
      начало
        ссСвязанныйДокумент := ПолучитьСвязанныйДокумент(ссДанные);
        Если ссСвязанныйДокумент.RecordCount &lt;&gt; 0 тогда 
        начало
          ссСвязанныйДокумент.Редактировать;
          Если (ссДанные.Поле("DocumentProgIndex").КакЦелое = Класс_ВыяснениеНевыясненных) тогда
		  начало
            если КодПричиныОтконения = 0 тогда
              ссСвязанныйДокумент.Поле('Reject_Cls').Clear
            иначе   
              ссСвязанныйДокумент.Поле('Reject_Cls').КакЦелое := КодПричиныОтконения;
		  конец;
          ссСвязанныйДокумент.Сохранить;
          //Если есть заголовок у связанного документа - синхронизируем его 
          ЕстьЗаголовок := ф_ТребуетсяФормироватьЗаголовок(ПрогиндексСвязанногоДокумента.КакЦелое);
          Если ЕстьЗаголовок тогда
          начало
            ссСвязанныйДокумент_Заголовок := ПолучитьСвязанныйДокументЗаголовок(ссДанные);
            // деталь
            ссСвязанныйДокумент.Редактировать; 
            если КодПричиныОтконения = 0 тогда
              ссСвязанныйДокумент.Поле('Reject_Cls').Clear
            иначе   
              ссСвязанныйДокумент.Поле('Reject_Cls').КакЦелое := КодПричиныОтконения;
            ссСвязанныйДокумент.Сохранить;
            // заголовок
            ссСвязанныйДокумент_Заголовок.Редактировать;
            если КодПричиныОтконения = 0 тогда
              ссСвязанныйДокумент_Заголовок.Поле('Reject_Cls').Clear
            иначе   
              ссСвязанныйДокумент_Заголовок.Поле('Reject_Cls').какЦелое := КодПричиныОтконения;
            ссСвязанныйДокумент_Заголовок.Сохранить;
            ссСвязанныйДокумент_Заголовок.СохранитьИзменения;
          конец;
          ссСвязанныйДокумент.СохранитьИзменения;   
        конец;
      конец;
      ссДанные.Next;
    конец;
  обязательно
    УдалитьОбъект(ссДанные,ссСвязанныйДокумент,ссСвязанныйДокумент_Заголовок);
  конец;    
конец;

переменные
  Данные: СтатическиеДанные;
  КодИнтерфейса, КодДокумента, ДатаПринятия: целое;
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  КодИнтерфейса:=ПолучитьКодИнтерфейса(ПараметрыДействия);
  КодДокумента := Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("КодДокумента",КодИнтерфейса,0,1)).КакЦелое;         
  ДатаПринятия := Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("ДатаПринятия",КодИнтерфейса,0,1)).КакЦелое;
  ПринятьНовыйИКорретирующийДокумент(КодДокумента, ДатаПринятия);  
  ОтклонитьСвязанныеДокументы(КодДокумента, Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("ПричинаОтклонКод",КодИнтерфейса,0,1)).КакЦелое);
конец;
</value>
    <param value="СинхронизироватьПринятиеОтклонение" type="3" name="Export">ZIMIN\Zimin\30.08.2011 16:12:28</param>
    <param value="СинхронизироватьПринятиеОтклонение" type="3" name="version">36.042.157</param>
    <param value="СинхронизироватьПринятиеОтклонение" type="3" name="crc32">$79F681D8</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5502">
    <value type="7" name="СнятьДатуПринятия">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

СнятьДатуПринятия(ПараметрыПерехода: IVariables);
начало
  СнятьДатуПринятия(ПараметрыПерехода);
конец;
</value>
    <param value="СнятьДатуПринятия" type="3" name="version">36.042.157</param>
    <param value="СнятьДатуПринятия" type="3" name="crc32">$F941A07E</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5502">
    <value type="7" name="СнятьПричинуОтклонения">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОчиститьОтклонение(ПараметрыПерехода: IVariables);
начало
  СнятьПричинуОтклонения(ПараметрыПерехода);
конец;

</value>
    <param value="СнятьПричинуОтклонения" type="3" name="version">36.042.157</param>
    <param value="СнятьПричинуОтклонения" type="3" name="crc32">$8D2FD468</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5502">
    <value type="7" name="СинхронизироватьПринятиеОтклонение">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить '\Макросы\Уведомления\ФункцииДляСозданияДокументов';
включить 'Бюджет\Ресурсы\Состояния\Действия\5501\СинхронизироватьПринятиеОтклонение';

СинхронизироватьПринятиеОтклонение(ПараметрыДействия: IVariables);

переменные
  Данные: СтатическиеДанные;
  КодИнтерфейса, КодДокумента, ДатаПринятия: целое;
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  КодИнтерфейса:=ПолучитьКодИнтерфейса(ПараметрыДействия);
  КодДокумента := Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("КодДокумента",КодИнтерфейса,0,1)).КакЦелое;         
  ДатаПринятия := Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("ДатаПринятия",КодИнтерфейса,0,1)).КакЦелое;
  ПринятьНовыйИКорретирующийДокумент(КодДокумента, ДатаПринятия);  
  ОтклонитьСвязанныеДокументы(КодДокумента, Данные.ПолеПоИмени(ПолучитьИмяПоляНаШаблоне("ПричинаОтклонКод",КодИнтерфейса,0,1)).КакЦелое);
конец;
</value>
    <param value="СинхронизироватьПринятиеОтклонение" type="3" name="Export">ZIMIN\Zimin\30.08.2011 16:12:52</param>
    <param value="СинхронизироватьПринятиеОтклонение" type="3" name="version">36.042.157</param>
    <param value="СинхронизироватьПринятиеОтклонение" type="3" name="crc32">$CFECD02A</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\9915">
    <value type="7" name="ЗакрытьДень">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ЗакрытьДень(ПараметрыДействия: IVariables);
переменные
  Данные: СтатическиеДанные;
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  Данные.Редактировать;
  Данные.ПолеПоИмени("Unlock").КакЦелое := 0;
  Данные.Сохранить;
конец;
</value>
    <param value="ЗакрытьДень" type="3" name="version">36.042.157</param>
    <param value="ЗакрытьДень" type="3" name="crc32">$CAA99A9C</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\9915">
    <value type="7" name="ОткрытьДень">включить "\Библиотеки\Reports.lib";
включить "\Библиотеки\LibRu.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

ОткрытьДень(ПараметрыДействия: IVariables);
переменные
  Данные: СтатическиеДанные;
начало
  Данные := ПолучитьЗаголовокИЗКоллекции(ПараметрыДействия);
  Данные.Редактировать;
  Данные.ПолеПоИмени("Unlock").КакЦелое := 1;
  Данные.Сохранить;
конец;
</value>
    <param value="ОткрытьДень" type="3" name="version">36.042.157</param>
    <param value="ОткрытьДень" type="3" name="crc32">$54415791</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2010300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2020300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2030300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2040300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2050100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2050200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2050300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2060300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2070300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2080300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2090100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2090200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2100100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2100200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">2100300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">"ТипДочернегоДокумента=Тип дочернего документа","ТипРодительскогоДокумента=Тип родительского документа","КодИсходящейСвязи=Код исходящей связи","КодВходящейСвязи=Код входящей связи","УдалятьПустыеЗаголовки=Удалять заголовки у которых удалились все детализации"</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3010400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020400</V>
            <V N="Script">ИсключитьИзРеестра</V>
            <V N="Name">Исключить документ из реестра</V>
            <V N="Params">@ИсключитьИзРеестра@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3020500</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030400</V>
            <V N="Script">ИсключитьИзРеестра</V>
            <V N="Name">Исключить документ из реестра</V>
            <V N="Params">@ИсключитьИзРеестра@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3030500</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040400</V>
            <V N="Script">ИсключитьИзРеестра</V>
            <V N="Name">Исключить документ из реестра</V>
            <V N="Params">@ИсключитьИзРеестра@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3040500</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3050400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3060400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3070300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3080400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3110400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3120400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3140500</V>
            <V N="Script">ИсключитьИзРеестра</V>
            <V N="Name">Исключить документ из реестра</V>
            <V N="Params">@ИсключитьИзРеестра@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3150400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3170400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3180400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3220400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3230500</V>
            <V N="Script">ИсключитьИзРеестра</V>
            <V N="Name">Исключить документ из реестра</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240300</V>
            <V N="Script">ВключитьВРеестрОтклоненных</V>
            <V N="Name">Включить документ в реестр отклоненных документов</V>
            <V N="Params">@ВключитьВРеестрОтклоненных@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3240400</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">8010300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">16010100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">16010200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">16010300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19010300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19020300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19030300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19040100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19040200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19040300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">19060300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">22010300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44030300</V>
            <V N="Script">УдалитьСвязанныеДокументы</V>
            <V N="Name">Удалить связанные документы</V>
            <V N="Params">@УдалитьСвязанныеДокументы@</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44040100</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44040200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">52010100</V>
            <V N="Script">СпроситьИПоставитьДатуИНомерЮрОтдел</V>
            <V N="Name">Спросить и поставить дату и номер (Юр. отдел)</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">52010200</V>
            <V N="Script">СпроситьИПоставитьДатуИНомерЗаявки</V>
            <V N="Name">Спросить и поставить дату и номер заявки на выделение допсредств</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">52010300</V>
            <V N="Script">СпроситьИПоставитьДатуИНомерПриостДействия</V>
            <V N="Name">Спросить и поставить дату и номер приостановления действия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">52010400</V>
            <V N="Script">СпроситьИПоставитьДатуИНомерВозобДействия</V>
            <V N="Name">Спросить и поставить дату и номер возобновления действия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">52010500</V>
            <V N="Script">ПоставитьДатуИНомерУведОбОгрОпераций</V>
            <V N="Name">Поставить дату и номер уведомления об ограничении операций</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">52010600</V>
            <V N="Script">ПоставитьДатуИНомерУведОСнятииОграничений</V>
            <V N="Name">Поставить дату и номер уведомления о снятии ограничений</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010300</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55010400</V>
            <V N="Script">СинхронизироватьПринятиеОтклонение</V>
            <V N="Name">Синхронизировать принятие/отклонение связанных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020200</V>
            <V N="Script">СнятьДатуПринятия</V>
            <V N="Name">Очистить дату принятия</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020300</V>
            <V N="Script">СнятьПричинуОтклонения</V>
            <V N="Name">Очистить код и текст причины отклонения</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="%root%\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">55020400</V>
            <V N="Script">СинхронизироватьПринятиеОтклонение</V>
            <V N="Name">Синхронизировать принятие/отклонение связанных документов</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99150100</V>
            <V N="Script">ЗакрытьДень</V>
            <V N="Name">Закрыть операционный день</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="МакросыПереходов">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Script</N>
            <S>255</S>
            <DL>Script</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4096</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99150200</V>
            <V N="Script">ОткрытьДень</V>
            <V N="Name">Открыть операционный день</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="МакросыПереходов" type="3" name="version">36.042.157</param>
  </node>
  <version_info>
    <file>Сборка.МакросыПроверокИФильтров.xml</file>
    <version>36.042.157</version>
    <info>&lt;p&gt;Общие макросы для поддержки системы состояний&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:01</buildtime>
  </version_info>
  <description>Макросы проверок и фильтров</description>
  <node path="%root%\Ресурсы\Макросы\Проверки\300">
    <value type="7" name="ПроверкиКазначейства">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";

функция ПовторноеВключениеДокументаВРеестр(Коллекция: IVariables): целое;
переменные 
  Данные, ДанныеСИнтерфейса: СтатическиеДанные;
  ProgIndex: целое;
начало
  результат := 1;
  если Коллекция.ПараметрСуществует("Данные") и Коллекция.ПараметрСуществует("КодИнтерфейса") тогда
  начало
    ДанныеСИнтерфейса := Коллекция.Значение("Данные");
    выбрать Коллекция.Значение("КодИнтерфейса") из
      "302": ProgIndex := 63;
      "304": ProgIndex := 64;
    конец; 
  конец  
  иначе
    ВызватьОшибку("В коллекции нет обязательных параметров"); 
  // Если поле Reestr_Ref не изменилось, тогда проверку можно не продолжать 
  если (ДанныеСИнтерфейса.ПолеПоИмени("Reestr_Ref").СтароеЗначениеЦелое &lt;&gt; ДанныеСИнтерфейса.ПолеПоИмени("Reestr_Ref").КакЦелое) или
   (ДанныеСИнтерфейса.Состояние=dsInsert) тогда
  начало         
    Данные := СоздатьСтатическиеДанные;
    попытка
      Данные.СоединитьБД;
      Данные.Запрос := Формат("[PumpData]{ SELECT " +
        // номер платёжного поручения
        "Cpt.Docnumber, " +
        // дата платёжного поручения
        "Cpt.DocumentDate, " +
        // ссылка на реестр
        "Cpt.Reestr_ref, " +
        // сумма документа
        "Cpt.Credit, " +
        // плательщик (лицевой счет плательщика)
        "Cpt.SourceFacialAcc_CLS " +
        "FROM FacialFINCAPTION Cpt " +
        "WHERE (Cpt.ProgIndex = %d) and (Cpt.Reestr_ref = %d)}", ProgIndex, ДанныеСИнтерфейса.ПолеПоИмени("Reestr_Ref").КакЦелое);   
      Данные.Открыть;                                            
      результат := Данные.Локализовать("Docnumber;DocumentDate;Credit;SourceFacialAcc_CLS", 
        МассивИз(ДанныеСИнтерфейса.ПолеПоИмени("Docnumber").КакСтрока,
          ДанныеСИнтерфейса.ПолеПоИмени("DocumentDate").КакЦелое,
          ДанныеСИнтерфейса.ПолеПоИмени("Summa").КакСтрока,
          ДанныеСИнтерфейса.ПолеПоИмени("SourceFacialAcc_CLS").КакЦелое),0) = 0; 
    обязательно 
      УдалитьОбъект(Данные);
    конец;                
  конец;                                  
конец;
</value>
    <param value="ПроверкиКазначейства" type="3" name="Export">MALINOVKIN\malinovkin\21.06.2010 19:11:48</param>
    <param value="ПроверкиКазначейства" type="3" name="version">36.042.157</param>
    <param value="ПроверкиКазначейства" type="3" name="crc32">$33DB3A34</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Проверки\9903">
    <value type="7" name="ПроверкиОрганизаций">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";

функция ИННУникально(Коллекция: IVariables): целое;
переменные 
  Данные, ДанныеСИнтерфейса: СтатическиеДанные;
начало
  ДанныеСИнтерфейса := Коллекция.Значение("Данные");
  Данные := СоздатьСтатическиеДанные;
  Данные.СоединитьБД;
  Данные.СекцияЗапроса(swPumpData, 0) := "select * from organizations where INN=" + ДанныеСИнтерфейса.Поле("INN").КакСтрока;
  Данные.Открыть;
  если Данные.ЧислоЗаписей &gt; 0 тогда
    результат := 0
  иначе 
    результат := 1;
конец;
</value>
    <param value="ПроверкиОрганизаций" type="3" name="version">36.042.157</param>
    <param value="ПроверкиОрганизаций" type="3" name="crc32">$369DB6B6</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\ФункцииФильтрации">
    <value type="7" name="ФильтрыРеестровКазн">включить "\Библиотеки\LibRU.lib";
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

функция ЕстьОтправленныеВБанкДокументы(Коллекция: IVariables): целое;
переменные 
  Данные, Заголовок: СтатическиеДанные;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(Коллекция);     
  Данные := СоздатьСтатическиеДанные;
  попытка
    Данные.СоединитьБД;
    Данные.Запрос := '[PumpData]{
      select
        ffc.id
      from FacialFinCaption ffc
        inner join PayDocExchange pde on (pde.PayDocRef=ffc.id) 
      where ffc.Reestr_ref = @ReestrID}';
    Данные.Параметр('ReestrID') := Заголовок.ПолеПоИмени('ID').КакЦелое;                         
    Данные.Открыть;                                            
    результат := Данные.ЧислоЗаписей &gt; 0; 
  обязательно 
    УдалитьОбъект(Данные);                
  конец;                                  
конец;
</value>
    <param value="ФильтрыРеестровКазн" type="3" name="Export">GREKOVSV\grekovsv\23.11.2012 11:37:31</param>
    <param value="ФильтрыРеестровКазн" type="3" name="version">36.042.157</param>
    <param value="ФильтрыРеестровКазн" type="3" name="crc32">$4F1C6902</param>
  </node>
  <version_info>
    <file>Сборка.Состояния_управление.xml</file>
    <version>36.042.157</version>
    <info>&lt;p&gt;Общие макросы для поддержки системы состояний&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:01</buildtime>
  </version_info>
  <description>Указания на макрос управления сценарием для системы состояний</description>
  <node path="%root%\Ресурсы\Состояния\Действия\201">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\202">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\203">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\204">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\205">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\206">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\207">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\208">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\209">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\210">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\301">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\302">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\303">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\304">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\305">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\306">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\307">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\308">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\311">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\312">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\314">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\315">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\317">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\318">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\322">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\323">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\324">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\801">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1601">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1901">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1902">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1903">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1904">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\1906">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\2201">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4401">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4403">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4404">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\4901">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="Export">NEWBURDELNY\burdelny\27.08.2007 15:57:42</param>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5501">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\5502">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <node path="%root%\Ресурсы\Состояния\Действия\9915">
    <value type="7" name="Управление_ДляСценариев">включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";

УправляющийВПП(ПараметрыДействия: IVariables);
начало
  ВыполнитьСценарийДляДействия(ПараметрыДействия);
конец;
</value>
    <param value="Управление_ДляСценариев" type="3" name="version">36.042.157</param>
    <param value="Управление_ДляСценариев" type="3" name="crc32">$559DB169</param>
  </node>
  <version_info>
    <file>сохранение.xml</file>
    <version>36.042.50</version>
    <info>управление сохранением в базу данных произвольной конфигурационной и декларативной информации (раскладка контролей, печатных документов по интерфейсам, интерфейсов и отчетов по рабочим местам и т.д.). В качестве промежуточного хранилища данных используется удаленный реестр.</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:05</buildtime>
  </version_info>
  <description>Макросы сохранения табличных данных из реестра в базу данных</description>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="ЗаменаОтчетов">включить "\библиотеки\LibRu.lib";

константы
  ПутьКДанным = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";
  ИмяДанных = "ОтчетДляЗамены";
  Запрос = "delete from workplaces_newreports where ID in 
             (select ID from workplaces_newreports
              where reports_ref = %d /*Заменяемый отчет*/ and
                  workplaces_ref in (select workplaces_ref 
                                     from workplaces_newreports
                                     where reports_ref = %d /*Отчет для замены*/))";

переменные
  ДанныеДляЗамены: СтатическиеДанные;
  КлассОтчетаДляЗамены, КлассЗаменяемогоОтчета: Целое;
начало
  если не Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
    выход;
  ДанныеДляЗамены := СоздатьДанныеИзРеестра(ПутьКДанным, ИмяДанных);
  ОткрытьТранзакцию;
  попытка  
    попытка 
      ДанныеДляЗамены.ВНачало; 
      пока не ДанныеДляЗамены.ВКонце делать
      начало
        КлассОтчетаДляЗамены := ДанныеДляЗамены.ПолеПоИмени("REPORTS_REF").КакЦелое;
        КлассЗаменяемогоОтчета := ДанныеДляЗамены.ПолеПоИмени('OldCode').КакЦелое; 
        //удалим записи со старым отчетом и рабочим местом на котором уже зарегистрирован новый отчет
        ВыполнитьЗапрос(Формат(Запрос, КлассЗаменяемогоОтчета, КлассОтчетаДляЗамены));
        ВыполнитьЗапрос(Формат("Update WORKPLACES_NEWREPORTS set REPORTS_REF = %d, NOTE = '%s', ORDERBY = %d where REPORTS_REF = %d", 
                               КлассОтчетаДляЗамены, ДанныеДляЗамены.ПолеПоИмени("NOTE").КакСтрока, 
                               ДанныеДляЗамены.ПолеПоИмени("ORDERBY").КакЦелое, КлассЗаменяемогоОтчета));
        ДанныеДляЗамены.Следующая;
      конец;
      ЗакрытьТранзакцию;
    неудача
      ОтменитьТранзакцию;
      ВозбудитьОшибку("При замене отчета " + ФорматироватьКлассификатор(КлассЗаменяемогоОтчета, "99.99.99.99") + " на отчет " +
                      ФорматироватьКлассификатор(КлассОтчетаДляЗамены, "99.99.99.99") + " возникла ошибка" + #13#10 + ПоследняяОшибка);
    конец;  
  обязательно
    УдалитьОбъект(ДанныеДляЗамены);
    если Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
      Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;
  конец;
конец. 
</value>
    <param value="ЗаменаОтчетов" type="3" name="Export">ALESENKAS\alesenkas\16.11.2010 13:51:39</param>
    <param value="ЗаменаОтчетов" type="3" name="version">36.042.50</param>
    <param value="ЗаменаОтчетов" type="3" name="crc32">$60BD8A0E</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="ЗаменаРаскладки_New">включить "\библиотеки\LibRu.lib";

константы
  ПутьКДанным = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";  
  ИмяДанных = "РаскладкаДляЗамены";
  ШаблонЗапросаКтрл = "Update ITF_CTRL set Enable = %d, Ctrl_Ref = %d,  Note ='%s', OrderBy = %d, ControlField = '%s', 
                                           CtrlOptions = %d, ElemFilter = '%s', ErrorMessage = '%s', ScenarioRef = %s
                         where %s";
  ШаблонЗапросаДок  = "Update ITF_DOCS set Enable = %d, Doc_Ref = %d, Note = '%s', OrderBy = %d, DefaultExec = %d,
                                           ElemFilter = '%s', ErrorMessage = '%s'
                         where %s";
    
  // тип документа из раскладчика
  Раскладка_Контроль   = 0;
  Раскладка_Документ   = 1;
  Раскладка_Импорт     = 2;
  Раскладка_Экспорт    = 3;
  Раскладка_Генерация  = 4;
  Раскладка_Сценарий   = 5;
  
// по типу документа переданному при экспорте возращает тип документа, который должен быть в базе
функция ПолучитьРеальныйТипДокумента(ТипДокумента: Целое): Целое;
начало
  Результат := -1;
  Выбрать ТипДокумента из
    Раскладка_Контроль: Результат := 0;
    Раскладка_Документ, Раскладка_Импорт, Раскладка_Экспорт: Результат := ТипДокумента - 1;
    Раскладка_Генерация: Результат := 1;
    Раскладка_Сценарий: Результат := 3; 
  конец;  
конец;

// проверяет, есть ли такая раскладка
функция ПроверитьСуществованиеРаскладки(НовыйКод, ТипДокумента: целое): целое;
переменные
  Данные: СтатическиеДанные;
начало
  Результат := нет;
  Данные := СоздатьСтатическиеДанные;
  попытка
    выбрать ТипДокумента из
       Раскладка_Контроль, Раскладка_Генерация: 
         Данные.Запрос := Формат('[PumpData]{select ID from ITF_CTRL where Ctrl_Ref = %d}', НовыйКод);       
       Раскладка_Сценарий: 
         Данные.Запрос := Формат('[PumpData]{select ID from ITF_CTRL where ScenarioRef = %d}', НовыйКод);
       Раскладка_Документ, Раскладка_Импорт, Раскладка_Экспорт: 
         Данные.Запрос := Формат('[PumpData]{select ID from ITF_DOCS where Doc_Ref = %d}', НовыйКод);        
    конец;
    Данные.СоединитьБД;
    Данные.Открыть;
    если Данные.ЧислоЗаписей &gt; 0 тогда
      Результат := да;
  обязательно
    УдалитьОбъект(Данные);
  конец;
конец;

// по типу документа формирует ограничения запроса
функция ПолучитьОграничениеПоТипуДокумента(ДанныеИзРеестра: СтатическиеДанные; Код: целое): строка;
переменные
  ОгрНаПусто: строка;
  ТипДокумента: целое;
начало
  Результат := '(1&lt;&gt;1)'; // заглушка на случай, если добавят новый тип документа
  ТипДокумента := ДанныеИзРеестра.ПолеПоИмени('Type').КакЦелое; 
  ОгрНаПусто := '';
  если (ТипДокумента = Раскладка_Контроль) или (ТипДокумента = Раскладка_Документ) тогда
    ОгрНаПусто := ' or (DocIndex is Null)';
  выбрать ТипДокумента из 
    Раскладка_Контроль, Раскладка_Генерация:
      Результат := '(Ctrl_Ref = %d) and ((DocIndex = %d)%s)';  
    Раскладка_Сценарий:
      Результат := '(ScenarioRef = %d) and ((DocIndex = %d)%s)';
    Раскладка_Документ, Раскладка_Импорт, Раскладка_Экспорт:
      Результат := '(Doc_Ref = %d) and ((DocIndex = %d)%s)'; 
  конец;
  Результат := Формат(Результат, Код, ПолучитьРеальныйТипДокумента(ТипДокумента), ОгрНаПусто)     
конец;

// удаление старой раскладки
функция УдалитьСтаруюРаскладку(ДанныеИзРеестра: СтатическиеДанные);
переменные
  СтарыйКод: целое;
начало
  СтарыйКод := ДанныеИзРеестра.ПолеПоИмени('OldCode').КакЦелое;  
  выбрать ДанныеИзРеестра.ПолеПоИмени('Type').КакЦелое из
    Раскладка_Контроль, Раскладка_Генерация, Раскладка_Сценарий:
      ВыполнитьЗапрос(Формат('Delete from ITF_CTRL where %s', ПолучитьОграничениеПоТипуДокумента(ДанныеИзРеестра, СтарыйКод)));
    Раскладка_Документ, Раскладка_Импорт, Раскладка_Экспорт:
      ВыполнитьЗапрос(Формат('Delete from ITF_DOCS where %s', ПолучитьОграничениеПоТипуДокумента(ДанныеИзРеестра, СтарыйКод)));        
  конец;
конец;

// замена раскладки
функция ЗаменитьРаскладку(ДанныеИзРеестра: СтатическиеДанные; РаскладкаСуществует: целое);
переменные           
  НовыйКод, СтарыйКод, ТипДокумента: Целое;
  Запрос, Ограничение, ЗначениеПоляСсылкиНаСценарий: строка;
начало
  НовыйКод := ДанныеИзРеестра.ПолеПоИмени('Doc_Ref').КакЦелое;
  СтарыйКод := ДанныеИзРеестра.ПолеПоИмени('OldCode').КакЦелое;
  ТипДокумента := ДанныеИзРеестра.ПолеПоИмени('Type').КакЦелое;
  если РаскладкаСуществует тогда
  начало
    УдалитьСтаруюРаскладку(ДанныеИзРеестра);
    Ограничение :=  ПолучитьОграничениеПоТипуДокумента(ДанныеИзРеестра, НовыйКод)
  конец
  иначе
    Ограничение := ПолучитьОграничениеПоТипуДокумента(ДанныеИзРеестра, СтарыйКод); 
  выбрать ТипДокумента из
    Раскладка_Контроль, Раскладка_Генерация,  Раскладка_Сценарий:
    начало   
      ЗначениеПоляСсылкиНаСценарий := 'null';
      если ТипДокумента = Раскладка_Сценарий тогда
        ЗначениеПоляСсылкиНаСценарий := НовыйКод;         
      Запрос := Формат(ШаблонЗапросаКтрл, ДанныеИзРеестра.ПолеПоИмени('Enable').КакЦелое,
                                          НовыйКод,
                                          ДанныеИзРеестра.ПолеПоИмени('Note').КакСтрока,
                                          ДанныеИзРеестра.ПолеПоИмени('OrderBy').КакЦелое,
                                          ДанныеИзРеестра.ПолеПоИмени('ControlField').КакСтрока,
                                          ДанныеИзРеестра.ПолеПоИмени('CtrlOptions').КакЦелое,
                                          ДанныеИзРеестра.ПолеПоИмени('ElemFilter').КакСтрока,
                                          ДанныеИзРеестра.ПолеПоИмени('ErrorMessage').КакСтрока,
                                          ЗначениеПоляСсылкиНаСценарий, Ограничение);                                                 
    конец;   
    Раскладка_Документ, Раскладка_Импорт, Раскладка_Экспорт:
    начало      
      Запрос := Формат(ШаблонЗапросаДок, ДанныеИзРеестра.ПолеПоИмени('Enable').КакЦелое,
                                         НовыйКод,
                                         ДанныеИзРеестра.ПолеПоИмени('Note').КакСтрока,
                                         ДанныеИзРеестра.ПолеПоИмени('OrderBy').КакЦелое,
                                         ДанныеИзРеестра.ПолеПоИмени('DefaultExec').КакЦелое,
                                         ДанныеИзРеестра.ПолеПоИмени('ElemFilter').КакСтрока,
                                         ДанныеИзРеестра.ПолеПоИмени('ErrorMessage').КакСтрока,
                                         Ограничение);
    конец; 
  конец;
  ВыполнитьЗапрос(Запрос);
конец;

// удаление конфигурации сценария
функция УдалитьКонфигурациюСценария(КодДокумента: целое);
начало
  // удаляем элементы сценария
  ВыполнитьЗапрос(Формат('Delete from State_JumpControl where ScenarioRef = %d', КодДокумента));
  //заголовок
  ВыполнитьЗапрос(Формат('Delete from Scenario where ID = %d', КодДокумента));     
конец;

// замена в сценариях
функция ЗаменитьВСценариях(НовыйКод, СтарыйКод, ТипДокумента: целое);
переменные
  ТипЭлементаСценария: целое;
  Запрос: строка;
начало                                
  если не(ТипДокумента = Раскладка_Сценарий) тогда
  начало  
    ТипЭлементаСценария := ТипДокумента;
    если ТипДокумента = Раскладка_Генерация тогда
      ТипЭлементаСценария := 2;
    Запрос := Формат("Update State_JumpControl set ControlCode = %d 
                      where (ControlCode = %d) and (RecordType = %d)",
                      НовыйКод, СтарыйКод, ТипЭлементаСценария);
  конец
  иначе
    Запрос := Формат("Update State_JumpControl set ControlCode = %d,
                                                   ElementScenarioRef = %d 
                      where(ControlCode = %d) and (RecordType in (7,8))",
                      НовыйКод, НовыйКод, СтарыйКод);
  ВыполнитьЗапрос(Запрос);
конец;

функция ЗаменаРаскладки;
переменные
  ДанныеИзРеестра: СтатическиеДанные;
  ТипДокумента,НовыйКод,СтарыйКод: Целое;
начало
  если не реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда выход;
  ДанныеИзРеестра := СоздатьДанныеИзРеестра(ПутьКДанным,ИмяДанных);
  ОткрытьТранзакцию;
  попытка 
    попытка
      ДанныеИзРеестра.ВНачало;
      пока не ДанныеИзРеестра.ВКонце делать
      начало
        НовыйКод := ДанныеИзРеестра.Поле("Doc_ref").КакЦелое;
        СтарыйКод := ДанныеИзРеестра.Поле("OldCode").КакЦелое; 
        ТипДокумента := ДанныеИзРеестра.Поле("Type").КакЦелое;
        ЗаменитьРаскладку(ДанныеИзРеестра, ПроверитьСуществованиеРаскладки(НовыйКод, ТипДокумента));
        ЗаменитьВСценариях(НовыйКод, СтарыйКод, ТипДокумента);
        если ТипДокумента = Раскладка_Сценарий тогда
          УдалитьКонфигурациюСценария(СтарыйКод);
        ДанныеИзРеестра.Следующая;
      конец; 
      ЗакрытьТранзакцию;
    неудача
      ОтменитьТранзакцию;
      ВозбудитьОшибку("Замена раскладки " + ФорматироватьКлассификатор(СтарыйКод,"99.99.99.99") + " на " +
      ФорматироватьКлассификатор(НовыйКод,"99.99.99.99") + " потерпела неудачу:" + #13#10 + ПоследняяОшибка);
    конец;
  обязательно
    УдалитьОбъект(ДанныеИзРеестра);
    Если Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
      Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;
  конец; 
конец;

начало
  ЗаменаРаскладки;  
конец.
</value>
    <param value="ЗаменаРаскладки" type="3" name="Export">ALESENKASNEW\alesenkas\24.02.2012 10:19:54</param>
    <param value="ЗаменаРаскладки_New" type="3" name="version">36.042.50</param>
    <param value="ЗаменаРаскладки_New" type="3" name="crc32">$ACFE2089</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеИнтерфейсов">включить "\библиотеки\LibRu.lib";

константы
  ПутьКДанным = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";  
  ИмяДанных   = "Интерфейсы";
  
// скрипт на выбор и вставку интерфейсов
функция ЗапросИнтерфейсов: Строка;
начало
  Результат := "[pumpdata]{select id,GUID,NOTE,CLS,Param,ParamCollection from Interfaces}" +
               "[insertdata]{insert into Interfaces (ID,GUID,NOTE,CLS,Param,ParamCollection) " + 
                            "values (@ID,@GUID,@NOTE,@CLS,@Param,@ParamCollection)}";
конец;

// скрипт на выбор, вставку и обновление иф на РМ
функция ЗапросИнтерфейсовНаРМ: Строка;
начало
  Результат := "[pumpdata]{select wi.ID,wi.Workplaces_ref,wi.Interfaces_ref,wi.Note,wi.OrderBy,i.GUID " +
                           "from Workplaces_Interface wi " +
                           "left join Interfaces i on (wi.Interfaces_ref = i.ID)}" +
               "[insertdata]{insert into Workplaces_Interface (ID,Workplaces_ref,Interfaces_ref,Note,OrderBy) " +
                            "values (@ID,@Workplaces_ref,@Interfaces_ref,@Note,@OrderBy)}" +
               "[modifydata]{update Workplaces_Interface set " +
                            "Workplaces_ref=@Workplaces_ref,Interfaces_ref=@Interfaces_ref,Note=@Note,OrderBy=@OrderBy where Id =@ID}"                           
конец;

// скрипт на выбор и вставку РМ
функция ЗапросРМ: Строка;
начало
  Результат := "[pumpdata]{select ID,Note from Workplaces}"+
               "[insertdata]{insert into Workplaces (ID,NOTE) values (@ID,@NOTE)}"  
конец;

функция ПолучитьТаблицуПоЗапросу(Скрипт: Строка): СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  попытка
    Результат.СоединитьБД;
    Результат.Запрос := Скрипт;
    Результат.Открыть;
  неудача
    УдалитьОбъект(Результат);
    Результат := nil;
    ВозбудитьОшибку(ПоследняяОшибка);
  конец;
конец;

// основная функция, осуществляющая импорт данных.  
Функция ИмпортИнтерфейсаИзРеестра; 
переменные    
  ДанныеИзРеестра,ИнтерфейсыНаРМ, Интерфейсы,РабочиеМеста: СтатическиеДанные;
  КодИнтерфейса, КодРабочегоМеста,сч: Целое;
  НазваниеРМ,Гвид: Строка;
  СписокРМ: Текст;
начало
  Если не реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда выход;
  
  Интерфейсы := ПолучитьТаблицуПоЗапросу(ЗапросИнтерфейсов);
  ИнтерфейсыНаРМ := ПолучитьТаблицуПоЗапросу(ЗапросИнтерфейсовНаРМ);
  РабочиеМеста := ПолучитьТаблицуПоЗапросу(ЗапросРМ);
  // получаем статические данные из узла реестра, которые нужно импортировать в базу
  ДанныеИзРеестра := СоздатьДанныеИзРеестра(ПутьКДанным,ИмяДанных);
  СписокРМ := СоздатьТекст;  
  ОткрытьТранзакцию;
  попытка попытка
    ДанныеИзРеестра.ВНачало;
    пока не ДанныеИзРеестра.ВКонце делать
    начало
      // необходимо найти код интерфейса
      Если Интерфейсы.Локализовать("GUID;Param",МассивИз(ДанныеИзРеестра.ПолеПоИмени("GUID").КакСтрока,УбратьПробелы(ДанныеИзРеестра.ПолеПоИмени("Param").КакСтрока)), 0) тогда
        КодИнтерфейса := Интерфейсы.ПолеПоИмени("ID").КакЦелое      
      иначе начало
        Интерфейсы.Вставить;
        КодИнтерфейса := ГенерироватьДиап("g_Shared");
        Интерфейсы.ПолеПоИмени("ID").КакЦелое               := КодИнтерфейса;
        Интерфейсы.ПолеПоИмени("GUID").КакСтрока            := ДанныеИзРеестра.ПолеПоИмени("GUID").КакСтрока;
        Интерфейсы.ПолеПоИмени("NOTE").КакСтрока            := ДанныеИзРеестра.ПолеПоИмени("DefaultNote").КакСтрока;
        Интерфейсы.ПолеПоИмени("CLS").КакСтрока             := ДанныеИзРеестра.ПолеПоИмени("CLS").КакСтрока;
        Интерфейсы.ПолеПоИмени("Param").КакСтрока           := ДанныеИзРеестра.ПолеПоИмени("Param").КакСтрока;
        Интерфейсы.ПолеПоИмени("ParamCollection").КакСтрока := ДанныеИзРеестра.ПолеПоИмени("ParamCollection").КакСтрока;
        Интерфейсы.Сохранить;
      конец;
      СписокРМ.Удалить;
      Гвид := ДанныеИзРеестра.ПолеПоИмени("SrcGUID").КакСтрока; 
      // находим РМ на которое надо положить интерфейс по GUID
      Если УбратьПробелы(Гвид) &lt;&gt; "" тогда
      начало
        ИнтерфейсыНаРМ.ВНачало;
        Пока не ИнтерфейсыНаРм.ВКонце делать
        начало
          Если ИнтерфейсыНаРМ.ПолеПоИмени("GUID").КакСтрока = Гвид тогда
            СписокРМ.Добавить(ИнтерфейсыНаРМ.ПолеПоИмени("Workplaces_Ref").КакСтрока);
          ИнтерфейсыНаРМ.Следующая;  
        конец;
      конец;
      // находим РМ по названию
      НазваниеРМ := ДанныеИзРеестра.ПолеПоИмени("NameWorkPlace").КакСтрока;
      Если СписокРМ.Количество = 0 тогда
      начало
        РабочиеМеста.ВНачало;
        Пока не РабочиеМеста.ВКонце делать
        начало
          Если РабочиеМеста.ПолеПоИмени("NOTE").КакСтрока = НазваниеРМ тогда
            СписокРМ.Добавить(РабочиеМеста.ПолеПоИмени("ID").КакСтрока);  
          РабочиеМеста.Следующая;
        конец;
      конец;
      // добавляем новое РМ
      Если СписокРМ.Количество = 0 тогда
      начало
        РабочиеМеста.Вставить;
        КодРабочегоМеста := ГенерироватьДиап("g_Shared");
        РабочиеМеста.ПолеПоИмени("ID").КакЦелое := КодРабочегоМеста;
        РабочиеМеста.ПолеПоИмени("NOTE").КакСтрока := НазваниеРМ;
        РабочиеМеста.Сохранить;
        СписокРМ.Добавить(ЦелоеВСтроку(КодРабочегоМеста));
      конец;
    
      От сч := 0 до СписокРМ.Количество - 1 делать
      начало
        Если ИнтерфейсыНаРМ.Локализовать("WORKPLACES_REF;INTERFACES_REF",МассивИз(СписокРМ.Стр(сч),КодИнтерфейса),0) тогда
          ИнтерфейсыНаРМ.Редактировать
        иначе
        начало
          ИнтерфейсыНаРМ.Вставить;
          ИнтерфейсыНаРМ.ПолеПоИмени("WORKPLACES_REF").КакСтрока := СписокРМ.Стр(сч);
          ИнтерфейсыНаРМ.ПолеПоИмени("INTERFACES_REF").КакЦелое := КодИнтерфейса;
        конец;
        ИнтерфейсыНаРМ.ПолеПоИмени("NOTE").КакСтрока := данныеИзРеестра.ПолеПоИмени("Note").КакСтрока;
        если не данныеИзРеестра.ПолеПоИмени("ORDERBY").Пустое тогда
          ИнтерфейсыНаРМ.ПолеПоИмени("ORDERBY").КакЦелое := данныеИзРеестра.ПолеПоИмени("ORDERBY").КакЦелое;  
        ИнтерфейсыНаРМ.Сохранить;
      конец;
      
      ДанныеИзРеестра.Следующая;
    конец;
    // порядок важен
    Интерфейсы.СохранитьИзменения;
    РабочиеМеста.СохранитьИзменения;
    ИнтерфейсыНаРМ.СохранитьИзменения;
     
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    ВозбудитьОшибку("Импорт интерфейса " + данныеИзРеестра.ПолеПоИмени("DefaultNote").КакСтрока + " потерпел неудачу" + #13#10 + ПоследняяОшибка);
  конец;  
  обязательно
    УдалитьОбъект(Интерфейсы,ИнтерфейсыНаРМ,СписокРМ,РабочиеМеста,ДанныеИзРеестра);
    Если реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
      реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;  
  конец;  
конец;

начало
  ИмпортИнтерфейсаИзРеестра;
конец.
</value>
    <param value="СохранениеИнтерфейсов" type="3" name="version">36.042.50</param>
    <param value="СохранениеИнтерфейсов" type="3" name="crc32">$681E2952</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеКартинок">включить "\Библиотеки\Libru.lib";

константы
  ПутьКДанным = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";
  ИмяДанных   = "Картинки";

// Скрипт на выбор, вставку и обновление статусных картинок
функция ЗапросКартинок: Строка;
начало
  Результат := "[pumpdata]{select ID, DocRef, DetailNum, DocParam, IconName, IsSystem, IconPos,
                                  RunPos, ReservePos, IconHint, IconKind, LockMask, Formula, Note
                           from StatusIcons}" +
               "[insertdata]{insert into StatusIcons
                               (ID,DocRef, DetailNum, DocParam, IconName, IsSystem, IconPos,
                                RunPos, ReservePos, IconHint, IconKind, LockMask, Formula, Note)
                             values
                               (~ID,~DocRef, ~DetailNum, ~DocParam, ~IconName, ~IsSystem, ~IconPos,
                                ~RunPos, ~ReservePos, ~IconHint, ~IconKind, ~LockMask, ~Formula, ~Note)}" +
               "[modifydata]{update StatusIcons set
                               DocRef = ~DocRef, DetailNum = ~DetailNum, DocParam = ~DocParam, IconName = ~IconName,
                               IsSystem = ~IsSystem, IconPos = ~IconPos, RunPos = ~RunPos, ReservePos = ~ReservePos,
                               IconHint = ~IconHint, IconKind = ~IconKind, LockMask = ~LockMask, Formula = ~Formula, Note = ~Note  
                             where ID = ~ID}";
конец;

функция ПолучитьТаблицуПоЗапросу(Скрипт: Строка): СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  попытка
    Результат.СоединитьБД;
    Результат.Запрос := Скрипт;
    Результат.Открыть;
  неудача
    УдалитьОбъект(Результат);
    ошибка;
  конец;
конец;

функция ИмпортКартинок;
переменные
  ДанныеИзРеестра, Картинки: СтатическиеДанные;
начало
  Если не Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
    выход;
 
  ДанныеИзРеестра := СоздатьДанныеИзРеестра(ПутьКДанным, ИмяДанных);
  Картинки := ПолучитьТаблицуПоЗапросу(ЗапросКартинок);
  ОткрытьТранзакцию;
  попытка попытка
    ДанныеИзРеестра.Вначало;
    пока не ДанныеИзРеестра.Вконце делать
    начало
      Если Картинки.Локализовать("ID", ДанныеИзРеестра.Поле("ID").КакЦелое, 0) тогда
        Картинки.Редактировать
      иначе
      начало
        Картинки.Вставить;
        Картинки.Поле("ID").КакСтрока       := ДанныеИзРеестра.Поле("ID").КакСтрока;
      конец;
      Картинки.Поле("DocRef").КакСтрока     := ДанныеИзРеестра.Поле("DocRef").КакСтрока;    
      Картинки.Поле("DetailNum").КакСтрока  := ДанныеИзРеестра.Поле("DetailNum").КакСтрока;
      Картинки.Поле("DocParam").КакСтрока   := ДанныеИзРеестра.Поле("DocParam").КакСтрока;
      Картинки.Поле("IconName").КакСтрока   := ДанныеИзРеестра.Поле("IconName").КакСтрока;
      Картинки.Поле("IsSystem").КакСтрока   := ДанныеИзРеестра.Поле("IsSystem").КакСтрока;
      Картинки.Поле("IconPos").КакСтрока    := ДанныеИзРеестра.Поле("IconPos").КакСтрока;
      Картинки.Поле("RunPos").КакСтрока     := ДанныеИзРеестра.Поле("RunPos").КакСтрока;
      Картинки.Поле("ReservePos").КакСтрока := ДанныеИзРеестра.Поле("ReservePos").КакСтрока;
      Картинки.Поле("IconHint").КакСтрока   := ДанныеИзРеестра.Поле("IconHint").КакСтрока;
      Картинки.Поле("IconKind").КакСтрока   := ДанныеИзРеестра.Поле("IconKind").КакСтрока;
      Картинки.Поле("LockMask").КакСтрока   := ДанныеИзРеестра.Поле("LockMask").КакСтрока;
      Картинки.Поле("Formula").КакСтрока    := ДанныеИзРеестра.Поле("Formula").КакСтрока;
      Картинки.Поле("Note").КакСтрока       := ДанныеИзРеестра.Поле("Note").КакСтрока;
      Картинки.Сохранить;
      ДанныеИзРеестра.Следующая;
    конец;
    Картинки.СохранитьИзменения;
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    ошибка ("При импорте статусных картинок возникла ошибка:" + #13#10 + ПоследняяОшибка);
  конец;  
  обязательно
    УдалитьОбъект(ДанныеИзРеестра, Картинки);
    Если Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
      Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;
  конец; 
конец;

начало
  ИмпортКартинок;  
конец.
</value>
    <param value="СохранениеКартинок" type="3" name="Export">ORDENOV\ordenov\30.03.2010 19:42:30</param>
    <param value="СохранениеКартинок" type="3" name="version">36.042.50</param>
    <param value="СохранениеКартинок" type="3" name="crc32">$3D6F07BB</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеКатегорийДокументов">включить '\Библиотеки\LibRu.lib';
включить 'Бюджет\Ресурсы\Макросы\Сохранение\СохранениеПрав';

константы
  узел_СохранениеДанныеЭлАрхива = 'Бюджет\Ресурсы\Макросы\Сохранение\ДанныеЭлАрхива';
  значение_Заголовок = 'ArchiveDocTypesCaption';
  значение_Деталь = 'ArchiveDocTypesDetail';
  значение_Права = 'ArchiveDocTypesRights';
  объектПрава_КатегорииАрхивныхДокументов = 26000000;
  запрос_ЗаголовокКатегорий = '[PumpData]{select * from ArchiveDocType}
                               [ModifyData]{update ArchiveDocType set %s where (ID = @ID)}
                               [InsertData]{insert into ArchiveDocType (%s) values (%s)}';
  запрос_ДетальКатегорий = '[PumpData]{select * from ArchiveDocParams where (1 &lt;&gt; 1)}
                            [InsertData]{insert into ArchiveDocParams (%s) values (%s)}';
                                                                                        
  запрос_СхемаПодписания  =  '[PumpData]{select ID, Name from SIGNSCHEMECAPTION}';

функция ДобавитьСтроку(стр1, стр2: строка);
начало
  если стр1 = "" тогда
    стр1 := стр2
  иначе
    стр1 := стр1 + ", " + стр2;
конец;

функция ЗаполнитьЗапросЗаголовка(ДанныеРеестра, ДанныеБД: СтатическиеДанные);
переменные
  сч: целое;
  тмп_Поле: Поле;
  Поля, Параметры, Поля_Параметры: строка;
начало  
  от сч :=  0 до ДанныеБД.ЧислоПолей - 1 делать
    если ДанныеРеестра.НайтиПоле(ДанныеБД.поля(сч).Имя, тмп_Поле) тогда
    начало
      ДобавитьСтроку(Поля, ДанныеБД.поля(сч).Имя);
      ДобавитьСтроку(Параметры, "~" + ДанныеБД.поля(сч).Имя);
      ДобавитьСтроку(Поля_Параметры, Формат("%s=~%0:s", ДанныеБД.поля(сч).Имя));
    конец;
  ДанныеРеестра.Запрос := Формат(запрос_ЗаголовокКатегорий, Поля_Параметры, Поля, Параметры);
конец;

функция ЗаполнитьЗапросДетали(ДанныеРеестра: СтатическиеДанные);
переменные
  сч: целое;
  тмп_Поле: Поле;
  Поля, Параметры: строка;
  ДанныеБД: СтатическиеДанные;
начало
  ДанныеБД := СоздатьСтатическиеДанные;
  попытка
    ДанныеБД.СоединитьБД;
    ДанныеБД.Запрос := запрос_ДетальКатегорий;
    ДанныеБД.Открыть;
    от сч :=  0 до ДанныеБД.ЧислоПолей - 1 делать
      если ДанныеРеестра.НайтиПоле(ДанныеБД.поля(сч).Имя, тмп_Поле) тогда
      начало
        ДобавитьСтроку(Поля, ДанныеБД.поля(сч).Имя);
        ДобавитьСтроку(Параметры, "~" + ДанныеБД.поля(сч).Имя);
      конец;
    ДанныеРеестра.Запрос := Формат(запрос_ДетальКатегорий, Поля, Параметры);
  обязательно
    УдалитьОбъект(ДанныеБД);
  конец;
конец;

// удаляет детализацию категории по ссылке на заголовок
функция УдалитьДеталь(СсылкаЗаголовок: целое);
начало
  ВыполнитьЗапрос(Формат('delete from ArchiveDocParams where RecordIndex = %d', СсылкаЗаголовок));
конец;
  
/* проставляет для записей деталей сылку на заголовок, обнуляет ID записей, чтобы 
   они проставились триггером */
функция ПроставитьСсылкуНаЗаголовок(Деталь: СтатическиеДанные; СсылкаЗаголовок: целое);
начало
  Деталь.ВНачало;
  пока не Деталь.ВКонце делать
  начало
    Деталь.ПолеПоИмени('RecordIndex').КакЦелое := СсылкаЗаголовок;
    Деталь.ПолеПоИмени('ID').Clear;
    Деталь.UpdateStatus :=  usInserted;
    Деталь.Следующая;
  конец;  
конец;

// осуществляет заполнение справочника категорий архивных документов
функция СохранитьКатегории(ЗаголовокКатегорий, ДетальКатегорий, ПраваКатегорий: СтатическиеДанные);
переменные
  ДанныеЗаголовкаБД, ДанныеСхемПодписания: СтатическиеДанные;
начало
  ДанныеЗаголовкаБД := СоздатьСтатическиеДанные;
  ДанныеСхемПодписания := СоздатьСтатическиеДанные;
  попытка
    для ДанныеСхемПодписания делать
    начало
      .Запрос := запрос_СхемаПодписания;
      .IndexFieldNames := 'Name';
      .СоединитьБД;
      .Открыть;
    конец;
    для ДанныеЗаголовкаБД делать
    начало
      .Запрос := запрос_ЗаголовокКатегорий;
      .IndexFieldNames := 'Code';
      .СоединитьБД;
      .Открыть;
      ЗаполнитьЗапросЗаголовка(ЗаголовокКатегорий, ДанныеЗаголовкаБД);      
      ЗаголовокКатегорий.ВНачало;             
      пока не ЗаголовокКатегорий.ВКонце делать
      начало
        ДетальКатегорий.Фильтр := Формат('RecordIndex = %d', ЗаголовокКатегорий.ПолеПоИмени('ID').КакЦелое);
        ПраваКатегорий.Фильтр := Формат('ObjRef = %d', ЗаголовокКатегорий.ПолеПоИмени('ID').КакЦелое);
        если .FindKey(МассивИз(ЗаголовокКатегорий.ПолеПоИмени('Code').КакСтрока)) тогда
        начало
          ЗаголовокКатегорий.ПолеПоИмени('ID').КакЦелое := .ПолеПоИмени('ID').КакЦелое;
          УдалитьДеталь(.ПолеПоИмени('ID').КакЦелое);
          ЗаголовокКатегорий.UpdateStatus := usModified;          
        конец
        иначе
        начало
          ЗаголовокКатегорий.ПолеПоИмени('ID').КакЦелое := ГенерироватьДиап("G_Shared");
          ЗаголовокКатегорий.UpdateStatus := usInserted;           
        конец;
        // при необходимости пересчитываем ссылку на схему подписания
        если не ЗаголовокКатегорий.ПолеПоИмени('SignScheme').Пустое тогда
        начало
           если ДанныеСхемПодписания.FindKey(МассивИз(ЗаголовокКатегорий.ПолеПоИмени('SignSchemeLookup').КакСтрока)) тогда
             ЗаголовокКатегорий.ПолеПоИмени('SignScheme').КакЦелое  := ДанныеСхемПодписания.ПолеПоИмени('ID').КакЦелое
           иначе Ошибка(Формат('Импорт категории: %s. Не найдена схема подписания: %s',
             ЗаголовокКатегорий.ПолеПоИмени('Code').КакСтрока, ЗаголовокКатегорий.ПолеПоИмени('SignSchemeLookup').КакСтрока));   
        конец;
        если ДетальКатегорий.ЧислоЗаписей &gt; 0 тогда
          ПроставитьСсылкуНаЗаголовок(ДетальКатегорий, ЗаголовокКатегорий.ПолеПоИмени('ID').КакЦелое);
        если ПраваКатегорий.ЧислоЗаписей &gt; 0 тогда
          ПроставитьСсылкуНаОбъектПрава(ПраваКатегорий, ЗаголовокКатегорий.ПолеПоИмени('ID').КакЦелое);
        ЗаголовокКатегорий.Следующая;
      конец;
      ЗаголовокКатегорий.ApplyUpdates;
      ДетальКатегорий.ApplyUpdates;
      ПраваКатегорий.Фильтр := '';
    конец;
  обязательно
    УдалитьОбъект(ДанныеЗаголовкаБД);
  конец;    
конец;  

// удаляет узлы реестра, хранящие данные для импорта
функция УдалитьИмпортированныеДанныеИзРеестра;
начало
  Реестр.Узел(узел_СохранениеДанныеЭлАрхива).Значение(значение_Заголовок).Удалить;
  Реестр.Узел(узел_СохранениеДанныеЭлАрхива).Значение(значение_Деталь).Удалить;
  Реестр.Узел(узел_СохранениеДанныеЭлАрхива).Значение(значение_Права).Удалить;
конец;

переменные
  ЗаголовокКатегорий, ДетальКатегорий, ПраваКатегорий: СтатическиеДанные;
начало
  ЗаголовокКатегорий := СоздатьДанныеИзРеестра(узел_СохранениеДанныеЭлАрхива, значение_Заголовок);
  ДетальКатегорий := СоздатьДанныеИзРеестра(узел_СохранениеДанныеЭлАрхива, значение_Деталь);
  ПраваКатегорий := СоздатьДанныеИзРеестра(узел_СохранениеДанныеЭлАрхива, значение_Права);
  попытка
    если ЗаголовокКатегорий.ЧислоЗаписей &gt; 0 тогда
    начало
      ОткрытьТранзакцию;
      попытка
        ЗаголовокКатегорий.СоединитьБД;
        ЗаголовокКатегорий.CachedUpdates := да;
        ДетальКатегорий.СоединитьБД;
        ЗаполнитьЗапросДетали(ДетальКатегорий);
        ДетальКатегорий.CachedUpdates := да;
        СохранитьКатегории(ЗаголовокКатегорий, ДетальКатегорий, ПраваКатегорий);
        если ПраваКатегорий.ЧислоЗаписей &gt; 0 тогда
          СохранитьПрава(ПраваКатегорий, объектПрава_КатегорииАрхивныхДокументов);
        ЗакрытьТранзакцию;
      неудача
        ОтменитьТранзакцию;
        Ошибка('При импорте данных категорий архивных документов произошла ошибка: ' + ПоследняяОшибка);        
      конец;
    конец;    
  обязательно
    УдалитьИмпортированныеДанныеИзРеестра;
    УдалитьОбъект(ЗаголовокКатегорий, ДетальКатегорий, ПраваКатегорий);
  конец;
конец.
</value>
    <param value="СохранениеКатегорийДокументов" type="3" name="version">36.042.50</param>
    <param value="СохранениеКатегорийДокументов" type="3" name="crc32">$13CA7E18</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеОтчетов">включить "\библиотеки\LibRu.lib";

константы
  ПутьКДанным   = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";
  ИмяДанных     = "Отчеты";
  ГвидИФОтчеты  = "{71AC5C22-C89D-11D5-9B9B-5254AB1A8A09}";  

// скрипт на выбор, вставку и обновление иф на РМ
функция ЗапросОтчетовНаРМ: Строка;
начало
  Результат := "[pumpdata]{select wn.ID,wn.WORKPLACES_REF,wn.REPORTS_REF,wn.NOTE,wn.ORDERBY " +
                          "from WORKPLACES_NEWREPORTS wn}" +
               "[insertdata]{insert into WORKPLACES_NEWREPORTS " +
                            "(ID,WORKPLACES_REF,REPORTS_REF,NOTE,ORDERBY) " +
                            "values (@ID,@WORKPLACES_REF,@REPORTS_REF,@NOTE,@ORDERBY)}" +
               "[modifydata]{update WORKPLACES_NEWREPORTS set " + 
                             "WORKPLACES_REF=@WORKPLACES_REF,REPORTS_REF=@REPORTS_REF," +
                             "NOTE=@NOTE,ORDERBY=@ORDERBY where ID=@ID}"                           
конец;

// скрипт на выбор и вставку иф на РМ
функция ЗапросИнтерфейсовНаРМ: Строка;
начало
  Результат := "[pumpdata]{select wi.ID,wi.Workplaces_ref,wi.Interfaces_ref,wi.Note,wi.OrderBy,i.GUID " +
                           "from Workplaces_Interface wi " +
                           "left join Interfaces i on (wi.Interfaces_ref = i.ID)}" +
               "[insertdata]{insert into Workplaces_Interface (ID,Workplaces_ref,Interfaces_ref,Note,OrderBy) " +
                            "values (@ID,@Workplaces_ref,@Interfaces_ref,@Note,@OrderBy)}";                          
конец;

// скрипт на выбор и вставку РМ
функция ЗапросРМ: Строка;
начало
  Результат := "[pumpdata]{select ID,Note from Workplaces}"+
               "[insertdata]{insert into Workplaces (ID,NOTE) values (@ID,@NOTE)}"  
конец;

// скрипт на выбор интерфейсов
функция ЗапросИнтерфейсов: Строка;
начало
  Результат := "[pumpdata]{select id,GUID from Interfaces}";
конец;

функция ПолучитьТаблицуПоЗапросу(Скрипт: Строка): СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  попытка
    Результат.СоединитьБД;
    Результат.Запрос := Скрипт;
    Результат.Открыть;
  неудача
    УдалитьОбъект(Результат);
    Результат := nil;
    ВозбудитьОшибку(ПоследняяОшибка);
  конец;
конец;

// основная функция, осуществляющая импорт данных.  
Функция ИмпортОтчетовИзРеестра; 
переменные    
  ДанныеИзРеестра,ОтчетыНаРМ, РабочиеМеста,ИнтерфейсыНаРМ,Интерфейсы: СтатическиеДанные;
  КодОтчета, КодРабочегоМеста,сч,КодИФОтчеты: Целое;
  НазваниеРМ,Гвид: Строка;
  СписокРМ: Текст;
начало
  Если не реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда выход;
  
  ОтчетыНаРМ := ПолучитьТаблицуПоЗапросу(ЗапросОтчетовНаРМ);
  РабочиеМеста := ПолучитьТаблицуПоЗапросу(ЗапросРМ);
  ИнтерфейсыНаРМ := ПолучитьТаблицуПоЗапросу(ЗапросИнтерфейсовНаРМ);
  Интерфейсы := ПолучитьТаблицуПоЗапросу(ЗапросИнтерфейсов); 
  // получаем статические данные из узла реестра, которые нужно импортировать в базу
  ДанныеИзРеестра := СоздатьДанныеИзРеестра(ПутьКДанным,ИмяДанных);
  СписокРМ := СоздатьТекст;  
  ОткрытьТранзакцию;
  попытка попытка
    ДанныеИзРеестра.ВНачало;
    пока не ДанныеИзРеестра.ВКонце делать
    начало
      КодОтчета := ДанныеИзРеестра.ПолеПоИмени("REPORTS_REF").КакЦелое;
      СписокРМ.Удалить;
      Гвид := ДанныеИзРеестра.ПолеПоИмени("SrcGUID").КакСтрока; 
      // находим РМ на которое надо положить интерфейс по GUID
      Если УбратьПробелы(Гвид) &lt;&gt; "" тогда
      начало
        ИнтерфейсыНаРМ.ВНачало;
        Пока не ИнтерфейсыНаРМ.ВКонце делать
        начало
          Если ИнтерфейсыНаРМ.ПолеПоИмени("GUID").КакСтрока = Гвид тогда
            СписокРМ.Добавить(ИнтерфейсыНаРМ.ПолеПоИмени("Workplaces_Ref").КакСтрока);
          ИнтерфейсыНаРМ.Следующая;  
        конец;
      конец;
      // находим РМ по названию
      НазваниеРМ := ДанныеИзРеестра.ПолеПоИмени("NameWorkPlace").КакСтрока;
      Если СписокРМ.Количество = 0 тогда
      начало
        РабочиеМеста.ВНачало;
        Пока не РабочиеМеста.ВКонце делать
        начало
          Если РабочиеМеста.ПолеПоИмени("NOTE").КакСтрока = НазваниеРМ тогда
            СписокРМ.Добавить(РабочиеМеста.ПолеПоИмени("ID").КакСтрока);  
          РабочиеМеста.Следующая;
        конец;
      конец;
      // добавляем новое РМ
      Если СписокРМ.Количество = 0 тогда
      начало
        РабочиеМеста.Вставить;
        КодРабочегоМеста := ГенерироватьДиап("g_Shared");
        РабочиеМеста.ПолеПоИмени("ID").КакЦелое    := КодРабочегоМеста;
        РабочиеМеста.ПолеПоИмени("NOTE").КакСтрока := НазваниеРМ;
        РабочиеМеста.Сохранить;
        СписокРМ.Добавить(ЦелоеВСтроку(КодРабочегоМеста));
      конец;
    
      Если Интерфейсы.Локализовать("GUID",ГвидИФОтчеты,0) тогда
        КодИФОтчеты := Интерфейсы.ПолеПоИмени("ID").КакЦелое;
      // добавляем отчеты на РМ   
      От сч := 0 до СписокРМ.Количество - 1 делать
      начало
        Если ОтчетыНаРМ.Локализовать("WORKPLACES_REF;REPORTS_REF",МассивИз(СписокРМ.Стр(сч),КодОтчета),0) тогда
          ОтчетыНаРМ.Редактировать
        иначе
        начало
          ОтчетыНаРМ.Вставить;
          ОтчетыНаРМ.ПолеПоИмени("ID").КакЦелое              := ГенерироватьДиап("g_Shared");   // в таблице WORKPLACES_NEWREPORTS нету триггеров
          ОтчетыНаРМ.ПолеПоИмени('WORKPLACES_REF').КакСтрока := СписокРМ.Стр(сч);
          ОтчетыНаРМ.ПолеПоИмени('REPORTS_REF').КакЦелое     := КодОтчета;
        конец;
        ОтчетыНаРМ.ПолеПоИмени('NOTE').КакСтрока := данныеИзРеестра.ПолеПоИмени('Note').КакСтрока;
        Если не данныеИзРеестра.ПолеПоИмени('ORDERBY').Пустое тогда
          ОтчетыНаРМ.ПолеПоИмени('ORDERBY').КакЦелое := данныеИзРеестра.ПолеПоИмени('ORDERBY').КакЦелое;  
        ОтчетыНаРМ.Сохранить;
        
        // проверка наличия и/ф Отчеты на РМ
        Если не ИнтерфейсыНаРМ.Локализовать("WORKPLACES_REF; INTERFACES_REF",МассивИз(СписокРМ.Стр(сч),КодИФОтчеты),0) тогда
        начало
          ИнтерфейсыНаРМ.Вставить;
          ИнтерфейсыНаРМ.ПолеПоИмени("WORKPLACES_REF").КакСтрока := СписокРМ.Стр(сч);
          ИнтерфейсыНаРМ.ПолеПоИмени("INTERFACES_REF").КакЦелое := КодИФОтчеты;
          ИнтерфейсыНаРМ.Сохранить;
        конец;
      конец;
      
      ДанныеИзРеестра.Следующая;
    конец;
    // порядок важен
    РабочиеМеста.СохранитьИзменения;
    ОтчетыНаРМ.СохранитьИзменения;
    
    ИнтерфейсыНаРМ.СохранитьИзменения; 
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    ВозбудитьОшибку("Импорт отчета " + данныеИзРеестра.ПолеПоИмени('Note').КакСтрока + " потерпел неудачу" + #13#10 + ПоследняяОшибка);
  конец;  
  обязательно
    УдалитьОбъект(ОтчетыНаРМ,СписокРМ,РабочиеМеста,ИнтерфейсыНаРМ,ДанныеИзРеестра,Интерфейсы);
    Если реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
      реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;  
  конец;  
конец;

начало
  ИмпортОтчетовИзРеестра; 
конец.
</value>
    <param value="СохранениеОтчетов" type="3" name="version">36.042.50</param>
    <param value="СохранениеОтчетов" type="3" name="crc32">$2BB7972F</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеПодписей">включить '\Библиотеки\LibRu.lib';
включить 'Бюджет\Ресурсы\Макросы\Сохранение\СохранениеПрав';

константы
  узел_СохранениеДанныеЭлАрхива = 'Бюджет\Ресурсы\Макросы\Сохранение\ДанныеЭлАрхива';
  значение_Подписи = 'Signs';
  значение_Права = 'SignsRights';
  объектПрава_Подпись = 25000000;
  запрос_Подписи = '[PumpData]{select ID, Name from Signs}
                    [ModifyData]{update Signs set
                                   Name = @Name where ID = @ID}
                    [InsertData]{insert into Signs
                                   (ID, Name) 
                                 values
                                   (@ID, @Name)}';
  
// обеспечивает сохранение импортируемых данных о подписях в БД
функция СохранитьПодписи(Подписи, ПраваПодписей: СтатическиеДанные);
переменные
  ДанныеПодписиБД: СтатическиеДанные;
начало
  ДанныеПодписиБД := СоздатьСтатическиеДанные;
  попытка
    для ДанныеПодписиБД делать
    начало
      .Запрос := запрос_Подписи;
      .IndexFieldNames := 'Name';
      .СоединитьБД;
      .Открыть;
      Подписи.ВНачало;
      пока не Подписи.ВКонце делать
      начало
        ПраваПодписей.Фильтр := Формат('ObjRef = %d', Подписи.ПолеПоИмени('ID').КакЦелое);
        если .FindKey(МассивИз(Подписи.ПолеПоИмени('Name').КакСтрока)) тогда
        начало // проставляем существующий ID. В БД ничего не сохраняем.
          Подписи.ПолеПоИмени('ID').КакЦелое := .ПолеПоИмени('ID').КакЦелое;
          //Подписи.UpdateStatus := usModified;          
        конец
        иначе
        начало
          Подписи.ПолеПоИмени('ID').КакЦелое := ГенерироватьДиап("G_Shared");
          Подписи.UpdateStatus := usInserted;           
        конец;    
        если ПраваПодписей.ЧислоЗаписей&gt;0 тогда
          ПроставитьСсылкуНаОбъектПрава(ПраваПодписей, Подписи.ПолеПоИмени('ID').КакЦелое);
        Подписи.Следующая;
      конец;
      Подписи.ApplyUpdates;
      ПраваПодписей.Фильтр := '';
    конец;
  обязательно
    УдалитьОбъект(ДанныеПодписиБД);
  конец;    
конец;  
 
// удаляет узлы реестра, хранящие данные для импорта
функция УдалитьИмпортированныеДанныеИзРеестра;
начало
  Реестр.Узел(узел_СохранениеДанныеЭлАрхива).Значение(значение_Подписи).Удалить;
  Реестр.Узел(узел_СохранениеДанныеЭлАрхива).Значение(значение_Права).Удалить;
конец;
  
переменные
  Подписи, ПраваПодписей: СтатическиеДанные;
начало
  Подписи := СоздатьДанныеИзРеестра(узел_СохранениеДанныеЭлАрхива, значение_Подписи);
  ПраваПодписей := СоздатьДанныеИзРеестра(узел_СохранениеДанныеЭлАрхива, значение_Права);
  попытка
    если Подписи.ЧислоЗаписей &gt; 0 тогда
    начало
      ОткрытьТранзакцию;
      попытка
        Подписи.Запрос := запрос_Подписи;
        Подписи.CachedUpdates := да;
        Подписи.СоединитьБД;
        // сохраняемы данные о подписях
        СохранитьПодписи(Подписи, ПраваПодписей);
        // сохраняем права подписей
        если ПраваПодписей.ЧислоЗаписей &gt; 0 тогда
          СохранитьПрава(ПраваПодписей, объектПрава_Подпись);
        ЗакрытьТранзакцию;
      неудача
        ОтменитьТранзакцию;
        Ошибка('При импорте данных подписей произошла ошибка: ' + ПоследняяОшибка);        
      конец;
    конец;  
  обязательно
    УдалитьИмпортированныеДанныеИзРеестра;
    УдалитьОбъект(Подписи, ПраваПодписей);
  конец;
конец;

</value>
    <param value="СохранениеПодписей" type="3" name="Export">FINOGENOV\sergy\29.08.2012 9:01:08</param>
    <param value="СохранениеПодписей" type="3" name="version">36.042.50</param>
    <param value="СохранениеПодписей" type="3" name="crc32">$3AB39C32</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеПрав">включить '\Библиотеки\LibRu.lib';

константы
  запрос_ВидыПрав = '[PumpData]{select ID, RightKindRef from DBRights where ObjectKindRef = %d}';                                           
  запрос_Групп = '[PumpData]{select ID, Name from DBGroups}';
  запрос_ПраваГрупп = '[PumpData]{select GroupRef, RightRef, IsReject, ObjRef from GroupsRights where (1 &lt;&gt; 1)}
                       [InsertData]{insert into GroupsRights
                                      (GroupRef, RightRef, IsReject, ObjRef, ObjectKindRef)
                                    values
                                      (@GroupRef, @RightRef, @IsReject, @ObjRef, %d)}';  
  запрос_Пользователей = '[PumpData]{select ID, UserName, RemoteID from DBUsers}';
  запрос_ПраваПользователей = '[PumpData]{select UserRef, RightRef, IsReject, ObjRef from UsersRights where (1 &lt;&gt; 1)}
                               [InsertData]{insert into UsersRights
                                              (UserRef, RightRef, IsReject, ObjRef, ObjectKindRef)
                                            values
                                              (@UserRef, @RightRef, @IsReject, @ObjRef, %d)}'; 
                                              
// удаляет старые права групп по ссылке на объект права
функция УдалитьСтарыеПраваГрупп(СсылкаНаОбъектПрава: целое);
начало
  ВыполнитьЗапрос(Формат('delete from GroupsRights where ObjRef = %d', СсылкаНаОбъектПрава));
конец;

// удаляет старые права пользователей по ссылке на объенкт права
функция УдалитьСтарыеПраваПользователей(СсылкаНаОбъектПрава: целое);
начало
  ВыполнитьЗапрос(Формат('delete from UsersRights where ObjRef = %d', СсылкаНаОбъектПрава));
конец;

/* проставляет для записей прав ссылку на объект права, изменившуюся при смене ID */
функция ПроставитьСсылкуНаОбъектПрава(Права: СтатическиеДанные; СсылкаНаОбъектПрава: целое);
начало
  Права.ВНачало;
  пока не Права.ВКонце делать
  начало
    Права.ПолеПоИмени('ObjRef').КакЦелое := СсылкаНаОбъектПрава;
    Права.Следующая;
  конец;
конец;      

// возвращает по коду вида права ссылку на вид права в DBRights
функция ПолучитьСсылкуНаВидПрава(ВидыПрав: СтатическиеДанные; КодВидаПрава, ТипОбъектаПрава: целое): целое;
начало
  если ВидыПрав.FindKey(МассивИз(КодВидаПрава)) тогда
    Результат := ВидыПрав.ПолеПоИмени('ID').КакЦелое
  иначе
    Ошибка(Формат("В таблице DBRights не удалось найти вид права с кодом '%d' " + 
                  "для типа объекта права %d", КодВидаПрава, ТипОбъектаПрава));  
конец;                                        

// сохраняет права групп
функция СохранитьПраваГрупп(Права, ВидыПрав: СтатическиеДанные; ТипОбъектаПрава: целое);
переменные
  Группы, ПраваГрупп: СтатическиеДанные;
  СсылкаНаОбъектПрава: целое = -1;
начало
  Группы := СоздатьСтатическиеДанные;
  ПраваГрупп := СоздатьСтатическиеДанные;
  попытка
    Группы.СоединитьБД;
    Группы.IndexFieldNames := 'Name';
    Группы.Запрос := запрос_Групп;
    Группы.Открыть;
    ПраваГрупп.Запрос := Формат(запрос_ПраваГрупп, ТипОбъектаПрава);
    ПраваГрупп.СоединитьБД;    
    ПраваГрупп.Открыть;
    // бежим по экспортируемым правам категорий, заполняем права групп
    Права.ВНачало;
    пока не Права.ВКонце делать
    начало
      // удаялем старые права для объекта
      если СсылкаНаОбъектПрава &lt;&gt; Права.ПолеПоИмени('ObjRef').КакЦелое тогда
      начало
        СсылкаНаОбъектПрава := Права.ПолеПоИмени('ObjRef').КакЦелое;
        УдалитьСтарыеПраваГрупп(СсылкаНаОбъектПрава);
      конец;
      // сохраняем права только для тех групп, которые удалось найти в БД
      если Группы.FindKey(МассивИз(Права.ПолеПоИмени('Name').КакСтрока)) тогда
        для ПраваГрупп делать
        начало
          .Добавить;
          .ПолеПоИмени('GroupRef').КакЦелое := Группы.ПолеПоИмени('ID').КакЦелое;
          .ПолеПоИмени('RightRef').КакЦелое := ПолучитьСсылкуНаВидПрава(ВидыПрав, 
                                               Права.ПолеПоИмени('RightKindRef').КакЦелое, 
                                               ТипОбъектаПрава);
          .ПолеПоИмени('IsReject').КакЦелое := Права.ПолеПоИмени('IsReject').КакЦелое;
          .ПолеПоИмени('ObjRef').КакЦелое := Права.ПолеПоИмени('ObjRef').КакЦелое; 
          .Сохранить;
        конец;
      Права.Следующая;    
    конец;
    ПраваГрупп.ApplyUpdates;
  обязательно
    УдалитьОбъект(Группы, ПраваГрупп)
  конец;  
конец;

// сохраняет права пользователей
функция СохранитьПраваПользователей(Права, ВидыПрав: СтатическиеДанные; ТипОбъектаПрава: целое);
переменные
  Пользователи, ПраваПользователей: СтатическиеДанные;
  СсылкаНаОбъектПрава: целое = -1;
начало
  Пользователи := СоздатьСтатическиеДанные;
  ПраваПользователей := СоздатьСтатическиеДанные;
  попытка
    Пользователи.СоединитьБД;
    Пользователи.IndexFieldNames := 'UserName;RemoteID';
    Пользователи.Запрос := запрос_Пользователей;
    Пользователи.Открыть;
    ПраваПользователей.Запрос := Формат(запрос_ПраваПользователей, ТипОбъектаПрава);
    ПраваПользователей.СоединитьБД;    
    ПраваПользователей.Открыть;
    // бежим по экспортируемым правам , заполняем права пользователей
    Права.ВНачало;
    пока не Права.ВКонце делать
    начало
      // удаялем старые права для объекта
      если СсылкаНаОбъектПрава &lt;&gt; Права.ПолеПоИмени('ObjRef').КакЦелое тогда
      начало
        СсылкаНаОбъектПрава := Права.ПолеПоИмени('ObjRef').КакЦелое;
        УдалитьСтарыеПраваПользователей(СсылкаНаОбъектПрава);
      конец;
      // сохраняем права только для тех пользователей, которых удалось найти в БД
      если Пользователи.FindKey(МассивИз(Права.ПолеПоИмени('Name').КакСтрока,
                                         Права.ПолеПоИмени('RemoteID').КакЦелое)) тогда
        для ПраваПользователей делать
        начало
          .Добавить;
          .ПолеПоИмени('UserRef').КакЦелое := Пользователи.ПолеПоИмени('ID').КакЦелое;
          .ПолеПоИмени('RightRef').КакЦелое := ПолучитьСсылкуНаВидПрава(ВидыПрав, 
                                               Права.ПолеПоИмени('RightKindRef').КакЦелое,
                                               ТипОбъектаПрава);
          .ПолеПоИмени('IsReject').КакЦелое := Права.ПолеПоИмени('IsReject').КакЦелое;
          .ПолеПоИмени('ObjRef').КакЦелое := Права.ПолеПоИмени('ObjRef').КакЦелое; 
          .Сохранить;
        конец;
      Права.Следующая;    
    конец;
    ПраваПользователей.ApplyUpdates;
  обязательно
    УдалитьОбъект(Пользователи, ПраваПользователей)
  конец;  
конец;

// осущетвляет заполнение прав по экспортированным данным
функция СохранитьПрава(Права: СтатическиеДанные; ТипОбъектаПрава: целое);
переменные
  ВидыПрав: СтатическиеДанные;
начало
  ВидыПрав := СоздатьСтатическиеДанные;
  попытка
    ВидыПрав.Запрос := Формат(запрос_ВидыПрав, ТипОбъектаПрава);
    ВидыПрав.IndexFieldNames := 'RightKindRef';
    ВидыПрав.СоединитьБД;
    ВидыПрав.Открыть;
    // сохраняем права групп
    Права.Фильтр := 'IsGroup = 1';
    если Права.ЧислоЗаписей &gt; 0 тогда
      СохранитьПраваГрупп(Права, ВидыПрав, ТипОбъектаПрава);
    // сохраняем права пользователей
    Права.Фильтр := 'IsGroup = 0';
    если Права.ЧислоЗаписей &gt; 0 тогда    
      СохранитьПраваПользователей(Права, ВидыПрав, ТипОбъектаПрава);
  обязательно
    УдалитьОбъект(ВидыПрав);
  конец;        
конец;
                                                              
</value>
    <param value="СохранениеПрав" type="3" name="version">36.042.50</param>
    <param value="СохранениеПрав" type="3" name="crc32">$EFB6FB02</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеРаскладки_New">включить "\библиотеки\LibRu.lib";

константы
  ПутьКДанным = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";
  ИмяДанных = "Раскладка";
  // тип документа из раскладчика
  Раскладка_Контроль  = 0;
  Раскладка_Документ  = 1;
  Раскладка_Импорт    = 2;
  Раскладка_Экспорт   = 3;
  Раскладка_Генерация = 4;
  Раскладка_Сценарий  = 5;

// скрипт на выбор интерфейсов
функция ЗапросИнтерфейсов: Строка;
начало
  Результат := "[pumpdata]{select id,cls,Param from Interfaces}";
конец;

// скрипт на выбор,вставку и обновление документов 
функция ЗапросДокументов: Строка;
начало
  Результат := "[pumpdata]{select ID, ITF_REF, DOC_REF, NOTE, ORDERBY, DefaultExec,DocIndex,ElemFilter,Enable,ErrorMessage from ITF_DOCS}" +
               "[InsertData]{insert into ITF_DOCS (ID,ITF_REF,DOC_REF,NOTE,ORDERBY,DefaultExec,DocIndex,ElemFilter,Enable,ErrorMessage)
                            values (@ID,@ITF_REF,@DOC_REF,@NOTE,@ORDERBY,@DefaultExec,@DocIndex,@ElemFilter,@Enable,@ErrorMessage)}" + 
               "[modifydata]{update ITF_DOCS set ITF_REF=@ITF_REF, DOC_REF=@DOC_REF, NOTE=@NOTE, ORDERBY=@ORDERBY," +
                          "DefaultExec=@DefaultExec, DocIndex=@DocIndex,ElemFilter=@ElemFilter,Enable=@Enable,ErrorMessage=@ErrorMessage where ID=@ID}";
конец;

// скрипт на выбор,вставку и обновление контролей
функция ЗапросКонтролей: Строка;
начало
  Результат := "[PumpData] {select ID, ITF_REF, Ctrl_REF, NOTE, ORDERBY, CtrlOptions, ControlField, DocIndex, ElemFilter, Enable, ErrorMessage, ScenarioRef from ITF_CTRL}"+
               "[InsertData]{insert into ITF_CTRL (ID,ITF_REF,Ctrl_REF,NOTE,ORDERBY,CtrlOptions,ControlField,DocIndex,ElemFilter,Enable,ErrorMessage,ScenarioRef)
                            values (@ID,@ITF_REF,@Ctrl_Ref,@NOTE,@ORDERBY,@CtrlOptions,@ControlField,@DocIndex,@ElemFilter,@Enable,@ErrorMessage,@ScenarioRef)}"+
               "[ModifyData]{update ITF_CTRL set ITF_REF=@ITF_REF,Ctrl_REF=@Ctrl_Ref,NOTE=@NOTE, ORDERBY=@ORDERBY, CtrlOptions=@CtrlOptions, ControlField=@ControlField, "+
                            "DocIndex=@DocIndex, ElemFilter=@ElemFilter, Enable=@Enable, ErrorMessage=@ErrorMessage, ScenarioRef=@ScenarioRef where ID=@ID}";   
конец;

функция ПолучитьТаблицуПоЗапросу(Скрипт: Строка): СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  попытка
    Результат.СоединитьБД;
    Результат.Запрос := Скрипт;
    Результат.Открыть;
  неудача
    УдалитьОбъект(Результат);
    ВозбудитьОшибку(ПоследняяОшибка);
  конец;
конец;

// По типу документа переданному при экспорте возращает тип документа, который должен быть в базе
функция ПолучитьРеальныйТипДокумента(ТипДокумента: Целое): Целое;
начало
  Результат := 0;
  Выбрать ТипДокумента из
    Раскладка_Контроль : Результат := 0;
    Раскладка_Документ,Раскладка_Импорт,Раскладка_Экспорт : Результат := ТипДокумента - 1;
    Раскладка_Генерация : Результат := 1;
    Раскладка_Сценарий: Результат := 3;
  конец;  
конец;

// устанавливает пользовательский атрибут раскладки в зависимости от параметров
функция УстановитьПользовательскийАтрибут(ИтогДанные, ИсточДанные: СтатическиеДанные; ИмяАтрибута: строка; 
                                          Редактирование, Установить: целое);
начало
  если ((Установить и Редактирование) или (не Редактирование)) и ИсточДанные.НайтиПоле(ИмяАтрибута) тогда
    ИтогДанные.ПолеПоИмени(ИмяАтрибута).AsVariant := ИсточДанные.ПолеПоИмени(ИмяАтрибута).AsVariant;
конец;

// основная функция, осуществляющая импорт данных.  
Функция ИмпортРаскладкиИзРеестра;
переменные    
  ДанныеИзРеестра, Интерфейсы, Контроли,Документы: СтатическиеДанные;
  КодИнтерфейса, ТипДокумента, РеальныйТипДокумента: Целое;
  Редактирование: Целое = нет;  
начало
  Если не Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда выход;
  
  ДанныеИзРеестра := СоздатьДанныеИзРеестра(ПутьКДанным,ИмяДанных);
  Интерфейсы := ПолучитьТаблицуПоЗапросу(ЗапросИнтерфейсов);
  Контроли := ПолучитьТаблицуПоЗапросу(ЗапросКонтролей);
  Документы := ПолучитьТаблицуПоЗапросу(ЗапросДокументов);
  ОткрытьТранзакцию;
  попытка попытка
    ДанныеИзРеестра.Вначало;
    пока не ДанныеИзРеестра.ВКонце делать
    начало
      Если Интерфейсы.Локализовать("Cls;param",МассивИз(ДанныеИзРеестра.Поле("Cls").КакСтрока,
             УбратьПробелы(ДанныеИзРеестра.Поле("Param").КакСтрока)),0) тогда
        КодИнтерфейса := Интерфейсы.Поле("ID").КакЦелое;
      ТипДокумента := ДанныеИзРеестра.Поле("Type").КакЦелое;
      РеальныйТипДокумента := ПолучитьРеальныйТипДокумента(ТипДокумента);  
      Выбрать ТипДокумента из
        Раскладка_Контроль,Раскладка_Генерация,Раскладка_Сценарий:
        начало
          Если Контроли.Локализовать("Itf_Ref;Ctrl_Ref;DocIndex",
                 МассивИз(КодИнтерфейса, ДанныеИзРеестра.Поле('Doc_Ref').КакЦелое, РеальныйТипДокумента), 0) тогда
          начало
            Редактирование := да; 
            Контроли.Редактировать;
          конец    
          иначе
          начало
            Редактирование := нет;
            Контроли.Вставить;
            Контроли.Поле("Itf_ref").КакЦелое  := КодИнтерфейса; 
            Контроли.Поле("Ctrl_ref").КакЦелое := ДанныеИзРеестра.Поле("Doc_Ref").КакЦелое;
          конец;
          Контроли.Поле("Note").КакСтрока         := ДанныеИзРеестра.Поле("Note").КакСтрока; 
          Контроли.Поле("OrderBy").КакЦелое       := ДанныеИзРеестра.Поле("OrderBy").КакЦелое;
          Контроли.Поле("DocIndex").КакЦелое      := РеальныйТипДокумента;
          Контроли.Поле("CtrlOptions").КакЦелое   := ДанныеИзРеестра.Поле("CtrlOptions").КакЦелое;
          УстановитьПользовательскийАтрибут(Контроли, ДанныеИзРеестра, 'ControlField', Редактирование, 
                                            ДанныеИзРеестра.ПолеПоИмени('ChangeControlField').КакЦелое = 1);
          УстановитьПользовательскийАтрибут(Контроли, ДанныеИзРеестра, 'ElemFilter', Редактирование, 
                                            ДанныеИзРеестра.ПолеПоИмени('ChangeFilter').КакЦелое = 1);
          УстановитьПользовательскийАтрибут(Контроли, ДанныеИзРеестра, 'ErrorMessage', Редактирование, 
                                            ДанныеИзРеестра.ПолеПоИмени('ChangeFilter').КакЦелое = 1);
          УстановитьПользовательскийАтрибут(Контроли, ДанныеИзРеестра, 'Enable', Редактирование,
                                            ДанныеИзРеестра.ПолеПоИмени('ChangeEnable').КакЦелое = 1);                                                                               
          Если ТипДокумента = Раскладка_Сценарий тогда
            Контроли.Поле("ScenarioRef").КакЦелое := ДанныеИзРеестра.Поле("Doc_Ref").КакЦелое;      
          Контроли.Сохранить;
        конец;
        Раскладка_Документ,Раскладка_Импорт,Раскладка_Экспорт:
        начало
          Если Документы.Локализовать("Itf_Ref;Doc_Ref;DocIndex",
                 МассивИз(КодИнтерфейса, ДанныеИзРеестра.Поле('Doc_Ref').КакЦелое, РеальныйТипДокумента), 0) тогда
          начало       
            Редактирование := да;
            Документы.Редактировать;              
          конец    
          иначе
          начало
            Редактирование := нет;
            Документы.Вставить;
            Документы.Поле("Itf_ref").КакЦелое := КодИнтерфейса; 
            Документы.Поле("Doc_ref").КакЦелое := ДанныеИзРеестра.Поле("Doc_Ref").КакЦелое;
          конец;
          Документы.Поле("Note").КакСтрока         := ДанныеИзРеестра.Поле("Note").КакСтрока; 
          Документы.Поле("OrderBy").КакЦелое       := ДанныеИзРеестра.Поле("OrderBy").КакЦелое;
          Документы.Поле("DefaultExec").КакЦелое   := ДанныеИзРеестра.Поле("DefaultExec").КакЦелое;
          Документы.Поле("DocIndex").КакЦелое      := РеальныйТипДокумента;
          УстановитьПользовательскийАтрибут(Документы, ДанныеИзРеестра, 'ElemFilter', Редактирование, 
                                            ДанныеИзРеестра.ПолеПоИмени('ChangeFilter').КакЦелое = 1);
          УстановитьПользовательскийАтрибут(Документы, ДанныеИзРеестра, 'ErrorMessage', Редактирование, 
                                            ДанныеИзРеестра.ПолеПоИмени('ChangeFilter').КакЦелое = 1);
          УстановитьПользовательскийАтрибут(Документы, ДанныеИзРеестра, 'Enable', Редактирование,
                                            ДанныеИзРеестра.ПолеПоИмени('ChangeEnable').КакЦелое = 1);
          Документы.Сохранить;                                    
        конец; 
      конец;
      ДанныеИзРеестра.Следующая;
    конец;
    Документы.СохранитьИзменения;
    Контроли.СохранитьИзменения;      
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    ВозбудитьОшибку("При импорте раскладки возникла ошибка:" + #13#10 + ПоследняяОшибка);
  конец;
  обязательно
    УдалитьОбъект(ДанныеИзРеестра, Интерфейсы, Контроли, Документы);
    Если Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
      Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;
  конец;                          
конец;

начало
  ИмпортРаскладкиИзРеестра;
конец. 
</value>
    <param value="СохранениеРаскладки_New" type="3" name="Export">FINOGENOV\sergy\06.05.2012 13:02:09</param>
    <param value="СохранениеРаскладки_New" type="3" name="version">36.042.50</param>
    <param value="СохранениеРаскладки_New" type="3" name="crc32">$735EB10D</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеСвязей">включить "\библиотеки\LibRu.lib";

константы
  ПутьКДанным = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";  
  ИмяДанных = "Связи";

// Скрипт на выборку, вставку и обновление связей
функция ЗапросСвязей : строка;
начало
  Результат := "[pumpdata]{select lt.ID,lt.Name,lt.LinkComment,lt.TemplateCls,lt.ParentDocCls,lt.ChildDocCls,
                                  lt.BlockParent,lt.BlockChild,lt.CanDelBlockParent,lt.CanDelBlockChild,
                                  lt.DisableDelParent,lt.DisableDelChild,lt.ParentPictureType,lt.ParentPictureName,
                                  lt.ChildPictureType,lt.ChildPictureName,lt.PictureCollectionName,lt.UrmUse,
                                  lt.DelMacrosName,lt.NeedDelChild,lt.LinkKind
                             from LinkType lt}
                [insertdata]{insert into LinkType
                                    (ID,Name,LinkComment,TemplateCls,ParentDocCls,ChildDocCls,
                                    BlockParent,BlockChild,CanDelBlockParent,CanDelBlockChild,
                                    DisableDelParent,DisableDelChild,ParentPictureType,ParentPictureName,
                                    ChildPictureType,ChildPictureName,PictureCollectionName,UrmUse,
                                    DelMacrosName,NeedDelChild,LinkKind)
                             values (~ID,~Name,~LinkComment,~TemplateCls,~ParentDocCls,~ChildDocCls,
                                    ~BlockParent,~BlockChild,~CanDelBlockParent,~CanDelBlockChild,
                                    ~DisableDelParent,~DisableDelChild,~ParentPictureType,~ParentPictureName,
                                    ~ChildPictureType,~ChildPictureName,~PictureCollectionName,~UrmUse,
                                    ~DelMacrosName,~NeedDelChild,~LinkKind)}
                [modifydata]{update LinkType set
                                    Name=~Name,LinkComment=~LinkComment,TemplateCls=~TemplateCls,ParentDocCls=~ParentDocCls,
                                    ChildDocCls=~ChildDocCls,BlockParent=~BlockParent,BlockChild=~BlockChild,CanDelBlockParent=~CanDelBlockParent,
                                    CanDelBlockChild=~CanDelBlockChild,DisableDelParent=~DisableDelParent,DisableDelChild=~DisableDelChild,
                                    ParentPictureType=~ParentPictureType,ParentPictureName=~ParentPictureName,ChildPictureType=~ChildPictureType,
                                    ChildPictureName=~ChildPictureName,PictureCollectionName=~PictureCollectionName,UrmUse=~UrmUse,
                                    DelMacrosName=~DelMacrosName,NeedDelChild=~NeedDelChild,LinkKind=~LinkKind
                              where ID = ~ID}";
конец;

функция ПолучитьТаблицуПоЗапросу(Скрипт: строка): СтатическиеДанные;
начало
  Результат := СоздатьСтатическиеДанные;
  попытка
    Результат.СоединитьБД;
    Результат.Запрос := Скрипт;
    Результат.Открыть;
  неудача
    УдалитьОбъект(Результат);
    Результат := nil;
    ВызватьОшибку(ПоследняяОшибка);
  конец;
конец;

функция ИмпортСвязейИзРеестра;
переменные
  ДанныеИзРеестра,Связи : СтатическиеДанные;
  СтарыйИд : целое;
  В : Выборка;
начало
  Если не реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда выход;
  
  // получаем статические данные из узла реестра, которые нужно импортировать в базу
  ДанныеИзРеестра := СоздатьДанныеИзРеестра(ПутьКДанным,ИмяДанных);
  Связи := ПолучитьТаблицуПоЗапросу(ЗапросСвязей);
  В := СоздатьВыборку;
  ОткрытьТранзакцию;
  попытка попытка
    В.БазаДанных := Бюджет;
    ДанныеИзРеестра.ВНачало;
    пока не ДанныеИзРеестра.ВКонце делать
    начало
      СтарыйИд := -1;
      // попытаемся объединить с переданной записью уже существующие в БД записи, но с другим ключом 
      // объединяем записи, если код шаблона, родитель, дочерний совпадают, либо Имя, родитель, дочерний совпадают
      Если ДанныеИзРеестра.ПолеПоИмени("TemplateCls").Пустое или (не Связи.Локализовать("TemplateCls;ParentDocCls;ChildDocCls",МассивИз(ДанныеИзРеестра.ПолеПоИмени("TemplateCls").КакСтрока,
                ДанныеИзРеестра.ПолеПоИмени("ParentDocCls").КакСтрока,ДанныеИзРеестра.ПолеПоИмени("ChildDocCls").КакСтрока),0)) тогда
      начало
        Если Связи.Локализовать("Name",МассивИз(ДанныеИзРеестра.ПолеПоИмени("Name").КакСтрока),0) тогда
          СтарыйИд := Связи.ПолеПоИмени("ID").КакЦелое;
      конец иначе
        СтарыйИд := Связи.ПолеПоИмени("ID").КакЦелое;
      Если СтарыйИд &lt;&gt; -1 тогда
      начало
        // переключаем связи на новый тип связи опосредованно через промежуточный временно созданный тип связи
        ВыполнитьЗапрос("DELETE FROM LINKRECORDS WHERE LINKTYPEREF = -10");
        ВыполнитьЗапрос("DELETE FROM LINKTYPE WHERE ID = -10");
        ВыполнитьЗапрос("DELETE FROM DOCUMENTCLS WHERE ID = -10");
        ВыполнитьЗапрос("DELETE FROM DOCUMENTTYPES WHERE ID = -10");
        ВыполнитьЗапрос("INSERT INTO DOCUMENTTYPES(ID, PROGINDEX) VALUES(-10, -10)");
        ВыполнитьЗапрос("INSERT INTO DOCUMENTCLS(ID, DOCTYPE, TABLENAME, TABLENAMEURM, PRIMARYKEYNAME, PRIMARYKEYNAMEURM)
           VALUES(-10, -10, ' ', ' ', ' ', ' ')");
        ВыполнитьЗапрос("INSERT INTO LINKTYPE(ID, PARENTDOCCLS, CHILDDOCCLS, NAME) VALUES(-10, -10, -10, ' ')");
        ВыполнитьЗапрос(Формат("UPDATE LINKRECORDS SET LINKTYPEREF = -10 WHERE LINKTYPEREF = %d",СтарыйИд));
        ВыполнитьЗапрос(Формат("DELETE FROM LINKTYPE WHERE ID = %d",СтарыйИд));
      конец;
      
      В.Закрыть;
      В.Запрос := Формат("Select count(ID) cnt from LinkType lt where lt.ID = %d",ДанныеИзРеестра.ПолеПоИмени("ID").КакЦелое);
      В.Открыть;
      // создаем или обновляем новый тип связи
      Если В.ПолеПоИмени("Cnt").КакЦелое = 1 тогда
      начало
        Связи.Локализовать("ID",МассивИз(ДанныеИзРеестра.ПолеПоИмени("ID").КакЦелое),0);
        Связи.Редактировать
      конец иначе
      начало
        Связи.Вставить;
        Связи.ПолеПоИмени("ID").КакСтрока := ДанныеИзРеестра.ПолеПоИмени("ID").КакСтрока;
      конец;
      Связи.ПолеПоИмени("Name").КакСтрока                  := ДанныеИзРеестра.ПолеПоИмени("Name").КакСтрока;
      Связи.ПолеПоИмени("LinkComment").КакСтрока           := ДанныеИзРеестра.ПолеПоИмени("LinkComment").КакСтрока;
      Связи.ПолеПоИмени("TemplateCls").КакСтрока           := ДанныеИзРеестра.ПолеПоИмени("TemplateCls").КакСтрока;
      Связи.ПолеПоИмени("ParentDocCls").КакСтрока          := ДанныеИзРеестра.ПолеПоИмени("ParentDocCls").КакСтрока;
      Связи.ПолеПоИмени("ChildDocCls").КакСтрока           := ДанныеИзРеестра.ПолеПоИмени("ChildDocCls").КакСтрока;
      Связи.ПолеПоИмени("BlockParent").КакСтрока           := ДанныеИзРеестра.ПолеПоИмени("BlockParent").КакСтрока;
      Связи.ПолеПоИмени("BlockChild").КакСтрока            := ДанныеИзРеестра.ПолеПоИмени("BlockChild").КакСтрока;
      Связи.ПолеПоИмени("CanDelBlockParent").КакСтрока     := ДанныеИзРеестра.ПолеПоИмени("CanDelBlockParent").КакСтрока;
      Связи.ПолеПоИмени("CanDelBlockChild").КакСтрока      := ДанныеИзРеестра.ПолеПоИмени("CanDelBlockChild").КакСтрока;
      Связи.ПолеПоИмени("DisableDelParent").КакСтрока      := ДанныеИзРеестра.ПолеПоИмени("DisableDelParent").КакСтрока;
      Связи.ПолеПоИмени("DisableDelChild").КакСтрока       := ДанныеИзРеестра.ПолеПоИмени("DisableDelChild").КакСтрока;
      Связи.ПолеПоИмени("ParentPictureType").КакСтрока     := ДанныеИзРеестра.ПолеПоИмени("ParentPictureType").КакСтрока;
      Связи.ПолеПоИмени("ParentPictureName").КакСтрока     := ДанныеИзРеестра.ПолеПоИмени("ParentPictureName").КакСтрока;
      Связи.ПолеПоИмени("ChildPictureType").КакСтрока      := ДанныеИзРеестра.ПолеПоИмени("ChildPictureType").КакСтрока;
      Связи.ПолеПоИмени("ChildPictureName").КакСтрока      := ДанныеИзРеестра.ПолеПоИмени("ChildPictureName").КакСтрока;
      Связи.ПолеПоИмени("PictureCollectionName").КакСтрока := ДанныеИзРеестра.ПолеПоИмени("PictureCollectionName").КакСтрока;
      Связи.ПолеПоИмени("UrmUse").КакЦелое                 := ДанныеИзРеестра.ПолеПоИмени("UrmUse").КакЦелое;
      Связи.ПолеПоИмени("DelMacrosName").КакСтрока         := ДанныеИзРеестра.ПолеПоИмени("DelMacrosName").КакСтрока;
      Связи.ПолеПоИмени("NeedDelChild").КакСтрока          := ДанныеИзРеестра.ПолеПоИмени("NeedDelChild").КакСтрока;
      Связи.ПолеПоИмени("LinkKind").КакСтрока              := ДанныеИзРеестра.ПолеПоИмени("LinkKind").КакСтрока;
      Связи.Сохранить;
      
      Связи.ApplyCommit;
      Связи.СохранитьИзменения;
      
      // переключаем ранее найденные связи с типом, требующим объединения на новый тип связи
      ВыполнитьЗапрос(Формат("UPDATE LINKRECORDS SET LINKTYPEREF = %s WHERE LINKTYPEREF = -10",ДанныеИзРеестра.ПолеПоИмени("ID").КакСтрока));
      // удаляем временные записи
      ВыполнитьЗапрос("DELETE FROM LINKTYPE WHERE ID = -10");
      ВыполнитьЗапрос("DELETE FROM DOCUMENTCLS WHERE ID = -10");
      ВыполнитьЗапрос("DELETE FROM DOCUMENTTYPES WHERE ID = -10");
     
      ДанныеИзРеестра.Следующая;
    конец;
    
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    ВозбудитьОшибку("Импорт связи " + ДанныеИзРеестра.ПолеПоИмени("Name").КакСтрока + " потерпел неудачу" + #13#10 + ПоследняяОшибка);
  конец;    
  обязательно
    УдалитьОбъект(ДанныеИзРеестра,Связи,В);
    Если реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
       реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;
  конец;
конец;

начало
  ИмпортСвязейИзРеестра;
конец.
</value>
    <param value="СохранениеСвязей" type="3" name="version">36.042.50</param>
    <param value="СохранениеСвязей" type="3" name="crc32">$3020C17A</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеСхемПодписания">включить '\Библиотеки\LibRu.lib';

константы
  узел_СохранениеДанныеЭлАрхива = 'Бюджет\Ресурсы\Макросы\Сохранение\ДанныеЭлАрхива';
  значение_Заголовок = 'SignSchemeCaption';
  значение_Деталь = 'SignSchemeDetail';
  запрос_ЗаголовокСхемы = '[PumpData]{select Id, Name from SignSchemeCaption}
                           [ModifyData]{update SignSchemeCaption set 
                                          name = ~name, note = ~note, doctyperef = @doctyperef, closedate = @closedate
                                        where (id = @id)}
                           [InsertData]{insert into signschemecaption  
                                          (id, name, note, doctyperef, closedate) 
                                        values 
                                          (@id, ~name, ~note, @doctyperef, @closedate)}';  
  запрос_ДетальСхемы = '[InsertData]{Insert into SignSchemeDetail 
                                       (recordindex, signref, signorder, fictivesign, actionref) 
                                     values 
                                       (@recordindex, @signref, @signorder, @fictivesign, @actionref)}';
  запрос_Подписи = '[PumpData]{select ID, Name from Signs}
                    [InsertData]{insert into Signs (ID, Name)
                                   values (@ID, @Name)}';
  запрос_Действия = '[PumpData]{select ID, Name, DocTypeRef from State_Actions}';                                 
  
// удаляет детализацию схемы подписания по ссылке на заголовок
функция УдалитьДеталь(СсылкаЗаголовок: целое);
начало
  ВыполнитьЗапрос(Формат('delete from SignSchemeDetail where RecordIndex = %d', СсылкаЗаголовок));
конец;

// добавляет в набор данных подписей информацию о подписи без заполнения прав
функция ДобавитьПодпись(ДанныеПодписей: СтатическиеДанные; Ид: целое; Наименование: строка);
начало
  ДанныеПодписей.Добавить;
  ДанныеПодписей.ПолеПоИмени('ID').КакЦелое := Ид;
  ДанныеПодписей.ПолеПоИмени('Name').КакСтрока := Наименование;
  ДанныеПодписей.Сохранить;
конец;

/* проставляет ссылку на заголовок, добавляет в БД отсутвующие подписи на которые есть ссылка 
   из детали, без заполнения права доступа, заполняет ссылку на действие системы состояний */
функция ПодготовитьДеталь(Деталь, ДанныеПодписей, ДанныеДействий: СтатическиеДанные; СсылкаНаЗаголовок: целое);
переменные
  СсылкаПодпись: целое;
начало
  Деталь.ВНачало;
  пока не Деталь.ВКонце делать
  начало
    если не ДанныеПодписей.FindKey(МассивИз(Деталь.ПолеПоИмени('SignRefLookup').КакСтрока)) тогда
    начало
      СсылкаПодпись := ГенерироватьДиап("G_Shared");
      ДобавитьПодпись(ДанныеПодписей, СсылкаПодпись, Деталь.ПолеПоИмени('SignRefLookup').КакСтрока);
      Деталь.ПолеПоИмени('SignRef').КакЦелое := СсылкаПодпись; 
    конец
    иначе
      Деталь.ПолеПоИмени('SignRef').КакЦелое := ДанныеПодписей.ПолеПоИмени('ID').КакЦелое;
    если ДанныеДействий.FindKey(МассивИз(Деталь.ПолеПоИмени('ActionName').КакСтрока)) тогда
      Деталь.ПолеПоИмени('ActionRef').КакЦелое := ДанныеДействий.ПолеПоИмени('ID').КакЦелое
    иначе
      Деталь.ПолеПоИмени('ActionRef').Очистить;  
    Деталь.ПолеПоИмени('RecordIndex').КакЦелое := СсылкаНаЗаголовок;
    Деталь.UpdateStatus := usInserted;
    Деталь.Следующая;
  конец;
конец;

// Проверка заблокированности схемы подписания. Схема считается заблокированной, если с помощью нее была наложена хотя бы одна подпись.
функция СхемаПодписанияЗаблокирована(СсылкаЗаголовок: целое): целое;
переменные
  Выборка: СтатическиеДанные;
начало
  Выборка := СоздатьСтатическиеДанные;
  Выборка.СоединитьБД;
  Выборка.Запрос := Формат('[PumpData]{select sl.id from SignLog sl inner join  SignSchemeDetail sd on(sl.signref=sd.id) where sd.RecordIndex = %d}', СсылкаЗаголовок); 
  Выборка.Открыть;
  результат := Выборка.ЧислоЗаписей&gt;0;
конец;

// обеспечивает сохранение импортированных данных схем подписания
функция СохранитьСхемыПодписания(Заголовок, Деталь: СтатическиеДанные);
переменные
  ЗаголовокБД, Подписи, ДействияСистемыСостояний: СтатическиеДанные;
  СхемаЗаблокирована: целое;
начало
  ЗаголовокБД := СоздатьСтатическиеДанные;
  Подписи := СоздатьСтатическиеДанные;
  ДействияСистемыСостояний := СоздатьСтатическиеДанные;
  попытка
    Подписи.Запрос := запрос_Подписи;
    Подписи.СоединитьБД;
    Подписи.IndexFieldNames := 'Name';
    Подписи.Открыть; 
    ДействияСистемыСостояний.Запрос := запрос_Действия;
    ДействияСистемыСостояний.СоединитьБД;
    ДействияСистемыСостояний.IndexFieldNames := 'Name';
    ДействияСистемыСостояний.Открыть;    
    для ЗаголовокБД делать
    начало
      .Запрос := запрос_ЗаголовокСхемы;
      .СоединитьБД;
      .IndexFieldNames := 'Name';  
      .Открыть;
      Заголовок.ВНачало;
      пока не Заголовок.ВКонце делать
      начало
        Деталь.Фильтр := Формат('RecordIndex = %d', Заголовок.ПолеПоИмени('ID').КакЦелое);
        ДействияСистемыСостояний.Фильтр := Формат('DocTypeRef = %d', Заголовок.ПолеПоИмени('DocTypeRef').КакЦелое);
        если .FindKey(МассивИз(Заголовок.ПолеПоИмени('Name').КакСтрока)) тогда
        начало
          СхемаЗаблокирована := СхемаПодписанияЗаблокирована(.ПолеПоИмени('ID').КакЦелое);
          если не СхемаЗаблокирована тогда
          начало
            Заголовок.ПолеПоИмени('ID').КакЦелое := .ПолеПоИмени('ID').КакЦелое;
            УдалитьДеталь(.ПолеПоИмени('ID').КакЦелое);
            Заголовок.UpdateStatus := usModified;
          конец;
        конец
        иначе
        начало
          Заголовок.ПолеПоИмени('ID').КакЦелое := ГенерироватьДиап("G_Shared");
          Заголовок.UpdateStatus := usInserted;
        конец;
        если не СхемаЗаблокирована тогда
          ПодготовитьДеталь(Деталь, Подписи, ДействияСистемыСостояний, Заголовок.ПолеПоИмени('ID').КакЦелое);
        Заголовок.Следующая;
      конец;
      Заголовок.ApplyUpdates;
      Подписи.ApplyUpdates;
      Деталь.ApplyUpdates;
    конец;   
  обязательно
    УдалитьОбъект(ЗаголовокБД, Подписи, ДействияСистемыСостояний);
  конец;
конец;  
  
// удаляет узлы реестра, хранящие данные для импорта
функция УдалитьИмпортированныеДанныеИзРеестра;
начало
  Реестр.Узел(узел_СохранениеДанныеЭлАрхива).Значение(значение_Заголовок).Удалить;
  Реестр.Узел(узел_СохранениеДанныеЭлАрхива).Значение(значение_Деталь).Удалить;
конец;

переменные
  ЗаголовокСхемы, ДетальСхемы: СтатическиеДанные;
начало
  ЗаголовокСхемы := СоздатьДанныеИзРеестра(узел_СохранениеДанныеЭлАрхива, значение_Заголовок);
  ДетальСхемы := СоздатьДанныеИзРеестра(узел_СохранениеДанныеЭлАрхива, значение_Деталь);
  попытка
    если ЗаголовокСхемы.ЧислоЗаписей &gt; 0 тогда
    начало
      ОткрытьТранзакцию;
      попытка
        ЗаголовокСхемы.Запрос := запрос_ЗаголовокСхемы;
        ЗаголовокСхемы.CachedUpdates := да;
        ЗаголовокСхемы.СоединитьБД;
        ДетальСхемы.Запрос := запрос_ДетальСхемы;
        ДетальСхемы.CachedUpdates := да;
        ДетальСхемы.СоединитьБД; 
        СохранитьСхемыПодписания(ЗаголовокСхемы, ДетальСхемы);               
        ЗакрытьТранзакцию;
      неудача
        ОтменитьТранзакцию;
        Ошибка("При импорте данных схем подписания произошла ошибка: " + ПоследняяОшибка);
      конец
    конец;
  обязательно
    УдалитьИмпортированныеДанныеИзРеестра;
    УдалитьОбъект(ЗаголовокСхемы, ДетальСхемы)
  конец;  
конец.
</value>
    <param value="СохранениеСхемПодписания" type="3" name="Export">FINOGENOV\sergy\29.08.2012 10:07:04</param>
    <param value="СохранениеСхемПодписания" type="3" name="version">36.042.50</param>
    <param value="СохранениеСхемПодписания" type="3" name="crc32">$871D4533</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="СохранениеСценариев">включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\MSXML.lib';

константы
  CLASS_DOMDocument = '{F6D90F11-9C73-11D3-B32E-00C04F990BB4}';
  ПутьСостоянияДействия = "%root%\Ресурсы\Состояния\Действия\";
  узел_СохранениеДанные = '%root%\Ресурсы\Макросы\Сохранение\Данные';
  узел_Конфигурация = '%root%\Конфигурация';  
  значение_МакросыДействий = "МакросыДействий";
  значение_СписокСценариев = "СписокСценариев";
  м_КодСценария = '99.99.99.99';
  ЗапросСценария = '[PumpData] {SELECT * FROM Scenario where ID = @ID}   
                     [InsertData] {INSERT INTO Scenario (ID, Name, Generation, OptionsPath, IsBudget) 
                                   VALUES (@ID, @Name, @Generation, @OptionsPath, @IsBudget)}
                     [ModifyData] {UPDATE Scenario SET 
                                     Name = @Name,     
                                     Generation = @Generation,
                                     OptionsPath = @OptionsPath,
                                     IsBudget = @IsBudget   
                                   WHERE ID = @ID}';
  ЗапросЭлементовСценария = '[PumpData] {SELECT * FROM State_JumpControl WHERE SCENARIOREF = %d} 
                             [InsertData] {INSERT INTO State_JumpControl 
                                             (JUMPREF,CONTROLCODE,CONTROLOPTIONS,CONDITION,RECORDTYPE,EXECTYPE,EXECORDER,
                                              ENABLED,ACTIONREF,FILTERCODE,FILTERNOTE,BEGINSTATEREF,ENDSTATEREF,REFERENCEREF,
                                              STATICLINKREF,SCENARIOREF,ELEMENTSCENARIOREF,ISBUDGET)
                                           VALUES 
                                             (@JUMPREF,@CONTROLCODE,@CONTROLOPTIONS,@CONDITION,@RECORDTYPE,@EXECTYPE,@EXECORDER,
                                              @ENABLED,@ACTIONREF,@FILTERCODE,@FILTERNOTE,@BEGINSTATEREF,@ENDSTATEREF,@REFERENCEREF,
                                              @STATICLINKREF,@SCENARIOREF,@ELEMENTSCENARIOREF,@ISBUDGET)}                       
                             [DeleteData] {DELETE FROM State_JumpControl WHERE ID = @ID}'; 
  ЗапросФильтра = '[PumpData] {SELECT * FROM State_Filter where ID = @ID}
                   [InsertData] {INSERT INTO State_Filter
                                   (ID, Name, Note, FilterValue, FilterValueURM, FilterActive, FilterFormat, IsBudget)
                                 VALUES
                                   (@ID, @Name, @Note, @FilterValue, @FilterValueURM, @FilterActive, @FilterFormat, @IsBudget)}
                   [ModifyData] {UPDATE State_Filter SET
                                   Name = @Name, Note = @Note, FilterValue = @FilterValue, FilterValueURM = @FilterValueURM, 
                                   FilterActive = @FilterActive, FilterFormat = @FilterFormat, IsBudget = @IsBudget
                                 WHERE ID = @ID}';                            
                                                          
функция ЗаполнитьПолеЗначениемАтрибута(Узел: IXMLDOMElement; Поле: IField; АльтернативноеИмяАтрибута: строка = '');
переменные
  ИмяАтрибута: строка;
  СписокАтрибутов: ВнешнийОбъект;
начало 
  ИмяАтрибута := Поле.Имя;
  // если есть альтернативное имя атрибута, попытаемся получить значение у него
  если АльтернативноеИмяАтрибута &lt;&gt; '' тогда
  начало
    СписокАтрибутов := Узел.attributes;
    если СписокАтрибутов.getNamedItem(АльтернативноеИмяАтрибута) &lt;&gt; nil тогда
      ИмяАтрибута := АльтернативноеИмяАтрибута
  конец;      
  если Узел.getAttribute(ИмяАтрибута) &lt;&gt; '' тогда
  начало
    если (Поле.Тип = varInteger) или (Поле.Тип = varSmallint) тогда
      Поле.AsInteger := СтрокаВЦелое(Узел.getAttribute(ИмяАтрибута))
    иначе // все оcтальное, как строку
      Поле.AsString := Узел.getAttribute(ИмяАтрибута)
  конец      
  иначе
    Поле.Очистить
конец;                               
  
функция СохранитьСценарий(ОписаниеСценария: IXMLDomElement);
переменные
  ДанныеСценария: СтатическиеДанные;
начало
  ДанныеСценария := СоздатьСтатическиеДанные;
  попытка
    ДанныеСценария.Запрос := ЗапросСценария; 
    ДанныеСценария.Параметр('ID') := ОписаниеСценария.getAttribute('ID');
    ДанныеСценария.СоединитьБД;
    ДанныеСценария.Открыть;
    // если импортируемы сценарий присутсвует в БД, то обновим его
    если ДанныеСценария.ЧислоЗаписей &gt; 0 тогда
      ДанныеСценария.Редактировать 
    иначе // иначе добавим
      ДанныеСценария.Добавить;
    ЗаполнитьПолеЗначениемАтрибута(ОписаниеСценария, ДанныеСценария.ПолеПоИмени('ID'));
    ЗаполнитьПолеЗначениемАтрибута(ОписаниеСценария, ДанныеСценария.ПолеПоИмени('Name'));
    ЗаполнитьПолеЗначениемАтрибута(ОписаниеСценария, ДанныеСценария.ПолеПоИмени('Generation'));
    ЗаполнитьПолеЗначениемАтрибута(ОписаниеСценария, ДанныеСценария.ПолеПоИмени('IsBudget'));
    ЗаполнитьПолеЗначениемАтрибута(ОписаниеСценария, ДанныеСценария.ПолеПоИмени('OptionsPath'));
    ДанныеСценария.Post;       
    ДанныеСценария.ApplyUpdates;
  обязательно
    УдалитьОбъект(ДанныеСценария);
  конец;  
конец;

функция СохранитьДанныеВРеестр(Данные: СтатическиеДанные; ИмяУзла, ИмяЗначения: Строка);
переменные
  БуферДанных: Буфер;
начало
  БуферДанных := СоздатьБуфер;
  попытка
    Данные.СохранитьВБуфер(БуферДанных);
    Реестр.Узел(ИмяУзла).Значение(ИмяЗначения).ЗагрузитьИзБуфера(БуферДанных);
  обязательно
    УдалитьОбъект(Данные)
  конец; 
конец;

функция СохранитьПользовательскийМакрос(УзелЭлемента: IXMLDOMElement; КодИнтерфейса: целое);
переменные
  Конфигурация: СтатическиеДанные;
  ПолеПараметров: IField;
  УзелМакросовИнтерфейса: УзелРеестра;
начало
  Конфигурация := СоздатьДанныеИзРеестра(узел_Конфигурация, значение_МакросыДействий);
  попытка
    // добавляем или редактируем конфигурацию макроса
    если Конфигурация.Локализовать('CLS', УзелЭлемента.getAttribute('ControlCode') , 0) тогда
      Конфигурация.Редактировать
    иначе
      Конфигурация.Добавить;
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, Конфигурация.ПолеПоИмени('CLS'));
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, Конфигурация.ПолеПоИмени('Script'));
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, Конфигурация.ПолеПоИмени('Name'));
    если Конфигурация.НайтиПоле('Params', ПолеПараметров) тогда
      ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ПолеПараметров);
    // сохраняем отредактированную конфигурацию в реестр
    СохранитьДанныеВРеестр(Конфигурация, узел_Конфигурация, значение_МакросыДействий);  
    // добавляем тело макроса  
    УзелМакросовИнтерфейса := Реестр.Узел(ПутьСостоянияДействия + ЦелоеВСтроку(КодИнтерфейса));
    УзелМакросовИнтерфейса.Значение(УзелЭлемента.getAttribute('Script')).ТипДанных := ТипДанныхРеестра_Программа;
    УзелМакросовИнтерфейса.Значение(УзелЭлемента.getAttribute('Script')).КакСтрока := УзелЭлемента.getAttribute('Macros');      
  обязательно
    УдалитьОбъект(Конфигурация);
  конец;
конец;

функция СохранитьПользовательскийФильтр(УзелЭлемента: IXMLDOMElement; КодФильтра: целое);
переменные
  ДанныеФильтра: СтатическиеДанные;
начало
  ДанныеФильтра := СоздатьСтатическиеДанные;
  попытка
    ДанныеФильтра.Запрос := ЗапросФильтра;
    ДанныеФильтра.СоединитьБД;
    ДанныеФильтра.Параметр('ID') := ЦелоеВСтроку(КодФильтра);
    ДанныеФильтра.Открыть;
    если ДанныеФильтра.ЧислоЗаписей = 0 тогда
    начало
      ДанныеФильтра.Добавить;
      ДанныеФильтра.ПолеПоИмени('ID').КакЦелое := КодФильтра;
    конец  
    иначе      
      ДанныеФильтра.Редактировать;
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ДанныеФильтра.ПолеПоИмени('Name'));
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ДанныеФильтра.ПолеПоИмени('Note'));
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ДанныеФильтра.ПолеПоИмени('FilterValue'));
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ДанныеФильтра.ПолеПоИмени('FilterValueURM'));
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ДанныеФильтра.ПолеПоИмени('FilterFormat'));
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ДанныеФильтра.ПолеПоИмени('FilterActive'));
    ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ДанныеФильтра.ПолеПоИмени('IsBudget'), "ISBUDGET_FILTER");    
    ДанныеФильтра.Post;
    ДанныеФильтра.ApplyUpdates;  
  обязательно
    УдалитьОбъект(ДанныеФильтра)
  конец;
конец;

функция ЭтоПользовательскийМакрос(ЭлементыСценария: СтатическиеДанные): целое;
начало
  Результат := нет;
  если (ЭлементыСценария.ПолеПоИмени('RecordType').КакЦелое = 4) и 
       ((ЭлементыСценария.ПолеПоИмени('ControlCode').КакЦелое ост 100) &lt;&gt; 0) тогда
    Результат := да;
конец;

функция ЭтоПользовательскийФильтр(ДанныеЭлементов: СтатическиеДанные): целое;
начало
  Результат := нет;
  если (ДанныеЭлементов.ПолеПоИмени('RecordType').КакЦелое = 5) и 
       ((ДанныеЭлементов.ПолеПоИмени('FilterCode').КакЦелое ост 100) &lt;&gt; 0) тогда
    Результат := да;
конец;

функция СохранитьОдинСценарий(ОписаниеСценария: IXMLDOMElement; ЭтоВложенныйСценарий: целое = нет);
переменные
  ДанныеЭлементов: СтатическиеДанные;
  УзелЭлемента: IXMLDOMElement;
  счЭл, счП: целое;  
  ТипСценария: Строка;
начало
  СохранитьСценарий(ОписаниеСценария);
  ДанныеЭлементов := СоздатьСтатическиеДанные;
  попытка
    ДанныеЭлементов.Запрос := Формат(ЗапросЭлементовСценария, СтрокаВЦелое(ОписаниеСценария.getAttribute('ID')));
    ДанныеЭлементов.СоединитьБД;
    ДанныеЭлементов.Открыть;
    // вложенные сценарии импортируем только если их нет 
    если (не ЭтоВложенныйСценарий) или (ЭтоВложенныйСценарий и (ДанныеЭлементов.ЧислоЗаписей = 0)) тогда
    начало
      // удалим предыдущие элементы сценария, если они есть
      пока ДанныеЭлементов.ЧислоЗаписей &gt; 0 делать
        ДанныеЭлементов.Удалить;    
      // добавляем элементы сценария
      от счЭл := 0 до ОписаниеСценария.childNodes.length - 1 делать
      начало
        УзелЭлемента := ОписаниеСценария.childNodes.item(счЭл);
        ДанныеЭлементов.Добавить;
        от счП := 0 до ДанныеЭлементов.ЧислоПолей - 1 делать
          ЗаполнитьПолеЗначениемАтрибута(УзелЭлемента, ДанныеЭлементов.поля(счП));
        // если элемент - пользовательский макрос и тело макроса не пустое  
        если ЭтоПользовательскийМакрос(ДанныеЭлементов) и (УзелЭлемента.getAttribute('Macros') &lt;&gt; '')  тогда 
          СохранитьПользовательскийМакрос(УзелЭлемента, СтрокаВЦелое(ОписаниеСценария.getAttribute('ID')) цел 10000);
        // если элемент пользовательский фильтр
        если ЭтоПользовательскийФильтр(ДанныеЭлементов) и (УзелЭлемента.getAttribute('NAME') &lt;&gt; '') тогда
          СохранитьПользовательскийФильтр(УзелЭлемента, ДанныеЭлементов.ПолеПоИмени('FilterCode').КакЦелое);          
        // если элемент сценарий или каскадный сценарий и он отсутствует, то проимпортируем его       
        если (ДанныеЭлементов.ПолеПоИмени('RecordType').КакЦелое = 7) или 
             (ДанныеЭлементов.ПолеПоИмени('RecordType').КакЦелое = 8) тогда
          СохранитьОдинСценарий(УзелЭлемента.firstChild, да);
        ДанныеЭлементов.Post;  
        попытка
          // Для обработки ошибок сохранения скриптов сохраняем отдельно каждую запись
          ДанныеЭлементов.ApplyUpdates;
		  ДанныеЭлементов.CommitUpdates; // очистим кэш изменений
        неудача        
          выбрать УзелЭлемента.getAttribute('RECORDTYPE') из
            0: ТипСценария := 'Контроль';
            1: ТипСценария := 'Печатный документ';
            2: ТипСценария := 'Генерация';
            3: ТипСценария := 'Макрос для документа';
            4: ТипСценария := 'Макрос для группы документов';
            5: ТипСценария := 'Фильтр';
            6: ТипСценария := 'Каскадный переход';
            7: ТипСценария := 'Сценарий';
            8: ТипСценария := 'Каскадный сценарий';        
          конец;
          Сообщение('Ошибка при импорте сценария "' + ОписаниеСценария.getAttribute('NAME') + '(' + ОписаниеСценария.getAttribute('ID') + ')'  
          + '" не найден элемент сценария  ' + ТипСценария + '(' + УзелЭлемента.getAttribute('CONTROLCODE') + ').');      
          Ошибка(ПоследняяОшибка);
        конец;         
      конец;
   конец;   
  обязательно
    УдалитьОбъект(ДанныеЭлементов)
  конец;
конец;

функция ПолучитьОписаниеСценария(КодСценария: строка): IXMLDOMElement;
переменные
  XML: IXMLDOMDocument;
начало
  XML := CreateComObject(CLASS_DOMDocument);
  если Реестр.Узел(узел_СохранениеДанные).Значение(КодСценария).Существует тогда
    XML.loadXML(Реестр.Узел(узел_СохранениеДанные).Значение(КодСценария).КакСтрока)
  иначе
    Ошибка('Некорректный формат данных. В реестре не найдено описания сценария с кодом ' +
           ФорматироватьКлассификатор(КодСценария, м_КодСценария));  
  Результат := XML.firstChild;
конец;

функция СохранитьСценарии(СписокСценариев: СтатическиеДанные);
начало
  СписокСценариев.ВНачало;
  ОткрытьТранзакцию;
  попытка
    пока не СписокСценариев.ВКонце делать
    начало
      СохранитьОдинСценарий(ПолучитьОписаниеСценария(СписокСценариев.ПолеПоИмени('ID').КакСтрока));
      // удаляем улемент узла реестра, содержащий описание атрибутов сценария
      Реестр.Узел(узел_СохранениеДанные).Значение(СписокСценариев.ПолеПоИмени('ID').КакСтрока).Удалить;      
      СписокСценариев.Следующая
    конец;
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    Ошибка("В процессе импорта произошла ошибка: " + ПоследняяОшибка);
  конец
конец;

переменные
  СписокСценариев: СтатическиеДанные;
начало
  попытка
    // получам список сценариев для сохранения
    СписокСценариев := СоздатьДанныеИзРеестра(узел_СохранениеДанные, значение_СписокСценариев);
    если СписокСценариев.ЧислоЗаписей &gt; 0 тогда
    начало
      // сохраняем сценарии согласно списку
      СохранитьСценарии(СписокСценариев);
      // удаляем список из реестра
      Реестр.Узел(узел_СохранениеДанные).Значение(значение_СписокСценариев).Удалить;
    конец
    иначе
      если Реестр.Узел(узел_СохранениеДанные).Значение("Сценарий").Существует тогда
      начало
        Реестр.Узел(узел_СохранениеДанные).Значение("Сценарий").Удалить;
        Ошибка("Данный формат устарел и не поддерживается. Произведите экспорт" + 
               " сценария в новый формат и повторите попытку");
      конец;  
  обязательно
    УдалитьОбъект(СписокСценариев)
  конец;
конец.
</value>
    <param value="СохранениеСценариев" type="3" name="Export">MITROFANOVNEW\mitrofanov\25.01.2013 15:04:24</param>
    <param value="СохранениеСценариев" type="3" name="version">36.042.50</param>
    <param value="СохранениеСценариев" type="3" name="crc32">$45E471F6</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="УдалениеОтчетов">включить "\библиотеки\LibRu.lib";

константы
  ПутьКДанным = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";
  ИмяДанных = "ОтчетДляУдаления";
  
переменные
  УдаляемыеДанные: СтатическиеДанные;
  КлассОтчета: Целое;  
начало
  если не Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
    выход;
  УдаляемыеДанные := СоздатьДанныеИзРеестра(ПутьКДанным, ИмяДанных);
  ОткрытьТранзакцию;
  попытка  
    попытка 
      УдаляемыеДанные.ВНачало; 
      пока не УдаляемыеДанные.ВКонце делать
      начало
        КлассОтчета := УдаляемыеДанные.ПолеПоИмени("REPORTS_REF").КакЦелое;
        ВыполнитьЗапрос(Формат("Delete from WORKPLACES_NEWREPORTS where REPORTS_REF = %d", КлассОтчета));
        УдаляемыеДанные.Следующая;
      конец;
      ЗакрытьТранзакцию;
    неудача
      ОтменитьТранзакцию;
      ВозбудитьОшибку("При удалении отчета " + ФорматироватьКлассификатор(КлассОтчета, "99.99.99.99") +
                      " возникла ошибка" + #13#10 + ПоследняяОшибка);
    конец;  
  обязательно
    УдалитьОбъект(УдаляемыеДанные);
    если Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
      Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;
  конец;
конец.  
</value>
    <param value="УдалениеОтчетов" type="3" name="Export">ALESENKAS\alesenkas\16.11.2010 11:29:45</param>
    <param value="УдалениеОтчетов" type="3" name="version">36.042.50</param>
    <param value="УдалениеОтчетов" type="3" name="crc32">$F344807B</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Сохранение">
    <value type="7" name="УдалениеРаскладки_New">включить "\библиотеки\LibRu.lib";

константы
  ПутьКДанным = "Бюджет\Ресурсы\Макросы\Сохранение\Данные";  
  ИмяДанных = "РаскладкаДляУдаления";
  // тип документа из раскладчика
  Раскладка_Контроль  = 0;
  Раскладка_Документ  = 1;
  Раскладка_Импорт    = 2;
  Раскладка_Экспорт   = 3;
  Раскладка_Генерация = 4;
  Раскладка_Сценарий = 5;
  
// По типу документа переданному при экспорте возращает тип документа, который должен быть в базе
функция ПолучитьРеальныйТипДокумента(ТипДокумента: Целое): Целое;
начало
  Результат := -1;
  Выбрать ТипДокумента из
    Раскладка_Контроль : Результат := 0;
    Раскладка_Документ,Раскладка_Импорт,Раскладка_Экспорт : Результат := ТипДокумента - 1;
    Раскладка_Генерация : Результат := 1;
    Раскладка_Сценарий : Результат := 3;
  конец;  
конец;

// По типу документа получить тип сценария
функция ПолучитьТипСценария(ТипДокумента: Целое): Целое;
начало
  Результат := ТипДокумента;
  Если ТипДокумента = Раскладка_Генерация тогда
    Результат := 2;
конец;

функция УдалениеРаскладки;
переменные
  ДанныеИзРеестра: СтатическиеДанные;
  ТипДокумента,КодДокумента: Целое;
  ИмяТаблицы, ИмяПоля, ОгрНаПусто: Строка;
начало
  Если не реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда выход;
  
  // получаем статические данные из узла реестра, которые нужно импортировать в базу
  ДанныеИзРеестра := СоздатьДанныеИзРеестра(ПутьКДанным,ИмяДанных);
  ОткрытьТранзакцию;
  попытка попытка
    ДанныеИзРеестра.ВНачало;
    пока не ДанныеИзРеестра.ВКонце делать
    начало
      ТипДокумента := ДанныеИзРеестра.ПолеПоИмени("Type").КакЦелое;
      КодДокумента := ДанныеИзРеестра.ПолеПоИмени("Doc_Ref").КакЦелое;
      Выбрать ТипДокумента из
        Раскладка_Контроль,Раскладка_Генерация:
          начало
            ИмяТаблицы := "ITF_CTRL";
            ИмяПоля := "Ctrl_Ref";
          конец;
        Раскладка_Сценарий:
          начало
            ИмяТаблицы := "ITF_CTRL";
            ИмяПоля := "ScenarioRef";
          конец;  
        Раскладка_Документ,Раскладка_Импорт,Раскладка_Экспорт:
          начало
            ИмяТаблицы := "ITF_DOCS";
            ИмяПоля := "Doc_Ref";
          конец;
      конец;
      ОгрНаПусто := "";
      // для контроля и печ дока DocIndex может быть равен Null
      Если (ТипДокумента = Раскладка_Контроль) или (ТипДокумента = Раскладка_Документ) тогда
        ОгрНаПусто := " or (DocIndex is Null)";
      // удаляем из раскладки  
      ВыполнитьЗапрос(Формат("Delete from %s where %s = %d and ((DocIndex = %d) %s )",ИмяТаблицы,ИмяПоля,
        КодДокумента,ПолучитьРеальныйТипДокумента(ТипДокумента),ОгрНаПусто));
      Если (ТипДокумента = Раскладка_Контроль или ТипДокумента = Раскладка_Генерация или ТипДокумента = Раскладка_Документ) и 
           (ДанныеИзРеестра.ПолеПоИмени('DeleteConfig').КакЦелое = 1) тогда   
        // удаляем из сценариев состояний
        ВыполнитьЗапрос(Формат("Delete from State_JumpControl where ControlCode = %d and RecordType = %d",
                               КодДокумента,ПолучитьТипСценария(ТипДокумента)));  
      Если (ТипДокумента = Раскладка_Сценарий) и (ДанныеИзРеестра.ПолеПоИмени('DeleteConfig').КакЦелое = 1) тогда
      начало
        // удаляем вложенные сценарии и каскадные сценарии
        ВыполнитьЗапрос(Формат('Delete from State_JumpControl where ControlCode = %d and RecordType in (7,8)', КодДокумента));
        // удаляем конфигурацию самого сценария
        ВыполнитьЗапрос(Формат('Delete from State_JumpControl where ScenarioRef = %d', КодДокумента));
        //заголовок
        ВыполнитьЗапрос(Формат('Delete from Scenario where ID = %d', КодДокумента));
      конец;    
      ДанныеИзРеестра.Следующая; 
    конец;
    ЗакрытьТранзакцию;
  неудача
    ОтменитьТранзакцию;
    ВозбудитьОшибку("При удалении раскладки " + ФорматироватьКлассификатор(КодДокумента,"99.99.99.99") +
      " возникла ошибка:" + #13#10 + ПоследняяОшибка);
  конец;
  обязательно
    УдалитьОбъект(ДанныеИзРеестра);
    Если Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Существует тогда
      Реестр.Узел(ПутьКДанным).Значение(ИмяДанных).Удалить;
  конец;
конец;

начало
  УдалениеРаскладки;
конец.
</value>
    <param value="УдалениеРаскладки" type="3" name="Export">ALESENKASNEW\alesenkas\24.02.2012 10:19:54</param>
    <param value="УдалениеРаскладки_New" type="3" name="version">36.042.50</param>
    <param value="УдалениеРаскладки_New" type="3" name="crc32">$80118DAF</param>
  </node>
  <version_info>
    <file>Сборка.Сценарии.xml</file>
    <version>36.064.00</version>
    <info>&lt;p&gt;Общие макросы для поддержки сценариев&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:07</buildtime>
  </version_info>
  <description>Стандартные макросы сценариев</description>
  <node path="%root%\Конфигурация\Дополнительно">
    <value type="6" name="ПараметрыМакросов">
      <table key="Name" userfields="Params">
        <FDL>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Params</N>
            <S>4000</S>
            <DL>Params</DL>
            <FDT>1</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="Name">ВключитьВРеестр</V>
            <V N="Params">"ВключениеВРеестр.Бюджет=Если указан, то документы будут включены в реестр с таким бюджетом, иначе с кодом текущего бюджета","ВключениеВРеестр.СостояниеДокумента=Если указано, то среди существующих будут искаться реестры с таким состоянием, если не указано и на реестрах используются состояния, будут искаться реестры в начальном состоянии, на которое есть права у текущего пользователя. Новые реестры всегда создаются в разрешенном начальном состоянии, независимо от значения параметра","ВключениеВРеестр.ТипРеестра=Если указан, то документы будут включены в реестр с таким типом, иначе будут искаться реестры с типами, разрешенными для использования на текущем интерфейсе","ВключениеВРеестр.НомерРеестра=Если указан, то документы нельзя включить в уже существующие реестры с другим номером","ВключениеВРеестр.ДатаРеестра=Если указана, то документы будут включены в реестр с такой датой, если не указана, то для создаваемых реестров по умолчанию будет предложена текущая дата с возможностью изменения. Указывать в формате(ггггммдд), допустимо вместо года указывать ГГГГ, в этом случае подставится текущий год","ВключениеВРеестр.ПринятиеРеестра=По умолчанию документы разрешено включать только в еще непринятые реестры. Если указать пробел, то будет разрешено включать и в существующие принятые реестры","ВключениеВРеестр.ИсключатьСпециальныеРеестры=По умолчанию документы нельзя включать в реестр УРМ и в отклоненный реестр. Указать 0, если нужно иное","ВключениеВРеестр.ИсключатьПереданныеВБанк=Если указано 1, то документы нельзя включать в реестры, содержащие хотя бы один переданный в банк документ","ВключениеВРеестр.СоздаватьРеестрПоУмолчанию=Если указать 1, в списке выбора реестров в диалоге по умолчанию будет выбран пункт 'СОЗДАТЬ НОВЫЙ'","ВключениеВРеестр.ВсегдаСоздаватьНовыйРеестр=Если указать 1, будет разрешено только создание нового реестра","ВключениеВРеестр.ПостфиксНомера=Постфикс номера нового реестра, возможна подстановка &lt;УНИКАЛЬНОСТЬ&gt;","ВключениеВРеестр.ПрефиксНомера=Префикс номера нового реестра, возможна подстановка &lt;УНИКАЛЬНОСТЬ&gt;","ВключениеВРеестр.НеПоказыватьДиалог=Если указать 1, то диалог выбора реестра не будет показан","ВключениеВРеестр.РазрешатьСоздаватьРеестр=Если указать 0, то в списке реестров в диалоге пункта 'СОЗДАТЬ НОВЫЙ' не будет","ВключениеВРеестр.ИмяГенератораНомера=Имя генератора для генерации номера нового реестра или подстановки &lt;МЕСЯЦ&gt;, &lt;МЕСЯЦРЕЕСТРА&gt;, &lt;ДЕНЬ&gt;, &lt;ДЕНЬРЕЕСТРА&gt;, &lt;УНИКАЛЬНОСТЬ&gt;, например, &lt;МЕСЯЦ&gt;&lt;ДЕНЬ&gt;.&lt;УНИКАЛЬНОСТЬ&gt;","ВключениеВРеестр.ЗаголовокДиалога=Заголовок диалога выбора реестра","ВключениеВРеестр.НачальныйПодНомер=Число, начиная с которого будет пытаться формироваться уникальная часть номера"</V>
          </R>
          <R>
            <V N="Name">ВключитьВРеестрОтклоненных</V>
            <V N="Params">"ИсключениеИзРеестра.СостояниеДокумента=Если указано состояние, то документы докустимо переносить в реестр отклоненных только из реестров с указанными состояниями","ИсключениеИзРеестра.НомерРеестра=Если номер указан, то документы допустимо переносить в реестр отклоненных только из реестров с указанным номером","ИсключениеИзРеестра.ДатаРеестра=Если дата указана, то документы допустимо переносить в реестр отклоненных только из реестров с указанной датой","ИсключениеИзРеестра.Бюджет=Если бюджет указан, то документы допустимо переносить в реестр отклоненных только из реестров с указанным кодом бюджета","ИсключениеИзРеестра.ПринятиеРеестра=Если указан 0, то документы допустимо переносить в реестр отклоненных только из непринятых реестров. Если значение не указано, то допустимо переносить как из принятых, так и из непринятых реестров.","ИсключениеИзРеестра.ТипРеестра=Если тип указан, то документы допустимо переносить в реестр отклоненных только из реестров с указанными типами","ИсключениеИзРеестра.ИсключатьСпециальныеРеестры=Если указан 1, то документы нельзя переносить из реестра УРМ","ИсключениеИзРеестра.ИсключатьПереданныеВБанк=Если указан 1, то документы нельзя переносить в реестр отклоненных из реестров, по которым есть документы, переданные в банк"</V>
          </R>
          <R>
            <V N="Name">ИсключитьИзРеестра</V>
            <V N="Params">"ИсключениеИзРеестра.СостояниеДокумента=Если указано состояние, то документы докустимо исключать только из реестров с указанными состояниями","ИсключениеИзРеестра.НомерРеестра=Если номер указан, то документы допустимо исключать только из реестров с указанным номером","ИсключениеИзРеестра.ДатаРеестра=Если дата указана, то документы допустимо исключать только из реестров с указанной датой","ИсключениеИзРеестра.Бюджет=Если бюджет указан, то документы допустимо исключать только из реестров с указанным кодом бюджета","ИсключениеИзРеестра.ПринятиеРеестра=Если указан 0, то документы допустимо исключать только из непринятых реестров. Если значение не указано, то допустимо исключать как из принятых, так и из непринятых реестров.","ИсключениеИзРеестра.ТипРеестра=Если тип указан, то документы допустимо исключать только из реестров с указанными типами","ИсключениеИзРеестра.ИсключатьСпециальныеРеестры=Если указан 1, то документы нельзя исключать из реестра УРМ и из реестра отклоненных документов","ИсключениеИзРеестра.ИсключатьПереданныеВБанк=Если указан 1, то документы нельзя исключать из реестров, по которым есть документы, переданные в банк","ВсегдаПереноситьВРеестрУРМ=Если указан 1, то документ будет перенесен в реестр УРМ, даже если документ был заведен не с УРМ","ВсегдаОчищатьРеестр=Если указан 1, то реестр документа будет очищен всегда, даже если документ был заведен с УРМ"</V>
          </R>
          <R>
            <V N="Name">УдалитьСвязанныеДокументы</V>
            <V N="Params">"ТипДочернегоДокумента=Тип дочернего документа","ТипРодительскогоДокумента=Тип родительского документа","КодИсходящейСвязи=Код исходящей связи","КодВходящейСвязи=Код входящей связи","УдалятьПустыеЗаголовки=Удалять заголовки у которых удалились все детализации","УдалятьСвязьПриОшибке=При ошибке удаления документа пытаться удалить только связь"</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="ПараметрыМакросов" type="3" name="version">36.064.00</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Сценарии">
    <value type="7" name="Сценарий">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Библиотеки\Documents.lib';
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

Формирование(
  CLSID : Целое;
  Коллекция : IVariables;
);
переменные
  Данные: СтатическиеДанные;
  сч, ВТранзакции: целое;
  КоллекцияСДанными: IVariables;  
начало
  ВТранзакции := ОткрытьТранзакцию; 
  попытка
    ExecScript(ProjectName + '\Объекты\Документы\Скрипты\Формирование\ДанныеДляЭЦП', Коллекция);  
    ВыполнитьСценарий(CLSID, Коллекция);
    КоллекцияСДанными := Коллекция.Values(stVarData);
    //Сохранение изменений в базу
    от сч := 0 до КоллекцияСДанными.Count - 1 делать
    начало
      Данные := КоллекцияСДанными.Значение(ЦелоеВСтроку(сч));
      Данные.СоединитьБД;
      Данные.ApplyUpdates;
    конец;
    если ВТранзакции тогда  
      ЗакрытьТранзакцию;
  неудача
    если ВТранзакции тогда
      ОтменитьТранзакцию;
    ВызватьОшибку(ПоследняяОшибка);
  конец;
конец.
</value>
    <param value="Сценарий" type="3" name="Export">ZIMIN\zimin\29.03.2010 16:00:53</param>
    <param value="Сценарий" type="3" name="version">36.064.00</param>
    <param value="Сценарий" type="3" name="crc32">$14F3C778</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Сценарии">
    <value type="7" name="СценарийДляВыделенных">включить "Project";
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Documents.lib';
включить '\Макросы\Отчеты\ПоддержкаФормВвода';
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

Формирование(
  CLSID : Целое;
  Коллекция : IVariables;
);
константы
  ПустойРез = -1;
  ЖелтыйРез = 9;
  КрасныйРез = 10;
переменные
  СписокДокументов: строка;
  Данные, Заголовок: СтатическиеДанные;
  Ф: ФормаВвода;
  КодКонтроляСценарий, КодКонтроляФорма, ТекстКонтроляСценарий, 
  ТекстКонтроляФорма, ХинтКонтроля: поле;
  сч, ВТранзакции, ОшибкаРезультата: целое;
  
функция ПроставитьРезультатОднойЗаписи(РезПоУмолчанию: целое): Целое;
начало
  Данные.ВНачало;
  если Данные.Локализовать('id', Заголовок.ПолеПоИмени("ID").КакЦелое, 0) тогда 
  начало  
    ТекстКонтроляФорма.КакСтрока := ТекстКонтроляСценарий.КакСтрока;
    ХинтКонтроля.КакСтрока := ТекстКонтроляСценарий.КакСтрока;       
    если (КодКонтроляСценарий.КакЦелое = -2001)или(КодКонтроляСценарий.КакЦелое = 4) тогда
      КодКонтроляФорма.КакЦелое := КрасныйРез
    иначе  
      КодКонтроляФорма.КакЦелое := РезПоУмолчанию;
  конец;
  Результат := КодКонтроляФорма.КакЦелое;
конец;

//Снесение результатов контроля на интерфейс
функция ПроставитьРезультатКонтроля(РезПоУмолчанию: целое): Целое;
начало
  Результат := да;  
  Данные := Ф.Заголовки.Таблица;
  Если Данные.НайтиПоле(stControlResultFieldName, КодКонтроляФорма) и не(Заголовок=nil) тогда
  начало  
    КодКонтроляСценарий := Заголовок.ПолеПоИмени(stControlResultFieldName); 
    ТекстКонтроляСценарий := Заголовок.ПолеПоИмени(stControlMessageFieldName); 
    ТекстКонтроляФорма := Данные.ПолеПоИмени(stControlMessageFieldName);
    ХинтКонтроля := Данные.ПолеПоИмени(ControlResultHint);
    Ф.Заголовки.ОбновитьЗаписи(1);  
    Данные.BeginUpdate;
    попытка
      Заголовок.ВНачало;
      пока не Заголовок.ВКонце делать
      начало
        Результат := Результат и (ПроставитьРезультатОднойЗаписи(РезПоУмолчанию) &lt;&gt; 10);
        Заголовок.Следующая;
      конец;        
    обязательно
      Данные.EndUpdate;
    конец;    
  конец;
конец;
  
начало
  если Коллекция.Значение("КодДокумента") &lt;&gt; '' тогда
    СписокДокументов := Коллекция.Значение("КодДокумента")
  иначе
  начало
    Данные := ПолучитьВыбранныеДанные(0);
    СписокДокументов := GetLimitStr(Данные, "ID");
  конец;
  ВТранзакции := ОткрытьТранзакцию; 
  попытка
    Ф := ПолучитьФормуВвода;
    Коллекция.Значение(stVarIntfCode) := Ф.КодИнтерфейса;
    Коллекция.Значение("КодДокумента") := СписокДокументов;
    ExecScript(ProjectName + '\Объекты\Документы\Скрипты\Формирование\ДанныеДляЭЦП', Коллекция);  
    ВыполнитьСценарий(CLSID, Коллекция);
    
    //Сохранение изменений в базу
    от сч := 0 до Ф.КоличествоДетализаций - 1 делать
    начало
      Данные := ПолучитьДетальИзКоллекции(Коллекция, сч);
      Данные.Фильтр := "";
      Данные.СоединитьБД;
      Данные.ApplyUpdates;
    конец;
    
    Заголовок := ПолучитьЗаголовокИЗКоллекции(Коллекция);
    Заголовок.IndexFieldNames := "ID";
    если Ф.АктивнаяДетализация &lt;&gt; -1 тогда
      от сч := 0 до Ф.КоличествоДетализаций - 1 делать
        Ф.Детализация(сч).Открыть;
     
    ОшибкаРезультата := не ПроставитьРезультатКонтроля(ПустойРез);
    если ОшибкаРезультата и не Коллекция.Значение("НеВызыватьОшибкуПоРезультату") тогда
      Ошибка("Выполнение сценария над частью документов было завершено с ошибкой");
    если ВТранзакции тогда  
      ЗакрытьТранзакцию;
  неудача
    ПроставитьРезультатКонтроля(ЖелтыйРез);
    если ВТранзакции тогда
      ОтменитьТранзакцию;
    ВызватьОшибку(ПоследняяОшибка);
   конец;
конец.
</value>
    <param value="СценарийДляВыделенных" type="3" name="version">36.064.00</param>
    <param value="СценарийДляВыделенных" type="3" name="crc32">$84A80D09</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Сценарии">
    <value type="7" name="СценарийДляВыделенныхДеталь">включить "Project";
включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\StateManage.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Documents.lib';
включить '\Макросы\Отчеты\ПоддержкаФормВвода';
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";

Формирование(
  CLSID : Целое;
  Коллекция : IVariables;
);
константы
  ПустойРез = -1;
  ЖелтыйРез = 9;
  КрасныйРез = 10;
  
переменные
  Данные, Заголовок: СтатическиеДанные;
  Ф: ФормаВвода;
  КодКонтроляСценарий, КодКонтроляФорма, ТекстКонтроляСценарий, 
  ТекстКонтроляФорма, ХинтКонтроля: поле;
  сч, ВТранзакции, ОшибкаРезультата: целое;
  СписокЗаписей: Текст;

функция ПроставитьРезультатОднойЗаписи(id, РезПоУмолчанию: целое): Целое;
начало
  Данные.ВНачало;
  если Данные.Локализовать('id', id, 0) тогда 
  начало
    если (КодКонтроляСценарий.КакЦелое = -2001)или(КодКонтроляСценарий.КакЦелое = 4) тогда
      КодКонтроляФорма.КакЦелое := 10
    иначе  
      КодКонтроляФорма.КакЦелое := РезПоУмолчанию;
    ТекстКонтроляФорма.КакСтрока := ТекстКонтроляСценарий.КакСтрока;
    ХинтКонтроля.КакСтрока := ТекстКонтроляСценарий.КакСтрока;
  конец;
  Результат := да; 
конец;  

//Снесение результатов контроля на интерфейс
функция ПроставитьРезультатКонтроля(РезПоУмолчанию: целое): Целое;
начало
  Результат := да;     
  если Ф.АктивнаяДетализация = -1 тогда 
    Данные := Ф.Заголовки.Таблица
  иначе
    Данные := Ф.Детализация(Ф.АктивнаяДетализация).Таблица;
  Если Данные.НайтиПоле(stControlResultFieldName, КодКонтроляФорма) и не (Заголовок=nil) тогда
  начало  
    КодКонтроляСценарий := Заголовок.ПолеПоИмени(stControlResultFieldName); 
    ТекстКонтроляСценарий := Заголовок.ПолеПоИмени(stControlMessageFieldName); 
    ТекстКонтроляФорма := Данные.ПолеПоИмени(stControlMessageFieldName);
    ХинтКонтроля := Данные.ПолеПоИмени(ControlResultHint);
    если Ф.АктивнаяДетализация = -1 тогда
    начало
      Данные.BeginUpdate;
      попытка
        Заголовок.ВНачало;
        пока не Заголовок.ВКонце делать
        начало
          Результат := Результат и (ПроставитьРезультатОднойЗаписи(Заголовок.ПолеПоИмени("ID").КакЦелое, РезПоУмолчанию) &lt;&gt; 10);
          Заголовок.Следующая;
        конец;
      обязательно
        Данные.EndUpdate;
      конец;  
    конец
    иначе
    начало  
      Данные.BeginUpdate;
      СписокЗаписей := СоздатьТекст;
      попытка
        СписокЗаписей.РазделенноеЗначение := Коллекция.Значение('КодЗаписи');
        от сч := 0 до СписокЗаписей.Количество - 1 делать
          Результат := Результат и (ПроставитьРезультатОднойЗаписи(СтрокаВЦелое(СписокЗаписей.Стр(сч)), РезПоУмолчанию) &lt;&gt; 10);             
      обязательно
        Данные.EndUpdate;
        УдалитьОбъект(СписокЗаписей);
      конец;
    конец;           
  конец;
конец;

начало
  ВТранзакции := ОткрытьТранзакцию; 
  попытка
    Ф := ПолучитьФормуВвода;
    если не Ф.Заголовки.Таблица.Active тогда
      ВызватьОшибку("Форма ввода не активна, нажмите кнопку [Выполнить]");
    если Ф.АктивнаяДетализация = -1 тогда
      Коллекция.Значение('КодДокумента') := GetLimitStr(ПолучитьВыбранныеДанные(0), 'ID')
    иначе    
      если Ф.Детализация(0).Сетка.ЕстьВыделенныеСтроки тогда
        Коллекция.Значение('КодЗаписи') := GetLimitStr(ПолучитьВыбранныеДанные(1), 'ID')    
      иначе
        Коллекция.Значение('КодЗаписи') := Ф.Детализация(ф.АктивнаяДетализация).Таблица.ПолеПоИмени("ID").КакСтрока;
    Коллекция.Значение(stVarIntfCode) := Ф.КодИнтерфейса;
    ExecScript(ProjectName + '\Объекты\Документы\Скрипты\Формирование\ДанныеДляЭЦП', Коллекция);  
    ВыполнитьСценарий(CLSID, Коллекция);    
    //Сохранение изменений в базу
    от сч := 0 до Ф.КоличествоДетализаций - 1 делать
    начало
      Данные := ПолучитьДетальИзКоллекции(Коллекция, сч);
      Данные.Фильтр := "";
      Данные.СоединитьБД;
      Данные.ApplyUpdates;
    конец;
    Заголовок := ПолучитьЗаголовокИЗКоллекции(Коллекция);
    Заголовок.IndexFieldNames := "ID";
    //Обновление записей на интерфейсе
    если не Ф.Заголовки.Таблица.UpdatesPending тогда
      Ф.Заголовки.ОбновитьЗаписи(1);    
    если Ф.АктивнаяДетализация &lt;&gt; -1 тогда
      от сч := 0 до Ф.КоличествоДетализаций - 1 делать
        Ф.Детализация(сч).Открыть;
           
    ОшибкаРезультата := не ПроставитьРезультатКонтроля(ПустойРез);
    если ОшибкаРезультата и не Коллекция.Значение("НеВызыватьОшибкуПоРезультату") тогда
      Ошибка("Выполнение сценария над частью документов было завершено с ошибкой");
          
    если ВТранзакции тогда  
      ЗакрытьТранзакцию;
  неудача
    ПроставитьРезультатКонтроля(ЖелтыйРез);
    если ВТранзакции тогда
      ОтменитьТранзакцию;
    ВызватьОшибку(ПоследняяОшибка);
  конец;
конец.
</value>
    <param value="СценарийДляВыделенныхДеталь" type="3" name="version">36.064.00</param>
    <param value="СценарийДляВыделенныхДеталь" type="3" name="crc32">$B777DD0C</param>
  </node>
  <version_info>
    <file>Сборка.СценарииКонфигурации_и_состав.xml</file>
    <version>36.064.00</version>
    <info>&lt;p&gt;Общие макросы для поддержки сценариев&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:07</buildtime>
  </version_info>
  <description>Описание стандартных сценариев</description>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3020100">&lt;Scenario ID="3020100" NAME="Генерация разассигновки и переброски" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067188" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3020200" SCENARIOREF="3020100"/&gt;
	&lt;Element ID="10067189" CONTROLCODE="3020100" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3020100"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3020100</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3020100" type="3" name="version">36.064.00</param>
    <param value="3020100" type="3" name="crc32">$5C80D9AB</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3020200">&lt;Scenario ID="3020200" NAME="Удаление связанных документов разассигновки и переброски" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067182" CONTROLCODE="3020500" CONTROLOPTIONS="0" CONDITION="&amp;quot;КодИсходящейСвязи=30300100,30300200&amp;quot;,&amp;quot;ТипДочернегоДокумента=30301,30101&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="1" ENABLED="1" SCENARIOREF="3020200"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3020200</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3020200" type="3" name="version">36.064.00</param>
    <param value="3020200" type="3" name="crc32">$94BBACFD</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3020500">&lt;Scenario ID="3020500" NAME="Заполнение хранимых реквизитов платежа" GENERATION="СценарийДляВыделенных" ISBUDGET="2"&gt;
	&lt;Element ID="31276796" CONTROLCODE="3020500" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="1" ENABLED="1" SCENARIOREF="3020500" ISBUDGET="2"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3020500</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3020500" type="3" name="version">36.064.00</param>
    <param value="3020500" type="3" name="crc32">$EE93E20D</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3040100">&lt;Scenario ID="3040100" NAME="Генерация перечисления" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067171" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067172" CONTROLCODE="0" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3040600" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067173" CONTROLCODE="0" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="3" ENABLED="1" FILTERCODE="3041100" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067174" CONTROLCODE="3040100" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="4" ENABLED="1" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067175" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="5" ENABLED="1" FILTERCODE="3041000" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067176" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="6" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067177" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="7" ENABLED="1" FILTERCODE="3040600" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067178" CONTROLCODE="3040400" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="8" ENABLED="1" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067179" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="9" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067180" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="10" ENABLED="1" FILTERCODE="3041100" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067181" CONTROLCODE="3040500" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="11" ENABLED="1" SCENARIOREF="3040100"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3040100</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3040100" type="3" name="version">36.064.00</param>
    <param value="3040100" type="3" name="crc32">$883D0183</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3040200">&lt;Scenario ID="3040200" NAME="Удаление связанных документов перечисления" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067160" CONTROLCODE="3040500" CONTROLOPTIONS="0" CONDITION="&amp;quot;КодИсходящейСвязи=30301500,30301600&amp;quot;,&amp;quot;ТипДочернегоДокумента=31101,31201&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="1" ENABLED="1" SCENARIOREF="3040200"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3040200</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3040200" type="3" name="version">36.064.00</param>
    <param value="3040200" type="3" name="crc32">$36A24724</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3040300">&lt;Scenario ID="3040300" NAME="Генерация возврата" GENERATION="СценарийДляВыделенных" ISBUDGET="2"&gt;
	&lt;Element ID="21493970" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3040100" SCENARIOREF="3040300" ISBUDGET="2"/&gt;
	&lt;Element ID="21493971" CONTROLCODE="0" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3041100" SCENARIOREF="3040300" ISBUDGET="2"/&gt;
	&lt;Element ID="21493972" CONTROLCODE="3040600" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3040300" ISBUDGET="2"/&gt;
	&lt;Element ID="21493973" CONTROLCODE="3040300" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="4" ENABLED="1" SCENARIOREF="3040300" ISBUDGET="2"/&gt;
	&lt;Element ID="21493974" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="5" ENABLED="1" FILTERCODE="3040100" SCENARIOREF="3040300" ISBUDGET="2"/&gt;
	&lt;Element ID="21493975" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="6" ENABLED="1" FILTERCODE="3041100" SCENARIOREF="3040300" ISBUDGET="2"/&gt;
	&lt;Element ID="21493976" CONTROLCODE="3040600" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="7" ENABLED="1" SCENARIOREF="3040300" ISBUDGET="2"/&gt;
	&lt;Element ID="21493977" CONTROLCODE="3040600" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="8" ENABLED="1" SCENARIOREF="3040300" ISBUDGET="2"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3040300</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3040300" type="3" name="version">36.064.00</param>
    <param value="3040300" type="3" name="crc32">$9D877877</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3040400">&lt;Scenario ID="3040400" NAME="Удаление связанных документов возврата" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067139" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3040100" SCENARIOREF="3040400"/&gt;
	&lt;Element ID="10067140" CONTROLCODE="3040500" CONTROLOPTIONS="0" CONDITION="&amp;quot;КодИсходящейСвязи=30302200,30302300&amp;quot;,&amp;quot;ТипДочернегоДокумента=31400,31500&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3040400" ELEMENTSCENARIOREF="3060200"/&gt;
	&lt;Element ID="10067141" CONTROLCODE="3040700" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3040400" Script="СнятьПричинуОтклоненияПеречислений" Name="Снять причину отклонения у перечислений, сформированных по указанным чекам" Macros="включить &amp;quot;\Библиотеки\LibRu.lib&amp;quot;;
включить &amp;quot;\Библиотеки\Reports.lib&amp;quot;;
включить &amp;quot;\Библиотеки\LinkInfo2.lib&amp;quot;;
включить &amp;quot;\Библиотеки\Control.lib&amp;quot;;
включить &amp;quot;\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl&amp;quot;;

МакросНаДействие(ПараметрыДействия: IVariables);
переменные
  LinkInfo: ILinkInfo2;
  Коллекция: IVariables;
  Деталь, ссСвязей: СтатическиеДанные;
начало
  LinkInfo := CreateComObject(TLinkInfo2);
  Коллекция := CreateVariables;
  попытка
    Деталь := ПолучитьДетальИзКоллекции(ПараметрыДействия, 1);
    если Деталь.ЧислоЗаписей = 0 тогда выход;
    СоединитьИнтерфейс(LinkInfo);
    Коллекция.Значение(&amp;quot;ParentID&amp;quot;) := GetLimitStr(Деталь, &amp;quot;ID&amp;quot;);
    Коллекция.Значение(paramLinkType_LinkTypeID) := &amp;quot;30301500,30301600&amp;quot;;
    Коллекция.Значение(&amp;quot;IsRejected&amp;quot;) := &amp;quot;0,1&amp;quot;;
    ссСвязей := LinkInfo.GetLinks(Коллекция);
    если ссСвязей.ЧислоЗаписей &amp;gt; 0 тогда
      ВыполнитьЗапрос(&amp;quot;update facialfincaption set Reject_CLS = null, RejectCause = null where id in (&amp;quot; +
        &amp;quot;select recordindex from facialfindetail where id in (&amp;quot; + GetLimitStr(ссСвязей, &amp;quot;ChildID&amp;quot;) + &amp;quot;))&amp;quot;);
  обязательно
    ЗакрытьИнтерфейс(LinkInfo);
    УдалитьОбъект(LinkInfo, Коллекция);
  конец;
конец.
"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3040400</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3040400" type="3" name="version">36.064.00</param>
    <param value="3040400" type="3" name="crc32">$172113EE</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3040500">&lt;Scenario ID="3040500" NAME="Генерация разассигновки и переброски" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067136" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040500"/&gt;
	&lt;Element ID="10067137" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3040900" SCENARIOREF="3040500"/&gt;
	&lt;Element ID="10067138" CONTROLCODE="3040700" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3040500"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3040500</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3040500" type="3" name="version">36.064.00</param>
    <param value="3040500" type="3" name="crc32">$06F803D4</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3040600">&lt;Scenario ID="3040600" NAME="Удаление связанных документов разассигновки и переброски" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067130" CONTROLCODE="3040500" CONTROLOPTIONS="0" CONDITION="&amp;quot;КодИсходящейСвязи=30301200,30301100&amp;quot;,&amp;quot;ТипДочернегоДокумента=30101,30301&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="1" ENABLED="1" SCENARIOREF="3040600"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3040600</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3040600" type="3" name="version">36.064.00</param>
    <param value="3040600" type="3" name="crc32">$AA6DB2DF</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3050100">&lt;Scenario ID="3050100" NAME="Удаление связанных документов разассигновки" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067128" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3050700" SCENARIOREF="3050100"/&gt;
	&lt;Element ID="10067129" CONTROLCODE="3050400" CONTROLOPTIONS="0" CONDITION="&amp;quot;УдалятьПустыеЗаголовки=1&amp;quot;,&amp;quot;КодИсходящейСвязи=30300700&amp;quot;,&amp;quot;ТипДочернегоДокумента=30301&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3050100"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3050100</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3050100" type="3" name="version">36.064.00</param>
    <param value="3050100" type="3" name="crc32">$C758C96F</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3050300">&lt;Scenario ID="3050300" NAME="Заполнение хранимых реквизитов платежа" GENERATION="СценарийДляВыделенных" ISBUDGET="2"&gt;
	&lt;Element ID="31276642" CONTROLCODE="3050400" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="1" ENABLED="1" SCENARIOREF="3050300" ISBUDGET="2"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3050300</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3050300" type="3" name="version">36.064.00</param>
    <param value="3050300" type="3" name="crc32">$8F247BB7</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3060100">&lt;Scenario ID="3060100" NAME="Генерация возврата" GENERATION="СценарийДляВыделенных" ISBUDGET="2"&gt;
	&lt;Element ID="21494013" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3060700" SCENARIOREF="3060100" ISBUDGET="2"/&gt;
	&lt;Element ID="21494014" CONTROLCODE="0" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3060900" SCENARIOREF="3060100" ISBUDGET="2"/&gt;
	&lt;Element ID="21494015" CONTROLCODE="3060100" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3060100" ISBUDGET="2"/&gt;
	&lt;Element ID="21494016" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="4" ENABLED="1" FILTERCODE="3060700" SCENARIOREF="3060100" ISBUDGET="2"/&gt;
	&lt;Element ID="21494017" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="5" ENABLED="1" FILTERCODE="3060900" SCENARIOREF="3060100" ISBUDGET="2"/&gt;
	&lt;Element ID="21494018" CONTROLCODE="3060300" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="6" ENABLED="1" SCENARIOREF="3060100" ISBUDGET="2"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3060100</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3060100" type="3" name="version">36.064.00</param>
    <param value="3060100" type="3" name="crc32">$4D08475D</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3060200">&lt;Scenario ID="3060200" NAME="Удаление связанных документов возврата" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="75905555" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3060700" SCENARIOREF="3060200" ISBUDGET="1"/&gt;
	&lt;Element ID="75905556" CONTROLCODE="3140100" CONTROLOPTIONS="0" RECORDTYPE="8" EXECTYPE="0" EXECORDER="2" ENABLED="1" REFERENCEREF="30301300" SCENARIOREF="3060200" ELEMENTSCENARIOREF="3140100" ISBUDGET="1"&gt;
		&lt;Scenario ID="3140100" NAME="Удалить документы" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="73143589" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3140700" FILTERNOTE="Приняты документы на и/ф Возврат со счетов для наличности" SCENARIOREF="3140100" ISBUDGET="1"/&gt;
	&lt;Element ID="73143590" CONTROLCODE="3140500" CONTROLOPTIONS="0" CONDITION="&amp;quot;ИсключениеИзРеестра.ИсключатьПереданныеВБанк=1&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3140100" ISBUDGET="1"/&gt;
	&lt;Element ID="73143591" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="3" ENABLED="1" FILTERCODE="3140200" SCENARIOREF="3140100" ISBUDGET="1"/&gt;
	&lt;Element ID="73143592" CONTROLCODE="3140400" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="4" ENABLED="1" SCENARIOREF="3140100" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;
	&lt;/Element&gt;
	&lt;Element ID="75905557" CONTROLCODE="3150100" CONTROLOPTIONS="0" RECORDTYPE="8" EXECTYPE="0" EXECORDER="3" ENABLED="1" REFERENCEREF="30301400" SCENARIOREF="3060200" ELEMENTSCENARIOREF="3150100" ISBUDGET="1"&gt;
		&lt;Scenario ID="3150100" NAME="Удалить документы" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="73143593" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3150100" FILTERNOTE="Приняты документы на и/ф Подтверждение возврата со счетов для наличности" SCENARIOREF="3150100" ISBUDGET="1"/&gt;
	&lt;Element ID="73143594" CONTROLCODE="3150400" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3150100" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;
	&lt;/Element&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3060200</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3060200" type="3" name="version">36.064.00</param>
    <param value="3060200" type="3" name="crc32">$5E3340F5</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3060300">&lt;Scenario ID="3060300" NAME="Генерация разассигновки и переброски" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067092" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3060700" SCENARIOREF="3060300"/&gt;
	&lt;Element ID="10067093" CONTROLCODE="3060200" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3060300"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3060300</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3060300" type="3" name="version">36.064.00</param>
    <param value="3060300" type="3" name="crc32">$1D4B6985</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3070100">&lt;Scenario ID="3070100" NAME="Принять реестр с перечислением на счета наличности" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067089" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3070100" SCENARIOREF="3070100"/&gt;
	&lt;Element ID="10067090" CONTROLCODE="3040100" CONTROLOPTIONS="0" RECORDTYPE="8" EXECTYPE="0" EXECORDER="2" ENABLED="1" STATICLINKREF="30300100" SCENARIOREF="3070100" ELEMENTSCENARIOREF="3040100"&gt;
		&lt;Scenario ID="3040100" NAME="Генерация перечисления" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067171" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067172" CONTROLCODE="0" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3040600" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067173" CONTROLCODE="0" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="3" ENABLED="1" FILTERCODE="3041100" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067174" CONTROLCODE="3040100" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="4" ENABLED="1" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067175" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="5" ENABLED="1" FILTERCODE="3041000" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067176" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="6" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067177" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="7" ENABLED="1" FILTERCODE="3040600" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067178" CONTROLCODE="3040400" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="8" ENABLED="1" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067179" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="9" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067180" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="10" ENABLED="1" FILTERCODE="3041100" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067181" CONTROLCODE="3040500" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="11" ENABLED="1" SCENARIOREF="3040100"/&gt;
&lt;/Scenario&gt;
	&lt;/Element&gt;
	&lt;Element ID="10067091" CONTROLCODE="3070100" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3070100" Script="ПринятиеРеестра" Name="Принять реестр" Macros="включить &amp;quot;\Библиотеки\LibRU.lib&amp;quot;;
включить &amp;quot;\Библиотеки\Reports.lib&amp;quot;;
включить &amp;quot;\Библиотеки\Control.lib&amp;quot;;
включить &amp;quot;\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl&amp;quot;;

ПринятиеРеестра(Параметры: IVariables);
переменные
  Заголовок: СтатическиеДанные;
  пПринятость: Поле;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(Параметры);
  пПринятость := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне(&amp;quot;ПринятиеРеестра&amp;quot;, 307, 0, 1));
  
  Заголовок.Вначало;
  пока не Заголовок.ВКонце делать
  начало
    Если пПринятость.КакЦелое = 0 тогда
    начало
      Заголовок.Редактировать;
      пПринятость.КакЦелое := 1;
      Заголовок.Сохранить; 
    конец;
    Заголовок.Следующая; 
  конец; 
конец.
"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3070100</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3070100" type="3" name="version">36.064.00</param>
    <param value="3070100" type="3" name="crc32">$45B0BEAC</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3070200">&lt;Scenario ID="3070200" NAME="Распринять реестр с удалением перечисления на счета наличности" GENERATION="СценарийДляВыделенных" ISBUDGET="1" OPTIONSPATH="14"&gt;
	&lt;Element ID="31272435" CONTROLCODE="3070500" CONTROLOPTIONS="0" RECORDTYPE="8" EXECTYPE="0" EXECORDER="4" ENABLED="1" REFERENCEREF="30301700" SCENARIOREF="3070200" ELEMENTSCENARIOREF="3070500" ISBUDGET="1"&gt;
		&lt;Scenario ID="3070500" NAME="Распринять реестр (без удаления связанных документов)" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="31272403" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3070200" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
	&lt;Element ID="31272347" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3070100" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
	&lt;Element ID="31272348" CONTROLCODE="3070200" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;
	&lt;/Element&gt;
	&lt;Element ID="31272436" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3070100" FILTERNOTE="Реестр не принят" SCENARIOREF="3070200" ISBUDGET="1"/&gt;
	&lt;Element ID="31272437" CONTROLCODE="3070200" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3070200" ISBUDGET="1"/&gt;
	&lt;Element ID="31272438" CONTROLCODE="3040200" CONTROLOPTIONS="0" RECORDTYPE="8" EXECTYPE="0" EXECORDER="5" ENABLED="1" STATICLINKREF="30300100" SCENARIOREF="3070200" ELEMENTSCENARIOREF="3040200" ISBUDGET="1"&gt;
		&lt;Scenario ID="3040200" NAME="Удаление связанных документов перечисления" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="31272460" CONTROLCODE="3040500" CONTROLOPTIONS="0" CONDITION="&amp;quot;КодИсходящейСвязи=30301500,30301600&amp;quot;,&amp;quot;ТипДочернегоДокумента=31101,31201&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="1" ENABLED="1" SCENARIOREF="3040200" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;
	&lt;/Element&gt;
	&lt;Element ID="31272439" CONTROLCODE="3070300" CONTROLOPTIONS="0" CONDITION="&amp;quot;КодИсходящейСвязи=30301700&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="6" ENABLED="1" SCENARIOREF="3070200" ISBUDGET="1"/&gt;
	&lt;Element ID="31272440" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3070200" FILTERNOTE="Реестр содержит документы, отправленные в банк" SCENARIOREF="3070200" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3070200</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3070200" type="3" name="version">36.064.00</param>
    <param value="3070200" type="3" name="crc32">$6F279DCF</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3070300">&lt;Scenario ID="3070300" NAME="Принятие реестра с генерацией перечислений наличности (на изменение поля принятия реестра)" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067078" CONTROLCODE="3040100" CONTROLOPTIONS="0" RECORDTYPE="8" EXECTYPE="0" EXECORDER="1" ENABLED="1" STATICLINKREF="30300100" SCENARIOREF="3070300" ELEMENTSCENARIOREF="3040100"&gt;
		&lt;Scenario ID="3040100" NAME="Генерация перечисления" GENERATION="СценарийДляВыделенных"&gt;
	&lt;Element ID="10067171" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067172" CONTROLCODE="0" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3040600" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067173" CONTROLCODE="0" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="3" ENABLED="1" FILTERCODE="3041100" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067174" CONTROLCODE="3040100" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="4" ENABLED="1" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067175" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="5" ENABLED="1" FILTERCODE="3041000" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067176" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="6" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067177" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="7" ENABLED="1" FILTERCODE="3040600" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067178" CONTROLCODE="3040400" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="8" ENABLED="1" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067179" CONTROLCODE="0" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="9" ENABLED="1" FILTERCODE="3040200" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067180" CONTROLCODE="0" CONTROLOPTIONS="2" RECORDTYPE="5" EXECTYPE="0" EXECORDER="10" ENABLED="1" FILTERCODE="3041100" SCENARIOREF="3040100"/&gt;
	&lt;Element ID="10067181" CONTROLCODE="3040500" CONTROLOPTIONS="0" RECORDTYPE="2" EXECTYPE="0" EXECORDER="11" ENABLED="1" SCENARIOREF="3040100"/&gt;
&lt;/Scenario&gt;
	&lt;/Element&gt;
	&lt;Element ID="10067079" CONTROLCODE="3070100" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3070300" Script="ПринятиеРеестра" Name="Принять реестр" Macros="включить &amp;quot;\Библиотеки\LibRU.lib&amp;quot;;
включить &amp;quot;\Библиотеки\Reports.lib&amp;quot;;
включить &amp;quot;\Библиотеки\Control.lib&amp;quot;;
включить &amp;quot;\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl&amp;quot;;

ПринятиеРеестра(Параметры: IVariables);
переменные
  Заголовок: СтатическиеДанные;
  пПринятость: Поле;
начало
  Заголовок := ПолучитьЗаголовокИЗКоллекции(Параметры);
  пПринятость := Заголовок.Поле(ПолучитьИмяПоляНаШаблоне(&amp;quot;ПринятиеРеестра&amp;quot;, 307, 0, 1));
  
  Заголовок.Вначало;
  пока не Заголовок.ВКонце делать
  начало
    Если пПринятость.КакЦелое = 0 тогда
    начало
      Заголовок.Редактировать;
      пПринятость.КакЦелое := 1;
      Заголовок.Сохранить; 
    конец;
    Заголовок.Следующая; 
  конец; 
конец.
"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3070300</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3070300" type="3" name="version">36.064.00</param>
    <param value="3070300" type="3" name="crc32">$1D87E932</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3070400">&lt;Scenario ID="3070400" NAME="Отмена принятия реестра с удалением перечислений наличности (на изменение поля принятия реестра)" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="30935694" CONTROLCODE="3070500" CONTROLOPTIONS="0" RECORDTYPE="8" EXECTYPE="0" EXECORDER="3" ENABLED="1" REFERENCEREF="30301700" SCENARIOREF="3070400" ELEMENTSCENARIOREF="3070500" ISBUDGET="1"&gt;
		&lt;Scenario ID="3070500" NAME="Распринять реестр (без удаления связанных документов)" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="30935184" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3070200" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
	&lt;Element ID="30935185" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3070100" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
	&lt;Element ID="30935186" CONTROLCODE="3070200" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;
	&lt;/Element&gt;
	&lt;Element ID="30935696" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3070200" FILTERNOTE="Реестр содержит документы, отправленные в банк" SCENARIOREF="3070400" ISBUDGET="1"/&gt;
	&lt;Element ID="30935697" CONTROLCODE="3070200" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3070400" ISBUDGET="1"/&gt;
	&lt;Element ID="30935698" CONTROLCODE="3040200" CONTROLOPTIONS="0" RECORDTYPE="8" EXECTYPE="0" EXECORDER="4" ENABLED="1" STATICLINKREF="30300100" SCENARIOREF="3070400" ELEMENTSCENARIOREF="3040200" ISBUDGET="1"&gt;
		&lt;Scenario ID="3040200" NAME="Удаление связанных документов перечисления" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="30935269" CONTROLCODE="3040500" CONTROLOPTIONS="0" CONDITION="&amp;quot;КодИсходящейСвязи=30301500,30301600&amp;quot;,&amp;quot;ТипДочернегоДокумента=31101,31201&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="1" ENABLED="1" SCENARIOREF="3040200" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;
	&lt;/Element&gt;
	&lt;Element ID="30935699" CONTROLCODE="3070300" CONTROLOPTIONS="0" CONDITION="&amp;quot;КодИсходящейСвязи=30301700&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="5" ENABLED="1" SCENARIOREF="3070400" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3070400</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3070400" type="3" name="version">36.064.00</param>
    <param value="3070400" type="3" name="crc32">$0A4D98A6</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3070500">&lt;Scenario ID="3070500" NAME="Распринять реестр (без удаления связанных документов)" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="31272403" CONTROLOPTIONS="3" RECORDTYPE="5" EXECTYPE="0" EXECORDER="2" ENABLED="1" FILTERCODE="3070200" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
	&lt;Element ID="31272347" CONTROLOPTIONS="0" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3070100" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
	&lt;Element ID="31272348" CONTROLCODE="3070200" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="3" ENABLED="1" SCENARIOREF="3070500" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3070500</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3070500" type="3" name="version">36.064.00</param>
    <param value="3070500" type="3" name="crc32">$CC6F3E04</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3140100">&lt;Scenario ID="3140100" NAME="Удалить документы" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="73143589" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3140700" FILTERNOTE="Приняты документы на и/ф Возврат со счетов для наличности" SCENARIOREF="3140100" ISBUDGET="1"/&gt;
	&lt;Element ID="73143590" CONTROLCODE="3140500" CONTROLOPTIONS="0" CONDITION="&amp;quot;ИсключениеИзРеестра.ИсключатьПереданныеВБанк=1&amp;quot;" RECORDTYPE="3" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3140100" ISBUDGET="1"/&gt;
	&lt;Element ID="73143591" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="3" ENABLED="1" FILTERCODE="3140200" SCENARIOREF="3140100" ISBUDGET="1"/&gt;
	&lt;Element ID="73143592" CONTROLCODE="3140400" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="4" ENABLED="1" SCENARIOREF="3140100" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3140100</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3140100" type="3" name="version">36.064.00</param>
    <param value="3140100" type="3" name="crc32">$DE32F7D2</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="3" name="3150100">&lt;Scenario ID="3150100" NAME="Удалить документы" GENERATION="СценарийДляВыделенных" ISBUDGET="1"&gt;
	&lt;Element ID="73143593" CONTROLCODE="0" CONTROLOPTIONS="1" RECORDTYPE="5" EXECTYPE="0" EXECORDER="1" ENABLED="1" FILTERCODE="3150100" FILTERNOTE="Приняты документы на и/ф Подтверждение возврата со счетов для наличности" SCENARIOREF="3150100" ISBUDGET="1"/&gt;
	&lt;Element ID="73143594" CONTROLCODE="3150400" CONTROLOPTIONS="0" RECORDTYPE="4" EXECTYPE="0" EXECORDER="2" ENABLED="1" SCENARIOREF="3150100" ISBUDGET="1"/&gt;
&lt;/Scenario&gt;</value>
    <value type="6" name="СписокСценариев">
      <table key="ID">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">3150100</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="3150100" type="3" name="version">36.064.00</param>
    <param value="3150100" type="3" name="crc32">$1B96A5ED</param>
    <param value="СписокСценариев" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" order="100" name="СохранениеСценариев">%root%\Ресурсы\Макросы\Сохранение\СохранениеСценариев</script>
  <node path="%root%\Объекты\Настройки\Сценарии\3070200">
    <value type="4" name="НеВызыватьОшибкуПоРезультату">1</value>
    <param value="НеВызыватьОшибкуПоРезультату" type="3" name="version">36.064.00</param>
  </node>
  <version_info>
    <file>Сборка.МакросыПодключенияСценариев.xml</file>
    <version>36.064.00</version>
    <info>&lt;p&gt;Общие макросы для поддержки сценариев&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:07</buildtime>
  </version_info>
  <description>Макросы подключения сценариев к ЭО</description>
  <node path="%root%\Ресурсы\Макросы">
    <value type="7" name="ВызовИспользуемыхСценариев.abl">включить '\Библиотеки\LibRu.lib';
включить "\Библиотеки\Reports.lib";
включить '\Библиотеки\StateManage.lib';
включить "\Макросы\Состояния\ДляУправленияВСостояниях.abl";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Библиотеки\Variables.lib";
включить '\Библиотеки\Documents.lib';

константы
  кСохранение = 16;
  кОчистка = 32;

функция ПолучитьКодДокумента(Прогиндекс: целое): целое;
переменные
ТипыДокументов: СтатическиеДанные; 
начало
  Результат := 0;
  ТипыДокументов := СоздатьСтатическиеДанные;
  попытка
    ТипыДокументов.СоединитьБД();
    ТипыДокументов.Запрос := "[PumpData] {"
                             + "select id " 
                             + "from documenttypes "
                             + "where progindex = @ProgIndex}";
    ТипыДокументов.Params("ProgIndex") := Прогиндекс;
    ТипыДокументов.Открыть;
    Результат := ТипыДокументов.Поле("id").КакЦелое;
  обязательно
    УдалитьОбъект(ТипыДокументов);
  конец;
конец;

функция ПолучитьИДИнтерфейса(КодДокумента: целое): целое;
переменные
Интерфейсы: СтатическиеДанные; 
начало
  Результат := 0;
  Интерфейсы := СоздатьСтатическиеДанные;
  попытка
    Интерфейсы.СоединитьБД();
    Интерфейсы.Запрос := "[PumpData] {"
                        + "select id " 
                        + "from interfaces "
                        + "where cls = @Cls}";
    Интерфейсы.Params("Cls") := КодДокумента;
    Интерфейсы.Открыть;
    Результат := Интерфейсы.Поле("ID").КакЦелое;
  обязательно
    УдалитьОбъект(Интерфейсы);
  конец;                           
конец;

функция ПолучитьСценарии(ИДИнтерфейса: целое; КонтролируемоеПоле: строка; НаСохранение, НаОчистку: целое): строка;
переменные
  Сценарии: СтатическиеДанные;
начало
  Результат := "";
  если (КонтролируемоеПоле &lt;&gt; "") и ((НаСохранение &lt;&gt; 0) или (НаОчистку &lt;&gt; 0)) тогда
  начало
    если НаСохранение &lt;&gt; 0 тогда
      НаСохранение := кСохранение;
    если НаОчистку &lt;&gt; 0 тогда
      НаОчистку := кОчистка;
    Сценарии := СоздатьСтатическиеДанные;
    попытка
      Сценарии.СоединитьБД();
      Сценарии.Запрос := "[PumpData] {"
                          + "select scenarioref, controlfield, ctrloptions, orderby " 
                          + "from itf_ctrl "
                          + "where (docindex = 3) and (enable = 1) and (itf_ref = @itf_ref)}";
      Сценарии.Params("itf_ref") := ИДИнтерфейса;
      Сценарии.Открыть;
      Сценарии.IndexFieldNames := "ORDERBY";
      Сценарии.ВНачало;
      пока не Сценарии.ВКонце делать
      начало
        если (Позиция(Прописные(КонтролируемоеПоле), Прописные(Сценарии.Поле("CONTROLFIELD").КакСтрока)) &gt; 0) и
             (бити(Сценарии.Поле("CTRLOPTIONS").КакЦелое, кСохранение) = НаСохранение) и
             (бити(Сценарии.Поле("CTRLOPTIONS").КакЦелое, кОчистка) = НаОчистку) тогда
          если Результат &lt;&gt; "" тогда
            Результат := Формат("%s,%s", Результат, Сценарии.Поле("SCENARIOREF").КакСтрока)
          иначе
            Результат := Сценарии.Поле("SCENARIOREF").КакСтрока;
        Сценарии.Следующая;
      конец;    
    обязательно
      УдалитьОбъект(Сценарии);
    конец;
  конец; 
конец;

функция ВызватьСценарий(СписокИД: Строка; CLSID: Целое; Коллекция: IVariables);
переменные
  Данные: СтатическиеДанные;
  сч, ВТранзакции: целое;
  КоллекцияСДанными: IVariables;  
начало
  Если СписокИД &lt;&gt; "" тогда
  начало
      начало
        Коллекция.Значение("КодДокумента") := СписокИД;
        ВТранзакции := ОткрытьТранзакцию; 
        попытка        
          ВыполнитьСценарий(CLSID, Коллекция);
          КоллекцияСДанными := Коллекция.Values(stVarData);
          от сч := 0 до КоллекцияСДанными.Count - 1 делать
          начало
            Данные := КоллекцияСДанными.Значение(ЦелоеВСтроку(сч));
            Данные.СоединитьБД;
            Данные.ApplyUpdates;
          конец;
          если ВТранзакции тогда  
            ЗакрытьТранзакцию;
        неудача
          если ВТранзакции тогда
            ОтменитьТранзакцию;
          ВызватьОшибку(ПоследняяОшибка);
        конец;
      конец;  
  конец;
конец;

функция ВызватьИспользуемыеСценарии(СписокИД: Строка; КодДокумента: целое; КонтролируемоеПоле: строка; НаСохранение, НаОчистку: целое; Параметры: IVariables):целое;
переменные
  СписокСценариев: текст;
  ИДИнтерфейса: целое;
  сч: целое;
  ИДСценария: целое;
начало
  СписокСценариев := СоздатьТекст;
  попытка
    ИДИнтерфейса := ПолучитьИДИнтерфейса(КодДокумента);
    СписокСценариев.РазделенноеЗначение := ПолучитьСценарии(ИДИнтерфейса, КонтролируемоеПоле, НаСохранение, НаОчистку);
    от сч := 0 до СписокСценариев.Количество - 1 делать
    начало
      ИДСценария := СтрокаВЦелое(СписокСценариев.стр(сч));
      ВызватьСценарий(СписокИД, ИДСценария, Параметры);
    конец;
    Результат := СписокСценариев.Количество;
  обязательно
    УдалитьОбъект(СписокСценариев);
  конец;
конец;

</value>
    <param value="ВызовИспользуемыхСценариев.abl" type="3" name="Export">FINOGENOV\sergy\15.07.2012 10:00:36</param>
    <param value="ВызовИспользуемыхСценариев.abl" type="3" name="version">36.064.00</param>
    <param value="ВызовИспользуемыхСценариев.abl" type="3" name="crc32">$1FBB6537</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Казначейство">
    <value type="7" name="ОбработкаВставкиДокументов.abl">включить '\Библиотеки\LibRu.lib';
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ВызовИспользуемыхСценариев.abl";
включить "\Макросы\ДляИмпорта.abl";

ОбработкаВставкиДокументов(ИДДокумента, Прогиндекс: целое);
переменные
  КодДокумента: Целое;
  Коллекция: IVariables;
начало
  Коллекция := СоздатьКоллекцию;
  попытка
    если СтавитьДатуПринятия(Прогиндекс) тогда
    начало
      КодДокумента := ПолучитьКодДокумента(Прогиндекс);
      ВызватьИспользуемыеСценарии(ЦелоеВСтроку(ИДДокумента), КодДокумента, ПолучитьИмяПоляНаИнтерфейсе("ДатаПринятия", КодДокумента, 0, 1), 1, 0, Коллекция);
    конец;  
  обязательно
    УдалитьОбъект(Коллекция);
  конец;
конец;
</value>
    <param value="ОбработкаВставкиДокументов.abl" type="3" name="Export">GREKOVSV\grekovsv\13.07.2012 10:16:24</param>
    <param value="ОбработкаВставкиДокументов.abl" type="3" name="version">36.064.00</param>
    <param value="ОбработкаВставкиДокументов.abl" type="3" name="crc32">$C307DCE0</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Казначейство">
    <value type="7" name="ОбработкаОтклоненияДокументов.abl">включить '\Библиотеки\LibRu.lib';
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ВызовИспользуемыхСценариев.abl";

ОбработкаОтклоненияДокументов(Коллекция: IVariables);
переменные
  ВсеИд: IVariables;
  СписокИД: Строка;
  КодДокумента: Целое;
  сч: целое;
  Прогиндекс: строка;
начало
  ВсеИд := Коллекция.Значение("СписокИд");
  от сч := 0 до ВсеИД.Count - 1 делать
  начало
    Прогиндекс := ВсеИД.Names(сч);
    СписокИД := ВсеИд.Значение(Прогиндекс);
    попытка
      КодДокумента := ПолучитьКодДокумента(СтрокаВЦелое(Прогиндекс));
      ВызватьИспользуемыеСценарии(СписокИД, КодДокумента, ПолучитьИмяПоляНаИнтерфейсе("ПричинаОтклонКод",КодДокумента, 0, 1), 1, 0, Коллекция);
    неудача
    конец;
  конец;
конец;
</value>
    <param value="ОбработкаОтклоненияДокументов.abl" type="3" name="Export">FINOGENOV\sergy\15.07.2012 10:01:03</param>
    <param value="ОбработкаОтклоненияДокументов.abl" type="3" name="version">36.064.00</param>
    <param value="ОбработкаОтклоненияДокументов.abl" type="3" name="crc32">$A6C06A24</param>
  </node>
  <node path="%root%\Ресурсы\Макросы\Казначейство">
    <value type="7" name="ОбработкаПроведенияОтклоненияДокументов.abl">включить '\Библиотеки\LibRu.lib';
включить "\Библиотеки\Reports.lib";
включить "\Макросы\Состояния\ОбщаяПоддержкаСхемы.abl";
включить "\Макросы\ВызовИспользуемыхСценариев.abl";

ОбработкаПроведенияОтклоненияДокументов(Коллекция: IVariables);
переменные
  ВсеИд: IVariables;
  СписокИД: Строка;
  КодДокумента: Целое;
  сч: целое;
  Прогиндекс: строка;
  отклонен: целое;
начало
  ВсеИд := Коллекция.Значение("СписокИд");
  от сч := 0 до ВсеИД.Count - 1 делать
  начало
    отклонен := 0;
    Прогиндекс := ВсеИД.Names(сч);
    СписокИД := ВсеИд.Значение(Прогиндекс);
    если Позиция("_откл", Прогиндекс) &gt; 0 тогда
    начало
      Прогиндекс := Подстрока(Прогиндекс, 1, Длина(Прогиндекс) - 5);
      отклонен := 1;
    конец;
    попытка
      КодДокумента := ПолучитьКодДокумента(СтрокаВЦелое(Прогиндекс));
      если отклонен тогда
        ВызватьИспользуемыеСценарии(СписокИД, КодДокумента, ПолучитьИмяПоляНаИнтерфейсе("ПричинаОтклонКод", КодДокумента, 0, 1), 1, 0, Коллекция)
      иначе
        ВызватьИспользуемыеСценарии(СписокИД, КодДокумента, ПолучитьИмяПоляНаИнтерфейсе("ДатаПринятия", КодДокумента, 0, 1), 1, 0, Коллекция);
    неудача
    конец;
  конец;
конец;
</value>
    <param value="ОбработкаПроведенияОтклоненияДокументов.abl" type="3" name="Export">GREKOVSV\grekovsv\03.07.2012 17:26:31</param>
    <param value="ОбработкаПроведенияОтклоненияДокументов.abl" type="3" name="version">36.064.00</param>
    <param value="ОбработкаПроведенияОтклоненияДокументов.abl" type="3" name="crc32">$713167FD</param>
  </node>
  <version_info>
    <file>Сборка.СценарииРаскладки.xml</file>
    <version>36.064.00</version>
    <info>&lt;p&gt;Общие макросы для поддержки сценариев&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:07</buildtime>
  </version_info>
  <description>Раскладки стандартных сценариев</description>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066281</V>
            <V N="ITF_REF">14</V>
            <V N="DOC_REF">3020100</V>
            <V N="CtrlOptions">16</V>
            <V N="DocName">Генерация разассигновки и переброски</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTDATE</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">1</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 18:48:43</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 18:48:43</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">302</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10065468</V>
            <V N="ITF_REF">14</V>
            <V N="DOC_REF">3020200</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">32</V>
            <V N="DocName">Удаление связанных документов разассигновки и переброски</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTDATE</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">0</V>
            <V N="NotApply">1</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:07:10</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:07:10</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">302</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066007</V>
            <V N="ITF_REF">34</V>
            <V N="DOC_REF">3040300</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">16</V>
            <V N="DocName">Генерация возврата</V>
            <V N="Opt">1</V>
            <V N="ControlField">REJECT_CLS</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">1</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:34:53</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:34:53</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">304</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066008</V>
            <V N="ITF_REF">34</V>
            <V N="DOC_REF">3040400</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">32</V>
            <V N="DocName">Удаление связанных документов возврата</V>
            <V N="Opt">1</V>
            <V N="ControlField">REJECT_CLS</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">0</V>
            <V N="NotApply">1</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:34:53</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:34:53</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">304</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066284</V>
            <V N="ITF_REF">34</V>
            <V N="DOC_REF">3040500</V>
            <V N="CtrlOptions">16</V>
            <V N="DocName">Генерация разассигновки и переброски</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTDATE</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">1</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 18:53:21</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 18:55:00</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">304</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066285</V>
            <V N="ITF_REF">34</V>
            <V N="DOC_REF">3040600</V>
            <V N="CtrlOptions">32</V>
            <V N="DocName">Удаление связанных документов разассигновки и переброски</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTDATE</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">0</V>
            <V N="NotApply">1</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 18:53:21</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 18:55:00</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">304</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066009</V>
            <V N="ITF_REF">32</V>
            <V N="DOC_REF">3060100</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">16</V>
            <V N="DocName">Генерация возврата</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTDATE</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">1</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:34:54</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:34:54</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">306</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066010</V>
            <V N="ITF_REF">32</V>
            <V N="DOC_REF">3060200</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">32</V>
            <V N="DocName">Удаление связанных документов возврата</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTDATE</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">0</V>
            <V N="NotApply">1</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:34:54</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:34:54</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">306</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066011</V>
            <V N="ITF_REF">247</V>
            <V N="DOC_REF">3070100</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">2</V>
            <V N="DocName">Принять реестр с перечислением на счета наличности</V>
            <V N="Opt">1</V>
            <V N="ControlField" />
            <V N="Button">1</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">0</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:34:54</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:34:54</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">307</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066012</V>
            <V N="ITF_REF">247</V>
            <V N="DOC_REF">3070200</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">2</V>
            <V N="DocName">Распринять реестр с удалением перечисления на счета наличности</V>
            <V N="Opt">1</V>
            <V N="ControlField" />
            <V N="Button">1</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">0</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:34:54</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:34:54</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">307</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066013</V>
            <V N="ITF_REF">247</V>
            <V N="DOC_REF">3070300</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">16</V>
            <V N="DocName">Принятие реестра с генерацией перечислений наличности (на изменение поля принятия реестра)</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTED=1</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">1</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:34:54</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:34:54</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">307</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>50</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">10066014</V>
            <V N="ITF_REF">247</V>
            <V N="DOC_REF">3070400</V>
            <V N="Note" />
            <V N="OrderBy">0</V>
            <V N="CtrlOptions">16</V>
            <V N="DocName">Отмена принятия реестра с удалением перечислений наличности (на изменение поля принятия реестра)</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTED=0</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">1</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="ElemFilter" />
            <V N="Gen">0</V>
            <V N="Enable">0</V>
            <V N="ErrorMessage" />
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">27.04.2012 16:34:55</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">27.04.2012 16:34:55</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">307</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <node path="%root%\Ресурсы\Макросы\Сохранение\Данные">
    <value type="6" name="Раскладка">
      <table key="Doc_ref;Type">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>ID</N>
            <DL>ID</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ITF_REF</N>
            <DL>ITF_REF</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>DOC_REF</N>
            <DL>Код сценария</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Note</N>
            <S>255</S>
            <DL>Наименование</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>OrderBy</N>
            <DL>Порядок</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>CtrlOptions</N>
            <DL>Использовать</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>DocName</N>
            <S>255</S>
            <DL>Имя сценария</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Opt</N>
            <DL>Генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ControlField</N>
            <S>50</S>
            <DL>Контролируемое поле</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Button</N>
            <DL>по кнопке</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Post</N>
            <DL>На завершение редактирования</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotPost</N>
            <DL>На завершение очистки поля</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Apply</N>
            <DL>На сохранение в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>NotApply</N>
            <DL>На сохранение очистки поля в БД</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Pred</N>
            <DL>предконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>PostCon</N>
            <DL>постконтроль</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Req</N>
            <DL>контроль реестра</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Import</N>
            <DL>импорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Export</N>
            <DL>экспорт</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Doc</N>
            <DL>печатный документ</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ElemFilter</N>
            <S>1024</S>
            <DL>Фильтр</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TBoolField</CN>
            <N>Gen</N>
            <DL>генерация</DL>
            <FDT>5</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Enable</N>
            <DL>Включить</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>ErrorMessage</N>
            <S>255</S>
            <DL>Сообщение об ошибке при фильтрации</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>CREATERUSER</N>
            <S>30</S>
            <DL>Автор</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>CREATEDATE</N>
            <DL>Дата создания</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>UPDATERUSER</N>
            <S>30</S>
            <DL>Изменил</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TDateTimeField</CN>
            <N>UPDATEDATE</N>
            <DL>Дата изменения</DL>
            <FDT>11</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>AUTO_AUTORIZATION</N>
            <S>60</S>
            <DL>Авторизация</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Type</N>
            <DL>Type</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TClsField</CN>
            <N>Cls</N>
            <DL>Cls</DL>
            <CT>0</CT>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TStringField</CN>
            <N>Param</N>
            <S>255</S>
            <DL>Param</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeEnable</N>
            <DL>ChangeEnable</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeControlField</N>
            <DL>ChangeControlField</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ChangeFilter</N>
            <DL>ChangeFilter</DL>
            <FDT>3</FDT>
            <S>0</S>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="ID">31276645</V>
            <V N="ITF_REF">31</V>
            <V N="DOC_REF">3050300</V>
            <V N="CtrlOptions">16</V>
            <V N="DocName">Заполнение хранимых реквизитов платежа</V>
            <V N="Opt">1</V>
            <V N="ControlField">ACCEPTDATE</V>
            <V N="Button">0</V>
            <V N="Post">0</V>
            <V N="NotPost">0</V>
            <V N="Apply">1</V>
            <V N="NotApply">0</V>
            <V N="Pred">0</V>
            <V N="PostCon">0</V>
            <V N="Req">0</V>
            <V N="Import">0</V>
            <V N="Export">0</V>
            <V N="Doc">0</V>
            <V N="Gen">0</V>
            <V N="Enable">1</V>
            <V N="CREATERUSER">SYSDBA</V>
            <V N="CREATEDATE">21.01.2013 16:49:14</V>
            <V N="UPDATERUSER">SYSDBA</V>
            <V N="UPDATEDATE">22.01.2013 16:34:24</V>
            <V N="AUTO_AUTORIZATION">SYSDBA, SYSDBA</V>
            <V N="Type">5</V>
            <V N="Cls">305</V>
            <V N="ChangeEnable">0</V>
            <V N="ChangeControlField">1</V>
            <V N="ChangeFilter">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Раскладка" type="3" name="version">36.064.00</param>
  </node>
  <script type="abl" exec="after" name="Раскладчик">Бюджет\Ресурсы\Макросы\Сохранение\СохранениеРаскладки_New</script>
  <version_info>
    <file>Сборка.Экспорт.xml</file>
    <version>36.042.85</version>
    <info>&lt;p&gt;Поддержка экспорта&lt;/p&gt;</info>
    <libv>39.17.02</libv>
    <buildtime>06.05.2013 18:55:09</buildtime>
  </version_info>
  <description>Стандартные макросы для отчетов</description>
  <node path="%root%\Ресурсы\Макросы\Отчеты">
    <value type="7" name="ИмпортЭкспорт.abl">включить '\Библиотеки\Reports.lib';
включить '\Библиотеки\Documents.lib';
включить '\Библиотеки\LibRu.lib';
включить '\Библиотеки\Control.lib';
включить '\Библиотеки\Pather.lib';
включить '\Макросы\Отчеты\ПоддержкаВывода.abl';
включить '\Макросы\Отчеты\ПоддержкаГенерации';
включить 'Project';

функция ОчиститьСтраницу;
начало
  ModalWafer.Clear;
конец;

функция ПолучитьВыделенныеЗаписи(СеткаВвода: СеткаДанных; ОдинДокумент: целое): СтатическиеДанные; 
начало
  если ((ОдинДокумент = нет) и СеткаВвода.ЕстьВыделенныеСтроки) тогда
    начало
      // в объекте Выделенные теперь находятся записи, выделенные в сетке данных заголовков
      результат := СеткаВвода.ПолучитьВыделенныеСтроки
    конец иначе
    начало
      // ничего не выделено, тогда занесем в выделенные текущую запись мастера
      результат := СоздатьСтатическиеДанные; 
      результат.ПрисвоитьПоля(СеткаВвода.Данные);
      результат.Открыть;
      если не (СеткаВвода.Данные.Eof и СеткаВвода.Данные.Bof) тогда
        результат.СкопироватьЗапись(ложь, СеткаВвода.Данные, "", "");
    конец;
конец;

функция СохранениеИзменений(Визуализатор: IUniViewer; Раскладка: ITableInfoX; Коллекция, Значения: IVariables;
  Данные: СтатическиеДанные);
переменные
  Страницы: ITemplates;
  Страница: ITemplate;
  Парам: IVariables;
начало
  Страницы := Визуализатор.Templates;
  Страница := Страницы.Template;
  если (Страница.Variables.ПараметрСуществует(кКешироватьИзменения)) и 
    ((Страница.Variables.Значение(кКешироватьИзменения) = 0)или
    (Страница.Variables.Значение(кКешироватьИзменения) = 2)) тогда
  начало   
    если Страница.Functions.CheckParam(кСохранитьИзменения) тогда
    начало
      // Параметры для событий и алгоритмов
      Парам := CreateVariables;
      Парам.Values(АлгПараметры) := Значения;
      Парам.Values(АлгДанные) := Данные;
      Парам.Values(АлгПараметрыВывода) := Значения;
      Парам.Values(АлгРаскладка) := Раскладка;
      Парам.Values(АлгГлобальныеПараметры) := Коллекция;
      EventRecursive(кСохранитьИзменения, Парам, Визуализатор.Templates, нет);  
    конец
    иначе
      СохранитьИзмененияСтраницы(Визуализатор, Визуализатор.TemplateIndex);
  конец;
конец;

функция Экспорт(Шаблон: строка; Параметры: IVariables): IVariables;
переменные
  Ф : ФормаВвода;              
  Мастер, МастерВыделенные : СтатическиеДанные;
  Данные, Заголовок: СтатическиеДанные;
  ТекстПараметров: IVariables; 
  v : IUniViewer;
  Раскладка : ITableInfoX;
  сч, Флаг, НужноПоказать,  ОбязательноПоказать : целое;
  События, Буф, _Парам : IVariables;
  ТекстОбработчика: строка;
  Прогресс : IProgress;
начало
  результат := nil;
 // Инициализация             
  Ф := ПолучитьФормуВвода;        
  Мастер := Ф.Заголовки.Таблица;          
  // Проверка готовности формы ввода
  если (не Мастер.Active) тогда ВызватьОшибку("Форма ввода не активна, нажмите кнопку [Выполнить]");
  // Данные обязательно должны быть  
  если (Мастер.ВНачале и Мастер.ВКонце) тогда ВызватьОшибку("Форма ввода не содержит данных");
  // Сохранение изменений для заголовков обязательно
  если Ф.ЕстьИзменения тогда ВызватьОшибку("Сохраните изменения перед экспортом данных");
  ОчиститьСтраницу;
  v := ModalWafer.CheckSSViewer;  
  v.SetProject(Pather);
  v.Template := Шаблон;
  НужноПоказать := да;
  ОбязательноПоказать := нет;
  События := CreateVariables;
  _Парам := CreateVariables;
  от сч:=0 до v.TemplateCount-1 делать
    начало
      v.TemplateIndex := сч;
      Раскладка := v.GetTable;
      Флаг := (Раскладка.Params("PageSkipped") = нет);
      НужноПоказать := НужноПоказать и Флаг;
      Буф := v.GetProjVars;
      ТекстОбработчика := Буф.Values('Сохранение');
      Интерфейс(Буф).Освободить;
      События.Values(ФорматироватьДробное('0000', сч)) := ТекстОбработчика; 
      Буф := v.GetVariables;
      МастерВыделенные := ПолучитьВыделенныеЗаписи(Ф.Заголовки.Сетка, Буф.Values('ОдинДокумент'));
      Интерфейс(Буф).Освободить;
      _Парам.Clear;
      _Парам.Values('КодДокумента') := GetLimitStr(МастерВыделенные, 'ID');
      _Парам.Values('ПечатныйДокумент') := Да;
      ЗагрузитьНастройкиОтчета(Параметры, _Парам);
      Интерфейс(МастерВыделенные).Освободить;
      СформироватьДанныеПоОгр(v, Раскладка, Параметры, _Парам, ТекстПараметров, Данные, Заголовок);
      ТекстПараметров.Values('КодДокумента') := _Парам.Values('КодДокумента');
      ВывестиДанные(v, Раскладка, Раскладка, ТекстПараметров, Параметры, Данные, Заголовок, да);
      Флаг := (ТекстПараметров.Values('Показать') &lt;&gt; нет);
      ОбязательноПоказать := ОбязательноПоказать или Флаг;
    конец;
  Интерфейс(_Парам).Освободить;
  Флаг := sdoNext + sdoCancel;
  если (Access = Access_Adm) тогда Флаг := БитИли(Флаг, sdoTemplate);
  если не (ОбязательноПоказать или НужноПоказать) тогда Флаг := БитИли(Флаг, sdoControl);
  Прогресс := Progress;
  если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
  ТекстОбработчика := Параметры.Values('Имя');
  ModalWafer.Caption := 'Экспорт данных. ' + ТекстОбработчика;
  если (ModalWafer.ShowData(Флаг) = sdrContinue) тогда
  начало
    СохранениеИзменений(v, Раскладка, ТекстПараметров, ТекстПараметров, Данные);
    результат := События
  конец  
  иначе 
  начало
    Интерфейс(События).Освободить;
    Прогресс := nil;
  конец;   
  если (Прогресс &lt;&gt; nil) тогда
    начало
      Прогресс.BeginProgress;
      Прогресс.SetMessage('Сохранение данных');
    конец;  
конец;

функция ВыполнитьСтандартныеОбработчики(Раскладка: ITableInfoX; Коллекция, Значения,
                                        Обработчики : IVariables): СтатическиеДанные;
переменные
  Парам : IVariables;
  Визуализатор : IUniViewer;
начало
  // Статические данные, в который будет помещен результат
  результат := СоздатьСтатическиеДанные;

  Визуализатор := ModalWafer.CheckSSViewer;

  // Параметры для событий и алгоритмов
  Парам := CreateVariables;
  Парам.Values(АлгПараметры) := Значения;
  Парам.Values(АлгДанные) := результат;
  Парам.Values(АлгПараметрыВывода) := Значения;
  Парам.Values(АлгРаскладка) := Раскладка;
  Парам.Values(АлгГлобальныеПараметры) := Коллекция;
  
  // Обработчик до закачки - ДоЗакачки 
  EventRecursive(ДоЗакачки, Парам, Визуализатор.Templates, нет);  
  ДобавитьПоля(Раскладка, результат);
  результат.Открыть;
  // Вычисляем параметры 
  CalcParams(Раскладка, Значения, Коллекция, Mapper);
 
  // Обработчик после закачки - ПослеЗакачки          
  EventRecursive(ПослеЗакачки, Парам, Визуализатор.Templates, нет);
  Интерфейс(Парам).Освободить; 
конец;  

функция Импорт(Шаблон: строка; Параметры: IVariables): IVariables;
переменные
  Ф : ФормаВвода;              
  Мастер, МастерВыделенные : СтатическиеДанные;
  Данные : СтатическиеДанные;
  Значения: IVariables; 
  v : IUniViewer;
  Раскладка : ITableInfoX;
  сч, Флаг, НужноПоказать,  ОбязательноПоказать : целое;
  События, Буф : IVariables;
  ТекстОбработчика: строка;
  Прогресс : IProgress;
начало
  Ф := ПолучитьФормуВвода;
  Мастер := Ф.Заголовки.Таблица;          
  // Проверка готовности формы ввода
  если (не Мастер.Active) тогда ВызватьОшибку("Форма ввода не активна, нажмите кнопку [Выполнить]");
  // Сохранение изменений для заголовков обязательно
  если Ф.ЕстьИзменения тогда ВызватьОшибку("Сохраните изменения перед импортом данных");
  ОчиститьСтраницу;
  v := ModalWafer.CheckSSViewer;  
  v.SetProject(Pather);
  v.Template := Шаблон;
  НужноПоказать := да;
  ОбязательноПоказать := нет;
  События := CreateVariables;
  от сч:=0 до v.TemplateCount-1 делать
    начало
      v.TemplateIndex := сч;
      Раскладка := v.GetTable;
      Флаг := (Раскладка.Params("PageSkipped") = нет);
      НужноПоказать := НужноПоказать и Флаг;
      Буф := v.GetProjVars;
      ТекстОбработчика := Буф.Values('Сохранение');
      События.Values(ФорматироватьДробное('0000', сч)) := ТекстОбработчика;
      Значения := v.GetVariables;
      // АктивныеПараметры - список параметров ограничений, которые берутся с SharedParams
      Если Значения.Значение("АктивныеПараметры") &lt;&gt; "" тогда
        // Ограничения с панели параметров 
        Значения := ПолучитьПараметры(v.GetVariables, Значения.Значение("АктивныеПараметры"));
      МастерВыделенные := ПолучитьВыделенныеЗаписи(Ф.Заголовки.Сетка, Значения.Values('ОдинДокумент'));
      Значения.Values('КодДокумента') := GetLimitStr(МастерВыделенные, 'ID');
      Значения.Values('ПечатныйДокумент') := Да;
      ЗагрузитьНастройкиОтчета(Параметры, Значения);      
      Интерфейс(МастерВыделенные).Освободить;
      Данные := ВыполнитьСтандартныеОбработчики(Раскладка, Параметры, Значения, Буф);
      Интерфейс(Буф).Освободить;
      //Значения.Values('КодДокумента') := Параметры.Values('КодДокумента');
      ВывестиДанные(v, Раскладка, Раскладка, Значения, Параметры, Данные, nil, да);
      Флаг := (Параметры.Values('Показать') &lt;&gt; нет);
      ОбязательноПоказать := ОбязательноПоказать или Флаг;
    конец;
  Флаг := sdoNext + sdoCancel;
  если (Access = Access_Adm) тогда Флаг := БитИли(Флаг, sdoTemplate);
  если не (ОбязательноПоказать или НужноПоказать) тогда Флаг := БитИли(Флаг, sdoControl);
  Прогресс := Progress;
  если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;
  ТекстОбработчика := Параметры.Values('Имя');
  ModalWafer.Caption := 'Импорт данных. ' + ТекстОбработчика;
  если (ModalWafer.ShowData(Флаг) = sdrContinue) тогда
  начало
    СохранениеИзменений(v, Раскладка, Значения, Значения, Данные);
    результат := События
  конец  
  иначе 
  начало
    Интерфейс(События).Освободить;
    Прогресс := nil;
  конец;   
  если (Прогресс &lt;&gt; nil) тогда
    начало
      Прогресс.BeginProgress;
      Прогресс.SetMessage('Сохранение данных');
    конец;  
конец;

функция ВыполнитьСобытия(События, Параметры : IVariables);
переменные
  сч : ЦЕЛОЕ;
  ТекстОбработчика : строка;
  Прогресс : IProgress;
начало
  если (События &lt;&gt; nil) тогда
    начало
      от сч:=0 до События.Count-1 делать
        начало
          Параметры.Values('Номер') := сч;
          ТекстОбработчика := События.IndexValues(сч);
          если (ТекстОбработчика &lt;&gt; '') тогда Event(ТекстОбработчика, Параметры);
        конец;
      Прогресс := Progress;
      если (Прогресс &lt;&gt; nil) тогда Прогресс.EndProgress;  
    конец;    
конец;
</value>
    <param value="ИмпортЭкспорт.abl" type="3" name="Export">ZIMIN\zimin\15.04.2009 18:35:18</param>
    <param value="ИмпортЭкспорт.abl" type="3" name="version">36.042.85</param>
    <param value="ИмпортЭкспорт.abl" type="3" name="crc32">$70606A68</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Экспорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">3070100</V>
            <V N="Name">Формирование приходных документов на принятые реестры</V>
            <V N="Template">(03.07.01)созданиезачисления(с учетом остатка на лс).sts</V>
            <V N="Generation">Экспорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Экспорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">36100100</V>
            <V N="Name">Экспорт в XML</V>
            <V N="Template" />
            <V N="Generation">ЭкспортВXML</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Экспорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">36100200</V>
            <V N="Name">Экспорт в СКИФ</V>
            <V N="Template" />
            <V N="Generation">ЭкспортВСкиф</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Экспорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">36100300</V>
            <V N="Name">Экспорт в Текст</V>
            <V N="Template" />
            <V N="Generation">ЭкспортВТекст</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Экспорт">
      <table key="CLS">
        <FDL>
          <FD>
            <N>CLS</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Класс элемента</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Name</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Имя элемента</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Params</N>
            <CN>TMemoField</CN>
            <S>3000</S>
            <DL>Параметры</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <N>Template</N>
            <CN>TStringField</CN>
            <S>255</S>
            <DL>Шаблон</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Generation</N>
            <CN>TStringField</CN>
            <S>100</S>
            <DL>Формирование данных</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <N>Options</N>
            <CN>TIntegerField</CN>
            <S>0</S>
            <DL>Динамика</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <N>Note</N>
            <CN>TMemoField</CN>
            <S>0</S>
            <DL>Примечание</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">36100400</V>
            <V N="Name">Экспорт в тонкий клиент</V>
            <V N="Template" />
            <V N="Generation">ЭкспортВТонкийКлиент</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Экспорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010200</V>
            <V N="Name">Реестр расходных расписаний</V>
            <V N="Template">(44.01.02) Реестр расходных расписаний.sts</V>
            <V N="Generation">Экспорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Экспорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">44010300</V>
            <V N="Name">Расходное расписание</V>
            <V N="Template">(44.01.03) Расходное расписание.sts</V>
            <V N="Generation">Экспорт</V>
            <V N="Options">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
  </node>
  <node path="Бюджет\Конфигурация">
    <value type="6" name="Экспорт">
      <table key="CLS">
        <FDL>
          <FD>
            <CN>TIntegerField</CN>
            <N>CLS</N>
            <DL>CLS</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Name</N>
            <S>255</S>
            <DL>Name</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Params</N>
            <S>0</S>
            <DL>Params</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Template</N>
            <S>255</S>
            <DL>Template</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>Generation</N>
            <S>100</S>
            <DL>Generation</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>Options</N>
            <DL>Options</DL>
            <FDT>3</FDT>
          </FD>
          <FD>
            <CN>TMemoField</CN>
            <N>Note</N>
            <S>0</S>
            <DL>Note</DL>
            <FDT>16</FDT>
          </FD>
          <FD>
            <CN>TLongStringField</CN>
            <N>OptionsPath</N>
            <S>255</S>
            <DL>OptionsPath</DL>
            <FDT>1</FDT>
          </FD>
          <FD>
            <CN>TIntegerField</CN>
            <N>ControlType</N>
            <DL>ControlType</DL>
            <FDT>3</FDT>
          </FD>
        </FDL>
        <RL>
          <R>
            <V N="CLS">99190100</V>
            <V N="Name">Экспорт классификации из Excel в Xml</V>
            <V N="Template">(99.19.01)ЭкспортКлассификацииИзExcelвXml.sts</V>
            <V N="Generation">Экспорт</V>
            <V N="Options">0</V>
            <V N="OptionsPath" />
            <V N="ControlType">0</V>
          </R>
        </RL>
      </table>
    </value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
  </node>
  <node path="%root%\Объекты\Обработка\Скрипты\Экспорт">
    <value type="7" name="Экспорт">включить '\Библиотеки\Reports.lib';
включить '\Макросы\Отчеты\ИмпортЭкспорт.abl';
Экспорт(Номер: целое; Шаблон: строка; Параметры: IVariables);
переменные
  События : IVariables;
начало
  События := Экспорт(Шаблон, Параметры);
  ВыполнитьСобытия(События, Параметры);
  ОчиститьСтраницу;
конец;</value>
    <param value="Экспорт" type="3" name="version">36.042.85</param>
    <param value="Экспорт" type="3" name="crc32">$33316BBA</param>
  </node>
</registry>